| Index: build/install-chroot.sh
|
| diff --git a/build/install-chroot.sh b/build/install-chroot.sh
|
| index b5b3ccd0838540080528bdb1600e9b845e94811c..b80aea0fd52b9819f49be35089de750151a4767a 100755
|
| --- a/build/install-chroot.sh
|
| +++ b/build/install-chroot.sh
|
| @@ -11,16 +11,18 @@
|
| # Debian-derived system.
|
|
|
| usage() {
|
| - echo "usage: ${0##*/} [-m mirror] [-g group,...]"
|
| + echo "usage: ${0##*/} [-m mirror] [-g group,...] [-s] [-c]"
|
| echo "-g group,... groups that can use the chroot unauthenticated"
|
| echo " Default: 'admin' and current user's group ('$(id -gn)')"
|
| echo "-m mirror an alternate repository mirror for package downloads"
|
| + echo "-s configure default deb-srcs"
|
| + echo "-c always copy 64bit helper binaries to 32bit chroot"
|
| echo "-h this help message"
|
| }
|
|
|
| process_opts() {
|
| local OPTNAME OPTIND OPTERR OPTARG
|
| - while getopts ":g:m:h" OPTNAME; do
|
| + while getopts ":g:m:sch" OPTNAME; do
|
| case "$OPTNAME" in
|
| g)
|
| [ -n "${OPTARG}" ] &&
|
| @@ -34,6 +36,12 @@ process_opts() {
|
| fi
|
| mirror="$OPTARG"
|
| ;;
|
| + s)
|
| + add_srcs="y"
|
| + ;;
|
| + c)
|
| + copy_64="y"
|
| + ;;
|
| h)
|
| usage
|
| exit 0
|
| @@ -215,7 +223,8 @@ sudo chown root:root /usr/local/bin/"${target%bit}"
|
| sudo chmod 755 /usr/local/bin/"${target%bit}"
|
|
|
| # Add the standard Ubuntu update repositories if requested.
|
| -[ "${alt_repos}" = "y" -a -r "/var/lib/chroot/${target}/etc/apt/sources.list" ] &&
|
| +[ "${alt_repos}" = "y" -a \
|
| + -r "/var/lib/chroot/${target}/etc/apt/sources.list" ] &&
|
| sudo sed -i '/^deb .* [^ -]\+ main$/p
|
| s/^\(deb .* [^ -]\+\) main/\1-security main/
|
| p
|
| @@ -226,7 +235,8 @@ sudo sed -i '/^deb .* [^ -]\+ main$/p
|
| d' "/var/lib/chroot/${target}/etc/apt/sources.list"
|
|
|
| # Add a few more repositories to the chroot
|
| -[ -r "/var/lib/chroot/${target}/etc/apt/sources.list" ] &&
|
| +[ "${add_srcs}" = "y" -a \
|
| + -r "/var/lib/chroot/${target}/etc/apt/sources.list" ] &&
|
| sudo sed -i 's/ main$/ main restricted universe multiverse/
|
| p
|
| t1
|
| @@ -263,8 +273,14 @@ sudo schroot -c "${target%bit}" -p -- apt-get -y install \
|
| strace
|
|
|
| # If running a 32bit environment on a 64bit machine, install a few binaries
|
| -# as 64bit.
|
| -if [ "${arch}" = 32bit ] && file /bin/bash 2>/dev/null | grep -q x86-64; then
|
| +# as 64bit. This is only done automatically if the chroot distro is the same as
|
| +# the host, otherwise there might be incompatibilities in build settings or
|
| +# runtime dependencies. The user can force it with the '-c' flag.
|
| +host_distro=$(grep DISTRIB_CODENAME /etc/lsb-release 2>/dev/null | \
|
| + cut -d "=" -f 2)
|
| +if [ "${copy_64}" = "y" -o \
|
| + "${host_distro}" = "${distname}" -a "${arch}" = 32bit ] && \
|
| + file /bin/bash 2>/dev/null | grep -q x86-64; then
|
| readlinepkg=$(sudo schroot -c "${target%bit}" -p -- sh -c \
|
| 'apt-cache search "lib64readline.\$" | sort | tail -n 1 | cut -d " " -f 1')
|
| sudo schroot -c "${target%bit}" -p -- apt-get -y install \
|
|
|