Applying the KISS principle to universal packages
The main contenders for "universal packages", that is, apps that
will run on any Linux distribution, are AppImages, Flatpaks and Snaps.
I have been studying them. AppImages seem a bit too limited, though a
simple concept. Flatpaks and Snaps are very complicated, and after much
reading, I think that there is a much easier way to achieve similar
goals.
Thinking about a very simple mechanism for universal packages, it
would seem that I need a proper CLI package manager, instead of PPM
(PETget Package Manager, or Puppy Package Manager). Then I remember,
there is such as project, named Pkg.
Pkg is a mammoth effort by Puppy Forum member sc0ttman. The project is described here:
http://murga-linux.com/puppy/viewtopic.php?p=985654
There is older discussion here:
http://murga-linux.com/puppy/viewtopic.php?t=111468
The project is online, at gitlab:
I downloaded:
# git clone git://gitlab.com/sc0ttj/Pkg.git --depth 1
My idea for a universal package system, is to use what is already
there, the DEB and RPM repositories, and their superb versioning and
updating handling. The idea is simple: choose a package from a
Debian/Ubuntu/Devuan/whatever repo, in a container in Easy, download it
and all deps -- the secret is to download most deps, overwriting many
packages that are already in the underlying q.sfs. A few details to fill
in, but that's it, essentially.
The important point here, is that containers in Easy are complete,
containing the entire Easy filesystem. This is because every container
has q.sfs as a read-only layer in it. Other distros do not have this,
they construct cut-down containers.
Each container in Easy has its own complete package manager. Which is
where sc0ttman's Pkg may have a roll to play. I need to be able to do
many operations from scripts.
Of course, my idea needs a name, so I reckon EasyPaks is appropriate! That's it, I officially name my universal packaging system EasyPak. With due acknowledgement of these guys!:
https://www.easypak.net/
Tags: easy