diff options
| author | Michael Biebl <biebl@debian.org> | 2025-08-01 19:15:18 +0200 |
|---|---|---|
| committer | Michael Biebl <biebl@debian.org> | 2025-08-01 19:15:18 +0200 |
| commit | 43a9f1ee48d7f7b9f4447e9fe17a4274c6fad67f (patch) | |
| tree | 5f570d79dfc6eb4c736b708a99b3b2e5ed7608d1 /data | |
| parent | e0a3970cd0ea64b36773deae96366bbe7d1efbee (diff) | |
| parent | 7e9091a5960f67a84787c03153324915220e4816 (diff) | |
Update upstream source from tag 'upstream/1.54.0'
Update to upstream version '1.54.0' with Debian dir efd253369d835d8f9c404eef4f97d88deb9625fe
Diffstat (limited to 'data')
| -rw-r--r-- | data/NetworkManager-config-initrd.service.in | 27 | ||||
| -rw-r--r-- | data/NetworkManager-initrd.service.in | 32 | ||||
| -rw-r--r-- | data/NetworkManager-wait-online-initrd.service.in | 26 | ||||
| -rw-r--r-- | data/meson.build | 3 | ||||
| -rw-r--r-- | data/nm-priv-helper.service.in | 4 |
5 files changed, 90 insertions, 2 deletions
diff --git a/data/NetworkManager-config-initrd.service.in b/data/NetworkManager-config-initrd.service.in new file mode 100644 index 00000000..4baf0f64 --- /dev/null +++ b/data/NetworkManager-config-initrd.service.in @@ -0,0 +1,27 @@ +[Unit] +Description=NetworkManager Configuration (initrd) +DefaultDependencies=no +Wants=systemd-journald.socket +After=systemd-journald.socket +Before=systemd-udevd.service systemd-udev-trigger.service +ConditionPathExists=/etc/initrd-release + +[Service] +Type=oneshot +ExecStartPre=/bin/sh -c "rm -f /run/NetworkManager/system-connections/*" +ExecStart=/bin/sh -c "@libexecdir@/nm-initrd-generator -- $(cat /proc/cmdline)" +ExecStartPost=/bin/sh -c ' \ + for i in /{usr/lib,run,etc}/NetworkManager/system-connections/*; do \ + [ -f "$i" ] || continue; \ + mkdir -p /run/NetworkManager/initrd; \ + : > /run/NetworkManager/initrd/neednet; \ + break; \ + done; \ + if [ -s /run/NetworkManager/initrd/hostname ]; then \ + cat /run/NetworkManager/initrd/hostname > /proc/sys/kernel/hostname; \ + fi \ +' +RemainAfterExit=yes + +[Install] +WantedBy=initrd.target diff --git a/data/NetworkManager-initrd.service.in b/data/NetworkManager-initrd.service.in new file mode 100644 index 00000000..aef73a57 --- /dev/null +++ b/data/NetworkManager-initrd.service.in @@ -0,0 +1,32 @@ +[Unit] +Description=NetworkManager (initrd) +DefaultDependencies=no +Wants=systemd-udev-trigger.service network.target +After=systemd-udev-trigger.service network-pre.target dbus.service NetworkManager-config-initrd.service +Before=network.target +BindsTo=dbus.service +ConditionPathExists=/etc/initrd-release +ConditionPathExists=/run/NetworkManager/initrd/neednet +ConditionPathExistsGlob=|/usr/lib/NetworkManager/system-connections/* +ConditionPathExistsGlob=|/run/NetworkManager/system-connections/* +ConditionPathExistsGlob=|/etc/NetworkManager/system-connections/* + +[Service] +Type=dbus +BusName=org.freedesktop.NetworkManager +ExecReload=/usr/bin/busctl call org.freedesktop.NetworkManager /org/freedesktop/NetworkManager org.freedesktop.NetworkManager Reload u 0 +ExecStart=@sbindir@/NetworkManager +# NM doesn't want systemd to kill its children for it +KillMode=process +Environment=NM_CONFIG_ENABLE_TAG=initrd +Restart=on-failure +ProtectSystem=true +ProtectHome=read-only + +[Install] +WantedBy=initrd.target +# We want to enable NetworkManager-wait-online-initrd.service whenever this +# service is enabled. NetworkManager-wait-online-initrd.service has +# WantedBy=network-online.target, so enabling it only has an effect if +# network-online.target itself is enabled or pulled in by some other unit. +Also=NetworkManager-config-initrd.service NetworkManager-wait-online-initrd.service diff --git a/data/NetworkManager-wait-online-initrd.service.in b/data/NetworkManager-wait-online-initrd.service.in new file mode 100644 index 00000000..da4a2522 --- /dev/null +++ b/data/NetworkManager-wait-online-initrd.service.in @@ -0,0 +1,26 @@ +[Unit] +Description=NetworkManager Wait Online (initrd) +DefaultDependencies=no +Requires=NetworkManager-initrd.service +After=NetworkManager-initrd.service +Before=network-online.target +ConditionPathExists=/etc/initrd-release +ConditionPathExists=/run/NetworkManager/initrd/neednet + +[Service] +# `nm-online -s` waits until the point when NetworkManager logs +# "startup complete". That is when startup actions are settled and +# devices and profiles reached a conclusive activated or deactivated +# state. It depends on which profiles are configured to autoconnect and +# also depends on profile settings like ipv4.may-fail/ipv6.may-fail, +# which affect when a profile is considered fully activated. +# Check NetworkManager logs to find out why wait-online takes a certain +# time. + +Type=oneshot +ExecStart=@bindir@/nm-online -s -q +RemainAfterExit=yes +Environment=NM_ONLINE_TIMEOUT=3600 + +[Install] +WantedBy=initrd.target network-online.target diff --git a/data/meson.build b/data/meson.build index facdab8d..b77bf434 100644 --- a/data/meson.build +++ b/data/meson.build @@ -13,6 +13,9 @@ if install_systemdunitdir 'NetworkManager.service', 'nm-priv-helper.service', 'NetworkManager-wait-online.service', + 'NetworkManager-config-initrd.service', + 'NetworkManager-initrd.service', + 'NetworkManager-wait-online-initrd.service', ] foreach service: services diff --git a/data/nm-priv-helper.service.in b/data/nm-priv-helper.service.in index 7b083bbb..d4ff25d9 100644 --- a/data/nm-priv-helper.service.in +++ b/data/nm-priv-helper.service.in @@ -2,8 +2,8 @@ Description=NetworkManager Privileged Helper # -# nm-priv-helper exists for privilege separation. It allows to run -# NetworkManager without certain capabilities, and ask nm-priv-helper +# nm-priv-helper exists for privilege separation. It allows NetworkManager +# to run without certain capabilities, and ask nm-priv-helper # for special operations where more privileges are required. # |