|
|
|
@ -50,38 +50,46 @@ while [ "$1" ] ; do |
|
|
|
done |
|
|
|
|
|
|
|
. scripts/parse-config |
|
|
|
. scripts/functions |
|
|
|
|
|
|
|
grep '^X' config/$config/packages | cut -f5 -d' ' | \ |
|
|
|
egrep -vx 'rock-debug|rock-src' | \ |
|
|
|
while read package ; do |
|
|
|
confdir="" |
|
|
|
pkg=${package%%=*} |
|
|
|
xpkg=${package##*=} |
|
|
|
for x in package/* ; do |
|
|
|
if [ -d "$x/$package" ] ; then |
|
|
|
if [ -d "$x/$pkg" ] ; then |
|
|
|
if [ "$confdir" ] ; then confdir=X |
|
|
|
else confdir="$x/$package" ; fi |
|
|
|
else confdir="$x/$pkg" ; fi |
|
|
|
fi |
|
|
|
done |
|
|
|
|
|
|
|
if [ -z "$confdir" ] ; then |
|
|
|
echo "$package: No such package." |
|
|
|
echo "$pkg: No such package." |
|
|
|
elif [ "$confdir" = X ] ; then |
|
|
|
echo "$package: Package in multiple trees." |
|
|
|
elif [ ! -f $root/var/adm/packages/$package ] ; then |
|
|
|
echo "$package: Not installed." |
|
|
|
echo "$pkg: Package in multiple trees." |
|
|
|
elif [ ! -f $root/var/adm/packages/$xpkg ] ; then |
|
|
|
echo "$xpkg: Not installed." |
|
|
|
else |
|
|
|
unset ${!desc_*} |
|
|
|
parse_desc $confdir/$pkg.desc |
|
|
|
o_ver=$(grep '^Package Name and Version' \ |
|
|
|
$root/var/adm/packages/$package | cut -f6 -d' ') |
|
|
|
n_ver=$(grep '^\[V\] ' $confdir/$package.desc | cut -f2 -d' ') |
|
|
|
$root/var/adm/packages/$xpkg | cut -f6 -d' ') |
|
|
|
n_ver=${desc_V##* |
|
|
|
} |
|
|
|
# this is not a typo! desc_V contains all [V] tags newline separated |
|
|
|
n_ver="${n_ver% }" |
|
|
|
if [ "$o_ver" != "$n_ver" -a "$n_ver" != "0000" ] ; then |
|
|
|
echo "$package: New version ($o_ver -> $n_ver)." |
|
|
|
echo "$pkg=$xpkg: New version ($o_ver -> $n_ver)." |
|
|
|
else |
|
|
|
if [ $ignore_chksum = 0 ] ; then |
|
|
|
o_ck=$(grep '^ROCK Linux Package Source Checksum' \ |
|
|
|
$root/var/adm/packages/$package | cut -f6 -d' ') |
|
|
|
n_ck=$(md5sum package/*/$package/* 2> /dev/null | \ |
|
|
|
$root/var/adm/packages/$xpkg | cut -f6 -d' ') |
|
|
|
n_ck=$(md5sum package/*/$pkg/* 2> /dev/null | \ |
|
|
|
grep -v '\.cache$' | md5sum | cut -f1 -d' ') |
|
|
|
if [ "$o_ck" != "$n_ck" ] ; then |
|
|
|
echo "$package: New source checksum ($n_ck)." |
|
|
|
echo "$pkg=$xpkg: New source checksum ($n_ck)." |
|
|
|
fi |
|
|
|
fi |
|
|
|
fi |
|
|
|
|