mirror of
https://abf.rosa.ru/djam/rpm.git
synced 2025-02-23 18:33:04 +00:00
73 lines
1.9 KiB
Diff
73 lines
1.9 KiB
Diff
--- ./build/files.c.subpackage_failures~ 2013-05-22 18:56:03.629212893 +0400
|
|
+++ ./build/files.c 2013-05-22 19:07:50.697775045 +0400
|
|
@@ -2513,8 +2513,8 @@
|
|
|
|
files = argvFree(files);
|
|
|
|
- if (fl.processingFailed)
|
|
- goto exit;
|
|
+/* if (fl.processingFailed)
|
|
+ goto exit;*/
|
|
|
|
/* Verify that file attributes scope over hardlinks correctly. */
|
|
if (checkHardLinks(&fl))
|
|
@@ -3147,6 +3147,7 @@
|
|
HE_t he = (HE_t) memset(alloca(sizeof(*he)), 0, sizeof(*he));
|
|
Package pkg;
|
|
rpmRC res = RPMRC_OK;
|
|
+ short failed_once = 0;
|
|
|
|
char *buildroot = rpmExpand("%{?buildroot}", NULL);
|
|
size_t buildrootL = strlen(buildroot);
|
|
@@ -3167,22 +3168,23 @@
|
|
he->p.ptr = _free(he->p.ptr);
|
|
|
|
if ((rc = processPackageFiles(spec, pkg, installSpecialDoc, test))) {
|
|
- res = RPMRC_FAIL;
|
|
- (void) headerMacrosUnload(pkg->header);
|
|
- break;
|
|
+ failed_once = 1;
|
|
}
|
|
|
|
/* Finalize package scriptlets before extracting dependencies. */
|
|
if ((rc = processScriptFiles(spec, pkg))) {
|
|
res = rc;
|
|
(void) headerMacrosUnload(pkg->header);
|
|
- break;
|
|
+ if (res == RPMRC_FAIL) {
|
|
+ failed_once = 1;
|
|
+ }
|
|
+ else {
|
|
+ break;
|
|
+ }
|
|
}
|
|
|
|
if ((rc = rpmfcGenerateDepends(spec, pkg))) {
|
|
- res = RPMRC_FAIL;
|
|
- (void) headerMacrosUnload(pkg->header);
|
|
- break;
|
|
+ failed_once = 1;
|
|
}
|
|
|
|
/* XXX this should be earlier for deps to be entirely sorted. */
|
|
@@ -3191,7 +3193,10 @@
|
|
(void) headerMacrosUnload(pkg->header);
|
|
}
|
|
|
|
- if (res == RPMRC_OK) {
|
|
+ if (failed_once == 1)
|
|
+ res = RPMRC_FAIL;
|
|
+
|
|
+/* if (res == RPMRC_OK) {*/
|
|
int _duplicate_files_terminate_build =
|
|
rpmExpandNumeric("%{?_duplicate_files_terminate_build}");
|
|
int _unpackaged_subdirs_terminate_build =
|
|
@@ -3204,7 +3209,7 @@
|
|
if (checkUnpackagedSubdirs(spec, buildrootL, _unpackaged_subdirs_terminate_build) > 0 &&
|
|
_unpackaged_subdirs_terminate_build)
|
|
res = RPMRC_FAIL;
|
|
- }
|
|
+/* }*/
|
|
|
|
return res;
|
|
}
|