rpms/rpm/F-10 rpm-4.6.0-alpha-isa.patch, NONE, 1.1 rpm-4.6.0-dssingle-null.patch, NONE, 1.1 rpm-4.6.0-rsa-v4.patch, NONE, 1.1 rpm-4.6.0-utf-depnames.patch, NONE, 1.1 rpm.spec, 1.310, 1.311

Panu Matilainen pmatilai at fedoraproject.org
Thu Mar 12 06:00:55 UTC 2009


Author: pmatilai

Update of /cvs/pkgs/rpms/rpm/F-10
In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv29254

Modified Files:
	rpm.spec 
Added Files:
	rpm-4.6.0-alpha-isa.patch rpm-4.6.0-dssingle-null.patch 
	rpm-4.6.0-rsa-v4.patch rpm-4.6.0-utf-depnames.patch 
Log Message:
- handle NULL as EVR to rpmdsSingle() (#487881, #485616)
- permit UTF-8 as first char of dependency names (#455119)
- handle RSA V4 signatures (#436812)
- add alpha arch ISA-bits


rpm-4.6.0-alpha-isa.patch:

--- NEW FILE rpm-4.6.0-alpha-isa.patch ---
commit ac13da00266b1d0c6e6d76002d5f3d1114b6265b
Author: Panu Matilainen <pmatilai at redhat.com>
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

rpm-4.6.0-dssingle-null.patch:

--- NEW FILE rpm-4.6.0-dssingle-null.patch ---
commit 3448b552964a526641d2e85b4ed27ebe3465f100
Author: Panu Matilainen <pmatilai at redhat.com>
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;
     }

rpm-4.6.0-rsa-v4.patch:

--- NEW FILE rpm-4.6.0-rsa-v4.patch ---
commit fbb16d025ecdae96f9301e47c2dab8b3e37bb5a8
Author: Panu Matilainen <pmatilai at redhat.com>
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);
 

rpm-4.6.0-utf-depnames.patch:

--- NEW FILE rpm-4.6.0-utf-depnames.patch ---
commit 58e92b976aebe43ebddbe2d2ec41bff0dd46b6fc
Author: Panu Matilainen <pmatilai at redhat.com>
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);


Index: rpm.spec
===================================================================
RCS file: /cvs/pkgs/rpms/rpm/F-10/rpm.spec,v
retrieving revision 1.310
retrieving revision 1.311
diff -u -r1.310 -r1.311
--- rpm.spec	7 Feb 2009 07:41:52 -0000	1.310
+++ rpm.spec	12 Mar 2009 06:00:21 -0000	1.311
@@ -17,7 +17,7 @@
 Summary: The RPM package management system
 Name: rpm
 Version: %{rpmver}
-Release: 1%{?dist}
+Release: 2%{?dist}
 Group: System Environment/Base
 Url: http://www.rpm.org/
 Source0: http://rpm.org/releases/testing/%{name}-%{srcver}.tar.bz2
@@ -37,6 +37,10 @@
 
 # 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
 
 # Partially GPL/LGPL dual-licensed and some bits with BSD
 # SourceLicense: (GPLv2+ and LGPLv2+ with exceptions) and BSD 
@@ -170,6 +174,10 @@
 %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
 
 %if %{with int_bdb}
 ln -s db-%{bdbver} db
@@ -366,6 +374,12 @@
 %doc doc/librpm/html/*
 
 %changelog
+* Thu Mar 12 2009 Panu Matilainen <pmatilai at redhat.com> - 4.6.0-2
+- handle NULL as EVR to rpmdsSingle() (#487881, #485616)
+- permit UTF-8 as first char of dependency names (#455119)
+- handle RSA V4 signatures (#436812)
+- add alpha arch ISA-bits
+
 * Sat Feb 07 2009 Panu Matilainen <pmatilai at redhat.com>
 - update to 4.6.0 final: http://rpm.org/wiki/Releases/4.6.0, fixing
   #475582, #478907, #476737, #479869, #476201




More information about the fedora-extras-commits mailing list