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
Comments - Edit - Delete

Upload to Woof via web interface

This describes a very specific challenge.
How to upload a package of files to Woof-CE at github via the web interface.

The web interface is suited for doing simple things, and has many limitations over the CLI interface. An advanced user of git would probably laugh at us using the simple variant. But when rarely using git, and most of the time just editing existing files, it is just perfect to do the stuff in the web-browser.

The challenge is when we want to upload packages containing lots of files and directories. How do we do this...

1. Create new files and directories

- Go to the source directory - in this example /woof-code/rootfs-packages/.
- Press the Create new file button.

- Write the name of first directory in the textbox - here frisbee.
- Enter / to create the path. The textbox moves right, and are ready for new input.
- When reached target directory, add filename in textbox, and add file content in the editor.
- Add pull request by pressing the Propose file change / Commit changes button.

2. Upload files to existing directory

- Go to the source directory - here /woof-code/rootfs-packages/frisbee/etc/.
- Press the Upload files button.

- Add files by dragging them from your file-browser.
- You'll see your files get added at bottom (marked red).
- Add pull request by pressing the Propose file change / Commit changes button.

Posted on 27 May 2016, 01:35 by zigbert - Categories: Woof-CE
Comments - Edit - Delete

LxPupSc - new version jan-17

LxPupSc-17.01.1R with kernel 4.9.0 is available.

See this blog entry for more description of LxPupSc

Posted on 2 Jan 2017, 05:51 by peebee - Categories: Puppy Woof-CE Release
Comments - Edit - Delete


LxPupSc is a somewhat different pup....

As default, the desktop environment is LXDE (openbox, lxpanel, pcmanfm) rather than the more usual puppy jwm and rox (although these are still part of the build and there is a desktop switcher to activate them if you prefer).

LxPupSc is a 100% woof-ce 32-bit build but it does have a unique characteristic in that it is built from multiple sources as follows:
- Slackware base components come from Slackware-14.2 (a.k.a Slackware-Current)
- LXDE components come from Arch Linux
- Puppy pets are a mixture of Slacko-14.2 plus specific pet-builds when recompilation is needed for Slackware-Current library compatibility

Plus there are also a bunch of fix-pets, packages-templates, woof-ce patches etc. to get it all to hang together. (What properly goes where is still a bit of a black-art for me and I suspect some rationalisation could be done here!)

The kernel is a woof-ce kernel-kit build.

Thanks are due to many people whose more original work has been plagiarised ruthlessly:
- Jejy69 for the original LxPup way back in 2013 and particularly the menu configuration
- 01Micko for the Slacko-6.3 configuration used as a starting point and for much advice along the way and the pet-build system
- Stemsee for the kernel config
- Iguleder, 01Micko, and pemasu for the kernel-kit
- Mavrothal for testing and fixes (particularly the ppm/dependencies fix) and woof-ce advice and help
- Marv, Billtoo, ETP, radky, rcrsn51, gcmartin and many others for testing and helpful suggestions on the forum thread (apologies to anybody not mentioned)
- Smokey01 for the repository

Along the way, testing has identified some things that have found their way back into woof-ce for the benefit of future puppies (e.g. the sns/firewall-ng fixes).

In using woof-ce I have got a list of "enhancements" that I'd like to see:
- better support for incremental builds (1download to produce a list of changed packages downloaded; 2createpackages to loop to build that list)
- better integration of rootfs-packages and DISTRO_PKGS_SPECS- so that you don't have to tick choices in 3builddidtro-Z (e.g. have yes/no/woof as options)
(an interim change would be to make all rootfs-package chosen by default so you only have to unselect unwanted ones....)
- 3builddistro-Z to have better unattended operation - replace terminal questions scattered through script with a config file so you can start the build and go away and forget about it

The version of LxPupSc at the time of writing is 16.08.1 (hosted on SourceForge)
The forum thread
The repository
LxPup Reviews

August 2016

Obligatory screenie:

Posted on 8 Aug 2016, 08:22 by peebee - Categories: Puppy Woof-CE
Comments - Edit - Delete

Slacko beta

I have released an ISO image as a beta for the next iteration of slacko. It is mainly a bugfix for 6.3.0 but it is also intended to support UEFI in line with the discussion here.

For more information visit the forum page.

For other puppy builders, preliminary support has been added to woof-CE for UEFI as of commit ba2a9b8.

Posted on 4 Apr 2016, 20:44 by 01micko - Categories: Development Woof-CE
Comments - Edit - Delete

Pages: [1]