use aptitude for debian based systems
authorMichiel van Baak <michiel@vanbaak.info>
Fri, 24 Jul 2009 14:35:49 +0000 (14:35 +0000)
committerMichiel van Baak <michiel@vanbaak.info>
Fri, 24 Jul 2009 14:35:49 +0000 (14:35 +0000)
The function to check wether we need to install packages was using
dpkg-query which was gives wrong output on Debian 5

Also, the apt-get has been replaced with aptitude because aptitude
is now the preferred way to handle packages on Debian

(closes issue #15570)
Reported by: mvanbaak
Patches:
      2009072400_installprereq-aptitude.diff uploaded by mvanbaak (license 7)

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@208542 65c4cc65-6c06-0410-ace0-fbb531ad65f3

contrib/scripts/install_prereq

index 8770b9f..ddb3f1a 100755 (executable)
@@ -45,10 +45,9 @@ in_test_mode() {
   test "$testcmd" != ''
 }
 
-# Fixme: should be done by apt and not by dpkg?
 check_installed_debs() {
-        dpkg-query -W --showformat '${Status} ${Package}\n' "$@" 2>/dev/null \
-        | awk '/ not-installed/{print $4}'
+       aptitude -F '%c %p' search "$@" 2>/dev/null \
+       | awk '/^p/{print $2}'
 }
 
 # parsing the output of yum is close to impossible.
@@ -65,7 +64,7 @@ check_installed_rpms() {
 handle_debian() {
        # echo "# Distribution is Debian or compatible"
        extra_packs=`check_installed_debs $PACKAGES_DEBIAN`
-       $testcmd apt-get install -y $extra_packs
+       $testcmd aptitude install -y $extra_packs
 }
 
 handle_rh() {