Search My Blog

Sunday, May 15, 2011

Woof the puppy linux builder

Announcement and release notes for Lucid Puppy 5.0

Lucid Puppy 5.0 is built from a "Puppy builder" system named Woof (, which can build a Puppy Linux distribution from the binary packages of any other distro. There are many "puppies" built with Woof, and this image gives an appreciation of some of them and how they fit into the Woof time-line:


Woof: the "Puppy builder"

Page partially updated March 22, 2010

NOTICE: Please monitor my blog, for progress reports on Woof and announcement of the next release.

The Woof build system is a work-in-progress. Although this page states that a Puppy live-CD can be built from Debian, Ubuntu, Arch, Slackware, T2 or Puppy binary packages, you need to read the announcements as to exactly what has been tested. For some builds, you may be "on your own".


In November 2008 I decided to take a back-seat from my front-line role as leader of the Puppy Linux project, and let other keen members of our Puppy-community take control of developing future versions of Puppy.

After releasing Puppy 4.1.2 I took "time out" to follow some other interests.  What I wanted was the time and freedom to explore new ideas ...the first of these was named Woof.


Up until recently, Puppy had a build system called Puppy Unleashed, which accessed a repository of PET packages and built a live-CD with your choice of packages. There are various problems with this arrangement:
  1. PET packages are heavily cut-down binary packages. There is often a lot of work in creating a PET package as we trim out all the fat.
  2. Having a repository of PET binary packages means that we are also legally obliged to maintain a repository of the source packages.
  3. Upgrading all the core infrastructure packages, such as glibc, gcc, gtk, cups, ghostscript and the other system libraries and creating new PET packages and 'devx' file then getting it all to work, takes us a very long time.
In some earlier versions of Puppy we did use binary packages from another distro. For example, the Puppy3 series is based on Slackware binary packages. However, I did every step manually, creating each PET package virtually file-by-file, and then spent several months getting it right before a final release.


For a long time I have dreamt of a "magical script" that could download packages of some other distro, cut them right down to Puppy-size, then build a Puppy Linux live-CD -- and do all of this totally automatically.

Finally free of front-line responsibility for managing the Puppy project, I had time to pursue this dream. The result is Woof.

This is what Woof does:
  1. Download another distros packages, so we don't have to host them anywhere (although in some cases the distro may not have a suitable package so we still need some of our own PET packages).
  2. Totally automatically build a Puppy live-CD iso file, with your choice of packages.
  3. Totally automatically build the 'devx' SFS file (which is how Puppy provides support for C/C++/Vala/Genie/Fortran compiling).
  4. Support multiple distros.
  5. Easily upgrade to a new version.
  6. The end result is Puppy Linux

Multiple distros

The design of Woof is intended to be so flexible that packages from any distro can be processed. At the time of writing Woof is supporting Debian, Ubuntu, Slackware, Arch, T2 and Puppy. I am considering adding one of the RPM-based distros.

Easy upgrade

I find this one particularly exciting. The Ubuntu releases are named Intrepid, Jaunty, Karmic, etc. Puppy can be built from whatever is the current one When they bring out the next release, all that Woof needs is the name of the release and Woof will then download all the packages and build a new Puppy Linux. It may take a couple of hours fixing some package names, but the idea is a developer in one day can have a brand new release of Puppy.

The end result Puppy Linux! What I mean is that you end up with something that has the speed, compactness and all the ease-of-use features of Puppy Linux, nothing sacrificed. Even building from Ubuntu packages, we get a 99MB (or thereabouts) live-CD, a fast Puppy that runs in RAM, all of the Puppy applications and all of the tools and familiar desktop.

How to download Woof


Sounds like an interesting Project to try sometime...


No comments: