chinstrap
is a tool to retrieve, build, and publish clean-chroot packages for Arch Linux.
-
Clone repo
git clone https://github.com/penguin-fyi/chinstrap && cd chinstrap
-
Install
chinstrap
install -Dm 755 chinstrap ~/bin/chinstrap
-
Clone repo
git clone https://github.com/penguin-fyi/chinstrap && cd chinstrap
-
Install
chinstrap
install -Dm 755 chinstrap /usr/bin/chinstrap`
-
Install
zsh
completions (optional)install -Dm 644 completions/_chinstrap /usr/share/zsh/site-functions/_chinstrap
-
Install
zsh
plugin (optional)install -Dm 644 plugins/chinstrap.plugin.zsh /usr/share/zsh/plugins/chinstrap/chinstrap.plugin.zsh
## directory containing pkgbuilds
build_dir="$HOME/pkgbuilds"
## directory containing chroot
chroot_dir="$build_dir/.chroot"
## custom pacman.conf
pacman_conf="$build_dir/.etc/pacman.conf"
## custom makepkg.conf
makepkg_conf="$build_dir/.etc/makepkg.conf"
## base URL to AUR
aur_url="https://aur.archlinux.org"
## AUR RPC URL
aur_rpc="$aur_url/rpc?v=5&"
## GPG key to sign packages (required)
gpg_key="1234567890ABCDEF"
## login on remote host
repo_login="user@host.domain.tld"
## path on remote host
repo_dir="/srv/http/repo/archlinux/x86_64"
## auto push on build
auto_sync=true
Usage: chinstrap <command> [<pkg>] [--opt <arg>]
env Manage chroot environment
-C, --chroot-dir <dir> Path to $chroot_dir
-m, --makepkg <file> Path to makepkg config
-p, --pacman <file> Path to pacman config
--create Create chroot environment
--remove Remove chroot environment
--update Update chroot environment
list List available packages
-B, --build-dir <dir> Path to $build_dir
-a, --aur Filter AUR packages (slow)
-b, --built Filter built packages (really slow)
-g, --git Filter git packages
clone <pkg(s)> Clone packages(s) from AUR
-B, --build-dir <dir> Path to $build_dir
-l, --pkg-list <file> Path to package list
make <pkg(s)> Build package(s)
-B, --build-dir <dir> Path to $build_dir
-R, --repo-dir <dir> Path to package repo
-k, --gpg-key <file> GPG key used to sign package(s)
-l, --pkg-list <file> Path to package list
--login <user@host> Login for repo (user@host)
--sync Automatically sync package(s)
sync <pkg(s)> Sync package(s) to repo
-B, --build-dir <dir> Path to $build_dir
-R, --repo-dir <dir> Path to package repo
-l, --pkg-list <file> Path to package list
--login <user@host> Login for repo (user@host)