#!/usr/bin/env bash # A simple script to build packages into multiple repos err() { echo "$1" >&2; } build_pkg() { local makepkg_output makepkg_exit_code makepkg_status IFS=':' read repo package <<< "$1" [[ -d "${cfg_build_dir}/${package}" ]] || { err "Package ${package} doesn't exist in ${cfg_build_dir}" return 1 } [[ -d "${cfg_repos_dir}/${repo}" ]] || { echo "Creating ${cfg_repos_dir}/${repo}" mkdir -p "${cfg_repos_dir}/${repo}" || { return 1 } } echo -n "Building ${package}... " cd "${cfg_build_dir}/${package}" sudo /usr/local/bin/makepkg-chroot.sh "${cfg_build_dir}/${package}.chroot" "${cfg_repos_dir}/${repo}" } main() { source 'builder-chroot.cfg.sh' for i in "${cfg_packages[@]}"; do build_pkg "$i" done for i in "${cfg_repos[@]}"; do cd "${cfg_repos_dir}/${i}" repo-add -n "$i.db.tar.gz" *.pkg.tar.xz done } main