Working on integrating PKGget ppm with dpkg and apt
I am working on doing what the title says. I know that rockedge, sc0ttman and others are also working in the area, and posting in the Puppy Forum. As EasyOS is somewhat diverged from the mainstream pups, I decided to code this from scratch. So far have these executables, in /usr/local/debget:
debdb2pupdb (binary)
files-pup2dpkg-single
pupdb2debdb-single.sh
setup-apt
sync-dpkg2pupdb
sync-new2dpkg
sync-woof2dpkg
'setup-apt' uses 'apt-get' to download the Debian package db
files. These will be in /var/lib/apt/lists.
'sync-woof2dpkg' is intended to run once. It will convert all the entries in /root/.packages/woof-installed-packages to dpkg entries in /var/lib/dpkg/. This is so that apt and dpkg will recognize what is already installed.
'sync-new2dpkg' does the same thing, for a new user-installed package (using PKGget).
'sync-dpkg2pupdb' will convert the Debian package database files in /var/lib/apt/lists to Puppy-format database files in /root/.packages.
Currently defaulting to Debian bullseye. The running EasyOS (or pup) doesn't have to be built with Debian bullseye .deb packages -- it could be, for example, EasyOS Dunfell-series (which is built with packages compiled in OE).
How these scripts will go together is not yet implemented. For now, might target continuing to only use PKGget (ppm), and it will now have, in addition, the Debian bullseye repos.
Very much a work-in-progress!
Note, I had to stop working today, as the vision became blurry.
This sometimes happens when I spend too much time in front of the
computer. There is a kind of blurry semi-circle, off-centre, which
mucks up seeing the screen clearly. Had this several times over
last few years. Fixed by stopping working on the computer, resting
the eyes for a couple of days.
Using the computer now, but will keep it short. So, progress on
this new project might be slow for awhile.
EDIT 2022-09-03:
Have added script 'sync-remove2dpkg', for when uninstall a
package via PKGget (ppm). This will also remove corresponding
entries in dpkg.
Note, a pup-format package, installed or
removed, may equate to one or more packages in dpkg. For
example, The Dunfell-series of EasyOS is built with packages
that are together, not pulled apart into separate packages as
Debian does. So if PKGget installs, say, 'abiword' from the
Dunfell pkg repo, it will be one package. But that equates to
five packages in the Debian repo -- 'abiword', 'abiword-common',
'abiword-plugin-grammer', 'gir1.2-abi-3.0', 'libabiword-3.0'.
The scripts handle this!
Tags: easy