site  contact  subhomenews

Working on integrating PKGget ppm with dpkg and apt

September 02, 2022 — BarryK

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