rpms/postgresql/FC-3 postgresql-7.4-getppid.patch, 1.1, 1.2 postgresql.spec, 1.40, 1.41

fedora-cvs-commits at redhat.com fedora-cvs-commits at redhat.com
Fri Mar 18 01:03:15 UTC 2005


Update of /cvs/dist/rpms/postgresql/FC-3
In directory cvs.devel.redhat.com:/tmp/cvs-serv15047

Modified Files:
	postgresql-7.4-getppid.patch postgresql.spec 
Log Message:
Fix the stale lockfile problem ... this time for sure ... (bug #151421)

postgresql-7.4-getppid.patch:
 miscinit.c |   10 ++++++++--
 1 files changed, 8 insertions(+), 2 deletions(-)

Index: postgresql-7.4-getppid.patch
===================================================================
RCS file: /cvs/dist/rpms/postgresql/FC-3/postgresql-7.4-getppid.patch,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- postgresql-7.4-getppid.patch	5 Oct 2004 15:32:24 -0000	1.1
+++ postgresql-7.4-getppid.patch	18 Mar 2005 01:03:12 -0000	1.2
@@ -1,12 +1,15 @@
-diff -Naur postgresql-7.4.5/src/backend/utils/init/miscinit.c postgresql-7.4.5-rh/src/backend/utils/init/miscinit.c
---- postgresql-7.4.5/src/backend/utils/init/miscinit.c	2003-09-26 11:27:37.000000000 -0400
-+++ postgresql-7.4.5-rh/src/backend/utils/init/miscinit.c	2004-10-04 19:56:40.893167096 -0400
-@@ -527,10 +527,13 @@
+diff -Naur postgresql-7.4.7.orig/src/backend/utils/init/miscinit.c postgresql-7.4.7/src/backend/utils/init/miscinit.c
+--- postgresql-7.4.7.orig/src/backend/utils/init/miscinit.c	2003-09-26 11:27:37.000000000 -0400
++++ postgresql-7.4.7/src/backend/utils/init/miscinit.c	2005-03-17 19:37:46.233120225 -0500
+@@ -527,13 +527,19 @@
  		/*
  		 * Check to see if the other process still exists
  		 *
 +		 * Reject parent PID too, so we are not fooled by parent shell
-+		 * during reboot.
++		 * during reboot.  Also, allow EPERM case: that implies the other
++		 * process has a different UID, which implies it couldn't be a
++		 * competing postmaster (data directory permissions checks ensure
++		 * that a postmaster must have same UID as owner of data directory).
 +		 *
  		 * Normally kill() will fail with ESRCH if the given PID doesn't
  		 * exist.  BeOS returns EINVAL for some silly reason, however.
@@ -15,4 +18,8 @@
 +		if (other_pid != my_pid && other_pid != getppid())
  		{
  			if (kill(other_pid, 0) == 0 ||
- 				(errno != ESRCH
+-				(errno != ESRCH
++				(errno != ESRCH && errno != EPERM
+ #ifdef __BEOS__
+ 				 && errno != EINVAL
+ #endif


Index: postgresql.spec
===================================================================
RCS file: /cvs/dist/rpms/postgresql/FC-3/postgresql.spec,v
retrieving revision 1.40
retrieving revision 1.41
diff -u -r1.40 -r1.41
--- postgresql.spec	21 Feb 2005 19:26:48 -0000	1.40
+++ postgresql.spec	18 Mar 2005 01:03:12 -0000	1.41
@@ -67,7 +67,7 @@
 # Pre-release RPM's should not be put up on the public ftp.postgresql.org server
 # -- only test releases or full releases should be.
 
-Release: 3.FC3.1
+Release: 5.FC3.1
 License: BSD
 Group: Applications/Databases
 Source0: ftp://ftp.postgresql.org/pub/source/v%{version}/postgresql-%{version}.tar.bz2
@@ -130,16 +130,6 @@
 Obsoletes: postgresql-perl
 Obsoletes: postgresql-tk
 Obsoletes: rh-postgresql
-Obsoletes: rh-postgresql-contrib
-Obsoletes: rh-postgresql-devel
-Obsoletes: rh-postgresql-docs
-Obsoletes: rh-postgresql-jdbc
-Obsoletes: rh-postgresql-libs
-Obsoletes: rh-postgresql-pl
-Obsoletes: rh-postgresql-python
-Obsoletes: rh-postgresql-server
-Obsoletes: rh-postgresql-tcl
-Obsoletes: rh-postgresql-test
 
 Buildroot: %{_tmppath}/%{name}-%{version}-root
 
@@ -196,6 +186,7 @@
 Summary: The shared libraries required for any PostgreSQL clients.
 Group: Applications/Databases
 Provides: libpq.so
+Obsoletes: rh-postgresql-libs
 
 %description libs
 The postgresql-libs package provides the essential shared libraries for any 
@@ -207,8 +198,8 @@
 Summary: The programs needed to create and run a PostgreSQL server.
 Group: Applications/Databases
 Prereq: /usr/sbin/useradd /sbin/chkconfig 
-Requires: postgresql = %{version} libpq.so
-Conflicts: postgresql < 7.4
+Requires: postgresql = %{version}-%{release} libpq.so
+Obsoletes: rh-postgresql-server
 
 %description server
 The postgresql-server package includes the programs needed to create
@@ -225,6 +216,9 @@
 %package docs
 Summary: Extra documentation for PostgreSQL
 Group: Applications/Databases
+Requires: postgresql = %{version}-%{release}
+Obsoletes: rh-postgresql-docs
+
 %description docs
 The postgresql-docs package includes the SGML source for the documentation
 as well as the documentation in PDF format and some extra documentation.
@@ -234,7 +228,9 @@
 %package contrib
 Summary: Contributed source and binaries distributed with PostgreSQL
 Group: Applications/Databases
-Requires: postgresql = %{version}
+Requires: postgresql = %{version}-%{release}
+Obsoletes: rh-postgresql-contrib
+
 %description contrib
 The postgresql-contrib package contains contributed packages that are
 included in the PostgreSQL distribution.
@@ -243,7 +239,9 @@
 %package devel
 Summary: PostgreSQL development header files and libraries.
 Group: Development/Libraries
-Requires: postgresql-libs = %{version}
+Prereq: postgresql = %{version}-%{release}
+Requires: postgresql-libs = %{version}-%{release}
+Obsoletes: rh-postgresql-devel
 
 %description devel
 The postgresql-devel package contains the header files and libraries
@@ -259,8 +257,9 @@
 %package pl
 Summary: The PL procedural languages for PostgreSQL.
 Group: Applications/Databases
-Requires: postgresql = %{version}
-PreReq: postgresql-server = %{version}
+Requires: postgresql = %{version}-%{release}
+PreReq: postgresql-server = %{version}-%{release}
+Obsoletes: rh-postgresql-pl
 
 %description pl
 PostgreSQL is an advanced Object-Relational database management
@@ -273,7 +272,9 @@
 %package tcl
 Summary: A Tcl client library for PostgreSQL.
 Group: Applications/Databases
+Requires: libpq.so
 Requires: tcl >= 8.0
+Obsoletes: rh-postgresql-tcl
 
 %description tcl
 PostgreSQL is an advanced Object-Relational database management
@@ -286,9 +287,10 @@
 %package python
 Summary: Development module for Python code to access a PostgreSQL DB.
 Group: Applications/Databases
+Requires: libpq.so
 Requires: python mx
 Conflicts: python < %pyver, python >= %pynextver
-
+Obsoletes: rh-postgresql-python
 
 %description python
 PostgreSQL is an advanced Object-Relational database management
@@ -302,10 +304,11 @@
 %package jdbc
 Summary: Files needed for Java programs to access a PostgreSQL database.
 Group: Applications/Databases
+Obsoletes: rh-postgresql-jdbc
 
 %description jdbc
 PostgreSQL is an advanced Object-Relational database management
-system. The postgresql-jdbc package includes the .jar file needed for
+system. The postgresql-jdbc package includes the .jar files needed for
 Java programs to access a PostgreSQL database.
 %endif
 
@@ -314,8 +317,9 @@
 %package test
 Summary: The test suite distributed with PostgreSQL.
 Group: Applications/Databases
-Requires: postgresql = %{version}
-PreReq: postgresql-server = %{version}
+Requires: postgresql = %{version}-%{release}
+PreReq: postgresql-server = %{version}-%{release}
+Obsoletes: rh-postgresql-test
 
 %description test
 PostgreSQL is an advanced Object-Relational database management
@@ -802,6 +806,14 @@
 %endif
 
 %changelog
+* Thu Mar 17 2005 Tom Lane <tgl at redhat.com> 7.4.7-5.FC3.1
+- Fix the stale lockfile problem ... this time for sure ... (bug #151421)
+
+* Wed Mar  2 2005 Tom Lane <tgl at redhat.com> 7.4.7-4.FC3.1
+- Attach Obsoletes: declarations for rh-postgresql to subpackages (bz#144435)
+- Make Requires: and Prereq: package linkages specify release not only
+  version, as per recent mailing list discussion.
+
 * Mon Feb 21 2005 Tom Lane <tgl at redhat.com> 7.4.7-3.FC3.1
 - Work around selinux <<EOF problem during initdb (bug #149237).
 - Repair improper error message in init script when PGVERSION doesn't match.




More information about the fedora-cvs-commits mailing list