site  contact  subhomenews

Package name translation OE to Void

January 31, 2024 — BarryK

easyVoid is built with many packages from EasyOS Kirkstone-series. These are packages compiled in OpenEmbedded. woofV will build easyVoid from Void .xbps, Kirkstone .tar.xz and .pet packages. The build process converts the .tar.xz and .pet packages to .xbps and then installed with the XBPS package manager. At least, that's the plan.

One important step to avoid confusing XBPS is that the .tar.xz-converted packages should have the same name as one that might already be in the Void package repository. For example, OE names all packages lower-case, such as 'libxau', whereas Void names it 'libXau'. Another example is hyphen inserted, for example 'psc-lite' and 'psclite'.

Note that mostly Kirkstone packages are used when the same does not exist in the Void repository, such as 'rox-filer', so naming is not an issue. In a few cases though, such as 'networkmanager', have chosen the Kirkstone package instead of the Void 'NetworkManager'.

I wrote a script that finds these equivalent packages but with different names, and have uploaded translation tables here:

https://github.com/bkauler/woofq/tree/main/easyos/easy-code/rootfs-skeleton/usr/local/woofV/support/name-oe2void

Slowly but surely working toward woofV becoming functional. As long as no show-stopper comes along.    

Tags: easy

woofV packages-templates redesigned

January 29, 2024 — BarryK

Continuing the woofV project. Recent relevant blog posts:

Woof, right from the very early days, has a folder 'packages-templates', which, in a nutshell, has hacks to modify a package before and after installation. Back in the early days, the main reason for this mechanism was to reduce the size of packages. Another purpose was that packages could come from different distribution repositories, and might need some massaging -- for example some files kept in unexpected places.

We are not so much concerned about size reduction these days; however, 'packages-templates' is still useful. The format of information in 'packages-templates' has remained the same in WoofQ as the very early Woofs. Same as Woof-CE "legacy" branch:

https://github.com/puppylinux-woof-CE/woof-CE/tree/legacy/woof-code/packages-templates

This old mechanism is extremely cumbersome and slow to process. The Woof-CE developers have, over the years, simplified it. In particular, forum member dimkr has worked on it, see the "testing" branch:

https://github.com/puppylinux-woof-CE/woof-CE/tree/testing/woof-code/packages-templates

The very ambitious plan for easyVoid is to have a new Woof, "woofV", and it will be builtin, available in a running easyVoid. It will be found at /usr/local/woofV. In /usr/local/woofV/pkg-fix is the folder 'packages-templates'.

The time has come for me also to redesign the format in 'packages-templates'. Here it is:

https://github.com/bkauler/woofq/tree/main/easyos/easy-code/rootfs-skeleton/usr/local/woofV/pkg-fix/packages-templates

It took a couple of very intense and tedious days to convert the old format to the new one. Anyway, just now finished and uploaded.

The script that reads the information in 'packages-templates' has not been uploaded, as it is still in a state of flux. What will happen is that each package that has a matching folder name under 'packages-templates', is expanded, processed, then rebuilt into a package and then installed with the XBPS package manager into the rootfs.

easyVoid is also built with a lot of Kirkstone packages, and they will be processed the same way. Whether requiring processing via 'packages-templates' or not, they will always be opened up and rebuilt as .xbps packages, so that the XBPS package manager can install them.    

Tags: easy

EasyOS Kirkstone-series version 5.6.6 released

January 28, 2024 — BarryK

Online release notes:

https://distro.ibiblio.org/easyos/amd64/releases/kirkstone/2024/5.6.6/release-notes.htm

Here are the highlights, since 5.6.5:

Download the drive-image file:

https://distro.ibiblio.org/easyos/amd64/releases/kirkstone/2024/5.6.6/

Feedback is welcome in the EasyOS section of the Puppy Forum:

https://forum.puppylinux.com/viewtopic.php?p=110536#p110536

Have fun!            

Tags: easy

Tweak Kirkstone package db format

January 28, 2024 — BarryK

The "Puppy package database" format goes right back to the early days of Puppy, and still used in EasyOS. This is what 'petget' and 'PKGget' (PPM) understand. For a pup built with, say, Debian .deb packages, the Debian package database is converted to Puppy-db format.

The pup-db format is very simple; each package db entry is on one line. In the case of EasyOS Kirkstone-series, the binary packages are imported from OpenEmbedded and file 'Packages-oe-kirkstone-official' create, which is the pup-db format. You can find this file in /root/.packages. Here is one line of that file:

acl-2.3.1-r6|acl|2.3.1|r6|BuildingBlock|628K|kirkstone|acl-2.3.1-r6-nocona-64.tar.xz|+attr|Utilities for managing POSIX Access Control Lists|oe|kirkstone||

The tweak that I have made, is that it used to be (up until EasyOS 5.6.5):

acl-2.3.1-r6|acl|2.3.1-r6||BuildingBlock|628K|kirkstone|acl-2.3.1-r6-nocona-64.tar.xz|+attr|Utilities for managing POSIX Access Control Lists|oe|kirkstone||

...that fourth field is supposed to contain the package revision-number, or build-number. However, I hadn't separated the "-r6" from the third field, the version number.

It is a small change, just making it more as originally intended. Hopefully this fix won't upset any scripts.   

Tags: easy

MSCW not run at first bootup

January 27, 2024 — BarryK

