woofV packages-templates redesigned
Continuing the woofV project. Recent relevant blog posts:
- Tweak Kirkstone package db format — January 28, 2024
- Installing PET packages in XBPS-managed system — January 24, 2024
- woofV create initrd — January 23, 2024
- Start create woofV builtin to EasyOS — January 22, 2024
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:
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