More Woof alpha3 pre-release notes

Package Manager
Testing alpha3, I chose to install Bluefish from the Puppy4 pet repo. The package pre-install window has a "More info" button, that does not seem to be working. I will have to check that out. It is supposed to launch the web browser and bring up online docs on the package. Ah, I recall... I uninstalled it, then chose to install Bluefish from the Ubuntu 'universe' repo -- this time "More info" button worked. I recall now, I hadn't figured out a way to bring up online docs for .pet packages ...that will need some thought.

When you get your hands on alpha3, I reckon you're going to like the Puppy Package Manager! Try something simple first, with few dependencies, like Bluefish. Some packages, like Gedit, have an incredible number of dependencies, and you may find that your pup-save file doesn't have enough space -- I haven't actually tried installing Gedit yet, that will be an interesting exercise.

Package databases update
In Woof, there is a script, '0setup', that downloads the compatible-distro package database files and converts them to a standard format. '0setup' is also in a running Puppy, in /usr/local/petget, and the Package Manager Configuration window has an "Update" button that will run 0setup. However, as I mentioned in a recent post, for Ubuntu this process takes a couple of hours, due to the Bash script to convert the database to the standard format. I have only converted part of this to a compiled Genie program, so there will be some improvement, I have not measured how much. The Genie program is /usr/local/petget/find_cat in a running Puppy and is called from 0setup. Soon I will rewrite more of the slow Bash conversion code in Genie -- for alpha4.

Squashfs
The 2.6.29 kernel has Squashfs 4.0 and this cannot open SFS files created with older versions of Squashfs. I need to think through what the repercussions will be, if Woof-pup can be built from a choice of Linux kernel versions.

Woof scripts
If you already have downloaded .pet and .deb (or .tgz or .tar.gz) when testing an earlier alpha, it is fine to copy those directories into alpha3. However, you do need to go through the steps of running all scripts in sequence, 0setup, 1download, 2createpackages, 3builddistro. Alpha3 needs to download the compat-distro package database files and rebuild the Puppy standard format, so you have to run 0setup. 1download will download any missing packages, such as new .pet packages.

Puppy is pre-alpha
To clear up any misconception, these "alpha" releases pertain to Woof, not to Puppy. That is, I am working on the build system. The end result, a working Puppy, is to be considered pre-alpha. Or rather, Puppy works, and indeed this is what I am using every day, but I have not put much attention into getting all components of it working -- some packages are still from 4.1.2, some are missing (I think some multimedia packages are missing from the Intrepid-Puppy build).


Posted on 22 Mar 2009, 16:18


Comments:

Posted on 22 Mar 2009, 16:56 by dinky
Thoughts on the release
Hi Barry, looking great. Below is are a few thoughts from the past 2 blog entries:

- great work on the package manager, sounds like it's come a long ways, and I can't wait to try it out. A hiearchy tree would be really useful for the package manager, particularly if you could choose to look at it without installing anything. I'd find this really useful for building future puppies with woof.
- the new kernel sounds interesting, but I hope you include the older kernels also, if possible. both the 2.6.25 version in puppy 4.1.2, and the 2.6.27 version that was used last time. While 2.6.29 will be great to play around with, it will be less compatible (particularly with sfs files, yikes!) than the other kernels. While I understand this is still in alpha, if it's stable enough, I'm going to rebuild Ripple from it, and a few other pups as well. It's a very exciting project.
- I think a search function is essential, where you can search for the package you want to install.

Anyway, those are my thoughts. Thanks for the great work!

~dinky


Posted on 23 Mar 2009, 14:10 by Terryphi
2.6.29 kernel/Squash 4.0
I am happy with the new kernel but, as you say, the move to Squash 4.0 raises issues about backward compatibility. Is there a guide to building sfs files with Squash 4.0 ?


Posted on 23 Mar 2009, 14:19 by Terryphi
Package Manager
The latest Package Manager is very impressive. It would be good to have a feature to check for essential security updates and offer them for download. For Ubuntu they are announced at:
http://ubuntuforums.org/forumdisplay.php?f=13


Posted on 23 Mar 2009, 19:37 by BarryK
Old SFSs
Back in Puppy 4.1.2, run the 'unsquashfs' utility to expand the openoffice sfs file. Type "man unsquashfs" in google for info. You will need a Linux hd partition to do this in.

Then boot up Intrepid Puppy and do this:

# mksquashfs openoffice-dir openoffice.sfs



Posted on 28 Mar 2009, 4:51 by Mitch Bradley
Issues with woof
I'm trying out woof-alpha3, building on a remote machine (Fedora 7) for which I don't have root access. I've found these issues so far, using DISTRO_BINARY_COMPAT=ubuntu:

a) Unpacking the tarball can't do the mknods because I'm not root. I'll worry about that later. One possibility is to store /dev as a tar file and untar it at startup time on the target machine - I've done that on some handcrafted systems with good results.

b) The "rxvt -name pet -bg orange -geometry 80x10 -e wget $PKGLISTURI" lines in 0setup fail in the remote execution environment I'm using - the host doesn't have rxvt, and I'm logged in on a text console anyway, no X. I worked around that by changing those lines to just "wget $PKGLISTRUI".

c) After 0setup downloaded the package databases, I got this:

Processing Packages-ubuntu-intrepid-main into a standard format...
abiword ./support/find_cat: symbol lookup error: ./support/find_cat: undefined symbol: g_regex_new
...
and hundreds of similar "undefined symbol: g_regex_new" lines

I suspect that find_cat is having trouble finding libpcre or something, but I don't know enough about vala yet to track down the disconnect.

All of the lib dependencies that "ldd find_cat" lists are present in /lib, at the stipulated versions. And /lib also has libpcre.so.0.0.1, although that's not listed by ldd.

I'm kinda stuck on this one at the moment, short of going down the rathole of figuring out how vala works in detail. For now, I think I'll try debian instead of ubuntu ...



Posted on 28 Mar 2009, 8:09 by Mitch Bradley
regex problem caused by glib version
The "g_regex_new" problem cited above was caused by an old version of the libglib2.0. You need at least version 2.14 of same; Fedora 7 has 2.12.

I found another machine to use; it has Ubuntu 8.0, which is working so far. I also have root on this machine, so the mknod problem isn't an issue thereon.


Posted on 28 Mar 2009, 8:09 by BarryK
Must build on Puppy
I'm going to have to put in a stipulation that a build of Puppy from Woof has to be done on Puppy 4.1.2 or later, not any other distro.

Michael has been trying on an Arch distro and has run into all sorts of little problems ... 'truncate' executable is different, he doesn't have 'gtkdialog3', the list goes on.