${AWK} '/[\t ](RPMTAG_[A-Z0-9]*)[ \t]+([0-9]*)/ && !/internal/ {
tt = "NULL"
ta = "ANY"
+ ext = "0"
if ($5 == "c") {
tt = "CHAR"
ta = "SCALAR"
tt = "BIN"
ta = "SCALAR"
}
+ if ($6 == "extension") {
+ ext = "1"
+ }
if ($2 == "=") {
tnarg = $1
} else {
tn = substr(tnarg, index(tnarg, "_") + 1)
sn = (substr(tn, 1, 1) tolower(substr(tn, 2)))
if ($2 == "=") {
- printf(" { \"%s\", \"%s\", %s RPM_%s_TYPE + RPM_%s_RETURN_TYPE },\n", tnarg, sn, $3, tt, ta)
+ printf(" { \"%s\", \"%s\", %s RPM_%s_TYPE + RPM_%s_RETURN_TYPE, %d },\n", tnarg, sn, $3, tt, ta, ext)
} else {
- printf(" { \"%s\", \"%s\", %s, RPM_%s_TYPE + RPM_%s_RETURN_TYPE },\n", tnarg, sn, $3, tt, ta)
+ printf(" { \"%s\", \"%s\", %s, RPM_%s_TYPE + RPM_%s_RETURN_TYPE, %d },\n", tnarg, sn, $3, tt, ta, ext)
}
}' < $1 | sort
cat << EOF
- { NULL, NULL, 0, 0 }
+ { NULL, NULL, 0, 0, 0 }
};
const struct headerTagTableEntry_s * const rpmTagTable = rpmTagTbl;
RPMTAG_REQUIREATTRSX = 1192, /* i[] (unimplemented) */
RPMTAG_BUILDPROVIDES = 1193, /* internal */
RPMTAG_BUILDOBSOLETES = 1194, /* internal */
+ RPMTAG_FILENAMES = 5000, /* s[] extension */
+ RPMTAG_FILEPROVIDE = 5001, /* s[] extension */
+ RPMTAG_FILEREQUIRE = 5002, /* s[] extension */
+ RPMTAG_FSNAMES = 5003, /* s[] extension */
+ RPMTAG_FSSIZES = 5004, /* i[] extension */
+ RPMTAG_TRIGGERCONDS = 5005, /* s[] extension */
+ RPMTAG_TRIGGERTYPE = 5006, /* s[] extension */
RPMTAG_FIRSTFREE_TAG /*!< internal */
} rpmTag;