diff --git a/.gitignore b/.gitignore index c0c59cb..dec7568 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,4 @@ rpm-4.8.1.tar.bz2 /rpm-4.9.0-beta1.tar.bz2 /rpm-4.9.0-rc1.tar.bz2 +/rpm-4.9.0.tar.bz2 diff --git a/rpm-4.9.0-rc1-double-cursor.patch b/rpm-4.9.0-rc1-double-cursor.patch deleted file mode 100644 index 17adffa..0000000 --- a/rpm-4.9.0-rc1-double-cursor.patch +++ /dev/null @@ -1,24 +0,0 @@ -commit 4f7fe5e668e9cd8ba62e700f6f3fdaf2256306d8 -Author: Panu Matilainen -Date: Mon Feb 21 10:55:02 2011 +0200 - - Fix db cursor double-open, causing yum to hang on reinstall (RhBug:678644) - - A refactoring error in commit 475391dc581bf5ba72b6d59d16d875505b45bd51 - causes us to open a double cursor on the Package db. This doesn't - seem to affect much in rpm context, but Yum is being naughty and holding - two different handles to the same db simultaneously, which causes - to deadlock on trying to lock the same record twice from two different - handles .. or something to that effect. - -diff --git a/lib/rpmdb.c b/lib/rpmdb.c -index dc6d7a7..eb7a49d 100644 ---- a/lib/rpmdb.c -+++ b/lib/rpmdb.c -@@ -2331,7 +2331,6 @@ static int updatePackages(dbiIndex dbi, unsigned int hdrNum, DBT *hdr) - DBT data; - - memset(&data, 0, sizeof(data)); -- xx = dbiCopen(dbi, &dbcursor, DB_WRITECURSOR); - rc = dbiGet(dbi, dbcursor, &key, &data, DB_SET); - if (rc) { - rpmlog(RPMLOG_ERR, diff --git a/rpm-4.9.0-rc1-getoutput.patch b/rpm-4.9.0-rc1-getoutput.patch deleted file mode 100644 index 6ded3cc..0000000 --- a/rpm-4.9.0-rc1-getoutput.patch +++ /dev/null @@ -1,51 +0,0 @@ -commit 771993d1fc6db95ae92ebe0200f7003554ea32da -Author: Panu Matilainen -Date: Mon Feb 21 08:47:52 2011 +0200 - - Fix braindamage in the depgen helper collector loop (RhBug:675002) - - Read any remaining data before exiting on SIGCHLD - - Only perform one read() per loop, otherwise it could block - - Handle EINTR while read()'ing - -diff --git a/build/rpmfc.c b/build/rpmfc.c -index 56bcb12..29334e2 100644 ---- a/build/rpmfc.c -+++ b/build/rpmfc.c -@@ -272,12 +272,6 @@ static StringBuf getOutputFrom(ARGV_t argv, - break; - } - -- /* Child exited, we're done */ -- if (FD_ISSET(sigpipe, &ibits)) { -- while (read(sigpipe, buf, sizeof(buf)) > 0) {}; -- break; -- } -- - /* Write data to child */ - if (writeBytesLeft > 0 && FD_ISSET(toProg[1], &obits)) { - size_t nb = (1024 < writeBytesLeft) ? 1024 : writeBytesLeft; -@@ -293,11 +287,20 @@ static StringBuf getOutputFrom(ARGV_t argv, - - /* Read when we get data back from the child */ - if (FD_ISSET(fromProg[0], &ibits)) { -- int nbr; -- while ((nbr = read(fromProg[0], buf, sizeof(buf)-1)) > 0) { -- buf[nbr] = '\0'; -- appendStringBuf(readBuff, buf); -+ int nbr = read(fromProg[0], buf, sizeof(buf)-1); -+ if (nbr < 0 && errno == EINTR) continue; -+ if (nbr < 0) { -+ myerrno = errno; -+ break; - } -+ buf[nbr] = '\0'; -+ appendStringBuf(readBuff, buf); -+ } -+ -+ /* Child exited, we're done */ -+ if (FD_ISSET(sigpipe, &ibits)) { -+ while (read(sigpipe, buf, sizeof(buf)) > 0) {}; -+ break; - } - } - diff --git a/rpm.spec b/rpm.spec index c886d1b..700f084 100644 --- a/rpm.spec +++ b/rpm.spec @@ -12,7 +12,6 @@ %define rpmhome /usr/lib/rpm %define rpmver 4.9.0 -%define snapver rc1 %define srcver %{rpmver}%{?snapver:-%{snapver}} %define bdbname db4 @@ -22,7 +21,7 @@ Summary: The RPM package management system Name: rpm Version: %{rpmver} -Release: %{?snapver:0.%{snapver}.}4%{?dist} +Release: %{?snapver:0.%{snapver}.}1%{?dist} Group: System Environment/Base Url: http://www.rpm.org/ Source0: http://rpm.org/releases/rpm-4.8.x/%{name}-%{srcver}.tar.bz2 @@ -41,8 +40,6 @@ Patch3: rpm-4.8.0-no-man-dirs.patch Patch4: rpm-4.8.1-use-gpg2.patch # Patches already in upstream -Patch100: rpm-4.9.0-rc1-getoutput.patch -Patch101 : rpm-4.9.0-rc1-double-cursor.patch # These are not yet upstream Patch301: rpm-4.6.0-niagara.patch @@ -208,9 +205,6 @@ packages on a system. %patch3 -p1 -b .no-man-dirs %patch4 -p1 -b .use-gpg2 -%patch100 -p1 -b .getoutput -%patch101 -p1 -b .double-cursor - %patch301 -p1 -b .niagara %patch302 -p1 -b .geode @@ -424,6 +418,10 @@ exit 0 %doc COPYING doc/librpm/html/* %changelog +* Wed Mar 02 2011 Panu Matilainen - 4.9.0-1 +- update to 4.9.0 final +- drop upstreamed patches + * Tue Mar 01 2011 Panu Matilainen - 4.9.0-0.rc1.4 - spec cosmetics clean up extra whitespace + group more logically - wipe out BDB environment at boot via tmpfiles.d diff --git a/sources b/sources index 194789b..af1f386 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -2529d0943d64a8c767527427ea88e84c rpm-4.9.0-rc1.tar.bz2 +9fb2bf03c697d719a9bfc72aafb723b9 rpm-4.9.0.tar.bz2