new feature resolve-rpmbuilddeps.sh
This commit is contained in:
44
resolve-debbuilddeps.sh
Executable file
44
resolve-debbuilddeps.sh
Executable file
@@ -0,0 +1,44 @@
|
||||
#! /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
|
||||
DEPS=$(schroot -c "${SCHROOTNAME}" -- dpkg-checkbuilddeps 2>&1 || true)
|
||||
else
|
||||
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"
|
Reference in New Issue
Block a user