From: Michael Andres Date: Fri, 19 Dec 2014 08:03:17 +0000 (+0100) Subject: add product:regflavor attribute [bnc#896224] X-Git-Tag: 0.6.7^2~1 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=1debbac7c77e052bcdd8a61bd912eb7c8182039b;p=thirdparty%2Flibsolv.git add product:regflavor attribute [bnc#896224] --- diff --git a/ext/repo_autopattern.c b/ext/repo_autopattern.c index 5132394f..7edfc6ce 100644 --- a/ext/repo_autopattern.c +++ b/ext/repo_autopattern.c @@ -377,6 +377,8 @@ repo_add_autopattern(Repo *repo, int flags) repodata_set_str(data, s2 - pool->solvables, PRODUCT_SHORTLABEL, newname); else if (!strcmp(pn, "product-register-target()") && evr) repodata_set_str(data, s2 - pool->solvables, PRODUCT_REGISTER_TARGET, newname); + else if (!strcmp(pn, "product-register-flavor()") && evr) + repodata_set_str(data, s2 - pool->solvables, PRODUCT_REGISTER_FLAVOR, newname); else if (!strcmp(pn, "product-type()") && evr) repodata_set_str(data, s2 - pool->solvables, PRODUCT_TYPE, newname); else if (!strcmp(pn, "product-cpeid()") && evr) diff --git a/ext/repo_products.c b/ext/repo_products.c index f7a36e11..cb69c493 100644 --- a/ext/repo_products.c +++ b/ext/repo_products.c @@ -60,6 +60,7 @@ enum state { STATE_REGISTER, STATE_TARGET, STATE_REGRELEASE, + STATE_REGFLAVOR, STATE_PRODUCTLINE, STATE_REGUPDATES, STATE_REGUPDREPO, @@ -97,6 +98,7 @@ static struct stateswitch stateswitches[] = { { STATE_LINGUAS, "lang", STATE_LANG, 0 }, { STATE_REGISTER, "target", STATE_TARGET, 1 }, { STATE_REGISTER, "release", STATE_REGRELEASE, 1 }, + { STATE_REGISTER, "flavor", STATE_REGFLAVOR, 1 }, { STATE_REGISTER, "updates", STATE_REGUPDATES, 0 }, { STATE_REGUPDATES, "repository", STATE_REGUPDREPO, 0 }, { NUMSTATES } @@ -366,6 +368,9 @@ endElement(void *userData, const char *name) case STATE_REGRELEASE: repodata_set_str(pd->data, pd->handle, PRODUCT_REGISTER_RELEASE, pd->content); break; + case STATE_REGFLAVOR: + repodata_set_str(pd->data, pd->handle, PRODUCT_REGISTER_FLAVOR, pd->content); + break; case STATE_CPEID: if (*pd->content) repodata_set_str(pd->data, pd->handle, SOLVABLE_CPEID, pd->content); diff --git a/src/knownid.h b/src/knownid.h index 45a290f4..a2291215 100644 --- a/src/knownid.h +++ b/src/knownid.h @@ -256,6 +256,8 @@ KNOWNID(SIGNATURE_TIME, "signature:time"), KNOWNID(SIGNATURE_EXPIRES, "signature:expires"), KNOWNID(SIGNATURE_DATA, "signature:data"), +KNOWNID(PRODUCT_REGISTER_FLAVOR, "product:regflavor"), /* installed and available product */ + KNOWNID(ID_NUM_INTERNAL, 0) #ifdef KNOWNID_INITIALIZE