RPM Package Manager, CVS Repository http://rpm5.org/cvs/ ____________________________________________________________________________
Server: rpm5.org Name: Per Øyvind Karlsen Root: /v/rpm/cvs Email: pkarl...@rpm5.org Module: rpm Date: 06-Mar-2011 15:10:49 Branch: rpm-5_3 Handle: 2011030614104801 Modified files: (Branch: rpm-5_3) rpm CHANGES rpm/build reqprov.c Log: check whether provides are duplicate of package first Summary: Revision Changes Path 1.3296.2.172+2 -0 rpm/CHANGES 1.90.4.2 +18 -0 rpm/build/reqprov.c ____________________________________________________________________________ patch -p0 <<'@@ .' Index: rpm/CHANGES ============================================================================ $ cvs diff -u -r1.3296.2.171 -r1.3296.2.172 CHANGES --- rpm/CHANGES 5 Mar 2011 17:33:15 -0000 1.3296.2.171 +++ rpm/CHANGES 6 Mar 2011 14:10:48 -0000 1.3296.2.172 @@ -1,4 +1,6 @@ 5.3.9 -> 5.3.10 + - proyvind: check whether provides are duplicate of package first (without + distepoch), also ensures that package is always at end of %provideversion. - jbj: add "| cpio -dim" to the rpm2cpio.8 examples. - mdawkins: tagged 5.3.9 release in configure.ac @@ . patch -p0 <<'@@ .' Index: rpm/build/reqprov.c ============================================================================ $ cvs diff -u -r1.90.4.1 -r1.90.4.2 reqprov.c --- rpm/build/reqprov.c 18 Oct 2010 07:03:08 -0000 1.90.4.1 +++ rpm/build/reqprov.c 6 Mar 2011 14:10:49 -0000 1.90.4.2 @@ -56,6 +56,24 @@ if (EVR == NULL) EVR = ""; + /* Check that provide isn't duplicate of package */ + else if (nametag == RPMTAG_PROVIDENAME) { + const char *pName, + *pEVR; + int duplicate; + + he->tag = RPMTAG_NAME; + xx = headerGet(h, he, 0); + pName = he->p.str; + pEVR = headerSprintf(h, "%|EPOCH?{%{EPOCH}:}|%{VERSION}-%{RELEASE}", NULL, NULL, NULL); + duplicate = !strcmp(pName, N) && !strcmp(pEVR, EVR); + + _free(pName); + _free(pEVR); + + if (duplicate) + return 0; + } /* Check for duplicate dependencies. */ he->tag = nametag; @@ . ______________________________________________________________________ RPM Package Manager http://rpm5.org CVS Sources Repository rpm-cvs@rpm5.org