Go based buildbot to build official Archlinux repos with x86-64 feature levels, -O3 and LTO
Go to file
Giovanni Harting e58a6a3ad7 fixed double options in regex 2022-11-07 05:27:43 +01:00
ent updated deps; regen ent 2022-11-03 13:34:11 +01:00
tpl fixed wrong color 2022-08-22 17:49:24 +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 fixed double meaning of new gpl-2-and-later 2022-09-06 14:28:05 +02:00
alhp.service minor fixes 2022-08-14 16:06:59 +02:00
config_dist.yaml more follow-up fixes for new build-queue 2022-03-07 17:20:24 +01:00
flags.yaml added missing -C 2022-06-19 00:47:34 +02:00
go.mod updated deps; regen ent 2022-11-03 13:34:11 +01:00
go.sum updated deps; regen ent 2022-11-03 13:34:11 +01:00
main.go fixed packages being queued which should not be queued 2022-09-02 15:45:44 +02:00
package.go minor fixes 2022-08-14 16:06:59 +02:00
pkgbuild.go some docs 2022-02-16 08:22:33 +01:00
proto_package.go added regex to match "options -C embed-bitcode=no and -C lto are incompatible" 2022-11-03 15:06:56 +01:00
proto_package_test.go refactor utils.go, error handling 2022-02-16 08:11:34 +01:00
rm_chroot.py followup fixes for new weighted build-queue 2022-02-19 19:39:48 +01:00
utils.go fixed double options in regex 2022-11-07 05:27:43 +01:00

README.md

ALHP

Buildbot for Archlinux-based repos build with different x86-64 feature levels, -O3 and LTO.

⚠️ NVIDIA graphic users using the proprietary driver is highly recommended reading the FAQ about Linux kernel modules ⚠️

Quickstart

1. Check your system for support

Important: Before you enable any of these repos, check if your system supports the feature level you want to enable (e.g. x86-64-v3). 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.

Check which feature-levels your CPU supports with

/lib/ld-linux-x86-64.so.2 --help

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)

2. Install keyring & mirrorlist

Install alhp-keyring and alhp-mirrorlist from AUR.

Example with yay:

yay -S alhp-keyring alhp-mirrorlist

alhp-keyring provides the current signing keys used by ALHP, alhp-mirrorlist a selection of mirrors.

3. Choose a mirror (optional)

Edit /etc/pacman.d/alhp-mirrorlist and comment out/in mirrors you want to have enabled/disabled. Per default selected is a cloudflare-based mirror which should provide decent speed worldwide.

Note: Only alhp.harting.dev is hosted by ALHP directly. If you have problems with a mirror, open an issue at the mirrorlist repo.

4. Modify /etc/pacman.conf

Add the appropriate repos above your regular Archlinux repos.

Example for x86-64-v3:

[core-x86-64-v3]
Include = /etc/pacman.d/alhp-mirrorlist

[extra-x86-64-v3]
Include = /etc/pacman.d/alhp-mirrorlist

[community-x86-64-v3]
Include = /etc/pacman.d/alhp-mirrorlist

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

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

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

Replace x86-64-v3 with the x86-64 feature level you want to enable.

ALHP only builds for x86-64-v3 and x86-64-v2 at the moment (list is subject to change). You can see all available repositories here.

5. Update package database and upgrade:

pacman -Suy

How to disable

To disable ALHP remove all x86-64-vX entries in /etc/pacman.conf and remove alhp-keyring and alhp-mirrorlist.

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

pacman -Suuy

FAQ

LTO

Enabled for all packages build after 04 Nov 2021 12:07:00 UTC. More details. LTO status is visible per package on the package status page.

Linux Kernel

ALHP provides patched kernels (except linux-zen, which has these patches already applied) that build with -march=x86-64-vN. Thanks to graysky for providing these patches.

Directly linked kernel modules

Above-mentioned patching breaks all directly linked modules like nvidia (not nvidia-dkms) or virtualbox-host-modules-arch (not virtualbox-host-dkms). Their respective dkms-variant is not affected. This issue is being tracked in #68, a solution is being worked on.

Mirrors

You want to mirror ALHP? You are welcome to do so, see alhp-mirrorlist for how to become one.

What packages are built

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

Debug symbols

ALHP provides a debuginfod instance under debuginfod.harting.dev.

To use it, have debuginfod installed on your system and add it to your DEBUGINFOD_URLS with:

echo "https://debuginfod.harting.dev" > /etc/debuginfod/alhp.urls

Donations

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

Donate using Liberapay

This project including all of its source files is released under the terms of the GNU General Public License version 2 (or any later version). See LICENSE for details.