Bug 631 - add support for dependencies between builds
Summary: add support for dependencies between builds
Status: ASSIGNED
Alias: None
Product: Infrastructure
Classification: Unclassified
Component: BuildSystem (show other bugs)
Version: unspecified
Hardware: i586 Linux
Priority: Normal enhancement
Target Milestone: ---
Assignee: Sysadmin Team
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks: 858
  Show dependency treegraph
 
Reported: 2011-04-04 12:45 CEST by Nicolas Vigier
Modified: 2023-09-25 21:39 CEST (History)
2 users (show)

See Also:
Source RPM:
CVE:
Status comment:


Attachments

Description Nicolas Vigier 2011-04-04 12:45:02 CEST
I think it would be useful to be able to submit multiple packages with dependencies between them, without waiting for the BS to finish the first package to submit the 2nd one.

For this, I think there is different ways we can do it :
 - add option in submit to give other jobs IDs as dependencies. However
   if first build fail, the other will fail too and have to be submitted
   again.
 - add option in submit to give packages with version and release as
   dependencies.
 - add version and release for BuildRequires inside the spec file. And
   the package stays in the todo queue until all BuildRequires are available.


Reproducible: 

Steps to Reproduce:
Comment 1 Michael Scherer 2011-04-04 18:44:12 CEST
If we decide to go the 3rd way, this will mean that we need a way for a user to remove a build ( or, if he does a typo as this could prevent a job from completing ).

What is the use case of the feature ?

CC: (none) => misc

Comment 2 Nicolas Vigier 2011-04-04 19:26:17 CEST
Yes, a way to cancel builds will become mandatory if we do this. Even if we don't do this, a way to cancel build would be useful I think, as there is sometime requests from people who want to cancel builds they submitted by error.

Use case for build dependencies would be for instance with many packages with build dependencies between them, that need to be rebuilt in the right order.
Currently you need to submit the first package, wait for the build to finish, submit the 2nd package, wait for the build to finish, submit the 3rd, etc ...
If we do this, you can update the versions in the BuildRequires in all spec files, and submit everything in any order.

I have heard at Mandriva previously, from people packaging KDE or E17 that something like this would be useful.
Comment 3 Michael Scherer 2011-04-04 21:54:31 CEST
Then another potential idea would be to push such scripting ( because that sound like it ) on client side, and let people write script to submit more than one package, or trigger built based on BS results. 

I would see a use case if we could add --define on build. Latest python upgrade was quite hellish due to lack of botstrap option. But if we could say "rebuild everything using --define bootstrap and then rebuild them without it", this would be helpful :
- no more information stored only in my head ( with all potential bus error problem )
- no more work to check everything is done before pushing the rest of the upgrade

Downside would be to either write a DSL for that, or to discuss ad-vitam eternam on which language to use, and later with communication system to use :)

( also on canceling build : https://bugs.mageia.org/show_bug.cgi?id=635, I just fill a bug request ).
Nicolas Vigier 2011-04-17 17:42:26 CEST

Blocks: (none) => 858

Comment 4 Marja Van Waes 2011-10-08 20:13:23 CEST
any updates on this issue?

CC: (none) => marja11

Comment 5 Marja Van Waes 2012-01-11 20:48:13 CET
Pinging. because nothing happened to this report since more than 3 months ago, and it still has the status NEW or REOPENED.

Please set status to ASSIGNED. If for work flow reasons you can't do that, then please put OK on the whiteboard instead.
Nicolas Vigier 2012-01-11 21:21:35 CET

Status: NEW => ASSIGNED

Comment 6 katnatek 2023-09-25 21:39:28 CEST
What about of make a BS based on fedora's copr? it already have this kind of feature, you can star the pkg1 build , copy the number of work and for the pkg2 that depends of pkg1 specify to wait until number of work for pkg1 ends

Note You need to log in before you can comment on or make changes to this bug.