mirror of
https://github.com/YunoHost/moulinette.git
synced 2024-09-03 20:06:31 +02:00
Create checkupdate
This commit is contained in:
parent
6d8a89dcf8
commit
f64a9bc349
1 changed files with 62 additions and 0 deletions
62
checkupdate
Normal file
62
checkupdate
Normal file
|
@ -0,0 +1,62 @@
|
|||
#!/bin/bash
|
||||
|
||||
if [ -f /tmp/changelog ];
|
||||
then
|
||||
rm /tmp/changelog
|
||||
fi
|
||||
|
||||
apt-get update -y > /dev/null 2>&1
|
||||
if [[ $? != 0 ]];
|
||||
then
|
||||
exit 2
|
||||
else
|
||||
echo OK > /tmp/update_status
|
||||
fi
|
||||
|
||||
# Set $DIRCACHE
|
||||
eval `/usr/bin/apt-config shell DIRCACHE Dir::Cache`
|
||||
|
||||
|
||||
# get the list of packages which are pending an upgrade
|
||||
PKGNAMES=`/usr/bin/apt-get -q -y --ignore-hold --allow-unauthenticated -s dist-upgrade | \
|
||||
/bin/grep ^Inst | /usr/bin/cut -d\ -f2 | /usr/bin/sort`
|
||||
|
||||
if [[ $PKGNAMES = "" ]];
|
||||
then
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ -n "$PKGNAMES" ] ; then
|
||||
|
||||
# do the upgrade downloads
|
||||
/usr/bin/apt-get --ignore-hold -qq -d --allow-unauthenticated --force-yes dist-upgrade > /dev/null
|
||||
fi
|
||||
|
||||
|
||||
PKGPATH="/${DIRCACHE}archives/"
|
||||
for PKG in $PKGNAMES ; do
|
||||
VER=`LC_ALL=C /usr/bin/apt-cache policy $PKG |\
|
||||
/bin/grep Candidate: | /usr/bin/cut -f 4 -d \ `
|
||||
OLDVER=`LC_ALL=C /usr/bin/apt-cache policy $PKG |\
|
||||
/bin/grep Installed: | /usr/bin/cut -f 4 -d \ `
|
||||
VERFILE=`echo "$VER" | /bin/sed -e "s/:/%3a/g"`
|
||||
if ls ${PKGPATH}${PKG}_${VERFILE}_*.deb >& /dev/null ; then
|
||||
DEBS="$DEBS ${PKGPATH}${PKG}_${VERFILE}_*.deb"
|
||||
fi
|
||||
echo -e "$PKG $OLDVER -> $VER"
|
||||
done
|
||||
|
||||
MISSING_DEBS=`apt-get -y --ignore-hold --allow-unauthenticated --print-uris dist-upgrade \
|
||||
| grep "file:" \
|
||||
| sed "s/'file:\(.*\)' .*/\1/g"`
|
||||
|
||||
DEBS=`echo $MISSING_DEBS $DEBS | /usr/bin/sort`
|
||||
|
||||
if [[ $DEBS = "" ]];
|
||||
then
|
||||
exit 3
|
||||
else
|
||||
if [ -x /usr/bin/apt-listchanges ] ; then
|
||||
/usr/bin/apt-listchanges --which=both -f text $DEBS > /tmp/changelog 2>/dev/null
|
||||
fi
|
||||
fi
|
Loading…
Add table
Reference in a new issue