]> git.pld-linux.org Git - packages/rpm.git/blame - rpm-5.4.10-duplicate_files_terminate_build.patch
- release 47
[packages/rpm.git] / rpm-5.4.10-duplicate_files_terminate_build.patch
CommitLineData
70f8787d
JR
1--- rpm-5.4.10/build/files.c.dups_terminate~ 2012-07-10 20:09:01.125249185 +0200
2+++ rpm-5.4.10/build/files.c 2012-07-10 20:09:01.135249061 +0200
3@@ -2917,7 +2917,8 @@ exit:
4
5 /* auxiliary function for checkDuplicateFiles() */
6 /* XXX need to pass Header because fi->h is NULL */
7-static int fiIntersect(/*@null@*/ rpmfi fi1, /*@null@*/ rpmfi fi2, size_t buildrootL)
8+static int fiIntersect(/*@null@*/ rpmfi fi1, /*@null@*/ rpmfi fi2,
9+ size_t buildrootL, int _duplicate_files_terminate_build)
10 /*@globals internalState @*/
11 /*@modifies fi1, fi2, internalState @*/
12 {
13@@ -2955,7 +2956,7 @@ static int fiIntersect(/*@null@*/ rpmfi
14 he->tag = RPMTAG_NVRA;
15 N2 = (headerGet(fi2->h, he, 0) ? he->p.str : NULL);
16
17- rpmlog(RPMLOG_WARNING,
18+ rpmlog(_duplicate_files_terminate_build ? RPMLOG_ERR : RPMLOG_WARNING,
19 _("File(s) packaged into both %s and %s:\n%s"),
20 N1, N2, rpmiobStr(dups));
21
22@@ -2972,7 +2973,8 @@ static int fiIntersect(/*@null@*/ rpmfi
23 * @param spec spec file control structure
24 * @return number of duplicate files
25 */
26-static int checkDuplicateFiles(Spec spec, size_t buildrootL)
27+static int checkDuplicateFiles(Spec spec, size_t buildrootL,
28+ int _duplicate_files_terminate_build)
29 /*@globals rpmGlobalMacroContext, h_errno, fileSystem, internalState @*/
30 /*@modifies *spec->packages,
31 rpmGlobalMacroContext, fileSystem, internalState @*/
32@@ -2997,7 +2999,7 @@ static int checkDuplicateFiles(Spec spec
33 #endif
34 if (fi2 == NULL) continue;
35 (void) rpmfiSetHeader(fi2, pkg2->header);
36- n += fiIntersect(fi1, fi2, buildrootL);
37+ n += fiIntersect(fi1, fi2, buildrootL, _duplicate_files_terminate_build);
38 (void) rpmfiSetHeader(fi2, NULL);
39 fi2 = rpmfiFree(fi2);
40 }
41@@ -3181,9 +3183,13 @@ rpmRC processBinaryFiles(Spec spec, int
42 }
43
44 if (res == RPMRC_OK) {
45+ int _duplicate_files_terminate_build =
46+ rpmExpandNumeric("%{?_duplicate_files_terminate_build}");
47 if (checkUnpackagedFiles(spec) > 0)
48 res = RPMRC_FAIL;
49- (void) checkDuplicateFiles(spec, buildrootL);
50+ if (checkDuplicateFiles(spec, buildrootL, _duplicate_files_terminate_build) > 0 &&
51+ _duplicate_files_terminate_build)
52+ res = RPMRC_FAIL;
53 (void) checkUnpackagedSubdirs(spec, buildrootL);
54 }
55
56--- rpm-5.4.10/macros/mandriva.in.dups_terminate~ 2012-05-19 22:35:44.000000000 +0200
57+++ rpm-5.4.10/macros/mandriva.in 2012-07-10 20:13:41.582742985 +0200
58@@ -126,6 +126,9 @@ end\
59 # use XZ to compress binary packages:
60 %_binary_payload w5.xzdio
61
62+%_duplicate_files_terminate_build 1
63+
64+
65 %_build_pkgcheck_set /usr/bin/rpmlint -T -f %{_sourcedir}/%{name}.rpmlintrc
66 %_build_pkgcheck_srpm /usr/bin/rpmlint -T -f %{_sourcedir}/%{name}.rpmlintrc
67 %_nonzero_exit_pkgcheck_terminate_build 1
This page took 0.122762 seconds and 4 git commands to generate.