aboutsummaryrefslogtreecommitdiff
path: root/debian/pbuilder.config
diff options
context:
space:
mode:
authorJunichi Uekawa <dancer@netfort.gr.jp>2008-03-15 09:52:43 +0900
committerJunichi Uekawa <dancer@netfort.gr.jp>2008-03-15 09:52:43 +0900
commit3c0bdbecc08c374d1b3dd880648bf061bac829e4 (patch)
tree64675726cd7119aea9b5319b1617de7602128a9e /debian/pbuilder.config
parent74788fa1551aa906b327464d4ae422e21b3bf792 (diff)
downloadpbuilder-3c0bdbecc08c374d1b3dd880648bf061bac829e4.tar
pbuilder-3c0bdbecc08c374d1b3dd880648bf061bac829e4.tar.gz
move pbuilder.postinst to pbuilder.config
Diffstat (limited to 'debian/pbuilder.config')
-rwxr-xr-xdebian/pbuilder.config106
1 files changed, 106 insertions, 0 deletions
diff --git a/debian/pbuilder.config b/debian/pbuilder.config
new file mode 100755
index 0000000..dceca93
--- /dev/null
+++ b/debian/pbuilder.config
@@ -0,0 +1,106 @@
+#!/bin/sh
+# postinst script for pbuilder
+#
+# see: dh_installdeb(1)
+
+. /usr/share/debconf/confmodule
+
+set -e
+
+# summary of how this script can be called:
+# * <postinst> `configure' <most-recently-configured-version>
+# * <old-postinst> `abort-upgrade' <new version>
+# * <conflictor's-postinst> `abort-remove' `in-favour' <package>
+# <new-version>
+# * <postinst> `abort-remove'
+# * <deconfigured's-postinst> `abort-deconfigure' `in-favour'
+# <failed-install-package> <version> `removing'
+# <conflicting-package> <version>
+# 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
+
+