Multi-architecture Woof

Woof has quite a lot of binary executables in it. For a long time I have known that I would eventually have to do something about these, as Woof moves to support other architectures such as x86-64 and ARM.

The way I was thinking of implementing it, is move all the binary executables into a directory. For example, support/printcols. Move it to:

binaries/native/x86/support/printcols

Then there would be, for example:

binaries/native/arm11/support/printcols

There would have to be two variables:

DISTRO_BUILD_NATIVE_ARCH=arm11
DISTRO_BUILD_TARGET_ARCH=arm11


One of the early build scripts would read those variables, then scan the appropriate binaries sub-directory and create symlinks to all the binary executables.

So, there would still be woof-tree/support/printcols, but it would be a symlink.

An example of a "target" binary executable would be rootfs-skeleton/usr/sbin/pngoverlay. That would be moved to:

binaries/target/x86/rootfs-skeleton/usr/sbin/pngoverlay

This mechanism is quite simple to implement, and Woof will work without any changes, except will have to recognise "target" symlinks and copy the destination file into the build, not just the symlink.

Any thoughts on this from other developers welcome.


Posted on 30 Oct 2011, 8:14


Comments:

Posted on 30 Oct 2011, 8:15 by BarryK
Re Multi-arch Woof
Even better, don't have symlinks at all, just copy the binaries into the correct place in Woof, for example copy binaries/target/x86/rootfs-skeleton/usr/sbin/pngoverlay to rootfs-skeleton/usr/sbin/pngoverlay.

Then, Woof will work without any mods at all.



Posted on 30 Oct 2011, 13:05 by ttuuxxx
woof
Hi Barry I just finished compiling a new GTK2 backend for 2.14X again, This time I used all the latest, Strange how dep's creep into builds, like Python for a couple of glib scripts, Or I had to update Xcomposite for gtk, anyways I used the same version of deps that GTK3 needed for the build, So I killed 2 birds with one stone, I then compiled GTK-3.3 and compressed the i386 directory gtk+-3.3.2-i386 as sfs and it only added 1.7MB compressed, So I was thinking it might be good to add gtk3 to Wary, It does open a lot of doors to the latest software. And 1.7MB really isn't much of addition to a iso. Anyways Just an idea. GTK3 took no more extra deps than the latest GTK2 needed.
ttuuxxx


Posted on 30 Oct 2011, 24:59 by noryb009
Split rootfs-skeleton into .pets
Just an idea, but what if you don't have a rootfs-skeleton, and just have a rootfs-skeleton repo? This would allow puplets to be built without some default things (like support for JWM for an IceWM puplet, or even a puplet without X). It would also allow for new architectures to be added without modifying woof after the initial implementation.


Posted on 31 Oct 2011, 6:29 by disciple
what doors, ttuuxxx?
> So I was thinking it might be good to add gtk3 to Wary, It does open a lot of doors to the latest software.

What doors? I've installed a very large number of programs in my new Arch install, but the only one so far which is using GTK3 is audacious, and I'm pretty sure it can still be built with GTK2.

I'm actually a little disappointed - I thought more things might build with GTK3 by default now, in which case it would be worth looking into whether I could port some of the small unmaintained programs.