Blame auto-config-update-aarch64-ppc64le.diff

ef05fe
Index: build/parseSpec.c
ef05fe
===================================================================
ef05fe
--- build/parseSpec.c.orig
ef05fe
+++ build/parseSpec.c
ef05fe
@@ -942,7 +942,30 @@ static rpmSpec parseSpec(const char *spe
Bernhard M. Wiedemann eb41fd
 					  &(spec->buildrequires));
Bernhard M. Wiedemann eb41fd
 	    break;
Bernhard M. Wiedemann eb41fd
 	case PART_BUILD:
Bernhard M. Wiedemann eb41fd
-	    parsePart = parseSimpleScript(spec, "%build", &(spec->build));
Bernhard M. Wiedemann eb41fd
+	    if (spec->build) {
Bernhard M. Wiedemann eb41fd
+		rpmlog(RPMLOG_ERR, _("line %d: second %s\n"), spec->lineNum, "%build");
Bernhard M. Wiedemann eb41fd
+		parsePart = PART_ERROR;
Bernhard M. Wiedemann eb41fd
+		break;
Bernhard M. Wiedemann eb41fd
+	    }
Bernhard M. Wiedemann eb41fd
+	    spec->build = newStringBuf();
Bernhard M. Wiedemann eb41fd
+	    appendLineStringBuf(spec->build,
ef05fe
+		"ref=/usr/lib/rpm\n"
ef05fe
+		"mints=0\n"
ef05fe
+		"case $(uname -m) in\n"
ef05fe
+		"    aarch64) mints=20120610;;\n"
ef05fe
+		"    ppc64le) mints=20130610;;\n"
ef05fe
+		"    riscv64) mints=20160911;;\n"
ef05fe
+		"esac\n"
Bernhard M. Wiedemann eb41fd
+		"for s in guess sub; do\n"
Bernhard M. Wiedemann eb41fd
+		"    for c in $(find -maxdepth 8 -name \"config.$s\"); do\n"
Bernhard M. Wiedemann eb41fd
+		"         grep -q config-patches@ $c || continue\n"
ef05fe
+		"         timestamp=$(sed -n \"/^timestamp=/{s///;s/[-'\\\"]//g;p;q;}\" $c)\n"
ef05fe
+		"         test -n \"$timestamp\" || timestamp=0\n"
ef05fe
+		"         test $timestamp -ge $mints || install -m 755 $ref/config.$s $c\n"
Bernhard M. Wiedemann eb41fd
+		"     done\n"
Bernhard M. Wiedemann eb41fd
+		"done\n"
Bernhard M. Wiedemann eb41fd
+	    );
Bernhard M. Wiedemann eb41fd
+	    parsePart = parseLines(spec, STRIP_NOTHING, NULL, &(spec->build));
Bernhard M. Wiedemann eb41fd
 	    break;
Bernhard M. Wiedemann eb41fd
 	case PART_INSTALL:
Bernhard M. Wiedemann eb41fd
 	    parsePart = parseSimpleScript(spec, "%install", &(spec->install));