1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
|
From 16e877ff4f66de4a24b614ea74adb9f35142f06f Mon Sep 17 00:00:00 2001
From: David P <megver83@parabola.nu>
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 <megver83@parabola.nu>
---
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 <file> 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
|