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.
fowler 9f3bd0dc6d Update 'README.md' 1 year ago
.gitignore inital commit 1 year ago
LICENSE added license and service file 1 year ago
README.md Update 'README.md' 1 year ago
alhp.service parse all packages right on start. output coverage stats. 1 year ago
config.yaml inital commit 1 year ago
git_clean.sh newline for .sh, trying to get sudo to work 1 year ago
go.mod added more error checking, log to journal 1 year ago
go.sum added more error checking, log to journal 1 year ago
main.go fix not counting build packages as eligible 1 year ago



Build script for archlinux instructionset enabled repos. All packages are build with -march= and -O3. Some packages will not build with -O3, they will just be provided from the official repos as usual.

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:

pacman -Sy

Replace packages

Following command reinstalls all packages found in the repo extra-x86-64-v3 that are already installed. Replace extra-x86-64-v3 with whatever repo you want to install.

pacman -S $(pacman -Sl extra-x86-64-v3 | grep installed | cut -f 2 -d " " | perl -pe 's/\R/ /g;')

This is only needed once, new updates are coming from this new repo then, as usual.