From 2e5e0624337eb589880b3f7a1add5684f65f19b9 Mon Sep 17 00:00:00 2001 From: Panu Matilainen Date: Wed, 17 Sep 2014 09:59:57 +0300 Subject: [PATCH] - Reduce the double separator spec parse error into a warning (#1065563) --- rpm-4.12.0-double-separator-warning.patch | 42 +++++++++++++++++++++++ rpm.spec | 6 +++- 2 files changed, 47 insertions(+), 1 deletion(-) create mode 100644 rpm-4.12.0-double-separator-warning.patch diff --git a/rpm-4.12.0-double-separator-warning.patch b/rpm-4.12.0-double-separator-warning.patch new file mode 100644 index 0000000..cd7e3c1 --- /dev/null +++ b/rpm-4.12.0-double-separator-warning.patch @@ -0,0 +1,42 @@ +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.spec b/rpm.spec index fad5ada..b287f6e 100644 --- a/rpm.spec +++ b/rpm.spec @@ -27,7 +27,7 @@ Summary: The RPM package management system Name: rpm Version: %{rpmver} -Release: %{?snapver:0.%{snapver}.}1%{?dist} +Release: %{?snapver:0.%{snapver}.}2%{?dist} Group: System Environment/Base Url: http://www.rpm.org/ Source0: http://rpm.org/releases/rpm-4.12.x/%{name}-%{srcver}.tar.bz2 @@ -48,6 +48,7 @@ Patch3: rpm-4.9.90-no-man-dirs.patch Patch4: rpm-4.8.1-use-gpg2.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 @@ -526,6 +527,9 @@ exit 0 %doc doc/librpm/html/* %changelog +* Wed Sep 17 2014 Panu Matilainen - 4.12.0-2 +- Reduce the double separator spec parse error into a warning (#1065563) + * Tue Sep 16 2014 Panu Matilainen - 4.12.0-1 - Update to rpm-4.12.0 final (http://rpm.org/wiki/Releases/4.12.0)