Rationalisation of Woof-CE

It has been over 2 and a half years since Barry handed over Puppy to the community. In that time we have made many improvements to woof to modernise Puppy and hopefully provide a more modern interface.

However, there is still much work to be done.

While on the surface there doesn't seem to be much happening, behind the scenes development is actually heating up! We have a new member on the team who has been very busy adding and editing thousands of lines of code along with the old faces of zigbert, iguleder and gyro (GitHub handle gyrog) updating and refining code and 666philb (GitHub handle mrfricks) churning out exciting new xenialpup beta releases. I myself am working on a slacko-631 bugfix release (but I may bump the version number to reflect the massive changes in woof).

Without further ado I'd like to welcome the said new member of the woof-CE team wdlkmpx (GitHub handle - a.k.a. jlist on the Puppy forum). He has been pushing several pull requests lately and they have all been sound so I decided to make him a full member. So if something goes wrong some of the heat is off me!

Puppy development isn't just woof-CE. An important part of Puppy is the initrd.gz ('initial ramdisk', for want of a better term) that takes care of the booting of Puppy after the bootloader and kernel have done their respective jobs. I started the initrd_progs woof repo to reliably reproduce the initrd programs which wdlkmpx has improved substantially. << Read totally re-written!

So where to now?

Unfortunately, we haven't many builders to test the various distro compatibility. While we all would love Puppy to be our full time jobs, it doesn't pay the bills! We are going to rationalise the number of distros that are supported by woof-CE. Don't panic though. We are going to preserve all the old code in a Legacy branch so that if an enthusiast does come along wishing to revive one of the relegated distros then they don't have to start from scratch.

Distros facing the chop are
• arch
• mageia
• pet-based
• T2
• scientific

as well as old unsupported upstream projects such as Lucid Lynx and older Slackware and Debian releases. Old puppy 2, 3 and 4 repo databases will be removed from woof (not the main repo).

Rationalising of the build scripts is also a priority. A functions library would make life a lot easier and the code more readable. Numerous other improvements need to be made.

Consideration to shifting firmware out of the zdrv and making fdrv (system sfs files) load by default is under review. This will also require a new kernel structure, although old kernels (from the huge style) will still work. Old kernel 'pets' will be removed.

Also, the integration of the initrd_progs into woof-CE would be desirable. The resulting initrd.gz would be smaller and faster with the latest busybox and supporting programs included.

I would also like to see some C sources in woof for core programs so that they can be compiled on the fly in a chroot. This should not be a problem when native building but may have to be addressed for a cross build.

Applications should be grouped to make it easier for builders to make a minimal or an "everything including the kitchen sink" Puppy! The woof GUI will need substantial improvements.

These changes will take time and effort. They are designed for maximum compatibility when a distro is built and hopefully reduce compatibility issues.

I look forward to any comments and may even start a forum thread about this for those who don't want to register here.

Posted on 4 Jun 2016, 18:12 by 01micko - Categories: Woof-CE
Edit - Delete


Posted on 5 Jun 2016, 01:00 by zigbert
wdlkmpx has written some great lines, and is for sure a skilled coder. It's a wise decision 'to member' him.

Posted on 5 Jun 2016, 09:13 by 01micko
"New Branches"
I have created new branches legacy and rationalise in Woof-CE. I opened issue #789 that all woof developers should read.

Add Comment

Show Smilies
Security Code 2788493
The Puppy Linux mascot?
Password (to protect your identity)