Commit Graph

31159 Commits

Author SHA1 Message Date
Zbigniew Jędrzejewski-Szmek da495a0385 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.
2017-11-30 20:46:30 +01:00
Zbigniew Jędrzejewski-Szmek 4191418baf fstab-generator: convert separate booleans to a flag field
It's pretty unwieldy with just three flags, and I want to add more.
2017-11-30 20:46:30 +01:00
Zbigniew Jędrzejewski-Szmek b7f28ac51f Add mkfs wrapper which first checks if the partition is empty 2017-11-30 20:46:30 +01:00
Zbigniew Jędrzejewski-Szmek 385de88a68 growfs: add option parsing and --help/--version/--dry-run
v2:
- use arg_target
2017-11-30 20:46:17 +01:00
Zbigniew Jędrzejewski-Szmek 995fa2e5e1 shared/dissect-image: fix return value for probe_filesystem()
blkid_new_probe_from_filename() sets errno, for example EPERM.
2017-11-30 20:43:25 +01:00
Zbigniew Jędrzejewski-Szmek c34b75a124 growfs: add support for resizing encrypted partitions 2017-11-30 20:43:25 +01:00
Zbigniew Jędrzejewski-Szmek c116b03595 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.
2017-11-30 20:43:25 +01:00
Zbigniew Jędrzejewski-Szmek 76d3e0834a growfs: do not try to resize btrfs partitions smaller then 256MB
This will not work, but the kernel does not give any useful message.
2017-11-30 20:43:25 +01:00
Zbigniew Jędrzejewski-Szmek 80750adb22 Add systemd-growfs tool 2017-11-30 20:43:25 +01:00
Zbigniew Jędrzejewski-Szmek 691c2e2e88 util-lib: export cryptsetup logging glue function 2017-11-30 20:43:25 +01:00
Zbigniew Jędrzejewski-Szmek 294bd45470 util-lib: add cleanup function for crypt_free 2017-11-30 20:43:25 +01:00
Zbigniew Jędrzejewski-Szmek 40fd52f28d util-lib: rename path_check_fstype to path_is_fs_type 2017-11-30 20:43:25 +01:00
Zbigniew Jędrzejewski-Szmek a66fee2e97 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".
2017-11-30 20:43:25 +01:00
Zbigniew Jędrzejewski-Szmek b12d25a8d6 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.
2017-11-30 20:43:25 +01:00
Lennart Poettering 67eb5b380a NEWS: some preliminary work for v236 (#7519)
Totally not complete, but let's get this started.
2017-12-01 04:07:18 +09:00
Mathieu Trudel-Lapierre c1a3890410 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.
2017-11-30 18:03:50 +01:00
Zbigniew Jędrzejewski-Szmek ca4d708dc4 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.
2017-11-30 12:59:23 +01:00
Zbigniew Jędrzejewski-Szmek c67f84b025 Add a helper for /dev/block/major:minor paths 2017-11-30 12:59:23 +01:00
Zbigniew Jędrzejewski-Szmek 553e15f21b Add a little helper to make /sys/dev/block/major:minor paths 2017-11-30 12:59:23 +01:00
Zbigniew Jędrzejewski-Szmek ee3467c6bd 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.
2017-11-30 12:59:23 +01:00
Yu Watanabe 9d4f242a53 core/dbus-execute: actually set PassEnvironment= (#7510)
Follow-up for #7444.
2017-11-30 12:34:58 +01:00
Yu Watanabe 606df9a5a5 man: fix typo (#7511) 2017-11-30 12:02:20 +01:00
Krzysztof Nowicki 8739f23e3c 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.
2017-11-30 11:59:29 +01:00
Lennart Poettering 949befd3f0
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.
2017-11-30 11:52:39 +01:00
Yu Watanabe 191e9ef87d
Merge pull request #7444 from poettering/dbus-no-spec
unit writing escaping fixes + related fixes and additions
2017-11-30 14:50:36 +09:00
Vito Caputo f9daa63a15
Merge pull request #7508 from poettering/journal-n-drop
journal: fix log message when dropping messages
2017-11-29 14:05:21 -08:00
Lennart Poettering 5908ff1c4b journal: fix log message when dropping messages
Fixes: #7506
2017-11-29 22:11:59 +01:00
Jiahui Xie cfbdfa8c54 ycm: add doc string for all the functions in configuration file 2017-11-29 13:21:49 -07:00
Lennart Poettering e583759bd1 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
2017-11-29 20:15:23 +01:00
Lennart Poettering 0634585890 update TODO 2017-11-29 20:15:23 +01:00
Lennart Poettering c6009ff029 update TODO 2017-11-29 20:12:26 +01:00
Lennart Poettering c2288ade1e bus-unit-util: slightly tweak log output for unknown props
Pretty:

        Unknown assignment Foo=bar.

Prettier:

        Unknown assignment: Foo=bar
2017-11-29 20:12:26 +01:00
Lennart Poettering f53bddf308 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).
2017-11-29 20:12:26 +01:00
Lennart Poettering 147fe484c1 bus-unit-util: add proper MemorySwapMax= serialization
Fixes: #7505
2017-11-29 20:12:26 +01:00
Lennart Poettering 66a892ae3d core: accept MemorySwapMax= properties that are scaled, too
Let's do what we already do for MemoryMax= and friends for
MemorySwapMax= too.
2017-11-29 20:12:26 +01:00
Lennart Poettering 421eaea0d1 tty-ask-password-agent: drop NULL sentinel
found by coccinelle
2017-11-29 20:12:26 +01:00
Lennart Poettering 2d0bc68450 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...
2017-11-29 20:12:26 +01:00
Lennart Poettering a2d61f0746 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.
2017-11-29 20:12:26 +01:00
Lennart Poettering 8dc3f4842b
Merge pull request #7493 from keszybz/revert-revert
Revert "meson: drop rootprefix option"
2017-11-29 18:56:26 +01:00
Lennart Poettering a7af7362a3
Merge pull request #7504 from keszybz/two-mkosi-ideas
Two mkosi tweaks
2017-11-29 16:24:14 +01:00
Lennart Poettering abc861e865
Merge pull request #7500 from poettering/journal-field-count
fix journald field counts
2017-11-29 16:21:48 +01:00
Zbigniew Jędrzejewski-Szmek 22ecadbee2 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.
2017-11-29 14:33:56 +01:00
Zbigniew Jędrzejewski-Szmek c7e501475a mkosi: do not build man pages 2017-11-29 14:33:55 +01:00
Zbigniew Jędrzejewski-Szmek 9a8e64b0e9 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.
2017-11-29 13:29:59 +01:00
Lennart Poettering 7b943bb7e3 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).
2017-11-29 12:41:08 +01:00
Lennart Poettering 5716965132 bus-unit-util: properly serialize EnvironmentFile= empty assignment
In that case we need to generate an empty array.
2017-11-29 12:34:12 +01:00
Lennart Poettering 7ae8162f29 tests: fix description of TEST-14-MACHINE-ID
It used the same description as TEST-01, and that's hardly helpful.
2017-11-29 12:34:12 +01:00
Lennart Poettering 50fb00b707 core: use safe_fclose() where we can 2017-11-29 12:34:12 +01:00
Lennart Poettering 7d7a99ac9f fileio: document why fileio-label.c and fileio.c are two different modules 2017-11-29 12:34:12 +01:00
Lennart Poettering 91d2f19594 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.
2017-11-29 12:34:12 +01:00