void-linux / xbps

The X Binary Package System (XBPS)

Home Page:https://voidlinux.org/xbps/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

xbps-rindex commands from void-docs sign only packages of booted architecture

iFoundSilentHouse opened this issue · comments

I made a custom repo for 3 archs: x86_64, i686 and aarch64. Everything was done like instruction from void docs says. Repo was created and all files was signed with one key.

Testing from x86_64 was just fine: it prompted me with copying repo-keys in .plist format when xbps-install -S. Then checking .sig2 file and installing xbps-install <package-name> was fine too.

But when testing i686 it just didn't prompted repo-keys copying I have seen no

Fingerprint: bd:18:fc:14:f9:0e:ac:78:20:35:0e:7a:2b:0f:0d:68
Do you want to import this public key? [Y/n]

And then, obviously, install phase failed with signature failed.
Here's this repo: https://github.com/iFoundSilentHouse/helio-sequencer-void-linux/releases/tag/3.12_1

Additional info: testing was done with void linux live images

It didn't prompt for the key the second time because it was already imported

I'm sorry if I wasn't precise. i686 was a clean live image and when I xbps-install -S for the first time it didn't prompt for the key.

using github release assets like that will never work, host the repo properly:

$ file /tmp/wtf/var/db/xbps/https___github_com_iFoundSilentHouse_helio-sequencer-void-linux_releases_tag_3_12_1/x86_64-repodata    
/tmp/wtf/var/db/xbps/https___github_com_iFoundSilentHouse_helio-sequencer-void-linux_releases_tag_3_12_1/x86_64-repodata: HTML document, Unicode text, UTF-8 text, with very long lines (1616)

I can't understand. For me this file is zstand compressed data... what can be wrong if I just compile files with xbps-src, sign them and push to github assets?

It works for me on x86_64 on my repo and ungoogled-chromium repo

Update: signing repo with xbps-rindex commands from void docs works only for the same platform of machine that signes repo.
What I figured out: when booting on x86_64 machine signing works only for x86_64 package; when booting on i686 it works only for i686 accordingly.
The problem is not with github hosting: I tested it on local virtual server and the problem remains.

set XBPS_TARGET_ARCH to the desired architecture

That helped. Thanks. It's not that obvious so maybe I should commit this option to void docs?