]> git.pld-linux.org Git - packages/rpm.git/blob - rpm-5.4.10-duplicate_files_terminate_build.patch
- release 40 (by relup.sh)
[packages/rpm.git] / rpm-5.4.10-duplicate_files_terminate_build.patch
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.037944 seconds and 3 git commands to generate.