From 2176e2752d6a3e4c66acc86e28f3d27fe9ae092e Mon Sep 17 00:00:00 2001 From: Panu Matilainen Date: Thu, 18 Sep 2014 14:25:40 +0300 Subject: [PATCH] - Update to rpm-4.12.0.1 final (http://rpm.org/wiki/Releases/4.12.0.1) - Temporary workaround payload size mismatch issue in rpm2cpio (#1142949) --- .gitignore | 1 + rpm-4.12.0-double-separator-warning.patch | 42 ----------------------- rpm-4.12.0-rpm2cpio-hack.patch | 18 ++++++++++ rpm.spec | 11 ++++-- sources | 2 +- 5 files changed, 28 insertions(+), 46 deletions(-) delete mode 100644 rpm-4.12.0-double-separator-warning.patch create mode 100644 rpm-4.12.0-rpm2cpio-hack.patch diff --git a/.gitignore b/.gitignore index 7f75177..7187464 100644 --- a/.gitignore +++ b/.gitignore @@ -17,3 +17,4 @@ /rpm-4.12.0-beta1.tar.bz2 /rpm-4.12.0-rc1.tar.bz2 /rpm-4.12.0.tar.bz2 +/rpm-4.12.0.1.tar.bz2 diff --git a/rpm-4.12.0-double-separator-warning.patch b/rpm-4.12.0-double-separator-warning.patch deleted file mode 100644 index cd7e3c1..0000000 --- a/rpm-4.12.0-double-separator-warning.patch +++ /dev/null @@ -1,42 +0,0 @@ -commit 5e0f3e6298bde0c6e44bd4db956a7287f9ff3f88 -Author: Panu Matilainen -Date: Wed Sep 17 09:47:54 2014 +0300 - - Turn invalid double separator error into a warning - - - As hysterical as it seems, people keep banging their heads into this: - older distros have these invalid dependencies deployed etc and people - do expect to create srpms and do test-builds on newer distros they're - running themselves. Which, put that way, seems rather reasonable... - - For history reference, the sanity check was originally introduced in - commit b2cf1471bbe2c35e3c36510a9e3f59919d8ed2c8 and - 67ccf8d99630f4edad0ea16dddaca0a3355fba00, - - Backported from commit 1b3f7547c532b1f5ad68228571f1716d5be5b455 - -diff --git a/build/parseReqs.c b/build/parseReqs.c -index 1427111..3cf1ce0 100644 ---- a/build/parseReqs.c -+++ b/build/parseReqs.c -@@ -40,7 +40,6 @@ static int checkSep(const char *s, char c, char **emsg) - const char *sep = strchr(s, c); - if (sep && strchr(sep + 1, c)) { - rasprintf(emsg, "Invalid version (double separator '%c'): %s", c, s); -- return 1; - } - return 0; - } -@@ -198,11 +197,12 @@ rpmRC parseRCPOT(rpmSpec spec, Package pkg, const char *field, rpmTagVal tagN, - - exit: - if (emsg) { -+ int lvl = (rc == RPMRC_OK) ? RPMLOG_WARNING : RPMLOG_ERR; - /* Automatic dependencies don't relate to spec lines */ - if (tagflags & (RPMSENSE_FIND_REQUIRES|RPMSENSE_FIND_PROVIDES)) { -- rpmlog(RPMLOG_ERR, "%s: %s\n", emsg, r); -+ rpmlog(lvl, "%s: %s\n", emsg, r); - } else { -- rpmlog(RPMLOG_ERR, _("line %d: %s: %s\n"), -+ rpmlog(lvl, _("line %d: %s: %s\n"), - spec->lineNum, emsg, spec->line); - } - free(emsg); diff --git a/rpm-4.12.0-rpm2cpio-hack.patch b/rpm-4.12.0-rpm2cpio-hack.patch new file mode 100644 index 0000000..38c7dbd --- /dev/null +++ b/rpm-4.12.0-rpm2cpio-hack.patch @@ -0,0 +1,18 @@ +diff --git a/rpm2cpio.c b/rpm2cpio.c +index 89ebdfa..ae999ff 100644 +--- a/rpm2cpio.c ++++ b/rpm2cpio.c +@@ -84,7 +84,12 @@ int main(int argc, char *argv[]) + exit(EXIT_FAILURE); + } + +- rc = (ufdCopy(gzdi, fdo) == payload_size) ? EXIT_SUCCESS : EXIT_FAILURE; ++ /* ++ * XXX HACK for #1142949: should be equality test, but archive size ++ * short by cpio trailer size in packages built with rpm 4.12.0 ++ * and its pre-releases. ++ */ ++ rc = (ufdCopy(gzdi, fdo) >= payload_size) ? EXIT_SUCCESS : EXIT_FAILURE; + + Fclose(fdo); + diff --git a/rpm.spec b/rpm.spec index b287f6e..1002f7d 100644 --- a/rpm.spec +++ b/rpm.spec @@ -15,7 +15,7 @@ %define rpmhome /usr/lib/rpm -%define rpmver 4.12.0 +%define rpmver 4.12.0.1 #define snapver rc1 %define srcver %{rpmver}%{?snapver:-%{snapver}} %define eggver %{rpmver}%{?snapver:_%{snapver}} @@ -27,7 +27,7 @@ Summary: The RPM package management system Name: rpm Version: %{rpmver} -Release: %{?snapver:0.%{snapver}.}2%{?dist} +Release: %{?snapver:0.%{snapver}.}1%{?dist} Group: System Environment/Base Url: http://www.rpm.org/ Source0: http://rpm.org/releases/rpm-4.12.x/%{name}-%{srcver}.tar.bz2 @@ -46,9 +46,10 @@ Patch2: rpm-4.9.90-fedora-specspo.patch Patch3: rpm-4.9.90-no-man-dirs.patch # gnupg2 comes installed by default, avoid need to drag in gnupg too Patch4: rpm-4.8.1-use-gpg2.patch +# Temporary band-aid for rpm2cpio whining on payload size mismatch (#1142949) +Patch5: rpm-4.12.0-rpm2cpio-hack.patch # Patches already upstream: -Patch100: rpm-4.12.0-double-separator-warning.patch # These are not yet upstream Patch302: rpm-4.7.1-geode-i686.patch @@ -527,6 +528,10 @@ exit 0 %doc doc/librpm/html/* %changelog +* Thu Sep 18 2014 Panu Matilainen - 4.12.0.1-1 +- Update to rpm-4.12.0.1 final (http://rpm.org/wiki/Releases/4.12.0.1) +- Temporary workaround payload size mismatch issue in rpm2cpio (#1142949) + * Wed Sep 17 2014 Panu Matilainen - 4.12.0-2 - Reduce the double separator spec parse error into a warning (#1065563) diff --git a/sources b/sources index 8e6f228..df6b589 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -cfa6a605d3f21219a689b0fc2b0f1bcc rpm-4.12.0.tar.bz2 +c06a691765252d2b381a7942a9669856 rpm-4.12.0.1.tar.bz2