Woof progress

I have been quiet lately, as busy coding.

I'm writing the hardest part of Woof, which is to rip apart the Ubuntu packages and create slim packages for Woof. The difficulty is that it has to be completely automated.

There are going to be three scripts, '1download', '2createpackages' and '3builddistro'. I'm currently writing the middle one, as it is the most difficult.

Very slow, heaps of fiddly details. I have to examine every package that gets processed, file-by-file, to see that a sensible woof package is getting created. I'm probably 3/4 done.

So, soon I'll write '3builddistro', then we shall see... I fully expect the live-CD to crash in a flaming heap, for all kinds of reasons, especially missing dependencies.

Anyway, here is something to look at, for anyone interested:

I have been scouting around checking out more Python-like languages, and found this:


it's a true compiler. I compiled a couple of console apps, "hello world" was 82KB, but then I tested another much larger app and it also was a 82KB executable.

Nimrod has GTK2 bindings, but "Hello world" was 878KB. But, all the GTK2 libs were compiled statically -- very interesting, in the docs the author seems to prefer this so that GTK2 apps will work anywhere. I sent an email a few days ago asking howto/if I can change that to link all libs shared -- he hasn't yet replied.

Posted on 21 Nov 2008, 10:06


Posted on 21 Nov 2008, 17:36 by eprv
Very interesting, puppy with Ubuntu repositories. waiting to try it.

Posted on 22 Nov 2008, 8:15 by straypup
Sad to say I have begun to wonder if Puppy will survive. The driving force was its creative individuality, and now even Barry is trying to make it a Ubantu clone like so many others. Sad day.

Posted on 22 Nov 2008, 11:06 by BarryK
Re: Ubuntu clone
Puppy3 is based on Slackware binary packages -- did that make it a Slackware clone?

Not at all. Ditto for woof based on Ubuntu or Debian packages. I am pulling the binary packages from them, but Woof will not be anything like those distros. In fact, in the first incarnation it will be exactly like Puppy4. In almost every respect.

Well, that's if I do manage to debug it. Woof will be like Puppy4 but with the bonus of exact binary compatibility with Ubuntu packages, making it easier to install any packages from the Ubuntu repos -- even the official Ubuntu repo has, if I recall rightly, about 25,000 packages.

One thing that will be a bit different from Puppy4 is woof may be a bit bigger, due to extra dependencies, but how much bigger I don't yet know -- that's going to be most interesting, to see what size my first live-CD is!

Posted on 22 Nov 2008, 14:53 by Sage
Wrong direction? The market will continue to go embedded (netbooks, iPod-clones, Blackberry, Nokia phone-clone do-it-all s ), requiring smaller, much smaller, not bigger. *buntu s are heading in the wrong direction, too, and there is a great deal of unease about Monsieur Shuttleworth's ultimate motivations. The writing is on the wall, sidestep to pure Debian, return to Slack or plough a furrow like Slitaz of super-minimalist. There's already a plethora of wannabe s offering distros all the way up from .iso s of ~150Mb with little to choose between them. As in all business ventures, it's the unseen liaisons that turn out most successful.

Posted on 22 Nov 2008, 18:37 by lobster
Woof? Woof! Woof!
"Wrong direction?"
Perhaps there are only right directions, which is the one we choose to travel in.
I recently put Ubuntu on my Hard disk. Is it good? Good enough. Good enough for many users. Where Puppy scores is in speed and smallness. Where Ubuntu scores is available packages, support and promotion. So it makes sense to see how these components can be complemented. Will I be using Ubuntu on the hard drive? I doubt it, might play with it a little. Every time I try and install something it wants passwords. Firefox with Flash plays BBC programs full screen. That is good.
I look forward to 4.2 and to Woof. Will I be using Ubuntu - probably not much, if at all, it reminds me of a free version of Windows. For may people that is what they want. What I want is Puppy with access to all the Ubuntu programs, that would be ideal - Woof? Woof! Woof!

Posted on 22 Nov 2008, 20:53 by Sage
Uh, lob. : Ubuntu = Debian !

