On Tue, Feb 2, 2016 at 11:07 AM, Josef Reidinger <jreidinger@suse.cz> wrote:
Question 2: How to obtain one common repository with all the binaries coming from many sub-projects that have multiple versions?
From what we see, there is no "union" repository of the home project that would include all the binaries of the sub-projects? Do you know how to achieve that? It is also possible that we would need to introduce categories for our projects: e.g. Libraries, Applications, Drivers, etc.. but I imagine that it could be solved by adding one more level in the sub-projects hierarchy.
I do not know how such union can be created expect creating own repository, but maybe others know.
OBS heavily uses branched and linked projects. It is specifically designed to manage a full distro develoment and release process. You can re-create the majority of the process in you home project if that is what you need to do. factory is a union of all "released" packages on OBS. It has thousands of packages in it. Every package in factory is linked to a devel project. the devel projects are grouped by working groups. Most people try to keep the devel projects fairly stable, so they are only out of sync from factory for a few days at a time. Then they have the devel projects linked to an unstable (or home:) project where they work out there packaging / upgrade issues. I'm sure some of the more complex projects have 4 or more tiers or projects permanently setup. Thus if you want the main home project to be a union just like factory is, then create all the packages there. Then branch/link them to the sub-projects as you want to organize them. Once you have a 3-tier set of projects / packages setup with the links/branches your workflow becomes: - Modify package in an unstable project. Test it until satisfied with packaging/upgrade functionality - Use a SR (submit request) to submit the changes from unstable to devel. Continue testing with a more complete set of packages. Since this is a stable sub-project, testing should be done quickly. If it fails, revert the submit. - Once you've tested the package in the stable sub-project submit it to your union project. Again test immediately and revert the change if testing fails. == if you want to implement "releases" of the union project, then on occasion create a parallel project and copy everything from the union project to that static "release" project. That is how openSUSE did its releases prior to Leap. (ie. a new release project was created and then all the packages in factory were copied from factory to the new release project). === osc is a very powerful command line tool. It can help you make the above process very straight forward to implement. It has capabilities like: - List all packages in a project, - Link/branch a package from project to another, - output the differences between 2 linked packages - Copy a package from one project to another (without creating a link) - Submit a project from the current package to the one it is linked to. Good Luck, Greg -- Greg Freemyer www.IntelligentAvatar.net -- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-packaging+owner@opensuse.org