Puppy Future Development

an incubator for software projects


Moderator: Forum moderators

Post Reply
User avatar
wiak
Posts: 4069
Joined: Tue Dec 03, 2019 6:10 am
Location: Packing - big job
Has thanked: 65 times
Been thanked: 1200 times
Contact:

Puppy Future Development

Post by wiak »

Following on from this post:

viewtopic.php?p=9553#p9553

Actually, in my own opinion, there would be no better future for Puppy Linux than to adopt Void Linux package manager xbps as its core/default package management system. Yes, that would imply using Void Linux repos, but Void per above review, users have great control over producing repos of their own and Void package manager is full dependency-resolving and has proven to be bullet-proof.

At first sight that may 'sound' like Puppy Linux would then just be Void Linux, but no, not at all - I am only talking about adopting Void package manager, which has additional immediate benefit of being 100% dependency-resolving compatible with Void repos. Void package manager is supported upstream by a team of experienced developers; it is written in C so is inherently blazingly fast and efficient - why reinvent such a flexible wheel and what chance of ever achieving such a great result here as provided by xbps and thus available anyway???! (dpkg/apt too complex with too many Debian dependencies - xbps is self-contained and really distro-independent). What I'm implying is that the underlying system components, aside from that, can be pure Puppy, but with a big advantage - modes such as Pupmode 12, 13 and so on, can be implemented in a newly written Puppy initrd, but unlike the current implementation these modes could be implemented in a very distro/package-manage agnostic manner (rather than as current situation where the Puppy initrd needs all sort of Puppy config info from various Puppy-only config files for its operation). The rest of Puppy system remains pure Puppy, pup-volume monitoring and event handling and so on - there would be no need to use Void xbps to include any other Void system components (though runit might be a good choice for Puppy rather than sticking to stick-in-the-mud old sysVinit and a few others, to easily provide full multiuser support, which is main feature Puppy lacks, might be optionally worth including).

The creation by Puppy developers of a distro-agnostic boot initrd would also however open the doors to allow Puppy to provide/use alternative package managers to a default-provided xbps anyway - including, for example, Pkg, though perhaps Puppy-specific config files would have to be included for that option to still work (distrospecs and so?), but maybe even that requirement could be removed? Main point of Puppy Pkg option would be to allow Debian/Ubuntu/Slackware support alternatives provided by Pkg, but truth is, with a non-Puppy-configfile-dependent boot initrd, it becomes perfectly possible to use official Debian/Ubuntu apt package manager without dpkg database corruption as mixed PPM/dpkg attempts otherwise cause. It would also allow Puppy to use alternative initrd designs easily (since that agnostic initrd approach does not force the initrd to read Puppy config files). WeeDogLinux initrd, as simply an example of an 'agnostic' initrd, can already be used immediately to boot a Slackware root filesystem or a Slitaz root filesystem or any filesystems provided upstream by the likes of Debian, Ubuntu, or Devuan; not as simple or tidy or efficient as default of xbps but useful for 100% debian repo dependency-resolving capability). Current/traditional Puppy initrd, on the other hand relies on reading/embedding-info-for Puppy config files, so can only be easily used to boot traditional Puppy Linux itself, which really is an unnecessary and serious limitation in terms of flexibility and possibility. I'm certainly not suggesting WeeDogLinux initrd as a new initrd for future Puppy - no, not at all - Puppy should build its own new distro agnostic initrd to provide typical traditional Puppy functionality such as the Pupmodes I mentioned.

Anyway, woof-CE fine for now, but don't expect major Puppy advances through that template, whose main purpose always was simply to provide a template to keep traditional Puppy design alive and not at all ideal as a development environment for a continuing innovative Puppy that we would all like to see.

But, what the above scheme actually suggests is the production of a new ultra-flexible Puppy Linux that removes from this forum the mixed confusion of multiple very different distro designs, the Pups, the Dogs... a flexible new Puppy Linux could be configured to be any one of these and more. Yes, this is a suggestion that this is a time to unite rather than to simply collaborate.

wiak

https://www.tinylinux.info/
DOWNLOAD wd_multi for hundreds of 'distros' at your fingertips: viewtopic.php?p=99154#p99154
Αξίζει να μεταφραστεί;

User avatar
sc0ttman
Posts: 93
Joined: Sat Aug 22, 2020 3:55 pm
Has thanked: 4 times
Been thanked: 33 times

Re: Puppy Future Development

Post by sc0ttman »

I don't disagree with any of the above.. Void is slick as hell - and got added to the list of "big boys" pretty quick - it's often listed alongside Arch, Ubuntu, Debian, etc, etc in people READMEs, installers, etc ... Lots of people offer their stuff as Void packages..

