Hisham Muhammad (english)

Package Management

How does the package manager - Compile - work?

Compile is not a package manager per se, but a compilation system. Compile takes care of fetching sources and building them so they end up in a nice /Programs entry. It does this using recipes, which contain the necessary knowledge to fetch and compile a given program.

The main feature of Compile is its minimalism. In our design, we decided to put the knowledge about the intricacies of compilation processes in the tool, and not in the recipes. So, for a typical GNU project, you just need to feed it a recipe with two lines: one informing the URL of the tarball, an another saying that this is an autoconf-style project. Compile does the rest: it knows about 'configure', about '--prefix', about 'make install', it does sandboxing, etc.

Of course, for corner cases, it's always possible to add more knowledge to the recipe itself: the recipe for the Linux kernel, for example, is quite detailed. But for the end user, it makes no difference. They just need to type "Compile bash" or "Compile linux".

Is it possible for anyone to add recipes to the online repository? If not, how can users share their recipes?

Anyone can submit recipes to our recipes mailing list. We have many users with recipe commit access, and they will receive your submissions to the mailing list and commit them, reviewing and commenting on them. From time to time, regular contributors to the recipes mailing list are offered direct commit access.

GoboLinux with KDE 3.5
GoboLinux with KDE 3.5

Whats on the roadmap for Compile?

Use Flags

The package manager in the Linux-distribution Gentoo, uses so-called "use flags" to allow the user to compile the package about to be installed.

For example, "use flags" can be used to enable or disable DVD playback in a video player.

Compile has been evolving a lot lately. Michael Homer from New Zealand and Jonas Karlsson from Sweden have been putting a lot of work on it and the latest addition is support for Gentoo-like "use flags" to allow customization of builds.

Speaking of roadmaps, whats on the roadmap for GoboLinux?

We just released 014.01, which is the stability update for 014 which we released in the beginning of the year. We're planning 015 for some time in the second half of the year, which will be a package update release, probably based around KDE 4.

Does GoboLinux follow a rolling release cycle (like Arch), or do you have to upgrade from one point relase to the next (like Ubuntu)?

It's pretty much up to the user. The modular structure of GoboLinux allows packages to be upgraded piecemeal, but many users find it more convenient to do batch upgrades so that the binary interfaces of their system (library versions, etc.) match that of the latest release.

For example, we're currently at 014.01, but the system I'm typing this from is still a 013 system (released late 2006) upgraded to the latest packages.

Norges beste mobilabonnement

August 2017

Kåret av Tek-redaksjonen

Jeg bruker lite data:

Komplett MiniFlex 1 GB

Jeg bruker middels mye data:

Chili Medium 5 GB

Jeg bruker mye data:

Komplett Maxiflex 12 GB

Jeg er superbruker:

Komplett Megaflex 30 GB

Finn billigste abonnement i vår mobilkalkulator

Forsiden akkurat nå

Til toppen