1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
|
#!/bin/sh
set -e
PKG_LIST=$@
ME=$(basename $0)
TMPF=$(mktemp -t ${ME}.XXXXXX)
for PKG in ${PKG_LIST} ; do
# Only upgrade packages that are present on a host
if dpkg-query -W ${PKG} 1>/dev/null 2>/dev/null ; then
TMPF2=$(mktemp -t ${ME}.XXXXXX)
apt-cache policy $PKG >${TMPF2}
INSTALLED=$(cat ${TMPF2} | grep Installed | awk '{print $2}')
CANDIDATE=$(cat ${TMPF2} | grep Candidate | awk '{print $2}')
rm -f ${TMPF2}
if [ "${INSTALLED}" != "(none)" ] ; then
if dpkg --compare-versions ${CANDIDATE} gt ${INSTALLED} ; then
echo -n "${PKG} " >>${TMPF}
fi
fi
fi
done
cat ${TMPF}
rm -f ${TMPF}
|