]> git.pld-linux.org Git - packages/rpm.git/blame - rpm-exclude.patch
- check for missing files only if no error ocurred during processing packages
[packages/rpm.git] / rpm-exclude.patch
CommitLineData
ae5dedac 1--- rpm-4.0.2/lib/rpmlib.h~ Sun May 26 07:47:04 2002
2+++ rpm-4.0.2/lib/rpmlib.h Sun May 26 07:55:51 2002
3@@ -320,6 +320,7 @@
4 RPMFILE_GHOST = (1 << 6), /*!< from %%ghost */
5 RPMFILE_LICENSE = (1 << 7), /*!< from %%license */
6- RPMFILE_README = (1 << 8) /*!< from %%readme */
7+ RPMFILE_README = (1 << 8), /*!< from %%readme */
8+ RPMFILE_EXCLUDE = (1 << 9) /*!< from %%exclude */
9 } rpmfileAttrs;
10 #define RPMFILE_MULTILIB_SHIFT 9
11 #define RPMFILE_MULTILIB(N) ((N) << RPMFILE_MULTILIB_SHIFT)
12--- rpm-4.0.2/build/files.c~ Sun May 26 07:47:04 2002
13+++ rpm-4.0.2/build/files.c Sun May 26 08:19:18 2002
14@@ -685,6 +685,7 @@
15 { "%dir", 0 }, /* XXX why not RPMFILE_DIR? */
16 { "%doc", RPMFILE_DOC },
17 { "%ghost", RPMFILE_GHOST },
18+ { "%exclude", RPMFILE_EXCLUDE },
19 { "%readme", RPMFILE_README },
20 { "%license", RPMFILE_LICENSE },
21 { "%multilib", 0 },
22@@ -986,12 +987,16 @@
23 clp = *cpioList = xmalloc(sizeof(**cpioList) * fl->fileListRecsUsed);
24
25 for (flp = fl->fileList, count = fl->fileListRecsUsed; count > 0; flp++, count--) {
26- if ((count > 1) && !strcmp(flp->fileURL, flp[1].fileURL)) {
27- rpmError(RPMERR_BADSPEC, _("File listed twice: %s\n"),
28- flp->fileURL);
29- fl->processingFailed = 1;
30- }
31+ if ((count > 1) && !strcmp(flp->fileURL, flp[1].fileURL))
32+ if (!(flp[1].flags & RPMFILE_EXCLUDE)) {
33+ rpmError(RPMERR_BADSPEC, _("File listed twice: %s\n"),
34+ flp->fileURL);
35+ fl->processingFailed = 1;
36+ }
37
38+ /* Skip files that were marked with %exclude. */
39+ if (flp->flags & RPMFILE_EXCLUDE) continue;
40+
41 if (flp->flags & RPMFILE_MULTILIB_MASK)
42 multiLibMask |=
43 (1 << ((flp->flags & RPMFILE_MULTILIB_MASK))
This page took 0.033426 seconds and 4 git commands to generate.