aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xpbuilder-buildpackage.sh29
1 files changed, 25 insertions, 4 deletions
diff --git a/pbuilder-buildpackage.sh b/pbuilder-buildpackage.sh
index 13117ed..d0d311b 100755
--- a/pbuilder-buildpackage.sh
+++ b/pbuilder-buildpackage.sh
@@ -1,7 +1,23 @@
-#!/bin/bash
+#! /bin/bash
export LANG=C
export LC_ALL=C
+function copydsc () {
+ local DSCFILE=$1
+ local TARGET=$2
+ cp $(echo $DSCFILE | sed 's/^\(.*\)\.dsc$/\1/' ).diff.gz \
+ $(echo $DSCFILE | sed 's/^\(.*\)\.dsc$/\1/').tar.gz \
+ $(echo $DSCFILE | sed 's/\(.*\)-[^-.]*\.dsc$/\1/').orig.tar.gz \
+ $TARGET
+}
+
+function checkbuilddep () {
+ (
+ cd $BUILDPLACE/tmp/buildd/*/
+ $CHROOTEXEC usr/bin/apt-get -y install $(dpkg-checkbuilddeps 2>&1 | sed 's/^.*: \(.*\)$/\1/' | awk 'BEGIN{RS=", "} /^([^([]*)/{print $1}')
+ )
+}
+
PACKAGENAME=$1
. /etc/pbuilderrc
CHROOTEXEC="chroot $BUILDPLACE "
@@ -14,9 +30,14 @@ mkdir -p $BUILDPLACE
cd $BUILDPLACE
tar xfzp $BASETGZ
mkdir -p $BUILDPLACE/tmp/buildd
-
-echo Installing the build-deps and building
-$CHROOTEXEC /bin/sh -c "(cd tmp/buildd; apt-get -y build-dep $PACKAGENAME ; apt-get -y source --build $PACKAGENAME || rm /tmp/buildd/* )"
+echo Copying source file
+copydsc $PACKAGENAME $BUILDPLACE/tmp/buildd
+echo Extracting source
+$CHROOTEXEC /usr/bin/dpkg-source -x $(basename $PACKAGENAME)
+echo Installing the build-deps
+checkbuilddep
+echo Building the package
+$CHROOTEXEC /bin/sh -c "(cd tmp/buildd/*/; dpkg-buildpackage)"
echo Installing $BUILDPLACE/tmp/buildd/* to archive
mkdir -p $MYREPOSITORYEXTRAPATH
cp $BUILDPLACE/tmp/buildd/* $MYREPOSITORYEXTRAPATH