3f11e35589
- handle inter-dependent pkg-config files for requires too (#473814) - error/warn on elf binaries in noarch package in build
48 lines
1.9 KiB
Diff
48 lines
1.9 KiB
Diff
diff -up rpm-4.6.0/build/files.c.noarch-elf-check rpm-4.6.0/build/files.c
|
|
--- rpm-4.6.0/build/files.c.noarch-elf-check 2009-02-06 09:18:53.000000000 +0200
|
|
+++ rpm-4.6.0/build/files.c 2009-02-21 12:53:21.000000000 +0200
|
|
@@ -2174,17 +2174,27 @@ int processBinaryFiles(rpmSpec spec, int
|
|
check_fileList = newStringBuf();
|
|
|
|
for (pkg = spec->packages; pkg != NULL; pkg = pkg->next) {
|
|
- const char *n, *v, *r;
|
|
+ const char *n, *v, *r, *a;
|
|
|
|
if (pkg->fileList == NULL)
|
|
continue;
|
|
|
|
- (void) headerNVR(pkg->header, &n, &v, &r);
|
|
- rpmlog(RPMLOG_NOTICE, _("Processing files: %s-%s-%s\n"), n, v, r);
|
|
+ (void) headerNEVRA(pkg->header, &n, NULL, &v, &r, &a);
|
|
+ rpmlog(RPMLOG_NOTICE, _("Processing files: %s-%s-%s-%s\n"), n, v, r, a);
|
|
|
|
if ((rc = processPackageFiles(spec, pkg, installSpecialDoc, test)) != RPMRC_OK ||
|
|
(rc = rpmfcGenerateDepends(spec, pkg)) != RPMRC_OK)
|
|
goto exit;
|
|
+
|
|
+ if (strcmp(a, "noarch") == 0 && headerGetColor(pkg->header) != 0) {
|
|
+ int terminate = rpmExpandNumeric("%{?_binaries_in_noarch_packages_terminate_build}");
|
|
+ rpmlog(terminate ? RPMLOG_ERR : RPMLOG_WARNING,
|
|
+ _("Arch dependent binaries in noarch package\n"));
|
|
+ if (terminate) {
|
|
+ rc = RPMRC_FAIL;
|
|
+ goto exit;
|
|
+ }
|
|
+ }
|
|
}
|
|
|
|
/* Now we have in fileList list of files from all packages.
|
|
diff -up rpm-4.6.0/macros.in.noarch-elf-check rpm-4.6.0/macros.in
|
|
--- rpm-4.6.0/macros.in.noarch-elf-check 2009-02-21 12:41:20.000000000 +0200
|
|
+++ rpm-4.6.0/macros.in 2009-02-21 12:41:20.000000000 +0200
|
|
@@ -375,6 +375,9 @@ package or when debugging this package.\
|
|
# Note: The default value should be 0 for legacy compatibility.
|
|
%_missing_doc_files_terminate_build 1
|
|
|
|
+# Should binaries in noarch packages terminate a build?
|
|
+%_binaries_in_noarch_packages_terminate_build 1
|
|
+
|
|
#
|
|
# Should an ELF file processed by find-debuginfo.sh having no build ID
|
|
# terminate a build? This is left undefined to disable it and defined to
|