From 90e71786f6a27abb70cbb952d700836e40dab4c6 Mon Sep 17 00:00:00 2001 From: Panu Matilainen Date: Mon, 18 May 2009 11:08:18 +0000 Subject: [PATCH] - update to rpm 4.6.1 (http://rpm.org/wiki/Releases/4.6.1) - fixes #487855, #493157 and several others already fixed in F11/rawhide - drop patches merged upstream - eliminate bogus leftover rpm:rpm rpmdb ownership --- .cvsignore | 2 +- rpm-4.6.0-alpha-isa.patch | 22 --------- rpm-4.6.0-dssingle-null.patch | 30 ------------- rpm-4.6.0-rc1-defaultdocdir.patch | 45 ------------------- rpm-4.6.0-rsa-v4.patch | 34 -------------- rpm-4.6.0-utf-depnames.patch | 29 ------------ ...dep.patch => rpm-4.6.1-devel-autodep.patch | 29 ++++++------ rpm.spec | 25 +++++------ sources | 2 +- 9 files changed, 26 insertions(+), 192 deletions(-) delete mode 100644 rpm-4.6.0-alpha-isa.patch delete mode 100644 rpm-4.6.0-dssingle-null.patch delete mode 100644 rpm-4.6.0-rc1-defaultdocdir.patch delete mode 100644 rpm-4.6.0-rsa-v4.patch delete mode 100644 rpm-4.6.0-utf-depnames.patch rename rpm-4.5.90-devel-autodep.patch => rpm-4.6.1-devel-autodep.patch (82%) diff --git a/.cvsignore b/.cvsignore index 5f6f567..974101c 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1 +1 @@ -rpm-4.6.0-rc1.tar.bz2 +rpm-4.6.1.tar.bz2 diff --git a/rpm-4.6.0-alpha-isa.patch b/rpm-4.6.0-alpha-isa.patch deleted file mode 100644 index 743b75a..0000000 --- a/rpm-4.6.0-alpha-isa.patch +++ /dev/null @@ -1,22 +0,0 @@ -commit ac13da00266b1d0c6e6d76002d5f3d1114b6265b -Author: Panu Matilainen -Date: Tue Mar 3 08:48:12 2009 +0200 - - Add ISA bits for alpha (Oliver Falk) - (cherry picked from commit d39a6c7de51c0d01ce69ee1f464b94ca70309751) - -diff --git a/installplatform b/installplatform -index eaef958..cacbeca 100755 ---- a/installplatform -+++ b/installplatform -@@ -124,6 +124,10 @@ for SUBST in $SUBSTS ; do - ISANAME=`echo ${ARCH} | sed "s/^\([^-]*\)-.*/\1/"` - ISABITS=32 - ;; -+ alpha*) -+ ISANAME=alpha -+ ISABITS=64 -+ ;; - esac - - if [ -n "$MULTILIBNO" ]; then diff --git a/rpm-4.6.0-dssingle-null.patch b/rpm-4.6.0-dssingle-null.patch deleted file mode 100644 index 239405d..0000000 --- a/rpm-4.6.0-dssingle-null.patch +++ /dev/null @@ -1,30 +0,0 @@ -commit 3448b552964a526641d2e85b4ed27ebe3465f100 -Author: Panu Matilainen -Date: Thu Feb 26 10:49:38 2009 +0200 - - Handle empty argv passed to rpmdsDupArgv() - - same as 94552b96256c3620b4be407c501d0d926c081963, apt-rpm expects to - pass empty version as NULL to rpmdsSingle() - -diff --git a/lib/rpmds.c b/lib/rpmds.c -index 02b539c..bc829f4 100644 ---- a/lib/rpmds.c -+++ b/lib/rpmds.c -@@ -508,15 +508,14 @@ const char ** rpmdsDupArgv(const char ** argv, int argc) - - if (argv == NULL) - return NULL; -- for (ac = 0; ac < argc; ac++) { --assert(argv[ac] != NULL); -+ for (ac = 0; ac < argc && argv[ac]; ac++) { - nb += strlen(argv[ac]) + 1; - } - nb += (ac + 1) * sizeof(*av); - - av = xmalloc(nb); - t = (char *) (av + ac + 1); -- for (ac = 0; ac < argc; ac++) { -+ for (ac = 0; ac < argc && argv[ac]; ac++) { - av[ac] = t; - t = stpcpy(t, argv[ac]) + 1; - } diff --git a/rpm-4.6.0-rc1-defaultdocdir.patch b/rpm-4.6.0-rc1-defaultdocdir.patch deleted file mode 100644 index cb71e0b..0000000 --- a/rpm-4.6.0-rc1-defaultdocdir.patch +++ /dev/null @@ -1,45 +0,0 @@ -commit 927f384a9bc058eb6f954e93cc515cc1293fd2a3 -Author: Panu Matilainen -Date: Fri Oct 17 08:11:10 2008 +0300 - - Kick out the dumb defaultdocdir logic from installplatform - - defaultdocdir is simply %{_datadir}/doc - -diff --git a/installplatform b/installplatform -index 8861df0..266d877 100755 ---- a/installplatform -+++ b/installplatform -@@ -8,12 +8,6 @@ RPMRC="${1:-rpmrc}" - MACROS="${2:-macros}" - PLATFORM="${3:-platform}" - --if grep /share/ $PLATFORM > /dev/null 2>&1 ; then -- DEFAULTDOCDIR='%{_usr}/share/doc' --else -- DEFAULTDOCDIR='%{_usr}/doc' --fi -- - TEMPRC="/tmp/rpmrc.$$" - cat << E_O_F > $TEMPRC - include: $RPMRC -@@ -155,7 +149,6 @@ for SUBST in $SUBSTS ; do - -e "s,@RPMRC_GNU@,$RPMRC_GNU," \ - -e "s,@LIB@,$LIB," \ - -e "s,@ARCH_INSTALL_POST@,$ARCH_INSTALL_POST," \ -- -e "s,@DEFAULTDOCDIR@,$DEFAULTDOCDIR," \ - -e '/\${\w*:-/!s,\${,%{_,' \ - -e "s,@ISANAME@,$ISANAME," \ - -e "s,@ISABITS@,$ISABITS," \ -diff --git a/platform.in b/platform.in -index 4b496a0..9768a8a 100644 ---- a/platform.in -+++ b/platform.in -@@ -37,7 +37,7 @@ - # Deprecated misspelling, present for backwards compatibility. - %_initrddir %{_initddir} - --%_defaultdocdir @DEFAULTDOCDIR@ -+%_defaultdocdir %{_datadir}/doc - - %_smp_mflags %([ -z "$RPM_BUILD_NCPUS" ] \\\ - && RPM_BUILD_NCPUS="`/usr/bin/getconf _NPROCESSORS_ONLN`"; \\\ diff --git a/rpm-4.6.0-rsa-v4.patch b/rpm-4.6.0-rsa-v4.patch deleted file mode 100644 index 2e8a6c9..0000000 --- a/rpm-4.6.0-rsa-v4.patch +++ /dev/null @@ -1,34 +0,0 @@ -commit fbb16d025ecdae96f9301e47c2dab8b3e37bb5a8 -Author: Panu Matilainen -Date: Wed Mar 4 13:08:30 2009 +0200 - - Handle V4 signature trailer for RSA too (ticket #34) - (cherry picked from commit d50db40ceed7083467f7b548da7b2fbe96aaec61) - -diff --git a/lib/signature.c b/lib/signature.c -index 67f70ab..2416e53 100644 ---- a/lib/signature.c -+++ b/lib/signature.c -@@ -1199,17 +1199,16 @@ verifyRSASignature(rpmKeyring keyring, rpmtd sigtd, pgpDig dig, char ** msg, - if (sigp->hash != NULL) - xx = rpmDigestUpdate(ctx, sigp->hash, sigp->hashlen); - --#ifdef NOTYET /* XXX not for binary/text signatures as in packages. */ -- if (!(sigp->sigtype == PGPSIGTYPE_BINARY || sigp->sigtype == PGP_SIGTYPE_TEXT)) { -- size_t nb = dig->nbytes + sigp->hashlen; -+ if (sigp->version == 4) { -+ /* V4 trailer is six octets long (rfc4880) */ - uint8_t trailer[6]; -+ uint32_t nb = sigp->hashlen; - nb = htonl(nb); -- trailer[0] = 0x4; -+ trailer[0] = sigp->version; - trailer[1] = 0xff; -- memcpy(trailer+2, &nb, sizeof(nb)); -+ memcpy(trailer+2, &nb, 4); - xx = rpmDigestUpdate(ctx, trailer, sizeof(trailer)); - } --#endif - - xx = rpmDigestFinal(ctx, (void **)&dig->md5, &dig->md5len, 0); - diff --git a/rpm-4.6.0-utf-depnames.patch b/rpm-4.6.0-utf-depnames.patch deleted file mode 100644 index c6e6e81..0000000 --- a/rpm-4.6.0-utf-depnames.patch +++ /dev/null @@ -1,29 +0,0 @@ -commit 58e92b976aebe43ebddbe2d2ec41bff0dd46b6fc -Author: Panu Matilainen -Date: Sat Feb 21 12:11:54 2009 +0200 - - Loosen up restrictions on dependency token names (rhbz#455119) - - Package names aren't restricted to ascii, no point restricting - dependency names either. - - This lets UTF-8 to go through but also all sorts of other junk but - as we haven't got a clue about the specs encoding, no can do. So we - only check for bad characters from plain ascii. - -diff --git a/build/parseReqs.c b/build/parseReqs.c -index 54230c7..f2130ec 100644 ---- a/build/parseReqs.c -+++ b/build/parseReqs.c -@@ -100,8 +100,11 @@ rpmRC parseRCPOT(rpmSpec spec, Package pkg, const char *field, rpmTag tagN, - - Flags = (tagflags & ~RPMSENSE_SENSEMASK); - -- /* Tokens must begin with alphanumeric, _, or / */ -- if (!(risalnum(r[0]) || r[0] == '_' || r[0] == '/')) { -+ /* -+ * Tokens must begin with alphanumeric, _, or /, but we don't know -+ * the spec's encoding so we only check what we can: plain ascii. -+ */ -+ if (isascii(r[0]) && !(risalnum(r[0]) || r[0] == '_' || r[0] == '/')) { - rpmlog(RPMLOG_ERR, - _("line %d: Dependency tokens must begin with alpha-numeric, '_' or '/': %s\n"), - spec->lineNum, spec->line); diff --git a/rpm-4.5.90-devel-autodep.patch b/rpm-4.6.1-devel-autodep.patch similarity index 82% rename from rpm-4.5.90-devel-autodep.patch rename to rpm-4.6.1-devel-autodep.patch index 613137d..dc4fe1f 100644 --- a/rpm-4.5.90-devel-autodep.patch +++ b/rpm-4.6.1-devel-autodep.patch @@ -1,8 +1,7 @@ -diff --git a/build/rpmfc.c b/build/rpmfc.c -index 3cc2d6d..84d1e8a 100644 ---- a/build/rpmfc.c -+++ b/build/rpmfc.c -@@ -522,7 +522,7 @@ static const struct rpmfcTokens_s const rpmfcTokens[] = { +diff -up rpm-4.7.0.git9101/build/rpmfc.c.devel-autodep rpm-4.7.0.git9101/build/rpmfc.c +--- rpm-4.7.0.git9101/build/rpmfc.c.devel-autodep 2009-04-03 09:26:59.000000000 +0300 ++++ rpm-4.7.0.git9101/build/rpmfc.c 2009-04-03 11:34:44.000000000 +0300 +@@ -505,7 +505,7 @@ static const struct rpmfcTokens_s const { "ASCII text", RPMFC_WHITE|RPMFC_INCLUDE }, { "ISO-8859 text", RPMFC_WHITE|RPMFC_INCLUDE }, @@ -10,8 +9,8 @@ index 3cc2d6d..84d1e8a 100644 + { "symbolic link to", RPMFC_SYMLINK|RPMFC_INCLUDE }, { "socket", RPMFC_DEVICE }, { "special", RPMFC_DEVICE }, - -@@ -683,6 +683,105 @@ rpmds rpmfcRequires(rpmfc fc) + { " text", RPMFC_TEXT }, +@@ -667,6 +667,105 @@ rpmds rpmfcRequires(rpmfc fc) /** @@ -117,15 +116,15 @@ index 3cc2d6d..84d1e8a 100644 * Extract script dependencies. * @param fc file classifier * @return 0 on success -@@ -1115,6 +1214,7 @@ static const struct rpmfcApplyTbl_s const rpmfcApplyTable[] = { - { rpmfcSCRIPT, (RPMFC_SCRIPT|RPMFC_PKGCONFIG) }, - { rpmfcSCRIPT, (RPMFC_SCRIPT|RPMFC_LIBTOOL) }, - { rpmfcSCRIPT, RPMFC_MONO }, -+ { rpmfcSYMLINK, RPMFC_SYMLINK }, +@@ -1097,6 +1196,7 @@ static const struct rpmfcApplyTbl_s cons + { rpmfcSCRIPT, (RPMFC_SCRIPT|RPMFC_BOURNE| + RPMFC_PERL|RPMFC_PYTHON|RPMFC_MONO| + RPMFC_PKGCONFIG|RPMFC_LIBTOOL) }, ++ { rpmfcSYMLINK, RPMFC_SYMLINK }, { NULL, 0 } }; -@@ -1135,6 +1235,7 @@ rpmRC rpmfcApply(rpmfc fc) +@@ -1117,6 +1217,7 @@ rpmRC rpmfcApply(rpmfc fc) int ix; int i; int xx; @@ -133,7 +132,7 @@ index 3cc2d6d..84d1e8a 100644 /* Generate package and per-file dependencies. */ for (fc->ix = 0; fc->fn[fc->ix] != NULL; fc->ix++) { -@@ -1185,11 +1286,13 @@ assert(se != NULL); +@@ -1171,11 +1272,13 @@ rpmRC rpmfcApply(rpmfc fc) default: break; case 'P': @@ -147,7 +146,7 @@ index 3cc2d6d..84d1e8a 100644 ds = rpmdsSingle(RPMTAG_REQUIRENAME, N, EVR, Flags); dix = rpmdsFind(fc->requires, ds); ds = rpmdsFree(ds); -@@ -1211,7 +1314,7 @@ assert(dix >= 0); +@@ -1197,7 +1300,7 @@ assert(dix >= 0); previx = ix; xx = argiAdd(&fc->fddictx, ix, argiCount(fc->ddictx)-1); } diff --git a/rpm.spec b/rpm.spec index 24b0b7c..d5bc7aa 100644 --- a/rpm.spec +++ b/rpm.spec @@ -9,7 +9,7 @@ %define rpmhome /usr/lib/rpm -%define rpmver 4.6.0 +%define rpmver 4.6.1 %define srcver %{rpmver} %define bdbver 4.5.20 @@ -17,7 +17,7 @@ Summary: The RPM package management system Name: rpm Version: %{rpmver} -Release: 4%{?dist} +Release: 1%{?dist} Group: System Environment/Base Url: http://www.rpm.org/ Source0: http://rpm.org/releases/testing/%{name}-%{srcver}.tar.bz2 @@ -25,7 +25,7 @@ Source0: http://rpm.org/releases/testing/%{name}-%{srcver}.tar.bz2 Source1: db-%{bdbver}.tar.gz %endif -Patch0: rpm-4.5.90-devel-autodep.patch +Patch0: rpm-4.6.1-devel-autodep.patch Patch1: rpm-4.5.90-pkgconfig-path.patch Patch2: rpm-4.5.90-gstreamer-provides.patch # Fedora specspo is setup differently than what rpm expects, considering @@ -36,11 +36,6 @@ Patch3: rpm-4.6.0-fedora-specspo.patch Patch100: rpm-4.6.x-no-pkgconfig-reqs.patch # Patches already in upstream -Patch200: rpm-4.6.0-rc1-defaultdocdir.patch -Patch201: rpm-4.6.0-dssingle-null.patch -Patch202: rpm-4.6.0-utf-depnames.patch -Patch203: rpm-4.6.0-alpha-isa.patch -Patch204: rpm-4.6.0-rsa-v4.patch # Patches not yet upstream Patch300: rpm-4.6.0-niagara.patch @@ -176,12 +171,6 @@ that will manipulate RPM packages and databases. %patch3 -p1 -b .fedora.specspo %patch100 -p1 -b .pkgconfig-deps -%patch200 -p1 -b .defaultdocdir -%patch201 -p1 -b .dssingle-null -%patch202 -p1 -b .utf-depnames -%patch203 -p1 -b .alpha-isa -%patch204 -p1 -b .rsa-v4 - %patch300 -p1 -b .niagara %if %{with int_bdb} @@ -282,7 +271,7 @@ exit 0 %dir %{_sysconfdir}/rpm %attr(0755, root, root) %dir /var/lib/rpm -%attr(0644, rpm, rpm) %verify(not md5 size mtime) %ghost %config(missingok,noreplace) /var/lib/rpm/* +%attr(0644, root, root) %verify(not md5 size mtime) %ghost %config(missingok,noreplace) /var/lib/rpm/* %attr(0755, root, root) %dir %{rpmhome} /bin/rpm @@ -379,6 +368,12 @@ exit 0 %doc doc/librpm/html/* %changelog +* Mon May 18 2009 Panu Matilainen - 4.6.1-1 +- update to rpm 4.6.1 (http://rpm.org/wiki/Releases/4.6.1) +- fixes #487855, #493157 and several others already fixed in F11/rawhide +- drop patches merged upstream +- eliminate bogus leftover rpm:rpm rpmdb ownership + * Thu Apr 2 2009 Tom "spot" Callaway - 4.6.0-4 - actually apply niagara patch diff --git a/sources b/sources index 064ead5..92c1f3b 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -77bf389f87f61ff53b068a9870aa91ca rpm-4.6.0.tar.bz2 +08e09317652a1deddbf01e071db1ce8d rpm-4.6.1.tar.bz2