From 05d01ee1a40f376b761c102685503e60179eb49a Mon Sep 17 00:00:00 2001 From: Panu Matilainen Date: Wed, 13 Aug 2008 06:56:06 +0000 Subject: [PATCH] - fix archivesize tag generation on ppc (#458817) --- rpm-4.5.90-archivesize.patch | 30 ++++++++++++++++++++++++++++++ rpm.spec | 15 ++++++++++++--- 2 files changed, 42 insertions(+), 3 deletions(-) create mode 100644 rpm-4.5.90-archivesize.patch diff --git a/rpm-4.5.90-archivesize.patch b/rpm-4.5.90-archivesize.patch new file mode 100644 index 0000000..3c70aa4 --- /dev/null +++ b/rpm-4.5.90-archivesize.patch @@ -0,0 +1,30 @@ +commit 9068da47a912a6983a12d1024a118c16bcb2a057 +Author: Panu Matilainen +Date: Wed Aug 13 09:43:41 2008 +0300 + + Unbreak payload size tag generation on ppc (rhbz#458817) + +diff --git a/build/pack.c b/build/pack.c +index 41756bb..9891ae8 100644 +--- a/build/pack.c ++++ b/build/pack.c +@@ -496,13 +496,16 @@ rpmRC writeRPM(Header *hdrp, unsigned char ** pkgidp, const char *fileName, + td.tag = payloadtag; + td.count = 1; + if (payloadtag == RPMSIGTAG_PAYLOADSIZE) { ++ rpm_off_t asize = csa->cpioArchiveSize; + td.type = RPM_INT32_TYPE; +- td.data = (rpm_off_t *) &csa->cpioArchiveSize; ++ td.data = &asize; ++ headerPut(sig, &td, HEADERPUT_DEFAULT); + } else { ++ rpm_loff_t asize = csa->cpioArchiveSize; + td.type = RPM_INT64_TYPE; +- td.data = (rpm_loff_t *) &csa->cpioArchiveSize; ++ td.data = &asize; ++ headerPut(sig, &td, HEADERPUT_DEFAULT); + } +- headerPut(sig, &td, HEADERPUT_DEFAULT); + } + + /* Reallocate the signature into one contiguous region. */ diff --git a/rpm.spec b/rpm.spec index 9fd68e4..21abaf9 100644 --- a/rpm.spec +++ b/rpm.spec @@ -18,7 +18,7 @@ Summary: The RPM package management system Name: rpm Version: %{rpmver} -Release: 0.%{snapver}.1 +Release: 0.%{snapver}.2 Group: System Environment/Base Url: http://www.rpm.org/ Source0: http://rpm.org/releases/testing/%{name}-%{srcver}.tar.bz2 @@ -31,8 +31,11 @@ Patch1: rpm-4.5.90-pkgconfig-path.patch # XXX only create provides for pkgconfig and libtool initially Patch100: rpm-4.6.x-no-pkgconfig-reqs.patch +# Already in upstream, remove on next snapshot update +Patch200: rpm-4.5.90-archivesize.patch + # These are not yet upstream -Patch200: rpm-4.5.90-posttrans.patch +Patch300: rpm-4.5.90-posttrans.patch # Partially GPL/LGPL dual-licensed and some bits with BSD # SourceLicense: (GPLv2+ and LGPLv2+ with exceptions) and BSD @@ -160,8 +163,10 @@ that will manipulate RPM packages and databases. %patch1 -p1 -b .pkgconfig-path %patch100 -p1 -b .pkgconfig-deps +%patch200 -p1 -b .archivesize + # needs a bit of upstream love first... -#%patch200 -p1 -b .posttrans +#%patch300 -p1 -b .posttrans %if %{with int_bdb} ln -s db-%{bdbver} db @@ -337,6 +342,10 @@ exit 0 %doc doc/librpm/html/* %changelog +* Wed Aug 13 2008 Panu Matilainen +- 4.5.90-0.git8461.2 +- fix archivesize tag generation on ppc (#458817) + * Fri Aug 08 2008 Panu Matilainen - 4.5.90-0.git8461.1 - new snapshot from upstream