0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Arch Linux AUR メンテを Docker で安全・高速に回す方法

0
Last updated at Posted at 2025-12-14

背景

Arch Linux AUR へ展開する中で、

  • Arch の最小環境
  • AUR の更新フロー
  • SSH / git / Docker の罠

を一通り踏んだので、
**「次回から 10 分で終わらせるための実務手順」**としてまとめます。


前提条件

  • Docker が使える
  • AUR アカウント作成済み
  • SSH 公開鍵を AUR に登録済み
  • upstream 作者として AUR を更新する想定

1. AUR メンテ専用 Arch Docker イメージを作る

Dockerfile(1 回だけ)

FROM archlinux:latest

RUN pacman -Syu --noconfirm \
 && pacman -S --noconfirm \
    base-devel \
    git \
    namcap \
    pacman-contrib \
    vim \
    openssh \
    sudo \
 && pacman -Scc --noconfirm

RUN useradd -m builder \
 && passwd -d builder \
 && echo "builder ALL=(ALL) NOPASSWD: ALL" > /etc/sudoers.d/builder

USER builder
WORKDIR /home/builder

ビルド:

docker build -t aur-arch-aurtools .

2. SSH 鍵は「ホスト管理」で使う(重要)

やってはいけない

  • SSH 秘密鍵入りの状態で docker commit
  • イメージに鍵を焼き込む

正解

docker run --rm -it \
  -v "$HOME/.ssh:/home/builder/.ssh:ro" \
  -v "$HOME/.gitconfig:/home/builder/.gitconfig:ro" \
  aur-arch-aurtools bash
  • 鍵はホスト管理
  • コンテナは使い捨て
  • セキュリティ事故ゼロ

3. AUR に更新する手順(毎回ここから)

0️⃣ バージョン指定

su - builder
export PKG=xxx
export VER=xxx   # 新しい upstream バージョン

1️⃣ AUR リポジトリ取得

mv -i ${PKG} ${PKG}.bk
git clone ssh://aur@aur.archlinux.org/${PKG}.git 
cd ${PKG}

2️⃣ PKGBUILD を更新

sed -i "s/^pkgver=.*/pkgver=${VER}/" PKGBUILD
sed -i "s/^pkgrel=.*/pkgrel=1/" PKGBUILD

3️⃣ checksum 更新(必須)

updpkgsums

4️⃣ ビルド & テスト

makepkg -Cfs --check

5️⃣ namcap チェック(通過必須)

namcap PKGBUILD
namcap *.pkg.tar.zst

無出力が正解


6️⃣ .SRCINFO 更新(超重要)

makepkg --printsrcinfo > .SRCINFO

確認:

grep pkgver .SRCINFO

7️⃣ commit & push

git add PKGBUILD .SRCINFO
git commit -m "Update to ${VER}"
git push

4. AUR Web に作者コメントを書く(推奨)

Trusted User からの印象がかなり良くなります。


5. よく踏む地雷まとめ

.SRCINFO unchanged

.SRCINFO を commit していない

❌ perllocal.pod が出る

NO_PERLLOCAL=1Makefile.PL に渡す

perl Makefile.PL INSTALLDIRS=vendor NO_PERLLOCAL=1

❌ empty directory 警告

→ PKGBUILD にこれを入れる

options=(!emptydirs)

まとめ

  • Arch AUR メンテは Docker 化が正解
  • 鍵はホスト、環境はコンテナ
  • namcap 警告ゼロは必須
  • .SRCINFO を忘れると何も反映されない
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?