install_prereq: Check if is installed aptitude otherwise to install.

If in Debian or system based, dont have aptitude installed the script do
nothing. This patch checked if aptitude  installed, if not installed.

Also, if execute script with all packages installed yet, the script not show
nothing and return exit 1 because the command 'grep' get nothing from pipe from
'awk'.

ASTERISK-25113 #close
Reported By: Rodrigo Ramírez Norambuena <decipher.hk@gmail.com>

Change-Id: Iebdff55805d3917166e5e08e0a1e2176f36ff27f
(cherry picked from commit 6737ded058)
This commit is contained in:
Rodrigo Ramírez Norambuena
2015-06-03 21:12:50 -04:00
committed by Kevin Harwell
parent aeef52db9f
commit efcf9a96db

View File

@@ -70,9 +70,10 @@ check_installed_debs() {
do do
tocheck="${tocheck} ^${pack}$" tocheck="${tocheck} ^${pack}$"
done done
aptitude -F '%c %p' search ${tocheck} 2>/dev/null \ pkgs=$(aptitude -F '%c %p' search ${tocheck} 2>/dev/null | awk '/^p/{print $2}')
| awk '/^p/{print $2}' \ if ! [ ${#pkgs} -eq 0 ]; then
| grep -v ':i386$' echo $pkgs | grep -v ':i386$'
fi
} }
# parsing the output of yum is close to impossible. # parsing the output of yum is close to impossible.
@@ -96,6 +97,9 @@ check_installed_pkgs() {
} }
handle_debian() { handle_debian() {
if ! [ -x "$(command -v aptitude)" ]; then
apt-get install aptitude
fi
extra_packs=`check_installed_debs $PACKAGES_DEBIAN` extra_packs=`check_installed_debs $PACKAGES_DEBIAN`
$testcmd aptitude install -y $extra_packs $testcmd aptitude install -y $extra_packs
} }