Oakley Linux

I don't like RPM. Actually, RPM isn't that bad, its just that RedHat (and most other people) seem to be incapable of writing RPMs properly. Also, there are a few things I don't like about them, and each new version of RPM seems to make it harder to configure the way I like.

The .deb package format is much nicer (although maybe still not ideal) and debian do seem to be quite good at writing .debs. Unfortunately, dpkg is a pain in the metaphorical arse to use, dselect is laughable, and apt, while an extremely nice idea, can be nonintuitive at times.

So I decided to write my own package manager, and call it Opium, for reasons that might become obvious if you think about it for long enough

Then I started getting really pissed off with RedHat's initscripts. Debian's are even worse. Most other things are pretty similar to one of those.

So I started working on my own init scripts. The aim is that they are totally configurable, run in parallel where possible, and the user doesn't have to care about order - it is figured out automagically at run time.

Given a package manager and a set of initscripts, the only thing left to identify the distribution is the set of packages. So, along came Oakley linux.


Opium Package Manager
A powerful, configurable, easy to use, package manager. Comes with the ability to create packages from RPMs, .debs and source tarballs (assuming a set of minimum requirements). Does dependancy checking, but is quite happy to be told not to. Shouldn't break your config files. Requires a minimal amount of work to modify existing packages. Happy to coexist with other package managers. All source packages should compile as nonroot, with no extra effort.
Init scripts
Allow you to set variables (eg IP address) dependant on runlevel. Each service started as early as possible, in parallel with others where appropriate. Order of scripts figured out at run time based on "Requires" and "Provides" rather than numerically. Single file for each runlevel to make editing easier.
Interactive startup
Can specify an interactive startup which asks whether to start each service rather than relying on any prebuilt configuration files. Useful in emergencies.
Up to date packages
I'm using this distro, so I keep it fairly up to date. However, since I'm using it, I know it works on at least one system.
Minimal install
Every package is optional, so a minimal install really is minimal. It doesn't even have to have init (or even a kernel - but that might be a tad useless).


Can currently install, uninstall and recompile packages. Packages have to be created by hand, which is nontrivial. Package file format needs updated.
Init scripts
Designed, but none have yet been written.
Waiting for the package format to be finalized


None yet - more will appear as things get to a vaguely working state.

Last modified: Sun Oct 1 12:03:46 BST 2000