RPM Community Forums

Mailing List Message of <rpm-devel>

Re: upgrading from RPM 4 to RPM 5

From: Pixel <pixel@mandriva.com>
Date: Mon 31 Dec 2007 - 17:40:43 CET
Message-ID: <lyodc6g6lw.fsf@leia.mandriva.com>
Jeff Johnson <n3npq@mac.com> writes:

> On Dec 31, 2007, at 8:52 AM, Ralf S. Engelschall wrote:
>
>>
>> Perhaps a difference between RPM 4.2 (me) and 4.5 (you)?
>>

[...]

> There have been several changes since rpm-4.2 detecting srpms,
> all to get uncoupled from the vestigial lead structure (which was the
> original test for a src rpm), and to stop adding an additional tag  explicitly
> (testing on non-existence of RPMTAG_SOURCERPM is sufficient to
> detect a srpm).

in mandriva, we needed:

# rpm 4.4.6 killed SOURCEPACKAGE, but this was announce lately, and will
# break all older tools that was using it (mdv 2006, 2005) which need this
# tag to know it is possible to rebuild a src.rpm
# This patch readd the tag into src.rpm
Patch88: rpm-4.4.6-SOURCEPACKAGE.patch

which allowed rpm 4.4.2 to handle the .src.rpm created with >=4.4.6
correctly:
http://cvs.mandriva.com/cgi-bin/viewvc.cgi/SPECS/rpm/rpm.spec?r1=1.217&r2=1.218

--- build/pack.c        3 Apr 2006 14:50:54 -0000       2.211.2.6
+++ build/pack.c        11 Jun 2006 15:38:20 -0000
@@ -971,6 +971,7 @@ int packageSources(Spec spec)
 {
     struct cpioSourceArchive_s csabuf;
     CSA_t csa = &csabuf;
+    int_32 one = 1;
     int rc;
 
     /* Add some cruft */
@@ -980,6 +981,8 @@ int packageSources(Spec spec)
                   RPM_STRING_TYPE, buildHost(), 1);
     (void) headerAddEntry(spec->sourceHeader, RPMTAG_BUILDTIME,
                   RPM_INT32_TYPE, getBuildTime(), 1);
+    (void) headerAddEntry(spec->sourceHeader, RPMTAG_SOURCEPACKAGE, 
+            RPM_INT32_TYPE, &one, 1);
 
     (void) genSourceRpmName(spec);
Received on Mon Dec 31 17:42:26 2007
Driven by Jeff Johnson and the RPM project team.
Hosted by OpenPKG and Ralf S. Engelschall.
Powered by FreeBSD and OpenPKG.