format code and split things into their own respective functions

This commit is contained in:
hippoz 2021-06-29 22:35:23 +03:00
parent fa9a7a1064
commit 8d88abdda7

136
spkg
View file

@ -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. }
to install, just type in sudo spkg install. update() {
to update, just type in sudo spkg update. pkgname=$1
to setup (IMPORTANT!!!), just type in sudo spkg setup' ;; prefix=$2
--version) echo 'beta 21.06.29.1a' ;;
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 update, just type in sudo spkg update.
to setup (IMPORTANT!!!), just type in sudo spkg setup'
}
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