I'm proud to announce that, at last, the package management branch has been merged into the main development line, aka master branch. The builds and nightly images from hrev46113 on will include the new feature.
I only notice now that I should probably have given Matt a heads-up upfront, since due to the somewhat changed build process the build bot will need an update. So there might be a bit of a delay until the first Haiku PM nightly images will hit the website.
Although I have been a lazy blogger lately we haven't been lazy working on our remaining tasks at all. So, unsurprisingly, since my previous post we have reached and passed a few nice milestones. The latest one is that we're finally able to build the gcc2/gcc4 hybrid Haiku images again, including all the software needed for the official release.
While that in itself isn't a particularly impressive feat -- after all we were already able to build the complete gcc 2 part before -- the interesting aspect is how we are doing it.
My new contract has now officially started. At the moment it looks like its duration will be at least three months. A big thanks to everyone who donated to make that possible!
On the technical side not that much has happened since my previous blog post a week ago. Oliver has continued to work on cross-building and, given the potential for surprises and "interesting" problems, probably will do so for a while longer.
It's been quite a while since the previous blog post. I've been waiting for an nice occasion, but the more interesting milestones are still a bit away. While nothing flashy can be presented, a lot of work has been done anyway.
At the time of the previous post we had just managed to get haikuporter, our high level package building tool, ready to hierarchically build packages. Since then it has seen a lot of updates:
It's been almost three weeks since the previous blog post and some people start wondering what the current status is and what were working on exactly, so it's time for an update. Incidentally the time is perfect for an update anyway, since we've just reached our first important milestone: haikuporter supports hierarchical building of packages.
Given a package name, it can now analyze the HaikuPorts tree containing all the build recipes, recursively determine which other packages are required for building the package and build everything that's needed in the correct order.
After quite some delay Oliver and I have finally started our contracts with Haiku, Inc. to continue our work on package management. Each of us will work 320 hours in total, i.e. the equivalent of 2 months of continuous full-time work.
Alas the time of my contract with Haiku, Inc. is up. So besides giving some details about the query support and libsolv port which I've been working on since my last post, I'll also summarize where Haiku's package management stands now and what still needs to be done.
Implementing the query support in packagefs turned out to be a bit more work than anticipated, since the ramfs code I recycled wasn't quite in as a good shape as I hoped, respectively needed more adjusting to fit in packagefs than expected.
Time does fly. It has already been two weeks since my previous blog post, so I guess an update is in order. The support for shine-through directories and the package links has been implemented as planned and works nicely as far as I have tested them. Other than that I've worked on a few odds and ends.
The most notable one is probably that, with a few exceptions, I've repackaged all gcc 2 built optional packages that are are installed as part of the alpha build profiles.
After a week of working on the package management support as per my contract with Haiku, Inc., I have reached my first milestone: The base system is packaged... and it boots again. Here's a short account of what I have been doing exactly and what I'm up to next.
First of all, anyone watching Haiku's main source repository for anything I have done so far or will do in the next weeks will be disappointed.