Go based buildbot to build official Archlinux repos against -march & -O3
Go to file
Giovanni Harting de3ca80aab added LTO blacklist 2021-11-13 20:45:49 +01:00
ent changes to db schema; more housekeeping work 2021-11-04 13:01:18 +01:00
tpl added lazy-search 2021-09-20 23:55:35 +02:00
.gitignore rename config to dist 2021-11-04 13:01:18 +01:00
LICENSE added license and service file 2021-06-12 20:09:08 +02:00
README.md added donation information 2021-11-13 20:25:58 +01:00
alhp.service parse all packages right on start. output coverage stats. 2021-07-01 21:13:48 +02:00
config_dist.yaml added LTO blacklist 2021-11-13 20:45:49 +01:00
git_clean.sh newline for .sh, trying to get sudo to work 2021-06-30 14:54:31 +02:00
go.mod dropped sqlite support 2021-11-04 13:01:18 +01:00
go.sum dropped sqlite support 2021-11-04 13:01:18 +01:00
main.go added LTO blacklist 2021-11-13 20:45:49 +01:00
utils.go added LTO blacklist 2021-11-13 20:45:49 +01:00

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

LTO

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

Donations

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