#! /bin/bash -ex
## @id $Id$
## Resolve Debian Build Dependencies
## Installs all the required packages
## Call: ./resolve-debbuilddeps 'name of build schroot'
## e.g. call: ./resolve-debbuilddeps trusty_amd64
## 1 2 3 4 5 6 7 8
## 45678901234567890123456789012345678901234567890123456789012345678901234567890
SCHROOTNAME = " $1 "
sed 's,@[^@]*@, dummytext,g' debian/control.in > debian/control
if test -n " ${ SCHROOTNAME } " ; then
schroot -c " ${ SCHROOTNAME } " -u root -d / -- apt-get install -y dpkg-dev software-properties-common
schroot -c " ${ SCHROOTNAME } " -u root -d / -- apt-add-repository universe || true
schroot -c " ${ SCHROOTNAME } " -u root -d / -- apt-add-repository multiverse || true
schroot -c " ${ SCHROOTNAME } " -u root -d / -- apt-get update
DEPS = $( schroot -c " ${ SCHROOTNAME } " -- dpkg-checkbuilddeps 2>& 1 || true )
else
sudo apt-get install -y dpkg-dev software-properties-common
sudo apt-add-repository universe || true
sudo apt-add-repository multiverse || true
sudo apt-get update
DEPS = $( dpkg-checkbuilddeps 2>& 1 || true )
fi
DEPS = $( echo " $DEPS " | sed -n '/Unmet build dependencies/ { s,.*Unmet build dependencies: ,,g; s, ([^)]*),,g; s, *| *,|,g; p}' )
for pa in ${ DEPS } ; do
success = 0
for p in $( echo " ${ pa } " | sed 's,|, ,g' ) ; do
if test -n " ${ SCHROOTNAME } " ; then
if schroot -c " ${ SCHROOTNAME } " -u root -d / -- apt-get -y install ${ p } ; then
success = 1
break;
fi
else
if sudo apt-get -y install ${ p } ; then
success = 1
break;
fi
fi
done
if test ${ success } -eq 0; then
echo " **** Error: Installation Failed: ${ pa } "
fi
done
echo "**** Success: All Dependencies Resolved"