In a pristine new install of EasyOS, at first bootup the MSCW (Multiple Sound Card Wizard) runs.

MSCW is supposed to enable you to select between different audio interfaces, unmute and set the level; however, some people have reported that it messes up the sound, that is, sound does not work until after a lot of messing around.

Those people have found it best to not run MSCW at all; instead, just middle-click on the speaker icon, then left-click to bring up the volume.

I need to study the MSCW code and try and figure out why it isn't working properly for some people. In the meantime, a quick fix is to not run MSCW automatically at first bootup; instead, run this:

img1

Note, EasyOS Kirkstone-series version 5.6.6 is expected to be uploaded very soon.   

Tags: easy

mdview update compiled in OpenEmbedded

January 27, 2024 — BarryK

Continuing from the post earlier today:

https://bkhome.org/news/202401/mdview-markdown-viewer-updated.html

mdview version 2023.12.12 has been compiled in OpenEmbedded and will appear in the next release of EasyOS, Kirkstone-series. That will be 5.6.6 and probably will be uploaded in a few days.   

Tags: easy

mdview markdown viewer updated

January 27, 2024 — BarryK

Forum member jamesbond is the developer of mdview. Here is his original documentation in 2015:

https://www.lightofdawn.org/blog/?viewDetailed=00141

Forum member don570 informed me that EasyOS has a very old version. Yes, James has been updating it, and the latest is using gtk3. I downloaded the 2023.12.12 source tarball, with the intention of compiling it in OpenEmbedded.

I upload source packages to ibiblio.org ...except that ssh login is currently not working. Not just me, others cannot login either:

https://support.ibiblio.org/

We are so reliant on all of these services to work! Just today I was watching a documentary how reliant we are on undersea fibre-optic cables; we would be paralyzed if a hostile entity cut them.

To compile the source in OE, need to give a URL for the source. Well, could get it direct from Jame's Fossil repository. Anyway, have uploaded the source tarball to this blog:

mdview-2023.12.12.tar.gz

Very interesting the other old projects that James is maintaining:

https://chiselapp.com/user/jamesbond/     

Tags: easy

Installing PET packages in XBPS-managed system

January 24, 2024 — BarryK

Continuing with developing woofV, here is the previous post:

https://bkhome.org/news/202401/woofv-create-initrd.html

woofV will build easyVoid built with .xbps packages -- nothing new yet, that is what easyVoid 6.0.1 does -- but woofV will build using the XBPS package management system.

There is a vital distinction here. 6.0.1 is like the traditional pups; binary packages of any distro can be used (what we call the "compatible" distro). The method is that the package database of that distro is converted to "Puppy DB" format, and PKGget (or PPM in the case of the pups) is used as the package manager. The package manager of the original distro, such as APT for Debian, or XBPS for Void, is not used at all.

If you have used easyVoid 6.0.1, you will have seen that PKGget works OK. It is a nice GUI for installing packages. It also has a great advantage, compared with most other package managers, in that it is a chameleon -- it can install just about any type of package, for example .deb, .rpm, .tar.xz, .pet or .xbps.

Some of the recent pups and derivatives have given up on the PPM and adopted the package manager of the compatible distro. The basic reason is, it is very difficult to have both.

With woofV I am attempting to build easyVoid based on XBPS package manager, retaining PKGget as a GUI frontend. Which is quite a challenge.

As a step in this direction, I have written a script that installs .pet packages and also registers them with XBPS. There are two main hurdles:

  1. Most .pet packages are not usr-merge
  2. The XBPS manager cannot install a .pet package, only .xbps

All of the Woofs have a table, a variable PKGS_SPECS_TABLE, with a list of packages that are to used to build the SFS (or multiple SFSs) which will be the rootfs. These packages can come from different places, some from the compatible-distro, some from other distros, and some PETs.

If the core package manager is XBPS, then a PET package will have to be converted. Firstly, converted so that the folder hierarchy is usr-merge. Secondly, converted to a .xbps package so that XBPS manager can install it.

That is what this script, 3populate-rootfs, does:

https://github.com/bkauler/woofq/blob/main/easyos/easy-code/rootfs-skeleton/usr/local/woofV/rootfs/3populate-rootfs

...cannot guarantee that what you see there right now is working; it was, but I have made some enhancements before uploading to github and not yet tested. The script shows the principles anyway.

There were issues with a few PETs; the 'xbps-create' script couldn't convert to .xbps. For example:

Success, folder tas-1.15-easyos created
xbps-create: ERROR: invalid pkgver! got `tas-1.15-easyos_1' expected `foo-1.0_1' No such file or directory
ERROR: NAME='tas' VER='1.15-easyos_1'
ERROR failed: xbps-create -n "tas-1.15-easyos_1" -s "Screenshot utility" -A x86_64 -D "" "/mnt/wkg/data/woofV/sandbox/tas-1.15-easyos"

...those last two "ERROR: ..." lines are echo statements that I put into the script to try and figure out what is going wrong.

The PET is 'tas-1.15-easyos.pet' and expanded to folder 'tas-1.15-easyos'. I do not know why xbps-create objected to the name-version string of "tas-1.15-easyos_1". There were so many other PETs with far weirder package naming that xbps-create was quite happy with. Really odd.

I will play with renaming the PET, maybe to 'tas-1.15.pet', surely that will be acceptable. Hopefully "tas" is not some kind of keyword.    

Tags: easy