Am Samstag, 22. August 2009 01:59:55 schrieb Magnus Boman:
For the past months it's been really difficult to contribute to package updates since I only have time to help out on weekends. This boils down to commits going in to oS:F, and my pet project (GNOME:Factory) is basically always blocked waiting for oS:F to build. Trying to build a package locally, is not all that easy, as recently, osc tells me, more often than not, that it can't find a package on a mirror nor in OBS so the local build is aborted.
Now, I understand that we want to rebuild packages etc, and I also understand that weekends are the most appropriate time to this.
The way OBS rebuilds packages seems a little bit paranoid to me though and I would like to ask the question if we can do it better.
So, this is the workflow (AFAIK):
- I branch a package from G:F, it ends up in my home and basically the
content of it is a _link (since I have not changed anything yet) 2. I update the package and commit (now, I have a project.diff) 3. I submit the package to G:F 4. The package is accepted into G:F (G:F will now contain _link and project.diff, while the package in my home is back to being a _link) 5. The package is submitted from G:F to oS:F (and lets say accepted into oS:F). G:F will now be _link, and the package in my home is _link. In oS:F, it's all the files this package contains of
Now, what will happen is:
When I do 1, OBS wants to build the package in my home
In step 4 (when package have been accepted), OBS will want to build
the package in both my home and in G:F
- In step 5, OBS will want to build the package in oS:F, G:F and my home
In this scenario, my home, G:F and oS:F all use the same build dependencies, so when a package is a _link, can't OBS just copy the content from the linked package instead of having to rebuild it completely in all these different places?
No, because the project repos may have a different setup, regarding their project config (build against other repos or have flags in prjconf). Also the rpm headers and signature will be different for sure.
What could get avoided is the rebuild when the sources get merged in linked packages.