dotfiles/home/desktop/.local/bin/uport

84 lines
1.5 KiB
Bash
Executable File

#! /bin/sh
# Vars
pkgdir="/var/cache/scratchpkg/packages"
brch=$(git rev-parse --abbrev-ref HEAD 2> /dev/null)
port=${PWD##*/}
path=${PWD%/*}
repo=${path##*/}
aver=$(awk -F '=' '/version=/{print $2}' spkgbuild)
arel=$(awk -F '=' '/release=/{print $2}' spkgbuild)
# check $1
if [ "$1" = "" ]; then
uver="$aver"
else
uver="$1"
fi
# check $2
if [ "$2" = "" ]; then
urel=1
else
urel="$2"
fi
# Funtions
## Git push
psh () {
if [ "$aver" = "$uver" ] && [ "$arel" != "$urel" ]; then
comm="$port : rebuild new release"
else
if [ "$repo" = "testing" ]; then
comm="($repo) $port : upgrade to $uver"
else
comm="$port : upgrade to $uver"
fi
fi
git add .
git commit -m "$comm"
git push -o merge_request.create origin $port
git checkout $brch
}
## Remove files
rmf () {
for files in ".checksums" ".pkgfiles"; do
[ -f "$files" ] && rm $files
done
}
## Rebuild port or Build and push upgraded port
bld () {
if [ "$aver" = "$uver" ] && [ "$arel" = "$urel" ]; then
echo "==> Rebuild port ..."
rmf
pkgbuild -f
else
echo "==> Building upgraded port ..."
sed -i "s/version=${aver}/version=${uver}/g" spkgbuild
sed -i "s/release=${arel}/release=${urel}/g" spkgbuild
if [ -f "${pkgdir}/${port}-${uver}-${urel}.spkg.tar.xz" ]; then
pkgbuild -g
pkgbuild -p
else
rmf
pkgbuild
[ -f "${pkgdir}/${port}-${uver}-${urel}.spkg.tar.xz" ] && psh
fi
fi
}
# Check branch
if [ "$brch" != "$port" ] ; then
# create and change branch
git checkout -B $port
fi
# Build port
bld