Support for building with Void .xbps packages

Moderator: BarryK

Post Reply
User avatar
BarryK
Posts: 2273
Joined: Tue Dec 24, 2019 1:04 pm
Has thanked: 93 times
Been thanked: 564 times

Support for building with Void .xbps packages

Post 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.

User avatar
rockedge
Site Admin
Posts: 5719
Joined: Mon Dec 02, 2019 1:38 am
Location: Connecticut,U.S.A.
Has thanked: 1997 times
Been thanked: 2099 times
Contact:

Re: Support for building with Void .xbps packages

Post by rockedge »

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

User avatar
BarryK
Posts: 2273
Joined: Tue Dec 24, 2019 1:04 pm
Has thanked: 93 times
Been thanked: 564 times

Re: Support for building with Void .xbps packages

Post 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.

User avatar
BarryK
Posts: 2273
Joined: Tue Dec 24, 2019 1:04 pm
Has thanked: 93 times
Been thanked: 564 times

Re: Support for building with Void .xbps packages

Post 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

User avatar
BarryK
Posts: 2273
Joined: Tue Dec 24, 2019 1:04 pm
Has thanked: 93 times
Been thanked: 564 times

Re: Support for building with Void .xbps packages

Post 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.

jamesbond
Posts: 539
Joined: Tue Aug 11, 2020 3:02 pm
Location: The Pale Blue Dot
Has thanked: 75 times
Been thanked: 292 times

Re: Support for building with Void .xbps packages

Post 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.

User avatar
BarryK
Posts: 2273
Joined: Tue Dec 24, 2019 1:04 pm
Has thanked: 93 times
Been thanked: 564 times

Re: Support for building with Void .xbps packages

Post 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:

Attachments
cvt.sh.gz
has false .gz
(3.12 KiB) Downloaded 35 times
Post Reply

Return to “EasyOS”