Package Management Goes Live

Blog post by bonefish on Fri, 2013-09-27 22:33

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. Sorry for that.

So, what happened in package management land since my last post? As planned we finished building the standard packages for the missing (and actually working) architectures (x86 gcc 4 and x86-64). Oliver put quite a bit of work into fixing and improving the haikuporter bootstrap process. While it was basically working at the time of my previous article, it needed a bit of nudging and some creative work-arounds to go the full distance. Now it should be possible to build all packages with a single haikuporter invocation.

Furthermore I've worked on the package daemon. When manually moving packages into or out of one of the "packages" directories, the package daemon does now resolve the package dependencies and suggests and performs download and installation or deinstallation of additional packages as necessary. Regardless of the method of activating a package (manually or via the package manager) the daemon does now also -- as specified in the package -- extract default settings files, create Unix users and groups, and run post-installation scripts.

At the recent BeGeistert code sprint Rene Gollent started to integrate the actual package management functionality into the HaikuDepot application. The basic package installation and uninstallation functionality is working, though more work still has to be done.

Stephan Aßmus has created a Google Code project for the web application that will provide the additional package related information, like screenshots, user ratings and comments. It will probably also help with evaluating the stability of packages and assigning them to respective repositories. A small group of developers has formed to tackle the task of designing and implementing the web application.

Finally I'd like to announce the completion of my contract (well, that was already end of August) and again thank everyone who donated to make the contract possible in the first place. I hope you aren't too disappointed with the end result. As expected package management isn't completely finished and polished yet, but things should be reasonably usable already and development will continue, if at a slower pace.


Re: Package Management Goes Live

Heh, between last night and today after work, Buildbot is back up. The independent bash script for nightly-uploads is updated and churning out a set of images now too.

... and congratulations!

Re: Package Management Goes Live

Congratulations to both of you! Nice to see it finally merged in :-)

Re: Package Management Goes Live


Re: Package Management Goes Live

The merge! The merge! (wonder where Niels is...)

Congratulations Ingo and Oliver, great job.

Re: Package Management Goes Live

is something like the ppa's for ubuntu, planned? Because it's a little inconvenient to search on haikuware for newer updates of 3rd party software.

Also an option "automatic update" for certain applications would be great (having the effect of google chrome installing in the background without taking care of it).

Re: Package Management Goes Live

now i see, the new project of stippi & co. is working on that. :-)
This is great news, and hopefully will bring more 3rd party developers

Re: Package Management Goes Live

excellent news! can't wait until testing the package management!

Well done!

Re: Package Management Goes Live

I am totally lost in how to use this package manager software.

I downloaded the latest anyboot image (hrev46130) and expanded to a USB stick. I ended up with a 600 MB image with only 3 folders in the root. When I try to boot this image off the USB stick (note: this stick has worked for all the anyboot images I used before since Alpha 4.1 came out.) It fails at the drive icon.

So I tried installing from the USB to a partition. This fails with 'no haiku-loader' error.

Thus I used 'makebootable' on that partition - same error.

Okay, so I make a zip-file of the contents of the USB and install hrev46104 to that partition, now that boots okay. So I merge in hrev46130 by unzipping the USB contents into that partition.

Still boots okay and I can see a bunch of HPKG files in the system folder area, but I still can't figure out how to install them. Help me please! I don't understand what I should be doing.

Please note I am downloading hrev46154 right now if that helps.

Question, is it possible to create a COMPLETE image to download where we don't need to merge in needed parts. I know it will not fit on a CD drive but I had a number of USB drives 2GB, 4GB, 8GB, even a 32GB one. I also have space for 16-32GB partitions on number of my computers and I am sure plenty of others do too. Pretty please, with sugar on it?

Re: Package Management Goes Live

Just read the notes on latest changes, if it fixes my boot problem I will report back.

Will this then let me install the rest of the Haiku code if it boot properly?

Re: Package Management Goes Live

The stage one boot loader has changed. The old one cannot load a PM Haiku and vice versa. So if you copy the files manually onto a previously bootable target partition, you still have to use the new makebootable to make it boot PM Haiku.

If you don't have anything else (i.e. other partitions or data you want to keep) on the USB stick, you can dd the anyboot image to it -- that's what the anyboot image is intended for, anyway. You'll end up with only a single, small partiion, though.

Re: Package Management Goes Live

Okay, thanks for the reply.

The updated version (on usb) did work ok.

I also was able to install it to a partition and boot it ok. however, I see I have a lot to learn about the new design.

Hopefully, I will test the Haiku Depot tonight and see how that works for me.

Remember us old folks don't handle change well. :)

Re: Package Management Goes Live

What can we test Haiku Depot on?

Re: Package Management Goes Live

What do you mean? It is included with Haiku. All that can currently be tested can be done by starting the application and trying to do things with it.

Re: Package Management Goes Live

Is there any article of how Haiku's package management works, the design decisions taken and how it compares and performs with respect to the other mature package management systems out there?

Nice work btw! Really glad to see Haiku getting package management. Maybe now, I can start considering making Beezer a proper installable package :)

Re: Package Management Goes Live

Too late, we already have a recipe for a Beezer package in the ports tree :P

Re: Package Management Goes Live

I see, and is the ports tree using Haiku's package management or is it something else?

Re: Package Management Goes Live

Yes it uses the regular package management system. Although it's certainly not required to use the haikuporter system, it's expected that a large portion of software, both ports and native apps, will make use of it.