dpkg --compare-versions
Hi,
I set up the /etc/apt/apt.conf file to turn off the autoclean feature
when using dselect, and as a result, my /var/cache/apt/archives
directory is growing quite large. I decided to write a script that
uses "dpkg --compare-versions" automatically clean out the older
versions of package files. Here's the script I came up with...
it doesn't actually delete anything yet...
-------------------------------------------------------------------
#!/bin/bash
#
oldfile=``
for file in `ls *.deb`; do
# first, make sure oldfile and file are copies of the same package
v1=`echo $oldfile | awk '{ split($0,base,"_"); print base[1] }'`
v2=`echo $file | awk '{ split($0,base,"_"); print base[1] }'`
if [ "$v1" = "$v2" ]; then
if `dpkg --compare-versions $oldfile lt $file`; then
echo delete $oldfile keep $file
oldfile=$file
else
echo delete $file keep $oldfile
fi
else
oldfile=$file
fi
done
----------------------------------------------------------------------
I browsed through the output and it looked good, except for one particular
case...
----------------------------------------------------------------------
[snip]
delete sgml-data_0.14_all.deb keep sgml-data_0.17_all.deb
delete sgml-data_0.17_all.deb keep sgml-data_0.18_all.deb
delete sharutils_1%3a4.2-10_i386.deb keep sharutils_4.2-9.deb
delete slashem_0.0.4E5-2.deb keep slashem_0.0.4E5-4_i386.deb
delete slib_2c5-2.deb keep slib_2c5-3_all.deb
delete sp_1.3.3-1.2.1-5.deb keep sp_1.3.3-1.2.1-6_i386.deb
[snip]
----------------------------------------------------------------------
The line for sharutils seems to indicate that the newer version will
be deleted. dpkg -s sharutils says I have version 1:4.2-10 installed,
so it would seem to have worked right atleast once...
My question... am I doing something wrong, or is dpkg getting confused by
the odd version numbering? (or possibly did apt rename the package after
downloading it?)
(sorry for the long post)
Mike
--
Michael Merten ironfoot@popaccount.com NRA Life Member
---------------------------------------------------------------------
"As the military forces which must occasionally be raised to defend
our country, might pervert their power to the injury of their fellow
citizens, the people are confirmed by the next article (of amendment)
in their right to keep and bear their private arms." -- Tench Coxe --
Federal Gazette, June 18, 1789
[NRA-ILA (www.nraila.org)]
Reply to: