* [Buildroot] [PATCH v4 00/13] use host-systemd to enable units
@ 2019-12-12 7:53 Jérémy Rosen
2019-12-12 7:53 ` [Buildroot] [PATCH v4 01/13] new recipe : host-systemd Jérémy Rosen
` (13 more replies)
0 siblings, 14 replies; 18+ messages in thread
From: Jérémy Rosen @ 2019-12-12 7:53 UTC (permalink / raw)
To: buildroot
As discussed during the buildroot dev days, upstream systemd now relies
on systemctl to enable units at install time.
The patch bumping systemd to v243 in buildroot did add the logic to
handle that through Makefiles.
This patch adds support for compiling host-systemd and using it to
enable all units.
* 0001-new-recipe-host-systemd.patch
I might have missed some build-dependencies. Please review carefully
* 0002-use-host-systemctl-preset-all-to-enable-units.patch
Use the previous patch to simplify the systemd recipe
* 0003-fix-tty-handling.patch
TTY handling is tricky. Separate it in its own patch
Everything else deals with updating the packages
Version 4:
* remove dependency on host-eudev and provide hwdb handling ourselves
J?r?my Rosen (13):
new recipe : host-systemd
use host-systemctl preset all to enable units
fix tty handling
fix trivial packages with buildroot-provided services
fix trivial cases, upstream-provided services
package/connman: adapt to preset-all
package/linuxptp adapt to preset-all
package/network-manager: adapt to preset-all
package/wpa_supplicant: adapt for preset-all
package/sysrepo: update to new systemd
package/syslog-ng: implement default using DefaultInstance
package/rauc: add a WantedBy section to the unit
package/alsa-utils: add a WantedBy section to the unit
docs/manual/adding-packages-generic.txt | 4 +
package/Config.in.host | 1 +
package/acpid/acpid.mk | 3 -
package/alsa-utils/alsa-utils.mk | 9 +-
package/apache/apache.mk | 3 -
package/audit/audit.mk | 4 -
package/avahi/avahi.mk | 8 -
package/babeld/babeld.mk | 5 -
package/bandwidthd/bandwidthd.mk | 5 -
package/bind/bind.mk | 5 -
package/bluez5_utils/bluez5_utils.mk | 8 -
package/boinc/boinc.mk | 5 -
package/brltty/brltty.mk | 4 -
package/chrony/chrony.mk | 3 -
package/collectd/collectd.mk | 3 -
package/connman/connman.mk | 6 -
package/darkhttpd/darkhttpd.mk | 3 -
package/dcron/dcron.mk | 3 -
package/dhcp/dhcp.mk | 5 -
package/dhcpcd/dhcpcd.mk | 3 -
package/docker-engine/docker-engine.mk | 3 -
package/domoticz/domoticz.mk | 3 -
package/dropbear/dropbear.mk | 3 -
package/exim/exim.mk | 3 -
package/fail2ban/fail2ban.mk | 3 -
package/freescale-imx/imx-uuc/imx-uuc.mk | 3 -
package/gerbera/gerbera.mk | 6 -
package/haveged/haveged.mk | 3 -
package/i2pd/i2pd.mk | 3 -
package/ifupdown-scripts/ifupdown-scripts.mk | 3 -
package/igd2-for-linux/igd2-for-linux.mk | 3 -
package/inadyn/inadyn.mk | 3 -
.../input-event-daemon/input-event-daemon.mk | 3 -
package/iputils/iputils.mk | 16 --
package/irqbalance/irqbalance.mk | 3 -
package/iucode-tool/iucode-tool.mk | 3 -
package/kodi/kodi.mk | 5 -
package/lighttpd/lighttpd.mk | 6 -
.../linuxptp/linuxptp-system-clock.service | 1 -
package/linuxptp/linuxptp.mk | 3 -
package/lldpd/lldpd.mk | 6 -
package/mariadb/mariadb.mk | 3 -
package/mender/mender.mk | 3 -
package/mini-snmpd/mini-snmpd.mk | 3 -
package/minidlna/minidlna.mk | 5 -
package/minissdpd/minissdpd.mk | 3 -
package/mosquitto/mosquitto.mk | 3 -
package/motion/motion.mk | 3 -
package/netplug/netplug.mk | 3 -
package/network-manager/network-manager.mk | 7 -
package/nfs-utils/nfs-utils.mk | 16 --
package/nginx/nginx.mk | 5 -
package/nss-pam-ldapd/nss-pam-ldapd.mk | 3 -
package/ntp/ntp.mk | 3 -
package/ofono/ofono.mk | 6 -
package/olsr/olsr.mk | 3 -
package/openntpd/openntpd.mk | 3 -
package/openssh/openssh.mk | 3 -
package/openvmtools/openvmtools.mk | 3 -
package/oracle-mysql/oracle-mysql.mk | 3 -
package/pcsc-lite/pcsc-lite.mk | 6 -
package/php/php.mk | 3 -
package/postgresql/postgresql.mk | 3 -
package/proftpd/proftpd.mk | 3 -
package/psplash/psplash.mk | 6 -
package/ptpd/ptpd.mk | 3 -
package/ptpd2/ptpd2.mk | 3 -
package/pulseaudio/pulseaudio.mk | 3 -
package/python-web2py/python-web2py.mk | 3 -
package/rabbitmq-server/rabbitmq-server.mk | 5 -
package/rauc/rauc.mk | 5 +-
package/redis/redis.mk | 3 -
package/rng-tools/rng-tools.mk | 3 -
package/rpcbind/rpcbind.mk | 3 -
package/rsyslog/rsyslog.mk | 14 --
package/rygel/rygel.mk | 3 -
package/samba4/samba4.mk | 7 -
package/sane-backends/sane-backends.mk | 6 -
package/squid/squid.mk | 3 -
package/sshguard/sshguard.mk | 3 -
package/supervisor/supervisor.mk | 3 -
package/suricata/suricata.mk | 3 -
package/sysklogd/sysklogd.mk | 5 -
package/syslog-ng/syslog-ng.mk | 7 +-
package/sysrepo/sysrepo.mk | 10 +-
.../systemd-bootchart/systemd-bootchart.mk | 6 -
package/systemd/80-buildroot.preset | 4 +
package/systemd/Config.in | 2 +-
package/systemd/Config.in.host | 3 +
package/systemd/systemd.mk | 224 ++++++++++--------
package/tcf-agent/tcf-agent.mk | 3 -
package/thttpd/thttpd.mk | 3 -
package/ti-gfx/ti-gfx.mk | 3 -
package/tinyhttpd/tinyhttpd.mk | 3 -
package/transmission/transmission.mk | 3 -
package/triggerhappy/triggerhappy.mk | 3 -
package/upmpdcli/upmpdcli.mk | 3 -
.../wpa_supplicant/50-wpa_supplicant.preset | 4 +
package/wpa_supplicant/wpa_supplicant.mk | 2 +
99 files changed, 154 insertions(+), 484 deletions(-)
create mode 100644 package/systemd/80-buildroot.preset
create mode 100644 package/systemd/Config.in.host
create mode 100644 package/wpa_supplicant/50-wpa_supplicant.preset
--
2.24.0
^ permalink raw reply [flat|nested] 18+ messages in thread
* [Buildroot] [PATCH v4 01/13] new recipe : host-systemd
2019-12-12 7:53 [Buildroot] [PATCH v4 00/13] use host-systemd to enable units Jérémy Rosen
@ 2019-12-12 7:53 ` Jérémy Rosen
2019-12-12 10:19 ` Thomas Petazzoni
2019-12-12 7:53 ` [Buildroot] [PATCH v4 02/13] use host-systemctl preset all to enable units Jérémy Rosen
` (12 subsequent siblings)
13 siblings, 1 reply; 18+ messages in thread
From: Jérémy Rosen @ 2019-12-12 7:53 UTC (permalink / raw)
To: buildroot
Add the infrastructure to build the host version of systemd
* disable all optional features, they can be re-added when needed
* systemd has creative way of dealing with cross compile
we build a "normal" host systemd, but install it in $HOST_DIR
we use systemctl --root to correctly act on TARGET_DIR
* we need to adjust RPATH using patchelf because meson can't do it
correctly by itsel
Signed-off-by: J?r?my Rosen <jeremy.rosen@smile.fr>
---
package/Config.in.host | 1 +
package/systemd/Config.in | 1 -
package/systemd/Config.in.host | 3 ++
package/systemd/systemd.mk | 98 ++++++++++++++++++++++++++++++++++
4 files changed, 102 insertions(+), 1 deletion(-)
create mode 100644 package/systemd/Config.in.host
diff --git a/package/Config.in.host b/package/Config.in.host
index 758c268e00..62e860d7c3 100644
--- a/package/Config.in.host
+++ b/package/Config.in.host
@@ -70,6 +70,7 @@ menu "Host utilities"
source "package/squashfs/Config.in.host"
source "package/sunxi-tools/Config.in.host"
source "package/swig/Config.in.host"
+ source "package/systemd/Config.in.host"
source "package/tegrarcm/Config.in.host"
source "package/ti-cgt-pru/Config.in.host"
source "package/uboot-tools/Config.in.host"
diff --git a/package/systemd/Config.in b/package/systemd/Config.in
index 8f1d6fc0c0..81761b33a4 100644
--- a/package/systemd/Config.in
+++ b/package/systemd/Config.in
@@ -199,7 +199,6 @@ config BR2_PACKAGE_SYSTEMD_HOSTNAMED
config BR2_PACKAGE_SYSTEMD_HWDB
bool "enable hwdb installation"
default y
- select BR2_PACKAGE_HOST_EUDEV # for udevadm, during target-finalize
help
Enables hardware database installation to /usr/lib/udev/hwdb.d
diff --git a/package/systemd/Config.in.host b/package/systemd/Config.in.host
new file mode 100644
index 0000000000..219f24239e
--- /dev/null
+++ b/package/systemd/Config.in.host
@@ -0,0 +1,3 @@
+# Select this if you need host systemd tools (e.g. systemctl)
+config BR2_PACKAGE_HOST_SYSTEMD
+ bool
diff --git a/package/systemd/systemd.mk b/package/systemd/systemd.mk
index a292a7512b..ad16b58ceb 100644
--- a/package/systemd/systemd.mk
+++ b/package/systemd/systemd.mk
@@ -204,6 +204,11 @@ endif
ifeq ($(BR2_PACKAGE_SYSTEMD_HWDB),y)
SYSTEMD_CONF_OPTS += -Dhwdb=true
+define SYSTEMD_BUILD_HWDB
+ $(HOST_DIR)/bin/udevadm hwdb --update --root $(TARGET_DIR)
+endef
+SYSTEMD_TARGET_FINALIZE_HOOKS += SYSTEMD_BUILD_HWDB
+
else
SYSTEMD_CONF_OPTS += -Dhwdb=false
endif
@@ -551,3 +556,96 @@ SYSTEMD_CONF_ENV = $(HOST_UTF8_LOCALE_ENV)
SYSTEMD_NINJA_ENV = $(HOST_UTF8_LOCALE_ENV)
$(eval $(meson-package))
+
+#
+# Host-systemd configuration
+#
+#Options tweaked for buildroot
+HOST_SYSTEMD_CONF_OPTS= \
+ -Dsplit-bin=true \
+ -Dsplit-usr=false \
+ --prefix=/usr \
+ --libdir=lib \
+ --sysconfdir=/etc \
+ --localstatedir=/var
+
+#disable everything else
+HOST_SYSTEMD_CONF_OPTS+= \
+ -Dutmp=false \
+ -Dhibernate=false \
+ -Dldconfig=false \
+ -Dresolve=false \
+ -Defi=false \
+ -Dtpm=false \
+ -Denvironment-d=false \
+ -Dbinfmt=false \
+ -Dcoredump=false \
+ -Dpstore=false \
+ -Dlogind=false \
+ -Dhostnamed=false \
+ -Dlocaled=false \
+ -Dmachined=false \
+ -Dportabled=false \
+ -Dnetworkd=false \
+ -Dtimedated=false \
+ -Dtimesyncd=false \
+ -Dremote=false \
+ -Dcreate-log-dirs=false \
+ -Dnss-myhostname=false \
+ -Dnss-mymachines=false \
+ -Dnss-resolve=false \
+ -Dnss-systemd=false \
+ -Dfirstboot=false \
+ -Drandomseed=false \
+ -Dbacklight=false \
+ -Dvconsole=false \
+ -Dquotacheck=false \
+ -Dsysusers=false \
+ -Dtmpfiles=false \
+ -Dimportd=false \
+ -Dhwdb=false \
+ -Drfkill=false \
+ -Dman=false \
+ -Dhtml=false \
+ -Dsmack=false \
+ -Dpolkit=false \
+ -Dblkid=false \
+ -Didn=false \
+ -Dadm-group=false \
+ -Dwheel-group=false \
+ -Dzlib=false \
+ -Dgshadow=false \
+ -Dima=false \
+ -Dtests=false \
+ -Dglib=false \
+ -Dacl=false \
+ -Dsysvinit-path=''
+
+HOST_SYSTEMD_DEPENDENCIES = \
+ host-util-linux \
+ host-patchelf \
+ host-libcap \
+ host-gperf
+
+# Fix RPATH After installation
+# * systemd provides a install_rpath instruction to meson because the binaries need to link with
+# libsystemd which is not in a standard path
+# * meson can only replace the RPATH, not append to it
+# * the original rpatch is thus lost.
+# * the original path had been tweaked by buildroot vial LD_FLAGS to add $(HOST_DIR)/lib
+# * thus re-tweak rpath after the installation for all binaries that need it
+#buildroot detects incorrect RPATH, so adding new binaries should be safe (it won't compile
+#unless properly integrated).
+HOST_SYSTEMD_HOST_TOOLS = \
+ systemd-analyze systemd-mount systemctl udevadm
+
+define HOST_SYSTEMD_FIX_RPATH
+ $(foreach f,$(HOST_SYSTEMD_HOST_TOOLS), \
+ $(HOST_DIR)/bin/patchelf --set-rpath $(HOST_DIR)/lib:$(HOST_DIR)/lib/systemd $(HOST_DIR)/bin/$(f)
+ )
+endef
+
+HOST_SYSTEMD_POST_INSTALL_HOOKS += HOST_SYSTEMD_FIX_RPATH
+HOST_SYSTEMD_NINJA_ENV = DESTDIR=$(HOST_DIR)
+
+$(eval $(host-meson-package))
--
2.24.0
^ permalink raw reply related [flat|nested] 18+ messages in thread
* [Buildroot] [PATCH v4 02/13] use host-systemctl preset all to enable units
2019-12-12 7:53 [Buildroot] [PATCH v4 00/13] use host-systemd to enable units Jérémy Rosen
2019-12-12 7:53 ` [Buildroot] [PATCH v4 01/13] new recipe : host-systemd Jérémy Rosen
@ 2019-12-12 7:53 ` Jérémy Rosen
2019-12-12 7:53 ` [Buildroot] [PATCH v4 03/13] fix tty handling Jérémy Rosen
` (11 subsequent siblings)
13 siblings, 0 replies; 18+ messages in thread
From: Jérémy Rosen @ 2019-12-12 7:53 UTC (permalink / raw)
To: buildroot
since v234 upstream recommands using systemctl preset-all to enable units.
* add a buildroot specific preset file
* use that file to disable getty at tty1
* make systemd depend on host-systemd
* remove all link-creating code that systemd does for us.
Most packages will not be affected by this change, but a few packages
were installing units without manually enabling them. Those packages
will now be automatically enabled.
The fact that those packages were not enabled is almost certainly a bug,
but it is a change of behaviour that needs to be reported
Signed-off-by:J?r?my Rosen <jeremy.rosen@smile.fr>
---
docs/manual/adding-packages-generic.txt | 4 +
package/systemd/80-buildroot.preset | 5 ++
package/systemd/Config.in | 1 +
package/systemd/systemd.mk | 103 +++---------------------
4 files changed, 22 insertions(+), 91 deletions(-)
create mode 100644 package/systemd/80-buildroot.preset
diff --git a/docs/manual/adding-packages-generic.txt b/docs/manual/adding-packages-generic.txt
index 86300e7460..f7f3e447f1 100644
--- a/docs/manual/adding-packages-generic.txt
+++ b/docs/manual/adding-packages-generic.txt
@@ -550,6 +550,10 @@ different steps of the build process.
is when openrc is chosen as init system and +LIBFOO_INSTALL_INIT_OPENRC+
has not been set, in such situation +LIBFOO_INSTALL_INIT_SYSV+ will
be called, since openrc supports sysv init scripts.
+ When systemd is used as the init system, buildroot will automatically enable
+ all services using the +systemctl preset-all+ command in the final phase of
+ image building. You can add preset files to prevent a particular unit from
+ being automatically enabled by buildroot.
* +LIBFOO_HELP_CMDS+ lists the actions to print the package help, which
is included to the main +make help+ output. These commands can print
diff --git a/package/systemd/80-buildroot.preset b/package/systemd/80-buildroot.preset
new file mode 100644
index 0000000000..4074901cbd
--- /dev/null
+++ b/package/systemd/80-buildroot.preset
@@ -0,0 +1,5 @@
+# Higher priority than systemd presets
+
+# by default systemd enables a getty on tty1
+# we don't want that because tty1 may not exist
+disable getty at .service
diff --git a/package/systemd/Config.in b/package/systemd/Config.in
index 81761b33a4..c727082a1a 100644
--- a/package/systemd/Config.in
+++ b/package/systemd/Config.in
@@ -35,6 +35,7 @@ menuconfig BR2_PACKAGE_SYSTEMD
select BR2_PACKAGE_KMOD_TOOLS
select BR2_TARGET_TZ_INFO
select BR2_NEEDS_HOST_UTF8_LOCALE
+ select BR2_PACKAGE_HOST_SYSTEMD # for systemctl preset-all, during target-finalize
help
systemd is a system and service manager for Linux,
compatible with SysV and LSB init scripts. systemd provides
diff --git a/package/systemd/systemd.mk b/package/systemd/systemd.mk
index ad16b58ceb..ca3fc7121f 100644
--- a/package/systemd/systemd.mk
+++ b/package/systemd/systemd.mk
@@ -52,12 +52,6 @@ endif
ifeq ($(BR2_PACKAGE_AUDIT),y)
SYSTEMD_DEPENDENCIES += audit
SYSTEMD_CONF_OPTS += -Daudit=true
-define SYSTEMD_INSTALL_SERVICE_AUDIT
- mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants
- ln -sf ../../../../usr/lib/systemd/system/auditd.service \
- $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/auditd.service
-endef
-
else
SYSTEMD_CONF_OPTS += -Daudit=false
endif
@@ -65,11 +59,6 @@ endif
ifeq ($(BR2_PACKAGE_CRYPTSETUP),y)
SYSTEMD_DEPENDENCIES += cryptsetup
SYSTEMD_CONF_OPTS += -Dlibcryptsetup=true
-define SYSTEMD_INSTALL_TARGET_CRYPTSETUP
- mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants
- ln -sf ../../../../usr/lib/systemd/system/remote-cryptsetup.target \
- $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/remote-cryptsetup.target
-endef
else
SYSTEMD_CONF_OPTS += -Dlibcryptsetup=false
endif
@@ -275,11 +264,6 @@ endif
ifeq ($(BR2_PACKAGE_SYSTEMD_MACHINED),y)
SYSTEMD_CONF_OPTS += -Dmachined=true
-define SYSTEMD_INSTALL_TARGET_MACHINED
- mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants
- ln -sf ../../../../lib/systemd/system/machines.target \
- $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/machines.target
-endef
else
SYSTEMD_CONF_OPTS += -Dmachined=false
endif
@@ -323,11 +307,6 @@ endif
ifeq ($(BR2_PACKAGE_SYSTEMD_PSTORE),y)
SYSTEMD_CONF_OPTS += -Dpstore=true
-define SYSTEMD_INSTALL_SERVICE_PSTORE
- mkdir -p $(TARGET_DIR)/etc/systemd/system/systemd-remount-fs.service.wants
- ln -sf ../../../../lib/systemd/system/systemd-pstore.service \
- $(TARGET_DIR)/etc/systemd/system/systemd-remount-fs.service.wants/systemd-pstore.service
-endef
else
SYSTEMD_CONF_OPTS += -Dpstore=false
endif
@@ -342,29 +321,11 @@ endif
ifeq ($(BR2_PACKAGE_SYSTEMD_NETWORKD),y)
SYSTEMD_CONF_OPTS += -Dnetworkd=true
SYSTEMD_NETWORKD_USER = systemd-network -1 systemd-network -1 * - - - Network Manager
-define SYSTEMD_INSTALL_SOCKET_NETWORKD
- mkdir -p $(TARGET_DIR)/etc/systemd/system/sockets.target.wants
- ln -sf ../../../../lib/systemd/system/systemd-networkd.socket \
- $(TARGET_DIR)/etc/systemd/system/sockets.target.wants/systemd-networkd.socket
-endef
-define SYSTEMD_INSTALL_SERVICE_NETWORKD
- ln -sf ../../../lib/systemd/system/systemd-networkd.service \
- $(TARGET_DIR)/etc/systemd/system/dbus-org.freedesktop.network1.service
- mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants
- ln -sf ../../../../lib/systemd/system/systemd-networkd.service \
- $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/systemd-networkd.service
- mkdir -p $(TARGET_DIR)/etc/systemd/system/network-online.target.wants
- ln -sf ../../../../lib/systemd/system/systemd-networkd-wait-online.service \
- $(TARGET_DIR)/etc/systemd/system/network-online.target.wants/systemd-networkd-wait-online.service
- mkdir -p $(TARGET_DIR)/etc/systemd/system/network-pre.target.wants
- ln -sf ../../../../lib/systemd/system/systemd-network-generator.service \
- $(TARGET_DIR)/etc/systemd/system/network-pre.target.wants/systemd-network-generator.service
-endef
SYSTEMD_NETWORKD_DHCP_IFACE = $(call qstrip,$(BR2_SYSTEM_DHCP))
ifneq ($(SYSTEMD_NETWORKD_DHCP_IFACE),)
define SYSTEMD_INSTALL_NETWORK_CONFS
sed s/SYSTEMD_NETWORKD_DHCP_IFACE/$(SYSTEMD_NETWORKD_DHCP_IFACE)/ \
- package/systemd/dhcp.network > \
+ $(SYSTEMD_PKGDIR)/dhcp.network > \
$(TARGET_DIR)/etc/systemd/network/dhcp.network
endef
endif
@@ -379,13 +340,6 @@ define SYSTEMD_INSTALL_RESOLVCONF_HOOK
endef
SYSTEMD_CONF_OPTS += -Dresolve=true
SYSTEMD_RESOLVED_USER = systemd-resolve -1 systemd-resolve -1 * - - - Network Name Resolution Manager
-define SYSTEMD_INSTALL_SERVICE_RESOLVED
- mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants
- ln -sf ../../../lib/systemd/system/systemd-resolved.service \
- $(TARGET_DIR)/etc/systemd/system/dbus-org.freedesktop.resolve1.service
- ln -sf ../../../../lib/systemd/system/systemd-resolved.service \
- $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/systemd-resolved.service
-endef
else
SYSTEMD_CONF_OPTS += -Dresolve=false
endif
@@ -393,15 +347,6 @@ endif
ifeq ($(BR2_PACKAGE_SYSTEMD_TIMESYNCD),y)
SYSTEMD_CONF_OPTS += -Dtimesyncd=true
SYSTEMD_TIMESYNCD_USER = systemd-timesync -1 systemd-timesync -1 * - - - Network Time Synchronization
-define SYSTEMD_INSTALL_SERVICE_TIMESYNCD
- mkdir -p $(TARGET_DIR)/etc/systemd/system/sysinit.target.wants
- ln -sf ../../../../lib/systemd/system/systemd-timesyncd.service \
- $(TARGET_DIR)/etc/systemd/system/sysinit.target.wants/systemd-timesyncd.service
- ln -sf ../../../../lib/systemd/system/systemd-time-wait-sync.service \
- $(TARGET_DIR)/etc/systemd/system/sysinit.target.wants/systemd-time-wait-sync.service
- ln -sf ../../../lib/systemd/system/systemd-timesyncd.service \
- $(TARGET_DIR)/etc/systemd/system/dbus-org.freedesktop.timesync1.service
-endef
else
SYSTEMD_CONF_OPTS += -Dtimesyncd=false
endif
@@ -452,18 +397,8 @@ SYSTEMD_CONF_OPTS += -Dfallback-hostname=$(SYSTEMD_FALLBACK_HOSTNAME)
endif
define SYSTEMD_INSTALL_INIT_HOOK
- ln -fs ../lib/systemd/systemd $(TARGET_DIR)/sbin/init
- ln -fs ../bin/systemctl $(TARGET_DIR)/sbin/halt
- ln -fs ../bin/systemctl $(TARGET_DIR)/sbin/poweroff
- ln -fs ../bin/systemctl $(TARGET_DIR)/sbin/reboot
- ln -fs ../bin/systemctl $(TARGET_DIR)/sbin/shutdown
- ln -fs ../../../lib/systemd/system/multi-user.target \
- $(TARGET_DIR)/etc/systemd/system/default.target
- ln -fs ../../../lib/systemd/system/reboot.target \
- $(TARGET_DIR)/etc/systemd/system/ctrl-alt-del.target
- mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants
- ln -sf ../../../../lib/systemd/system/remote-fs.target \
- $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/remote-fs.target
+ ln -fs multi-user.target \
+ $(TARGET_DIR)/usr/lib/systemd/system/default.target
endef
define SYSTEMD_INSTALL_MACHINEID_HOOK
@@ -471,9 +406,6 @@ define SYSTEMD_INSTALL_MACHINEID_HOOK
endef
SYSTEMD_POST_INSTALL_TARGET_HOOKS += \
- SYSTEMD_INSTALL_TARGET_CRYPTSETUP \
- SYSTEMD_INSTALL_TARGET_MACHINED \
- SYSTEMD_INSTALL_SOCKET_NETWORKD \
SYSTEMD_INSTALL_INIT_HOOK \
SYSTEMD_INSTALL_MACHINEID_HOOK \
SYSTEMD_INSTALL_RESOLVCONF_HOOK
@@ -497,10 +429,6 @@ define SYSTEMD_USERS
$(SYSTEMD_TIMESYNCD_USER)
endef
-define SYSTEMD_DISABLE_SERVICE_TTY1
- rm -f $(TARGET_DIR)/etc/systemd/system/getty.target.wants/getty at tty1.service
-endef
-
ifneq ($(call qstrip,$(BR2_TARGET_GENERIC_GETTY_PORT)),)
# systemd needs getty.service for VTs and serial-getty.service for serial ttys
# note that console-getty.service should be used on /dev/console as it should not have dependencies
@@ -528,30 +456,23 @@ define SYSTEMD_INSTALL_SERVICE_TTY
endef
endif
-define SYSTEMD_INSTALL_SERVICE_AUTOVT
- ln -sf ../../../lib/systemd/system/getty at .service \
- $(TARGET_DIR)/lib/systemd/system/autovt at .service
-endef
-define SYSTEMD_INSTALL_SERVICE_BOOT_CHECK
- mkdir -p $(TARGET_DIR)/etc/systemd/system/boot-complete.target.requires
- ln -sf ../../../../lib/systemd/system/systemd-boot-check-no-failures.service \
- $(TARGET_DIR)/etc/systemd/system/boot-complete.target.requires/systemd-boot-check-no-failures.service
+define SYSTEMD_INSTALL_PRESET
+ $(INSTALL) -D -m 644 $(SYSTEMD_PKGDIR)/80-buildroot.preset $(TARGET_DIR)/usr/lib/systemd/system-preset/80-buildroot.preset
endef
define SYSTEMD_INSTALL_INIT_SYSTEMD
- $(SYSTEMD_DISABLE_SERVICE_TTY1)
+ $(SYSTEMD_INSTALL_PRESET)
$(SYSTEMD_INSTALL_SERVICE_TTY)
- $(SYSTEMD_INSTALL_SERVICE_AUTOVT)
- $(SYSTEMD_INSTALL_SERVICE_RESOLVED)
- $(SYSTEMD_INSTALL_SERVICE_TIMESYNCD)
$(SYSTEMD_INSTALL_NETWORK_CONFS)
- $(SYSTEMD_INSTALL_SERVICE_PSTORE)
- $(SYSTEMD_INSTALL_SERVICE_NETWORKD)
- $(SYSTEMD_INSTALL_SERVICE_AUDIT)
- $(SYSTEMD_INSTALL_SERVICE_BOOT_CHECK)
endef
+define SYSTEMD_PRESET_ALL
+ $(HOST_DIR)/bin/systemctl --root=$(TARGET_DIR) preset-all
+endef
+SYSTEMD_TARGET_FINALIZE_HOOKS += SYSTEMD_PRESET_ALL
+
+
SYSTEMD_CONF_ENV = $(HOST_UTF8_LOCALE_ENV)
SYSTEMD_NINJA_ENV = $(HOST_UTF8_LOCALE_ENV)
--
2.24.0
^ permalink raw reply related [flat|nested] 18+ messages in thread
* [Buildroot] [PATCH v4 03/13] fix tty handling
2019-12-12 7:53 [Buildroot] [PATCH v4 00/13] use host-systemd to enable units Jérémy Rosen
2019-12-12 7:53 ` [Buildroot] [PATCH v4 01/13] new recipe : host-systemd Jérémy Rosen
2019-12-12 7:53 ` [Buildroot] [PATCH v4 02/13] use host-systemctl preset all to enable units Jérémy Rosen
@ 2019-12-12 7:53 ` Jérémy Rosen
2019-12-12 7:53 ` [Buildroot] [PATCH v4 04/13] fix trivial packages with buildroot-provided services Jérémy Rosen
` (10 subsequent siblings)
13 siblings, 0 replies; 18+ messages in thread
From: Jérémy Rosen @ 2019-12-12 7:53 UTC (permalink / raw)
To: buildroot
Handling of tty is a bit tricky, we need to aggressively disable what
systemd does with tty1 then update for what buildroot wants to do
Rework the whole tty generation to work with presets
Signed-off-by: J?r?my Rosen <jeremy.rosen@smile.fr>
---
package/systemd/80-buildroot.preset | 5 ++---
package/systemd/systemd.mk | 25 +++++++++++++++++--------
2 files changed, 19 insertions(+), 11 deletions(-)
diff --git a/package/systemd/80-buildroot.preset b/package/systemd/80-buildroot.preset
index 4074901cbd..5dbae39173 100644
--- a/package/systemd/80-buildroot.preset
+++ b/package/systemd/80-buildroot.preset
@@ -1,5 +1,4 @@
# Higher priority than systemd presets
-# by default systemd enables a getty on tty1
-# we don't want that because tty1 may not exist
-disable getty at .service
+# This file is currently empty, but is available for demonstration and future use
+
diff --git a/package/systemd/systemd.mk b/package/systemd/systemd.mk
index ca3fc7121f..33653a3b6b 100644
--- a/package/systemd/systemd.mk
+++ b/package/systemd/systemd.mk
@@ -433,22 +433,33 @@ ifneq ($(call qstrip,$(BR2_TARGET_GENERIC_GETTY_PORT)),)
# systemd needs getty.service for VTs and serial-getty.service for serial ttys
# note that console-getty.service should be used on /dev/console as it should not have dependencies
# also patch the file to use the correct baud-rate, the default baudrate is 115200 so look for that
+#
+# systemd defaults to only have getty at tty.service enabled
+# * DefaultInstance=tty1 in getty at service
+# * no DefaultInstance in serial-getty at .service
+# * WantedBy=getty.target in console-getty.service
+# * console-getty is not enabled because of 90-systemd.preset
+# We want "systemctl preset-all" to do the right thing, even when run on the target after boot
+# * remove the default instance of getty at .service via a drop-in in /usr/lib
+# * set a new DefaultInstance for getty at .service instead, if needed
+# * set a new DefaultInstance for serial-getty at .service, if needed
+# * override the systemd-provided preset for console-getty.service if needed
define SYSTEMD_INSTALL_SERVICE_TTY
+ mkdir $(TARGET_DIR)/usr/lib/systemd/system/getty at .service.d;\
+ printf '[Install]\nDefaultInstance=\n' > $(TARGET_DIR)/usr/lib/systemd/system/getty at .service.d/buildroot-console.conf;\
if [ $(BR2_TARGET_GENERIC_GETTY_PORT) = "console" ]; \
then \
TARGET="console-getty.service"; \
- LINK_NAME="console-getty.service"; \
+ printf 'enable console-getty.service\n' > $(TARGET_DIR)/usr/lib/systemd/system-preset/81-buildroot-tty.preset;\
elif echo $(BR2_TARGET_GENERIC_GETTY_PORT) | egrep -q 'tty[0-9]*$$'; \
then \
TARGET="getty at .service"; \
- LINK_NAME="getty@$(call qstrip,$(BR2_TARGET_GENERIC_GETTY_PORT)).service"; \
+ printf '[Install]\nDefaultInstance=%s\n' $(call qstrip,$(BR2_TARGET_GENERIC_GETTY_PORT)) > $(TARGET_DIR)/usr/lib/systemd/system/getty at .service.d/buildroot-console.conf;\
else \
TARGET="serial-getty at .service"; \
- LINK_NAME="serial-getty@$(call qstrip,$(BR2_TARGET_GENERIC_GETTY_PORT)).service"; \
+ mkdir $(TARGET_DIR)/usr/lib/systemd/system/serial-getty at .service.d;\
+ printf '[Install]\nDefaultInstance=%s\n' $(call qstrip,$(BR2_TARGET_GENERIC_GETTY_PORT)) > $(TARGET_DIR)/usr/lib/systemd/system/serial-getty at .service.d/buildroot-console.conf;\
fi; \
- mkdir -p $(TARGET_DIR)/etc/systemd/system/getty.target.wants/; \
- ln -fs ../../../../lib/systemd/system/$${TARGET} \
- $(TARGET_DIR)/etc/systemd/system/getty.target.wants/$${LINK_NAME}; \
if [ $(call qstrip,$(BR2_TARGET_GENERIC_GETTY_BAUDRATE)) -gt 0 ] ; \
then \
$(SED) 's,115200,$(BR2_TARGET_GENERIC_GETTY_BAUDRATE),' $(TARGET_DIR)/lib/systemd/system/$${TARGET}; \
@@ -456,7 +467,6 @@ define SYSTEMD_INSTALL_SERVICE_TTY
endef
endif
-
define SYSTEMD_INSTALL_PRESET
$(INSTALL) -D -m 644 $(SYSTEMD_PKGDIR)/80-buildroot.preset $(TARGET_DIR)/usr/lib/systemd/system-preset/80-buildroot.preset
endef
@@ -472,7 +482,6 @@ define SYSTEMD_PRESET_ALL
endef
SYSTEMD_TARGET_FINALIZE_HOOKS += SYSTEMD_PRESET_ALL
-
SYSTEMD_CONF_ENV = $(HOST_UTF8_LOCALE_ENV)
SYSTEMD_NINJA_ENV = $(HOST_UTF8_LOCALE_ENV)
--
2.24.0
^ permalink raw reply related [flat|nested] 18+ messages in thread
* [Buildroot] [PATCH v4 04/13] fix trivial packages with buildroot-provided services
2019-12-12 7:53 [Buildroot] [PATCH v4 00/13] use host-systemd to enable units Jérémy Rosen
` (2 preceding siblings ...)
2019-12-12 7:53 ` [Buildroot] [PATCH v4 03/13] fix tty handling Jérémy Rosen
@ 2019-12-12 7:53 ` Jérémy Rosen
2019-12-12 7:53 ` [Buildroot] [PATCH v4 05/13] fix trivial cases, upstream-provided services Jérémy Rosen
` (9 subsequent siblings)
13 siblings, 0 replies; 18+ messages in thread
From: Jérémy Rosen @ 2019-12-12 7:53 UTC (permalink / raw)
To: buildroot
All the packages in this list have the following properties
* units are provided by buildroot in the package directory
* the SYSTEMD_INSTALL_INIT_HOOK is exactly equivalent to what the
[Install] section of the unit does
The fix removes the soflinking in the .mk file
Signed-off-by:J?r?my Rosen <jeremy.rosen@smile.fr>
Reviewed-by: Yann E.Morin <yann.morin.1998@free.fr
---
package/acpid/acpid.mk | 3 ---
package/apache/apache.mk | 3 ---
package/babeld/babeld.mk | 5 -----
package/bandwidthd/bandwidthd.mk | 5 -----
package/bind/bind.mk | 5 -----
package/brltty/brltty.mk | 4 ----
package/chrony/chrony.mk | 3 ---
package/collectd/collectd.mk | 3 ---
package/darkhttpd/darkhttpd.mk | 3 ---
package/dcron/dcron.mk | 3 ---
package/dhcp/dhcp.mk | 5 -----
package/dhcpcd/dhcpcd.mk | 3 ---
package/domoticz/domoticz.mk | 3 ---
package/dropbear/dropbear.mk | 3 ---
package/exim/exim.mk | 3 ---
package/freescale-imx/imx-uuc/imx-uuc.mk | 3 ---
package/haveged/haveged.mk | 3 ---
package/i2pd/i2pd.mk | 3 ---
package/ifupdown-scripts/ifupdown-scripts.mk | 3 ---
package/igd2-for-linux/igd2-for-linux.mk | 3 ---
package/inadyn/inadyn.mk | 3 ---
package/input-event-daemon/input-event-daemon.mk | 3 ---
package/irqbalance/irqbalance.mk | 3 ---
package/iucode-tool/iucode-tool.mk | 3 ---
package/kodi/kodi.mk | 5 -----
package/mariadb/mariadb.mk | 3 ---
package/mender/mender.mk | 3 ---
package/mini-snmpd/mini-snmpd.mk | 3 ---
package/minidlna/minidlna.mk | 5 -----
package/minissdpd/minissdpd.mk | 3 ---
package/motion/motion.mk | 3 ---
package/netplug/netplug.mk | 3 ---
package/nginx/nginx.mk | 5 -----
package/nss-pam-ldapd/nss-pam-ldapd.mk | 3 ---
package/ntp/ntp.mk | 3 ---
package/olsr/olsr.mk | 3 ---
package/openntpd/openntpd.mk | 3 ---
package/openssh/openssh.mk | 3 ---
package/openvmtools/openvmtools.mk | 3 ---
package/oracle-mysql/oracle-mysql.mk | 3 ---
package/postgresql/postgresql.mk | 3 ---
package/proftpd/proftpd.mk | 3 ---
package/psplash/psplash.mk | 6 ------
package/ptpd/ptpd.mk | 3 ---
package/ptpd2/ptpd2.mk | 3 ---
package/pulseaudio/pulseaudio.mk | 3 ---
package/python-web2py/python-web2py.mk | 3 ---
package/rabbitmq-server/rabbitmq-server.mk | 5 -----
package/redis/redis.mk | 3 ---
package/rng-tools/rng-tools.mk | 3 ---
package/rpcbind/rpcbind.mk | 3 ---
package/rygel/rygel.mk | 3 ---
package/sane-backends/sane-backends.mk | 6 ------
package/supervisor/supervisor.mk | 3 ---
package/suricata/suricata.mk | 3 ---
package/sysklogd/sysklogd.mk | 5 -----
package/tcf-agent/tcf-agent.mk | 3 ---
package/thttpd/thttpd.mk | 3 ---
package/ti-gfx/ti-gfx.mk | 3 ---
package/tinyhttpd/tinyhttpd.mk | 3 ---
package/triggerhappy/triggerhappy.mk | 3 ---
61 files changed, 208 deletions(-)
diff --git a/package/acpid/acpid.mk b/package/acpid/acpid.mk
index 20295aa5a4..ff6e62b5cd 100644
--- a/package/acpid/acpid.mk
+++ b/package/acpid/acpid.mk
@@ -13,9 +13,6 @@ ACPID_LICENSE_FILES = COPYING
define ACPID_INSTALL_INIT_SYSTEMD
$(INSTALL) -D -m 0644 package/acpid/acpid.service \
$(TARGET_DIR)/usr/lib/systemd/system/acpid.service
- mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants
- ln -sf ../../../../usr/lib/systemd/system/acpid.service \
- $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/acpid.service
endef
define ACPID_INSTALL_INIT_SYSV
diff --git a/package/apache/apache.mk b/package/apache/apache.mk
index 1d62538b19..22e7be8832 100644
--- a/package/apache/apache.mk
+++ b/package/apache/apache.mk
@@ -109,9 +109,6 @@ endef
define APACHE_INSTALL_INIT_SYSTEMD
$(INSTALL) -D -m 644 package/apache/apache.service \
$(TARGET_DIR)/usr/lib/systemd/system/apache.service
- mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants
- ln -sf ../../../../usr/lib/systemd/system/apache.service \
- $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/apache.service
endef
$(eval $(autotools-package))
diff --git a/package/babeld/babeld.mk b/package/babeld/babeld.mk
index 5fbfa65485..f864b5db26 100644
--- a/package/babeld/babeld.mk
+++ b/package/babeld/babeld.mk
@@ -25,11 +25,6 @@ endef
define BABELD_INSTALL_INIT_SYSTEMD
$(INSTALL) -D -m 644 package/babeld/babeld.service \
$(TARGET_DIR)/usr/lib/systemd/system/babeld.service
-
- mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants
-
- ln -fs ../../../../usr/lib/systemd/system/babeld.service \
- $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/babeld.service
endef
$(eval $(generic-package))
diff --git a/package/bandwidthd/bandwidthd.mk b/package/bandwidthd/bandwidthd.mk
index e9bc871a6a..990d8c5d8f 100644
--- a/package/bandwidthd/bandwidthd.mk
+++ b/package/bandwidthd/bandwidthd.mk
@@ -34,11 +34,6 @@ endif
define BANDWIDTHD_INSTALL_INIT_SYSTEMD
$(INSTALL) -D -m 644 package/bandwidthd/bandwidthd.service \
$(TARGET_DIR)/usr/lib/systemd/system/bandwidthd.service
-
- mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants
-
- ln -sf /usr/lib/systemd/system/bandwidthd.service \
- $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/bandwidthd.service
endef
$(eval $(autotools-package))
diff --git a/package/bind/bind.mk b/package/bind/bind.mk
index 2d75f58b3f..89d83d4d54 100644
--- a/package/bind/bind.mk
+++ b/package/bind/bind.mk
@@ -111,11 +111,6 @@ endef
define BIND_INSTALL_INIT_SYSTEMD
$(INSTALL) -D -m 644 $(BIND_PKGDIR)/named.service \
$(TARGET_DIR)/usr/lib/systemd/system/named.service
-
- mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants
-
- ln -sf /usr/lib/systemd/system/named.service \
- $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/named.service
endef
else
BIND_POST_INSTALL_TARGET_HOOKS += BIND_TARGET_REMOVE_SERVER
diff --git a/package/brltty/brltty.mk b/package/brltty/brltty.mk
index 3ae8b899b8..11b8c0d35f 100644
--- a/package/brltty/brltty.mk
+++ b/package/brltty/brltty.mk
@@ -121,10 +121,6 @@ endef
define BRLTTY_INSTALL_INIT_SYSTEMD
$(INSTALL) -D -m 0644 package/brltty/brltty.service \
$(TARGET_DIR)/usr/lib/systemd/system/brltty.service
-
- mkdir -p $(TARGET_DIR)/etc/systemd/system/sysinit.target.wants
- ln -fs ../../../../usr/lib/systemd/system/brltty.service \
- $(TARGET_DIR)/etc/systemd/system/sysinit.target.wants/brltty.service
endef
$(eval $(autotools-package))
diff --git a/package/chrony/chrony.mk b/package/chrony/chrony.mk
index 379745022c..d7f5c05183 100644
--- a/package/chrony/chrony.mk
+++ b/package/chrony/chrony.mk
@@ -67,9 +67,6 @@ endef
define CHRONY_INSTALL_INIT_SYSTEMD
$(INSTALL) -D -m 644 package/chrony/chrony.service \
$(TARGET_DIR)/usr/lib/systemd/system/chrony.service
- mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants
- ln -sf ../../../../usr/lib/systemd/system/chrony.service \
- $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/chrony.service
endef
$(eval $(generic-package))
diff --git a/package/collectd/collectd.mk b/package/collectd/collectd.mk
index 9ff29fcbea..fd27443755 100644
--- a/package/collectd/collectd.mk
+++ b/package/collectd/collectd.mk
@@ -229,9 +229,6 @@ endef
define COLLECTD_INSTALL_INIT_SYSTEMD
$(INSTALL) -D -m 644 package/collectd/collectd.service \
$(TARGET_DIR)/usr/lib/systemd/system/collectd.service
- mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants
- ln -fs ../../../../usr/lib/systemd/system/collectd.service \
- $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/collectd.service
endef
$(eval $(autotools-package))
diff --git a/package/darkhttpd/darkhttpd.mk b/package/darkhttpd/darkhttpd.mk
index df80899371..f4831a9426 100644
--- a/package/darkhttpd/darkhttpd.mk
+++ b/package/darkhttpd/darkhttpd.mk
@@ -21,9 +21,6 @@ endef
define DARKHTTPD_INSTALL_INIT_SYSTEMD
$(INSTALL) -D -m 0644 package/darkhttpd/darkhttpd.service \
$(TARGET_DIR)/usr/lib/systemd/system/darkhttpd.service
- mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants
- ln -fs ../../../../usr/lib/systemd/system/darkhttpd.service \
- $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/darkhttpd.service
endef
define DARKHTTPD_INSTALL_INIT_SYSV
diff --git a/package/dcron/dcron.mk b/package/dcron/dcron.mk
index 2ee0709af5..51ebb18745 100644
--- a/package/dcron/dcron.mk
+++ b/package/dcron/dcron.mk
@@ -31,9 +31,6 @@ endef
define DCRON_INSTALL_INIT_SYSTEMD
$(INSTALL) -D -m 644 package/dcron/dcron.service \
$(TARGET_DIR)/usr/lib/systemd/system/dcron.service
- mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants
- ln -sf ../../../../usr/lib/systemd/system/dcron.service \
- $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/dcron.service
endef
$(eval $(generic-package))
diff --git a/package/dhcp/dhcp.mk b/package/dhcp/dhcp.mk
index 5e0bcca71f..335c631119 100644
--- a/package/dhcp/dhcp.mk
+++ b/package/dhcp/dhcp.mk
@@ -100,11 +100,6 @@ define DHCP_INSTALL_INIT_SYSTEMD
$(INSTALL) -D -m 644 package/dhcp/dhcpd.service \
$(TARGET_DIR)/usr/lib/systemd/system/dhcpd.service
- mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants
-
- ln -sf ../../../../usr/lib/systemd/system/dhcpd.service \
- $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/dhcpd.service
-
mkdir -p $(TARGET_DIR)/usr/lib/tmpfiles.d
echo "d /var/lib/dhcp 0755 - - - -" > \
$(TARGET_DIR)/usr/lib/tmpfiles.d/dhcpd.conf
diff --git a/package/dhcpcd/dhcpcd.mk b/package/dhcpcd/dhcpcd.mk
index cd20d8f9f3..63dbbee86c 100644
--- a/package/dhcpcd/dhcpcd.mk
+++ b/package/dhcpcd/dhcpcd.mk
@@ -48,9 +48,6 @@ endef
define DHCPCD_INSTALL_INIT_SYSTEMD
$(INSTALL) -D -m 0644 package/dhcpcd/dhcpcd.service \
$(TARGET_DIR)/usr/lib/systemd/system/dhcpcd.service
- mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants
- ln -sf ../../../../usr/lib/systemd/system/dhcpcd.service \
- $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/dhcpcd.service
endef
endif
diff --git a/package/domoticz/domoticz.mk b/package/domoticz/domoticz.mk
index c0568c61c6..ab560ba05f 100644
--- a/package/domoticz/domoticz.mk
+++ b/package/domoticz/domoticz.mk
@@ -78,9 +78,6 @@ endef
define DOMOTICZ_INSTALL_INIT_SYSTEMD
$(INSTALL) -D -m 644 package/domoticz/domoticz.service \
$(TARGET_DIR)/usr/lib/systemd/system/domoticz.service
- mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants
- ln -sf ../../../../usr/lib/systemd/system/domoticz.service \
- $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/domoticz.service
endef
$(eval $(cmake-package))
diff --git a/package/dropbear/dropbear.mk b/package/dropbear/dropbear.mk
index 7cbc16bc3d..23e5e3f600 100644
--- a/package/dropbear/dropbear.mk
+++ b/package/dropbear/dropbear.mk
@@ -90,9 +90,6 @@ DROPBEAR_POST_EXTRACT_HOOKS += DROPBEAR_CUSTOM_PATH
define DROPBEAR_INSTALL_INIT_SYSTEMD
$(INSTALL) -D -m 644 package/dropbear/dropbear.service \
$(TARGET_DIR)/usr/lib/systemd/system/dropbear.service
- mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants
- ln -fs ../../../../usr/lib/systemd/system/dropbear.service \
- $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/dropbear.service
endef
ifeq ($(BR2_USE_MMU),y)
diff --git a/package/exim/exim.mk b/package/exim/exim.mk
index 014565c85b..040b292a87 100644
--- a/package/exim/exim.mk
+++ b/package/exim/exim.mk
@@ -145,9 +145,6 @@ endef
define EXIM_INSTALL_INIT_SYSTEMD
$(INSTALL) -D -m 644 package/exim/exim.service \
$(TARGET_DIR)/usr/lib/systemd/system/exim.service
- mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants
- ln -sf ../../../../usr/lib/systemd/system/exim.service \
- $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/exim.service
endef
$(eval $(generic-package))
diff --git a/package/freescale-imx/imx-uuc/imx-uuc.mk b/package/freescale-imx/imx-uuc/imx-uuc.mk
index 040d7bd874..2ed910cb84 100644
--- a/package/freescale-imx/imx-uuc/imx-uuc.mk
+++ b/package/freescale-imx/imx-uuc/imx-uuc.mk
@@ -33,9 +33,6 @@ endef
define IMX_UUC_INSTALL_INIT_SYSTEMD
$(INSTALL) -D -m 0644 package/freescale-imx/imx-uuc/imx-uuc.service \
$(TARGET_DIR)/usr/lib/systemd/system/imx-uuc.service
- mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/
- ln -fs ../../../../usr/lib/systemd/system/imx-uuc.service \
- $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/imx-uuc.service
endef
$(eval $(generic-package))
diff --git a/package/haveged/haveged.mk b/package/haveged/haveged.mk
index 05b59a1685..cc834304df 100644
--- a/package/haveged/haveged.mk
+++ b/package/haveged/haveged.mk
@@ -21,9 +21,6 @@ endef
define HAVEGED_INSTALL_INIT_SYSTEMD
$(INSTALL) -D -m 644 package/haveged/haveged.service \
$(TARGET_DIR)/usr/lib/systemd/system/haveged.service
- mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants
- ln -fs /usr/lib/systemd/system/haveged.service \
- $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/haveged.service
endef
$(eval $(autotools-package))
diff --git a/package/i2pd/i2pd.mk b/package/i2pd/i2pd.mk
index 5fa815c21d..de975d66a4 100644
--- a/package/i2pd/i2pd.mk
+++ b/package/i2pd/i2pd.mk
@@ -59,9 +59,6 @@ endef
define I2PD_INSTALL_INIT_SYSTEMD
$(INSTALL) -D -m 644 package/i2pd/i2pd.service \
$(TARGET_DIR)/usr/lib/systemd/system/i2pd.service
- mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants
- ln -sf ../../../../usr/lib/systemd/system/i2pd.service \
- $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/i2pd.service
endef
$(eval $(cmake-package))
diff --git a/package/ifupdown-scripts/ifupdown-scripts.mk b/package/ifupdown-scripts/ifupdown-scripts.mk
index 17364aed03..abb4575777 100644
--- a/package/ifupdown-scripts/ifupdown-scripts.mk
+++ b/package/ifupdown-scripts/ifupdown-scripts.mk
@@ -48,9 +48,6 @@ endef
define IFUPDOWN_SCRIPTS_INSTALL_INIT_SYSTEMD
$(INSTALL) -D -m 644 $(IFUPDOWN_SCRIPTS_PKGDIR)/network.service \
$(TARGET_DIR)/etc/systemd/system/network.service
- mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants
- ln -fs ../network.service \
- $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/network.service
endef
$(eval $(generic-package))
diff --git a/package/igd2-for-linux/igd2-for-linux.mk b/package/igd2-for-linux/igd2-for-linux.mk
index 38170b4f57..478c353997 100644
--- a/package/igd2-for-linux/igd2-for-linux.mk
+++ b/package/igd2-for-linux/igd2-for-linux.mk
@@ -40,9 +40,6 @@ endef
define IGD2_FOR_LINUX_INSTALL_INIT_SYSTEMD
$(INSTALL) -D -m 0644 package/igd2-for-linux/upnpd.service \
$(TARGET_DIR)/usr/lib/systemd/system/upnpd.service
- mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants
- ln -sf ../../../../usr/lib/systemd/system/upnpd.service \
- $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/upnpd.service
endef
$(eval $(generic-package))
diff --git a/package/inadyn/inadyn.mk b/package/inadyn/inadyn.mk
index 96a37d4768..5f67849252 100644
--- a/package/inadyn/inadyn.mk
+++ b/package/inadyn/inadyn.mk
@@ -34,9 +34,6 @@ endef
define INADYN_INSTALL_INIT_SYSTEMD
$(INSTALL) -D -m 644 package/inadyn/inadyn.service \
$(TARGET_DIR)/usr/lib/systemd/system/inadyn.service
- mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants
- ln -sf ../../../../usr/lib/systemd/system/inadyn.service \
- $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/inadyn.service
endef
$(eval $(autotools-package))
diff --git a/package/input-event-daemon/input-event-daemon.mk b/package/input-event-daemon/input-event-daemon.mk
index 632c9eeecb..dbe2d4bfb2 100644
--- a/package/input-event-daemon/input-event-daemon.mk
+++ b/package/input-event-daemon/input-event-daemon.mk
@@ -30,9 +30,6 @@ endef
define INPUT_EVENT_DAEMON_INSTALL_INIT_SYSTEMD
$(INSTALL) -D -m 644 package/input-event-daemon/input-event-daemon.service \
$(TARGET_DIR)/usr/lib/systemd/system/input-event-daemon.service
- mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants
- ln -sf /usr/lib/systemd/system/input-event-daemon.service \
- $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/input-event-daemon.service
endef
$(eval $(generic-package))
diff --git a/package/irqbalance/irqbalance.mk b/package/irqbalance/irqbalance.mk
index b01eba96c8..16967aa8c0 100644
--- a/package/irqbalance/irqbalance.mk
+++ b/package/irqbalance/irqbalance.mk
@@ -55,9 +55,6 @@ endef
define IRQBALANCE_INSTALL_INIT_SYSTEMD
$(INSTALL) -D -m 644 package/irqbalance/irqbalance.service \
$(TARGET_DIR)/usr/lib/systemd/system/irqbalance.service
- mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants
- ln -fs ../../../../usr/lib/systemd/system/irqbalance.service \
- $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/irqbalance.service
endef
$(eval $(autotools-package))
diff --git a/package/iucode-tool/iucode-tool.mk b/package/iucode-tool/iucode-tool.mk
index e900888d7d..bddc37295c 100644
--- a/package/iucode-tool/iucode-tool.mk
+++ b/package/iucode-tool/iucode-tool.mk
@@ -21,9 +21,6 @@ endef
define IUCODE_TOOL_INSTALL_INIT_SYSTEMD
$(INSTALL) -D -m 644 package/iucode-tool/iucode.service \
$(TARGET_DIR)/usr/lib/systemd/system/iucode.service
- mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants
- ln -sf ../../../../usr/lib/systemd/system/iucode.service \
- $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/iucode.service
endef
$(eval $(autotools-package))
diff --git a/package/kodi/kodi.mk b/package/kodi/kodi.mk
index ceab5d5c0b..9ea170ff6b 100644
--- a/package/kodi/kodi.mk
+++ b/package/kodi/kodi.mk
@@ -398,11 +398,6 @@ endef
define KODI_INSTALL_INIT_SYSTEMD
$(INSTALL) -D -m 644 package/kodi/kodi.service \
$(TARGET_DIR)/usr/lib/systemd/system/kodi.service
-
- mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants
-
- ln -fs ../../../../usr/lib/systemd/system/kodi.service \
- $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/kodi.service
endef
$(eval $(cmake-package))
diff --git a/package/mariadb/mariadb.mk b/package/mariadb/mariadb.mk
index 82e3c16daf..f76a974d65 100644
--- a/package/mariadb/mariadb.mk
+++ b/package/mariadb/mariadb.mk
@@ -120,9 +120,6 @@ endef
define MARIADB_INSTALL_INIT_SYSTEMD
$(INSTALL) -D -m 644 package/mariadb/mysqld.service \
$(TARGET_DIR)/usr/lib/systemd/system/mysqld.service
- mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants
- ln -sf ../../../../usr/lib/systemd/system/mysqld.service \
- $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/mysqld.service
endef
endif
diff --git a/package/mender/mender.mk b/package/mender/mender.mk
index fded7fa943..87fdc45268 100644
--- a/package/mender/mender.mk
+++ b/package/mender/mender.mk
@@ -70,9 +70,6 @@ MENDER_POST_INSTALL_TARGET_HOOKS += MENDER_INSTALL_CONFIG_FILES
define MENDER_INSTALL_INIT_SYSTEMD
$(INSTALL) -D -m 0644 $(MENDER_PKGDIR)/mender.service \
$(TARGET_DIR)/usr/lib/systemd/system/mender.service
- mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants
- ln -fs ../../../../usr/lib/systemd/system/mender.service \
- $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/mender.service
endef
define MENDER_INSTALL_INIT_SYSV
diff --git a/package/mini-snmpd/mini-snmpd.mk b/package/mini-snmpd/mini-snmpd.mk
index f2480e3168..698402bc51 100644
--- a/package/mini-snmpd/mini-snmpd.mk
+++ b/package/mini-snmpd/mini-snmpd.mk
@@ -13,9 +13,6 @@ MINI_SNMPD_AUTORECONF = YES
define MINI_SNMPD_INSTALL_INIT_SYSTEMD
$(INSTALL) -D -m 644 package/mini-snmpd/mini-snmpd.service \
$(TARGET_DIR)/usr/lib/systemd/system/mini-snmpd.service
- mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants
- ln -sf ../../../../usr/lib/systemd/system/mini-snmpd.service \
- $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/mini-snmpd.service
endef
$(eval $(autotools-package))
diff --git a/package/minidlna/minidlna.mk b/package/minidlna/minidlna.mk
index 262480cbff..c66e97b073 100644
--- a/package/minidlna/minidlna.mk
+++ b/package/minidlna/minidlna.mk
@@ -31,11 +31,6 @@ endef
define MINIDLNA_INSTALL_INIT_SYSTEMD
$(INSTALL) -D -m 0644 package/minidlna/minidlnad.service \
$(TARGET_DIR)/usr/lib/systemd/system/minidlnad.service
-
- mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants
-
- ln -fs ../../../../usr/lib/systemd/system/minidlnad.service \
- $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/minidlnad.service
endef
$(eval $(autotools-package))
diff --git a/package/minissdpd/minissdpd.mk b/package/minissdpd/minissdpd.mk
index 31d942eac5..d97eece680 100644
--- a/package/minissdpd/minissdpd.mk
+++ b/package/minissdpd/minissdpd.mk
@@ -32,9 +32,6 @@ endef
define MINISSDPD_INSTALL_INIT_SYSTEMD
$(INSTALL) -D -m 644 package/minissdpd/minissdpd.service \
$(TARGET_DIR)/usr/lib/systemd/system/minissdpd.service
- mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants
- ln -sf ../../../../usr/lib/systemd/system/minissdpd.service \
- $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/minissdpd.service
endef
$(eval $(generic-package))
diff --git a/package/motion/motion.mk b/package/motion/motion.mk
index 165e402fc8..ae58c54935 100644
--- a/package/motion/motion.mk
+++ b/package/motion/motion.mk
@@ -71,9 +71,6 @@ endef
define MOTION_INSTALL_INIT_SYSTEMD
$(INSTALL) -D -m 644 package/motion/motion.service \
$(TARGET_DIR)/usr/lib/systemd/system/motion.service
- mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants
- ln -sf ../../../../usr/lib/systemd/system/motion.service \
- $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/motion.service
endef
$(eval $(autotools-package))
diff --git a/package/netplug/netplug.mk b/package/netplug/netplug.mk
index 9363a71811..b5083120f1 100644
--- a/package/netplug/netplug.mk
+++ b/package/netplug/netplug.mk
@@ -26,9 +26,6 @@ endef
define NETPLUG_INSTALL_INIT_SYSTEMD
$(INSTALL) -D -m 644 package/netplug/netplug.service \
$(TARGET_DIR)/usr/lib/systemd/system/netplug.service
- mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants
- ln -sf ../../../../usr/lib/systemd/system/netplug.service \
- $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/netplug.service
endef
$(eval $(generic-package))
diff --git a/package/nginx/nginx.mk b/package/nginx/nginx.mk
index 7ab656fd8b..f895b78779 100644
--- a/package/nginx/nginx.mk
+++ b/package/nginx/nginx.mk
@@ -281,11 +281,6 @@ endef
define NGINX_INSTALL_INIT_SYSTEMD
$(INSTALL) -D -m 0644 package/nginx/nginx.service \
$(TARGET_DIR)/usr/lib/systemd/system/nginx.service
-
- mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants
-
- ln -fs ../../../../usr/lib/systemd/system/nginx.service \
- $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/nginx.service
endef
define NGINX_INSTALL_INIT_SYSV
diff --git a/package/nss-pam-ldapd/nss-pam-ldapd.mk b/package/nss-pam-ldapd/nss-pam-ldapd.mk
index 15b3c4b95e..223a9eeaec 100644
--- a/package/nss-pam-ldapd/nss-pam-ldapd.mk
+++ b/package/nss-pam-ldapd/nss-pam-ldapd.mk
@@ -29,9 +29,6 @@ endif
define NSS_PAM_LDAPD_INSTALL_INIT_SYSTEMD
$(INSTALL) -m 644 -D package/nss-pam-ldapd/nslcd.service \
$(TARGET_DIR)/usr/lib/systemd/system/nslcd.service
- mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants
- ln -fs ../../../../usr/lib/systemd/system/nslcd.service \
- $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/nslcd.service
endef
define NSS_PAM_LDAPD_INSTALL_INIT_SYSV
diff --git a/package/ntp/ntp.mk b/package/ntp/ntp.mk
index d53fcc5d0b..fb138a8fba 100644
--- a/package/ntp/ntp.mk
+++ b/package/ntp/ntp.mk
@@ -108,9 +108,6 @@ endef
define NTP_INSTALL_INIT_SYSTEMD
$(INSTALL) -D -m 644 package/ntp/ntpd.service $(TARGET_DIR)/usr/lib/systemd/system/ntpd.service
- mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants
- ln -fs ../../../../usr/lib/systemd/system/ntpd.service \
- $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/ntpd.service
endef
endif
diff --git a/package/olsr/olsr.mk b/package/olsr/olsr.mk
index faff2533d9..766b1432c1 100644
--- a/package/olsr/olsr.mk
+++ b/package/olsr/olsr.mk
@@ -43,9 +43,6 @@ endef
define OLSR_INSTALL_INIT_SYSTEMD
$(INSTALL) -D -m 644 package/olsr/olsr.service \
$(TARGET_DIR)/usr/lib/systemd/system/olsr.service
- mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants
- ln -sf ../../../../usr/lib/systemd/system/olsr.service \
- $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/olsr.service
endef
$(eval $(generic-package))
diff --git a/package/openntpd/openntpd.mk b/package/openntpd/openntpd.mk
index f5a5690479..f2eaee7efd 100644
--- a/package/openntpd/openntpd.mk
+++ b/package/openntpd/openntpd.mk
@@ -24,9 +24,6 @@ OPENNTPD_CONF_ENV += CFLAGS="$(TARGET_CFLAGS) -pthread"
define OPENNTPD_INSTALL_INIT_SYSTEMD
$(INSTALL) -D -m 0644 package/openntpd/ntpd.service \
$(TARGET_DIR)/usr/lib/systemd/system/ntpd.service
- mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants
- ln -fs ../../../../usr/lib/systemd/system/ntpd.service \
- $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/ntpd.service
endef
define OPENNTPD_INSTALL_INIT_SYSV
diff --git a/package/openssh/openssh.mk b/package/openssh/openssh.mk
index 47a724d839..0411133bdc 100644
--- a/package/openssh/openssh.mk
+++ b/package/openssh/openssh.mk
@@ -74,9 +74,6 @@ endif
define OPENSSH_INSTALL_INIT_SYSTEMD
$(INSTALL) -D -m 644 package/openssh/sshd.service \
$(TARGET_DIR)/usr/lib/systemd/system/sshd.service
- mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants
- ln -fs ../../../../usr/lib/systemd/system/sshd.service \
- $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/sshd.service
$(OPENSSH_INSTALL_SYSTEMD_SYSUSERS)
endef
diff --git a/package/openvmtools/openvmtools.mk b/package/openvmtools/openvmtools.mk
index fc56bb5ee0..68afa17078 100644
--- a/package/openvmtools/openvmtools.mk
+++ b/package/openvmtools/openvmtools.mk
@@ -72,9 +72,6 @@ endef
define OPENVMTOOLS_INSTALL_INIT_SYSTEMD
$(INSTALL) -D -m 644 package/openvmtools/vmtoolsd.service \
$(TARGET_DIR)/usr/lib/systemd/system/vmtoolsd.service
- mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants
- ln -fs ../../../../usr/lib/systemd/system/vmtoolsd.service \
- $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/vmtoolsd.service
endef
$(eval $(autotools-package))
diff --git a/package/oracle-mysql/oracle-mysql.mk b/package/oracle-mysql/oracle-mysql.mk
index 326fbcc040..8a8613a3d1 100644
--- a/package/oracle-mysql/oracle-mysql.mk
+++ b/package/oracle-mysql/oracle-mysql.mk
@@ -116,9 +116,6 @@ endef
define ORACLE_MYSQL_INSTALL_INIT_SYSTEMD
$(INSTALL) -D -m 644 $(ORACLE_MYSQL_PKGDIR)/mysqld.service \
$(TARGET_DIR)/usr/lib/systemd/system/mysqld.service
- mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants
- ln -sf ../../../../usr/lib/systemd/system/mysqld.service \
- $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/mysqld.service
endef
else
diff --git a/package/postgresql/postgresql.mk b/package/postgresql/postgresql.mk
index 858cd6975e..7d8bef643b 100644
--- a/package/postgresql/postgresql.mk
+++ b/package/postgresql/postgresql.mk
@@ -128,9 +128,6 @@ endef
define POSTGRESQL_INSTALL_INIT_SYSTEMD
$(INSTALL) -D -m 644 package/postgresql/postgresql.service \
$(TARGET_DIR)/usr/lib/systemd/system/postgresql.service
- mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants
- ln -fs ../../../../usr/lib/systemd/system/postgresql.service \
- $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/postgresql.service
endef
$(eval $(autotools-package))
diff --git a/package/proftpd/proftpd.mk b/package/proftpd/proftpd.mk
index da1c07b410..2c3e0a6877 100644
--- a/package/proftpd/proftpd.mk
+++ b/package/proftpd/proftpd.mk
@@ -123,9 +123,6 @@ endef
define PROFTPD_INSTALL_INIT_SYSTEMD
$(INSTALL) -D -m 644 package/proftpd/proftpd.service \
$(TARGET_DIR)/usr/lib/systemd/system/proftpd.service
- mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants
- ln -sf ../../../../usr/lib/systemd/system/proftpd.service \
- $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/proftpd.service
endef
ifneq ($(BR2_PACKAGE_PROFTPD_BUFFER_SIZE),0)
diff --git a/package/psplash/psplash.mk b/package/psplash/psplash.mk
index 4a2e0de5ce..3dd2f4d579 100644
--- a/package/psplash/psplash.mk
+++ b/package/psplash/psplash.mk
@@ -13,15 +13,9 @@ PSPLASH_AUTORECONF = YES
define PSPLASH_INSTALL_INIT_SYSTEMD
$(INSTALL) -D -m 644 package/psplash/psplash-start.service \
$(TARGET_DIR)/usr/lib/systemd/system/psplash-start.service
- $(INSTALL) -d $(TARGET_DIR)/etc/systemd/system/sysinit.target.wants
- ln -sf ../../../../usr/lib/systemd/system/psplash-start.service \
- $(TARGET_DIR)/etc/systemd/system/sysinit.target.wants/
$(INSTALL) -D -m 644 package/psplash/psplash-quit.service \
$(TARGET_DIR)/usr/lib/systemd/system/psplash-quit.service
- $(INSTALL) -d $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants
- ln -sf ../../../../usr/lib/systemd/system/psplash-quit.service \
- $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/
endef
$(eval $(autotools-package))
diff --git a/package/ptpd/ptpd.mk b/package/ptpd/ptpd.mk
index dad8ccfe10..49587231e0 100644
--- a/package/ptpd/ptpd.mk
+++ b/package/ptpd/ptpd.mk
@@ -25,9 +25,6 @@ endef
define PTPD_INSTALL_INIT_SYSTEMD
$(INSTALL) -D -m 644 package/ptpd/ptpd.service \
$(TARGET_DIR)/usr/lib/systemd/system/ptpd.service
- mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants
- ln -sf ../../../../usr/lib/systemd/system/ptpd.service \
- $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/ptpd.service
endef
$(eval $(generic-package))
diff --git a/package/ptpd2/ptpd2.mk b/package/ptpd2/ptpd2.mk
index f4a70760ad..0de336464d 100644
--- a/package/ptpd2/ptpd2.mk
+++ b/package/ptpd2/ptpd2.mk
@@ -32,9 +32,6 @@ endef
define PTPD2_INSTALL_INIT_SYSTEMD
$(INSTALL) -D -m 644 package/ptpd2/ptpd2.service \
$(TARGET_DIR)/usr/lib/systemd/system/ptpd2.service
- mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants
- ln -sf ../../../../usr/lib/systemd/system/ptpd2.service \
- $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/ptpd2.service
endef
$(eval $(autotools-package))
diff --git a/package/pulseaudio/pulseaudio.mk b/package/pulseaudio/pulseaudio.mk
index b833d4ad27..0e78724634 100644
--- a/package/pulseaudio/pulseaudio.mk
+++ b/package/pulseaudio/pulseaudio.mk
@@ -167,9 +167,6 @@ endef
define PULSEAUDIO_INSTALL_INIT_SYSTEMD
$(INSTALL) -D -m 644 package/pulseaudio/pulseaudio.service \
$(TARGET_DIR)/usr/lib/systemd/system/pulseaudio.service
- mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants
- ln -sf ../../../../usr/lib/systemd/system/pulseaudio.service \
- $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/pulseaudio.service
endef
endif
diff --git a/package/python-web2py/python-web2py.mk b/package/python-web2py/python-web2py.mk
index 0b86fb148e..8706c87968 100644
--- a/package/python-web2py/python-web2py.mk
+++ b/package/python-web2py/python-web2py.mk
@@ -57,9 +57,6 @@ endef
define PYTHON_WEB2PY_INSTALL_INIT_SYSTEMD
$(INSTALL) -D -m 0644 package/python-web2py/web2py.service \
$(TARGET_DIR)/usr/lib/systemd/system/web2py.service
- mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants
- ln -fs ../../../../usr/lib//systemd/system/web2py.service \
- $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/web2py.service
endef
# www-data user and group are used for web2py. Because these user and group
diff --git a/package/rabbitmq-server/rabbitmq-server.mk b/package/rabbitmq-server/rabbitmq-server.mk
index 6df770793a..f9c28e6677 100644
--- a/package/rabbitmq-server/rabbitmq-server.mk
+++ b/package/rabbitmq-server/rabbitmq-server.mk
@@ -36,11 +36,6 @@ endef
define RABBITMQ_SERVER_INSTALL_INIT_SYSTEMD
$(INSTALL) -D -m 0644 package/rabbitmq-server/rabbitmq-server.service \
$(TARGET_DIR)/usr/lib/systemd/system/rabbitmq-server.service
-
- mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants
-
- ln -fs ../../../../usr/lib/systemd/system/rabbitmq-server.service \
- $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/rabbitmq-server.service
endef
define RABBITMQ_SERVER_INSTALL_INIT_SYSV
diff --git a/package/redis/redis.mk b/package/redis/redis.mk
index 1729afe165..b85de1dfed 100644
--- a/package/redis/redis.mk
+++ b/package/redis/redis.mk
@@ -49,9 +49,6 @@ endef
define REDIS_INSTALL_INIT_SYSTEMD
$(INSTALL) -D -m 0644 package/redis/redis.service \
$(TARGET_DIR)/usr/lib/systemd/system/redis.service
- mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants
- ln -fs ../../../../usr/lib/systemd/system/redis.service \
- $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/redis.service
endef
$(eval $(generic-package))
diff --git a/package/rng-tools/rng-tools.mk b/package/rng-tools/rng-tools.mk
index c5f3051aea..274079044c 100644
--- a/package/rng-tools/rng-tools.mk
+++ b/package/rng-tools/rng-tools.mk
@@ -37,9 +37,6 @@ endef
define RNG_TOOLS_INSTALL_INIT_SYSTEMD
$(INSTALL) -D -m 644 package/rng-tools/rngd.service \
$(TARGET_DIR)/usr/lib/systemd/system/rngd.service
- mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants
- ln -fs ../../../../usr/lib/systemd/system/rngd.service \
- $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/rngd.service
endef
$(eval $(autotools-package))
diff --git a/package/rpcbind/rpcbind.mk b/package/rpcbind/rpcbind.mk
index 46e5b27d35..cce84cfa88 100644
--- a/package/rpcbind/rpcbind.mk
+++ b/package/rpcbind/rpcbind.mk
@@ -27,9 +27,6 @@ define RPCBIND_INSTALL_INIT_SYSTEMD
$(TARGET_DIR)/usr/lib/systemd/system/rpcbind.service
$(INSTALL) -m 0644 -D package/rpcbind/rpcbind.socket \
$(TARGET_DIR)/usr/lib/systemd/system/rpcbind.socket
- mkdir -p $(TARGET_DIR)/etc/systemd/system/sockets.target.wants
- ln -fs ../../../../usr/lib/systemd/system/rpcbind.socket \
- $(TARGET_DIR)/etc/systemd/system/sockets.target.wants/rpcbind.socket
endef
define RPCBIND_INSTALL_INIT_SYSV
diff --git a/package/rygel/rygel.mk b/package/rygel/rygel.mk
index 1bf3ab4350..5ffb6a9400 100644
--- a/package/rygel/rygel.mk
+++ b/package/rygel/rygel.mk
@@ -68,9 +68,6 @@ endef
define RYGEL_INSTALL_INIT_SYSTEMD
$(INSTALL) -D -m 644 package/rygel/rygel.service \
$(TARGET_DIR)/usr/lib/systemd/system/rygel.service
- mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants
- ln -sf ../../../../usr/lib/systemd/system/rygel.service \
- $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/rygel.service
endef
$(eval $(autotools-package))
diff --git a/package/sane-backends/sane-backends.mk b/package/sane-backends/sane-backends.mk
index 092123e194..52e03da518 100644
--- a/package/sane-backends/sane-backends.mk
+++ b/package/sane-backends/sane-backends.mk
@@ -66,14 +66,8 @@ endef
define SANE_BACKENDS_INSTALL_INIT_SYSTEMD
$(INSTALL) -m 0644 -D package/sane-backends/saned.socket \
$(TARGET_DIR)/usr/lib/systemd/system/saned.socket
- mkdir -p $(TARGET_DIR)/etc/systemd/system/socket.target.wants
- ln -sf ../../../../usr/lib/systemd/system/saned.socket \
- $(TARGET_DIR)/etc/systemd/system/socket.target.wants/saned.socket
$(INSTALL) -m 0644 -D package/sane-backends/saned at .service \
$(TARGET_DIR)/usr/lib/systemd/system/saned at .service
- mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants
- ln -sf ../../../../usr/lib/systemd/system/saned at .service \
- $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/saned at .service
endef
$(eval $(autotools-package))
diff --git a/package/supervisor/supervisor.mk b/package/supervisor/supervisor.mk
index e99a9b18ce..424f46a7c2 100644
--- a/package/supervisor/supervisor.mk
+++ b/package/supervisor/supervisor.mk
@@ -26,9 +26,6 @@ endef
define SUPERVISOR_INSTALL_INIT_SYSTEMD
$(INSTALL) -D -m 644 package/supervisor/supervisord.service \
$(TARGET_DIR)/usr/lib/systemd/system/supervisord.service
- mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants
- ln -sf ../../../../usr/lib/systemd/system/supervisord.service \
- $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/supervisord.service
endef
$(eval $(python-package))
diff --git a/package/suricata/suricata.mk b/package/suricata/suricata.mk
index 56eb6a706f..7dc38d30cb 100644
--- a/package/suricata/suricata.mk
+++ b/package/suricata/suricata.mk
@@ -132,9 +132,6 @@ endef
define SURICATA_INSTALL_INIT_SYSTEMD
$(INSTALL) -D -m 644 package/suricata/suricata.service \
$(TARGET_DIR)/usr/lib/systemd/system/suricata.service
- mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants
- ln -sf ../../../../usr/lib/systemd/system/suricata.service \
- $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/suricata.service
endef
$(eval $(autotools-package))
diff --git a/package/sysklogd/sysklogd.mk b/package/sysklogd/sysklogd.mk
index 266c171170..1bd1ec51b5 100644
--- a/package/sysklogd/sysklogd.mk
+++ b/package/sysklogd/sysklogd.mk
@@ -30,11 +30,6 @@ define SYSKLOGD_INSTALL_INIT_SYSTEMD
$(TARGET_DIR)/usr/lib/systemd/system/syslogd.service
$(INSTALL) -D -m 644 $(SYSKLOGD_PKGDIR)/klogd.service \
$(TARGET_DIR)/usr/lib/systemd/system/klogd.service
- mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants
- ln -sf ../../../../usr/lib/systemd/system/syslogd.service \
- $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/syslogd.service
- ln -sf ../../../usr/lib/systemd/system/syslogd.service \
- $(TARGET_DIR)/etc/systemd/system/syslog.service
endef
$(eval $(autotools-package))
diff --git a/package/tcf-agent/tcf-agent.mk b/package/tcf-agent/tcf-agent.mk
index 5a0a991b1d..2b8a61b66f 100644
--- a/package/tcf-agent/tcf-agent.mk
+++ b/package/tcf-agent/tcf-agent.mk
@@ -24,9 +24,6 @@ TCF_AGENT_CONF_OPTS = \
define TCF_AGENT_INSTALL_INIT_SYSTEMD
$(INSTALL) -D -m 644 package/tcf-agent/tcf-agent.service \
$(TARGET_DIR)/usr/lib/systemd/system/tcf-agent.service
- mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants
- ln -fs ../../../../usr/lib/systemd/system/tcf-agent.service \
- $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/tcf-agent.service
endef
define TCF_AGENT_INSTALL_INIT_SYSV
diff --git a/package/thttpd/thttpd.mk b/package/thttpd/thttpd.mk
index 6cf86e4b95..fe96f7df65 100644
--- a/package/thttpd/thttpd.mk
+++ b/package/thttpd/thttpd.mk
@@ -36,9 +36,6 @@ endef
define THTTPD_INSTALL_INIT_SYSTEMD
$(INSTALL) -D -m 0644 package/thttpd/thttpd.service \
$(TARGET_DIR)/usr/lib/systemd/system/thttpd.service
- mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/
- ln -fs ../../../../usr/lib/systemd/system/thttpd.service \
- $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/thttpd.service
endef
$(eval $(autotools-package))
diff --git a/package/ti-gfx/ti-gfx.mk b/package/ti-gfx/ti-gfx.mk
index 9fad553780..2728572776 100644
--- a/package/ti-gfx/ti-gfx.mk
+++ b/package/ti-gfx/ti-gfx.mk
@@ -196,9 +196,6 @@ define TI_GFX_INSTALL_INIT_SYSTEMD
$(TARGET_DIR)/usr/lib/systemd/scripts/ti-gfx
$(INSTALL) -D -m 644 package/ti-gfx/ti-gfx.service \
$(TARGET_DIR)/usr/lib/systemd/system/ti-gfx.service
- mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants
- ln -sf ../../../../usr/lib/systemd/system/ti-gfx.service \
- $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/ti-gfx.service
endef
define TI_GFX_INSTALL_TARGET_CMDS
diff --git a/package/tinyhttpd/tinyhttpd.mk b/package/tinyhttpd/tinyhttpd.mk
index 058f6bd186..6b3ba5f305 100644
--- a/package/tinyhttpd/tinyhttpd.mk
+++ b/package/tinyhttpd/tinyhttpd.mk
@@ -27,9 +27,6 @@ endef
define TINYHTTPD_INSTALL_INIT_SYSTEMD
$(INSTALL) -D -m 644 package/tinyhttpd/tinyhttpd.service \
$(TARGET_DIR)/usr/lib/systemd/system/tinyhttpd.service
- mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants
- ln -sf ../../../../usr/lib/systemd/system/tinyhttpd.service \
- $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/tinyhttpd.service
endef
$(eval $(generic-package))
diff --git a/package/triggerhappy/triggerhappy.mk b/package/triggerhappy/triggerhappy.mk
index 7c4bf40476..f83a557804 100644
--- a/package/triggerhappy/triggerhappy.mk
+++ b/package/triggerhappy/triggerhappy.mk
@@ -41,9 +41,6 @@ endef
define TRIGGERHAPPY_INSTALL_INIT_SYSTEMD
$(INSTALL) -D -m 644 package/triggerhappy/triggerhappy.service \
$(TARGET_DIR)/usr/lib/systemd/system/triggerhappy.service
- mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants
- ln -sf ../../../../usr/lib/systemd/system/triggerhappy.service \
- $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/triggerhappy.service
endef
$(eval $(generic-package))
--
2.24.0
^ permalink raw reply related [flat|nested] 18+ messages in thread
* [Buildroot] [PATCH v4 05/13] fix trivial cases, upstream-provided services
2019-12-12 7:53 [Buildroot] [PATCH v4 00/13] use host-systemd to enable units Jérémy Rosen
` (3 preceding siblings ...)
2019-12-12 7:53 ` [Buildroot] [PATCH v4 04/13] fix trivial packages with buildroot-provided services Jérémy Rosen
@ 2019-12-12 7:53 ` Jérémy Rosen
2019-12-12 7:53 ` [Buildroot] [PATCH v4 06/13] package/connman: adapt to preset-all Jérémy Rosen
` (8 subsequent siblings)
13 siblings, 0 replies; 18+ messages in thread
From: Jérémy Rosen @ 2019-12-12 7:53 UTC (permalink / raw)
To: buildroot
All these packages have an upstream-provided service, but buildroot
enabled manually the services in exactly the same way as the [Install]
section.
This is not needed anymore
Signed-off-by:J?r?my Rosen <jeremy.rosen@smile.fr>
Reviewed-by: Yann E.MORIN <yann.morin.1998@free.fr>
---
package/audit/audit.mk | 4 ----
package/avahi/avahi.mk | 8 --------
package/bluez5_utils/bluez5_utils.mk | 8 --------
package/boinc/boinc.mk | 5 -----
package/docker-engine/docker-engine.mk | 3 ---
package/fail2ban/fail2ban.mk | 3 ---
package/gerbera/gerbera.mk | 6 ------
package/iputils/iputils.mk | 16 ----------------
package/lighttpd/lighttpd.mk | 6 ------
package/lldpd/lldpd.mk | 6 ------
package/mosquitto/mosquitto.mk | 3 ---
package/nfs-utils/nfs-utils.mk | 16 ----------------
package/ofono/ofono.mk | 6 ------
package/pcsc-lite/pcsc-lite.mk | 6 ------
package/php/php.mk | 3 ---
package/rsyslog/rsyslog.mk | 14 --------------
package/samba4/samba4.mk | 7 -------
package/squid/squid.mk | 3 ---
package/sshguard/sshguard.mk | 3 ---
package/systemd-bootchart/systemd-bootchart.mk | 6 ------
package/transmission/transmission.mk | 3 ---
package/upmpdcli/upmpdcli.mk | 3 ---
22 files changed, 138 deletions(-)
diff --git a/package/audit/audit.mk b/package/audit/audit.mk
index 1e05688f45..03967ee650 100644
--- a/package/audit/audit.mk
+++ b/package/audit/audit.mk
@@ -44,10 +44,6 @@ define AUDIT_INSTALL_INIT_SYSV
endef
define AUDIT_INSTALL_INIT_SYSTEMD
- mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants
- ln -fs ../../../../usr/lib/systemd/system/auditd.service \
- $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/auditd.service
-
$(INSTALL) -D -m 644 package/audit/audit_tmpfiles.conf \
$(TARGET_DIR)/usr/lib/tmpfiles.d/audit.conf
endef
diff --git a/package/avahi/avahi.mk b/package/avahi/avahi.mk
index baffe3cb69..53021f6b6d 100644
--- a/package/avahi/avahi.mk
+++ b/package/avahi/avahi.mk
@@ -198,14 +198,6 @@ endef
endif
define AVAHI_INSTALL_INIT_SYSTEMD
- mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants
-
- ln -fs ../../../../usr/lib/systemd/system/avahi-daemon.service \
- $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/avahi-daemon.service
-
- ln -fs ../../../../usr/lib/systemd/system/avahi-dnsconfd.service \
- $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/avahi-dnsconfd.service
-
$(INSTALL) -D -m 644 package/avahi/avahi_tmpfiles.conf \
$(TARGET_DIR)/usr/lib/tmpfiles.d/avahi.conf
diff --git a/package/bluez5_utils/bluez5_utils.mk b/package/bluez5_utils/bluez5_utils.mk
index 7c5202b717..8f9249454d 100644
--- a/package/bluez5_utils/bluez5_utils.mk
+++ b/package/bluez5_utils/bluez5_utils.mk
@@ -118,12 +118,4 @@ else
BLUEZ5_UTILS_CONF_OPTS += --disable-systemd
endif
-define BLUEZ5_UTILS_INSTALL_INIT_SYSTEMD
- mkdir -p $(TARGET_DIR)/etc/systemd/system/bluetooth.target.wants
- ln -fs ../../../../usr/lib/systemd/system/bluetooth.service \
- $(TARGET_DIR)/etc/systemd/system/bluetooth.target.wants/bluetooth.service
- ln -fs ../../../usr/lib/systemd/system/bluetooth.service \
- $(TARGET_DIR)/etc/systemd/system/dbus-org.bluez.service
-endef
-
$(eval $(autotools-package))
diff --git a/package/boinc/boinc.mk b/package/boinc/boinc.mk
index 5a29214f46..60aa5d1521 100644
--- a/package/boinc/boinc.mk
+++ b/package/boinc/boinc.mk
@@ -53,10 +53,5 @@ define BOINC_INSTALL_INIT_SYSV
$(TARGET_DIR)/etc/init.d/S99boinc-client
endef
-define BOINC_INSTALL_INIT_SYSTEMD
- mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants
- ln -sf ../../../../usr/lib/systemd/system/boinc-client.service \
- $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/boinc-client.service
-endef
$(eval $(autotools-package))
diff --git a/package/docker-engine/docker-engine.mk b/package/docker-engine/docker-engine.mk
index 6a225ee5f0..c6a0442570 100644
--- a/package/docker-engine/docker-engine.mk
+++ b/package/docker-engine/docker-engine.mk
@@ -68,9 +68,6 @@ define DOCKER_ENGINE_INSTALL_INIT_SYSTEMD
$(TARGET_DIR)/usr/lib/systemd/system/docker.service
$(INSTALL) -D -m 0644 $(@D)/contrib/init/systemd/docker.socket \
$(TARGET_DIR)/usr/lib/systemd/system/docker.socket
- mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/
- ln -fs ../../../../usr/lib/systemd/system/docker.service \
- $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/docker.service
endef
define DOCKER_ENGINE_INSTALL_INIT_SYSV
diff --git a/package/fail2ban/fail2ban.mk b/package/fail2ban/fail2ban.mk
index 16fa63c147..a0325dffc5 100644
--- a/package/fail2ban/fail2ban.mk
+++ b/package/fail2ban/fail2ban.mk
@@ -25,9 +25,6 @@ endef
define FAIL2BAN_INSTALL_INIT_SYSTEMD
$(INSTALL) -D -m 0644 $(@D)/files/fail2ban.service.in \
$(TARGET_DIR)/usr/lib/systemd/system/fail2ban.service
- mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants
- ln -fs ../../../../usr/lib//systemd/system/fail2ban.service \
- $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/fail2ban.service
$(SED) 's, at BINDIR@,/usr/bin,g' $(TARGET_DIR)/usr/lib/systemd/system/fail2ban.service
$(SED) '/^PIDFile/c\PIDFile=/run/fail2ban.pid' $(TARGET_DIR)/usr/lib/systemd/system/fail2ban.service
endef
diff --git a/package/gerbera/gerbera.mk b/package/gerbera/gerbera.mk
index 2579b8f2e4..80026e8cf8 100644
--- a/package/gerbera/gerbera.mk
+++ b/package/gerbera/gerbera.mk
@@ -104,11 +104,5 @@ define GERBERA_INSTALL_INIT_SYSV
$(TARGET_DIR)/etc/init.d/S99gerbera
endef
-# gerbera.service is installed by cmake in $(TARGET_DIR)/usr/lib/systemd/system
-define GERBERA_INSTALL_INIT_SYSTEMD
- mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants
- ln -sf ../../../../usr/lib/systemd/system/gerbera.service \
- $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/gerbera.service
-endef
$(eval $(cmake-package))
diff --git a/package/iputils/iputils.mk b/package/iputils/iputils.mk
index daceb192f2..5b20d4f99e 100644
--- a/package/iputils/iputils.mk
+++ b/package/iputils/iputils.mk
@@ -62,11 +62,6 @@ ifeq ($(IPUTILS_NINFOD),n)
IPUTILS_CONF_OPTS += -DBUILD_NINFOD=false
else
IPUTILS_CONF_OPTS += -DBUILD_NINFOD=true
-define IPUTILS_INSTALL_SERVICE_NINFOD
- mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants
- ln -sf ../../../../lib/systemd/system/ninfod.service \
- $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/ninfod.service
-endef
endif
ifeq ($(BR2_SYSTEM_ENABLE_NLS),y)
@@ -118,15 +113,4 @@ define IPUTILS_PERMISSIONS
endef
endif
-define IPUTILS_INSTALL_SERVICE_RDISC
- mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants
- ln -sf ../../../../lib/systemd/system/rdisc.service \
- $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/rdisc.service
-endef
-
-define IPUTILS_INSTALL_INIT_SYSTEMD
- $(IPUTILS_INSTALL_SERVICE_NINFOD)
- $(IPUTILS_INSTALL_SERVICE_RDISC)
-endef
-
$(eval $(meson-package))
diff --git a/package/lighttpd/lighttpd.mk b/package/lighttpd/lighttpd.mk
index 449b4b4de2..d7622ad822 100644
--- a/package/lighttpd/lighttpd.mk
+++ b/package/lighttpd/lighttpd.mk
@@ -99,12 +99,6 @@ endef
define LIGHTTPD_INSTALL_INIT_SYSTEMD
$(INSTALL) -D -m 0644 $(@D)/doc/systemd/lighttpd.service \
$(TARGET_DIR)/usr/lib/systemd/system/lighttpd.service
-
- mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants
-
- ln -fs ../../../../usr/lib/systemd/system/lighttpd.service \
- $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/lighttpd.service
-
$(INSTALL) -D -m 644 package/lighttpd/lighttpd_tmpfiles.conf \
$(TARGET_DIR)/usr/lib/tmpfiles.d/lighttpd.conf
endef
diff --git a/package/lldpd/lldpd.mk b/package/lldpd/lldpd.mk
index 5569e409dd..264323a879 100644
--- a/package/lldpd/lldpd.mk
+++ b/package/lldpd/lldpd.mk
@@ -65,10 +65,4 @@ define LLDPD_INSTALL_INIT_SYSV
$(TARGET_DIR)/etc/init.d/S60lldpd
endef
-define LLDPD_INSTALL_INIT_SYSTEMD
- mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants
- ln -sf ../../../../usr/lib/systemd/system/lldpd.service \
- $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/lldpd.service
-endef
-
$(eval $(autotools-package))
diff --git a/package/mosquitto/mosquitto.mk b/package/mosquitto/mosquitto.mk
index d0ffffd1d6..2c3bd18d5e 100644
--- a/package/mosquitto/mosquitto.mk
+++ b/package/mosquitto/mosquitto.mk
@@ -111,9 +111,6 @@ endef
define MOSQUITTO_INSTALL_INIT_SYSTEMD
$(INSTALL) -D -m 644 $(@D)/service/systemd/mosquitto.service.notify \
$(TARGET_DIR)/usr/lib/systemd/system/mosquitto.service
- mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants
- ln -fs ../../../../usr/lib/systemd/system/mosquitto.service \
- $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/mosquitto.service
endef
define MOSQUITTO_USERS
diff --git a/package/nfs-utils/nfs-utils.mk b/package/nfs-utils/nfs-utils.mk
index cb2caa03f0..a3484286d1 100644
--- a/package/nfs-utils/nfs-utils.mk
+++ b/package/nfs-utils/nfs-utils.mk
@@ -73,25 +73,9 @@ define NFS_UTILS_INSTALL_INIT_SYSV
$(TARGET_DIR)/etc/init.d/S60nfs
endef
-define NFS_UTILS_INSTALL_INIT_SYSTEMD_NFSD
- ln -fs ../../../../usr/lib/systemd/system/nfs-server.service \
- $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/nfs-server.service
-endef
endif
define NFS_UTILS_INSTALL_INIT_SYSTEMD
- mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants
-
- $(NFS_UTILS_INSTALL_INIT_SYSTEMD_NFSD)
-
- ln -fs ../../../../usr/lib/systemd/system/nfs-client.target \
- $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/nfs-client.target
-
- mkdir -p $(TARGET_DIR)/etc/systemd/system/remote-fs.target.wants
-
- ln -fs ../../../../usr/lib/systemd/system/nfs-client.target \
- $(TARGET_DIR)/etc/systemd/system/remote-fs.target.wants/nfs-client.target
-
$(INSTALL) -D -m 0755 package/nfs-utils/nfs-utils_env.sh \
$(TARGET_DIR)/usr/libexec/nfs-utils/nfs-utils_env.sh
diff --git a/package/ofono/ofono.mk b/package/ofono/ofono.mk
index 0765ff97c1..797e30bd43 100644
--- a/package/ofono/ofono.mk
+++ b/package/ofono/ofono.mk
@@ -31,12 +31,6 @@ define OFONO_INSTALL_INIT_SYSV
$(INSTALL) -m 0755 -D package/ofono/S46ofono $(TARGET_DIR)/etc/init.d/S46ofono
endef
-define OFONO_INSTALL_INIT_SYSTEMD
- mkdir -p $(TARGET_DIR)/etc/systemd/systemd/multi-user.target.wants
- ln -fs ../../../../usr/lib/systemd/system/ofono.service \
- $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants
-endef
-
ifeq ($(BR2_PACKAGE_HAS_UDEV),y)
OFONO_CONF_OPTS += --enable-udev
OFONO_DEPENDENCIES += udev
diff --git a/package/pcsc-lite/pcsc-lite.mk b/package/pcsc-lite/pcsc-lite.mk
index e819a93910..08aab466fc 100644
--- a/package/pcsc-lite/pcsc-lite.mk
+++ b/package/pcsc-lite/pcsc-lite.mk
@@ -44,10 +44,4 @@ ifeq ($(PACKAGE_PCSC_LITE_EMBEDDED),y)
PCSC_LITE_CONF_OPTS += --enable-embedded
endif
-define PCSC_LITE_INSTALL_INIT_SYSTEMD
- mkdir -p $(TARGET_DIR)/etc/systemd/system/sockets.target.wants
- ln -sf ../../../../usr/lib/systemd/system/pcscd.socket \
- $(TARGET_DIR)/etc/systemd/system/sockets.target.wants/pcscd.socket
-endef
-
$(eval $(autotools-package))
diff --git a/package/php/php.mk b/package/php/php.mk
index 1f3972c413..be35ed4456 100644
--- a/package/php/php.mk
+++ b/package/php/php.mk
@@ -338,9 +338,6 @@ endef
define PHP_INSTALL_INIT_SYSTEMD
$(INSTALL) -D -m 0644 $(@D)/sapi/fpm/php-fpm.service \
$(TARGET_DIR)/usr/lib/systemd/system/php-fpm.service
- mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants
- ln -fs ../../../../usr/lib/systemd/system/php-fpm.service \
- $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/php-fpm.service
endef
define PHP_INSTALL_FPM_CONF
diff --git a/package/rsyslog/rsyslog.mk b/package/rsyslog/rsyslog.mk
index 1d535fc26b..c4446c210d 100644
--- a/package/rsyslog/rsyslog.mk
+++ b/package/rsyslog/rsyslog.mk
@@ -85,20 +85,6 @@ define RSYSLOG_INSTALL_INIT_SYSV
$(TARGET_DIR)/etc/init.d/S01rsyslogd
endef
-# The rsyslog.service is installed by rsyslog, but the link is not created
-# so the service is not enabled.
-# We need to create another link which is due to the fact that the
-# rsyslog.service contains an Alias=
-# If we were to use systemctl enable to enable the service, it would
-# create both, so we mimic that.
-define RSYSLOG_INSTALL_INIT_SYSTEMD
- mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants
- ln -sf ../../../../usr/lib/systemd/system/rsyslog.service \
- $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/rsyslog.service
- ln -sf ../../../usr/lib/systemd/system/rsyslog.service \
- $(TARGET_DIR)/etc/systemd/system/syslog.service
-endef
-
define RSYSLOG_INSTALL_CONF
$(INSTALL) -m 0644 -D $(@D)/platform/redhat/rsyslog.conf \
$(TARGET_DIR)/etc/rsyslog.conf
diff --git a/package/samba4/samba4.mk b/package/samba4/samba4.mk
index 201328fe4b..bf9636f6e8 100644
--- a/package/samba4/samba4.mk
+++ b/package/samba4/samba4.mk
@@ -174,13 +174,6 @@ SAMBA4_DEPENDENCIES += systemd
endif
define SAMBA4_INSTALL_INIT_SYSTEMD
- mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants
- ln -sf ../../../../usr/lib/systemd/system/nmb.service \
- $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/nmb.service
- ln -sf ../../../../usr/lib/systemd/system/smb.service \
- $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/smb.service
- ln -sf ../../../../usr/lib/systemd/system/winbind.service \
- $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/winbind.service
$(INSTALL) -D -m 644 $(@D)/packaging/systemd/samba.conf.tmp \
$(TARGET_DIR)/usr/lib/tmpfiles.d/samba.conf
printf "d /var/log/samba 755 root root\n" >>$(TARGET_DIR)/usr/lib/tmpfiles.d/samba.conf
diff --git a/package/squid/squid.mk b/package/squid/squid.mk
index 0d09968bd3..34a463d80d 100644
--- a/package/squid/squid.mk
+++ b/package/squid/squid.mk
@@ -85,9 +85,6 @@ endef
define SQUID_INSTALL_INIT_SYSTEMD
$(INSTALL) -D -m 0644 $(@D)/tools/systemd/squid.service \
$(TARGET_DIR)/usr/lib/systemd/system/squid.service
- mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants
- ln -sf ../../../..//usr/lib/systemd/system/squid.service \
- $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/squid.service
endef
$(eval $(autotools-package))
diff --git a/package/sshguard/sshguard.mk b/package/sshguard/sshguard.mk
index 0f39974d46..ceff520693 100644
--- a/package/sshguard/sshguard.mk
+++ b/package/sshguard/sshguard.mk
@@ -25,9 +25,6 @@ endef
define SSHGUARD_INSTALL_INIT_SYSTEMD
$(INSTALL) -D -m 0644 $(@D)/examples/sshguard.service \
$(TARGET_DIR)/usr/lib/systemd/system/sshguard.service
- mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants
- ln -fs ../../../../usr/lib/systemd/system/sshguard.service \
- $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/sshguard.service
endef
$(eval $(autotools-package))
diff --git a/package/systemd-bootchart/systemd-bootchart.mk b/package/systemd-bootchart/systemd-bootchart.mk
index 62bc79539b..bcc3dbe22a 100644
--- a/package/systemd-bootchart/systemd-bootchart.mk
+++ b/package/systemd-bootchart/systemd-bootchart.mk
@@ -16,10 +16,4 @@ SYSTEMD_BOOTCHART_DEPENDENCIES = systemd
SYSTEMD_BOOTCHART_CONF_OPTS = --disable-man
-define SYSTEMD_BOOTCHART_INSTALL_INIT_SYSTEMD
- mkdir -p $(TARGET_DIR)/etc/systemd/system/sysinit.target.wants
- ln -sf ../../../../lib/systemd/system/systemd-bootchart.service \
- $(TARGET_DIR)/etc/systemd/system/sysinit.target.wants/systemd-bootchart.service
-endef
-
$(eval $(autotools-package))
diff --git a/package/transmission/transmission.mk b/package/transmission/transmission.mk
index 00652e7f4c..8fbda5eea3 100644
--- a/package/transmission/transmission.mk
+++ b/package/transmission/transmission.mk
@@ -66,9 +66,6 @@ endef
define TRANSMISSION_INSTALL_INIT_SYSTEMD
$(INSTALL) -D -m 0644 $(@D)/daemon/transmission-daemon.service \
$(TARGET_DIR)/usr/lib/systemd/system/transmission-daemon.service
- mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants
- ln -fs ../../../../usr/lib/systemd/system/transmission-daemon.service \
- $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/transmission-daemon.service
endef
else
diff --git a/package/upmpdcli/upmpdcli.mk b/package/upmpdcli/upmpdcli.mk
index 6fa3ae3c5e..290cdcb1f2 100644
--- a/package/upmpdcli/upmpdcli.mk
+++ b/package/upmpdcli/upmpdcli.mk
@@ -27,9 +27,6 @@ endef
define UPMPDCLI_INSTALL_INIT_SYSTEMD
$(INSTALL) -D -m 644 $(@D)/systemd/upmpdcli.service \
$(TARGET_DIR)/usr/lib/systemd/system/upmpdcli.service
- mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants
- ln -sf ../../../../usr/lib/systemd/system/upmpdcli.service \
- $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/upmpdcli.service
endef
define UPMPDCLI_INSTALL_CONF_FILE
--
2.24.0
^ permalink raw reply related [flat|nested] 18+ messages in thread
* [Buildroot] [PATCH v4 06/13] package/connman: adapt to preset-all
2019-12-12 7:53 [Buildroot] [PATCH v4 00/13] use host-systemd to enable units Jérémy Rosen
` (4 preceding siblings ...)
2019-12-12 7:53 ` [Buildroot] [PATCH v4 05/13] fix trivial cases, upstream-provided services Jérémy Rosen
@ 2019-12-12 7:53 ` Jérémy Rosen
2019-12-12 7:53 ` [Buildroot] [PATCH v4 07/13] package/linuxptp " Jérémy Rosen
` (7 subsequent siblings)
13 siblings, 0 replies; 18+ messages in thread
From: Jérémy Rosen @ 2019-12-12 7:53 UTC (permalink / raw)
To: buildroot
connman has two services
* connman.service which is the real daemon
* connman-wait-online.service which is a sync point for network-online.target
Only the first one was enabled. This adaptation enables both.
Not enabling connman-wait-online.service is probably a bug
Signed-off-by:J?r?my Rosen <jeremy.rosen@smile.fr>
Reviewed-by: Yann E.MORIN <yann.morin.1998@free.fr>
---
package/connman/connman.mk | 6 ------
1 file changed, 6 deletions(-)
diff --git a/package/connman/connman.mk b/package/connman/connman.mk
index 7ca49726dd..2cbf3fe752 100644
--- a/package/connman/connman.mk
+++ b/package/connman/connman.mk
@@ -32,12 +32,6 @@ define CONNMAN_INSTALL_INIT_SYSV
$(INSTALL) -m 0755 -D package/connman/S45connman $(TARGET_DIR)/etc/init.d/S45connman
endef
-define CONNMAN_INSTALL_INIT_SYSTEMD
- mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants
- ln -fs ../../../../usr/lib/systemd/system/connman.service \
- $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/connman.service
-endef
-
ifeq ($(BR2_PACKAGE_CONNMAN_CLIENT),y)
CONNMAN_LICENSE += , GPL-2.0+ (client)
CONNMAN_CONF_OPTS += --enable-client
--
2.24.0
^ permalink raw reply related [flat|nested] 18+ messages in thread
* [Buildroot] [PATCH v4 07/13] package/linuxptp adapt to preset-all
2019-12-12 7:53 [Buildroot] [PATCH v4 00/13] use host-systemd to enable units Jérémy Rosen
` (5 preceding siblings ...)
2019-12-12 7:53 ` [Buildroot] [PATCH v4 06/13] package/connman: adapt to preset-all Jérémy Rosen
@ 2019-12-12 7:53 ` Jérémy Rosen
2019-12-12 7:53 ` [Buildroot] [PATCH v4 08/13] package/network-manager: " Jérémy Rosen
` (6 subsequent siblings)
13 siblings, 0 replies; 18+ messages in thread
From: Jérémy Rosen @ 2019-12-12 7:53 UTC (permalink / raw)
To: buildroot
linuxptp has two services
* linuxptp.service : the actual daemon
* linuxptp-system-clock.service : sync the linux clock to the phc clock
The first was enabled, the second was not, we now enable both
The second has an incorrect (though harmless) WantedBy : there is an
explicit Wants= in linuxptp.service
Reviewed-by: Yann E.MORIN <yann.morin.1998@free.fr>
Signed-off-by: J?r?my Rosen <jeremy.rosen@smile.fr>
---
package/linuxptp/linuxptp-system-clock.service | 1 -
package/linuxptp/linuxptp.mk | 3 ---
2 files changed, 4 deletions(-)
diff --git a/package/linuxptp/linuxptp-system-clock.service b/package/linuxptp/linuxptp-system-clock.service
index a4436a34a7..57beec4579 100644
--- a/package/linuxptp/linuxptp-system-clock.service
+++ b/package/linuxptp/linuxptp-system-clock.service
@@ -8,4 +8,3 @@ Restart=always
[Install]
WantedBy=multi-user.target
-WantedBy=linuxptp.service
diff --git a/package/linuxptp/linuxptp.mk b/package/linuxptp/linuxptp.mk
index c304ff6d6e..97e4af7be7 100644
--- a/package/linuxptp/linuxptp.mk
+++ b/package/linuxptp/linuxptp.mk
@@ -42,9 +42,6 @@ define LINUXPTP_INSTALL_INIT_SYSTEMD
$(TARGET_DIR)/usr/lib/systemd/system/linuxptp.service
$(INSTALL) -D -m 644 $(LINUXPTP_PKGDIR)/linuxptp-system-clock.service \
$(TARGET_DIR)/usr/lib/systemd/system/linuxptp-system-clock.service
- mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants
- ln -sf ../../../../usr/lib/systemd/system/linuxptp.service \
- $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/linuxptp.service
endef
$(eval $(generic-package))
--
2.24.0
^ permalink raw reply related [flat|nested] 18+ messages in thread
* [Buildroot] [PATCH v4 08/13] package/network-manager: adapt to preset-all
2019-12-12 7:53 [Buildroot] [PATCH v4 00/13] use host-systemd to enable units Jérémy Rosen
` (6 preceding siblings ...)
2019-12-12 7:53 ` [Buildroot] [PATCH v4 07/13] package/linuxptp " Jérémy Rosen
@ 2019-12-12 7:53 ` Jérémy Rosen
2019-12-12 7:53 ` [Buildroot] [PATCH v4 09/13] package/wpa_supplicant: adapt for preset-all Jérémy Rosen
` (5 subsequent siblings)
13 siblings, 0 replies; 18+ messages in thread
From: Jérémy Rosen @ 2019-12-12 7:53 UTC (permalink / raw)
To: buildroot
NM has three services
* NetworkManger.service : the main daemon
* NetworkManger-dispatcher.service : a daemon handling network callbacks
* NetworkManager-wait-online.service : sync of other services with network-online
Only the first two were activated. We now also enable
wait-online. Not enabling it was probably a bug.
Note that buildroot adds an alias dbus-org.freedesktop.NetworkManager
Adding an alias that is not known upstream is not clean,
but I left it for backward compatibility
Reviewed-by: Yann E.MORIN <yann.morin.1998@free.fr>
Signed-off-by: J?r?my Rosen <jeremy.rosen@smile.fr>
---
package/network-manager/network-manager.mk | 7 -------
1 file changed, 7 deletions(-)
diff --git a/package/network-manager/network-manager.mk b/package/network-manager/network-manager.mk
index 7de2c220fe..56b768cdef 100644
--- a/package/network-manager/network-manager.mk
+++ b/package/network-manager/network-manager.mk
@@ -88,16 +88,9 @@ define NETWORK_MANAGER_INSTALL_INIT_SYSV
endef
define NETWORK_MANAGER_INSTALL_INIT_SYSTEMD
- mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants
-
ln -sf /usr/lib/systemd/system/NetworkManager.service \
$(TARGET_DIR)/etc/systemd/system/dbus-org.freedesktop.NetworkManager.service
- ln -sf /usr/lib/systemd/system/NetworkManager.service \
- $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/NetworkManager.service
-
- ln -sf /usr/lib/systemd/system/NetworkManager-dispatcher.service \
- $(TARGET_DIR)/etc/systemd/system/dbus-org.freedesktop.nm-dispatcher.service
endef
$(eval $(autotools-package))
--
2.24.0
^ permalink raw reply related [flat|nested] 18+ messages in thread
* [Buildroot] [PATCH v4 09/13] package/wpa_supplicant: adapt for preset-all
2019-12-12 7:53 [Buildroot] [PATCH v4 00/13] use host-systemd to enable units Jérémy Rosen
` (7 preceding siblings ...)
2019-12-12 7:53 ` [Buildroot] [PATCH v4 08/13] package/network-manager: " Jérémy Rosen
@ 2019-12-12 7:53 ` Jérémy Rosen
2019-12-12 7:53 ` [Buildroot] [PATCH v4 10/13] package/sysrepo: update to new systemd Jérémy Rosen
` (4 subsequent siblings)
13 siblings, 0 replies; 18+ messages in thread
From: Jérémy Rosen @ 2019-12-12 7:53 UTC (permalink / raw)
To: buildroot
all services were installed but not enabled.
This change enables the non-templated service
but disables the templated ones
Enabling the templates creates weird links which are probably an
upstream bug.
Signed-off-by: J?r?my Rosen <jeremy.rosen@smile.fr>
---
package/wpa_supplicant/50-wpa_supplicant.preset | 4 ++++
package/wpa_supplicant/wpa_supplicant.mk | 2 ++
2 files changed, 6 insertions(+)
create mode 100644 package/wpa_supplicant/50-wpa_supplicant.preset
diff --git a/package/wpa_supplicant/50-wpa_supplicant.preset b/package/wpa_supplicant/50-wpa_supplicant.preset
new file mode 100644
index 0000000000..9af8562c0e
--- /dev/null
+++ b/package/wpa_supplicant/50-wpa_supplicant.preset
@@ -0,0 +1,4 @@
+disable wpa_supplicant at .service
+disable wpa_supplicant-nl80211 at .service
+disable wpa_supplicant-wired at .service
+
diff --git a/package/wpa_supplicant/wpa_supplicant.mk b/package/wpa_supplicant/wpa_supplicant.mk
index 9dcebca9bf..4f95ea6276 100644
--- a/package/wpa_supplicant/wpa_supplicant.mk
+++ b/package/wpa_supplicant/wpa_supplicant.mk
@@ -227,6 +227,8 @@ define WPA_SUPPLICANT_INSTALL_INIT_SYSTEMD
$(TARGET_DIR)/usr/lib/systemd/system/wpa_supplicant-nl80211 at .service
$(INSTALL) -m 0644 -D $(@D)/$(WPA_SUPPLICANT_SUBDIR)/systemd/wpa_supplicant-wired at .service \
$(TARGET_DIR)/usr/lib/systemd/system/wpa_supplicant-wired at .service
+ $(INSTALL) -D -m 644 $(WPA_SUPPLICANT_PKGDIR)/50-wpa_supplicant.preset \
+ $(TARGET_DIR)/usr/lib/systemd/system-preset/50-wpa_supplicant.preset
endef
$(eval $(generic-package))
--
2.24.0
^ permalink raw reply related [flat|nested] 18+ messages in thread
* [Buildroot] [PATCH v4 10/13] package/sysrepo: update to new systemd
2019-12-12 7:53 [Buildroot] [PATCH v4 00/13] use host-systemd to enable units Jérémy Rosen
` (8 preceding siblings ...)
2019-12-12 7:53 ` [Buildroot] [PATCH v4 09/13] package/wpa_supplicant: adapt for preset-all Jérémy Rosen
@ 2019-12-12 7:53 ` Jérémy Rosen
2019-12-12 7:53 ` [Buildroot] [PATCH v4 11/13] package/syslog-ng: implement default using DefaultInstance Jérémy Rosen
` (3 subsequent siblings)
13 siblings, 0 replies; 18+ messages in thread
From: Jérémy Rosen @ 2019-12-12 7:53 UTC (permalink / raw)
To: buildroot
sysrepo provides it's own services so just remove the section
Also fix sysrepo not installing the files in the correct directory
Signed-off-by: J?r?my Rosen <jeremy.rosen@smile.fr>
---
package/sysrepo/sysrepo.mk | 10 +---------
1 file changed, 1 insertion(+), 9 deletions(-)
diff --git a/package/sysrepo/sysrepo.mk b/package/sysrepo/sysrepo.mk
index 216e517526..f693ff70da 100644
--- a/package/sysrepo/sysrepo.mk
+++ b/package/sysrepo/sysrepo.mk
@@ -24,7 +24,7 @@ SYSREPO_CONF_OPTS = \
-DCALL_SYSREPOCFG_BIN=$(HOST_DIR)/bin/sysrepocfg \
-DBUILD_EXAMPLES=$(if $(BR2_PACKAGE_SYSREPO_EXAMPLES),ON,OFF) \
$(if $(BR2_INIT_SYSTEMD),-DWITH_SYSTEMD=ON) \
- $(if $(BR2_INIT_SYSTEMD),-DSYSTEMD_UNIT_DIR=usr/lib/systemd/system)
+ $(if $(BR2_INIT_SYSTEMD),-DSYSTEMD_UNIT_DIR=/usr/lib/systemd/system)
# On ARM, this is needed to prevent unaligned memory access with an optimized
# build .. https://github.com/sysrepo/sysrepo/issues/947
@@ -41,14 +41,6 @@ define SYSREPO_INSTALL_INIT_SYSV
$(TARGET_DIR)/etc/init.d/S51sysrepo-plugind
endef
-define SYSREPO_INSTALL_INIT_SYSTEMD
- mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants
- ln -fs ../../../../usr/lib/systemd/system/sysrepod.service \
- $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants
- ln -fs ../../../../usr/lib/systemd/system/sysrepo-plugind.service \
- $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants
-endef
-
HOST_SYSREPO_CONF_OPTS = \
-DGEN_PYTHON2_TESTS=OFF \
-DENABLE_TESTS=OFF \
--
2.24.0
^ permalink raw reply related [flat|nested] 18+ messages in thread
* [Buildroot] [PATCH v4 11/13] package/syslog-ng: implement default using DefaultInstance
2019-12-12 7:53 [Buildroot] [PATCH v4 00/13] use host-systemd to enable units Jérémy Rosen
` (9 preceding siblings ...)
2019-12-12 7:53 ` [Buildroot] [PATCH v4 10/13] package/sysrepo: update to new systemd Jérémy Rosen
@ 2019-12-12 7:53 ` Jérémy Rosen
2019-12-12 7:53 ` [Buildroot] [PATCH v4 12/13] package/rauc: add a WantedBy section to the unit Jérémy Rosen
` (2 subsequent siblings)
13 siblings, 0 replies; 18+ messages in thread
From: Jérémy Rosen @ 2019-12-12 7:53 UTC (permalink / raw)
To: buildroot
Instead of using a manual symlink we use add a DefaultInstance= to the
config file
This is how upstream wants us to do it and allows systemctl preset to
correctly restore it if needed
Signed-off-by: J?r?my Rosen <jeremy.rosen@smile.fr>
---
package/syslog-ng/syslog-ng.mk | 7 ++-----
1 file changed, 2 insertions(+), 5 deletions(-)
diff --git a/package/syslog-ng/syslog-ng.mk b/package/syslog-ng/syslog-ng.mk
index fc44777d16..98b5a38deb 100644
--- a/package/syslog-ng/syslog-ng.mk
+++ b/package/syslog-ng/syslog-ng.mk
@@ -105,11 +105,8 @@ endef
# By default syslog-ng installs a .service that requires a config file at
# /etc/default, so provide one with the default values.
define SYSLOG_NG_INSTALL_INIT_SYSTEMD
- $(INSTALL) -m 0644 -D package/syslog-ng/syslog-ng at default \
- $(TARGET_DIR)/etc/default/syslog-ng at default
- mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants
- ln -sf ../../../../usr/lib/systemd/system/syslog-ng at .service \
- $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/syslog-ng at default.service
+ mkdir $(TARGET_DIR)/usr/lib/systemd/system/syslog-ng at .service.d;\
+ printf '[Install]\nDefaultInstance=default\n' > $(TARGET_DIR)/usr/lib/systemd/system/syslog-ng at .service.d/buildroot-default-instance.conf;
endef
# By default syslog-ng installs a number of sample configuration
--
2.24.0
^ permalink raw reply related [flat|nested] 18+ messages in thread
* [Buildroot] [PATCH v4 12/13] package/rauc: add a WantedBy section to the unit
2019-12-12 7:53 [Buildroot] [PATCH v4 00/13] use host-systemd to enable units Jérémy Rosen
` (10 preceding siblings ...)
2019-12-12 7:53 ` [Buildroot] [PATCH v4 11/13] package/syslog-ng: implement default using DefaultInstance Jérémy Rosen
@ 2019-12-12 7:53 ` Jérémy Rosen
2019-12-12 7:54 ` [Buildroot] [PATCH v4 13/13] package/alsa-utils: " Jérémy Rosen
2019-12-12 10:14 ` [Buildroot] [PATCH v4 00/13] use host-systemd to enable units Thomas Petazzoni
13 siblings, 0 replies; 18+ messages in thread
From: Jérémy Rosen @ 2019-12-12 7:53 UTC (permalink / raw)
To: buildroot
upstream-provided service has no WantedBy, which means that rauc won't
be enabled by default
Add a WantedBy instead of manually creating the symlink so the user can
enable/disable the unit properly
Signed-off-by: J?r?my Rosen <jeremy.rosen@smile.fr>
---
package/rauc/rauc.mk | 5 ++---
1 file changed, 2 insertions(+), 3 deletions(-)
diff --git a/package/rauc/rauc.mk b/package/rauc/rauc.mk
index f3434e9c9a..7b35154f56 100644
--- a/package/rauc/rauc.mk
+++ b/package/rauc/rauc.mk
@@ -31,9 +31,8 @@ RAUC_DEPENDENCIES += systemd
endif
define RAUC_INSTALL_INIT_SYSTEMD
- mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants
- ln -sf ../../../../lib/systemd/system/rauc.service \
- $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/rauc.service
+ mkdir $(TARGET_DIR)/usr/lib/systemd/system/rauc.service.d;\
+ printf '[Install]\nWantedBy=multi-user.target\n' > $(TARGET_DIR)/usr/lib/systemd/system/rauc.service.d/buildroot-enable.conf;
endef
HOST_RAUC_DEPENDENCIES = \
--
2.24.0
^ permalink raw reply related [flat|nested] 18+ messages in thread
* [Buildroot] [PATCH v4 13/13] package/alsa-utils: add a WantedBy section to the unit
2019-12-12 7:53 [Buildroot] [PATCH v4 00/13] use host-systemd to enable units Jérémy Rosen
` (11 preceding siblings ...)
2019-12-12 7:53 ` [Buildroot] [PATCH v4 12/13] package/rauc: add a WantedBy section to the unit Jérémy Rosen
@ 2019-12-12 7:54 ` Jérémy Rosen
2019-12-12 10:14 ` [Buildroot] [PATCH v4 00/13] use host-systemd to enable units Thomas Petazzoni
13 siblings, 0 replies; 18+ messages in thread
From: Jérémy Rosen @ 2019-12-12 7:54 UTC (permalink / raw)
To: buildroot
This allows the user to enable/disable manually the unit.
It is enabled by default
Signed-off-by: J?r?my Rosen <jeremy.rosen@smile.fr>
---
package/alsa-utils/alsa-utils.mk | 9 ++++-----
1 file changed, 4 insertions(+), 5 deletions(-)
diff --git a/package/alsa-utils/alsa-utils.mk b/package/alsa-utils/alsa-utils.mk
index 52022e32ab..84f6db3784 100644
--- a/package/alsa-utils/alsa-utils.mk
+++ b/package/alsa-utils/alsa-utils.mk
@@ -90,11 +90,10 @@ define ALSA_UTILS_INSTALL_INIT_SYSTEMD
$(TARGET_DIR)/usr/lib/systemd/system/alsa-restore.service
$(INSTALL) -D -m 0644 $(@D)/alsactl/alsa-state.service \
$(TARGET_DIR)/usr/lib/systemd/system/alsa-state.service
- mkdir -p $(TARGET_DIR)/etc/systemd/system/sound.target.wants
- ln -sf ../../../../lib/systemd/system/alsa-restore.service \
- $(TARGET_DIR)/etc/systemd/system/sound.target.wants/alsa-restore.service
- ln -sf ../../../../lib/systemd/system/alsa-state.service \
- $(TARGET_DIR)/etc/systemd/system/sound.target.wants/alsa-state.service
+ mkdir $(TARGET_DIR)/usr/lib/systemd/system/alsa-restore.service.d;\
+ printf '[Install]\nWantedBy=multi-user.target\n' > $(TARGET_DIR)/usr/lib/systemd/system/alsa-restore.service.d/buildroot-enable.conf;\
+ mkdir $(TARGET_DIR)/usr/lib/systemd/system/alsa-state.service.d;\
+ printf '[Install]\nWantedBy=multi-user.target\n' > $(TARGET_DIR)/usr/lib/systemd/system/alsa-state.service.d/buildroot-enable.conf;
endef
endif
--
2.24.0
^ permalink raw reply related [flat|nested] 18+ messages in thread
* [Buildroot] [PATCH v4 00/13] use host-systemd to enable units
2019-12-12 7:53 [Buildroot] [PATCH v4 00/13] use host-systemd to enable units Jérémy Rosen
` (12 preceding siblings ...)
2019-12-12 7:54 ` [Buildroot] [PATCH v4 13/13] package/alsa-utils: " Jérémy Rosen
@ 2019-12-12 10:14 ` Thomas Petazzoni
13 siblings, 0 replies; 18+ messages in thread
From: Thomas Petazzoni @ 2019-12-12 10:14 UTC (permalink / raw)
To: buildroot
Hello J?r?my,
I have a very minor comment, no need to resend just for that: I'd like
the commit titles to be a bit nicer. See below for some suggestions.
On Thu, 12 Dec 2019 08:53:47 +0100
J?r?my Rosen <jeremy.rosen@smile.fr> wrote:
> J?r?my Rosen (13):
> new recipe : host-systemd
Should be:
package/systemd: add host variant
> use host-systemctl preset all to enable units
package/systemd: use host-systemctl preset-all to enable units
> fix tty handling
package/systemd: fix tty handling
> fix trivial packages with buildroot-provided services
package: rely on systemctl preset-all for buildroot-provided services
> fix trivial cases, upstream-provided services
package: rely on systemctl preset-all for upstream-provided services
> package/connman: adapt to preset-all
package/commman: adapt to systemctl preset-all
> package/linuxptp adapt to preset-all
> package/network-manager: adapt to preset-all
> package/wpa_supplicant: adapt for preset-all
Ditto for those ones.
> package/sysrepo: update to new systemd
> package/syslog-ng: implement default using DefaultInstance
> package/rauc: add a WantedBy section to the unit
> package/alsa-utils: add a WantedBy section to the unit
In those last three ones, perhaps have "systemd" somewhere in the
commit title.
Thanks,
Thomas
--
Thomas Petazzoni, CTO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com
^ permalink raw reply [flat|nested] 18+ messages in thread
* [Buildroot] [PATCH v4 01/13] new recipe : host-systemd
2019-12-12 7:53 ` [Buildroot] [PATCH v4 01/13] new recipe : host-systemd Jérémy Rosen
@ 2019-12-12 10:19 ` Thomas Petazzoni
2019-12-12 10:35 ` Jérémy ROSEN
2019-12-12 17:31 ` Yann E. MORIN
0 siblings, 2 replies; 18+ messages in thread
From: Thomas Petazzoni @ 2019-12-12 10:19 UTC (permalink / raw)
To: buildroot
Hello,
Thanks for this work, very useful!
On Thu, 12 Dec 2019 08:53:48 +0100
J?r?my Rosen <jeremy.rosen@smile.fr> wrote:
> diff --git a/package/systemd/Config.in b/package/systemd/Config.in
> index 8f1d6fc0c0..81761b33a4 100644
> --- a/package/systemd/Config.in
> +++ b/package/systemd/Config.in
> @@ -199,7 +199,6 @@ config BR2_PACKAGE_SYSTEMD_HOSTNAMED
> config BR2_PACKAGE_SYSTEMD_HWDB
> bool "enable hwdb installation"
> default y
> - select BR2_PACKAGE_HOST_EUDEV # for udevadm, during target-finalize
> help
> Enables hardware database installation to /usr/lib/udev/hwdb.d
>
> diff --git a/package/systemd/Config.in.host b/package/systemd/Config.in.host
> new file mode 100644
> index 0000000000..219f24239e
> --- /dev/null
> +++ b/package/systemd/Config.in.host
> @@ -0,0 +1,3 @@
> +# Select this if you need host systemd tools (e.g. systemctl)
> +config BR2_PACKAGE_HOST_SYSTEMD
> + bool
> diff --git a/package/systemd/systemd.mk b/package/systemd/systemd.mk
> index a292a7512b..ad16b58ceb 100644
> --- a/package/systemd/systemd.mk
> +++ b/package/systemd/systemd.mk
> @@ -204,6 +204,11 @@ endif
>
> ifeq ($(BR2_PACKAGE_SYSTEMD_HWDB),y)
> SYSTEMD_CONF_OPTS += -Dhwdb=true
> +define SYSTEMD_BUILD_HWDB
> + $(HOST_DIR)/bin/udevadm hwdb --update --root $(TARGET_DIR)
> +endef
I think this change could be a separate patch, no? Or is the udevadm
binary installed by host-systemd conflicting with the one installed by
host-eudev ?
Should be explained in the commit log.
> +SYSTEMD_TARGET_FINALIZE_HOOKS += SYSTEMD_BUILD_HWDB
> +
> else
> SYSTEMD_CONF_OPTS += -Dhwdb=false
> endif
> @@ -551,3 +556,96 @@ SYSTEMD_CONF_ENV = $(HOST_UTF8_LOCALE_ENV)
> SYSTEMD_NINJA_ENV = $(HOST_UTF8_LOCALE_ENV)
>
> $(eval $(meson-package))
We normally have both meson-package and host-meson-package macro
invocations at the end of .mk files.
> +#
> +# Host-systemd configuration
> +#
> +#Options tweaked for buildroot
> +HOST_SYSTEMD_CONF_OPTS= \
> + -Dsplit-bin=true \
> + -Dsplit-usr=false \
> + --prefix=/usr \
This should really be:
--prefix=$(HOST_DIR)
> + --libdir=lib \
> + --sysconfdir=/etc \
> + --localstatedir=/var
But in fact, all these options are already passed by the
host-meson-package infrastructure. Why are you overriding them ?
> +#disable everything else
Space after #
> +HOST_SYSTEMD_CONF_OPTS+= \
Space before +=
> +HOST_SYSTEMD_DEPENDENCIES = \
> + host-util-linux \
> + host-patchelf \
> + host-libcap \
> + host-gperf
> +
> +# Fix RPATH After installation
> +# * systemd provides a install_rpath instruction to meson because the binaries need to link with
> +# libsystemd which is not in a standard path
> +# * meson can only replace the RPATH, not append to it
> +# * the original rpatch is thus lost.
rpatch -> rpath
> +# * the original path had been tweaked by buildroot vial LD_FLAGS to add $(HOST_DIR)/lib
vial -> via
LD_FLAGS -> LDFLAGS
> +# * thus re-tweak rpath after the installation for all binaries that need it
I must admit I don't really understand what's going on here. Can't you
simply do something like this:
HOST_SYSTEMD_CONF_ENV = \
LDFLAGS="$(HOST_LDFLAGS) -Wl,-rpath,$(HOST_DIR)/lib/systemd"
and that's it ?
> +#buildroot detects incorrect RPATH, so adding new binaries should be safe (it won't compile
> +#unless properly integrated).
Space after #, and lines are too long.
> +HOST_SYSTEMD_HOST_TOOLS = \
> + systemd-analyze systemd-mount systemctl udevadm
> +
> +define HOST_SYSTEMD_FIX_RPATH
> + $(foreach f,$(HOST_SYSTEMD_HOST_TOOLS), \
> + $(HOST_DIR)/bin/patchelf --set-rpath $(HOST_DIR)/lib:$(HOST_DIR)/lib/systemd $(HOST_DIR)/bin/$(f)
> + )
> +endef
> +
> +HOST_SYSTEMD_POST_INSTALL_HOOKS += HOST_SYSTEMD_FIX_RPATH
> +HOST_SYSTEMD_NINJA_ENV = DESTDIR=$(HOST_DIR)
With the correct --prefix=$(HOST_DIR) passed by the default
host-meson-package infrastructure, this DESTDIR=$(HOST_DIR) should no
longer be necessary.
Thanks!
Thomas
--
Thomas Petazzoni, CTO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com
^ permalink raw reply [flat|nested] 18+ messages in thread
* [Buildroot] [PATCH v4 01/13] new recipe : host-systemd
2019-12-12 10:19 ` Thomas Petazzoni
@ 2019-12-12 10:35 ` Jérémy ROSEN
2019-12-12 17:31 ` Yann E. MORIN
1 sibling, 0 replies; 18+ messages in thread
From: Jérémy ROSEN @ 2019-12-12 10:35 UTC (permalink / raw)
To: buildroot
Le jeu. 12 d?c. 2019 ? 11:19, Thomas Petazzoni <thomas.petazzoni@bootlin.com>
a ?crit :
>
> > ifeq ($(BR2_PACKAGE_SYSTEMD_HWDB),y)
> > SYSTEMD_CONF_OPTS += -Dhwdb=true
> > +define SYSTEMD_BUILD_HWDB
> > + $(HOST_DIR)/bin/udevadm hwdb --update --root $(TARGET_DIR)
> > +endef
>
> I think this change could be a separate patch, no? Or is the udevadm
> binary installed by host-systemd conflicting with the one installed by
> host-eudev ?
>
> Should be explained in the commit log.
>
>
That's a matter of taste, I guess
No it doesn't conflict, i'll split in v5
> > +SYSTEMD_TARGET_FINALIZE_HOOKS += SYSTEMD_BUILD_HWDB
> > +
> > else
> > SYSTEMD_CONF_OPTS += -Dhwdb=false
> > endif
> > @@ -551,3 +556,96 @@ SYSTEMD_CONF_ENV = $(HOST_UTF8_LOCALE_ENV)
> > SYSTEMD_NINJA_ENV = $(HOST_UTF8_LOCALE_ENV)
> >
> > $(eval $(meson-package))
>
> We normally have both meson-package and host-meson-package macro
> invocations at the end of .mk files.
>
>
Ok, I wanted to separate the host and target part clearly, but i'll follow
proper styling
> > +#
> > +# Host-systemd configuration
> > +#
> > +#Options tweaked for buildroot
> > +HOST_SYSTEMD_CONF_OPTS= \
> > + -Dsplit-bin=true \
> > + -Dsplit-usr=false \
> > + --prefix=/usr \
>
> This should really be:
>
> --prefix=$(HOST_DIR)
>
>
No... upstream does not user --prefix properly and we are force to set it
to /usr
even if HOST_DIR would make more sense.
I'll discuss this more in depth in the commit log
> > + --libdir=lib \
> > + --sysconfdir=/etc \
> > + --localstatedir=/var
>
> But in fact, all these options are already passed by the
> host-meson-package infrastructure. Why are you overriding them ?
>
>
it's probably a bit overkill, but these need to be set to the same value as
the target, not the ones provided by the host
It's a bit complex to follow because upstream does not understand the
concept of cross-tool correctly so we might build
a systemctl that does the right thing for the host instead of doing the
right thing for the target
> > +#disable everything else
>
> Space after #
>
> ok
> > +HOST_SYSTEMD_CONF_OPTS+= \
>
> Space before +=
>
> ok
>
> > +HOST_SYSTEMD_DEPENDENCIES = \
> > + host-util-linux \
> > + host-patchelf \
> > + host-libcap \
> > + host-gperf
> > +
> > +# Fix RPATH After installation
> > +# * systemd provides a install_rpath instruction to meson because the
> binaries need to link with
> > +# libsystemd which is not in a standard path
> > +# * meson can only replace the RPATH, not append to it
> > +# * the original rpatch is thus lost.
>
> rpatch -> rpath
>
>
darn me typing to fast
> > +# * the original path had been tweaked by buildroot vial LD_FLAGS to
> add $(HOST_DIR)/lib
>
> vial -> via
>
> ditto
> LD_FLAGS -> LDFLAGS
>
> > +# * thus re-tweak rpath after the installation for all binaries that
> need it
>
> I must admit I don't really understand what's going on here. Can't you
> simply do something like this:
>
> HOST_SYSTEMD_CONF_ENV = \
> LDFLAGS="$(HOST_LDFLAGS) -Wl,-rpath,$(HOST_DIR)/lib/systemd"
>
> and that's it ?
>
>
No.. that's already what is done by host-package-meson but meson+systemd
breaks that.
Meson does not support using -rpath in LDFLAGS. It will rewrite the rpath
at the end of the
build using the information it has, but that does not include parsing the
ENV var and directly
understanding the linker flags.
Normally, everything should be alright since systemd tells meson about
libsystemd's location *
through meson conf files. meson would user systemd's instructions and
combine it with the
--prefix option to rewrite rpath correctly.
However systemd does not handle --prefix correctly (it hardcodes lots of
stuff in its build system based
on --prefix) so --prefix can either be empty or point to /usr. (this is
heavily linked to the split-usr problem)
Because of that, meson will erase our LDFLAGS provided rpath but won't
rewrite them correctly.
I have spent quite some time with Yann at Lyon looking for a way around,
and this seems the best one
until upstream deals correctly with --prefix.
I tried to be both concise and clear in my comment in the .mk (since i'm
pretty sure this is where
future contributors will stumble) but apparently i'm not there yet :)
> > +#buildroot detects incorrect RPATH, so adding new binaries should be
> safe (it won't compile
> > +#unless properly integrated).
>
> Space after #, and lines are too long.
>
> > +HOST_SYSTEMD_HOST_TOOLS = \
> > + systemd-analyze systemd-mount systemctl udevadm
> > +
> > +define HOST_SYSTEMD_FIX_RPATH
> > + $(foreach f,$(HOST_SYSTEMD_HOST_TOOLS), \
> > + $(HOST_DIR)/bin/patchelf --set-rpath
> $(HOST_DIR)/lib:$(HOST_DIR)/lib/systemd $(HOST_DIR)/bin/$(f)
> > + )
> > +endef
> > +
> > +HOST_SYSTEMD_POST_INSTALL_HOOKS += HOST_SYSTEMD_FIX_RPATH
> > +HOST_SYSTEMD_NINJA_ENV = DESTDIR=$(HOST_DIR)
>
> With the correct --prefix=$(HOST_DIR) passed by the default
> host-meson-package infrastructure, this DESTDIR=$(HOST_DIR) should no
> longer be necessary.
>
>
see my comment above
Thx for the review... I'll wait a bit and send a v5 integrating all your
remarks
> Thanks!
>
> Thomas
> --
> Thomas Petazzoni, CTO, Bootlin
> Embedded Linux and Kernel engineering
> https://bootlin.com
>
--
[image: SMILE] <http://www.smile.eu/>
20 rue des Jardins
92600 Asni?res-sur-Seine
*J?r?my ROSEN*
Architecte technique
[image: email] jeremy.rosen at smile.fr
[image: phone] +33 6 88 25 87 42
[image: url] http://www.smile.eu
[image: Twitter] <https://twitter.com/GroupeSmile> [image: Facebook]
<https://www.facebook.com/smileopensource> [image: LinkedIn]
<https://www.linkedin.com/company/smile> [image: Github]
<https://github.com/Smile-SA>
[image: D?couvrez l?univers Smile, rendez-vous sur smile.eu]
<https://www.smile.eu/fr/publications/livres-blancs/yocto?utm_source=signature&utm_medium=email&utm_campaign=signature>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.busybox.net/pipermail/buildroot/attachments/20191212/bf57adfc/attachment.html>
^ permalink raw reply [flat|nested] 18+ messages in thread
* [Buildroot] [PATCH v4 01/13] new recipe : host-systemd
2019-12-12 10:19 ` Thomas Petazzoni
2019-12-12 10:35 ` Jérémy ROSEN
@ 2019-12-12 17:31 ` Yann E. MORIN
1 sibling, 0 replies; 18+ messages in thread
From: Yann E. MORIN @ 2019-12-12 17:31 UTC (permalink / raw)
To: buildroot
J?r?my, Thomas,All,
On 2019-12-12 11:19 +0100, Thomas Petazzoni spake thusly:
> On Thu, 12 Dec 2019 08:53:48 +0100
> J?r?my Rosen <jeremy.rosen@smile.fr> wrote:
[--SNIP--]
> > diff --git a/package/systemd/systemd.mk b/package/systemd/systemd.mk
> > index a292a7512b..ad16b58ceb 100644
> > --- a/package/systemd/systemd.mk
> > +++ b/package/systemd/systemd.mk
> > @@ -204,6 +204,11 @@ endif
> >
> > ifeq ($(BR2_PACKAGE_SYSTEMD_HWDB),y)
> > SYSTEMD_CONF_OPTS += -Dhwdb=true
> > +define SYSTEMD_BUILD_HWDB
> > + $(HOST_DIR)/bin/udevadm hwdb --update --root $(TARGET_DIR)
> > +endef
>
> I think this change could be a separate patch, no? Or is the udevadm
> binary installed by host-systemd conflicting with the one installed by
> host-eudev ?
>
> Should be explained in the commit log.
I think this change should go in current patch 2, where systemd is made
dependent on host-systemd, which indeed installs its own udevadm which
would conflict with the one from host-eudev.
[--SNIP--]
> > +# Host-systemd configuration
> > +#
> > +#Options tweaked for buildroot
> > +HOST_SYSTEMD_CONF_OPTS= \
> > + -Dsplit-bin=true \
> > + -Dsplit-usr=false \
> > + --prefix=/usr \
>
> This should really be:
>
> --prefix=$(HOST_DIR)
>
> > + --libdir=lib \
> > + --sysconfdir=/etc \
> > + --localstatedir=/var
>
> But in fact, all these options are already passed by the
> host-meson-package infrastructure. Why are you overriding them ?
[--SNIP--]
> > +# * thus re-tweak rpath after the installation for all binaries that need it
> I must admit I don't really understand what's going on here. Can't you
> simply do something like this:
>
> HOST_SYSTEMD_CONF_ENV = \
> LDFLAGS="$(HOST_LDFLAGS) -Wl,-rpath,$(HOST_DIR)/lib/systemd"
>
> and that's it ?
For the records, here are the explanations I provided on IRC.
The first question is: why do we use --prefix=/usr ?
systemd will store its --prefix in all the executables it generates. As
such, systemctl will have a hardcoded 'prefix', where it will manipulate
and create files/symlinks in. When called natively, this is nice and
shinny.
However, for cross-setup, that does not work obviously.
So, systemd has its tools know about the 'root' directory where this
prefix should be related to. We can call systemctl --root=$(TARGET_DIR)
and systemctl wil do the links and such in there.
However, it does so by appending its known prefix to it.
So, if we were to configure host-systemd as we usually do, with
--prefix=$(HOST_DIR), then when we would call host systemctl --root=$(TARGET_DIR)
it would look for files in $(TARGET_DIR)/$(HOST_DIR), which is wrong.
Calling the host systemctl without --root is also wrong, as it would look for
files in $(HOST_DIR)
So, there is no satisfying official support for this case.
The trick then, is to configure systemd with the prefix it would expect
at runtime (on the target!), that is with /usr, but install out-of-tree.
That was it for the first part of the question: why do we use --prefix.
Now, the second question is: why do we need to muck up with the rpath
after installation?
Well, this boils down to meson (and not systemd itself). When it
installs executables, meson will handily insert whatever rpath the
package meson.build would tell it to use. systemd installs libs in
$(prefix)/lib/systemd and as a NEEDED to those libs, so it uses an RPATH
to find those libs, and meson does introduce that RPATH.
However, we Buildroot also want to insert our own RPATH, because systemd
uses util-linux' libs and libcap, so it needs our RPATH.
However, meson can not extend the RPATH from the LDFLAGS in the
environment; meson can only set the RPATH from what it knows about from
the package's meson.build.
That, in addition to the --prefix=/usr issue above, means that the
executables installed by host-systemd have an RPATH set to
/usr/lib/systemd. when we would want it to be set to
$(HOST_DIR)/lib:$(HOST_DIR)/lib/systemd
That;s what is done in the post-install hook: set the RPATH to the
appropriate values.
[--SNIP--]
> > +HOST_SYSTEMD_POST_INSTALL_HOOKS += HOST_SYSTEMD_FIX_RPATH
> > +HOST_SYSTEMD_NINJA_ENV = DESTDIR=$(HOST_DIR)
> With the correct --prefix=$(HOST_DIR) passed by the default
> host-meson-package infrastructure, this DESTDIR=$(HOST_DIR) should no
> longer be necessary.
Alas, this is not possible... :-(
Regards,
Yann E. MORIN.
--
.-----------------.--------------------.------------------.--------------------.
| Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ |
| +33 561 099 427 `------------.-------: X AGAINST | \e/ There is no |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. |
'------------------------------^-------^------------------^--------------------'
^ permalink raw reply [flat|nested] 18+ messages in thread
end of thread, other threads:[~2019-12-12 17:31 UTC | newest]
Thread overview: 18+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2019-12-12 7:53 [Buildroot] [PATCH v4 00/13] use host-systemd to enable units Jérémy Rosen
2019-12-12 7:53 ` [Buildroot] [PATCH v4 01/13] new recipe : host-systemd Jérémy Rosen
2019-12-12 10:19 ` Thomas Petazzoni
2019-12-12 10:35 ` Jérémy ROSEN
2019-12-12 17:31 ` Yann E. MORIN
2019-12-12 7:53 ` [Buildroot] [PATCH v4 02/13] use host-systemctl preset all to enable units Jérémy Rosen
2019-12-12 7:53 ` [Buildroot] [PATCH v4 03/13] fix tty handling Jérémy Rosen
2019-12-12 7:53 ` [Buildroot] [PATCH v4 04/13] fix trivial packages with buildroot-provided services Jérémy Rosen
2019-12-12 7:53 ` [Buildroot] [PATCH v4 05/13] fix trivial cases, upstream-provided services Jérémy Rosen
2019-12-12 7:53 ` [Buildroot] [PATCH v4 06/13] package/connman: adapt to preset-all Jérémy Rosen
2019-12-12 7:53 ` [Buildroot] [PATCH v4 07/13] package/linuxptp " Jérémy Rosen
2019-12-12 7:53 ` [Buildroot] [PATCH v4 08/13] package/network-manager: " Jérémy Rosen
2019-12-12 7:53 ` [Buildroot] [PATCH v4 09/13] package/wpa_supplicant: adapt for preset-all Jérémy Rosen
2019-12-12 7:53 ` [Buildroot] [PATCH v4 10/13] package/sysrepo: update to new systemd Jérémy Rosen
2019-12-12 7:53 ` [Buildroot] [PATCH v4 11/13] package/syslog-ng: implement default using DefaultInstance Jérémy Rosen
2019-12-12 7:53 ` [Buildroot] [PATCH v4 12/13] package/rauc: add a WantedBy section to the unit Jérémy Rosen
2019-12-12 7:54 ` [Buildroot] [PATCH v4 13/13] package/alsa-utils: " Jérémy Rosen
2019-12-12 10:14 ` [Buildroot] [PATCH v4 00/13] use host-systemd to enable units Thomas Petazzoni
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox