Blob Blame History Raw
commit eacb69f779cc5fd7b651d7a7cf450b327e5735f8
Author: Panu Matilainen <pmatilai@redhat.com>
Date:   Tue Jun 11 09:51:48 2013 +0300

    Fix regression on addressing main package by its name (RhBug:972994)
    
    - The main package name is not known when we start parsing the preamble,
      so newPackage() is called with NULL name and the early callers use
      NULL to find it. Populate the name as soon as we know it so
      various "%foo -n <name>" operations work on the main package too,
      which got broken by commit 9929459f9967ecfe0a05d557bc42531944faa70a.
    (cherry picked from commit fed1298af7911145c953da8910fd5f2f15976374)

diff --git a/build/parsePreamble.c b/build/parsePreamble.c
index f7cc167..e4b1f94 100644
--- a/build/parsePreamble.c
+++ b/build/parsePreamble.c
@@ -670,6 +670,9 @@ static rpmRC handlePreambleTag(rpmSpec spec, Package pkg, rpmTagVal tag,
 	if (rpmCharCheck(spec, field, strlen(field), ".-_+%{}"))
 	   goto exit;
 	headerPutString(pkg->header, tag, field);
+	/* Main pkg name is unknown at the start, populate as soon as we can */
+	if (pkg == spec->packages)
+	    pkg->name = rpmstrPoolId(spec->pool, field, 1);
 	break;
     case RPMTAG_VERSION:
     case RPMTAG_RELEASE: