From 16e877ff4f66de4a24b614ea74adb9f35142f06f Mon Sep 17 00:00:00 2001 From: David P Date: Sat, 12 May 2018 13:53:09 -0300 Subject: [PATCH] Remove systemd support Libretools uses systemd-nspawn and systemd-id-machine-setup This patch removes support for them and replaces systemd-nspawn with chroot-nspawn Signed-off-by: David P --- INSTALL | 2 +- src/chroot-tools/arch-nspawn.in | 6 +++--- src/chroot-tools/librechroot | 18 +++++++++--------- src/chroot-tools/mkarchroot.in | 2 -- 4 files changed, 13 insertions(+), 15 deletions(-) diff --git a/INSTALL b/INSTALL index e91f1ea..b8516ec 100644 --- a/INSTALL +++ b/INSTALL @@ -76,7 +76,7 @@ main libretools subpackage: - GNU Make (only needed for `librefetch`) - ssh client (OpenSSH, only needed for `librerelease`) - rsync - - systemd-nspawn (for the chroot tools) + - chroot-nspawn (for the chroot tools) - tokyocabinet Configuration diff --git a/src/chroot-tools/arch-nspawn.in b/src/chroot-tools/arch-nspawn.in index c448056..a90b90a 100644 --- a/src/chroot-tools/arch-nspawn.in +++ b/src/chroot-tools/arch-nspawn.in @@ -18,8 +18,8 @@ working_dir='' files=() usage() { - echo "Usage: ${0##*/} [options] working-dir [systemd-nspawn arguments]" - echo "A wrapper around systemd-nspawn. Provides support for pacman." + echo "Usage: ${0##*/} [options] working-dir [chroot-nspawn arguments]" + echo "A wrapper around chroot-nspawn. Provides support for pacman." echo echo ' options:' echo ' -C Location of a pacman config file' @@ -115,7 +115,7 @@ esac [[ -z $nosetarch ]] || unset CARCH -exec ${CARCH:+setarch "$CARCH"} systemd-nspawn -q \ +exec ${CARCH:+setarch "$CARCH"} chroot-nspawn -q \ -D "$working_dir" \ -E "PATH=/usr/local/sbin:/usr/local/bin:/usr/bin" \ --register=no --keep-unit --as-pid2 \ diff --git a/src/chroot-tools/librechroot b/src/chroot-tools/librechroot index 868741f..f81fbca 100755 --- a/src/chroot-tools/librechroot +++ b/src/chroot-tools/librechroot @@ -89,7 +89,7 @@ hack_arch_nspawn_flags() { prose 'Such a binfmt_misc entry is provided by the %s package. If you have it installed, but still see this message, you may need to restart %s.' \ - qemu-user-static-binfmt systemd-binfmt.service + qemu-user-static-binfmt binfmt return $EXIT_NOTINSTALLED fi @@ -405,14 +405,14 @@ main() { umask 0022 # XXX: SYSTEMD-STDIN HACK - if ! [[ -t 0 ]]; then - error "Input is not a TTY" - plain "https://labs.parabola.nu/issues/431" - plain "https://bugs.freedesktop.org/show_bug.cgi?id=70290" - prose "Due to a bug in systemd-nspawn, redirecting stdin is not - supported." >&2 - return $EXIT_FAILURE - fi +# if ! [[ -t 0 ]]; then +# error "Input is not a TTY" +# plain "https://labs.parabola.nu/issues/431" +# plain "https://bugs.freedesktop.org/show_bug.cgi?id=70290" +# prose "Due to a bug in systemd-nspawn, redirecting stdin is not +# supported." >&2 +# return $EXIT_FAILURE +# fi # Keep this lock for as long as we are running # Note that '9' is the same FD number as in mkarchroot et al. diff --git a/src/chroot-tools/mkarchroot.in b/src/chroot-tools/mkarchroot.in index 5165960..7ac9d1c 100644 --- a/src/chroot-tools/mkarchroot.in +++ b/src/chroot-tools/mkarchroot.in @@ -90,8 +90,6 @@ printf '%s.UTF-8 UTF-8\n' en_US de_DE > "$working_dir/etc/locale.gen" echo 'LANG=en_US.UTF-8' > "$working_dir/etc/locale.conf" echo "$CHROOT_VERSION" > "$working_dir/.arch-chroot" -systemd-machine-id-setup --root="$working_dir" - exec "$(librelib chroot/arch-nspawn)" \ ${nosetarch:+-s} \ ${pac_conf:+-C "$pac_conf"} \ -- 2.17.0