First commit

This commit is contained in:
2023-01-13 23:04:14 +01:00
parent 72a691dce0
commit 1050702522
31 changed files with 1324 additions and 4 deletions

51
plugins/aur Normal file
View File

@@ -0,0 +1,51 @@
#!/bin/bash
plugin_isupdatable() {
return 0
}
plugin_isbumpable() {
return 1
}
plugin_getpkgfiles() {
if [ -d "${PKGDIR}"/"${PKGNAME}"/files ]; then
if ! rm -r "${PKGDIR}"/"${PKGNAME}"/files; then
return 1
fi
fi
if ! git clone "https://aur@aur.archlinux.org/${PKGNAME}.git" "${PKGDIR}"/"${PKGNAME}"/files; then
return 1
fi
echo "${PKGDIR}/${PKGNAME}/files"
}
plugin_bump() {
return 1
}
plugin_getlatestversion() {
local PKGSRC=""
if ! PKGSRC=$(curl -sL https://aur.archlinux.org/cgit/aur.git/plain/.SRCINFO?h=${PKGNAME}); then
echo "Error in AUR API"
return 1
fi
ONLINEVER=""
if ! ONLINEVER=$(echo "${PKGSRC}" | grep "pkgver =" | sed "s/pkgver =//" | sed -e 's/^[[:space:]]*//')-$(echo "${PKGSRC}" | grep "pkgrel =" | sed "s/pkgrel =//" | sed -e 's/^[[:space:]]*//'); then
echo "Error in AUR API"
return 1
fi
if [ "${ONLINEVER}" == "" ]; then
echo "Error in AUR API"
return 1
fi
local -r ONLINEEPOCH=$(echo "${PKGSRC}" | grep epoch= | sed s/epoch=//)
if [[ ${ONLINEEPOCH} != "" ]]; then
ONLINEVER=${ONLINEEPOCH}:${ONLINEVER}
fi
echo "${ONLINEVER}"
}
plugin_update() {
return 0
}

73
plugins/github-branch Normal file
View File

@@ -0,0 +1,73 @@
#!/bin/bash
plugin_isupdatable() {
return 0
}
plugin_isbumpable() {
return 0
}
plugin_getpkgfiles() {
echo "${PKGDIR}/${PKGNAME}/files"
}
plugin_bump() {
local -r PKGREL=$(readSetting "${PKGDIR}"/"${PKGNAME}"/files/PKGBUILD "pkgrel" 0)
sed -i "s/pkgrel=.*/pkgrel=$((PKGREL+1))/" "${PKGDIR}"/"${PKGNAME}"/files/PKGBUILD
}
plugin_getlatestversion() {
local -r PKGSETTINGS=${PKGDIR}/${PKGNAME}/settings
local -r GITHUBUSER=$(readSetting "${PKGSETTINGS}" "githubuser" "")
local -r GITHUBREPO=$(readSetting "${PKGSETTINGS}" "githubrepo" "")
local -r GITBRANCH=$(readSetting "${PKGSETTINGS}" "gitbranch" "")
local -r GITCOMMIT=$(readSetting "${PKGSETTINGS}" "gitcommit" "")
local -r GITHUBURL="https://github.com/${GITHUBUSER}/${GITHUBREPO}.git"
local -r ONLINECOMMIT=$(git ls-remote "${GITHUBURL}" | grep "${GITBRANCH}$" | cut -f 1)
if [[ "${ONLINECOMMIT}" == "" ]]; then
echo "Error in Github API"
return 1
fi
if [[ "${GITCOMMIT}" == "${ONLINECOMMIT}" ]]; then
readSetting "${PKGSETTINGS}" "version" "0"
else
local -r PKGVERSION=$(readSetting "${PKGSETTINGS}" "pkgver" "0")
local -r PKGREVISION=$(readSetting "${PKGSETTINGS}" "pkgrev" "0")
local -r PKGNEWREVISION=$((PKGREVISION + 1))
echo "${PKGVERSION}.r${PKGNEWREVISION}.${ONLINECOMMIT:0:7}-1"
fi
}
plugin_update() {
local -r PKGSETTINGS=${PKGDIR}/${PKGNAME}/settings
local -r GITHUBUSER=$(readSetting "${PKGSETTINGS}" "githubuser" "")
local -r GITHUBREPO=$(readSetting "${PKGSETTINGS}" "githubrepo" "")
local -r GITBRANCH=$(readSetting "${PKGSETTINGS}" "gitbranch" "")
local -r GITCOMMIT=$(readSetting "${PKGSETTINGS}" "gitcommit" "")
local -r GITHUBURL="https://github.com/${GITHUBUSER}/${GITHUBREPO}.git"
local -r ONLINECOMMIT=$(git ls-remote "${GITHUBURL}" | grep "${GITBRANCH}$" | cut -f 1)
if [[ "${ONLINECOMMIT}" == "" ]]; then
echo "Error in Github API"
return 1
fi
if [[ "${GITCOMMIT}" == "${ONLINECOMMIT}" ]]; then
return 0
fi
writeSetting "${PKGSETTINGS}" "gitcommit" "${ONLINECOMMIT}"
local -r PKGREVISION=$(readSetting "${PKGSETTINGS}" "pkgrev" "0")
writeSetting "${PKGSETTINGS}" "pkgrev" "$((PKGREVISION + 1))"
writeSetting "${PKGSETTINGS}" "pkgrel" "1"
local -r PKGBUILD="${PKGDIR}/${PKGNAME}/files/PKGBUILD"
writeSetting "${PKGBUILD}" "_githubuser" "${GITHUBUSER}"
writeSetting "${PKGBUILD}" "_githubrepo" "${GITHUBREPO}"
writeSetting "${PKGBUILD}" "_gitcommit" "${ONLINECOMMIT}"
writeSetting "${PKGBUILD}" "pkgname" "${PKGNAME}"
writeSetting "${PKGBUILD}" "pkgrel" "1"
local -r PKGVERSION=$(readSetting "${PKGSETTINGS}" "pkgver" "0")
local -r PKGREVISION=$(readSetting "${PKGSETTINGS}" "pkgrev" "0")
local -r PKGNEWREVISION=$((PKGREVISION + 1))
writeSetting "${PKGBUILD}" "pkgver" "${PKGVERSION}.r${PKGNEWREVISION}.${ONLINECOMMIT:0:7}"
}

86
plugins/github-release Normal file
View File

@@ -0,0 +1,86 @@
#!/bin/bash
plugin_isupdatable() {
return 0
}
plugin_isbumpable() {
return 0
}
plugin_getpkgfiles() {
echo "${PKGDIR}/${PKGNAME}/files"
}
plugin_bump() {
local -r PKGREL=$(readSetting "${PKGDIR}"/"${PKGNAME}"/files/PKGBUILD "pkgrel" 0)
sed -i "s/pkgrel=.*/pkgrel=$((PKGREL+1))/" "${PKGDIR}"/"${PKGNAME}"/files/PKGBUILD
}
plugin_getlatestversion() {
local -r PKGSETTINGS=${PKGDIR}/${PKGNAME}/settings
local -r GITHUBUSER=$(readSetting "${PKGSETTINGS}" "githubuser" "")
local -r GITHUBREPO=$(readSetting "${PKGSETTINGS}" "githubrepo" "")
local GITHUBTAGNAME=""
if ! GITHUBTAGNAME=$(curl -sL "https://api.github.com/repos/${GITHUBUSER}/${GITHUBREPO}/releases/latest" | jq -r ".tag_name"); then
echo "Error in Github API"
return 1
fi
if [ "${GITHUBTAGNAME}" == "" ]; then
echo "Error in Github API"
return 1
fi
local -r GITHUBVERSION=${GITHUBTAGNAME//[[:alpha:]]/}
if [ "${GITHUBVERSION}" == "" ]; then
echo "Error in Github API"
return 1
fi
local -r PKGVERSION=$(readSetting "${PKGSETTINGS}" "pkgver" "0")
if [[ "${PKGVERSION}" == "${GITHUBVERSION}" ]]; then
readSetting "${PKGSETTINGS}" "version" "0"
else
echo "${GITHUBVERSION}-1"
fi
}
plugin_update() {
local -r PKGSETTINGS=${PKGDIR}/${PKGNAME}/settings
local -r GITHUBUSER=$(readSetting "${PKGSETTINGS}" "githubuser" "")
local -r GITHUBREPO=$(readSetting "${PKGSETTINGS}" "githubrepo" "")
local GITHUBTAGNAME=""
if ! GITHUBTAGNAME=$(curl -sL "https://api.github.com/repos/${GITHUBUSER}/${GITHUBREPO}/releases/latest" | jq -r ".tag_name"); then
echo "Error in Github API"
return 1
fi
if [ "${GITHUBTAGNAME}" == "" ]; then
echo "Error in Github API"
return 1
fi
local -r GITHUBVERSION=${GITHUBTAGNAME//[[:alpha:]]/}
if [ "${GITHUBVERSION}" == "" ]; then
echo "Error in Github API"
return 1
fi
local -r PKGVERSION=$(readSetting "${PKGSETTINGS}" "pkgver" "0")
if [[ "${PKGVERSION}" == "${GITHUBVERSION}" ]]; then
return 0
fi
writeSetting "${PKGSETTINGS}" "pkgrel" "1"
local -r PKGBUILD="${PKGDIR}/${PKGNAME}/files/PKGBUILD"
writeSetting "${PKGBUILD}" "_githubuser" "${GITHUBUSER}"
writeSetting "${PKGBUILD}" "_githubrepo" "${GITHUBREPO}"
writeSetting "${PKGBUILD}" "_pkgtagname" "${GITHUBTAGNAME}"
writeSetting "${PKGBUILD}" "pkgname" "${PKGNAME}"
writeSetting "${PKGBUILD}" "pkgrel" "1"
writeSetting "${PKGBUILD}" "pkgver" "${GITHUBVERSION}"
local TMPDIR=""
TMPDIR=$(mktemp -d)
cp -r "${PKGDIR}"/"${PKGNAME}"/files/* "${TMPDIR}"
chown -R pkgbuilder "${TMPDIR}"
sudo -u pkgbuilder updpkgsums "${TMPDIR}"/PKGBUILD
cp -r "${TMPDIR}"/PKGBUILD "${PKGDIR}/${PKGNAME}/files/"
rm -rf "${TMPDIR}"
}

86
plugins/github-tag Normal file
View File

@@ -0,0 +1,86 @@
#!/bin/bash
plugin_isupdatable() {
return 0
}
plugin_isbumpable() {
return 0
}
plugin_getpkgfiles() {
echo "${PKGDIR}/${PKGNAME}/files"
}
plugin_bump() {
local -r PKGREL=$(readSetting "${PKGDIR}"/"${PKGNAME}"/files/PKGBUILD "pkgrel" 0)
sed -i "s/pkgrel=.*/pkgrel=$((PKGREL+1))/" "${PKGDIR}"/"${PKGNAME}"/files/PKGBUILD
}
plugin_getlatestversion() {
local -r PKGSETTINGS=${PKGDIR}/${PKGNAME}/settings
local -r GITHUBUSER=$(readSetting "${PKGSETTINGS}" "githubuser" "")
local -r GITHUBREPO=$(readSetting "${PKGSETTINGS}" "githubrepo" "")
local GITHUBTAGNAME=""
if ! GITHUBTAGNAME=$(curl -sL "https://api.github.com/repos/${GITHUBUSER}/${GITHUBREPO}/tags" | jq -r ".[0].name"); then
echo "Error in Github API"
return 1
fi
if [ "${GITHUBTAGNAME}" == "" ]; then
echo "Error in Github API"
return 1
fi
local -r GITHUBVERSION=${GITHUBTAGNAME//[[:alpha:]]/}
if [ "${GITHUBVERSION}" == "" ]; then
echo "Error in Github API"
return 1
fi
local -r PKGVERSION=$(readSetting "${PKGSETTINGS}" "pkgver" "0")
if [[ "${PKGVERSION}" == "${GITHUBVERSION}" ]]; then
readSetting "${PKGSETTINGS}" "version" "0"
else
echo "${GITHUBVERSION}-1"
fi
}
plugin_update() {
local -r PKGSETTINGS=${PKGDIR}/${PKGNAME}/settings
local -r GITHUBUSER=$(readSetting "${PKGSETTINGS}" "githubuser" "")
local -r GITHUBREPO=$(readSetting "${PKGSETTINGS}" "githubrepo" "")
local GITHUBTAGNAME=""
if ! GITHUBTAGNAME=$(curl -sL "https://api.github.com/repos/${GITHUBUSER}/${GITHUBREPO}/tags" | jq -r ".[0].name"); then
echo "Error in Github API"
return 1
fi
if [ "${GITHUBTAGNAME}" == "" ]; then
echo "Error in Github API"
return 1
fi
local -r GITHUBVERSION=${GITHUBTAGNAME//[[:alpha:]]/}
if [ "${GITHUBVERSION}" == "" ]; then
echo "Error in Github API"
return 1
fi
local -r PKGVERSION=$(readSetting "${PKGSETTINGS}" "pkgver" "0")
if [[ "${PKGVERSION}" == "${GITHUBVERSION}" ]]; then
return 0
fi
writeSetting "${PKGSETTINGS}" "pkgrel" "1"
local -r PKGBUILD="${PKGDIR}/${PKGNAME}/files/PKGBUILD"
writeSetting "${PKGBUILD}" "_githubuser" "${GITHUBUSER}"
writeSetting "${PKGBUILD}" "_githubrepo" "${GITHUBREPO}"
writeSetting "${PKGBUILD}" "_pkgtagname" "${GITHUBTAGNAME}"
writeSetting "${PKGBUILD}" "pkgname" "${PKGNAME}"
writeSetting "${PKGBUILD}" "pkgrel" "1"
writeSetting "${PKGBUILD}" "pkgver" "${GITHUBVERSION}"
local TMPDIR=""
TMPDIR=$(mktemp -d)
cp -r "${PKGDIR}"/"${PKGNAME}"/files/* "${TMPDIR}"
chown -R pkgbuilder "${TMPDIR}"
sudo -u pkgbuilder updpkgsums "${TMPDIR}"/PKGBUILD
cp -r "${TMPDIR}"/PKGBUILD "${PKGDIR}/${PKGNAME}/files/"
rm -rf "${TMPDIR}"
}

25
plugins/manual Normal file
View File

@@ -0,0 +1,25 @@
#!/bin/bash
plugin_isupdatable() {
return 1
}
plugin_isbumpable() {
return 0
}
plugin_getpkgfiles() {
local TMPDIR=""
TMPDIR=$(mktemp -d)
cp -r "${PKGDIR}"/"${PKGNAME}"/files/* "${TMPDIR}"
chown -R pkgbuilder "${TMPDIR}"
sudo -u pkgbuilder updpkgsums "${TMPDIR}"/PKGBUILD
cp -r "${TMPDIR}"/PKGBUILD "${PKGDIR}/${PKGNAME}/files/"
rm -rf "${TMPDIR}"
echo "${PKGDIR}/${PKGNAME}/files"
}
plugin_bump() {
local -r PKGREL=$(readSetting "${PKGDIR}"/"${PKGNAME}"/files/PKGBUILD "pkgrel" 0)
sed -i "s/pkgrel=.*/pkgrel=$((PKGREL+1))/" "${PKGDIR}"/"${PKGNAME}"/files/PKGBUILD
}