void-linux / xbps

The X Binary Package System (XBPS)
https://voidlinux.org/xbps/
Other
821 stars 124 forks source link

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

Closed iFoundSilentHouse closed 8 months ago

iFoundSilentHouse commented 8 months ago

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

classabbyamp commented 8 months ago

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

iFoundSilentHouse commented 8 months ago

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.

classabbyamp commented 8 months ago

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)
iFoundSilentHouse commented 8 months ago

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?

iFoundSilentHouse commented 8 months ago

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

iFoundSilentHouse commented 8 months ago

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.

classabbyamp commented 8 months ago

set XBPS_TARGET_ARCH to the desired architecture

iFoundSilentHouse commented 8 months ago

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