#!/bin/sh # config script for pbuilder # # see: dh_installdeb(1) set -e . /usr/share/debconf/confmodule # summary of how this script can be called: # * `configure' # * `reconfigure' # for details, see http://www.debian.org/doc/debian-policy/ or # the debian-policy package case "$1" in configure|reconfigure) CONFFILE=/etc/pbuilderrc PLACEHOLDER='http://you-have-broken-debconf-configuration.example.com/' # if there is a custom file, then we shouldn't touch it if [ -f "$CONFFILE" ] ; then CURRENTMIRROR=$(grep -E "^[ ]*MIRRORSITE=" "$CONFFILE" | sed 's#MIRRORSITE=##g') if [ "$CURRENTMIRROR" ] ; then db_input low pbuilder/rewrite || [ $? = 30 ] db_go db_get pbuilder/rewrite [ "$RET" = "true" ] || exit 0 # make sure latter calls do not overwrite stuff silently db_set pbuilder/rewrite "false" else # no MIRRORSITE line found in the pbuilderrc file echo "MIRRORSITE=$PLACEHOLDER" >> "$CONFFILE" fi else cat < "$CONFFILE" # this is your configuration file for pbuilder. # the file in /usr/share/pbuilder/pbuilderrc is the default template. # /etc/pbuilderrc is the one meant for overwriting defaults in # the default template # # read pbuilderrc.5 document for notes on specific options. EOF echo "MIRRORSITE=$PLACEHOLDER" >> "$CONFFILE" fi db_input medium pbuilder/mirrorsite || [ $? = 30 ] db_go db_get pbuilder/mirrorsite MIRRORSITE="$RET" # the "$PLACEHOLDER" alternative is just a safety net, # but that should really never happen if [ -z "$MIRRORSITE" ] || [ "$MIRRORSITE" = "$PLACEHOLDER" ] ; then SRCLISTDIR=/etc/apt/sources.list.d MIRRORSITE=$( ( [ -f /etc/apt/sources.list ] && cat /etc/apt/sources.list || true ; for FILE in $(ls $SRCLISTDIR/*.list 2>/dev/null); do [ ! -f "$FILE" ] || cat "$FILE"; done || true ) \ | grep -E '^deb[[:space:]]+(ftp|http):' | head -n 1 | awk '{print $2;}' ) while [ -z "$MIRRORSITE" ] ; do db_input high pbuilder/nomirror || true db_input high pbuilder/mirrorsite && RETCODE=$? || RETCODE=$? db_go # if the interface is non-interactive, still set a valid mirror if [ $RETCODE = 30 ] ; then MIRRORSITE="http://httpredir.debian.org/debian" else db_get pbuilder/mirrorsite MIRRORSITE="$RET" fi done db_set pbuilder/mirrorsite "$MIRRORSITE" fi sed -i "s#^\s*MIRRORSITE=.*\$#MIRRORSITE=$MIRRORSITE#" "$CONFFILE" ;; *) echo "config script called with unknown argument \`$1'" >&2 exit 1 ;; esac # dh_installdeb will replace this with shell code automatically # generated by other debhelper scripts. #DEBHELPER# exit 0