Added tlrepobuild to automate the building of packages, and adding them to my remote repo
This commit is contained in:
parent
ac5af0678f
commit
e41f9e5ab2
|
@ -105,8 +105,78 @@ tldirtyaurbuild() {
|
||||||
# in the pushd dir.
|
# in the pushd dir.
|
||||||
# Do the thing!
|
# Do the thing!
|
||||||
pushd "$dest"
|
pushd "$dest"
|
||||||
makepkg "${makepkg_opts[@]}"
|
if makepkg "${makepkg_opts[@]}"; then
|
||||||
|
return 0
|
||||||
|
else
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
popd
|
popd
|
||||||
)
|
)
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
|
tlrepobuild() {
|
||||||
|
local hostcheck="thurstylark-vps"
|
||||||
|
local remotehost="vps"
|
||||||
|
local remote_repo_path="/var/cache/pacman/tl/"
|
||||||
|
local reponame="tl"
|
||||||
|
local pkg="$1"
|
||||||
|
local -a aur_sync_opts
|
||||||
|
aur_sync_opts+=('--no-confirm' '--no-view')
|
||||||
|
local resultdir="$HOME/repos/aur"
|
||||||
|
local full_pkgname
|
||||||
|
local remote_pkg_path
|
||||||
|
|
||||||
|
case "$(uname -n)" in
|
||||||
|
"$hostcheck") aur sync "${aur_sync_opts[@]}" "$pkg";;
|
||||||
|
*)
|
||||||
|
while true; do
|
||||||
|
read -p "Build [L]ocally, or [R]emotely on $hostcheck? [l/R]" yn
|
||||||
|
case $yn in
|
||||||
|
[Ll]* )
|
||||||
|
if tldirtyaurbuild -s "$pkg"; then
|
||||||
|
tldaecho "Success, uploading to $hostcheck..."
|
||||||
|
else
|
||||||
|
tldaecho -t e "Unable to build $pkg. Exiting."
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
if full_pkgname="$(find $resultdir/$pkg/$pkg*.pkg.tar.xz -printf '%f')"; then
|
||||||
|
tldaecho "Resulting Package: $full_pkgname"
|
||||||
|
else
|
||||||
|
tldaecho -t e "Unable to find resulting package file. Exiting."
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
if scp "$resultdir/$pkg/$full_pkgname" "$remotehost":"$remote_repo_path"; then
|
||||||
|
tldaecho "Success. Adding $full_pkgname to $reponame..."
|
||||||
|
else
|
||||||
|
tldaecho -t e "Unable to upload package to $hostcheck. Exiting."
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
if remote_pkg_path="$(ssh $remotehost find $remote_repo_path/$full_pkgname)"; then
|
||||||
|
tldaecho "Package's path within repo: $remote_pkg_path"
|
||||||
|
else
|
||||||
|
tldaecho -t e "Unable to find package in $hostcheck:$remote_repo_path Exiting."
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
if ssh "$remotehost" repo-add -n "$remote_repo_path/$reponame.db.tar" "$remote_pkg_path"; then
|
||||||
|
tldaecho "Done. Package built, and added to remote repo."
|
||||||
|
return 0
|
||||||
|
else
|
||||||
|
tldaecho -t e "Unable to add package to remote repo. Exiting."
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
* )
|
||||||
|
if ssh "$remotehost" aur sync --no-ver "${aur_sync_opts[@]}" "$pkg"; then
|
||||||
|
tldaecho "Done."
|
||||||
|
return 0
|
||||||
|
else
|
||||||
|
tldaecho -t e "Unknown error. Exiting"
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
}
|
||||||
|
|
Loading…
Reference in New Issue