usage 1 1>&2
fi
-PBUILDROOT=`dirname $0`/id-pbuild-root.sh
+D0=`dirname $0`
+ID_DEB_BUILD=`cd $D0; pwd`
+PBUILDROOT=${ID_DEB_BUILD}/id-pbuild-root.sh
if test ! -x $PBUILDROOT; then
echo "$PBUILDROOT not found"
exit 1
fi
-MKDEBSRC=`dirname $0`/id-mk-deb-src.sh
+MKDEBSRC=${ID_DEB_BUILD}/id-mk-deb-src.sh
if test ! -x $MKDEBSRC; then
echo "$MKDEBSRC not found"
exit 1
fi
-if test -d deb-src; then
+if $upload; then
cd deb-src
else
- $MKDEBSRC
-fi
-
-if test -d deb-src; then
+ if test "${SUDO_USER}"; then
+ if test ! -d deb-src; then
+ $MKDEBSRC
+ fi
+ else
+ if test -d deb-src; then
+ rm -rf deb-src
+ if test $? -ne 0; then
+ echo "deb-src could not be removed. Remove deb-src manually"
+ exit 1
+ fi
+ fi
+ $MKDEBSRC
+ fi
cd deb-src
fi
echo "Dsc $PKG . Product $PRODUCT"
echo "Ubuntu distros: $UBUNTU_DIST"
echo "Debian distros: $DEBIAN_DIST"
+if test "${SUDO_USER}"; then
+ echo "Running as sudo."
+ echo "Tip: You can avoid it by adding the following in /etc/sudoers"
+ echo "${SUDO_USER} ALL=NOPASSWD: ${ID_DEB_BUILD}/id-pbuild-root.sh"
+ HOME_EXPORT=/home/${SUDO_USER}
+else
+ sudo -k
+ HOME_EXPORT=$HOME
+fi
+if test ! -f ${HOME_EXPORT}/.pbuilderrc; then
+ echo "${HOME_EXPORT}/.pbuilderrc missing"
+ exit 1
+fi
+
if $upload; then
for dist in ${UBUNTU_DIST}; do
scp ${dist}-*/* ftp.indexdata.dk:/home/ftp/pub/${PRODUCT}/ubuntu/${dist}
# call our privileged wrapper to clean the directories, no --dsc option
for dist in ${DEBIAN_DIST} ${UBUNTU_DIST}; do
for arch in ${USE_ARCHS}; do
- sudo -n $PBUILDROOT --dist=$dist --arch=$arch
+ sudo -n $PBUILDROOT --home=${HOME_EXPORT} --dist=$dist --arch=$arch
+ if test $? -ne 0; then
+ echo "FAILED"
+ echo "Run id-pbuild.sh using sudo or add yourself to /etc/sudoers:"
+ echo "${USER} ALL=NOPASSWD: ${ID_DEB_BUILD}/id-pbuild-root.sh"
+ exit 1
+ fi
done
done
date
for dist in ${DEBIAN_DIST} ${UBUNTU_DIST}; do
for arch in ${USE_ARCHS}; do
- sudo -n $PBUILDROOT \
+ sudo -n $PBUILDROOT --home=${HOME_EXPORT} \
--dist=$dist --arch=$arch --dsc=$PKG >${dist}-${arch}.log 2>&1 &
i=`expr $i + 1`
if test $i -eq $concurrency; then
if test -f ${dist}-${arch}/*.dsc; then
:
else
- echo "No .dsc file for ${dist}-${arch}"
+ echo "FAILED: No .dsc file for ${dist}-${arch}"
exit 1
fi
fi
if test -f ${dist}-${arch}/*.dsc; then
:
else
- echo "No .dsc file for ${dist}-${arch}"
+ echo "FAILED: No .dsc file for ${dist}-${arch}"
exit 1
fi
done