teknoraver / rpms / rpm

Forked from rpms/rpm 4 months ago
Clone
Blob Blame History Raw
commit 5e0f3e6298bde0c6e44bd4db956a7287f9ff3f88
Author: Panu Matilainen <pmatilai@redhat.com>
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);