summaryrefslogtreecommitdiff
path: root/arch-nspawn.in
diff options
context:
space:
mode:
Diffstat (limited to 'arch-nspawn.in')
-rw-r--r--arch-nspawn.in10
1 files changed, 8 insertions, 2 deletions
diff --git a/arch-nspawn.in b/arch-nspawn.in
index 6900382..7dcd8ca 100644
--- a/arch-nspawn.in
+++ b/arch-nspawn.in
@@ -32,7 +32,7 @@ while getopts 'hC:M:c:' arg; do
M) makepkg_conf="$OPTARG" ;;
c) cache_dir="$OPTARG" ;;
h|?) usage ;;
- *) error "invalid argument '$arg'"; usage ;;
+ *) error "invalid argument '%s'" "$arg"; usage ;;
esac
done
shift $(($OPTIND - 1))
@@ -96,8 +96,14 @@ eval $(grep '^CARCH=' "$working_dir/etc/makepkg.conf")
machine_name="${working_dir//[![:alnum:]_-]/-}"
machine_name="${machine_name#-}"
+#HOST_NAME_MAX="$(printf '%s\n' '#include <limits.h>' 'HOST_NAME_MAX'|cpp -|sed -n '$p')"
+HOST_NAME_MAX=64
+if [[ ${#machine_name} -gt "$HOST_NAME_MAX" ]]; then
+ machine_name="${machine_name:(-${HOST_NAME_MAX})}"
+ machine_name="${machine_name#-}"
+fi
-exec ${CARCH:+setarch "$CARCH"} systemd-nspawn 2>/dev/null \
+exec ${CARCH:+setarch "$CARCH"} systemd-nspawn \
-D "$working_dir" \
--machine "$machine_name" \
"${mount_args[@]}" \