[haiku-development] Re: Package-builders-build-off 2015
- From: Michael Lotz <mmlr@xxxxxxxx>
- To: haiku-development@xxxxxxxxxxxxx
- Date: Wed, 2 Dec 2015 00:43:16 +0100
On 01.12.2015 08:32, Axel Dörfler wrote:
How far are the solutions from actually taking over the task of building
all packages for a Haiku release?
Are all recipes still fetched from haikuports master?
Getting that right would then be next on the list, right?
The tooling is basically complete in my case, including repository building.
As you say, what we actually need to come up with is a plan as to how
we're going to manage the whole process. Right now we manually maintain
the available packages through commits to Haiku itself. This gives us
full control over the set of packages and also establishes a 1:1
relationship between any given hrev and a set of packages. By automating
the package building and removing the manual handling within the Haiku
repository we lose this 1:1 coupling. Managing the generation of a
predictable and consistent set of packages then needs to happen through
the HaikuPorts repository.
For releases this will probably mean that we have a branch for each
release (for example R1) and manage what ends up in the package
repository by merging things from master or a staging branch,
automatically building the packages for the changed ports and updating
the corresponding repository. The builders for the generation of this
set of packages would then always be running that release of Haiku.
At some point there will be a point release updating that particular
Haiku version (i.e. R1.1). What happens then depends on our support
strategy. It either means the original release remains supported, which
would imply a new branch for R1.1 is created and new builders running
R1.1 would build packages for that release while the old builders still
running R1 would continue to build packages for R1. If we stop support
for R1 as soon as R1.1 is released (which would make sense to me) the
builders could be update to R1.1 and start building for the new version.
What should happen for the nightlies? Obviously it's not feasible (or
desirable) to have a branch and a set of builders for each new hrev.
Since nightlies don't come with any support, this isn't necessary
either. But how is a given hrev matched with a given HaikuPorts package
repo? Do they need to be matched at all or is it enough to start
matching them once (pre-)releases happen (with the process above)? Which
packages end up in the nightlies would then just be decided by when they
are built and therefore what packages are available at that point in
time. What hrev of Haiku is used on the builders (and therefore is
encoded as the required version) is another question. Should they simply
always update to the newest available nightly? Keeping them at a certain
hrev for a certain time could be sensible if some particular hrev proofs
to be stable. Then again that would mean someone would have to regularly
decide what hrev to use, which would introduce manual labour.
Regards,
Michael
Other related posts: