Sophie

Sophie

distrib > Mandriva > 2010.1 > x86_64 > media > main-updates-src > by-pkgid > dec4e1edeef36e7485e13bf42f1af5da > files > 48

rpm-4.6.0-14.3mnb2.src.rpm

From: Panu Matilainen <pmatilai@redhat.com>
Date: Mon, 1 Jun 2009 09:42:07 +0000 (+0300)
Subject: Bring back former value of RPMSENSE_PREREQ
X-Git-Url: http://rpm.org/gitweb?p=rpm.git;a=commitdiff_plain;h=c5b320fe4e9f96531fb6e86f0648ccb2b5f088b9

Bring back former value of RPMSENSE_PREREQ
- packages using the legacy PreReq still widely exist distros having
  patched PREREQ back in, we'll want to be able to deal with the legacy
  packages best we can, and to do that we need to be able to test for
  the prereq bit
- this also fixes ordering brokenness introduced by commit
  502f88e0e67bb1df91e09a32a370b04bda36259e all the way from 2004:
  with RPMSENSE_PREREQ equalling RPMSENSE_ANY, all co-requisites are seen
  as pre-requisites due to isLegacyPrefix() returning bogons (RhBug:502269)
- previously RPMSENSE_SCRIPT_PRE etc were also marked RPMSENSE_PREREQ to
  permit legacy rpm versions to deal the fine grained scriptlet dependencies
  somehow, this we dont want anymore
(cherry picked from commit 67bd81fb25a2a57adc97172cf426c475aea41612)
diff -p -up rpm-4.6.0/lib/rpmds.h.orig rpm-4.6.0/lib/rpmds.h
--- rpm-4.6.0/lib/rpmds.h.orig	2009-08-23 09:26:47.188328998 +0300
+++ rpm-4.6.0/lib/rpmds.h	2009-08-23 09:26:47.563330181 +0300
@@ -33,14 +33,13 @@ typedef	enum rpmsenseFlags_e {
     RPMSENSE_EQUAL	= (1 << 3),
     RPMSENSE_PROVIDES	= (1 << 4), /* only used internally by builds */
     RPMSENSE_CONFLICTS	= (1 << 5), /* only used internally by builds */
-	/* bit 6 used to be RPMSENSE_PREREQ */
-#define	RPMSENSE_PREREQ	RPMSENSE_ANY
+    RPMSENSE_PREREQ	= (1 << 6), /* legacy prereq dependency */
     RPMSENSE_OBSOLETES	= (1 << 7), /* only used internally by builds */
     RPMSENSE_INTERP	= (1 << 8),	/*!< Interpreter used by scriptlet. */
-    RPMSENSE_SCRIPT_PRE	= ((1 << 9)|RPMSENSE_PREREQ), /*!< %pre dependency. */
-    RPMSENSE_SCRIPT_POST = ((1 << 10)|RPMSENSE_PREREQ), /*!< %post dependency. */
-    RPMSENSE_SCRIPT_PREUN = ((1 << 11)|RPMSENSE_PREREQ), /*!< %preun dependency. */
-    RPMSENSE_SCRIPT_POSTUN = ((1 << 12)|RPMSENSE_PREREQ), /*!< %postun dependency. */
+    RPMSENSE_SCRIPT_PRE	= (1 << 9),	/*!< %pre dependency. */
+    RPMSENSE_SCRIPT_POST = (1 << 10),	/*!< %post dependency. */
+    RPMSENSE_SCRIPT_PREUN = (1 << 11),	/*!< %preun dependency. */
+    RPMSENSE_SCRIPT_POSTUN = (1 << 12), /*!< %postun dependency. */
     RPMSENSE_SCRIPT_VERIFY = (1 << 13),	/*!< %verify dependency. */
     RPMSENSE_FIND_REQUIRES = (1 << 14), /*!< find-requires generated dependency. */
     RPMSENSE_FIND_PROVIDES = (1 << 15), /*!< find-provides generated dependency. */
@@ -53,7 +52,7 @@ typedef	enum rpmsenseFlags_e {
     RPMSENSE_SCRIPT_BUILD = (1 << 21),	/*!< %build build dependency. */
     RPMSENSE_SCRIPT_INSTALL = (1 << 22),/*!< %install build dependency. */
     RPMSENSE_SCRIPT_CLEAN = (1 << 23),	/*!< %clean build dependency. */
-    RPMSENSE_RPMLIB = ((1 << 24) | RPMSENSE_PREREQ), /*!< rpmlib(feature) dependency. */
+    RPMSENSE_RPMLIB = (1 << 24),	/*!< rpmlib(feature) dependency. */
     RPMSENSE_TRIGGERPREIN = (1 << 25),	/*!< %triggerprein dependency. */
     RPMSENSE_KEYRING	= (1 << 26),
     RPMSENSE_STRONG	= (1 << 27),