[EPEL-devel] Dealing with cyclic dependencies

Dan HorĂ¡k dan at danny.cz
Tue Sep 8 17:56:54 UTC 2015


On Tue, 8 Sep 2015 13:02:41 -0400
"Bryan Chan" <bryan.chan at ca.ibm.com> wrote:

> 
> As I mentioned at last Friday's meeting, we have tried building EPEL 7
> packages on s390x, using a simple script that runs mock on all the
> SRPMs, and populating a local yum repo with the generated binary RPMs.
> SRPMs that fail to build due to missing dependencies will often
> succeed on the second pass, when they find the necessary dependencies
> in the local yum repo. However, RPMs that have cyclic dependencies
> cannot be built this way, when none of the RPMs in the cycle
> currently exists for a new architecture.
> 
> I suppose one could break the cycle by installing dependencies from
> source, and then building one of the RPMs with rpmbuild -bb --nodeps,
> outside of mock. Once the cycle is broken, the remaining packages
> should be possible to build with mock.
> 
> I just wonder if any one knows of a better way to deal with this.

Often those packages contain a "bootstrap" macro that can be set to 1
for an initial build with limited dependencies and to 0 for production
build. And for building for EPEL there should be a older build (source
rpm) available (because it had to bootstrapped also for regular EPEL),
so first rebuild this, and then the latest, or next or whatever is
necessary. The changelog in the spec files and/or history in dist-git
will show the details about the versions.

Do you have a list of those problematic builds?


		Dan


More information about the epel-devel mailing list