Go based buildbot to build official Archlinux repos with x86-64 feature levels, -O3 and LTO
Go to file
2021-06-12 00:04:33 +02:00
.gitignore inital commit 2021-06-10 21:32:11 +02:00
config.yaml inital commit 2021-06-10 21:32:11 +02:00
go.mod inital commit 2021-06-10 21:32:11 +02:00
go.sum inital commit 2021-06-10 21:32:11 +02:00
main.go stopped builds not marked as failed 2021-06-12 00:04:33 +02:00
README.md inital commit 2021-06-10 21:32:11 +02:00

alhp

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

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