Re: Released: WDLGO_UbuntuFocal64 mini-apt/dpkg experimental system
wiak wrote: ↑Sat Jan 30, 2021 1:23 pmThis 'report' came quicker than I expected because I have sadly just discovered an incompatibility issue with BionicPups compared to official UbuntuBionic.
Good news is that I have now completed WDLGO_Bionic32 standalone distro. The build script I'm working on that produced this also automatically extracted all components required for a Puppy Bionic dpkg/apt addon (and auto-made two sfs files out of these).
Alas, bad news, had this addon been for FossaPup the dpkg/apt addon sfs files were instantly ready to use. But... to my horror, on going to try them out in the BionicPups I discover to my horror that none of these Bionic-based Puppy distros have adopted Ubuntu-compatible lib and /usr/lib arrangements - i.e. they have arranged these lib directories via symlinks rather than the original Ubuntu way, and are therefore not directly compatible. Hence the sfs files cannot simply be loaded. In particular, the directories /lib/i386-linux-gnu, and /usr/lib/i386-linux-gnu are symlinks in Puppy, whereas in UbuntuBionic official they are actual directories.
I discovered that last night also when trying to upgrade Xenai/Puli with WDLGO_Focal64 firstrib_rootfs (see thread). I also had this issue when I was building Tiny Puduan via woof-next. As happened before it breaks gdk-pixbuf-query-loaders because this tool expects the loaders to be in a very particular place. This meant in my recent experiment that the icons on rox were broken. I was going to post about it but wanted to sleep on it.
The issue was fist addressed in the following pull requrest:
get rid of the multiarch symlink #1224
but this pull request was closed because the work was instead first done in an experimental branch, which was presumably then merged into puppy but the link to the experimental branch no longer exists . Needles to say they eventually got rid of the multiarch symlink hack.
The sfs loading of WDLGO's firstrib_rootfs dpkg/apt component parts, which are absolutely compatible with upstream Ubuntu directory organisation will thus not work out-of-the-box. Of course, their contents 'could' be moved to the various places Puppy Bionic has chosen to arrange things - probably just need to copy all the libs across to /lib and /usr/lib rather than to i386-linux-gnu, but that is extra work and messy and any sfs would need rearranged accordingly. I will think about it, but probably leave such manipulations to anyone else who can be bothered...
I think if one wants dpkg support then the puppy files need to moved into the multi-arch directories because extracting via tar can break symlinks and dpkg probably does this. If one is using the core W_LGO suite, there is no package manager included and the symlinks can be kept. In this case the W_LGO could be merged into puppy in a way to preserve the symlinks.
However, I will of course be publishing the overall WDLGO_Bionic32 standalone distro iso, and, as I say, anyone who wants to take its component parts and merge it into the otherwise compatible (I hope) BionicPup32 is welcome to do so. Similarly with WDLGO_Bionic64.
I think if we are going as far back as bionic I'd be more interested in a 32bit system but I suppose you have build scripts for these things. I will note though that there is an extra step that one must take. The puppy package manager must also be fixed because in old versions of the ppm, the multi-arch symlink will be recreated by first moving the files and then making the symlink again.
Thank goodness, that the file-system structure adopted in FossaPup64 does seem to mirror that of official UbuntuFocal and hence compatible also with WDLGO_Focal64 structure making the dpkg/apt addon a breeze.
I agree. The multiarch symlink appears to have been a mistake.