multistrap-configure.sh 1.04 KB
Newer Older
1 2
#!/bin/sh
#
3
# multistrap-configure.sh
4 5 6
# Copyright 2015 Jonas Smedegaard <dr@jones.dk>
# License: GNU Public License version 3 or newer
#
7
# multistrap configscript invoked in rootfs to preseed and configure
8 9 10 11 12 13 14
#
# Recommends: debconf libfakeroot
#
# TODO: avoid need for libfakeroot installed into target system

set -e

15 16 17 18 19 20
# silence locale noise (esp. from perl)
export LC_ALL=C LANGUAGE=C LANG=C \

# suppress debconf questions not preseeded
export DEBIAN_FRONTEND=noninteractive DEBCONF_NONINTERACTIVE_SEEN=true

21 22 23 24
# dirty hack to make dash postinst succeed
[ -n "$(dpkg-divert --list /bin/sh)" ] || /var/lib/dpkg/info/dash.preinst

# preseed debconf questions
25
cat /tmp/preseeds/* 2>&- | debconf-set-selections
26

27 28
# configure packages
dpkg --configure -a
29 30 31 32 33 34 35 36 37 38 39 40 41 42

cat <<'EOF' >debconf-get
#!/bin/sh
# multistrap debconf wrapper to mimic d-i convenience command
set -e
debconf-show d-i | grep -Po "(?<=. $1: ).*"
EOF
chmod +x debconf-get

./debconf-get preseed/late_command \
	| perl -pe 's,chroot\s+/target\s+,,g;s,/target/,/,g' \
	| PATH="$PATH:." sh -s

rm -f ./debconf-get