Added WIP cronjob-update-packages-list.new script.
This commit is contained in:
parent
1a3b51d975
commit
69bcfd59ad
1 changed files with 55 additions and 0 deletions
55
cronjob-update-packages-list.new
Normal file
55
cronjob-update-packages-list.new
Normal file
|
|
@ -0,0 +1,55 @@
|
|||
#!/bin/bash
|
||||
|
||||
# FIXME: This is broken.
|
||||
|
||||
# Check for an /etc/os-release.
|
||||
[[ ! -e /etc/os-release ]] && {
|
||||
printf "%s: %s\\n" "${BASH_SOURCE[0]}" "No /etc/os-release to determine system." >&2
|
||||
exit 1
|
||||
}
|
||||
|
||||
# Source system info.
|
||||
# shellcheck disable=SC1091
|
||||
. /etc/os-release
|
||||
|
||||
PKGLIST_CUR_MD5="$(md5sum /etc/pkglist 2>/dev/null)"
|
||||
TEMPLATE_CUR_MD5="$(md5sum /etc/slackpkg/templates/$(hostname --short).template 2>/dev/null)"
|
||||
|
||||
# Create package list depending on system type.
|
||||
case "$ID" in
|
||||
'alpine')
|
||||
apk list -I | cut -d' ' -f1 | rev | cut -d- -f3- | rev >/etc/pkglist || exit 1
|
||||
;;
|
||||
'debian'|'devuan'|'ubuntu')
|
||||
dpkg-query --show --showformat='${Package}\n' >/etc/pkglist || exit 1
|
||||
;;
|
||||
'slackware')
|
||||
[[ -L /etc/pkglist ]] && rm -f /etc/pkglist
|
||||
printf "%s\\n" /var/log/packages/* | rev | cut -d- -f4- | rev >/etc/pkglist || exit 1
|
||||
slackpkg -batch=on -default_answer=y generate-template "$(hostname --short)" >/dev/null || exit 1
|
||||
;;
|
||||
'void')
|
||||
xbps-query -l | awk '{ print $2 }' | rev | cut -d- -f2- | rev >/etc/pkglist || exit 1
|
||||
;;
|
||||
*)
|
||||
printf "%s: %s\\n" "${BASH_SOURCE[0]}" "Unsupported system." >&2
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
|
||||
cd /etc || exot 1
|
||||
git rev-parse --show-toplevel >/dev/null 2>&1 && {
|
||||
[[ -z "$PKGLIST_CUR_MD5" ]] && [[ -e pkglist ]] && {
|
||||
git add pkglist >/dev/null || exit 1
|
||||
}
|
||||
[[ -z "$TEMPLATE_CUR_MD5" ]] && [[ -e "slackpkg/templates/$(hostname --short).template" ]] && {
|
||||
git add "slackpkg/templates/$(hostname --short).template" >/dev/null || exit 1
|
||||
}
|
||||
{ [[ -e pkglist ]] && [[ "$(md5sum pkglist 2>/dev/null)" != "$PKGLIST_CUR_MD5" ]]; } || \
|
||||
{ [[ -e "slackpkg/templates/$(hostname --short).template" ]] && \
|
||||
[[ "$(md5sum "slackpkg/templates/$(hostname --short).template" 2>/dev/null)" != "$TEMPLATE_CUR_MD5" ]]; } && {
|
||||
git commit -m "Update pkglist (and/or." pkglist >/dev/null || exit 1
|
||||
}
|
||||
}
|
||||
|
||||
exit 0
|
||||
Loading…
Add table
Add a link
Reference in a new issue