nixpkgs/pkgs/os-specific/linux/systemd/0005-Add-some-NixOS-specific-unit-directories.patch
Florian Klink 6c5e621bad systemd: 246 -> 246.4
This bumps systemd to the latest stable maintenance release.

 - dc2e82af33 core: create per-user inaccessible node from the service manager
 - 0b3c497347 nspawn,pid1: pass "inaccessible" nodes from cntr mgr to pid1 payload via /run/host
 - 2239965c29 coredump: don't convert s → µs twice
 - 61d29b7f8c firstboot: fill empty color if ansi_color unavailable from os-release
 - 9678a3daf6 varlink: do not parse invalid messages twice
 - 4e516dcbc1 userdbctl: add forgotten --output mode in help
 - aee20dfbd8 shared/{user,group}-record-nss: adjust filtering of "valid" passwords
 - 5933d77afe doc: cross link sd_listen_fd() docs a bit
 - 97fdde3239 Rework how we cache mtime to figure out if units changed
 - 0500968241 core: always try to reload not-found unit
 - 8ae22f0d64 pid1: use the cache mtime not clock to "mark" load attempts
 - 715507c277 core: rename manager_unit_file_maybe_loadable_from_cache()
 - 20ad76d0a7 man: document fd ownership for sd-bus fd marshalling
 - 38ae73fafd resolved: make sure we initialize t->answer_errno before completing the transaction
 - a1ba0fbef6 homed: fix log message to honor real homework path
 - d6b1e659b3 src/shared/dissect-image.c: fix build without blkdid (#16901)
 - e42f9add21 analyze: fix error handling in one case
 - 4804ce1488 units: add missing usb-gadget.target
 - 5ad4e68c37 man: extend on the usec/sec discrepancy
 - 2fb612371d login/logind: Include sys/stat.h for struct stat usage
 - 5e884e7ee0 partition/makefs: Include missing sys/file.h header
 - 7bbc3807da network: dhcp6: logs only new address
 - 2056429e0f Don't run test-repart when loop devices are not available
 - dcbea51c5a man: clarify that several networkctl commands takes device names
 - 16e4cfcc82 networkctl: label command does not take any argument
 - 2352921244 missing: Add new Linux capability
 - 8b29c4a4f9 tty-ask-pw-agent: properly propagate error
 - f7ce2e9839 tty-ask-pw-agent: the message string might not be set
 - 29cba5c9ef tty-ask-pw-agent: make sure "--list" works correctly
 - e1ce367d73 add "list" verb to autocompleted commands
 - 1f4cb5da1e shell-completion/zsh: add missing verbs for networkctl
 - a4236a2764 path: Improve $PATH search directory case
 - b7cef386bd path: Skip directories when finalising $PATH search
 - 122945f315 rules: don't install 80-drivers.rules when kmod is disabled
 - 42fab2d454 zsh: correct journalctl command completion parsing
 - ed3f97f962 basic/missing_syscall: fix syscall numbers for arm64 :(
 - ba6e7f7c46 shared/install: fix preset operations for non-service instantiated units
 - d39f139348 nss-resolve: treat BUS_ERROR_NO_SUCH_UNIT the same as SD_BUS_ERROR_SERVICE_UNKNOWN too
 - 9bb3e64d71 various: treat BUS_ERROR_NO_SUCH_UNIT the same as SD_BUS_ERROR_SERVICE_UNKNOWN
 - 6d802dd596 man: drop reference to long gone .busname unit type
 - a29656804b man: fix a fix of a typo in systemd.service example
 - 21ce0f5b33 network: can: Fix CAN initialization
 - cab5cde8c9 man: update autogenerated dbus api lists
 - 0d8000522b man: fix invalid tag place
 - ea94f218be man: add conditionals to more man pages
 - ef91325349 meson: add ENABLE_ANALYZE conditional
 - 83f7c0a7ec core: add missing conditions/asserts to unit file parsing
 - 716718155d analyze: rework condition testing
 - 5c4c7581bc sd-bus: fix error handling on readv()
 - 6cd058f305 user-runtime-dir: deal gracefully with missing logind properties
 - 6a2d73638d shared/seccomp: do not use ifdef guards around textual syscall names
 - 7355ac9689 machine-id-setup: don't use KVM or container manager supplied uuid if in chroot env
 - 496a71f444 man: Fix typo in systemd-tmpfiles
 - 6c5d216ad8 homework: downgrade chattr failure log message
 - 1708f06a00 homework: explicitly close cryptsetup context, to not keep loopback device busy
 - a21eaa2a3a homework: correct error passed into log message
 - 3a2d169f36 homework: sync everything to disk before we rename LUKS loopback file into place
 - 84e1ab74d2 homed: downgrade quota message in containers
 - 8b62cadf36 analyze-security: do not assign badness to filtered-out syscalls
 - 29854a5437 NEWS: clarify two points
 - 4cb4fb82f7 meson: add min version for libfdisk
 - 76331f86f6 load-fragment: fix grammar in error messages
 - 1e53c2d70f Fix function description in logind man page
 - 669066564d network: do not fail if UseMTU=yes on DHCP lease lost
 - a2a3f16cdc missing_syscall: do not use function name that may conflict with glibc
 - 4091dcd469 missing_syscall: fix pidfd_{send_signal,open} numbers for alpha
 - 7875daf52b network: wait for previous address removal before configuring static addresses
 - 120064b4a1 network: only process non-error message
 - f44ec1de15 test: accept that char device 0/0 can now be created witout privileges
 - 946e4c43bb tools/make-man-index: fix purpose text that contains tags
 - dae0586e91 test-fs-util: skip encrypted path test if we get EACCES
 - 0d026c9b0d Newer Glibc use faccessat2 to implement faccessat
 - fde6520d46 namespace: fix minor memory leak
 - 208ba581f4 man: fix incorrectly placed full stop
 - 6c81d57828 man: fix typo
 - 53a8d2588e bless-boot: add missing verb to --help
 - 4cfa0ac4fd user-record: deal with invalid GECOS fields gracefully
 - ae5234ef48 user-util: add mangle_gecos() call for turning strings into fields suitable as GECOS fields
 - 972391ac39 fix typo in systemctl help
 - 443aacfcda man: clarify that LogNamespace= is for system services only
 - 5aec8fe54e _sd-common.h: avoid parsing errors with Coverity
 - f9ad4ea2ca analyze: fix 'cat-config systemd/zram-generator.conf'
 - dda6fec1df man: describe that changing Storage= does not move existing data
 - 2bbd33e476 core: reset bus error before reuse
 - b81504a3c7 nspawn: Fix incorrect usage of putenv
 - cb263973ac man: fix typo in systemd.service
 - 73b432e7ef network: fix DHCPv6 Prefix Delegation example after option rename
2020-09-12 08:31:22 +02:00

125 lines
6.4 KiB
Diff

From b46f1b20e990f01af4bdf3dd6fef45f5b4a5993e Mon Sep 17 00:00:00 2001
From: Eelco Dolstra <eelco.dolstra@logicblox.com>
Date: Fri, 19 Dec 2014 14:46:17 +0100
Subject: [PATCH 05/18] Add some NixOS-specific unit directories
Look in `/nix/var/nix/profiles/default/lib/systemd` for units provided
by packages installed into the default profile via
`nix-env -iA nixos.$package`, and into `/etc/systemd-mutable/system` for
persistent, mutable units (used for Dysnomia).
Also, remove /usr and /lib as these don't exist on NixOS.
---
src/basic/path-lookup.c | 20 +++++---------------
src/core/systemd.pc.in | 5 +++--
2 files changed, 8 insertions(+), 17 deletions(-)
diff --git a/src/basic/path-lookup.c b/src/basic/path-lookup.c
index 52968dee34..bba2eb09b8 100644
--- a/src/basic/path-lookup.c
+++ b/src/basic/path-lookup.c
@@ -94,17 +94,14 @@ int xdg_user_data_dir(char **ret, const char *suffix) {
}
static const char* const user_data_unit_paths[] = {
- "/usr/local/lib/systemd/user",
- "/usr/local/share/systemd/user",
USER_DATA_UNIT_DIR,
- "/usr/lib/systemd/user",
- "/usr/share/systemd/user",
NULL
};
static const char* const user_config_unit_paths[] = {
USER_CONFIG_UNIT_DIR,
"/etc/systemd/user",
+ "/etc/systemd-mutable/user",
NULL
};
@@ -616,15 +613,14 @@ int lookup_paths_init(
persistent_config,
SYSTEM_CONFIG_UNIT_DIR,
"/etc/systemd/system",
+ "/etc/systemd-mutable/system",
+ "/nix/var/nix/profiles/default/lib/systemd/system",
STRV_IFNOTNULL(persistent_attached),
runtime_config,
"/run/systemd/system",
STRV_IFNOTNULL(runtime_attached),
STRV_IFNOTNULL(generator),
- "/usr/local/lib/systemd/system",
SYSTEM_DATA_UNIT_PATH,
- "/usr/lib/systemd/system",
- STRV_IFNOTNULL(flags & LOOKUP_PATHS_SPLIT_USR ? "/lib/systemd/system" : NULL),
STRV_IFNOTNULL(generator_late));
break;
@@ -640,14 +636,12 @@ int lookup_paths_init(
persistent_config,
USER_CONFIG_UNIT_DIR,
"/etc/systemd/user",
+ "/etc/systemd-mutable/user",
+ "/nix/var/nix/profiles/default/lib/systemd/user",
runtime_config,
"/run/systemd/user",
STRV_IFNOTNULL(generator),
- "/usr/local/share/systemd/user",
- "/usr/share/systemd/user",
- "/usr/local/lib/systemd/user",
USER_DATA_UNIT_DIR,
- "/usr/lib/systemd/user",
STRV_IFNOTNULL(generator_late));
break;
@@ -797,7 +791,6 @@ char **generator_binary_paths(UnitFileScope scope) {
case UNIT_FILE_SYSTEM:
add = strv_new("/run/systemd/system-generators",
"/etc/systemd/system-generators",
- "/usr/local/lib/systemd/system-generators",
SYSTEM_GENERATOR_DIR);
break;
@@ -805,7 +798,6 @@ char **generator_binary_paths(UnitFileScope scope) {
case UNIT_FILE_USER:
add = strv_new("/run/systemd/user-generators",
"/etc/systemd/user-generators",
- "/usr/local/lib/systemd/user-generators",
USER_GENERATOR_DIR);
break;
@@ -844,12 +836,10 @@ char **env_generator_binary_paths(bool is_system) {
if (is_system)
add = strv_new("/run/systemd/system-environment-generators",
"/etc/systemd/system-environment-generators",
- "/usr/local/lib/systemd/system-environment-generators",
SYSTEM_ENV_GENERATOR_DIR);
else
add = strv_new("/run/systemd/user-environment-generators",
"/etc/systemd/user-environment-generators",
- "/usr/local/lib/systemd/user-environment-generators",
USER_ENV_GENERATOR_DIR);
if (!add)
diff --git a/src/core/systemd.pc.in b/src/core/systemd.pc.in
index 8424837824..b1c541bc52 100644
--- a/src/core/systemd.pc.in
+++ b/src/core/systemd.pc.in
@@ -38,10 +38,11 @@ systemdsystemconfdir=${systemd_system_conf_dir}
systemd_user_conf_dir=${sysconfdir}/systemd/user
systemduserconfdir=${systemd_user_conf_dir}
-systemd_system_unit_path=${systemd_system_conf_dir}:/etc/systemd/system:/run/systemd/system:/usr/local/lib/systemd/system:${systemd_system_unit_dir}:/usr/lib/systemd/system:/lib/systemd/system
+systemd_system_unit_path=${systemd_system_conf_dir}:/etc/systemd/system:/etc/systemd-mutable/system:/nix/var/nix/profiles/default/lib/systemd/system:/run/systemd/system:${systemdsystemunitdir}
systemdsystemunitpath=${systemd_system_unit_path}
-systemd_user_unit_path=${systemd_user_conf_dir}:/etc/systemd/user:/run/systemd/user:/usr/local/lib/systemd/user:/usr/local/share/systemd/user:${systemd_user_unit_dir}:/usr/lib/systemd/user:/usr/share/systemd/user
+systemd_user_unit_path=${systemd_user_conf_dir}:/etc/systemd/user:/etc/systemd-mutable/user:/nix/var/nix/profiles/default/lib/systemd/user:/run/systemd/user:${systemduserunitdir}
+
systemduserunitpath=${systemd_user_unit_path}
systemd_system_generator_dir=${root_prefix}/lib/systemd/system-generators
--
2.28.0