Hristo Venev [Tue, 5 Dec 2017 14:49:00 +0000 (16:49 +0200)]
networkd: fix promote_secondaries logic
The value for `default` has no influence at all.
Hristo Venev [Tue, 5 Dec 2017 14:30:43 +0000 (16:30 +0200)]
Do not set `net.ipv4.conf.default.*`
It is redundant because in these cases the values in
`net.ipv4.conf.all.*` take precedence. Also, setting the `default` does
nothing for devices that already exist.
Zbigniew Jędrzejewski-Szmek [Tue, 5 Dec 2017 11:13:17 +0000 (12:13 +0100)]
Merge pull request #7542 from yuwata/build-cleanup
several build cleanups
Zbigniew Jędrzejewski-Szmek [Tue, 5 Dec 2017 09:59:24 +0000 (10:59 +0100)]
Merge pull request #7476 from jhxie/ycm-meson-backend
ycm: add initial support for the meson build system
Zbigniew Jędrzejewski-Szmek [Tue, 5 Dec 2017 09:49:25 +0000 (10:49 +0100)]
Merge pull request #7512 from yuwata/mount-create-dir
fixes related to systemd-mount and chase_symlinks()
Yu Watanabe [Tue, 5 Dec 2017 09:34:46 +0000 (18:34 +0900)]
dissect-image: remove unused variable when built without libcryptsetup (#7538)
Boucman [Tue, 5 Dec 2017 09:20:40 +0000 (10:20 +0100)]
Print the time to reach default.target in systemd-analyze time (#7383)
Example output (last line is new):
$ systemd-analyze time
Startup finished in 12.879s (firmware) + 36.999s (loader) + 1.313s (kernel) + 22.672s (initrd) + 3min 1.755s (userspace) = 4min 15.619s
graphical.target reached after 1min 39.377s in userspace
Yu Watanabe [Tue, 5 Dec 2017 07:21:16 +0000 (16:21 +0900)]
test: increase timeout for test-async
The test calls sync(). So, on the heavy io system, the 30s default
can be easily exceeded.
Yu Watanabe [Tue, 5 Dec 2017 05:07:38 +0000 (14:07 +0900)]
execute: define the variable mac_selinux_contex_net only when build with SELinux
Yu Watanabe [Tue, 5 Dec 2017 05:04:12 +0000 (14:04 +0900)]
execute: define setup_smack() only if SMACK is enabled
This suppresses the following warning
```
execute.c:2149:12: warning: ‘setup_smack’ defined but not used [-Wunused-function]
static int setup_smack(
^~~~~~~~~~~
```
Yu Watanabe [Tue, 5 Dec 2017 05:03:11 +0000 (14:03 +0900)]
bootspec: use blkid only if HAVE_BLKID is defined
Yu Watanabe [Tue, 5 Dec 2017 05:01:39 +0000 (14:01 +0900)]
meson: fix indentation
Yu Watanabe [Mon, 4 Dec 2017 01:34:25 +0000 (10:34 +0900)]
Merge pull request #7534 from marcusfolkesson/helptext
Fix help textes for components
asavah [Mon, 4 Dec 2017 01:31:04 +0000 (03:31 +0200)]
growfs: fix building without libcrypsetup (#7535)
Lennart Poettering [Sun, 3 Dec 2017 19:57:24 +0000 (20:57 +0100)]
util-lib,tests: rework unbase64 so that we skip over whitespace automatically (#7522)
Let's optimize things a bit, and instead of having to strip whitespace
first before decoding base64, let's do that implicitly while doing so.
Given that base64 was designed the way it was designed specifically to
be tolerant to whitespace changes, it's a good idea to do this
automatically and implicitly.
Marcus Folkesson [Sun, 3 Dec 2017 17:38:18 +0000 (18:38 +0100)]
busctl: list all short options in help text
Signed-off-by: Marcus Folkesson <marcus.folkesson@gmail.com>
Marcus Folkesson [Sun, 3 Dec 2017 17:37:10 +0000 (18:37 +0100)]
journal-upload: remove duplication of --help and --version in help text
Signed-off-by: Marcus Folkesson <marcus.folkesson@gmail.com>
Marcus Folkesson [Sun, 3 Dec 2017 17:36:41 +0000 (18:36 +0100)]
stio-bridge: list all short options in help text
Signed-off-by: Marcus Folkesson <marcus.folkesson@gmail.com>
Marcus Folkesson [Sun, 3 Dec 2017 17:36:09 +0000 (18:36 +0100)]
udevadm-control: list all short options in help text
Signed-off-by: Marcus Folkesson <marcus.folkesson@gmail.com>
Marcus Folkesson [Sun, 3 Dec 2017 17:34:54 +0000 (18:34 +0100)]
udevadm-info: list all short options in help text
Signed-off-by: Marcus Folkesson <marcus.folkesson@gmail.com>
Marcus Folkesson [Sun, 3 Dec 2017 17:32:53 +0000 (18:32 +0100)]
udevd: list all short options in help text
Signed-off-by: Marcus Folkesson <marcus.folkesson@gmail.com>
Ikey Doherty [Sun, 3 Dec 2017 12:28:23 +0000 (12:28 +0000)]
sysusers: Provide meson argument to set gid for 'users' group (#7533)
To allow better integration with distributions requiring an explicitly
set gid for the `users` group, provide the new `-Dusers-gid` option to
set to a new numeric value.
In the absence of a specified gid, we'll fallback to the default existing
behaviour of `-` as the gid value, to automatically assign the next available
gid on the system.
Lennart Poettering [Sun, 3 Dec 2017 11:18:33 +0000 (12:18 +0100)]
mount-util: do not use the official MAX_HANDLE_SZ (#7523)
If we'd use the system header's version of MAX_HANDLE_SZ then our code
would break on older kernels as soon as the value is increased, as old
kernels refuse larger buffers with EINVAL.
Yu Watanabe [Thu, 30 Nov 2017 16:28:44 +0000 (01:28 +0900)]
mount: use chase_symlinks()
Yu Watanabe [Thu, 30 Nov 2017 16:27:53 +0000 (01:27 +0900)]
mount: do not require that the specified directory exists
If the specified direcotry does not exist, then systemd creates it
when the mount unit starts. So, it is not necessary to check the
existence in the client tool.
Yu Watanabe [Thu, 30 Nov 2017 08:55:04 +0000 (17:55 +0900)]
mount: ignore error when stop non-existing automount unit
The command `systemd-mount -u` tries to stop both mount and automount
units. If the corresponding mount unit does not exist, then it is
user's fault, that is, the specified path is not a mount point.
However, not all mount units have corresponding autmount units.
Thus, the error about non-existing automount unit is not user's falut,
and showing the error may confuse users.
So, let's ignore the error of such case.
Yu Watanabe [Sat, 2 Dec 2017 15:28:50 +0000 (00:28 +0900)]
test-fs-util: add more tests for chase_symlinks()
Yu Watanabe [Thu, 30 Nov 2017 17:23:53 +0000 (02:23 +0900)]
test-fs-util: save current directory name
Yu Watanabe [Thu, 30 Nov 2017 16:15:42 +0000 (01:15 +0900)]
fs-util: remove comment about non-existing function
Yu Watanabe [Thu, 30 Nov 2017 17:19:44 +0000 (02:19 +0900)]
fs-util: chase_symlinks(): remove unnecessary slash at the head
Before this, chase_symlinks("/../../foo/bar",...) returns //foo/bar.
This removes the unnecessary slash at the head.
Vito Caputo [Sat, 2 Dec 2017 00:53:38 +0000 (16:53 -0800)]
Merge pull request #7529 from vcaputo/trivial-style-fixups
*: fix some inconsistent control statement style
Vito Caputo [Sat, 2 Dec 2017 00:49:52 +0000 (16:49 -0800)]
*: fix some inconsistent control statement style
Vito Caputo [Fri, 1 Dec 2017 23:08:16 +0000 (15:08 -0800)]
Merge pull request #7528 from vcaputo/localectl-fix-indent
localectl: fix list_vconsole_keymaps() indentation
Vito Caputo [Fri, 1 Dec 2017 08:37:52 +0000 (00:37 -0800)]
localectl: fix list_vconsole_keymaps() indentation
Lukáš Nykrýn [Fri, 1 Dec 2017 19:34:49 +0000 (20:34 +0100)]
shared/dropin: ignore ENAMETOOLONG when checking drop-in directories (#7525)
This usually happens for device units with long
path in /sys. But users can't even create such drop-ins,
so lets just ignore the error here.
Fixes #6867
Lennart Poettering [Fri, 1 Dec 2017 16:58:58 +0000 (17:58 +0100)]
Merge pull request #7237 from keszybz/growfs
Create and grow filesystems
Zbigniew Jędrzejewski-Szmek [Fri, 1 Dec 2017 15:25:19 +0000 (16:25 +0100)]
NEWS: update the text a bit (#7524)
This fixes various typos, removes some duplications, and adds a bit more
detail in the few places which are potential pitfalls for users.
Also change the way the paragraphs about new options begin, because having
a paragraph saying "Two new options have been added", and then bit lower
again "Two new options have been added" is confusing.
Michael Biebl [Fri, 1 Dec 2017 12:52:32 +0000 (13:52 +0100)]
Merge pull request #7481 from poettering/bpf-test-fix
bpf-firewall: actually invoke BPF_PROG_ATTACH to check whether cgroup/bpf is available
Lennart Poettering [Fri, 1 Dec 2017 11:59:16 +0000 (12:59 +0100)]
mount-util: tape over name_to_handle_at() flakiness (#7517)
Apparently, the kernel returns EINVAL on NFS4 sometimes, even if we do
everything right, let's fallback in that case and find a different
approach to determine if something's a mount point.
See discussion at:
https://github.com/systemd/systemd/issues/7082#issuecomment-
348001289
Lennart Poettering [Fri, 1 Dec 2017 10:59:42 +0000 (11:59 +0100)]
sd-bus: validate the message type (#7520)
Now that sd_bus_message_new() is public API, we should insist on valid
message types.
Lennart Poettering [Fri, 1 Dec 2017 10:21:58 +0000 (11:21 +0100)]
systemctl: don't use get_process_comm() on non-local PIDs (#7518)
Let's not use local process data for remote processes, that can only
show nonsense.
Maybe one day we should add a bus API to query the comm field of a
process remotely, but for now, let's not bother, the information is
redundant anyway, as the cgroup data shows it too (and the cgroup tree
is show as part of status as well, and is requested from remote through
dbus, without local kernel calls).
Fixes: #7516
Zbigniew Jędrzejewski-Szmek [Fri, 1 Dec 2017 07:31:20 +0000 (08:31 +0100)]
Merge pull request #7521 from yuwata/news-236
NEWS update
Zbigniew Jędrzejewski-Szmek [Thu, 30 Nov 2017 19:54:31 +0000 (20:54 +0100)]
util-lib: handle empty string in last_path_component
Now the function returns an empty string when given an empty string.
Not sure if this is the best option (maybe this should be an error?),
but at least the behaviour is well defined.
Yu Watanabe [Thu, 30 Nov 2017 19:49:21 +0000 (04:49 +0900)]
NEWS: systemd-mount also support -G option
Yu Watanabe [Thu, 30 Nov 2017 19:48:57 +0000 (04:48 +0900)]
NEWS: fix typo
Zbigniew Jędrzejewski-Szmek [Thu, 30 Nov 2017 11:55:00 +0000 (12:55 +0100)]
man: add docs for systemd-growfs and systemd-makefs
Zbigniew Jędrzejewski-Szmek [Thu, 30 Nov 2017 11:09:36 +0000 (12:09 +0100)]
dissect-image: return error if results are ambiguous
We let the caller make the decision. Existing callers are OK with treating an
ambiguous result the same as no content, but makefs and growfs should refuse such
partitions.
Zbigniew Jędrzejewski-Szmek [Wed, 29 Nov 2017 19:02:11 +0000 (20:02 +0100)]
Add x-systemd.growfs option for fstab
Zbigniew Jędrzejewski-Szmek [Tue, 21 Nov 2017 22:18:05 +0000 (23:18 +0100)]
Add x-systemd.makefs option for fstab
I opted to completely generate a unit for both mount points and swaps. For
swaps, it would be possible to use fixed template unit like systemd-mkswap@.service,
because there's no information passed except the device name. For mount points,
that's not possible because both the device name and file system type need to
be passed. Nevertheless, I expect that options will need to passed to both mkfs
and mkswap, in which case it'll be necessary to create units of both types
anyway.
Zbigniew Jędrzejewski-Szmek [Wed, 29 Nov 2017 14:49:25 +0000 (15:49 +0100)]
fstab-generator: convert separate booleans to a flag field
It's pretty unwieldy with just three flags, and I want to add more.
Zbigniew Jędrzejewski-Szmek [Sun, 26 Nov 2017 21:51:29 +0000 (22:51 +0100)]
Add mkfs wrapper which first checks if the partition is empty
Zbigniew Jędrzejewski-Szmek [Fri, 24 Nov 2017 20:34:36 +0000 (21:34 +0100)]
growfs: add option parsing and --help/--version/--dry-run
v2:
- use arg_target
Zbigniew Jędrzejewski-Szmek [Fri, 24 Nov 2017 20:31:47 +0000 (21:31 +0100)]
shared/dissect-image: fix return value for probe_filesystem()
blkid_new_probe_from_filename() sets errno, for example EPERM.
Zbigniew Jędrzejewski-Szmek [Tue, 21 Nov 2017 17:56:52 +0000 (18:56 +0100)]
growfs: add support for resizing encrypted partitions
Zbigniew Jędrzejewski-Szmek [Wed, 29 Nov 2017 14:06:53 +0000 (15:06 +0100)]
Define CRYPT_LUKS in crypt-util.h
Also do not include libcryptsetup.h directly, but only through crypt-util.h.
This way we do not have to repeat the define in every file where it is used.
Zbigniew Jędrzejewski-Szmek [Tue, 21 Nov 2017 17:55:07 +0000 (18:55 +0100)]
growfs: do not try to resize btrfs partitions smaller then 256MB
This will not work, but the kernel does not give any useful message.
Zbigniew Jędrzejewski-Szmek [Mon, 23 Oct 2017 11:40:38 +0000 (13:40 +0200)]
Add systemd-growfs tool
Zbigniew Jędrzejewski-Szmek [Wed, 1 Nov 2017 14:56:25 +0000 (15:56 +0100)]
util-lib: export cryptsetup logging glue function
Zbigniew Jędrzejewski-Szmek [Thu, 2 Nov 2017 08:16:47 +0000 (09:16 +0100)]
util-lib: add cleanup function for crypt_free
Zbigniew Jędrzejewski-Szmek [Tue, 31 Oct 2017 15:13:05 +0000 (16:13 +0100)]
util-lib: rename path_check_fstype to path_is_fs_type
Zbigniew Jędrzejewski-Szmek [Tue, 31 Oct 2017 12:02:10 +0000 (13:02 +0100)]
util-lib: rename fd_check_fstype to fd_is_fs_type
Let's use "is" and "fs_type" for consistency with "is_fs_type".
"check" is also more ambiguous than "is".
Zbigniew Jędrzejewski-Szmek [Tue, 31 Oct 2017 10:08:30 +0000 (11:08 +0100)]
util-lib: use trailing slash in chase_symlinks, fd_is_mount_point, path_is_mount_point
The kernel will reply with -ENOTDIR when we try to access a non-directory under
a name which ends with a slash. But our functions would strip the trailing slash
under various circumstances. Keep the trailing slash, so that
path_is_mount_point("/path/to/file/") return -ENOTDIR when /path/to/file/ is a file.
Tests are added for this change in behaviour.
Also, when called with a trailing slash, path_is_mount_point() would get
"" from basename(), and call name_to_handle_at(3, "", ...), and always
return -ENOENT. Now it'll return -ENOTDIR if the mount point is a file, and
true if it is a directory and a mount point.
v2:
- use strip_trailing_chars()
v3:
- instead of stripping trailing chars(), do the opposite — preserve them.
Lennart Poettering [Thu, 30 Nov 2017 19:07:18 +0000 (20:07 +0100)]
NEWS: some preliminary work for v236 (#7519)
Totally not complete, but let's get this started.
Mathieu Trudel-Lapierre [Thu, 30 Nov 2017 17:03:50 +0000 (12:03 -0500)]
Add a "RequiredForOnline=" Link attribute for .network files (#7347)
RequiredForOnline= denotes a link/network that does/does not require being up
for systemd-networkd-wait-online to consider the system online; this makes it
possible to ignore devices without modifying parameters to wait-online.
Zbigniew Jędrzejewski-Szmek [Wed, 1 Nov 2017 15:59:30 +0000 (16:59 +0100)]
test-string-util: add another test for stripping slashes
I wrote this for my own "strip_trailing_chars" function, which was in the
meanwhile obsoleted by "delete_trailing_chars". Let's just keep the test.
Zbigniew Jędrzejewski-Szmek [Tue, 31 Oct 2017 10:30:40 +0000 (11:30 +0100)]
Add a helper for /dev/block/major:minor paths
Zbigniew Jędrzejewski-Szmek [Tue, 31 Oct 2017 08:37:15 +0000 (09:37 +0100)]
Add a little helper to make /sys/dev/block/major:minor paths
Zbigniew Jędrzejewski-Szmek [Tue, 31 Oct 2017 09:52:30 +0000 (10:52 +0100)]
test-mount-util: move test_path_is_mount_point here
path-util.c and mount-util.c are intertwined, but path_is_mount_point() is
defined in mount-util.c.
No functional difference.
Yu Watanabe [Thu, 30 Nov 2017 11:34:58 +0000 (20:34 +0900)]
core/dbus-execute: actually set PassEnvironment= (#7510)
Follow-up for #7444.
Yu Watanabe [Thu, 30 Nov 2017 11:02:20 +0000 (20:02 +0900)]
man: fix typo (#7511)
Krzysztof Nowicki [Thu, 30 Nov 2017 10:59:29 +0000 (11:59 +0100)]
Fix SELinux labels in cgroup filesystem root directory (#7496)
When using SELinux with legacy cgroups the tmpfs on /sys/fs/cgroup is by
default labelled as tmpfs_t. This label is also inherited by the "cpu"
and "cpuacct" symbolic links. Unfortunately the policy expects them to
be labelled as cgroup_t, which is used for all the actual cgroup
filesystems. Failure to do so results in a stream of denials.
This state cannot be fixed reliably when the cgroup filesystem structure
is set-up as the SELinux policy is not yet loaded at this
moment. It also cannot be fixed later as the root of the cgroup
filesystem is remounted read-only. In order to fix it the root of the
cgroup filesystem needs to be temporary remounted read-write, relabelled
and remounted back read-only.
Lennart Poettering [Thu, 30 Nov 2017 10:52:39 +0000 (11:52 +0100)]
core: support upgrading from DynamicUser=0 to DynamicUser=1 for unit directories (#7507)
This makes sure we migrate /var/lib/<foo> if it exists to
/var/lib/private/<foo> if DynamicUser=1 is set. This is useful to allow
turning on DynamicUser= on services that previously didn't use it, and
we can deal with this, and migrate the relevant directories as
necessary.
Note that "downgrading" from DynamicUser=1 backto DynamicUser=0 works
too. However in that case we simply continue to use
/var/lib/private/<foo>, which works because /var/lib/<foo> is a symlink
there after all.
Yu Watanabe [Thu, 30 Nov 2017 05:50:36 +0000 (14:50 +0900)]
Merge pull request #7444 from poettering/dbus-no-spec
unit writing escaping fixes + related fixes and additions
Vito Caputo [Wed, 29 Nov 2017 22:05:21 +0000 (14:05 -0800)]
Merge pull request #7508 from poettering/journal-n-drop
journal: fix log message when dropping messages
Lennart Poettering [Wed, 29 Nov 2017 21:11:59 +0000 (22:11 +0100)]
journal: fix log message when dropping messages
Fixes: #7506
Jiahui Xie [Wed, 29 Nov 2017 20:21:49 +0000 (13:21 -0700)]
ycm: add doc string for all the functions in configuration file
Lennart Poettering [Mon, 27 Nov 2017 11:42:40 +0000 (12:42 +0100)]
bpf-firewall: actually invoke BPF_PROG_ATTACH to check whether cgroup/bpf is available
Apparently that's the only way to really know whether the kernel has
CONFIG_CGROUP_BPF turned on.
Fixes: #7054
Lennart Poettering [Mon, 27 Nov 2017 11:42:35 +0000 (12:42 +0100)]
update TODO
Lennart Poettering [Wed, 22 Nov 2017 12:56:10 +0000 (13:56 +0100)]
update TODO
Lennart Poettering [Wed, 29 Nov 2017 19:07:08 +0000 (20:07 +0100)]
bus-unit-util: slightly tweak log output for unknown props
Pretty:
Unknown assignment Foo=bar.
Prettier:
Unknown assignment: Foo=bar
Lennart Poettering [Wed, 29 Nov 2017 19:05:22 +0000 (20:05 +0100)]
run: rearrange error handling when adding unit properties
Let's always leave logging to the call that actually added the fields to
the bus message. This way we don't get duplicate logging whenver
bus_append_unit_property_assignment() ends up being called, which does
all its logging on its own (and probably should do, as it can output
much more precise errors).
Lennart Poettering [Wed, 29 Nov 2017 18:55:42 +0000 (19:55 +0100)]
bus-unit-util: add proper MemorySwapMax= serialization
Fixes: #7505
Lennart Poettering [Wed, 29 Nov 2017 18:55:01 +0000 (19:55 +0100)]
core: accept MemorySwapMax= properties that are scaled, too
Let's do what we already do for MemoryMax= and friends for
MemorySwapMax= too.
Lennart Poettering [Wed, 29 Nov 2017 18:53:53 +0000 (19:53 +0100)]
tty-ask-password-agent: drop NULL sentinel
found by coccinelle
Lennart Poettering [Wed, 29 Nov 2017 18:49:05 +0000 (19:49 +0100)]
coccinelle: add a run-coccinelle.sh script that runs all scripts
One day we should start running something like this as part of CI so
that non-well-formed commits are not even accepted...
Lennart Poettering [Wed, 29 Nov 2017 12:05:24 +0000 (13:05 +0100)]
coccinelle: fix IN_SET/!IN_SET scripts, and apply some changes it found
IN_SET only works for constant values, hence clarify that. Moreover, we
declared a statement "s" we never made use of. Drop it.
Also, for both scripts, let's support 10 items. More causes spatch to
die with "Stack overflow" for me.
Lennart Poettering [Wed, 29 Nov 2017 17:56:26 +0000 (18:56 +0100)]
Merge pull request #7493 from keszybz/revert-revert
Revert "meson: drop rootprefix option"
Lennart Poettering [Wed, 29 Nov 2017 15:24:14 +0000 (16:24 +0100)]
Merge pull request #7504 from keszybz/two-mkosi-ideas
Two mkosi tweaks
Lennart Poettering [Wed, 29 Nov 2017 15:21:48 +0000 (16:21 +0100)]
Merge pull request #7500 from poettering/journal-field-count
fix journald field counts
Zbigniew Jędrzejewski-Szmek [Tue, 21 Nov 2017 17:52:15 +0000 (18:52 +0100)]
Add mkosi.output/ to .gitignore
It's not something that would ever be checked in, and mkosi along
with systemd, so this directory is likely to appear.
Zbigniew Jędrzejewski-Szmek [Tue, 31 Oct 2017 08:44:00 +0000 (09:44 +0100)]
mkosi: do not build man pages
Zbigniew Jędrzejewski-Szmek [Tue, 28 Nov 2017 20:46:53 +0000 (21:46 +0100)]
meson: emit a warning if rootprefix is set
It's printed at the end because it's the easiest to spot there.
When meson is upgraded to 0.43.1, we'll be able to use warning() instead.
Lennart Poettering [Wed, 29 Nov 2017 11:40:22 +0000 (12:40 +0100)]
tree-wide: use strv_isempty() instead of strv_length() == 0
It's a lot faster in many cases, since it's O(1) rather than O(n).
Lennart Poettering [Wed, 29 Nov 2017 10:33:26 +0000 (11:33 +0100)]
bus-unit-util: properly serialize EnvironmentFile= empty assignment
In that case we need to generate an empty array.
Lennart Poettering [Tue, 28 Nov 2017 20:25:49 +0000 (21:25 +0100)]
tests: fix description of TEST-14-MACHINE-ID
It used the same description as TEST-01, and that's hardly helpful.
Lennart Poettering [Tue, 28 Nov 2017 20:24:20 +0000 (21:24 +0100)]
core: use safe_fclose() where we can
Lennart Poettering [Mon, 27 Nov 2017 15:06:39 +0000 (16:06 +0100)]
fileio: document why fileio-label.c and fileio.c are two different modules
Lennart Poettering [Thu, 23 Nov 2017 19:26:02 +0000 (20:26 +0100)]
documentation: add document listing all unit file settings also supported for transient units
Unfortunately, there are far too many properties currently not
accessible to transient units. The first step to opening them all up is
to figure out which ones they are.
Lennart Poettering [Thu, 23 Nov 2017 16:58:34 +0000 (17:58 +0100)]
core: open up all ExecXYZ= fields of service units to transient units
Fixes: #7400
Lennart Poettering [Thu, 23 Nov 2017 16:45:58 +0000 (17:45 +0100)]
core: never remove "transient" and "control" directories from unit search path
This changes the unit search path logic to never drop the transient and
control directories from the unit search path. This is necessary as we
add new entries to both during runtime, due to the "systemctl
set-property" and transient unit logic.
Previously, the "transient" directory was created during early boot to
deal with this, but the "control" directories were not covered like
that. Creating the control directories early at boot is not possible
however, as /etc might be read-only then, and we do define a persistent
control directory. Hence, let's create these dirs on-demand when we need
them, and make sure the search path clean-up logic never drops them from
the search path even if they are initially missing.
(Also, always create these paths properly labelled)