format code and split things into their own respective functions #6
1 changed files with 101 additions and 35 deletions
132
spkg
132
spkg
|
@ -1,36 +1,102 @@
|
||||||
#!/usr/bin/env sh
|
#!/bin/sh
|
||||||
func()
|
|
||||||
#sPKG via wget
|
source="https://git.hippoz.xyz/spkg/repo"
|
||||||
# NOTE: sPKG via wget CAN'T RUN WITHOUT MAKE!!!
|
|
||||||
# ALNUX might not have MAKE!!! We tried porting it, dependiecies are fucked.
|
setup() {
|
||||||
# Correction here in the latest build, you have to run setup to install make, so not that fucked.
|
cp ./spkg /usr/bin/spkg
|
||||||
source=git.hippoz.xyz/spkg/repo
|
chmod +x /usr/bin/spkg
|
||||||
beta=false
|
mkdir /etc/
|
||||||
case ${1} in
|
mv os-release /etc/
|
||||||
setup) cp ./spkg /usr/bin/spkg && chmod +x /usr/bin/spkg && mkdir /etc/ && mv os-release /etc/ ;;
|
}
|
||||||
remove) pushd && for fname in $@ && cd /usr/src/${2} && make uninstall && popd ;;
|
removepkg() {
|
||||||
install) case ${2} in
|
pkgname=$1
|
||||||
--root-dir=) pushd && for fname in $@ && mkdir ${4}/usr/src/${3} 2>/dev/null && wget $source/${3}/Makefile ${4}/usr/src/${3}/Makefile && cd ${4}/usr/src/${3} && make prepare && make && make install && cat ${3} > ${4}/var/cache/spkg.cache && popd || echo 'Invalid package.' && popd ;;
|
|
||||||
*) pushd && for fname in $@ && mkdir /usr/src/${3} 2>/dev/null && wget $source/${3}/Makefile /usr/src/${3}/Makefile && cd /usr/src/${3} && make prepare && make && make install && cat ${3} > /var/cache/spkg.cache && ${3} --version > /var/cache/spkg.cache && popd || echo 'Invalid package.' && popd ;;
|
cd /usr/src/"${pkgname}" || exit 2
|
||||||
esac ;;
|
make uninstall
|
||||||
cache) case ${2} in
|
}
|
||||||
clean) rm -rf /usr/src/* ;;
|
instpkg() {
|
||||||
rm) rm -rf /usr/src/${3} ;;
|
pkgname=$1
|
||||||
save) case ${3} in
|
prefix=$2
|
||||||
to) cp /usr/src/ ${4} ;;
|
|
||||||
*) cp /usr/src/ /etc/spkg/cache || mkdir /etc/spkg 2>/dev/null && mkdir /etc/spkg/cache 2>/dev/null && cp /usr/src/ /etc/spkg/cache ;;
|
mkdir -p "${prefix}"/usr/src/"${pkgname}"
|
||||||
esac ;;
|
wget "${source}"/"${pkgname}"/Makefile "${prefix}"/usr/src/"${pkgname}"/Makefile
|
||||||
database) case ${3} in
|
cd "${prefix}"/usr/src/"${pkgname}" || exit 2
|
||||||
lookup) case ${4} in
|
export PREFIX="${prefix}"
|
||||||
local) grep $@ /var/cache/spkg.cache ;;
|
export PKGNAME="${pkgname}"
|
||||||
query) wget $source/spkg.cache /tmp/spkg/web.spkg.cache && grep ${5} /tmp/spkg/web.spkg.cache && rm /tmp/spkg/cache || mkdir 2>/dev/null /tmp/spkg && wget $source/spkg.cache /tmp/spkg/ && grep ${5} /tmp/spkg/web.spkg.cache && rm /tmp/spkg/cache;;
|
make prepare
|
||||||
esac ;;
|
make
|
||||||
esac ;;
|
make install
|
||||||
esac ;;
|
cat "${pkgname}" > "${prefix}"/var/cache/spkg.cache
|
||||||
update) for fname in $@ && version1=$(wget $source/spkg.cache /tmp/spkg/web.spkg.cache && grep ${2}) && version2=$(wget $source/spkg.cache /tmp/spkg/web.spkg.cache && grep ${2} /tmp/spkg/web.spkg.cache ) && [ version1 = version2] && echo 'Up to date.' || pushd && mkdir /usr/src/${2} 2>/dev/null && wget $source/${2}/Makefile /usr/src/${2}/Makefile && cd /usr/src/${2} && make prepare && make && make install && cat ${2} > /var/cache/spkg.cache && ${2} --version > /var/cache/spkg.cache && popd ;;
|
"${pkgname}" --version > "${prefix}"/var/cache/spkg.cache
|
||||||
--help) echo 'sPKG via WGET, to cache, just type in sudo spkg cache save.
|
}
|
||||||
|
update() {
|
||||||
|
pkgname=$1
|
||||||
|
prefix=$2
|
||||||
|
|
||||||
|
version1=$(grep "${pkgname}" /var/cache/spkg.cache)
|
||||||
|
version2=$(wget "${source}"/spkg.cache /tmp/spkg/web.spkg.cache && grep "${pkgname}" /tmp/spkg/web.spkg.cache )
|
||||||
|
if [ "$version1" = "${version2}" ]; then
|
||||||
|
echo 'Up to date.'
|
||||||
|
else
|
||||||
|
instpkg "${pkgname}" "${prefix}"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
dbquery() {
|
||||||
|
pkgname=$1
|
||||||
|
|
||||||
|
wget "${source}"/spkg.cache /tmp/spkg/web.spkg.cache
|
||||||
|
grep "${pkgname}" /tmp/spkg/web.spkg.cache
|
||||||
|
rm /tmp/spkg/cache || mkdir 2>/dev/null /tmp/spkg
|
||||||
|
}
|
||||||
|
dblocal() {
|
||||||
|
pkgname=$1
|
||||||
|
|
||||||
|
grep "${pkgname}" /var/cache/spkg.cache
|
||||||
|
}
|
||||||
|
usage() {
|
||||||
|
echo 'sPKG via WGET, to cache, just type in sudo spkg cache save.
|
||||||
to install, just type in sudo spkg install.
|
to install, just type in sudo spkg install.
|
||||||
to update, just type in sudo spkg update.
|
to update, just type in sudo spkg update.
|
||||||
to setup (IMPORTANT!!!), just type in sudo spkg setup' ;;
|
to setup (IMPORTANT!!!), just type in sudo spkg setup'
|
||||||
--version) echo 'beta 21.06.29.1a' ;;
|
}
|
||||||
|
version() {
|
||||||
|
echo "beta 21.06.29.1a"
|
||||||
|
}
|
||||||
|
case "${1}" in
|
||||||
|
setup)
|
||||||
|
setup ;;
|
||||||
|
remove)
|
||||||
|
removepkg "${2}" ;;
|
||||||
|
install)
|
||||||
|
case "${2}" in
|
||||||
|
--root-dir) instpkg "${4}" "${3}" ;;
|
||||||
|
*) instpkg "${3}" "/" ;;
|
||||||
|
esac ;;
|
||||||
|
cache)
|
||||||
|
case "${2}" in
|
||||||
|
clean)
|
||||||
|
rm -rf /usr/src/* ;;
|
||||||
|
rm)
|
||||||
|
rm -rf /usr/src/"${3}" ;;
|
||||||
|
save)
|
||||||
|
case ${3} in
|
||||||
|
to) cp -rv /usr/src/* "${4}"/ ;;
|
||||||
|
esac ;;
|
||||||
|
database)
|
||||||
|
case "${3}" in
|
||||||
|
lookup)
|
||||||
|
case "${4}" in
|
||||||
|
local)
|
||||||
|
dblocal "${5}" ;;
|
||||||
|
query)
|
||||||
|
dbquery "${5}" ;;
|
||||||
|
esac ;;
|
||||||
|
esac ;;
|
||||||
|
esac ;;
|
||||||
|
update)
|
||||||
|
update "${2}" ;;
|
||||||
|
--help)
|
||||||
|
usage ;;
|
||||||
|
--version)
|
||||||
|
version ;;
|
||||||
esac
|
esac
|
||||||
|
|
Loading…
Reference in a new issue