- update to 4.6.0-rc2
- fixes #471820, #473167, #469355, #468319, #472507, #247374, #426672, #444661
This commit is contained in:
parent
97c9ccbfec
commit
ae7c31e780
@ -1 +1 @@
|
||||
rpm-4.6.0-rc1.tar.bz2
|
||||
rpm-4.6.0-rc2.tar.bz2
|
||||
|
@ -1,45 +0,0 @@
|
||||
commit 927f384a9bc058eb6f954e93cc515cc1293fd2a3
|
||||
Author: Panu Matilainen <pmatilai@redhat.com>
|
||||
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`"; \\\
|
@ -1,20 +0,0 @@
|
||||
commit 81660b26bc8e2c03f55cf928955f7ed84e00785a
|
||||
Author: Panu Matilainen <pmatilai@redhat.com>
|
||||
Date: Fri Oct 31 10:17:07 2008 +0200
|
||||
|
||||
Adjust for file output change (rhbz#468129)
|
||||
- file util used reported file details along with mime type, newer ones don't
|
||||
|
||||
diff --git a/scripts/find-debuginfo.sh b/scripts/find-debuginfo.sh
|
||||
index 287c512..21366bf 100644
|
||||
--- a/scripts/find-debuginfo.sh
|
||||
+++ b/scripts/find-debuginfo.sh
|
||||
@@ -90,7 +90,7 @@ strip_to_debug()
|
||||
{
|
||||
local g=
|
||||
$strip_g && case "$(file -bi "$2")" in
|
||||
- application/x-sharedlib,*) g=-g ;;
|
||||
+ application/x-sharedlib*) g=-g ;;
|
||||
esac
|
||||
eu-strip --remove-comment $g -f "$1" "$2" || exit
|
||||
}
|
@ -1,26 +0,0 @@
|
||||
diff --git a/lib/fprint.c b/lib/fprint.c
|
||||
index d31a694..b763a38 100644
|
||||
--- a/lib/fprint.c
|
||||
+++ b/lib/fprint.c
|
||||
@@ -183,16 +183,13 @@ unsigned int fpHashFunction(const void * key)
|
||||
{
|
||||
const fingerPrint * fp = key;
|
||||
unsigned int hash = 0;
|
||||
- char ch;
|
||||
- const char * chptr;
|
||||
+ int j;
|
||||
|
||||
- ch = 0;
|
||||
- chptr = fp->baseName;
|
||||
- while (*chptr != '\0') ch ^= *chptr++;
|
||||
+ hash = hashFunctionString(fp->baseName);
|
||||
+ if (fp->subDir) hash ^= hashFunctionString(fp->subDir);
|
||||
|
||||
- hash |= ((unsigned)ch) << 24;
|
||||
- hash |= (((((unsigned)fp->entry->dev) >> 8) ^ fp->entry->dev) & 0xFF) << 16;
|
||||
- hash |= fp->entry->ino & 0xFFFF;
|
||||
+ hash ^= ((unsigned)fp->entry->dev);
|
||||
+ for (j=0; j<4; j++) hash ^= ((fp->entry->ino >> (8*j)) & 0xFF) << ((3-j)*8);
|
||||
|
||||
return hash;
|
||||
}
|
@ -1,24 +0,0 @@
|
||||
commit a4825e488d44e01803c377ebc4fc054adcf42b3a
|
||||
Author: Panu Matilainen <pmatilai@redhat.com>
|
||||
Date: Thu Oct 23 07:47:25 2008 +0300
|
||||
|
||||
Make noarch subpackages actually work
|
||||
- noarch subpackages get their arch tag from parsePreamble() already,
|
||||
don't stomp over it later in parseSpec()
|
||||
|
||||
diff --git a/build/parseSpec.c b/build/parseSpec.c
|
||||
index 098bd2b..11e0622 100644
|
||||
--- a/build/parseSpec.c
|
||||
+++ b/build/parseSpec.c
|
||||
@@ -592,7 +592,10 @@ int parseSpec(rpmts ts, const char *specFile, const char *rootDir,
|
||||
}
|
||||
|
||||
headerPutString(pkg->header, RPMTAG_OS, os);
|
||||
- headerPutString(pkg->header, RPMTAG_ARCH, arch);
|
||||
+ /* noarch subpackages already have arch set here, leave it alone */
|
||||
+ if (!headerIsEntry(pkg->header, RPMTAG_ARCH)) {
|
||||
+ headerPutString(pkg->header, RPMTAG_ARCH, arch);
|
||||
+ }
|
||||
headerPutString(pkg->header, RPMTAG_PLATFORM, platform);
|
||||
|
||||
pkg->ds = rpmdsThis(pkg->header, RPMTAG_REQUIRENAME, RPMSENSE_EQUAL);
|
@ -1,20 +0,0 @@
|
||||
commit 49c515179ac0d34c2bb43bf242b8eb27ff6c11b2
|
||||
Author: Panu Matilainen <pmatilai@redhat.com>
|
||||
Date: Sun Oct 19 01:53:03 2008 +0300
|
||||
|
||||
Permit tab as whitespace between macro arguments (rhbz#467567)
|
||||
- another dumb regression from macro handling cleanups
|
||||
|
||||
diff --git a/rpmio/macro.c b/rpmio/macro.c
|
||||
index 1e292c6..d1cbf93 100644
|
||||
--- a/rpmio/macro.c
|
||||
+++ b/rpmio/macro.c
|
||||
@@ -798,7 +798,7 @@ grabArgs(MacroBuf mb, const rpmMacroEntry me, const char * se,
|
||||
char *s = xcalloc((lastc-se)+1, sizeof(*s));
|
||||
memcpy(s, se, (lastc-se));
|
||||
|
||||
- argvSplit(&av, s, " ");
|
||||
+ argvSplit(&av, s, " \t");
|
||||
argvAppend(&argv, av);
|
||||
|
||||
argvFree(av);
|
@ -1,83 +0,0 @@
|
||||
diff --git a/lib/depends.c b/lib/depends.c
|
||||
index 58aff31..810e909 100644
|
||||
--- a/lib/depends.c
|
||||
+++ b/lib/depends.c
|
||||
@@ -118,7 +118,7 @@ int rpmtsAddInstallElement(rpmts ts, Header h,
|
||||
struct rpmtd_s td;
|
||||
const char * arch = NULL;
|
||||
const char * os = NULL;
|
||||
- rpmds oldChk, newChk;
|
||||
+ rpmds oldChk = NULL, newChk = NULL, sameChk = NULL;
|
||||
rpmds obsoletes;
|
||||
rpmalKey pkgKey; /* addedPackages key */
|
||||
int xx;
|
||||
@@ -151,10 +151,13 @@ int rpmtsAddInstallElement(rpmts ts, Header h,
|
||||
}
|
||||
|
||||
oldChk = rpmdsThis(h, RPMTAG_REQUIRENAME, (RPMSENSE_LESS));
|
||||
- newChk = rpmdsThis(h, RPMTAG_REQUIRENAME, (RPMSENSE_EQUAL|RPMSENSE_GREATER));
|
||||
+ newChk = rpmdsThis(h, RPMTAG_REQUIRENAME, (RPMSENSE_GREATER));
|
||||
+ sameChk = rpmdsThis(h, RPMTAG_REQUIRENAME, (RPMSENSE_EQUAL));
|
||||
/* XXX can't use rpmtsiNext() filter or oc will have wrong value. */
|
||||
for (pi = rpmtsiInit(ts), oc = 0; (p = rpmtsiNext(pi, 0)) != NULL; oc++) {
|
||||
rpmds this;
|
||||
+ const char *pkgNEVR, *addNEVR;
|
||||
+ int skip = 0;
|
||||
|
||||
/* XXX Only added packages need be checked for dupes. */
|
||||
if (rpmteType(p) == TR_REMOVED)
|
||||
@@ -181,13 +184,20 @@ int rpmtsAddInstallElement(rpmts ts, Header h,
|
||||
continue; /* XXX can't happen */
|
||||
|
||||
/*
|
||||
+ * Always skip identical NEVR.
|
||||
* On upgrade, if newer NEVR was previously added,
|
||||
* then skip adding older.
|
||||
*/
|
||||
- rc = rpmdsCompare(newChk, this);
|
||||
- if (upgrade && rc != 0) {
|
||||
- const char * pkgNEVR = rpmdsDNEVR(this);
|
||||
- const char * addNEVR = rpmdsDNEVR(oldChk);
|
||||
+ if (rpmdsCompare(sameChk, this)) {
|
||||
+ skip = 1;
|
||||
+ addNEVR = rpmdsDNEVR(sameChk);
|
||||
+ } else if (upgrade && rpmdsCompare(newChk, this)) {
|
||||
+ skip = 1;
|
||||
+ addNEVR = rpmdsDNEVR(newChk);
|
||||
+ }
|
||||
+
|
||||
+ if (skip) {
|
||||
+ pkgNEVR = rpmdsDNEVR(this);
|
||||
if (rpmIsVerbose())
|
||||
rpmlog(RPMLOG_WARNING,
|
||||
_("package %s was already added, skipping %s\n"),
|
||||
@@ -203,8 +213,8 @@ int rpmtsAddInstallElement(rpmts ts, Header h,
|
||||
*/
|
||||
rc = rpmdsCompare(oldChk, this);
|
||||
if (upgrade && rc != 0) {
|
||||
- const char * pkgNEVR = rpmdsDNEVR(this);
|
||||
- const char * addNEVR = rpmdsDNEVR(newChk);
|
||||
+ pkgNEVR = rpmdsDNEVR(this);
|
||||
+ addNEVR = rpmdsDNEVR(newChk);
|
||||
if (rpmIsVerbose())
|
||||
rpmlog(RPMLOG_WARNING,
|
||||
_("package %s was already added, replacing with %s\n"),
|
||||
@@ -216,8 +226,6 @@ int rpmtsAddInstallElement(rpmts ts, Header h,
|
||||
}
|
||||
}
|
||||
pi = rpmtsiFree(pi);
|
||||
- oldChk = rpmdsFree(oldChk);
|
||||
- newChk = rpmdsFree(newChk);
|
||||
|
||||
/* If newer NEVR was already added, exit now. */
|
||||
if (ec)
|
||||
@@ -353,6 +361,9 @@ addheader:
|
||||
ec = 0;
|
||||
|
||||
exit:
|
||||
+ oldChk = rpmdsFree(oldChk);
|
||||
+ newChk = rpmdsFree(newChk);
|
||||
+ sameChk = rpmdsFree(sameChk);
|
||||
pi = rpmtsiFree(pi);
|
||||
return ec;
|
||||
}
|
21
rpm.spec
21
rpm.spec
@ -10,7 +10,7 @@
|
||||
%define rpmhome /usr/lib/rpm
|
||||
|
||||
%define rpmver 4.6.0
|
||||
%define snapver rc1
|
||||
%define snapver rc2
|
||||
%define srcver %{rpmver}-%{snapver}
|
||||
|
||||
%define bdbver 4.5.20
|
||||
@ -18,7 +18,7 @@
|
||||
Summary: The RPM package management system
|
||||
Name: rpm
|
||||
Version: %{rpmver}
|
||||
Release: 0.%{snapver}.7
|
||||
Release: 0.%{snapver}.1
|
||||
Group: System Environment/Base
|
||||
Url: http://www.rpm.org/
|
||||
Source0: http://rpm.org/releases/testing/%{name}-%{srcver}.tar.bz2
|
||||
@ -33,12 +33,6 @@ Patch2: rpm-4.5.90-gstreamer-provides.patch
|
||||
Patch100: rpm-4.6.x-no-pkgconfig-reqs.patch
|
||||
|
||||
# Patches already in upstream
|
||||
Patch200: rpm-4.6.0-rc1-permit-tab.patch
|
||||
Patch201: rpm-4.6.0-rc1-skip-equal-nevr.patch
|
||||
Patch202: rpm-4.6.0-rc1-noarch-subpkg.patch
|
||||
Patch203: rpm-4.6.0-rc1-defaultdocdir.patch
|
||||
Patch204: rpm-4.6.0-rc1-fp-hash.patch
|
||||
Patch205: rpm-4.6.0-rc1-file-debuginfo.patch
|
||||
|
||||
# These are not yet upstream
|
||||
Patch300: rpm-4.5.90-posttrans.patch
|
||||
@ -172,13 +166,6 @@ that will manipulate RPM packages and databases.
|
||||
%patch2 -p1 -b .gstreamer-prov
|
||||
%patch100 -p1 -b .pkgconfig-deps
|
||||
|
||||
%patch200 -p1 -b .permit-tab
|
||||
%patch201 -p1 -b .skip-equal-nevr
|
||||
%patch202 -p1 -b .noarch-subpkg
|
||||
%patch203 -p1 -b .defaultdocdir
|
||||
%patch204 -p1 -b .fp-hash
|
||||
%patch205 -p1 -b .file-debuginfo
|
||||
|
||||
# needs a bit of upstream love first...
|
||||
#%patch300 -p1 -b .posttrans
|
||||
|
||||
@ -368,6 +355,10 @@ exit 0
|
||||
%doc doc/librpm/html/*
|
||||
|
||||
%changelog
|
||||
* Sat Nov 29 2008 Panu Matilainen <pmatilai@redhat.com>
|
||||
- update to 4.6.0-rc2
|
||||
- fixes #471820, #473167, #469355, #468319, #472507, #247374, #426672, #444661
|
||||
|
||||
* Fri Oct 31 2008 Panu Matilainen <pmatilai@redhat.com>
|
||||
- adjust find-debuginfo for "file" output change (#468129)
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user