#!/bin/sh # postinst script for pbuilder # # see: dh_installdeb(1) set -e . /usr/share/debconf/confmodule # summary of how this script can be called: # * `configure' # * `abort-upgrade' # * `abort-remove' `in-favour' # # * `abort-remove' # * `abort-deconfigure' `in-favour' # `removing' # # for details, see http://www.debian.org/doc/debian-policy/ or # the debian-policy package case "$1" in configure) 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" MIRRORSITE="" db_set pbuilder/mirrorsite "" fi else echo "MIRRORSITE=$PLACEHOLDER" > "$CONFFILE" MIRRORSITE="" db_set pbuilder/mirrorsite "" fi db_get pbuilder/mirrorsite [ "$RET" = "$PLACEHOLDER" ] && db_set pbuilder/mirrorsite "" || true 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 ; [ -f $SRCLISTDIR/*.sources.list ] && cat $SRCLISTDIR/*.sources.list || true ) \ | grep -E '^deb ' | 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://cdn.debian.net/debian" else db_get pbuilder/mirrorsite MIRRORSITE="$RET" fi done db_set pbuilder/mirrorsite "$MIRRORSITE" fi sed -i "s#^\s*MIRRORSITE=.*\$#MIRRORSITE=$MIRRORSITE#" "$CONFFILE" ;; abort-upgrade|abort-remove|abort-deconfigure) ;; *) echo "postinst 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