Arch Build System
ABS はソースコードからパッケージのビルドを自動化するシステムです.PKGBUILD に記述された情報をもとに makepkg でパッケージをビルドし,pacman を用いてインストールを行います.
Install
ABS を用いるために asp をインストールします.
sudo pacman -S asp
Usage (kernel build)
使い方の例としてカーネルのビルドを行う方法を紹介します.作業用ディレクトリとして build を作成します.
mkdir build
cd build
Linux kernel の PKGBUILD をダウンロードします.
asp update linux
asp export linux
PKGBUILD を修正してパッケージの名前変更したり,ドキュメントを生成させないように修正します.
cd linux
vim PKGBUILD
3c3
< pkgbase=linux
---
> pkgbase=linux-custom
64d63
< make htmldocs
191c190
< pkgname=("$pkgbase" "$pkgbase-headers" "$pkgbase-docs")
---
> pkgname=("$pkgbase" "$pkgbase-headers")
下記のコマンドでソースコードをダウンロードします.
makepkg -so
.
├── archlinux-linux
│ ├── branches
│ ├── config
│ ├── description
│ ├── FETCH_HEAD
│ ├── HEAD
│ ├── hooks
│ ├── info
│ ├── objects
│ ├── packed-refs
│ └── refs
├── config
├── PKGBUILD
├── sphinx-workaround.patch
└── src
├── archlinux-linux <- Kernel source code here
├── config -> /home/mori/kernelbuild/linux/config
└── sphinx-workaround.patch -> /home/mori/kernelbuild/linux/sphinx-workaround.patch
makepkg で下記のようにビルドして,pacman でインストールします.
makepkg -se # Additionally 'f' option needed when overwrite pkg
sudo pacman -U linux-custom-[version].arch1-1-x86_64.pkg.tar.zst linux-custom-headers-[version].arch1-1-x86_64.pkg.tar.zst