summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLuke Shumaker <LukeShu@sbcglobal.net>2014-05-11 22:45:42 -0400
committerLuke Shumaker <LukeShu@sbcglobal.net>2014-05-11 22:45:42 -0400
commitb31425edf4c1b292280e5d14016611f238372a18 (patch)
tree18d3dd7440fedd50a531e01045e015db7c5e14e9
parent6f5910a55f72c5d01a26b685a7a06a6673a2e9f7 (diff)
Create CHROOTARCH in chroot.conf for when $CARCH != $(uname -m)
This is the case on mips, where CARCH is misp64el, but uname -m is mips64.
-rw-r--r--src/chroot-tools/arch-nspawn.patch14
-rwxr-xr-xsrc/chroot-tools/librechroot2
2 files changed, 14 insertions, 2 deletions
diff --git a/src/chroot-tools/arch-nspawn.patch b/src/chroot-tools/arch-nspawn.patch
index afdf51a..5e0f10b 100644
--- a/src/chroot-tools/arch-nspawn.patch
+++ b/src/chroot-tools/arch-nspawn.patch
@@ -1,5 +1,5 @@
---- arch-nspawn.in 2014-03-21 13:59:31.812992892 -0400
-+++ arch-nspawn 2014-03-21 14:24:23.520619552 -0400
+--- arch-nspawn.in 2014-05-11 00:58:42.030932904 -0400
++++ arch-nspawn.ugly 2014-05-11 22:33:47.186717386 -0400
@@ -1,4 +1,6 @@
#!/bin/bash
+# License: GNU GPLv2
@@ -7,3 +7,13 @@
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; version 2 of the License.
+@@ -103,7 +105,8 @@
+ machine_name="${machine_name#-}"
+ fi
+
+-exec ${CARCH:+setarch "$CARCH"} systemd-nspawn -q \
++CHROOTARCH="$(. $(librelib conf); get_var chroot CHROOTARCH "$CARCH")"
++exec ${CHROOTARCH:+setarch "$CHROOTARCH"} systemd-nspawn -q \
+ -D "$working_dir" \
+ --machine "$machine_name" \
+ "${mount_args[@]}" \
diff --git a/src/chroot-tools/librechroot b/src/chroot-tools/librechroot
index d8e76ac..9e74a62 100755
--- a/src/chroot-tools/librechroot
+++ b/src/chroot-tools/librechroot
@@ -336,6 +336,8 @@ main() {
printf '%q ' "${CHROOTEXTRAPKG[@]}"
printf ')\n'
fi
+ # TODO: only set CHROOTARCH if $CARCH != $(uname -m)
+ printf 'CHROOTARCH=%q\n' "$(uname -m)"
} > "$copydir"/etc/libretools.d/chroot.conf
if [[ $mode != delete ]]; then