Build Paket Arch Linux Lewat Docker
Aditya Phra •
Dengan Docker build paket khusus untuk Arch Linux jadi bisa meskipun host bukan Arch Linux, tanpa perlu membuat mesin virtual (VM) Arch Linux.
Membuat Image
Pertama, buatlah file Dockerfile yang diisi dengan skrip di bawah:
FROM ghcr.io/archlinux/archlinux:latest
RUN pacman -Syu --noconfirm && \
pacman -S --noconfirm base-devel git
RUN useradd -m builder && \
mkdir -p /etc/sudoers.d && \
echo "builder ALL=(ALL) NOPASSWD: ALL" > /etc/sudoers.d/builder
RUN mkdir -p /etc/makepkg.conf.d && \
echo "OPTIONS=(strip docs !libtool !staticlibs emptydirs zipman purge !debug lto)" \
> /etc/makepkg.conf.d/custom_options.conf && \
echo 'PACKAGER="YOUR_NAME <YOUR_EMAIL>"' \
>> /etc/makepkg.conf.d/custom_options.conf
USER builder
WORKDIR /home/builder
ENTRYPOINT ["/usr/bin/bash"]
Sesuaikan nama PACKAGER kemudian build image docker dan beri nama builder:
docker build -t builder .
Tunggu proses build, kira-kira butuh waktu dua menitan.
Cek hasil build-an:
docker images
Kalau di situ ada image bernama builder artinya proses build image docker berhasil.
Build Paket Arch Linux
Langsung ke percobaan build paket dengan Docker, contoh paket yang akan di-build itu paru.
Unduh paket paru dari AUR:
git clone https://aur.archlinux.org/paru.git
Build dengan docker:
cd paru
docker run -it --rm \
-v .:/home/builder/pkg \
-w /home/builder/pkg \
builder \
makepkg -s
Setelah selesai, cek hasil build-an nanti ada file paket berakhiran .zst:
$ ls -lh
total 12M
-rw-r--r-- 1 aditya aditya 3.4M Mar 5 00:51 paru-2.1.0-2-x86_64.pkg.tar.zst
-rw-r--r-- 1 aditya aditya 7.9M Mar 5 00:43 paru-2.1.0.tar.gz
drwxr-xr-x 3 aditya aditya 4.0K Mar 5 00:51 pkg/
-rw-rw-r-- 1 aditya aditya 1.7K Mar 5 00:42 PKGBUILD
drwxr-xr-x 3 aditya aditya 4.0K Mar 5 00:43 src/