[Rpm-maint] [PATCH v2 1/5] Add new Collections preamble tag

Steve Lawrence slawrence at tresys.com
Mon Jun 21 21:04:36 UTC 2010


This adds a new Collections preamble tag, which contains a space separated list
of collection names that the package belongs to.
---
 build/parsePreamble.c |    4 ++++
 lib/rpmtag.h          |    1 +
 tests/rpmgeneral.at   |    1 +
 3 files changed, 6 insertions(+), 0 deletions(-)

diff --git a/build/parsePreamble.c b/build/parsePreamble.c
index a4a8750..b2a4670 100644
--- a/build/parsePreamble.c
+++ b/build/parsePreamble.c
@@ -663,6 +663,9 @@ static int handlePreambleTag(rpmSpec spec, Package pkg, rpmTag tag,
 	    spec->BANames = _free(spec->BANames);
 	break;
     }
+    case RPMTAG_COLLECTIONS:
+	addOrAppendListEntry(pkg->header, tag, field);
+	break;
     default:
 	rpmlog(RPMLOG_ERR, _("Internal error: Bogus tag %d\n"), tag);
 	return RPMRC_FAIL;
@@ -730,6 +733,7 @@ static struct PreambleRec_s const preambleList[] = {
     {RPMTAG_DOCDIR,		0, 0, LEN_AND_STR("docdir")},
     {RPMTAG_DISTTAG,		0, 0, LEN_AND_STR("disttag")},
     {RPMTAG_BUGURL,		0, 0, LEN_AND_STR("bugurl")},
+    {RPMTAG_COLLECTIONS,	0, 0, LEN_AND_STR("collections")},
     {0, 0, 0, 0}
 };
 
diff --git a/lib/rpmtag.h b/lib/rpmtag.h
index 6fd4b0f..2a8a9d6 100644
--- a/lib/rpmtag.h
+++ b/lib/rpmtag.h
@@ -265,6 +265,7 @@ typedef enum rpmTag_e {
     RPMTAG_BUILDOBSOLETES	= 1194, /* internal (unimplemented) */
     RPMTAG_DBINSTANCE		= 1195, /* i extension */
     RPMTAG_NVRA			= 1196, /* s extension */
+    RPMTAG_COLLECTIONS		= 1197, /* s[] list of collections */
     RPMTAG_FILENAMES		= 5000, /* s[] extension */
     RPMTAG_FILEPROVIDE		= 5001, /* s[] extension */
     RPMTAG_FILEREQUIRE		= 5002, /* s[] extension */
diff --git a/tests/rpmgeneral.at b/tests/rpmgeneral.at
index 86e4537..4c33f29 100644
--- a/tests/rpmgeneral.at
+++ b/tests/rpmgeneral.at
@@ -80,6 +80,7 @@ CHANGELOGNAME
 CHANGELOGTEXT
 CHANGELOGTIME
 CLASSDICT
+COLLECTIONS
 CONFLICTFLAGS
 CONFLICTNAME
 CONFLICTS
-- 
1.6.2.5



More information about the Rpm-maint mailing list