Page 1 of 1

Support for building with Void .xbps packages

Posted: Sun Sep 03, 2023 1:02 am
by BarryK

Thanks to heaps of work that @peebee, @wiak, @rockedge, @jamesbond and others have done, I was able to get off to a flying start supporting Void Linux .xbps packages in woofQ.

This was the start a few days ago:

"Mime handling for Void Linux .xbps packages"
https://bkhome.org/news/202308/mime-han ... kages.html

Then yesterday:

"woofQ support to build with Void .xbps packages"
https://bkhome.org/news/202309/woofq-su ... kages.html

And today:

"Fix convert Void pkg db to Puppy db format"
https://bkhome.org/news/202309/fix-conv ... ormat.html

Regarding that last post, support/void/cvt.sh does not do quite what I want, so I hacked some post-processing. At this point, I wish that I understood awk a bit better.

Also, support/void/makepkgdb.sh spat out lots of error messages, so I commented it out (for now):

https://github.com/bkauler/woofq/commit ... c83f9c6fcd

Right now, thinking how to implement usr-merge support in woofQ.

Note, I'm thinking of not having 'xbps' nor 'vpm' packages, just use PKGget (ppm). One reason is to keep a tight rein on updates. Perhaps updating a package may break the installation. Instead, package updates will only occur at the next release of EasyOS, when a new 'easy.sfs' is built -- this will be an "atomic" update and everything will work.


Re: Support for building with Void .xbps packages

Posted: Sun Sep 03, 2023 1:24 am
by rockedge

@BarryK Very exciting developments! I am following along......


Re: Support for building with Void .xbps packages

Posted: Sun Sep 03, 2023 5:22 am
by BarryK

A note about 'INSTALL' scripts in .xbps packages.

I put in code in /usr/local/petget/installpkg.sh to run 'INSTALL' when a package is installed. This also requires /usr/libexec/xbps-triggers folder be present, that I got out of the Void rootfs and put it into rootfs-skeleton.

In woofQ, I put code into '2createpackages' to accumulate all of the 'INSTALL' scripts, renamed to INSTALL:<pkgname>:<version>:

https://github.com/bkauler/woofq/commit ... dae69c2e2e

Then when '3buildeasydistro' executes, all of those INSTALL* scripts will be in rootfs-complete, and a chroot operation into rootfs-complete will execute them all, running a script 'accum-install.sh':

https://github.com/bkauler/woofq/commit ... e2de8804e5

Here is accum-install.sh:

https://github.com/bkauler/woofq/commit ... 0f093f14dd

...not yet tested.


Re: Support for building with Void .xbps packages

Posted: Sun Sep 03, 2023 10:56 am
by BarryK

I'm thinking of changing to usr-merge being the only supported mode in woofQ.

It will require huge modifications to OpenEmbedded and woofQ, but I think the end-result will be much cleaner. Have posted to my blog about it:

https://bkhome.org/news/202309/oe-and-w ... merge.html


Re: Support for building with Void .xbps packages

Posted: Thu Sep 07, 2023 12:06 pm
by BarryK

Attention Woof-CE developers!

I have fixed a bug in support/void/cvt.sh

This was written by @jamesbond and I think that @peebee committed it to woof-ce github.

Here is my blog post explaining the fix:

https://bkhome.org/news/202309/more-fix ... ormat.html

I tackled fixing cvt.sh despite hardly knowing anything about awk, and haven't got a clue what that 'xml2' executable does. Just applied some logical thinking.

I don't commit directly to Woof-CE on github, as don't want to interfere, so if one of you Woof-CE developer guys want to look at my cvt.sh changes with a view to committing, then go for it.

Note that my cvt.sh appends "|void|current||" on the end of each Puppy db entry; you will probably want to change that.


Re: Support for building with Void .xbps packages

Posted: Sat Sep 09, 2023 2:26 am
by jamesbond

I've reviewed Barry's changes to the script, and it's all good :thumbup2:
I'll leave to @peebee if you want to merge this one to woof-ce.


Re: Support for building with Void .xbps packages

Posted: Mon Sep 11, 2023 2:02 am
by BarryK

I have modified cvt.sh, fix the dependencies field:

https://github.com/bkauler/woofq/commit ... c3f4cc0af2

The index.plist has deps for GraphicsMagick:

Code: Select all

		<array>
			<string>ghostscript&gt;=0</string>
			<string>glibc&gt;=2.36_1</string>
			<string>libgraphicsmagick-1.3.40_1</string>
		</array>

And the previous cvt.sh generated the deps field:

Code: Select all

+ghostscript,+glibc,+libgraphicsmagick-1.3.40_1

I have fixed cvt.sh, now generates:

Code: Select all

+ghostscript,+glibc,+libgraphicsmagick

There is a commented-out line in cvt.sh, and it is possible to generate version info:

Code: Select all

+ghostscript,+glibc&ge2.36_1,+libgraphicsmagick

...though, it doesn't generate "&eq1.3.40_1" appended to "libgraphicsmagick"
...should be doable if you understand awk coding.

The latest cvt.sh is attached, with a false ".gz" appended: