rpm/rpm-5.4.9-unpackaged_subdirs_terminate_build.patch
2012-08-01 14:59:23 +04:00

66 lines
2.7 KiB
Diff

--- rpm-5.4.9/build/files.c.subdir_terminate~ 2012-05-15 02:17:39.183986877 +0200
+++ rpm-5.4.9/build/files.c 2012-05-15 02:17:39.188986902 +0200
@@ -3025,7 +3025,7 @@ static inline int packagedDir(Package pk
* /A/B/C/D
* Now directories "/A/B" and "/A/B/C" should also be packaged.
*/
-static int pkgUnpackagedSubdirs(Package pkg, size_t buildrootL)
+static int pkgUnpackagedSubdirs(Package pkg, size_t buildrootL, int _unpackaged_subdirs_terminate_build)
/*@globals rpmGlobalMacroContext, h_errno, fileSystem, internalState @*/
/*@modifies pkg->header,
rpmGlobalMacroContext, fileSystem, internalState @*/
@@ -3103,7 +3103,7 @@ static int pkgUnpackagedSubdirs(Package
}
unpackaged = _free(unpackaged);
- rpmlog(RPMLOG_WARNING,
+ rpmlog(_unpackaged_subdirs_terminate_build ? RPMLOG_ERR : RPMLOG_WARNING,
_("Unpackaged subdir(s) in %s:\n%s"),
N, rpmiobStr(list));
@@ -3119,7 +3119,7 @@ static int pkgUnpackagedSubdirs(Package
* @param spec spec file control structure
* @return number of unpackaged subdirectories
*/
-static int checkUnpackagedSubdirs(Spec spec, size_t buildrootL)
+static int checkUnpackagedSubdirs(Spec spec, size_t buildrootL, int _unpackaged_subdirs_terminate_build)
/*@globals rpmGlobalMacroContext, h_errno, fileSystem, internalState @*/
/*@modifies *spec->packages,
rpmGlobalMacroContext, fileSystem, internalState @*/
@@ -3128,7 +3128,7 @@ static int checkUnpackagedSubdirs(Spec s
Package pkg;
for (pkg = spec->packages; pkg; pkg = pkg->next)
- n += pkgUnpackagedSubdirs(pkg, buildrootL);
+ n += pkgUnpackagedSubdirs(pkg, buildrootL, _unpackaged_subdirs_terminate_build);
return n;
}
@@ -3185,12 +3185,16 @@ rpmRC processBinaryFiles(Spec spec, int
if (res == RPMRC_OK) {
int _duplicate_files_terminate_build =
rpmExpandNumeric("%{?_duplicate_files_terminate_build}");
+ int _unpackaged_subdirs_terminate_build =
+ rpmExpandNumeric("%{?_unpackaged_subdirs_terminate_build}");
if (checkUnpackagedFiles(spec) > 0)
res = RPMRC_FAIL;
if (checkDuplicateFiles(spec, buildrootL, _duplicate_files_terminate_build) > 0 &&
_duplicate_files_terminate_build)
res = RPMRC_FAIL;
- (void) checkUnpackagedSubdirs(spec, buildrootL);
+ if (checkUnpackagedSubdirs(spec, buildrootL, _unpackaged_subdirs_terminate_build) > 0 &&
+ _unpackaged_subdirs_terminate_build)
+ res = RPMRC_FAIL;
}
return res;
--- rpm-5.4.9/macros/mandriva.in.subdir_terminate~ 2012-05-15 02:17:39.000000000 +0200
+++ rpm-5.4.9/macros/mandriva.in 2012-05-15 02:18:18.522186893 +0200
@@ -123,6 +123,7 @@ end\
%_binary_payload w5.xzdio
%_duplicate_files_terminate_build 1
+%_unpackaged_subdirs_terminate_build 0
%_enable_debug_packages 1