diff --git a/build/interdep.c b/build/interdep.c index a8e10db..ecbc961 100644 --- a/build/interdep.c +++ b/build/interdep.c @@ -773,18 +773,20 @@ void pruneExtraRDeps(struct Req *r, Spec spec) int processInterdep(Spec spec) { - struct Req *r = makeRequires(spec, 1); - pruneDebuginfoSrc(r, spec); - liftDebuginfoDeps(r, spec); - r = freeRequires(r); - - r = makeRequires(spec, 2); - int optlevel = rpmExpandNumeric("%{?_deps_optimization}%{?!_deps_optimization:2}"); - if (optlevel >= 2) { + struct Req *r; + int optlevel = rpmExpandNumeric("%{?_deps_optimization}%{?!_deps_optimization:3}"); + if (optlevel >= 1) { + r = makeRequires(spec, 1); + pruneDebuginfoSrc(r, spec); + liftDebuginfoDeps(r, spec); + r = freeRequires(r); + } + if (optlevel >= 3) { + r = makeRequires(spec, 2); pruneExtraDeps(r, spec); pruneExtraRDeps(r, spec); + r = freeRequires(r); } - r = freeRequires(r); return 0; } diff --git a/build/reqprov.c b/build/reqprov.c index 46b9a88..049867e 100644 --- a/build/reqprov.c +++ b/build/reqprov.c @@ -15,8 +15,12 @@ deps_opt_enabled (void) if (!initialized) { + int optlevel = rpmExpandNumeric("%{?_deps_optimization}%{?!_deps_optimization:2}"); initialized = 1; - enabled = rpmExpandNumeric ("%{?_deps_optimization}%{?!_deps_optimization:1}"); + if (optlevel >= 2) + { + enabled = 1; + } } return enabled;