12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364 |
- #!/bin/sh
- # {{{ Variables
- TARGETS='updates security backports'
- TARGET=
- # }}}
- # {{{ usage()
- usage() {
- cat <<EOH
- USAGE: $(basename "$0") [OPTIONS]
- Get updates for packages managed by apt
- Options:
- -h Shows this help
- -t Target ($(echo "${TARGETS}" | sed 's/ / or /g'))
- EOH
- }
- # }}}
- # {{{ main()
- while getopts "ht:" OPT ; do
- case "$OPT" in
- h)
- usage
- exit 0
- ;;
- t)
- TARGET="$OPTARG"
- ;;
- esac
- done
- if [ -z "${TARGET}" ]; then
- printf "[ERR] Target is missing\n"
- usage
- exit 1
- fi
- if ! echo "${TARGET}" | egrep -q "^($(echo "${TARGETS}" | sed 's/ /|/g'))$"; then
- printf "[ERR] info '${TARGET}' not available in [$(echo "${TARGETS}" | sed 's/ /, /g')]\n"
- usage
- exit 1
- fi
- DISTRO=$(lsb_release -c -s)
- case "${TARGET}" in
- updates)
- apt-get -s -o Debug::NoLocking=true upgrade | grep -c '^Inst'
- ;;
- security)
- apt-get -s -o Debug::NoLocking=true upgrade | egrep -c "^Inst [^ ]+ \[[^]]+\] \([^ ]+ .*(Debian-Security|${DISTRO}-security)"
- ;;
- backports)
- apt-get -s -o Debug::NoLocking=true upgrade | egrep -c "^Inst [^ ]+ \[[^]]+\] \([^ ]+ .*(Debian Backports|${DISTRO}-backports)"
- ;;
- esac
- exit 0
- # }}}
- # vim: foldmethod=marker foldlevel=0 foldenable
|