Posted on 23 Nov 2008, 2:46 by ferukenagy
I hardly expect woof! binary compatibility with ubuntu/debian is very good for those big reposytories all over the world. (I loved puppy 300 slackware compatibility).After puppy even xubuntu is far too bloated and laizy not to mention kubuntu.I am imagine an small super fast (like barebone) woof-puppy , on which evreybody with apt-get (or maybe synaptic) should easyly make his custom puppy.Imagine instead of one big laizy ubuntu , an small woof-puppy with different pupsave files tailored by everybody needs (work,internet...)
On reporting hardware problems may be an extra help comparing puppy with ubuntu-live behavior.
Instead of uploading puppy user variants iso files, it would be more bandwith cheaper to upload puppy variants 'meta-package' file...
Well it sounds to be a lot of fun.We could accept for this a little fatter puppy...

Posted on 23 Nov 2008, 3:37 by dogone
Puppy goes Woof not
I'd like to commend Barry for thinking outside the box that Puppy comes in. Woof has the potential to push the Puppy concept into the mainstream. Let's face it, Puppy's stable of 300+ .pets cannot compare to what Ubuntu/Debian offers. As Linux grows, people are bound to expect more.

Here's an exercise. Boot your Puppy and then close your eyes. Now imagine opening Software Manager and finding there 15,000 applications.
Now, imaging closing and opening SM again and finding just 100.

Posted on 23 Nov 2008, 6:43 by BarryK
Woof brings your slippers too
And your newspaper and pipe.

I'm designing Woof-Unleashed to potentially handle any binary packages, including Slackware or those built from T2.

My '2createpackages' script builds "generic" packages, with a name like "xorg_base" for example, no version number, and there is a master table that defines what distro packages have to go into that generic package -- the table does not have version numbers either, I get that by downloading a package list for a particular distro release, such as Ubuntu Intrepid. It would be a matter of changing to a different table for T2 or whatever, and a packages file would be required which has the version numbers in it -- hopefully pretty easy to do (very hopefully).

Posted on 23 Nov 2008, 12:06 by dogone
Avoiding Ubuntuisms
Just wondering Barry, how immune Woof will be to dependency problems in Ubuntu's packaging system. My own experience has been good but not perfect. Will Woof offer users any protection in this regard? Woof will, after all, depend upon Ubuntu.

Posted on 23 Nov 2008, 14:06 by Sage
Wrong direction?
Quite frankly, apart from enthusiasts reading this blog, I don't believe the great unwashed, who, eventually, drive all the technology and their markets, give two hoots what may or may not be available in packages, with or without manipulations that are beyond their ken. What is required, is a correct selection of apps. in the first place that enable them to access the Web, play their music and PRINT N' SCAN their photos as soon as they switch on. Reliable updates and regular fixes are the sine qua non. A few games of patience are a bonus, but power games are best left to PS3 and Wii.
Simple, sweet, cheap & portable - K.I.S.S. by any other name - always marks out engineers of all persuasions.

Posted on 23 Nov 2008, 24:08 by dogone
Synaptic frontend?
You may have considered this Barry, but how about employing Synaptic as Woof's PM UI and your scripts to de-bloat downloads and modify/manage the local database? Your scripts would leverage Synaptic while maintaining complete control. It could be a beautiful marriage.

Posted on 24 Nov 2008, 4:59 by Gert3d
puppy on eBay
Someone is making money from your work ...

puppy is a great job, well done, fun to use!
Hope it will stay around and not misused!

Posted on 30 Nov 2008, 12:07 by Guy Alfandary
Why not Fedora instead of Debian?
It seems to be much more up to date (cf. http://distrowatch.com/).

Posted on 23 Dec 2008, 4:49 by Andreas Rumpf
Note: I am the author of Nimrod.

I am sorry, I didn't get any email from you. (Or maybe your mail got into my spam folder. I don't check that often.)

Nimrod does not link GTK statically. It links dynamically via the 'dlsym' mechanism. However, since this is done for every GTK function, the result is the code bloat that you noticed. Dead code elimination will fix this and is on my todo list.