Go based buildbot to build official Archlinux repos against -march & -O3
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
Giovanni Harting 15278e08cf added lazy-search 20 hours ago
ent Hash each PKGBUILD and compare before parsing, fixes #25 3 weeks ago
tpl added lazy-search 20 hours ago
.gitignore inital commit 3 months ago
LICENSE added license and service file 3 months ago
README.md Added first faq 1 month ago
alhp.service parse all packages right on start. output coverage stats. 3 months ago
config.yaml Added pre-build dependency version check (#32) 2 months ago
git_clean.sh newline for .sh, trying to get sudo to work 3 months ago
go.mod Hash each PKGBUILD and compare before parsing, fixes #25 3 weeks ago
go.sum Hash each PKGBUILD and compare before parsing, fixes #25 3 weeks ago
main.go purge delayed packages as a way to prevent non-buildable packages staying in repo in an outdated state 1 week ago
utils.go improve nspawn error handling 2 weeks ago

README.md

alhp

Build script for archlinux instructionset enabled repos. All packages are build with -march=<cpu-set> -O3. Some packages will fail to build, they will just be provided from the official repos as usual.

Package status page

Check your system for support

Important: Before you enable any of these repos, check if your system supports x86-64-v3. You can do that with /lib/ld-linux-x86-64.so.2 --help. If you don't check beforehand you might be unable to boot your system anymore and need to downgrade any package that you may have upgraded.

Example output snippet for a system supporting up to x86-64-v3:

Subdirectories of glibc-hwcaps directories, in priority order:
  x86-64-v4
  x86-64-v3 (supported, searched)
  x86-64-v2 (supported, searched)

Enable Repos

To enable these complement repos you need to add them above the regular repos in /etc/pacman.conf

Example pacman.conf

[core-x86-64-v3]
Server = https://alhp.harting.dev/$repo/os/$arch/

[extra-x86-64-v3]
Server = https://alhp.harting.dev/$repo/os/$arch/

[community-x86-64-v3]
Server = https://alhp.harting.dev/$repo/os/$arch/

[core]
Include = /etc/pacman.d/mirrorlist

[extra]
Include = /etc/pacman.d/mirrorlist

[community]
Include = /etc/pacman.d/mirrorlist

Replace x86-64-v3 with your cpu-set. More information about all available options on this gcc page. Currently, alhp.harting.dev only builds for x86-64-v3 (list is subject to change). You can see all available repositories here.

After finished adding the repos to pacman.conf you need to import and sign the used pgp key:

Import:

pacman-key --keyserver keyserver.ubuntu.com --recv-keys 0D4D2FDAF45468F3DDF59BEDE3D0D2CD3952E298

Local sign:

pacman-key --lsign-key 0D4D2FDAF45468F3DDF59BEDE3D0D2CD3952E298

Update package database and upgrade:

pacman -Suy

Remove Repos

To disable ALHP remove all *-x86-64-v3 entries in /etc/pacman.conf.

After that you can refresh pacmans databases and downgrade all packages like:

pacman -Suuy

Package eligibility

Packages excluded from building (besides all 'any' architecture packages) are being listed in issue #16. Also package status page.

FAQ

error: *-x86-64-v3: signature from "Archlinux CIE Repos (Build 2020/2021) cie@harting.dev" is unknown trust

You get this because the new, extended key has unknown trust value attached to it. To fix it, first import the key again to be sure you got the extended one: pacman-key --keyserver keyserver.ubuntu.com --recv-keys 0D4D2FDAF45468F3DDF59BEDE3D0D2CD3952E298

After that you just have to set the trust on this key with (as root, for pacman-key):

pacman-key --edit-key 0D4D2FDAF45468F3DDF59BEDE3D0D2CD3952E298

pub  rsa4096/E3D0D2CD3952E298
     created: 2020-08-12  expires: 2022-07-09  usage: SC  
     trust: unknown       validity: unknown
[ unknown] (1). Archlinux CIE Repos (Build 2020/2021) <cie@harting.dev>

gpg> trust
pub  rsa4096/E3D0D2CD3952E298
     created: 2020-08-12  expires: 2022-07-09  usage: SC  
     trust: unknown       validity: unknown
[ unknown] (1). Archlinux CIE Repos (Build 2020/2021) <cie@harting.dev>

Please decide how far you trust this user to correctly verify other users' keys
(by looking at passports, checking fingerprints from different sources, etc.)

  1 = I don't know or won't say
  2 = I do NOT trust
  3 = I trust marginally
  4 = I trust fully
  5 = I trust ultimately
  m = back to the main menu

Your decision? 4