diff --git a/build/files.c b/build/files.c index fff1544..8e5a731 100644 --- a/build/files.c +++ b/build/files.c @@ -2983,11 +2983,6 @@ int processBinaryFiles(Spec spec, int installSpecialDoc, int test) if (rc == 0) rc = processInterdep(spec); - if (rc == 0) { - const char * strict_deps = getenv("RPM_STRICT_INTERDEPS"); - rc = upgradeInterdep(spec, strict_deps); - } - if (rc == 0) rc = checkFiles(spec); diff --git a/build/interdep.c b/build/interdep.c index bd93730..57b802c 100644 --- a/build/interdep.c +++ b/build/interdep.c @@ -796,98 +796,4 @@ int processInterdep(Spec spec) return 0; } -/* - * Replace odeps and oevr with ndeps and nevr - */ -static -int replaceDeps(Package pkg1, Package pkg2, const char * strict_interdeps) -{ - int rc = RPMRC_OK; - char * name = pkgName(pkg1); - char * evr = headerSprintf(pkg1->header, "%|epoch?{%{epoch}:}|%{version}-%{release}", - rpmTagTable, rpmHeaderFormats, NULL); - char * strictdep = NULL; - - char **reqNv = NULL; - char **reqVv = NULL; - int *reqFv = NULL; - int reqc; - - HGE_t hge = (HGE_t) headerGetEntry; - HME_t hme = (HME_t) headerModifyEntry; - HFD_t hfd = (HFD_t) headerFreeData; - - int ok = hge(pkg2->header, RPMTAG_REQUIRENAME, NULL, (void **) &reqNv, &reqc) && - hge(pkg2->header, RPMTAG_REQUIREVERSION, NULL, (void **) &reqVv, NULL) && - hge(pkg2->header, RPMTAG_REQUIREFLAGS, NULL, (void *) &reqFv, NULL); - if (!ok) { - return RPMRC_OK; - } - - if (pkg1 == pkg2) - goto exit; - - for (int i = 0; i < reqc; i++) { - /* skip strict dependencies */ - if (reqNv[i][0] == '.') - continue; - - if (strcmp(reqNv[i], name) || - strcmp(reqVv[i], evr) || - (reqFv[i] & RPMSENSE_SENSEMASK) != RPMSENSE_EQUAL) - continue; - - if (!strictdep) - strictdep = xasprintf(".%s-%s-%s", strict_interdeps, name, evr); - - reqNv[i] = strictdep; - reqVv[i] = ""; - reqFv[i] = reqFv[i] & ~RPMSENSE_SENSEMASK; - rpmMessage(RPMMESS_NORMAL, - "%s: replacing strict dependency on %s with %s\n", - pkgName(pkg2), name, strictdep); - if (!addReqProv(NULL, pkg1->header, - RPMSENSE_PROVIDES | RPMSENSE_FIND_PROVIDES, - strictdep, 0, 0)) - rpmMessage(RPMMESS_NORMAL, "%s: adding %s to provides\n", name, strictdep); - break; - } - - if (strictdep) { - hme(pkg2->header, RPMTAG_REQUIRENAME, RPM_STRING_ARRAY_TYPE, reqNv, reqc); - hme(pkg2->header, RPMTAG_REQUIREVERSION, RPM_STRING_ARRAY_TYPE, reqVv, reqc); - hme(pkg2->header, RPMTAG_REQUIREFLAGS, RPM_INT32_TYPE, reqFv, reqc); - } - - exit: - reqNv = hfd(reqNv, RPM_STRING_ARRAY_TYPE); - reqVv = hfd(reqVv, RPM_STRING_ARRAY_TYPE); - strictdep = _free(strictdep); - return rc; -} - -int upgradeInterdep(Spec spec, const char * strict_interdeps) -{ - if (strict_interdeps == NULL || !*strict_interdeps) - return RPMRC_OK; - - Package pkg1, pkg2; - - for (pkg1 = spec->packages; pkg1; pkg1 = pkg1->next) { - if (!pkg1->cpioList) - continue; - - for (pkg2 = pkg1->next; pkg2; pkg2 = pkg2->next) { - if (!pkg2->cpioList) - continue; - if (replaceDeps(pkg1, pkg2, strict_interdeps) != RPMRC_OK) - return RPMRC_FAIL; - if (replaceDeps(pkg2, pkg1, strict_interdeps) != RPMRC_OK) - return RPMRC_FAIL; - } - } - - return RPMRC_OK; -} - // ex: set ts=8 sts=4 sw=4 noet: diff --git a/build/interdep.h b/build/interdep.h index a34142c..ea052a9 100644 --- a/build/interdep.h +++ b/build/interdep.h @@ -3,7 +3,5 @@ /* Perform inter-package analysis and optimizations. */ int processInterdep(Spec spec); -/* Replace NEVR-based inter-package dependencies with Identity-based */ -int upgradeInterdep(Spec spec, const char * strict_interdeps); #endif