<html dir="ltr">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style id="owaParaStyle" type="text/css">
<!--
p
        {margin-top:0;
        margin-bottom:0}
-->
P {margin-top:0;margin-bottom:0;}</style>
</head>
<body ocsi="0" fpstyle="1">
<div style="direction: ltr; font-family: Tahoma; color: rgb(0, 0, 0); font-size: 13px;">
<font color="black" face="Tahoma" size="1"><span dir="ltr" style="font-size: 13px;"><span style="font-family: Courier New;">- Adding MSSF manifest and domain tags into lib/rpmtag.h.<br>
- Adding file attribute for the manifest file in lib/rpmfi.h.<br>
Note that it's exactly like RPMFILE_POLICY (and even has the<br>
same id) which was unfortunately removed in selinux collections<br>
plugin pathes.<br>
---<br>
build/files.c | 12 +++++++++++-<br>
build/parsePreamble.c | 1 +<br>
lib/rpmfi.h | 1 +<br>
lib/rpmtag.h | 2 ++<br>
4 files changed, 15 insertions(+), 1 deletions(-)<br>
<br>
diff --git a/build/files.c b/build/files.c<br>
index 8d7fb2e..c86119c 100644<br>
--- a/build/files.c<br>
+++ b/build/files.c<br>
@@ -847,6 +847,7 @@ static VFA_t virtualFileAttributes[] = {<br>
{ "%readme", 0, RPMFILE_README },<br>
{ "%license", 0, RPMFILE_LICENSE },<br>
{ "%pubkey", 0, RPMFILE_PUBKEY },<br>
+ { "%mssf", 0, RPMFILE_MSSF },<br>
{ NULL, 0, 0 }<br>
};<br>
<br>
@@ -914,7 +915,7 @@ static rpmRC parseForSimple(rpmSpec spec, Package pkg, char * buf,<br>
if (fl->currentFlags & RPMFILE_DOC) {<br>
rstrscat(&specialDocBuf, " ", s, NULL);<br>
} else<br>
- if (fl->currentFlags & RPMFILE_PUBKEY)<br>
+ if (fl->currentFlags & (RPMFILE_PUBKEY|RPMFILE_MSSF))<br>
{<br>
*fileName = s;<br>
} else {<br>
@@ -1612,6 +1613,13 @@ static rpmRC processMetadataFile(Package pkg, FileList fl,<br>
apkt = pgpArmorWrap(PGPARMOR_PUBKEY, pkt, pktlen);<br>
break;<br>
}<br>
+ case RPMTAG_MSSFMANIFEST:<br>
+ if ((xx = rpmioSlurp(fn, &pkt, &pktlen)) != 0 || pkt == NULL) {<br>
+ rpmlog(RPMLOG_ERR, _("%s: MSSF manifest file read failed.\n"), fn);<br>
+ goto exit;<br>
+ }<br>
+ apkt = b64encode(pkt, pktlen, -1);<br>
+ break;<br>
}<br>
<br>
if (!apkt) {<br>
@@ -1856,6 +1864,8 @@ static rpmRC processPackageFiles(rpmSpec spec, rpmBuildPkgFlags pkgFlags,<br>
dupAttrRec(&fl.cur_ar, specialDocAttrRec);<br>
} else if (fl.currentFlags & RPMFILE_PUBKEY) {<br>
(void) processMetadataFile(pkg, &fl, fileName, RPMTAG_PUBKEYS);<br>
+ } else if (fl.currentFlags & RPMFILE_MSSF) {<br>
+ (void) processMetadataFile(pkg, &fl, fileName, RPMTAG_MSSFMANIFEST);<br>
} else {<br>
(void) processBinaryFile(pkg, &fl, fileName);<br>
}<br>
diff --git a/build/parsePreamble.c b/build/parsePreamble.c<br>
index 3d8b859..44703c8 100644<br>
--- a/build/parsePreamble.c<br>
+++ b/build/parsePreamble.c<br>
@@ -894,6 +894,7 @@ static struct PreambleRec_s const preambleList[] = {<br>
{RPMTAG_BUGURL, 0, 0, LEN_AND_STR("bugurl")},<br>
{RPMTAG_COLLECTIONS, 0, 0, LEN_AND_STR("collections")},<br>
{RPMTAG_ORDERFLAGS, 2, 0, LEN_AND_STR("orderwithrequires")},<br>
+ {RPMTAG_MSSFMANIFEST, 0, 0, LEN_AND_STR("mssf")},<br>
{0, 0, 0, 0}<br>
};<br>
<br>
diff --git a/lib/rpmfi.h b/lib/rpmfi.h<br>
index 3dcf61b..56fb87e 100644<br>
--- a/lib/rpmfi.h<br>
+++ b/lib/rpmfi.h<br>
@@ -60,6 +60,7 @@ enum rpmfileAttrs_e {<br>
RPMFILE_EXCLUDE = (1 << 9), /*!< from %%exclude, internal */<br>
RPMFILE_UNPATCHED = (1 << 10), /*!< placeholder (SuSE) */<br>
RPMFILE_PUBKEY = (1 << 11), /*!< from %%pubkey */<br>
+ RPMFILE_MSSF = (1 << 12), /*!< from %%mssf */<br>
};<br>
<br>
typedef rpmFlags rpmfileAttrs;<br>
diff --git a/lib/rpmtag.h b/lib/rpmtag.h<br>
index 50939c6..5e6b609 100644<br>
--- a/lib/rpmtag.h<br>
+++ b/lib/rpmtag.h<br>
@@ -299,6 +299,8 @@ typedef enum rpmTag_e {<br>
RPMTAG_ORDERNAME = 5035, /* s[] */<br>
RPMTAG_ORDERVERSION = 5036, /* s[] */<br>
RPMTAG_ORDERFLAGS = 5037, /* i[] */<br>
+ RPMTAG_MSSFMANIFEST = 5038, /* s[] mssf manifest file */<br>
+ RPMTAG_MSSFDOMAIN = 5039, /* s[] mssf source domain */<br>
<br>
RPMTAG_FIRSTFREE_TAG /*!< internal */<br>
} rpmTag;<br>
-- <br>
1.7.2.3<br>
<br>
</span><br>
</span></font>
<div style="font-family: Times New Roman; color: rgb(0, 0, 0); font-size: 16px;">
<div>
<div style="direction: ltr; font-family: Tahoma; color: rgb(0, 0, 0); font-size: 13px;">
</div>
</div>
</div>
</div>
</body>
</html>