builder/builder-chroot.sh

50 lines
998 B
Bash
Raw Normal View History

2014-11-10 02:25:22 +00:00
#!/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
2015-02-02 00:12:58 +00:00
repo="$1"
package="$2"
2014-11-10 02:25:22 +00:00
IFS=':' read repo package <<< "$1"
2015-02-02 00:12:58 +00:00
[[ -d "${cfg_build_dir}/repos/${repo}/${package}" ]] || {
2014-11-10 02:25:22 +00:00
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}... "
2015-02-02 00:12:58 +00:00
cd "${cfg_build_dir}/repos/${repo}/${package}"
2014-11-10 02:25:22 +00:00
sudo /usr/local/bin/makepkg-chroot.sh "${cfg_build_dir}/${package}.chroot" "${cfg_repos_dir}/${repo}"
}
main() {
source 'builder-chroot.cfg.sh'
2015-02-02 00:12:58 +00:00
for i in "${cfg_build_dir}/repos"/*; do
repo_name="${i##*/}"
for r in "$i"/*; do
build_pkg "$i" "${r##*/}"
done
2014-11-10 02:25:22 +00:00
done
for i in "${cfg_repos[@]}"; do
cd "${cfg_repos_dir}/${i}"
repo-add -n "$i.db.tar.gz" *.pkg.tar.xz
done
}
main