diff --git a/README.md b/README.md index 6e2e30f..05d4774 100644 --- a/README.md +++ b/README.md @@ -2,14 +2,21 @@ [![](https://img.shields.io/badge/license-GPL-blue)](https://git.harting.dev/anonfunc/ALHP.GO/src/branch/master/LICENSE) [![](https://img.shields.io/badge/package-status-informational)](https://alhp.anonfunc.dev/packages.html) [![](https://img.shields.io/liberapay/patrons/anonfunc.svg?logo=liberapay)](https://liberapay.com/anonfunc/) -Build script for archlinux instructionset enabled repos. All packages are build with `-march= -O3`. Some -packages will fail to build, they will just be provided from the official repos as usual. +Buildbot for Archlinux-based repos build with different +[x86-64 feature levels](https://www.phoronix.com/scan.php?page=news_item&px=GCC-11-x86-64-Feature-Levels), `-O3` and +[LTO](https://en.wikipedia.org/wiki/Interprocedural_optimization). ## 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. +**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`). You can do that with + +```bash +/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`: @@ -22,29 +29,33 @@ Subdirectories of glibc-hwcaps directories, in priority order: ## Enable Repos -To enable these complement repos you need to add them above the regular repos in `/etc/pacman.conf` +To enable these complement repos you need to install [alhp-keyring](https://aur.archlinux.org/packages/alhp-keyring/) +and [alhp-mirrorlist](https://aur.archlinux.org/packages/alhp-mirrorlist/) from **AUR** and modify `/etc/pacman.conf` +to add them above your regular repos. ### Choose a mirror (optional) -You can choose from different available mirrors. -> Note: Only `alhp.harting.dev` is hosted by ALHP directly. Make sure you use an up-to-date mirror. +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](https://git.harting.dev/ALHP/ALHP.GO/issues/38#issuecomment-891). +> Note: Only `alhp.harting.dev` is hosted by ALHP directly. If you have problems with one mirror, +> open an issue at [alhp-mirrorlist](https://git.harting.dev/ALHP/alhp-mirrorlist). -- `alhp.harting.dev` (Tier 0, Central Europe) -- `www.gardling.com/alhp` (Tier 1, North America, provided by @titaniumtown) +### Modify /etc/pacman.conf -### Example pacman.conf +Add the appropriate repos **above** your regular Archlinux repos. -Replace `alhp.harting.dev` if you want to use another mirror (see section above). +Example for `x86-64-v3` ```editorconfig [core-x86-64-v3] -Server = https://alhp.harting.dev/$repo/os/$arch/ +Include = /etc/pacman.d/alhp-mirrorlist [extra-x86-64-v3] -Server = https://alhp.harting.dev/$repo/os/$arch/ +Include = /etc/pacman.d/alhp-mirrorlist [community-x86-64-v3] -Server = https://alhp.harting.dev/$repo/os/$arch/ +Include = /etc/pacman.d/alhp-mirrorlist [core] Include = /etc/pacman.d/mirrorlist @@ -56,23 +67,8 @@ 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](https://gcc.gnu.org/onlinedocs/gcc/x86-Options.html). Currently, alhp.harting.dev only builds -for `x86-64-v3` (list is subject to change). You can see all available repositories [here](https://alhp.harting.dev/). - -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 -``` +Replace `x86-64-v3` with your x86-64 feature level. +> ALHP only builds for `x86-64-v3` at to moment (list is subject to change). You can see all available repositories [here](https://alhp.harting.dev/). Update package database and upgrade: @@ -82,7 +78,7 @@ pacman -Suy ## Remove Repos -To disable ALHP remove all *-x86-64-v3 entries in `/etc/pacman.conf`. +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: @@ -102,51 +98,17 @@ Also [package status page](https://alhp.anonfunc.dev/packages.html). Enabled for all packages build after 04 Nov 2021 12:07:00 UTC. [More details.](https://git.harting.dev/anonfunc/ALHP.GO/issues/52) -LTO status visible per package on the package status page. - -### error: *-x86-64-v3: signature from "Archlinux CIE Repos (Build 2020/2021) " 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) - -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) - -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 -```` +LTO status is visible per package on the package status page. ### Mirrors You want to mirror ALHP? You are welcome to do -so, [see this issue for how to become one](https://git.harting.dev/anonfunc/ALHP.GO/issues/38#issuecomment-744). +so, [see alhp-mirrorlist for how to become one](https://git.harting.dev/ALHP/alhp-mirrorlist#how-to-become-a-mirror). -### Donations +## Donations -I appreciate any money you want to throw my way, but donations are strictly optional. Also -consider [donating to the Archlinux Team](https://archlinux.org/donate/), without their work ALHP would not be possible. +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**](https://archlinux.org/donate/), without their +work ALHP would not be possible. [![Donate using Liberapay](https://liberapay.com/assets/widgets/donate.svg)](https://liberapay.com/anonfunc/) \ No newline at end of file