Update to PostgreSQL 8.3RC2 and pgtcl 1.6.2.

This commit is contained in:
Tom Lane 2008-01-18 20:48:56 +00:00
parent 8d5bd11f6b
commit 8bf3ae46af
8 changed files with 118 additions and 158 deletions

View File

@ -1,5 +1,5 @@
postgresql-8.2.6.tar.bz2
postgresql-8.3RC2.tar.bz2
PyGreSQL-3.8.1.tgz
pgtcl1.6.0.tar.gz
pgtcl1.6.2.tar.gz
pgtcldocs-20070115.zip
postgresql-8.2.1-US.pdf
postgresql-8.3RC2-US.pdf

View File

@ -3,24 +3,40 @@
# in an RPM installation
#
# database encoding
MULTIBYTE := SQL_ASCII
# default encoding
MULTIBYTE = SQL_ASCII
# maximum simultaneous connections for parallel tests
MAXCONNOPT :=
MAXCONNOPT =
ifdef MAX_CONNECTIONS
MAXCONNOPT += --max-connections=$(MAX_CONNECTIONS)
endif
# locale
NOLOCALE =
ifdef NO_LOCALE
NOLOCALE += --no-locale
endif
srcdir := .
# Test input and expected files. These are created by pg_regress itself, so we
# don't have a rule to create them. We do need rules to clean them however.
ifile_list := $(subst .source,, $(notdir $(wildcard $(srcdir)/input/*.source)))
input_files := $(foreach file, $(ifile_list), sql/$(file).sql)
ofile_list := $(subst .source,, $(notdir $(wildcard $(srcdir)/output/*.source)))
output_files := $(foreach file, $(ofile_list), expected/$(file).out)
abs_srcdir := $(shell pwd)
abs_builddir := $(shell pwd)
check: installcheck-parallel
installcheck: cleandirs
./pg_regress --schedule=$(srcdir)/serial_schedule --multibyte=$(MULTIBYTE) --load-language=plpgsql
./pg_regress --schedule=$(srcdir)/serial_schedule --multibyte=$(MULTIBYTE) --load-language=plpgsql $(NOLOCALE)
installcheck-parallel: cleandirs
./pg_regress --schedule=$(srcdir)/parallel_schedule --multibyte=$(MULTIBYTE) --load-language=plpgsql $(MAXCONNOPT)
./pg_regress --schedule=$(srcdir)/parallel_schedule --multibyte=$(MULTIBYTE) --load-language=plpgsql $(MAXCONNOPT) $(NOLOCALE)
# The tests command the server to write into testtablespace and results.
# On a SELinux-enabled system this will fail unless we mark those directories
@ -37,10 +53,10 @@ runtest: installcheck
runtest-parallel: installcheck-parallel
bigtest: cleandirs
./pg_regress --schedule=$(srcdir)/serial_schedule --multibyte=$(MULTIBYTE) --load-language=plpgsql numeric_big
./pg_regress --schedule=$(srcdir)/serial_schedule --multibyte=$(MULTIBYTE) --load-language=plpgsql $(NOLOCALE) numeric_big
bigcheck: cleandirs
./pg_regress --schedule=$(srcdir)/parallel_schedule --multibyte=$(MULTIBYTE) --load-language=plpgsql $(MAXCONNOPT) numeric_big
./pg_regress --schedule=$(srcdir)/parallel_schedule --multibyte=$(MULTIBYTE) --load-language=plpgsql $(MAXCONNOPT) $(NOLOCALE) numeric_big
##
@ -48,6 +64,7 @@ bigcheck: cleandirs
##
clean distclean maintainer-clean:
rm -f $(output_files) $(input_files)
rm -rf testtablespace
rm -rf results tmp_check log
rm -f regression.diffs regression.out regress.out run_check.out

View File

@ -4,17 +4,17 @@ for PostgreSQL, but it's not very tenable in the Fedora/RHEL world.
Dike out the check.
diff -Naur postgresql-8.2.6.orig/configure.in postgresql-8.2.6/configure.in
--- postgresql-8.2.6.orig/configure.in 2008-01-03 16:40:50.000000000 -0500
+++ postgresql-8.2.6/configure.in 2008-01-04 11:25:42.000000000 -0500
diff -Naur postgresql-8.3RC2.orig/configure.in postgresql-8.3RC2/configure.in
--- postgresql-8.3RC2.orig/configure.in 2008-01-17 23:47:32.000000000 -0500
+++ postgresql-8.3RC2/configure.in 2008-01-18 11:39:58.000000000 -0500
@@ -19,10 +19,6 @@
AC_INIT([PostgreSQL], [8.2.6], [pgsql-bugs@postgresql.org])
AC_INIT([PostgreSQL], [8.3RC2], [pgsql-bugs@postgresql.org])
-m4_if(m4_defn([m4_PACKAGE_VERSION]), [2.59], [], [m4_fatal([Autoconf version 2.59 is required.
-Untested combinations of 'autoconf' and PostgreSQL versions are not
-recommended. You can remove the check from 'configure.in' but it is then
-your responsibility whether the result works or not.])])
AC_COPYRIGHT([Copyright (c) 1996-2006, PostgreSQL Global Development Group])
AC_COPYRIGHT([Copyright (c) 1996-2008, PostgreSQL Global Development Group])
AC_CONFIG_SRCDIR([src/backend/access/common/heaptuple.c])
AC_CONFIG_AUX_DIR(config)

View File

@ -1,37 +1,37 @@
diff -Naur postgresql-8.2.0.orig/src/backend/utils/misc/postgresql.conf.sample postgresql-8.2.0/src/backend/utils/misc/postgresql.conf.sample
--- postgresql-8.2.0.orig/src/backend/utils/misc/postgresql.conf.sample 2006-11-20 20:23:37.000000000 -0500
+++ postgresql-8.2.0/src/backend/utils/misc/postgresql.conf.sample 2006-12-04 19:54:58.000000000 -0500
@@ -226,16 +226,16 @@
# depending on platform.
diff -Naur postgresql-8.3RC2.orig/src/backend/utils/misc/postgresql.conf.sample postgresql-8.3RC2/src/backend/utils/misc/postgresql.conf.sample
--- postgresql-8.3RC2.orig/src/backend/utils/misc/postgresql.conf.sample 2008-01-09 21:50:01.000000000 -0500
+++ postgresql-8.3RC2/src/backend/utils/misc/postgresql.conf.sample 2008-01-18 11:44:08.000000000 -0500
@@ -237,17 +237,17 @@
# requires logging_collector to be on.
# This is used when logging to stderr:
-#redirect_stderr = off # Enable capturing of stderr into log
+redirect_stderr = on # Enable capturing of stderr into log
# files
-#logging_collector = off # Enable capturing of stderr and csvlog
+logging_collector = on # Enable capturing of stderr and csvlog
# into log files. Required to be on for
# csvlogs.
# (change requires restart)
# These are only used if redirect_stderr is on:
-#log_directory = 'pg_log' # Directory where log files are written
+log_directory = 'pg_log' # Directory where log files are written
# Can be absolute or relative to PGDATA
-#log_filename = 'postgresql-%Y-%m-%d_%H%M%S.log' # Log file name pattern.
+log_filename = 'postgresql-%a.log' # Log file name pattern.
# Can include strftime() escapes
-#log_truncate_on_rotation = off # If on, any existing log file of the same
+log_truncate_on_rotation = on # If on, any existing log file of the same
# name as the new log file will be
# truncated rather than appended to. But
# such truncation only occurs on
@@ -243,10 +243,10 @@
# These are only used if logging_collector is on:
-#log_directory = 'pg_log' # directory where log files are written,
+log_directory = 'pg_log' # directory where log files are written,
# can be absolute or relative to PGDATA
-#log_filename = 'postgresql-%Y-%m-%d_%H%M%S.log' # log file name pattern,
+log_filename = 'postgresql-%a.log' # log file name pattern,
# can include strftime() escapes
-#log_truncate_on_rotation = off # If on, an existing log file of the
+log_truncate_on_rotation = on # If on, an existing log file of the
# same name as the new log file will be
# truncated rather than appended to.
# But such truncation only occurs on
@@ -255,9 +255,9 @@
# or size-driven rotation. Default is
# off, meaning append to existing files
# in all cases.
-#log_rotation_age = 1d # Automatic rotation of logfiles will
+log_rotation_age = 1d # Automatic rotation of logfiles will
# happen after that time. 0 to
# disable.
# happen after that time. 0 to disable.
-#log_rotation_size = 10MB # Automatic rotation of logfiles will
+log_rotation_size = 0 # Automatic rotation of logfiles will
# happen after that much log
# output. 0 to disable.
# happen after that much log output.
# 0 to disable.

View File

@ -1,73 +1,53 @@
diff -Naur postgresql-8.2.0.orig/src/test/regress/GNUmakefile postgresql-8.2.0/src/test/regress/GNUmakefile
--- postgresql-8.2.0.orig/src/test/regress/GNUmakefile 2006-07-20 20:24:04.000000000 -0400
+++ postgresql-8.2.0/src/test/regress/GNUmakefile 2006-12-04 19:56:54.000000000 -0500
@@ -102,12 +102,23 @@
testtablespace := $(abs_builddir)/testtablespace
In the postgresql-test RPM, the contrib .so's that are used by the tests
are installed right in the directory where the tests are run. We must
adjust the CREATE FUNCTION commands accordingly. Note that this also
means that the specfile has to copy the .so's into the test directory
while doing the in-build-tree regression tests.
+ifdef RPMTESTING
+define sed-command
+sed -e 's,@abs_srcdir@,$(libdir)/pgsql/test/regress,g' \
+ -e 's,@abs_builddir@,$(libdir)/pgsql/test/regress,g' \
+ -e 's,@abs_spidir@,$(libdir)/pgsql/test/regress,g' \
+ -e 's,@testtablespace@,$(libdir)/pgsql/test/regress/testtablespace,g' \
+ -e 's/@DLSUFFIX@/$(DLSUFFIX)/g' $< >$@
+endef
+else
define sed-command
sed -e 's,@abs_srcdir@,$(abs_srcdir),g' \
-e 's,@abs_builddir@,$(abs_builddir),g' \
+ -e 's,@abs_spidir@,$(abs_builddir)/../../../contrib/spi,g' \
-e 's,@testtablespace@,$(testtablespace),g' \
-e 's/@DLSUFFIX@/$(DLSUFFIX)/g' $< >$@
endef
+endif
$(input_files): sql/%.sql: input/%.source
$(sed-command)
diff -Naur postgresql-8.2.0.orig/src/test/regress/input/create_function_1.source postgresql-8.2.0/src/test/regress/input/create_function_1.source
--- postgresql-8.2.0.orig/src/test/regress/input/create_function_1.source 2006-02-27 11:09:50.000000000 -0500
+++ postgresql-8.2.0/src/test/regress/input/create_function_1.source 2006-12-04 19:58:24.000000000 -0500
diff -Naur postgresql-8.3RC2.orig/src/test/regress/input/create_function_1.source postgresql-8.3RC2/src/test/regress/input/create_function_1.source
--- postgresql-8.3RC2.orig/src/test/regress/input/create_function_1.source 2006-02-27 11:09:50.000000000 -0500
+++ postgresql-8.3RC2/src/test/regress/input/create_function_1.source 2008-01-18 13:38:51.000000000 -0500
@@ -24,17 +24,17 @@
CREATE FUNCTION check_primary_key ()
RETURNS trigger
- AS '@abs_builddir@/../../../contrib/spi/refint@DLSUFFIX@'
+ AS '@abs_spidir@/refint@DLSUFFIX@'
+ AS '@abs_builddir@/refint@DLSUFFIX@'
LANGUAGE C;
CREATE FUNCTION check_foreign_key ()
RETURNS trigger
- AS '@abs_builddir@/../../../contrib/spi/refint@DLSUFFIX@'
+ AS '@abs_spidir@/refint@DLSUFFIX@'
+ AS '@abs_builddir@/refint@DLSUFFIX@'
LANGUAGE C;
CREATE FUNCTION autoinc ()
RETURNS trigger
- AS '@abs_builddir@/../../../contrib/spi/autoinc@DLSUFFIX@'
+ AS '@abs_spidir@/autoinc@DLSUFFIX@'
+ AS '@abs_builddir@/autoinc@DLSUFFIX@'
LANGUAGE C;
CREATE FUNCTION funny_dup17 ()
diff -Naur postgresql-8.2.0.orig/src/test/regress/output/create_function_1.source postgresql-8.2.0/src/test/regress/output/create_function_1.source
--- postgresql-8.2.0.orig/src/test/regress/output/create_function_1.source 2006-03-14 17:48:25.000000000 -0500
+++ postgresql-8.2.0/src/test/regress/output/create_function_1.source 2006-12-04 19:58:54.000000000 -0500
diff -Naur postgresql-8.3RC2.orig/src/test/regress/output/create_function_1.source postgresql-8.3RC2/src/test/regress/output/create_function_1.source
--- postgresql-8.3RC2.orig/src/test/regress/output/create_function_1.source 2007-06-18 17:40:58.000000000 -0400
+++ postgresql-8.3RC2/src/test/regress/output/create_function_1.source 2008-01-18 13:38:51.000000000 -0500
@@ -25,15 +25,15 @@
NOTICE: argument type city_budget is only a shell
CREATE FUNCTION check_primary_key ()
RETURNS trigger
- AS '@abs_builddir@/../../../contrib/spi/refint@DLSUFFIX@'
+ AS '@abs_spidir@/refint@DLSUFFIX@'
+ AS '@abs_builddir@/refint@DLSUFFIX@'
LANGUAGE C;
CREATE FUNCTION check_foreign_key ()
RETURNS trigger
- AS '@abs_builddir@/../../../contrib/spi/refint@DLSUFFIX@'
+ AS '@abs_spidir@/refint@DLSUFFIX@'
+ AS '@abs_builddir@/refint@DLSUFFIX@'
LANGUAGE C;
CREATE FUNCTION autoinc ()
RETURNS trigger
- AS '@abs_builddir@/../../../contrib/spi/autoinc@DLSUFFIX@'
+ AS '@abs_spidir@/autoinc@DLSUFFIX@'
+ AS '@abs_builddir@/autoinc@DLSUFFIX@'
LANGUAGE C;
CREATE FUNCTION funny_dup17 ()
RETURNS trigger

View File

@ -1,61 +0,0 @@
PostgreSQL includes its own copy of the zic timezone database, which is great
for ensuring portable results but not so great from a package maintenance
perspective. Since the data is in the same format as is provided by the
Linux-standard /usr/share/zoneinfo files, we can avoid having to update
postgresql for timezone updates by just using those files instead.
Note: as of PG 8.3 this patch will be unnecessary; use configure's
--with-system-tzdata switch instead.
diff -Naur postgresql-8.2.4.orig/src/timezone/Makefile postgresql-8.2.4/src/timezone/Makefile
--- postgresql-8.2.4.orig/src/timezone/Makefile 2007-03-14 13:38:15.000000000 -0400
+++ postgresql-8.2.4/src/timezone/Makefile 2007-08-25 16:38:53.000000000 -0400
@@ -38,14 +38,12 @@
$(CC) $(CFLAGS) $(ZICOBJS) $(LDFLAGS) $(LIBS) -o $@$(X)
install: all installdirs
- ./zic -d '$(DESTDIR)$(datadir)/timezone' -p '$(POSIXRULES)' $(TZDATAFILES)
$(MAKE) -C tznames $@
installdirs:
$(mkinstalldirs) '$(DESTDIR)$(datadir)'
uninstall:
- rm -rf '$(DESTDIR)$(datadir)/timezone'
$(MAKE) -C tznames $@
clean distclean maintainer-clean:
diff -Naur postgresql-8.2.4.orig/src/timezone/pgtz.c postgresql-8.2.4/src/timezone/pgtz.c
--- postgresql-8.2.4.orig/src/timezone/pgtz.c 2006-11-21 18:11:55.000000000 -0500
+++ postgresql-8.2.4/src/timezone/pgtz.c 2007-08-25 16:42:32.000000000 -0400
@@ -31,9 +31,6 @@
pg_tz *global_timezone = NULL;
-static char tzdir[MAXPGPATH];
-static bool done_tzdir = false;
-
static bool scan_directory_ci(const char *dirname,
const char *fname, int fnamelen,
char *canonname, int canonnamelen);
@@ -45,17 +42,10 @@
/*
* Return full pathname of timezone data directory
*/
-static char *
+static const char *
pg_TZDIR(void)
{
- if (done_tzdir)
- return tzdir;
-
- get_share_path(my_exec_path, tzdir);
- strlcpy(tzdir + strlen(tzdir), "/timezone", MAXPGPATH - strlen(tzdir));
-
- done_tzdir = true;
- return tzdir;
+ return "/usr/share/zoneinfo";
}

View File

@ -69,6 +69,7 @@
%{!?ssl:%define ssl 1}
%{!?kerberos:%define kerberos 1}
%{!?nls:%define nls 1}
%{!?uuid:%define uuid 1}
%{!?xml:%define xml 1}
%{!?pam:%define pam 1}
%{!?pgfts:%define pgfts 1}
@ -80,7 +81,7 @@
Summary: PostgreSQL client programs and libraries
Name: postgresql
Version: 8.2.6
Version: 8.3RC2
Release: 1%{?dist}
License: BSD
Group: Applications/Databases
@ -95,9 +96,9 @@ Source7: ecpg_config.h
Source14: postgresql.pam
Source15: postgresql-bashprofile
Source16: filter-requires-perl-Pg.sh
Source17: http://www.postgresql.org/docs/manuals/postgresql-8.2.1-US.pdf
Source17: http://www.postgresql.org/docs/manuals/postgresql-8.3RC2-US.pdf
Source18: ftp://ftp.pygresql.org/pub/distrib/PyGreSQL-3.8.1.tgz
Source19: http://pgfoundry.org/projects/pgtclng/pgtcl1.6.0.tar.gz
Source19: http://pgfoundry.org/projects/pgtclng/pgtcl1.6.2.tar.gz
Source20: http://pgfoundry.org/projects/pgtclng/pgtcldocs-20070115.zip
Patch1: rpm-pgsql.patch
@ -107,7 +108,6 @@ Patch4: postgresql-test.patch
Patch5: pgtcl-no-rpath.patch
Patch6: postgresql-perl-rpath.patch
Patch8: postgresql-prefer-ncurses.patch
Patch9: postgresql-use-zoneinfo.patch
BuildRequires: perl(ExtUtils::MakeMaker) glibc-devel bison flex autoconf gawk
Prereq: /sbin/ldconfig initscripts
@ -139,6 +139,10 @@ BuildRequires: e2fsprogs-devel
BuildRequires: gettext >= 0.10.35
%endif
%if %uuid
BuildRequires: uuid-devel
%endif
%if %xml
BuildRequires: libxml2-devel libxslt-devel
%endif
@ -346,7 +350,6 @@ system, including regression tests and benchmarks.
# patch5 is applied later
%patch6 -p1
%patch8 -p1
%patch9 -p1
#call autoconf 2.53 or greater
%aconfver
@ -409,21 +412,26 @@ CFLAGS=`echo $CFLAGS|xargs -n 1|grep -v ffast-math|xargs -n 100`
%if %kerberos
--with-krb5 \
%endif
%if %uuid
--with-ossp-uuid \
%endif
%if %xml
--with-libxml \
--with-libxslt \
%endif
%if %nls
--enable-nls \
%endif
%if %pgfts
--enable-thread-safety \
%endif
--with-system-tzdata=/usr/share/zoneinfo \
--sysconfdir=/etc/sysconfig/pgsql \
--datadir=/usr/share/pgsql \
--with-docdir=%{_docdir}
make %{?_smp_mflags} all
make %{?_smp_mflags} -C contrib all
%if %xml
make %{?_smp_mflags} -C contrib/xml2 all
%endif
# Have to hack makefile to put correct path into tutorial scripts
sed "s|C=\`pwd\`;|C=%{_libdir}/pgsql/tutorial;|" < src/tutorial/Makefile > src/tutorial/GNUmakefile
@ -433,14 +441,17 @@ rm -f src/tutorial/GNUmakefile
%if %runselftest
pushd src/test/regress
make all
cp ../../../contrib/spi/refint.so .
cp ../../../contrib/spi/autoinc.so .
make MAX_CONNECTIONS=5 check
make clean
rm refint.so autoinc.so
popd
%endif
%if %test
pushd src/test/regress
make RPMTESTING=1 all
make all
popd
%endif
@ -475,9 +486,6 @@ rm -rf $RPM_BUILD_ROOT
make DESTDIR=$RPM_BUILD_ROOT install
make -C contrib DESTDIR=$RPM_BUILD_ROOT install
%if %xml
make -C contrib/xml2 DESTDIR=$RPM_BUILD_ROOT install
%endif
# multilib header hack; note pg_config.h is installed in two places!
# we only apply this to known Red Hat multilib arches, per bug #177564
@ -679,6 +687,8 @@ rm -rf $RPM_BUILD_ROOT
%{_libdir}/pgsql/chkpass.so
%{_libdir}/pgsql/cube.so
%{_libdir}/pgsql/dblink.so
%{_libdir}/pgsql/dict_int.so
%{_libdir}/pgsql/dict_xsyn.so
%{_libdir}/pgsql/earthdistance.so
%{_libdir}/pgsql/fuzzystrmatch.so
%{_libdir}/pgsql/hstore.so
@ -688,6 +698,7 @@ rm -rf $RPM_BUILD_ROOT
%{_libdir}/pgsql/lo.so
%{_libdir}/pgsql/ltree.so
%{_libdir}/pgsql/moddatetime.so
%{_libdir}/pgsql/pageinspect.so
%{_libdir}/pgsql/pg_buffercache.so
%{_libdir}/pgsql/pg_freespacemap.so
%{_libdir}/pgsql/pg_trgm.so
@ -698,13 +709,18 @@ rm -rf $RPM_BUILD_ROOT
%{_libdir}/pgsql/seg.so
%{_libdir}/pgsql/sslinfo.so
%{_libdir}/pgsql/tablefunc.so
%{_libdir}/pgsql/test_parser.so
%{_libdir}/pgsql/timetravel.so
%{_libdir}/pgsql/tsearch2.so
%if %uuid
%{_libdir}/pgsql/uuid-ossp.so
%endif
%if %xml
%{_libdir}/pgsql/pgxml.so
%endif
%{_datadir}/pgsql/contrib/
%{_bindir}/oid2name
%{_bindir}/pg_standby
%{_bindir}/pgbench
%{_bindir}/vacuumlo
%doc contrib/*/README.* contrib/spi/*.example
@ -743,6 +759,8 @@ rm -rf $RPM_BUILD_ROOT
%{_datadir}/pgsql/system_views.sql
%{_datadir}/pgsql/*.sample
%{_datadir}/pgsql/timezonesets/
%{_datadir}/pgsql/tsearch_data/
%{_libdir}/pgsql/dict_snowball.so
%{_libdir}/pgsql/plpgsql.so
%dir %{_datadir}/pgsql
%attr(700,postgres,postgres) %dir /var/lib/pgsql
@ -752,6 +770,7 @@ rm -rf $RPM_BUILD_ROOT
%{_libdir}/pgsql/*_and_*.so
%{_datadir}/pgsql/conversion_create.sql
%{_datadir}/pgsql/information_schema.sql
%{_datadir}/pgsql/snowball_create.sql
%{_datadir}/pgsql/sql_features.txt
%files devel -f pg_config.lst
@ -818,6 +837,11 @@ rm -rf $RPM_BUILD_ROOT
%endif
%changelog
* Fri Jan 18 2008 Tom Lane <tgl@redhat.com> 8.3RC2-1
- Update to PostgreSQL 8.3RC2 (not waiting for 8.3.0 because Fedora 9 alpha
should be 8.3-based not 8.2-based).
- Update to pgtcl 1.6.2
* Mon Jan 7 2008 Tom Lane <tgl@redhat.com> 8.2.6-1
- Update to PostgreSQL 8.2.6 to fix CVE-2007-4769, CVE-2007-4772,
CVE-2007-6067, CVE-2007-6600, CVE-2007-6601

View File

@ -1,5 +1,5 @@
17b9049b4fcad42ee95410833c1db228 postgresql-8.2.6.tar.bz2
7af035db3d8bdd9248f55e5aa8679836 postgresql-8.3RC2.tar.bz2
5575979dac93c9c5795d7693a8f91c86 PyGreSQL-3.8.1.tgz
25eda4bb40fb3d4ec9b205a1fdc1bbbc pgtcl1.6.0.tar.gz
abf26e3cd7f8229f468045ed1fb7e748 pgtcl1.6.2.tar.gz
8ce98e93b238c3329d0fe43810442c44 pgtcldocs-20070115.zip
0c25dc2055e2fa9ff9d05afc9252e1f2 postgresql-8.2.1-US.pdf
1d5acd907fded37ebcc80e267319d847 postgresql-8.3RC2-US.pdf