So they must be doing something right!

But... I've said it before, but I'll point it out again:

If I (or anyone) could just learn Awk well enough to replace just two functions in Pkg, `list_deps()` and `find_deps()`, with much faster Awk-based alternatives, then Pkg will resolve deps way faster - not as fast as Void of course, but much, much faster than it is now..

And it does not need a big rewrite to happen - just someone good at Awk to replace list_deps() and find_deps() ...

...BTW, If we could also replace `get_pkg_name()`, `get_pkg_name_only()` with faster alternatives, then that would help too - as these funcs are not exactly slow, but they are called so often in Pkg.

williwaw
Posts: 1909
Joined: Tue Jul 14, 2020 11:24 pm
Has thanked: 168 times
Been thanked: 354 times

Re: Puppy Future Development

Post by williwaw »

Wiak,

nice visionary ideas. I see threads about the future of aufs, concerns about overlay and suggestions about links ala tinycore. Any thoughts about that side of puppy?

User avatar
wiak
Posts: 4069
Joined: Tue Dec 03, 2019 6:10 am
Location: Packing - big job
Has thanked: 65 times
Been thanked: 1200 times
Contact:

Re: Puppy Future Development

Post by wiak »

I have thoughts about such matters of course, but I don't develop Puppy so more often express my views indirectly via my own developments in WeeDogLinux.

viewtopic.php?p=12946#p12946

Using tinycorelinux symlinks method to load/unload sfs files seems a good universally workable way to do it.

https://www.tinylinux.info/
DOWNLOAD wd_multi for hundreds of 'distros' at your fingertips: viewtopic.php?p=99154#p99154
Αξίζει να μεταφραστεί;

User avatar
wiak
Posts: 4069
Joined: Tue Dec 03, 2019 6:10 am
Location: Packing - big job
Has thanked: 65 times
Been thanked: 1200 times
Contact:

Re: Puppy Future Development

Post by wiak »

wanderer has been advocating that method of symlinking in sfs files for many years,

wanderer wrote: Tue Dec 08, 2020 7:52 pm

i think the i in cp -ais
causes it to not overwrite existing links
it never prompts to my knowledge

it is what tinycore and dcore use
see the file
/etc/initd/sce-load

and I also commented on it back in early 2017 (as mcewanw) when I detailed how to build an almost Puppy-like system via tinycorelinux dCore:

http://www.murga-linux.com/puppy/viewto ... 637#946637

Note well that this is already very 'Puppy-like' being basically equivalent to loading and unloading an sfs (sce is in fact a squashfs) so no need to recreate that Puppy-like facility; it is already there...

and mentioned it somewhere in early 2019 WeeDog FirstRib developments as a possible way to load sfs rather than via aufs-type layering since I was acknowledging that load on the fly sfs was not easy to accomplish using overlayfs.

http://www.murga-linux.com/puppy/viewto ... 15#1028315

wiak wrote:

I'm hoping to modularise also the init/initramfd selection capability so users/developers can use alternative layering schemes whether based on aufs or my preference of using overlayfs (or later perhaps even using alternative symlink method similar to how tinycorelinux works, but overlayfs works so easily/well nowadays I'm not really convinced tinycore's many loop-mounted symlink system is worth bothering about (and overlayfs preferred since kernel adopted; I do also like to add container functionality, maybe via pflask mechanism later, but these are just extra frills and my main weedog concern is to make it truly simple to understand and use for forum members who are not guru-like but want to develop their own systems too. I'm not into producing a final polished distro sine I have no personal interest in that careful polishing work and there are others here who are much more interested and thus better at that than I ever would be.

Glad that a few here have been experimenting with implementing that tinycorelinux technique for Pups and Dogs.

https://www.tinylinux.info/
DOWNLOAD wd_multi for hundreds of 'distros' at your fingertips: viewtopic.php?p=99154#p99154
Αξίζει να μεταφραστεί;

GisselleEstrada
Posts: 1
Joined: Thu Mar 28, 2024 5:48 am

Re: Puppy Future Development

Post by GisselleEstrada »

It's intriguing to consider the potential benefits of adopting Void Linux's xbps package manager for Puppy Linux. Leveraging xbps could offer Puppy Linux a robust, dependency-resolving package management system without the complexity of Debian's dpkg/apt. This move could also provide access to Void's well-maintained repositories and the expertise of its development team.
To manage the progress of such a transition effectively, consider using a progress management tool. Such tools can help you break down the transition into manageable tasks, set timelines, and track progress.

Post Reply

Return to “Development”