rockedge wrote: Fri Aug 19, 2022 7:54 pm
@Clarity Since KLV is based on Void Linux, which is not Ubuntu or Debian at all and Void Linux uses runit and the excellent XBPS package manager, I think it would take major coding modification to have Pkg2 as KLV-Airedale's sole package manager.
Yes, runit is a big advantage on KLV-airedale compared to sysVinit, and xbps is a very fast and efficient package manager for all packages from Void (managing all the runit related pre and post scripts too) so it only makes sense that that is number one package manager for this distro. However, great to have Pkg2 as alternative extra since it potentially opens up possibility to use packages from other distros including Puppy repos and is as rockedge suggested a neat solution for installation of the many simple dotpet packages around. Yes, there are limitations and risks that are worth bearing in mind if you don't want to mess up your distro; in particular the move most distros have made to putting most all bins in /usr/bin and most all libs in /usr/bin, whereas many old dotpets might sometimes use /bin and /lib so will break... For future devs of dotpets though it would be good to use the likes of /usr/local hierarchy or perhaps /opt such that it becomes more easily possible to avoid clashes between xbps (Pkg manager main) and Pkg2 (package manager alien/alternative). Despite the lack of 'purity' and risks involved I think it is a great flexible situation to have such an arrangement and in true Puppy-style in terms of 'freedom/anarchy/user-chosen-risks' - we don't want our hands held too much here and if we do break the system ever, we learn from it, and can easily build it again anyway...
I'm also really interested in the idea of having a standalone package manager. In fact I originally developed firstrib/weedog to use Void's xbps precisely because a standalone static version of that could be used with busybox - and build what you like from that combination - (the WDL initrd being originally designed to boot it) - and most of that Void-based development was taken on and over by rockedge (I became busy with Arch linux primarily, as well as maintaining the build scripts, including the WDL initrd, and adding the weedogit script as an additional boot-most-any-distro/root-filesystem facility).
But if Pkg2 can, as it seems, also be used as a standalone package manager then that opens up another avenue for building simple WeeDogs via busybox + Pkg2 and again, via the well-established WeeDogLinux build_firstrib via one (or more if you wish) simple text file plugin(s), a method to build a distro of any complexity anyone wants. i.e. its great for KLV-Airedale, which is Void xbps based to also have Pkg2 functionality, but it also becomes similarly possible to build a KL distro in similar fashion that starts out with Pkg2 as it only or primary package manager.
I expect some core programs might be missing in that busybox/Pkg2-only scenario, but I imagine that matter could be addressed (for example, I remember hearing that original pkg depended on core-utils, which depends on other libs, whereas a change to make it work via busybox alone would be very beneficial for the scenario I am imagining). The end result is a very simple build distro system that (just like now for KLV-Airedale) uses only two simple scripts (and no complex skeleton root filesystem full of many additional secondary scripts needing to be downloaded too) plus a single build plugin (list of commands in text); i.e. one single script (with list of extra build commands provided by single text file plugin) builds the root filesystem (that is build_firstrib_rootfs) and the second script builds the initrd for that (being build_weedog_initrd).
Though as has been shown elsewhere on the forum the functionality of that second script can instead be done via a skeleton build of WDL initrd and (optionally) assembled automatically by weedogit.sh (which was created originally as a convenient way to try out frugal installs of other distros, but can also use any firstrib_rootfs build as its root filesystem component).
We have ended up with a very very simple build system that does not involve scripts called multiple other scripts or needing to download complex-designed skeleton root-filesystem as a pre-requisite. The two build scripts are the whole thing, so pretty easy to read/understand and learn to use them via a few build plugin exemplars - no gurus required, though of course the more you do such builds the more expert you become at it. It really is a bit like using LEGO and leaves the overall design up to the user/creator of the plugins - end result is you can really design any distro you like and/or simply steal the root-filesystem from elsewhere , such as mainline distros described at Distrowatch (and then, optionally, add the special KLV flexible sfs/frugal-install load/save-utilities being developed for KLV-Airedale team to any one of them - also allows you to modify any such mainline distro root filesystem, if you have the skill and wish, and then remaster it to any shape and form you might wish - and if you script the modifications you don't have to worry about restricted licensing issues regarding distribution of ready-made isos - just supply the build plugin script...).