Sophie

Sophie

distrib > Mandriva > 2009.0 > i586 > by-pkgid > 07e56ec36f5b6db53acae40086fcf8ad > files > 10

rpm-4.4.2.3-20mnb2.src.rpm

diff -p -up rpm-4.4.2.2/build/parsePreamble.c.defaultbuildroot rpm-4.4.2.2/build/parsePreamble.c
--- rpm-4.4.2.2/build/parsePreamble.c.defaultbuildroot	2007-12-18 17:59:38.000000000 +0100
+++ rpm-4.4.2.2/build/parsePreamble.c	2007-12-18 17:59:43.000000000 +0100
@@ -955,6 +955,21 @@ int parsePreamble(Spec spec, int initial
 	}
     }
 
+    if (!spec->gotBuildRootURL && !spec->buildRootURL) {
+        char *buildRootURL = rpmGenPath(NULL, "%{?buildroot:%{buildroot}}", NULL);
+	if (!buildRootURL || strcmp(buildRootURL, "/") == 0) {
+	    _free(buildRootURL);
+	    buildRootURL = rpmGenPath(NULL, "%{?defaultbuildroot:%{defaultbuildroot}}", NULL);
+	    addMacro(spec->macros, "buildroot", NULL, buildRootURL, RMIL_SPEC);
+	}
+	if (!buildRootURL || strcmp(buildRootURL, "/") == 0) {
+	    _free(buildRootURL);
+	} else {
+	    spec->buildRootURL = buildRootURL;
+	    spec->gotBuildRootURL = 1;
+	}
+    }
+
     /* Do some final processing on the header */
     
     if (!spec->gotBuildRootURL && spec->buildRootURL) {