format code and split things into their own respective functions #6

Merged
Ohio2 merged 1 commit from :master into master 2021-06-29 22:56:43 +03:00
Showing only changes of commit 8d88abdda7 - Show all commits

132
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. }
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