Proposal: 7.2b2 today

Started by Marc G. Fournierabout 24 years ago29 messages
#1Marc G. Fournier
scrappy@hub.org

Okay ... with everything that has been going on, hardware/server wise,
this whole release cycle has turned into one big nightmare ...

Unless someone has something they are sitting on, I'd like to wrap up a
7.2b2 this afternoon, and do a proper release announcement for it like
didn't happen for 7.2b1 ...

Anyone object?

#2Oleg Bartunov
oleg@sai.msu.su
In reply to: Marc G. Fournier (#1)
Re: Proposal: 7.2b2 today

Marc,

I suggest to announce beta @ freshmeat.net and slashdot.org also.

Regards,

Oleg

On Mon, 5 Nov 2001, Marc G. Fournier wrote:

Okay ... with everything that has been going on, hardware/server wise,
this whole release cycle has turned into one big nightmare ...

Unless someone has something they are sitting on, I'd like to wrap up a
7.2b2 this afternoon, and do a proper release announcement for it like
didn't happen for 7.2b1 ...

Anyone object?

---------------------------(end of broadcast)---------------------------
TIP 3: if posting/reading through Usenet, please send an appropriate
subscribe-nomail command to majordomo@postgresql.org so that your
message can get through to the mailing list cleanly

Regards,
Oleg
_____________________________________________________________
Oleg Bartunov, sci.researcher, hostmaster of AstroNet,
Sternberg Astronomical Institute, Moscow University (Russia)
Internet: oleg@sai.msu.su, http://www.sai.msu.su/~megera/
phone: +007(095)939-16-83, +007(095)939-23-83

#3Lamar Owen
lamar.owen@wgcr.org
In reply to: Marc G. Fournier (#1)
Re: Proposal: 7.2b2 today

On Monday 05 November 2001 08:00 am, Marc G. Fournier wrote:

Okay ... with everything that has been going on, hardware/server wise,
this whole release cycle has turned into one big nightmare ...

First of all, you have my sympathies. Moving servers around is never easy,
and you have really handled it well, all things considered.

Unless someone has something they are sitting on, I'd like to wrap up a
7.2b2 this afternoon, and do a proper release announcement for it like
didn't happen for 7.2b1 ...

Sounds good. Can you hold the wide release announcement until the mirrors
populate, though? Especially if an announcement is made to freshmeat.....

Although that may be exactly what was meant by 'a proper release
announcement'........:-)
--
Lamar Owen
WGCR Internet Radio
1 Peter 4:11

#4Marc G. Fournier
scrappy@hub.org
In reply to: Lamar Owen (#3)
Re: Proposal: 7.2b2 today

I've generally tried to do a release packaging one day, with a quick
announce to -hackers to test it, and then a full announce everywhere about
a day after that ... but missed the 'full annonunce' step for beta1 :)

On Mon, 5 Nov 2001, Lamar Owen wrote:

Show quoted text

On Monday 05 November 2001 08:00 am, Marc G. Fournier wrote:

Okay ... with everything that has been going on, hardware/server wise,
this whole release cycle has turned into one big nightmare ...

First of all, you have my sympathies. Moving servers around is never easy,
and you have really handled it well, all things considered.

Unless someone has something they are sitting on, I'd like to wrap up a
7.2b2 this afternoon, and do a proper release announcement for it like
didn't happen for 7.2b1 ...

Sounds good. Can you hold the wide release announcement until the mirrors
populate, though? Especially if an announcement is made to freshmeat.....

Although that may be exactly what was meant by 'a proper release
announcement'........:-)
--
Lamar Owen
WGCR Internet Radio
1 Peter 4:11

#5Lamar Owen
lamar.owen@wgcr.org
In reply to: Marc G. Fournier (#4)
Re: Proposal: 7.2b2 today

On Monday 05 November 2001 09:47 am, Marc G. Fournier wrote:

I've generally tried to do a release packaging one day, with a quick
announce to -hackers to test it, and then a full announce everywhere about
a day after that ... but missed the 'full annonunce' step for beta1 :)

On Mon, 5 Nov 2001, Lamar Owen wrote:

Although that may be exactly what was meant by 'a proper release
announcement'........:-)

Just making sure I remembered things properly.... :-)
--
Lamar Owen
WGCR Internet Radio
1 Peter 4:11

#6Bruce Momjian
pgman@candle.pha.pa.us
In reply to: Marc G. Fournier (#1)
Re: Proposal: 7.2b2 today

Okay ... with everything that has been going on, hardware/server wise,
this whole release cycle has turned into one big nightmare ...

Unless someone has something they are sitting on, I'd like to wrap up a
7.2b2 this afternoon, and do a proper release announcement for it like
didn't happen for 7.2b1 ...

I have been working with Tom on some pgindent issues and have made
slight improvements to the script. Because we are early in beta and no
one has outstanding patches, I would like to run it again and commit the
changes. It should improve variables defined as structs and alignment
of include/catalog/*.h files.

I will commit shortly. Thanks.

-- 
  Bruce Momjian                        |  http://candle.pha.pa.us
  pgman@candle.pha.pa.us               |  (610) 853-3000
  +  If your life is a hard drive,     |  830 Blythe Avenue
  +  Christ can be your backup.        |  Drexel Hill, Pennsylvania 19026
#7Bruce Momjian
pgman@candle.pha.pa.us
In reply to: Marc G. Fournier (#1)
Re: Proposal: 7.2b2 today

Okay ... with everything that has been going on, hardware/server wise,
this whole release cycle has turned into one big nightmare ...

Unless someone has something they are sitting on, I'd like to wrap up a
7.2b2 this afternoon, and do a proper release announcement for it like
didn't happen for 7.2b1 ...

Anyone object?

I am all done. Thanks.

Also, I will start maintaining a list of open items for 7.2 like I have
done for previous releases. It will be at:

ftp://candle.pha.pa.us/pub/postgresql/open_items

-- 
  Bruce Momjian                        |  http://candle.pha.pa.us
  pgman@candle.pha.pa.us               |  (610) 853-3000
  +  If your life is a hard drive,     |  830 Blythe Avenue
  +  Christ can be your backup.        |  Drexel Hill, Pennsylvania 19026
#8Bruce Momjian
pgman@candle.pha.pa.us
In reply to: Marc G. Fournier (#1)
Re: Proposal: 7.2b2 today

Okay ... with everything that has been going on, hardware/server wise,
this whole release cycle has turned into one big nightmare ...

Unless someone has something they are sitting on, I'd like to wrap up a
7.2b2 this afternoon, and do a proper release announcement for it like
didn't happen for 7.2b1 ...

Let me add that the majority of the pgindent changes was from:

struct {
int x;
} var;

to:

struct {
int x;
} var;

and this:

#endif /* demo */

to this:

#endif /* demo */

Plus some minor cleanup for breakage from the previous run.

-- 
  Bruce Momjian                        |  http://candle.pha.pa.us
  pgman@candle.pha.pa.us               |  (610) 853-3000
  +  If your life is a hard drive,     |  830 Blythe Avenue
  +  Christ can be your backup.        |  Drexel Hill, Pennsylvania 19026
#9Tom Lane
tgl@sss.pgh.pa.us
In reply to: Bruce Momjian (#6)
Re: Proposal: 7.2b2 today

I have been working with Tom on some pgindent issues and have made
slight improvements to the script. Because we are early in beta and no
one has outstanding patches, I would like to run it again and commit the
changes. It should improve variables defined as structs and alignment
of include/catalog/*.h files.

I will commit shortly. Thanks.

Considering the size of the diff you mailed me, I'd say "hold off until
someone else has looked at this". This is obviously not a small change.

regards, tom lane

#10Bruce Momjian
pgman@candle.pha.pa.us
In reply to: Tom Lane (#9)
Re: Proposal: 7.2b2 today

I have been working with Tom on some pgindent issues and have made
slight improvements to the script. Because we are early in beta and no
one has outstanding patches, I would like to run it again and commit the
changes. It should improve variables defined as structs and alignment
of include/catalog/*.h files.

I will commit shortly. Thanks.

Considering the size of the diff you mailed me, I'd say "hold off until
someone else has looked at this". This is obviously not a small change.

Sure, it is at:

ftp://candle.pha.pa.us/pub/postgresql/diff

99% is space tighening.

-- 
  Bruce Momjian                        |  http://candle.pha.pa.us
  pgman@candle.pha.pa.us               |  (610) 853-3000
  +  If your life is a hard drive,     |  830 Blythe Avenue
  +  Christ can be your backup.        |  Drexel Hill, Pennsylvania 19026
#11Noname
darcy@druid.net
In reply to: Bruce Momjian (#10)
Re: Proposal: 7.2b2 today

Thus spake Bruce Momjian

Unless someone has something they are sitting on, I'd like to wrap up a
7.2b2 this afternoon, and do a proper release announcement for it like
didn't happen for 7.2b1 ...

I have been working with Tom on some pgindent issues and have made
slight improvements to the script. Because we are early in beta and no
one has outstanding patches, I would like to run it again and commit the
changes. It should improve variables defined as structs and alignment
of include/catalog/*.h files.

I have a change I would like to discuss. It doesn't change the code
base, only the build system. The patches I would like to commit follow
this text. The only thing it does is create a config option to bytecode
compile the Python modules. It also cleans up the install in the Makefile
a little bit.

Index: configure.in
===================================================================
RCS file: /cvsroot/pgsql/configure.in,v
retrieving revision 1.150
diff -u -r1.150 configure.in
--- configure.in	2001/10/25 13:02:01	1.150
+++ configure.in	2001/11/06 09:09:50
@@ -398,6 +398,18 @@
 AC_MSG_RESULT([$with_python])
 AC_SUBST(with_python)
+# If python is enabled (above), then optionally byte-compile the modules.
+AC_MSG_CHECKING([whether to byte-compile Python modules])
+if test "$with_python" = yes; then
+  PGAC_ARG_BOOL(with, python_compile, no,
+    [  --with-python-compile   byte-compile modules if Python is enabled])
+else
+  with_python_compile=no
+fi
+AC_MSG_RESULT([$with_python_compile])
+AC_SUBST([with_python_compile])
+
+
 #
 # Optionally build the Java/JDBC tools
 #
Index: src/Makefile.global.in
===================================================================
RCS file: /cvsroot/pgsql/src/Makefile.global.in,v
retrieving revision 1.140
diff -u -r1.140 Makefile.global.in
--- src/Makefile.global.in	2001/10/13 15:24:23	1.140
+++ src/Makefile.global.in	2001/11/06 09:09:54
@@ -123,6 +123,7 @@
 with_java	= @with_java@
 with_perl	= @with_perl@
 with_python	= @with_python@
+with_python_compile	= @with_python_compile@
 with_tcl	= @with_tcl@
 with_tk		= @with_tk@
 enable_odbc	= @enable_odbc@
Index: src/interfaces/python/GNUmakefile
===================================================================
RCS file: /cvsroot/pgsql/src/interfaces/python/GNUmakefile,v
retrieving revision 1.11
diff -u -r1.11 GNUmakefile
--- src/interfaces/python/GNUmakefile	2001/08/24 14:07:50	1.11
+++ src/interfaces/python/GNUmakefile	2001/11/06 09:10:00
@@ -19,10 +19,23 @@

override CPPFLAGS := -I$(libpq_srcdir) $(CPPFLAGS) $(python_includespec)

-all: all-lib
+PY_SCRIPTS = pg.py pgdb.py
+ifeq ($(with_python_compile), yes)
+PY_COMPILED_SCRIPTS = $(PY_SCRIPTS:%.py=%.pyc) $(PY_SCRIPTS:%.py=%.pyo)
+else
+PY_COMPILED_SCRIPTS =
+endif
+all: all-lib $(PY_COMPILED_SCRIPTS)
+
 all-lib: libpq-all
+%.pyc: %.py
+	python -c "import py_compile; py_compile.compile(\"$<\")"
+
+%.pyo: %.py
+	python -O -c "import py_compile; py_compile.compile(\"$<\")"
+
 .PHONY: libpq-all
 libpq-all:
 	$(MAKE) -C $(libpq_builddir) all
@@ -37,12 +50,11 @@
 	@if test -w $(DESTDIR)$(python_moduleexecdir) && test -w $(DESTDIR)$(python_moduledir); then \
 	  echo "$(INSTALL_SHLIB) $(shlib) $(DESTDIR)$(python_moduleexecdir)/_pgmodule$(DLSUFFIX)"; \
 	  $(INSTALL_SHLIB) $(shlib) $(DESTDIR)$(python_moduleexecdir)/_pgmodule$(DLSUFFIX); \
-	\
-	  echo "$(INSTALL_DATA) $(srcdir)/pg.py $(DESTDIR)$(python_moduledir)/pg.py"; \
-	  $(INSTALL_DATA) $(srcdir)/pg.py $(DESTDIR)$(python_moduledir)/pg.py; \
 	\
-	  echo "$(INSTALL_DATA) $(srcdir)/pgdb.py $(DESTDIR)$(python_moduledir)/pgdb.py"; \
-	  $(INSTALL_DATA) $(srcdir)/pgdb.py $(DESTDIR)$(python_moduledir)/pgdb.py; \
+	  for i in $(PY_SCRIPTS) $(PY_COMPILED_SCRIPTS); do \
+		echo $(INSTALL_DATA) $$i $(python_moduledir); \
+		$(INSTALL_DATA) $$i $(python_moduledir); \
+	  done \
 	else \
 	  $(install-warning-msg); \
 	fi
-- 
D'Arcy J.M. Cain <darcy@{druid|vex}.net>   |  Democracy is three wolves
http://www.druid.net/darcy/                |  and a sheep voting on
+1 416 425 1212     (DoD#0082)    (eNTP)   |  what's for dinner.
#12Marc G. Fournier
scrappy@hub.org
In reply to: Noname (#11)
Re: Proposal: 7.2b2 today

Okay, I heard a 'yelp' from Tom concerning hte pgindent stuff, so I
haven't done beta2 up ... can someoen comment on this, as to whether we
can get it in, before I throw together beta2?

Tom ... are/were you okay with Bruce's last pgindent run?

On Tue, 6 Nov 2001, D'Arcy J.M. Cain wrote:

Show quoted text

Thus spake Bruce Momjian

Unless someone has something they are sitting on, I'd like to wrap up a
7.2b2 this afternoon, and do a proper release announcement for it like
didn't happen for 7.2b1 ...

I have been working with Tom on some pgindent issues and have made
slight improvements to the script. Because we are early in beta and no
one has outstanding patches, I would like to run it again and commit the
changes. It should improve variables defined as structs and alignment
of include/catalog/*.h files.

I have a change I would like to discuss. It doesn't change the code
base, only the build system. The patches I would like to commit follow
this text. The only thing it does is create a config option to bytecode
compile the Python modules. It also cleans up the install in the Makefile
a little bit.

Index: configure.in
===================================================================
RCS file: /cvsroot/pgsql/configure.in,v
retrieving revision 1.150
diff -u -r1.150 configure.in
--- configure.in	2001/10/25 13:02:01	1.150
+++ configure.in	2001/11/06 09:09:50
@@ -398,6 +398,18 @@
AC_MSG_RESULT([$with_python])
AC_SUBST(with_python)
+# If python is enabled (above), then optionally byte-compile the modules.
+AC_MSG_CHECKING([whether to byte-compile Python modules])
+if test "$with_python" = yes; then
+  PGAC_ARG_BOOL(with, python_compile, no,
+    [  --with-python-compile   byte-compile modules if Python is enabled])
+else
+  with_python_compile=no
+fi
+AC_MSG_RESULT([$with_python_compile])
+AC_SUBST([with_python_compile])
+
+
#
# Optionally build the Java/JDBC tools
#
Index: src/Makefile.global.in
===================================================================
RCS file: /cvsroot/pgsql/src/Makefile.global.in,v
retrieving revision 1.140
diff -u -r1.140 Makefile.global.in
--- src/Makefile.global.in	2001/10/13 15:24:23	1.140
+++ src/Makefile.global.in	2001/11/06 09:09:54
@@ -123,6 +123,7 @@
with_java	= @with_java@
with_perl	= @with_perl@
with_python	= @with_python@
+with_python_compile	= @with_python_compile@
with_tcl	= @with_tcl@
with_tk		= @with_tk@
enable_odbc	= @enable_odbc@
Index: src/interfaces/python/GNUmakefile
===================================================================
RCS file: /cvsroot/pgsql/src/interfaces/python/GNUmakefile,v
retrieving revision 1.11
diff -u -r1.11 GNUmakefile
--- src/interfaces/python/GNUmakefile	2001/08/24 14:07:50	1.11
+++ src/interfaces/python/GNUmakefile	2001/11/06 09:10:00
@@ -19,10 +19,23 @@

override CPPFLAGS := -I$(libpq_srcdir) $(CPPFLAGS) $(python_includespec)

-all: all-lib
+PY_SCRIPTS = pg.py pgdb.py
+ifeq ($(with_python_compile), yes)
+PY_COMPILED_SCRIPTS = $(PY_SCRIPTS:%.py=%.pyc) $(PY_SCRIPTS:%.py=%.pyo)
+else
+PY_COMPILED_SCRIPTS =
+endif
+all: all-lib $(PY_COMPILED_SCRIPTS)
+
all-lib: libpq-all
+%.pyc: %.py
+	python -c "import py_compile; py_compile.compile(\"$<\")"
+
+%.pyo: %.py
+	python -O -c "import py_compile; py_compile.compile(\"$<\")"
+
.PHONY: libpq-all
libpq-all:
$(MAKE) -C $(libpq_builddir) all
@@ -37,12 +50,11 @@
@if test -w $(DESTDIR)$(python_moduleexecdir) && test -w $(DESTDIR)$(python_moduledir); then \
echo "$(INSTALL_SHLIB) $(shlib) $(DESTDIR)$(python_moduleexecdir)/_pgmodule$(DLSUFFIX)"; \
$(INSTALL_SHLIB) $(shlib) $(DESTDIR)$(python_moduleexecdir)/_pgmodule$(DLSUFFIX); \
-	\
-	  echo "$(INSTALL_DATA) $(srcdir)/pg.py $(DESTDIR)$(python_moduledir)/pg.py"; \
-	  $(INSTALL_DATA) $(srcdir)/pg.py $(DESTDIR)$(python_moduledir)/pg.py; \
\
-	  echo "$(INSTALL_DATA) $(srcdir)/pgdb.py $(DESTDIR)$(python_moduledir)/pgdb.py"; \
-	  $(INSTALL_DATA) $(srcdir)/pgdb.py $(DESTDIR)$(python_moduledir)/pgdb.py; \
+	  for i in $(PY_SCRIPTS) $(PY_COMPILED_SCRIPTS); do \
+		echo $(INSTALL_DATA) $$i $(python_moduledir); \
+		$(INSTALL_DATA) $$i $(python_moduledir); \
+	  done \
else \
$(install-warning-msg); \
fi
--
D'Arcy J.M. Cain <darcy@{druid|vex}.net>   |  Democracy is three wolves
http://www.druid.net/darcy/                |  and a sheep voting on
+1 416 425 1212     (DoD#0082)    (eNTP)   |  what's for dinner.
#13Bruce Momjian
pgman@candle.pha.pa.us
In reply to: Marc G. Fournier (#12)
Re: Proposal: 7.2b2 today

Okay, I heard a 'yelp' from Tom concerning hte pgindent stuff, so I
haven't done beta2 up ... can someoen comment on this, as to whether we
can get it in, before I throw together beta2?

Tom ... are/were you okay with Bruce's last pgindent run?

I threw it up on a web site so people could review it. With no
objections, I think we are fine for beta2.

-- 
  Bruce Momjian                        |  http://candle.pha.pa.us
  pgman@candle.pha.pa.us               |  (610) 853-3000
  +  If your life is a hard drive,     |  830 Blythe Avenue
  +  Christ can be your backup.        |  Drexel Hill, Pennsylvania 19026
#14Tom Lane
tgl@sss.pgh.pa.us
In reply to: Bruce Momjian (#13)
Re: Proposal: 7.2b2 today

Okay, I heard a 'yelp' from Tom concerning hte pgindent stuff, so I
haven't done beta2 up ... can someoen comment on this, as to whether we
can get it in, before I throw together beta2?

I looked over the diffs, they seem okay.

Since Thomas just committed a horology regress test fix, the regression
tests are broken on platforms that use variant horology test files.
Give me an hour to do something about that, and then we can roll beta2.

regards, tom lane

#15Marc G. Fournier
scrappy@hub.org
In reply to: Tom Lane (#14)
Re: Proposal: 7.2b2 today

sounds cool to me ...

On Tue, 6 Nov 2001, Tom Lane wrote:

Show quoted text

Okay, I heard a 'yelp' from Tom concerning hte pgindent stuff, so I
haven't done beta2 up ... can someoen comment on this, as to whether we
can get it in, before I throw together beta2?

I looked over the diffs, they seem okay.

Since Thomas just committed a horology regress test fix, the regression
tests are broken on platforms that use variant horology test files.
Give me an hour to do something about that, and then we can roll beta2.

regards, tom lane

#16Bruce Momjian
pgman@candle.pha.pa.us
In reply to: Marc G. Fournier (#15)
Re: Proposal: 7.2b2 today

sounds cool to me ...

I am sorry about my pgindent run. If I had realized it would hold up
beta for a day, I wouldn't have done it.

-- 
  Bruce Momjian                        |  http://candle.pha.pa.us
  pgman@candle.pha.pa.us               |  (610) 853-3000
  +  If your life is a hard drive,     |  830 Blythe Avenue
  +  Christ can be your backup.        |  Drexel Hill, Pennsylvania 19026
#17Tom Lane
tgl@sss.pgh.pa.us
In reply to: Bruce Momjian (#16)
Re: Proposal: 7.2b2 today

Bruce Momjian <pgman@candle.pha.pa.us> writes:

I am sorry about my pgindent run. If I had realized it would hold up
beta for a day, I wouldn't have done it.

Well, we needed the regression fix anyway. Not a problem.

regards, tom lane

#18Marc G. Fournier
scrappy@hub.org
In reply to: Tom Lane (#17)
Re: Proposal: 7.2b2 today

what about D'Arcy's python patch?

On Tue, 6 Nov 2001, Tom Lane wrote:

Show quoted text

Bruce Momjian <pgman@candle.pha.pa.us> writes:

I am sorry about my pgindent run. If I had realized it would hold up
beta for a day, I wouldn't have done it.

Well, we needed the regression fix anyway. Not a problem.

regards, tom lane

#19Bruce Momjian
pgman@candle.pha.pa.us
In reply to: Marc G. Fournier (#18)
Re: Proposal: 7.2b2 today

what about D'Arcy's python patch?

I think it has to wait for review or 7.3.

-- 
  Bruce Momjian                        |  http://candle.pha.pa.us
  pgman@candle.pha.pa.us               |  (610) 853-3000
  +  If your life is a hard drive,     |  830 Blythe Avenue
  +  Christ can be your backup.        |  Drexel Hill, Pennsylvania 19026
#20Tom Lane
tgl@sss.pgh.pa.us
In reply to: Tom Lane (#14)
Re: Proposal: 7.2b2 today

Since Thomas just committed a horology regress test fix, the regression
tests are broken on platforms that use variant horology test files.
Give me an hour to do something about that, and then we can roll beta2.

Done --- we're good to go, I think.

regards, tom lane

#21Bruce Momjian
pgman@candle.pha.pa.us
In reply to: Marc G. Fournier (#18)
Re: Proposal: 7.2b2 today

what about D'Arcy's python patch?

I will work up the Open Items list today and we can see what needs to be
put into beta3, or rc1, or whatever. :-)

-- 
  Bruce Momjian                        |  http://candle.pha.pa.us
  pgman@candle.pha.pa.us               |  (610) 853-3000
  +  If your life is a hard drive,     |  830 Blythe Avenue
  +  Christ can be your backup.        |  Drexel Hill, Pennsylvania 19026
#22Marc G. Fournier
scrappy@hub.org
In reply to: Bruce Momjian (#21)
Re: Proposal: 7.2b2 today

the patch adds a --with-python switch to confiugure, and appropriate lines
to the make files to compile it ... I would *like* to see it in beta2
unless someone can see a glaring error in it that would cause us to have
to delay beta2 ...

its less then 50 lines ... cna you please take a quick peak at it adn
apply it if you don't see anything jump out at you?

On Tue, 6 Nov 2001, Bruce Momjian wrote:

Show quoted text

what about D'Arcy's python patch?

I will work up the Open Items list today and we can see what needs to be
put into beta3, or rc1, or whatever. :-)

--
Bruce Momjian                        |  http://candle.pha.pa.us
pgman@candle.pha.pa.us               |  (610) 853-3000
+  If your life is a hard drive,     |  830 Blythe Avenue
+  Christ can be your backup.        |  Drexel Hill, Pennsylvania 19026
#23Bruce Momjian
pgman@candle.pha.pa.us
In reply to: Marc G. Fournier (#22)
Re: Proposal: 7.2b2 today

the patch adds a --with-python switch to confiugure, and appropriate lines
to the make files to compile it ... I would *like* to see it in beta2
unless someone can see a glaring error in it that would cause us to have
to delay beta2 ...

its less then 50 lines ... cna you please take a quick peak at it adn
apply it if you don't see anything jump out at you?

Unfortunately I don't understand configure.in well enough to have any
comment on the code. I recommend we make beta2 and give others time to
review it. If it is OK, we can add it later. We do have some other
open items like the Libpq signal handling and AIX compile so we are not
done applying things yet anyway.

-- 
  Bruce Momjian                        |  http://candle.pha.pa.us
  pgman@candle.pha.pa.us               |  (610) 853-3000
  +  If your life is a hard drive,     |  830 Blythe Avenue
  +  Christ can be your backup.        |  Drexel Hill, Pennsylvania 19026
#24Tom Lane
tgl@sss.pgh.pa.us
In reply to: Marc G. Fournier (#18)
Re: Proposal: 7.2b2 today

"Marc G. Fournier" <scrappy@hub.org> writes:

what about D'Arcy's python patch?

Since it's a configure/build thing, I'd want to see Peter E's reaction
to it before making a decision. I'd not suggest holding up beta2 for
it, anyway.

regards, tom lane

#25Peter Eisentraut
peter_e@gmx.net
In reply to: Marc G. Fournier (#1)
Re: Proposal: 7.2b2 today

Marc G. Fournier writes:

Unless someone has something they are sitting on, I'd like to wrap up a
7.2b2 this afternoon, and do a proper release announcement for it like
didn't happen for 7.2b1 ...

Anyone object?

Again, why are they called "b" and no longer "beta"?

--
Peter Eisentraut peter_e@gmx.net

#26Peter Eisentraut
peter_e@gmx.net
In reply to: Noname (#11)
Re: Proposal: 7.2b2 today

D'Arcy J.M. Cain writes:

I have a change I would like to discuss. It doesn't change the code
base, only the build system. The patches I would like to commit follow
this text. The only thing it does is create a config option to bytecode
compile the Python modules.

We've seen such a patch before, but I'm still not convinced it works.
According to my knowledge, the pre-compiled bytecode files need to be
created after the source files have been installed in their final
location, because the file name and timestamp is encoded in the compiled
file (it's sort of used as a cache file). While this can be accomplished
with a different patch, it wouldn't really work when DESTDIR is used
because you'd create a "dead" cache file. In a sense, this operation is
like running ldconfig -- it's outside the scope of the build system.
Package managers typically put it in the "post install" section.

+# If python is enabled (above), then optionally byte-compile the modules.
+AC_MSG_CHECKING([whether to byte-compile Python modules])
+if test "$with_python" = yes; then
+  PGAC_ARG_BOOL(with, python_compile, no,
+    [  --with-python-compile   byte-compile modules if Python is enabled])

--enable

+else
+  with_python_compile=no
+fi
+AC_MSG_RESULT([$with_python_compile])
+AC_SUBST([with_python_compile])
+%.pyc: %.py
+	python -c "import py_compile; py_compile.compile(\"$<\")"
+
+%.pyo: %.py
+	python -O -c "import py_compile; py_compile.compile(\"$<\")"
+

$(PYTHON)

--
Peter Eisentraut peter_e@gmx.net

#27Noname
darcy@druid.net
In reply to: Marc G. Fournier (#22)
Re: Proposal: 7.2b2 today

Thus spake Marc G. Fournier

the patch adds a --with-python switch to confiugure, and appropriate lines
to the make files to compile it ... I would *like* to see it in beta2
unless someone can see a glaring error in it that would cause us to have
to delay beta2 ...

its less then 50 lines ... cna you please take a quick peak at it adn
apply it if you don't see anything jump out at you?

I have one minor change to it. Where I call "python" to bytecode compile
it should be "$(PYTHON)" instead. If you want I can just commit the
changes directly.

-- 
D'Arcy J.M. Cain <darcy@{druid|vex}.net>   |  Democracy is three wolves
http://www.druid.net/darcy/                |  and a sheep voting on
+1 416 425 1212     (DoD#0082)    (eNTP)   |  what's for dinner.
#28D'Arcy J.M. Cain
darcy@druid.net
In reply to: Peter Eisentraut (#26)
Re: Proposal: 7.2b2 today

* Peter Eisentraut <peter_e@gmx.net> [011106 20:01]:

D'Arcy J.M. Cain writes:

I have a change I would like to discuss. It doesn't change the code
base, only the build system. The patches I would like to commit follow
this text. The only thing it does is create a config option to bytecode
compile the Python modules.

We've seen such a patch before, but I'm still not convinced it works.
According to my knowledge, the pre-compiled bytecode files need to be
created after the source files have been installed in their final
location, because the file name and timestamp is encoded in the compiled
file (it's sort of used as a cache file). While this can be accomplished
with a different patch, it wouldn't really work when DESTDIR is used
because you'd create a "dead" cache file. In a sense, this operation is
like running ldconfig -- it's outside the scope of the build system.
Package managers typically put it in the "post install" section.

Do you have a reference for this? I tried looking for one but the only
thing I could find was http://www.python.org/doc/1.6/dist/built-dist.html
which suggests to me that they can be compiled before shipping which of
course certainly involves moving them. In any case NetBSD does this
patch before building and everything works there.

-- 
D'Arcy J.M. Cain <darcy@{druid|vex}.net>   |  Democracy is three wolves
http://www.druid.net/darcy/                |  and a sheep voting on
+1 416 425 1212     (DoD#0082)    (eNTP)   |  what's for dinner.
#29Peter Eisentraut
peter_e@gmx.net
In reply to: D'Arcy J.M. Cain (#28)
Re: Proposal: 7.2b2 today

D'Arcy J.M. Cain writes:

Do you have a reference for this? I tried looking for one but the only
thing I could find was http://www.python.org/doc/1.6/dist/built-dist.html
which suggests to me that they can be compiled before shipping which of
course certainly involves moving them. In any case NetBSD does this
patch before building and everything works there.

My reference is Automake. They go out of their way to compile the Python
files at the right time. We could use this as a model.

It's easy to determine that the time stamp appears to be encoded into the
compiled output file:

$ cat test.py
print "test"
$ python -c 'import py_compile; py_compile.compile("test.py", "test.pyc")'
$ md5sum test.pyc
a0e690271636fcbf067db628f9c7d0c3 test.pyc
$ python -c 'import py_compile; py_compile.compile("test.py", "test.pyc")'
$ md5sum test.pyc
a0e690271636fcbf067db628f9c7d0c3 test.pyc
$ touch test.py
$ python -c 'import py_compile; py_compile.compile("test.py", "test.pyc")'
$ md5sum test.pyc
1d78ae79994b102c89a14a2dd2addc55 test.pyc

What you need to do is to create the compiled files after you have
installed the original. Binary packaging probably preserves the time
stamps of the files, so that shouldn't be a problem. I withdraw that part
of the objection.

Also, I think if we add this feature, let's just make it the default and
not add another configure option for it.

--
Peter Eisentraut peter_e@gmx.net