dotfiles/dot_local/bin/executable_xxdist

40 lines
783 B
Bash

#!/bin/sh
branch_name="$(git branch --show-current)"
targets=""
install=false
distribute() {
rsync -P -r "${XBPS_DISTDIR}/hostdir/binpkgs/${branch_name}" "$1":
}
install() {
package_dir=$(basename "$branch_name")
ssh "$1" "xi -R $package_dir -Suy && rm -rf $package_dir"
}
if [ "$1" = "-i" ]; then
install=true
shift
fi
if [ $# = 0 ]; then
targets="daybreak epoch"
elif [ "$1" = "repo" ]; then
cd "${XBPS_DISTDIR}/hostdir/binpkgs/${branch_name}" || exit 1
for p in *.xbps; do
rsync -P "$p" daybreak:/srv/repo
ssh daybreak "xbps-rindex --add /srv/repo/$p;
xbps-rindex --privkey /srv/repo/private.pem --sign-pkg /srv/repo/*.xbps"
done
else
targets="$1"
fi
for t in $targets; do
distribute "$t"
if [ "$install" = true ]; then
install "$t"
fi
done