New version
This commit is contained in:
parent
2c259d0d36
commit
d8085d2c56
60
rpm-4.4.2-exclude.patch
Normal file
60
rpm-4.4.2-exclude.patch
Normal file
@ -0,0 +1,60 @@
|
||||
--- rpm-4.4.2/rpmdb/fprint.h.exclude 2003-05-08 16:39:31.000000000 -0400
|
||||
+++ rpm-4.4.2/rpmdb/fprint.h 2005-11-29 11:40:29.000000000 -0500
|
||||
@@ -79,6 +79,12 @@
|
||||
/*@modifies db, *matchList, rpmGlobalMacroContext,
|
||||
fileSystem, internalState @*/;
|
||||
|
||||
+int rpmdbFindFpListExclude(/*@null@*/ rpmdb db, fingerPrint * fpList,
|
||||
+ /*@out@*/ dbiIndexSet * matchList, int numItems, unsigned int exclude)
|
||||
+ /*@globals rpmGlobalMacroContext, fileSystem, internalState @*/
|
||||
+ /*@modifies db, *matchList, rpmGlobalMacroContext,
|
||||
+ fileSystem, internalState @*/;
|
||||
+
|
||||
/* Be carefull with the memory... assert(*fullName == '/' || !scareMemory) */
|
||||
|
||||
/**
|
||||
--- rpm-4.4.2/rpmdb/rpmdb.c.exclude 2005-02-15 22:18:19.000000000 -0500
|
||||
+++ rpm-4.4.2/rpmdb/rpmdb.c 2005-11-29 11:47:10.000000000 -0500
|
||||
@@ -3388,11 +3388,17 @@
|
||||
return 0;
|
||||
}
|
||||
|
||||
-/* XXX transaction.c */
|
||||
-/*@-compmempass@*/
|
||||
int rpmdbFindFpList(rpmdb db, fingerPrint * fpList, dbiIndexSet * matchList,
|
||||
int numItems)
|
||||
{
|
||||
+ return rpmdbFindFpListExclude(db, fpList, matchList, numItems, 0);
|
||||
+}
|
||||
+
|
||||
+/* XXX transaction.c */
|
||||
+/*@-compmempass@*/
|
||||
+int rpmdbFindFpListExclude(rpmdb db, fingerPrint * fpList, dbiIndexSet * matchList,
|
||||
+ int numItems, unsigned int exclude)
|
||||
+{
|
||||
DBT * key;
|
||||
DBT * data;
|
||||
HGE_t hge = (HGE_t)headerGetEntryMinMemory;
|
||||
@@ -3424,7 +3430,10 @@
|
||||
key->size = strlen((char *)key->data);
|
||||
if (key->size == 0) key->size++; /* XXX "/" fixup. */
|
||||
|
||||
- if (skipDir(fpList[i].entry->dirName))
|
||||
+ /* HACK HACK HACK: don't skip dirs while removing
|
||||
+ * packages as we will loose files on conflicts.
|
||||
+ * exclude is not zero when removing */
|
||||
+ if (!exclude && skipDir(fpList[i].entry->dirName))
|
||||
continue;
|
||||
|
||||
xx = rpmdbGrowIterator(mi, i);
|
||||
--- rpm-4.4.2/lib/transaction.c.exclude 2005-11-29 11:40:29.000000000 -0500
|
||||
+++ rpm-4.4.2/lib/transaction.c 2005-11-29 11:40:29.000000000 -0500
|
||||
@@ -1750,7 +1750,7 @@
|
||||
(void) rpmswEnter(rpmtsOp(ts, RPMTS_OP_FINGERPRINT), 0);
|
||||
/* Extract file info for all files in this package from the database. */
|
||||
matches = xcalloc(fc, sizeof(*matches));
|
||||
- if (rpmdbFindFpList(rpmtsGetRdb(ts), fi->fps, matches, fc)) {
|
||||
+ if (rpmdbFindFpListExclude(rpmtsGetRdb(ts), fi->fps, matches, fc, rpmteType(p) == TR_REMOVED ? fi->record : 0)) {
|
||||
ps = rpmpsFree(ps);
|
||||
rpmtsFreeLock(lock);
|
||||
return 1; /* XXX WTFO? */
|
7
rpm.spec
7
rpm.spec
@ -20,7 +20,7 @@ Name: rpm
|
||||
%define version 4.4.2
|
||||
Version: %{version}
|
||||
%{expand: %%define rpm_version %{version}}
|
||||
Release: 8
|
||||
Release: 9
|
||||
Group: System Environment/Base
|
||||
Source: ftp://wraptastic.org/pub/rpm-4.4.x/rpm-%{rpm_version}.tar.gz
|
||||
Patch0: rpm-4.4.1-hkp-disable.patch
|
||||
@ -35,6 +35,7 @@ Patch8: rpm-4.4.2-db3-param.patch
|
||||
Patch9: rpm-4.4.2-contextverify.patch
|
||||
Patch10: rpm-4.4.2-popt-charset.patch
|
||||
Patch11: rpm-4.4.2-ghost-conflicts.patch
|
||||
Patch12: rpm-4.4.2-exclude.patch
|
||||
License: GPL
|
||||
Conflicts: patch < 2.5
|
||||
%ifos linux
|
||||
@ -158,6 +159,7 @@ shell-like rules.
|
||||
%patch9 -p1 -b .contextverify
|
||||
%patch10 -p1 -b .charset
|
||||
%patch11 -p1 -b .ghostconflicts
|
||||
%patch12 -p1 -b .exclude
|
||||
|
||||
|
||||
%build
|
||||
@ -550,6 +552,9 @@ exit 0
|
||||
%{__includedir}/popt.h
|
||||
|
||||
%changelog
|
||||
* Tue Nov 29 2005 Paul Nasrat <pnasrat@redhat.com> - 4.4.2-9
|
||||
- Don't skipDirs on erasures (#140055)
|
||||
|
||||
* Mon Nov 28 2005 Paul Nasrat <pnasrat@redhat.com> - 4.4.2-8
|
||||
- Add elfutils Build Requires to rpmbuild (#155129)
|
||||
- Don't do conflicts if both files %ghost(#155256)
|
||||
|
Loading…
Reference in New Issue
Block a user