App-BS
view release on metacpan or search on metacpan
use Devel::CheckBin;
check_bin('pacman');
check_bin('pacinfo');
check_bin('pactree');
check_bin('pacsift');
check_bin('arch-rebuild-order');
check_bin('expac');
check_bin('makechrootpkg');
check_bin('makepkg');
check_bin('gpg');
my %args = (
license => 'perl_5',
dynamic_config => 0,
configure_requires => {
'Module::Build' => '0.4005',
},
requires => {
#c_source = [ 'src' ]
requires_external_bin = [
"pacman",
"pacinfo",
"pactree",
"pacsift",
"arch-rebuild-order",
"expac",
"makechrootpkg",
"makepkg",
"gpg",
]
[XSUtil]
requires_c99_compiler = 1
generate_ppport_h = 1
generate_xshelper_h = 1
cc_warnings = 1
script/bs-sign view on Meta::CPAN
shopt -s nullglob
[[ ${BS_DEBUG:-0} -ne 0 ]] && set -x;
#export scriptdir="${0//\/$(basename "$0")}"
. "$scriptdir/bs-common.sh"
export repodb="${BS_REPO:-$AURDIT_REPO}/universe.db.tar.zst"
export repodb_base="$(basename $repodb)"
export repodir="${repodb//$repodb_base/}"
export gpgpubid="${BS_GPG_PUBID:-${BS_GPGFPR:-${GPGKEYID}}}"
export pkgdest="${BS_PKGDEST:-$PKGDEST}"
signpkgs() {
_sign_rel_flow "$@"
}
_sign_rel_flow() {
files=("$@")
echo "Signing ${files[*]}..."
script/bs-sign view on Meta::CPAN
if [[ -f "$f.sig" ]]; then
echo "[â] Signature file already exists for '$f'."
if [[ "$BS_CLOBBER" -ne 1 ]]; then
echo "Skipping..."
else
rm -r "$f.sig"
signpkg "$f"
fi
else
gpg -u "$gpgpubid" -sb "$f"
gpgerr=$?
[[ $gpgerr -eq 0 ]] \
&& echo "[â] Signed '$f' with '$gpgpubid'"
fi
return $gpgerr
}
copy2repo() {
f="$1"
status=0
if [[ -f "$repodir/$(basename $f)" ]] && [[ "$BS_CLOBBER" -ne 1 ]]; then
printf "[â] Package with identical filename '%s' already exists " \
"$(basename "$f")"
printf "in repo '%s'. Skipping...\n" "$repodb"
script/bs-sign view on Meta::CPAN
&& echo "[â] Copied '$f' to repo '$repodir'..."
fi
return $status
}
repoadd() {
f="$1"
repo-add -$([[ $BS_CLOBBER -ne 1 ]] && printf "%s" "n")psv --include-sigs \
-k"${gpgpubid}" "${repodb}" "${repodir}/$(basename "$f")"
repoaddexit=$?
if [[ $repoaddexit -eq 0 ]]; then
echo "[â] \`repo-add -nps... '$repodb' '$f'\` exited successfully!"
else
>&2 echo "[âï¸] \`repo-add -nps... '$repodb' '$f'\` failed with '$repoaddexit'!"
fi
return $repoaddexit
}
script/buildpkg.sh view on Meta::CPAN
sudo cp -vaf "$target/"{makepkg.conf,pacman.conf} "$CHROOT/root/etc/"
sudo cp -vaf "$target/"{makepkg.conf,pacman.conf} "$CHROOT/nameless/etc/"
startts="$(epoch)"
localbuilt=()
cd "$BS_ROOT/pkgbuild/$pkg" || return $?
say "Adding keys included in $pkg PKGBUILD repo..."
gpg --verbose --import keys/pgp/*.asc
say "Building $pkg in CHROOT at $CHROOT..."
makechrootpkg -Cunc -- -CLAfisc
echo "Updating $pkg .SRCINFO..."
makepkg --printsrcinfo > ".SRCINFO"
endts=$(epoch)
localbuilt=$("$(makepkg --packagelist)")
script/makepkgs.sh view on Meta::CPAN
# git rebase --continue
#
# return $?)
#}
run_makepkg() {
local pkg="$1"
(cd "$BS_ROOT/pkgbuild/$pkgbase" || continue
gpg --import keys/pgp/*
makepkg --allsource
makepkg -LAfis
[[ $? -ne 0 ]] && failures+=("$pkgbase")
echo "$(makepkg --packagelist)" \
>> "makepkgs_success_$(date +%s).txt"
cd "$BS_ROOT/pkgbuild")
}
( run in 0.639 second using v1.01-cache-2.11-cpan-e1769b4cff6 )