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 de3ca80aab added LTO blacklist 1 year ago
ent changes to db schema; more housekeeping work 1 year ago
tpl added lazy-search 1 year ago
.gitignore rename config to dist 1 year ago
LICENSE added license and service file 1 year ago
README.md added donation information 1 year ago
alhp.service parse all packages right on start. output coverage stats. 1 year ago
config_dist.yaml added LTO blacklist 1 year ago
git_clean.sh newline for .sh, trying to get sudo to work 1 year ago
go.mod dropped sqlite support 1 year ago
go.sum dropped sqlite support 1 year ago
main.go added LTO blacklist 1 year ago
utils.go added LTO blacklist 1 year ago



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

Server = https://alhp.harting.dev/$repo/os/$arch/

Server = https://alhp.harting.dev/$repo/os/$arch/

Server = https://alhp.harting.dev/$repo/os/$arch/

Include = /etc/pacman.d/mirrorlist

Include = /etc/pacman.d/mirrorlist

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:


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.



Enabled for all packages build after 04 Nov 2021 12:07:00 UTC. More details.

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


I appreciate any money you want to throw my way, but donations are strictly optional. Also consider donating to the Archlinux Team, without their work ALHP would not be possible.

Donate on LiberaPay