#! /bin/bash # common modules for pbuilder. function showhelp () { cat < unmounting /proc filesystem" if ! umount "$BUILDPLACE/proc"; then echo "W: Retrying to unmount proc" sleep 5s while ! umount "$BUILDPLACE/proc"; do sleep 5s cat < mounting /proc filesystem" mkdir -p $BUILDPLACE/proc mount -t proc /proc "$BUILDPLACE/proc" fi } function cleanbuildplace () { if [ -d "$BUILDPLACE" ]; then echo " -> cleaning the build env " rm -rf "$BUILDPLACE" fi; } function umountproc_cleanbuildplace () { # rolling back to abort. umountproc cleanbuildplace } function installaptlines (){ echo Installing apt-lines rm -f "$BUILDPLACE"/etc/apt/sources.list if [ -z "$DISTRIBUTION" ]; then echo "Distribution not specified, please specify" >&2 exit 1 fi if [ -n "$OTHERMIRROR" ]; then echo "$OTHERMIRROR" | tr "|" "\n" >> "$BUILDPLACE"/etc/apt/sources.list fi if [ -n "$MIRRORSITE" ] ; then cat >> "$BUILDPLACE"/etc/apt/sources.list << EOF deb $MIRRORSITE $DISTRIBUTION main contrib non-free #deb-src $MIRRORSITE $DISTRIBUTION main contrib non-free EOF fi if [ -n "$NONUSMIRRORSITE" ]; then cat >> "$BUILDPLACE"/etc/apt/sources.list << EOF deb $NONUSMIRRORSITE $DISTRIBUTION/non-US main contrib non-free #deb-src $NONUSMIRRORSITE $DISTRIBUTION/non-US main contrib non-free EOF fi } function extractbuildplace () { # after calling this function, umountproc, and cleanbuildplace # needs to be called. Please trap it. cleanbuildplace echo "building the build env" echo " -> extracting base.tgz" if ! mkdir -p "$BUILDPLACE"; then echo "E: failed to build the directory to chroot" exit 1 fi if [ ! -f "$BASETGZ" ]; then echo "E: failed to find $BASETGZ, have you done to create your base tarball yet?" exit 1 fi if ! (cd "$BUILDPLACE" && tar xfzp "$BASETGZ"); then echo "E: failed to extract $BASETGZ to $BUILDPLACE" exit 1 fi mountproc mkdir -p "$BUILDPLACE/tmp/buildd" echo " -> copying local configuration" for a in hosts hostname resolv.conf; do cp /etc/$a "$BUILDPLACE/etc/$a"; done if [ -n "$DISTRIBUTION" ]; then installaptlines fi } #required for some packages to install... export LANG=C export LC_ALL=C