Initial commit

This commit is contained in:
2024-10-30 01:50:38 +01:00
commit 587ca23374
147 changed files with 7521 additions and 0 deletions

View File

@@ -0,0 +1,70 @@
#!/bin/sh
# Copyright (c) 2017 Markus Weippert
# GNU General Public License v3.0 (see https://www.gnu.org/licenses/gpl-3.0.txt)
PARAMS="
name=pkg/str/r
state/str//present
force/str
update_cache/bool
autoremove/bool
nodeps/bool
"
query_package() {
[ -n "$(opkg status "$1")" ]
}
install_packages() {
local _IFS pkg
_IFS="$IFS"; IFS=","; set -- $name; IFS="$_IFS"
for pkg; do
! query_package "$pkg" || continue
[ -n "$_ansible_check_mode" ] || {
try opkg install$force $nodeps "$pkg"
query_package "$pkg" || fail "failed to install $pkg: $_result"
}
changed
done
}
remove_packages() {
local _IFS pkg
_IFS="$IFS"; IFS=","; set -- $name; IFS="$_IFS"
for pkg; do
query_package "$pkg" || continue
[ -n "$_ansible_check_mode" ] || {
try opkg remove$force $autoremove $nodeps "$pkg"
! query_package "$pkg" || fail "failed to remove $pkg: $_result"
}
changed
done
}
main() {
case "$state" in
present|installed|absent|removed) :;;
*) fail "state must be present or absent";;
esac
[ -z "$force" ] || {
case "$force" in
depends|maintainer|reinstall|overwrite|downgrade|space) :;;
postinstall|remove|checksum|removal-of-dependent-packages) :;;
*) fail "unknown force option";;
esac
force=" --force-$force"
}
[ -z "$autoremove" ] || {
autoremove=" --autoremove"
}
[ -z "$nodeps" ] || {
nodeps=" --nodeps"
}
[ -z "$update_cache" -o -n "$_ansible_check_mode" ] || try opkg update
case "$state" in
present|installed) install_packages;;
absent|removed) remove_packages;;
esac
}