Skip to content

Instantly share code, notes, and snippets.

@yxqsnz
Created September 2, 2022 16:43
Show Gist options
  • Save yxqsnz/1cbf159a077b2d77bfcc61d714484fdc to your computer and use it in GitHub Desktop.
Save yxqsnz/1cbf159a077b2d77bfcc61d714484fdc to your computer and use it in GitHub Desktop.
#!/usr/bin/env bash
__build_base_pkgbuild() {
# <NAME> <DESC>
echo "pkgname=\"${1}\"
pkgver=\"0.1.0\"
license=('MIT')
pkgrel=1
pkgdesc=\"${2}\"
source=()
arch=('ALL')
md5sums=("SKIP")
build() {
echo 'empty'
}
package() {
echo 'empty'
}"
}
_new() {
if [ -z "$1" ]; then
echo "usage: archpkg new <package name>"
fi
printf "pkg desc? "
read -r pkgdesc
pkgbuild=$(__build_base_pkgbuild $1 "${pkgdesc}")
mkdir -p "$1" || return 1
echo "${pkgbuild}" > "$1/PKGBUILD"
echo " -> done"
}
_build() {
echo ":: Building..."
if ! [ -f PKGBUILD ]; then
echo "error: can't find PKGBUILD."
return 1
fi
if [ -d target ]; then
rm -rf target
mkdir -p target
else
mkdir -p target
fi
cp -rv * --reflink target
rm -rf target/target
cd target
makepkg
echo " -> done"
}
case "$1" in
--help)
echo ":: Easily manage arch packages"
echo " --help: this is message"
echo " new {name}: creates new PKGBUILD"
echo " build: build package"
;;
build) _build ;;
new) shift; _new "$@";;
*) echo "invalid usage. try --help";;
esac
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment