メインコンテンツまでスキップ

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

Kernel/Arch Build System