[opensuse-factory] Dealing with circular building dependencies
Hi! The Python package python-aws-sam-translator [1] has recently introduced a build dependency on python-cfn-lint which in turn already depends on python-aws-sam-translator which means there is now a circular build between those two packages which can currently only be broken up by disabling the testsuite in the python-aws-sam-translator. I have filed an upstream issue for that [2] but I'm also interested to hear suggestions how this issue could potentially be resolved in OBS. In Debian, there is something called build profiles [3] which allows packages to be bootstrapped with reduced feature sets to avoid build dependencies which helps breaking circular dependencies, then later rebuild the same package with all features enabled once all build dependencies have been built. Is there something similar I could use in OBS to resolve this issue or does anyone have any other suggestion to resolve this issue? Thanks, Adrian
[1] https://build.opensuse.org/package/show/devel:languages:python:aws/python-aw... [2] https://github.com/awslabs/serverless-application-model/issues/1008 [3] https://wiki.debian.org/BuildProfileSpec N�����r��y隊Z)z{.���r�+�맲��r��z�^�ˬz��N�(�֜��^� ޭ隊Z)z{.���r�+��0�����Ǩ�
On Jul 02 2019, John Paul Adrian Glaubitz <adrian.glaubitz@suse.com> wrote:
Hi!
The Python package python-aws-sam-translator [1] has recently introduced a build dependency on python-cfn-lint which in turn already depends on python-aws-sam-translator which means there is now a circular build between those two packages which can currently only be broken up by disabling the testsuite in the python-aws-sam-translator.
If it's only needed for the testsuite then split it off to a separate multibuild flavor. Andreas. -- Andreas Schwab, SUSE Labs, schwab@suse.de GPG Key fingerprint = 0196 BAD8 1CE9 1970 F4BE 1748 E4D4 88E3 0EEA B9D7 "And now for something completely different." -- To unsubscribe, e-mail: opensuse-factory+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-factory+owner@opensuse.org
On 7/2/19 3:57 PM, Andreas Schwab wrote:
If it's only needed for the testsuite then split it off to a separate multibuild flavor.
Ah, very good idea. I completely forgot about multibuilds :). Thanks a lot! Adrian
John Paul Adrian Glaubitz píše v Út 02. 07. 2019 v 13:53 +0000:
Hi!
The Python package python-aws-sam-translator [1] has recently introduced a build dependency on python-cfn-lint which in turn already depends on python-aws-sam- translator which means there is now a circular build between those two packages which can currently only be broken up by disabling the testsuite in the python-aws-sam-translator.
I have filed an upstream issue for that [2] but I'm also interested to hear suggestions how this issue could potentially be resolved in OBS. In Debian, there is something called build profiles [3] which allows packages to be bootstrapped with reduced feature sets to avoid build dependencies which helps breaking circular dependencies, then later rebuild the same package with all features enabled once all build dependencies have been built.
Is there something similar I could use in OBS to resolve this issue or does anyone have any other suggestion to resolve this issue?
Thanks, Adrian
There is _multibuild used for these purposes in many packages in python world already. Best solution for you is to 'steal' the approach from ie python-pbr package. Cheers Tom
On 7/2/19 4:12 PM, John Paul Adrian Glaubitz wrote:
On 7/2/19 4:05 PM, Tomas Chvatal wrote:
There is _multibuild used for these purposes in many packages in python world already.
Best solution for you is to 'steal' the approach from ie python-pbr package.
Great, thank you. Exactly what I was looking for!
Okay, I managed to create a multibuild package but I won't be able to update the package anyway as it seems that we currently cannot update jsonschema to a newer version as required for the package as newer versions of jsonschema would break a lot of other packages. Is there already a time estimate when jsonschema gets updated? Adrian
John Paul Adrian Glaubitz píše v St 03. 07. 2019 v 11:55 +0000:
On 7/2/19 4:12 PM, John Paul Adrian Glaubitz wrote:
On 7/2/19 4:05 PM, Tomas Chvatal wrote:
There is _multibuild used for these purposes in many packages in python world already.
Best solution for you is to 'steal' the approach from ie python- pbr package.
Great, thank you. Exactly what I was looking for!
Okay, I managed to create a multibuild package but I won't be able to update the package anyway as it seems that we currently cannot update jsonschema to a newer version as required for the package as newer versions of jsonschema would break a lot of other packages.
Is there already a time estimate when jsonschema gets updated?
I would recommend asking Dirk because it was reverted for cloud last time. As it is few months maybe it is worth trying again or maybe they are already ready.... Tom
participants (3)
-
Andreas Schwab
-
John Paul Adrian Glaubitz
-
Tomas Chvatal