#! /bin/bash # pbuilder-user-mode-linux -- personal Debian package builder # Copyright (C) 2004-2007 Junichi Uekawa # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA # load and check params. # requires # . /usr/lib/pbuilder/pbuilder-loadconfig for SYSTEM_CONFIG in \ /usr/share/pbuilder/pbuilder-uml.conf \ /etc/pbuilder/pbuilder-uml.conf \ ${HOME}/.pbuilderrc \ ${HOME}/.pbuilder-umlrc; do if [ -f ${SYSTEM_CONFIG} ]; then . ${SYSTEM_CONFIG} fi done PBUILDER_COW="" UML_EXTRAOPT= UML_DEBUGMODE= UML_EXECUTE_EXTRAOPT= UML_LOGIN_NOCOW= while [ -n "$1" ] ; do case "$1" in # pbuilder UML options --eth0) MY_ETH0="$2"; shift; shift; ;; --uml-ip) UML_IP="$2"; shift; shift; ;; --uml-netmask) UML_NETMASK="$2"; shift; shift; ;; --uml-network) UML_NETWORK="$2"; shift; shift; ;; --uml-broadcast) UML_BROADCAST="$2"; shift; shift; ;; --uml-gateway) UML_GATEWAY="$2"; shift; shift; ;; --uml-image) PBUILDER_UML_IMAGE="$2"; shift; shift; ;; --mount-tmpfs) UML_MOUNT_TMPFS="$2"; shift; shift; ;; --uml-mem) UML_MEM="$2"; shift; shift; ;; --uml-hostname) UML_HOSTNAME="$2"; shift; shift; ;; --uml-debugmode) UML_DEBUGMODE="set -x"; shift;; --distribution) UML_DISTRIBUTION="$2"; shift; shift; ;; --uml-login-nocow) UML_LOGIN_NOCOW=yes; shift; ;; #things that can be passed through without options --override-config|--binary-arch) UML_EXTRAOPT="${UML_EXTRAOPT} $1" shift;; --configfile) UML_EXTRAOPT="${UML_EXTRAOPT} $1 $2" . "$2" shift; shift;; #things that can be passed through with options --timeout|--http-proxy|--hookdir|--aptconfdir|--bindmounts|--mirror|--othermirror) UML_EXTRAOPT="${UML_EXTRAOPT} $1 $2" shift; shift;; --buildresult) # ignore buildresult if [ -d "$2" ]; then UML_BUILDRESULT=$(readlink -f "$2") else echo "E: Directory $2 does not exist" >&2 exit 1 fi shift; shift;; --buildplace) if [ -d "$2" ]; then BUILDPLACE=$(readlink -f "$2") else echo "E: Directory $2 does not exist" >&2 exit 1 fi shift; shift;; --logfile) exec > "$2" 2>&1 PBUILDER_BUILD_LOGFILE=$(readlink -f "$2") shift;shift;; --) shift; break; ;; --*) echo "Error: Unknown option [$1] was specified " >&2 exit 1; ;; *) break; ;; esac done if ! touch "${BUILDPLACE}/touch" ; then echo "E: Cannot touch BUILDPLACE/touch, check BUILDPLACE" >&2 exit 1 fi