[EPEL-devel] Dealing with cyclic dependencies

Stephen John Smoogen smooge at gmail.com
Tue Sep 8 20:48:09 UTC 2015


On 8 September 2015 at 11:02, 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.
>

Normally you use 1-2 side repos where you put your packages.

Repo 1: All the package for s390 f17 (for example)
Repo 2: All the packages as they are built by your rebuild script.

As the packages in repo 1 are usually lesser EVR than the f18/f19 you
are wanting to rebuild you can usually meet the minimum for a circular
dependency. If you want to really get fancy you can remove packages
from Repo1 as they are rebuilt in Repo2 and then have a Repo3 which is
the rebuild of the rebuilds.

[Somewhere along the way you run out of turtles on the way down...]

> Bryan
>
>
> _______________________________________________
> epel-devel mailing list
> epel-devel at lists.fedoraproject.org
> https://admin.fedoraproject.org/mailman/listinfo/epel-devel
>



-- 
Stephen J Smoogen.


More information about the epel-devel mailing list