]> git.ipfire.org Git - thirdparty/systemd.git/log
thirdparty/systemd.git
3 years agoMerge pull request #17297 from keszybz/tmpfiles-sysusers-disable-standalone-image
Michael Biebl [Tue, 20 Oct 2020 21:07:16 +0000 (23:07 +0200)] 
Merge pull request #17297 from keszybz/tmpfiles-sysusers-disable-standalone-image

tmpfiles,sysusers: disable --image= support in standalone versions

3 years agobootctl: add @current/@oneshot/@default targets to set-default/set-oneshot
Дамјан Георгиевски [Tue, 13 Oct 2020 10:25:59 +0000 (12:25 +0200)] 
bootctl: add @current/@oneshot/@default targets to set-default/set-oneshot

Using `bootctl set-default @current` will set the default loader entry
to the currently booted entry as read from the `LoaderEntrySelected` EFI
variable.

Also `bootctl set-oneshot @current` will set the oneshot loader entry to
the current booted entry.

Correspondingly `@default` and `@oneshot` can be used to read from the
LoaderEntryDefault and LoaderEntryOneshot EFI variables.

3 years agoMerge pull request #17401 from mrc0mmand/sempahore-fixups
Lennart Poettering [Tue, 20 Oct 2020 13:01:11 +0000 (15:01 +0200)] 
Merge pull request #17401 from mrc0mmand/sempahore-fixups

semaphore: try to use different keyservers

3 years agoupdate TODO
Lennart Poettering [Tue, 20 Oct 2020 12:46:55 +0000 (14:46 +0200)] 
update TODO

3 years agosemaphore: temporarily explicitly use the US image mirror 17401/head
Frantisek Sumsal [Tue, 20 Oct 2020 10:39:25 +0000 (12:39 +0200)] 
semaphore: temporarily explicitly use the US image mirror

The UK one contains an incorrectly signed index file, causing the CI to
fail.

3 years agosemaphore: try to use different keyservers
Frantisek Sumsal [Tue, 20 Oct 2020 09:22:50 +0000 (11:22 +0200)] 
semaphore: try to use different keyservers

Recently the Semaphore CI started to fail pretty much constantly due to
GPG key verification fails. After a quick search this is a pretty common
issue with the Ubuntu keyserver in the last month. To make this,
hopefully, a bit more stable, let's use a few different keyservers in
case some of them fail.

3 years agoudevadm: also support alias .device units to specify devices
Yu Watanabe [Tue, 15 Sep 2020 11:27:13 +0000 (20:27 +0900)] 
udevadm: also support alias .device units to specify devices

Previously, .device units generated by SYSTEMD_ALIAS= udev properties
are not supported to specify devices for e.g. 'udevadm info'.

Before:
```
$ udevadm info sys-subsystem-net-devices-enp0s31f6.device
Unknown device "sys-subsystem-net-devices-enp0s31f6.device": No such device
```

After:
```
$ ./udevadm info sys-subsystem-net-devices-enp0s31f6.device
P: /devices/pci0000:00/0000:00:1f.6/net/enp0s31f6
L: 0
E: DEVPATH=/devices/pci0000:00/0000:00:1f.6/net/enp0s31f6
E: INTERFACE=enp0s31f6
E: IFINDEX=2
E: SUBSYSTEM=net
E: USEC_INITIALIZED=25317523
E: ID_NET_NAMING_SCHEME=v245
(snip)
```

3 years agoAdd ACCEL_LOCATION property for Dell clamshell models
Kai-Chuan Hsieh [Thu, 8 Oct 2020 02:27:18 +0000 (10:27 +0800)] 
Add ACCEL_LOCATION property for Dell clamshell models

3 years agoutil: make size macros unsigned
Lennart Poettering [Thu, 15 Oct 2020 15:33:04 +0000 (17:33 +0200)] 
util: make size macros unsigned

By making them unsigned comparing them with other sizes is less likely
to trigger compiler warnings regarding signed/unsigned comparisons.
After all sizes (i.e. size_t) are generally assumed to be unsigned, so
these should be too.

Prompted-by: https://github.com/systemd/systemd/pull/17345#issuecomment-709402332
3 years agoMerge pull request #16939 from Rahix/robust-first-boot-machine-id
Yu Watanabe [Tue, 20 Oct 2020 05:01:41 +0000 (14:01 +0900)] 
Merge pull request #16939 from Rahix/robust-first-boot-machine-id

Make ConditionFirstBoot safe against power failures

3 years agoMerge pull request #17352 from msekletar/ens-names-fix
Yu Watanabe [Tue, 20 Oct 2020 04:49:29 +0000 (13:49 +0900)] 
Merge pull request #17352 from msekletar/ens-names-fix

udev/net_id: don't generate slot based names if multiple devices might claim the same slot

3 years agoupdate-done: Do not fail with read-only /etc or /var
Felix Riemann [Mon, 19 Oct 2020 16:54:53 +0000 (18:54 +0200)] 
update-done: Do not fail with read-only /etc or /var

With the switch from log_debug() to log_debug_errno() in commit c413bb28df
systemd-update-done would fail without any error message if /etc
or /var were read-only. This restores the previous behaviour to
silently ignore these directories again.

3 years agoMerge pull request #17390 from keszybz/logind-notifications-and-links
Yu Watanabe [Tue, 20 Oct 2020 04:44:52 +0000 (13:44 +0900)] 
Merge pull request #17390 from keszybz/logind-notifications-and-links

Fix sd_notify() usage in various daemons and update some documentation links

3 years agoudev/net_id: don't generate slot based names if multiple devices might claim the... 17352/head
Michal Sekletár [Mon, 19 Oct 2020 09:10:31 +0000 (11:10 +0200)] 
udev/net_id: don't generate slot based names if multiple devices might claim the same slot

3 years agoMerge pull request #17344 from keszybz/bus-connect-more-logs
Lennart Poettering [Mon, 19 Oct 2020 15:39:37 +0000 (17:39 +0200)] 
Merge pull request #17344 from keszybz/bus-connect-more-logs

Add some debug logs to help diagnose bus connections

3 years agoMerge pull request #17387 from anitazha/systoomd_fixups
Lennart Poettering [Mon, 19 Oct 2020 15:29:22 +0000 (17:29 +0200)] 
Merge pull request #17387 from anitazha/systoomd_fixups

oomd fixups

3 years agoMerge pull request #17389 from poettering/bootspec-clarifications
Lennart Poettering [Mon, 19 Oct 2020 15:17:10 +0000 (17:17 +0200)] 
Merge pull request #17389 from poettering/bootspec-clarifications

bootspec entry character set clarifications

3 years agoman: Document new machine-id and first boot behavior 16939/head
Harald Seiler [Sun, 6 Sep 2020 20:57:59 +0000 (22:57 +0200)] 
man: Document new machine-id and first boot behavior

3 years agounits: order systemd-random-seed.service before first-boot-complete.target
Harald Seiler [Sun, 6 Sep 2020 19:43:57 +0000 (21:43 +0200)] 
units: order systemd-random-seed.service before first-boot-complete.target

Ensure that systemd-random-seed.service has completed before marking
a first boot as completed to guarantee that a saved seed will only be
used after it has been initialized at least once.

3 years agounits: order systemd-firstboot.service before first-boot-complete.target
Harald Seiler [Sun, 6 Sep 2020 19:23:36 +0000 (21:23 +0200)] 
units: order systemd-firstboot.service before first-boot-complete.target

Make sure systemd-firstboot completes before reaching first-boot-complete.target
and thus marking the first boot as completed.  This way, it is
guaranteed that systemd-firstboot has a chance to complete provisioning
at least once, even in cases of the first boot getting aborted early.

3 years agounits: add first-boot-complete.target for first boot ordering
Harald Seiler [Sun, 6 Sep 2020 19:23:36 +0000 (21:23 +0200)] 
units: add first-boot-complete.target for first boot ordering

Add a new target for synchronizing units that wish to run once during
the first boot of the system.  The machine-id will be committed to disk
only after the target has been reached, thus ensuring that all units
ordered before it had a chance to complete.

3 years agomachine-id-setup: sync before committing machine-id
Harald Seiler [Sun, 6 Sep 2020 19:35:33 +0000 (21:35 +0200)] 
machine-id-setup: sync before committing machine-id

sync() before committing a transient machine-id to disk.  This will
ensure that any filesystem changes made by first-boot units will have
been persisted before the first boot is marked as completed.

3 years agocore: keep machine-id transient until first boot completes
Harald Seiler [Sun, 6 Sep 2020 19:23:36 +0000 (21:23 +0200)] 
core: keep machine-id transient until first boot completes

Currently, a loss of power after the machine-id was written but before
all units with ConditionFirstBoot=yes ran would lead to the next boot
finding a valid machine-id, thus not being marked first boot and not
re-running these units.

To make the first boot mechanism more robust, instead of writing
/etc/machine-id very early, fill it with a marker value "uninitialized"
and overmount it with a transiently provisioned machine-id.  Then, after
the first boots completes (when systemd-machine-id-commit.service runs),
write the real machine-id to disk.

This mechanism is of course only invoked on first boot.  If a first boot
is not detected, the machine-id is handled as previously.

Fixes: #4511
3 years agodissect-image: support "uninitialized" machine-id
Harald Seiler [Sun, 6 Sep 2020 19:23:36 +0000 (21:23 +0200)] 
dissect-image: support "uninitialized" machine-id

If the first boot was aborted, /etc/machine-id might read as
"uninitialized" in some cases.  Add a separate case for this
instead of printing a confusing error message.

3 years agorepart: correctly handle "uninitialized" machine-id
Harald Seiler [Thu, 15 Oct 2020 19:25:06 +0000 (21:25 +0200)] 
repart: correctly handle "uninitialized" machine-id

When systemd-repart runs from initramfs, it reads out /etc/machine-id
from the rootfs as a seed for partition UUIDs.  However, the machine-id
could be in an "uninitialized" state from a previous failed first boot.
In this situation the -ENOMEDIUM code-path (no machine-id set) should be
taken.

3 years agonspawn: robustly deal with "uninitialized" machine-id
Harald Seiler [Thu, 15 Oct 2020 19:22:15 +0000 (21:22 +0200)] 
nspawn: robustly deal with "uninitialized" machine-id

When nspawn starts an image, this image could be in any state, including
an aborted first boot.  For this case, it needs to correctly handle the
situation like there was no machine-id at all.

3 years agoid128: add format which treats "uninitialized" like an empty id
Harald Seiler [Sun, 6 Sep 2020 19:23:36 +0000 (21:23 +0200)] 
id128: add format which treats "uninitialized" like an empty id

Add a new ID128_PLAIN_OR_UNINIT format which treats the string
"uninitialized" like the file was empty and return -ENOMEDIUM.  This
format should be used when reading an /etc/machine-id file from an image
that is not currently running.

3 years agodocs: some coding style updates
Lennart Poettering [Mon, 19 Oct 2020 09:39:20 +0000 (11:39 +0200)] 
docs: some coding style updates

Primarily:

1. Mention that we prefer if return parameters carry "ret_" as prefix in
   their name

2. Clarify that debug-level logging is always OK, and irrelevant to when
   deciding whether a function is logging or non-logging.

3 years agotree-wide: update web link to logind description 17390/head
Zbigniew Jędrzejewski-Szmek [Thu, 15 Oct 2020 18:49:18 +0000 (20:49 +0200)] 
tree-wide: update web link to logind description

https://www.freedesktop.org/wiki/Software/systemd/multiseat/ says that it
is obsoleted by sd-login(3), so it doesn't make much sense to link to the former.

3 years agologind: minor indentation adjustments
Zbigniew Jędrzejewski-Szmek [Thu, 15 Oct 2020 17:26:58 +0000 (19:26 +0200)] 
logind: minor indentation adjustments

3 years agologind: use notify_start/notify_on_cleanup
Zbigniew Jędrzejewski-Szmek [Thu, 15 Oct 2020 17:20:05 +0000 (19:20 +0200)] 
logind: use notify_start/notify_on_cleanup

Logging about the pid is dropped, pid1 does that better.

3 years agoshared/daemon-util: fix notify_on_cleanup()
Zbigniew Jędrzejewski-Szmek [Thu, 15 Oct 2020 17:22:21 +0000 (19:22 +0200)] 
shared/daemon-util: fix notify_on_cleanup()

p itself is never null. Because of this, we would always
call sd_notify() in cleanup, even though the intention was to only
call it if notify_start() was executed.

3 years agotmpfiles: no need to specify a synthetic error code if we don't propagate it 17389/head
Lennart Poettering [Mon, 19 Oct 2020 12:20:26 +0000 (14:20 +0200)] 
tmpfiles: no need to specify a synthetic error code if we don't propagate it

3 years agobootspec: tweak error message
Lennart Poettering [Mon, 19 Oct 2020 12:20:03 +0000 (14:20 +0200)] 
bootspec: tweak error message

Clarify that the name of the entry failed validation, not the entry
itself.

3 years agodoc: document charset to use for bootspec entry names
Lennart Poettering [Mon, 19 Oct 2020 12:19:52 +0000 (14:19 +0200)] 
doc: document charset to use for bootspec entry names

Prompted-by: https://github.com/systemd/systemd/issues/12572#issuecomment-711074702
3 years agocore: treat "uninitialized" in /etc/machine-id as first boot as well
Harald Seiler [Sun, 6 Sep 2020 19:23:35 +0000 (21:23 +0200)] 
core: treat "uninitialized" in /etc/machine-id as first boot as well

When /etc/machine-id contains the string "uninitialized" instead of
a valid machine-id, treat this like the file was missing and mark this
boot as the first (-> units with ConditionFirstBoot=yes will run).

3 years agopreset: don't enable proc-sys-fs-binfmt_misc.mount
Harald Seiler [Sun, 6 Sep 2020 19:23:36 +0000 (21:23 +0200)] 
preset: don't enable proc-sys-fs-binfmt_misc.mount

The proc-sys-fs-binfmt_misc.mount unit should not be enabled by
preset-all because it should only be used as fallback in case
proc-sys-fs-binfmt_misc.automount cannot be used on a system.  In these
cases it should be enabled manually by an administrator.

3 years agoudev/net_id: parse _SUN ACPI index as a signed integer
Michal Sekletár [Mon, 19 Oct 2020 08:56:11 +0000 (10:56 +0200)] 
udev/net_id: parse _SUN ACPI index as a signed integer

Negative value means there is no match between a PCI device and any of
the slots. In the following commit we will extend this and value of 0
will indicate that there is a match between some slot and PCI device,
but that device is a PCI bridge.

3 years agounits: drop ConditionCapability from systemd-oomd.service 17387/head
Anita Zhang [Mon, 19 Oct 2020 09:18:00 +0000 (02:18 -0700)] 
units: drop ConditionCapability from systemd-oomd.service

Another suggestion from #15206

3 years agooomd: simplify if/else error check
Anita Zhang [Mon, 19 Oct 2020 09:17:07 +0000 (02:17 -0700)] 
oomd: simplify if/else error check

3 years agocore: move where we send unit change updates to oomd
Anita Zhang [Mon, 19 Oct 2020 08:44:17 +0000 (01:44 -0700)] 
core: move where we send unit change updates to oomd

Post-merge suggestion from #15206

3 years agoNEWS: fix typo
Anita Zhang [Mon, 19 Oct 2020 08:39:36 +0000 (01:39 -0700)] 
NEWS: fix typo

3 years agocore: reindent and align table in load-fragment-gperf.gperf.m4
Anita Zhang [Mon, 19 Oct 2020 08:30:07 +0000 (01:30 -0700)] 
core: reindent and align table in load-fragment-gperf.gperf.m4

3 years agocore: varlink tweaks
Anita Zhang [Mon, 19 Oct 2020 08:11:06 +0000 (01:11 -0700)] 
core: varlink tweaks

Suggested post-merge in #15206

3 years agoTranslated using Weblate (Belarusian)
Zmicer Turok [Fri, 16 Oct 2020 06:30:21 +0000 (08:30 +0200)] 
Translated using Weblate (Belarusian)

Currently translated at 100.0% (187 of 187 strings)

Co-authored-by: Zmicer Turok <nashtlumach@gmail.com>
Translate-URL: https://translate.fedoraproject.org/projects/systemd/master/be/
Translation: systemd/master

3 years agoMerge pull request #17369 from poettering/kill-log
Zbigniew Jędrzejewski-Szmek [Mon, 19 Oct 2020 07:31:02 +0000 (09:31 +0200)] 
Merge pull request #17369 from poettering/kill-log

log about processed killed due to "systemctl kill"

3 years agoman: document that for Type=dbus services dropping bus name has consequences
Lennart Poettering [Fri, 16 Oct 2020 16:04:59 +0000 (18:04 +0200)] 
man: document that for Type=dbus services dropping bus name has consequences

Fixes: #17150
3 years agoman: document that ConditionKernelCommandLine= looks at /proc/1/environ in containers
Lennart Poettering [Fri, 16 Oct 2020 16:22:37 +0000 (18:22 +0200)] 
man: document that ConditionKernelCommandLine= looks at /proc/1/environ in containers

Fixes: #16941
3 years agoMerge pull request #17367 from bluca/fix_test_50_ubuntu
Zbigniew Jędrzejewski-Szmek [Mon, 19 Oct 2020 07:17:28 +0000 (09:17 +0200)] 
Merge pull request #17367 from bluca/fix_test_50_ubuntu

test: fix TEST-50-DISSECT build on Ubuntu CI

3 years agohwdb: Add accel orientation for AsusTek TP300LAB
Pedro Ruiz [Mon, 19 Oct 2020 00:00:27 +0000 (02:00 +0200)] 
hwdb: Add accel orientation for AsusTek TP300LAB

3 years agopo: update Polish translation
Piotr Drąg [Sun, 18 Oct 2020 11:10:47 +0000 (13:10 +0200)] 
po: update Polish translation

3 years agotest: account for non-x86-64 archs in TEST-50-DISSECT 17367/head
Luca Boccassi [Sun, 18 Oct 2020 14:41:34 +0000 (15:41 +0100)] 
test: account for non-x86-64 archs in TEST-50-DISSECT

3 years agotest: increase size of verity partition in TEST-50-DISSECT GPT image
Luca Boccassi [Sat, 17 Oct 2020 21:10:42 +0000 (22:10 +0100)] 
test: increase size of verity partition in TEST-50-DISSECT GPT image

On Ubuntu it seems there's some padding added

3 years agoNEWS: fix typo: speicify → specify
Ansgar Burchardt [Sat, 17 Oct 2020 12:02:06 +0000 (14:02 +0200)] 
NEWS: fix typo: speicify → specify

3 years agotest/README: notes about Ubuntu CI logs and dependencies
Luca Boccassi [Fri, 16 Oct 2020 16:51:58 +0000 (17:51 +0100)] 
test/README: notes about Ubuntu CI logs and dependencies

Add a note about where to find the full journal, and how to add
packages/dependencies for the Ubuntu CI.

3 years agotest: fix TEST-50-DISSECT build on Ubuntu CI
Luca Boccassi [Fri, 16 Oct 2020 12:20:45 +0000 (13:20 +0100)] 
test: fix TEST-50-DISSECT build on Ubuntu CI

Ubuntu CI's just got the dependencies require dto run this test added,
and it seems the build is different enough from other platforms
that it fails to create the required directories:

cp: cannot create regular file '/var/tmp/systemd-test.JJMOBY/minimal/usr/lib/os-release': No such file or directory

3 years agoRevert "Block TEST-50-DISSECT on Ubuntu CI temporarily"
Luca Boccassi [Sat, 17 Oct 2020 16:58:32 +0000 (17:58 +0100)] 
Revert "Block TEST-50-DISSECT on Ubuntu CI temporarily"

This reverts commit 329315b29f63adb05054c26f739f68780fadfa0a.

3 years agoBlock TEST-50-DISSECT on Ubuntu CI temporarily
Luca Boccassi [Fri, 16 Oct 2020 16:58:52 +0000 (17:58 +0100)] 
Block TEST-50-DISSECT on Ubuntu CI temporarily

It looks like we need to do some whack-a-mole before it will fully pass,
so disable for now. It was skipped until today anyway due to missing
dependencies.

3 years agooomd: fix unit test when xattrs not supported
Anita Zhang [Fri, 16 Oct 2020 23:19:15 +0000 (16:19 -0700)] 
oomd: fix unit test when xattrs not supported

3 years agocore: log about "systemctl kill" requests 17369/head
Lennart Poettering [Fri, 16 Oct 2020 15:20:20 +0000 (17:20 +0200)] 
core: log about "systemctl kill" requests

let's add informational logging about each client requested signal
sending. While we are at, let's beef up error handling/log messages in
this case quite a bit: let's log errors both to syslog and report errors
back to client.

Fixes: #17254
3 years agocore: correct handling of "systemctl kill --kill-who=main-fail"
Lennart Poettering [Fri, 16 Oct 2020 15:16:23 +0000 (17:16 +0200)] 
core: correct handling of "systemctl kill --kill-who=main-fail"

--kill-who=main-fail never worked correctly, due to a copy and paste
mistake in ac5e3a505e49c80b56c971a8fc13bacac961640d, where the same item
was listed twice. The mistake was
later noticed, but fixed incorrectly, in
201f0c916d8f65ad2595a651b1371fcd39a4cf55.

Let's list all *-fail types correctly, finally.

And while we are at it, add a nice comment and generate a prettier D-Bus
error about this.

3 years agocore: add comment explaining unit_kill_context() vs. unit_kill_common() a bit
Lennart Poettering [Fri, 16 Oct 2020 15:16:02 +0000 (17:16 +0200)] 
core: add comment explaining unit_kill_context() vs. unit_kill_common() a bit

3 years agoMerge pull request #17358 from keszybz/hwdb-add-stars
Lennart Poettering [Fri, 16 Oct 2020 13:35:31 +0000 (15:35 +0200)] 
Merge pull request #17358 from keszybz/hwdb-add-stars

Add trailing star to all hwdb patterns

3 years agomeson: Fix missing libseccomp dependencies
Michal Koutný [Thu, 15 Oct 2020 15:56:30 +0000 (17:56 +0200)] 
meson: Fix missing libseccomp dependencies

The builds with HAVE_SECCOMP fail on missing include paths:

FAILED: src/basic/libbasic.a.p/parse-util.c.o
cc -Isrc/basic/libbasic.a.p -Isrc/basic -I../src/basic -Isrc/boot -I../src/boot -Isrc/home -I../src/home -Isrc/shared -I../src/shared -Isrc/systemd -I../src/systemd -Isrc/journal -I../src/journal -Isrc/journal-remote -I../src/journal-remote -Isrc/nspawn -I../src/nspawn -Isrc/resolve -I../src/resolve -Isrc/timesync -I../src/timesync -I../src/time-wait-sync -Isrc/login -I../src/login -Isrc/udev -I../src/udev -Isrc/libudev -I../src/libudev -Isrc/core -I../src/core -Isrc/shutdown -I../src/shutdown -I../src/xdg-autostart-generator -I../src/libsystemd/sd-bus -I../src/libsystemd/sd-device -I../src/libsystemd/sd-event -I../src/libsystemd/sd-hwdb -I../src/libsystemd/sd-id128 -I../src/libsystemd/sd-netlink -I../src/libsystemd/sd-network -I../src/libsystemd/sd-resolve -Isrc/libsystemd-network -I../src/libsystemd-network -I. -I.. -fdiagnostics-color=always -pipe -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -std=gnu99 -g -Wno-unused-parameter -Wno-missing-field-initializers -Wno-unused-result -Wno-format-signedness -Werror=undef -Wlogical-op -Wmissing-include-dirs -Wold-style-definition -Wpointer-arith -Winit-self -Wfloat-equal -Wsuggest-attribute=noreturn -Werror=missing-prototypes -Werror=implicit-function-declaration -Werror=missing-declarations -Werror=return-type -Werror=incompatible-pointer-types -Werror=format=2 -Wstrict-prototypes -Wredundant-decls -Wmissing-noreturn -Wimplicit-fallthrough=5 -Wshadow -Wendif-labels -Wstrict-aliasing=2 -Wwrite-strings -Werror=overflow -Werror=shift-count-overflow -Werror=shift-overflow=2 -Wdate-time -Wnested-externs -Wno-maybe-uninitialized -ffast-math -fno-common -fdiagnostics-show-option -fno-strict-aliasing -fvisibility=hidden -fstack-protector -fstack-protector-strong --param=ssp-buffer-size=4 -Werror=shadow -include config.h -fPIC -pthread -fvisibility=default -MD -MQ src/basic/libbasic.a.p/parse-util.c.o -MF src/basic/libbasic.a.p/parse-util.c.o.d -o src/basic/libbasic.a.p/parse-util.c.o -c ../src/basic/parse-util.c
In file included from ../src/basic/parse-util.c:20:
../src/shared/seccomp-util.h:4:10: fatal error: seccomp.h: No such file or directory
    4 | #include <seccomp.h>
      |          ^~~~~~~~~~~
compilation terminated.

FAILED: test-parse-util.p/src_test_test-parse-util.c.o
cc -Itest-parse-util.p -I. -I.. -Isrc/basic -I../src/basic -Isrc/boot -I../src/boot -Isrc/home -I../src/home -Isrc/shared -I../src/shared -Isrc/systemd -I../src/systemd -Isrc/journal -I../src/journal -Isrc/journal-remote -I../src/journal-remote -Isrc/nspawn -I../src/nspawn -Isrc/resolve -I../src/resolve -Isrc/timesync -I../src/timesync -I../src/time-wait-sync -Isrc/login -I../src/login -Isrc/udev -I../src/udev -Isrc/libudev -I../src/libudev -Isrc/core -I../src/core -Isrc/shutdown -I../src/shutdown -I../src/xdg-autostart-generator -I../src/libsystemd/sd-bus -I../src/libsystemd/sd-device -I../src/libsystemd/sd-event -I../src/libsystemd/sd-hwdb -I../src/libsystemd/sd-id128 -I../src/libsystemd/sd-netlink -I../src/libsystemd/sd-network -I../src/libsystemd/sd-resolve -Isrc/libsystemd-network -I../src/libsystemd-network -fdiagnostics-color=always -pipe -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -std=gnu99 -g -Wno-unused-parameter -Wno-missing-field-initializers -Wno-unused-result -Wno-format-signedness -Werror=undef -Wlogical-op -Wmissing-include-dirs -Wold-style-definition -Wpointer-arith -Winit-self -Wfloat-equal -Wsuggest-attribute=noreturn -Werror=missing-prototypes -Werror=implicit-function-declaration -Werror=missing-declarations -Werror=return-type -Werror=incompatible-pointer-types -Werror=format=2 -Wstrict-prototypes -Wredundant-decls -Wmissing-noreturn -Wimplicit-fallthrough=5 -Wshadow -Wendif-labels -Wstrict-aliasing=2 -Wwrite-strings -Werror=overflow -Werror=shift-count-overflow -Werror=shift-overflow=2 -Wdate-time -Wnested-externs -Wno-maybe-uninitialized -ffast-math -fno-common -fdiagnostics-show-option -fno-strict-aliasing -fvisibility=hidden -fstack-protector -fstack-protector-strong --param=ssp-buffer-size=4 -Werror=shadow -include config.h -MD -MQ test-parse-util.p/src_test_test-parse-util.c.o -MF test-parse-util.p/src_test_test-parse-util.c.o.d -o test-parse-util.p/src_test_test-parse-util.c.o -c ../src/test/test-parse-util.c
In file included from ../src/test/test-parse-util.c:14:
../src/shared/seccomp-util.h:4:10: fatal error: seccomp.h: No such file or directory
    4 | #include <seccomp.h>
      |          ^~~~~~~~~~~
compilation terminated.

Add the respective deps.

Fixes: 005bfaf118 ("exec: Add kill action to system call filters")
3 years agoMerge pull request #17363 from keszybz/oomd-meson-and-news
Yu Watanabe [Fri, 16 Oct 2020 03:26:28 +0000 (12:26 +0900)] 
Merge pull request #17363 from keszybz/oomd-meson-and-news

oomd meson and NEWS adjustments

3 years agoMerge pull request #17361 from keszybz/oomd-introspection-stub
Yu Watanabe [Fri, 16 Oct 2020 03:24:37 +0000 (12:24 +0900)] 
Merge pull request #17361 from keszybz/oomd-introspection-stub

Implement --version,--bus-introspect in oomd, add man page for the dbus api

3 years agoman: describe wildcards and range matches in hwdb syntax 17358/head
Zbigniew Jędrzejewski-Szmek [Thu, 15 Oct 2020 15:58:43 +0000 (17:58 +0200)] 
man: describe wildcards and range matches in hwdb syntax

3 years agoparse_hwdb: enforce the ":*" suffix
Zbigniew Jędrzejewski-Szmek [Thu, 15 Oct 2020 11:54:31 +0000 (13:54 +0200)] 
parse_hwdb: enforce the ":*" suffix

3 years agohwdb: add trailing ":*" everywhere
Zbigniew Jędrzejewski-Szmek [Thu, 15 Oct 2020 07:23:30 +0000 (09:23 +0200)] 
hwdb: add trailing ":*" everywhere

No functional change is intended.
The general pattern of changes:

-usb:v04F3p2B7C*
+usb:v04F3p2B7C:*
This is mostly a clarification, to make the part that makes the usb vXXXXpYYYY
part visually separated. It would only make a difference if we added further
keys with a different number of digits, which is unlikely.

-usb:v0627p0001:*QEMU USB Keyboard*
-usb:v0627p0001:*QEMU USB Mouse*
-usb:v0627p0001:*QEMU USB Tablet*
+usb:v0627p0001:*QEMU USB Keyboard*:*
+usb:v0627p0001:*QEMU USB Mouse*:*
+usb:v0627p0001:*QEMU USB Tablet*:*
Again, only a clarification. We know that ":" will appear somewhere later in
the match key, so anything that matches "…Keyboard*" will also match "…Keyboard*:*".

-evdev:name:ETPS/2 Elantech Touchpad:dmi:*svnASUSTeKComputerInc.:pnN53SV*
+evdev:name:ETPS/2 Elantech Touchpad:dmi:*svnASUSTeKComputerInc.:pnN53SV:*
This makes the match narrower. Previously we would match product "N53SV"
and "N53SV2", "N53SV3", and others. Here we are saying that the ':pn' part must
match exactly. Most of the changes in this patch match this pattern. I made a few
judgement calls and used "pn…*:*" when I wasn't sure if the full pn is included:
-evdev:name:Dell WMI hotkeys:dmi:bvn*:bvr*:bd*:svnDell*:pnPrecision*
+evdev:name:Dell WMI hotkeys:dmi:bvn*:bvr*:bd*:svnDell*:pnPrecision*:*

-evdev:name:Cypress APA Trackpad ?cyapa?:dmi:*:svnHewlett-Packard*:pnFalco*:
+evdev:name:Cypress APA Trackpad ?cyapa?:dmi:*:svnHewlett-Packard*:pnFalco*:*
This more like the "QEMU" example above, since all dmi strings end in ":", so
anything which matches the old version will also match the new version.

-evdev:atkbd:dmi:bvn*:bvr*:bd*:svnGateway*:pnA0A1*:pvr*
+evdev:atkbd:dmi:bvn*:bvr*:bd*:svnGateway*:pnA0A1*:*

I replaced trailing ":pvr*" by ":*". This makes no functional difference because
we expect "pvr" to always appear in the dmi string. This makes patterns shorter.

-evdev:atkbd:dmi:bvn*:bvr*:bd*:svnAcer*:pn*
+evdev:atkbd:dmi:bvn*:bvr*:bd*:svnAcer*:pn*:*

OTOH, ":pn*" is kept. This is because almost patterns include ":pn*", and if we
skip it, we should make it clear that this is on purpose, that we really want to
match any product name.

The python script to generate autosuspend rules is updated to use ":*" too.

Inspired by https://github.com/systemd/systemd/pull/17281#discussion_r501489750.

3 years agopid1: ignore whole /run/host hierarchy
Lennart Poettering [Thu, 15 Oct 2020 13:25:56 +0000 (15:25 +0200)] 
pid1: ignore whole /run/host hierarchy

Let's mark the whole /run/host hierarchy as something to ignore by PID 1
for generation of .mount units, i.e. consider it as "extrinsic".

By unifying container mgr supplied resources in one dir it's also easy
to exclude the whole lot from PID1's management inside the container.
This is the right thing to do, since from the payload's PoV these mounts
are just API and not manipulatable as they are established, managed and
owned by the container manager, not the payload.

(While we are it, also add the boot ID mount to the existing list, as
nspawn and other container managers overmount that too, typically, and
it is thus owned by the container manager and not the payload
typically.)

3 years agoNEWS: add blurbs about -Dmode= and oomd/oomctl 17363/head
Zbigniew Jędrzejewski-Szmek [Thu, 15 Oct 2020 13:56:05 +0000 (15:56 +0200)] 
NEWS: add blurbs about -Dmode= and oomd/oomctl

3 years agomeson: enable oomd by default in developer mode
Zbigniew Jędrzejewski-Szmek [Thu, 15 Oct 2020 13:53:57 +0000 (15:53 +0200)] 
meson: enable oomd by default in developer mode

We want to compile the new code in CI without having to explicitly specify
-Doomd=true everywhere. Let's enable it by default, and rely on distros
setting -Dmode=release to not have it enabled by default.

3 years agoman: add org.freedesktop.oom1(5) stub 17361/head
Zbigniew Jędrzejewski-Szmek [Thu, 15 Oct 2020 13:08:31 +0000 (15:08 +0200)] 
man: add org.freedesktop.oom1(5) stub

3 years agooomd: add names to dbus parameters and implement --bus-introspection
Zbigniew Jędrzejewski-Szmek [Thu, 15 Oct 2020 13:03:49 +0000 (15:03 +0200)] 
oomd: add names to dbus parameters and implement --bus-introspection

3 years agooomd: check number of arguments, add --version, fix indentation
Zbigniew Jędrzejewski-Szmek [Thu, 15 Oct 2020 13:03:07 +0000 (15:03 +0200)] 
oomd: check number of arguments, add --version, fix indentation

3 years agoMerge pull request #15206 from anitazha/systoomd-v0
Zbigniew Jędrzejewski-Szmek [Thu, 15 Oct 2020 12:16:52 +0000 (14:16 +0200)] 
Merge pull request #15206 from anitazha/systoomd-v0

systemd-oomd

3 years agoMerge pull request #17359 from poettering/lesssecuresecure
Lennart Poettering [Thu, 15 Oct 2020 11:55:57 +0000 (13:55 +0200)] 
Merge pull request #17359 from poettering/lesssecuresecure

paranoia: getenv_bool_secure("SYSTEMD_PAGERSECURE")

3 years agohwdb: add missinging ":*" suffix
Zbigniew Jędrzejewski-Szmek [Thu, 15 Oct 2020 11:35:36 +0000 (13:35 +0200)] 
hwdb: add missinging ":*" suffix

I'm keeping this part separate because a function change is intended here.
Those patterns didn't match:

$ systemd-hwdb query 'evdev:atkbd:dmi:bvn_:bvr_:bd_:svnLENOVO:pn_:pvrThinkPadT430s'
KEYBOARD_LED_CAPSLOCK=0
$ systemd-hwdb query 'evdev:atkbd:dmi:bvn_:bvr_:bd_:svnLENOVO:pn_:pvrThinkPadT430s:'
(nil)

3 years agohwdb: reindent commments and say that "*" should always be trailing
Zbigniew Jędrzejewski-Szmek [Thu, 15 Oct 2020 07:22:35 +0000 (09:22 +0200)] 
hwdb: reindent commments and say that "*" should always be trailing

3 years agohwdb: update chromiumos autosuspend rules
Zbigniew Jędrzejewski-Szmek [Thu, 15 Oct 2020 10:33:12 +0000 (12:33 +0200)] 
hwdb: update chromiumos autosuspend rules

3 years agosystemctl: fix tabs indentations 17359/head
Lennart Poettering [Thu, 15 Oct 2020 08:56:01 +0000 (10:56 +0200)] 
systemctl: fix tabs indentations

3 years agopager: lets check SYSTEMD_PAGERSECURE with secure_getenv()
Lennart Poettering [Thu, 15 Oct 2020 08:54:48 +0000 (10:54 +0200)] 
pager: lets check SYSTEMD_PAGERSECURE with secure_getenv()

I can't think of any real vulnerability about this, but it still feels
better to check a variable with "secure" in its name with
secure_getenv() rather than plain getenv().

Paranoia FTW!

3 years agoupdate NEWS
Lennart Poettering [Thu, 15 Oct 2020 08:52:40 +0000 (10:52 +0200)] 
update NEWS

3 years agohwdb: mount matrix for Chuwi Hi8 (CWI509) (#17355)
Máté Pozsgay [Thu, 15 Oct 2020 06:17:31 +0000 (08:17 +0200)] 
hwdb: mount matrix for Chuwi Hi8 (CWI509) (#17355)

3 years agomeson: disable systemd-oomd by default 15206/head
Anita Zhang [Thu, 15 Oct 2020 06:14:15 +0000 (23:14 -0700)] 
meson: disable systemd-oomd by default

systemd-oomd can be enabled when in developer mode (-Dmode=developer)

3 years agoMerge pull request #17354 from dtardon/udev-cleanup
Zbigniew Jędrzejewski-Szmek [Thu, 15 Oct 2020 06:01:01 +0000 (08:01 +0200)] 
Merge pull request #17354 from dtardon/udev-cleanup

some udev cleanup

3 years agosd-bus: break the loop in bus_ensure_running() if the bus is not connecting
Zbigniew Jędrzejewski-Szmek [Wed, 14 Oct 2020 12:03:13 +0000 (14:03 +0200)] 
sd-bus: break the loop in bus_ensure_running() if the bus is not connecting

This might fix #17025:
> the call trace is
> bus_ensure_running -> sd_bus_process -> bus_process_internal -> process_closeing --> sd_bus_close
>                                                                                  |
>                                                                                  \-> process_match

We ended doing callouts to the Disconnected matches from bus_ensure_running()
and shouldn't. bus_ensure_running() should never do callouts. This change
should fix this however: once we notice that the connection is going down we
will now fail instantly with ENOTOCONN instead of calling any callbacks.

3 years agoMerge pull request #17317 from yuwata/network-gateway-dhcp4-ra
Yu Watanabe [Thu, 15 Oct 2020 00:11:59 +0000 (09:11 +0900)] 
Merge pull request #17317 from yuwata/network-gateway-dhcp4-ra

network: about Gateway=_dhcp4 or _ipv6ra

3 years agotest-network: do not use deprecated value 17317/head
Yu Watanabe [Mon, 12 Oct 2020 08:06:35 +0000 (17:06 +0900)] 
test-network: do not use deprecated value

3 years agonetwork: warn if dynamic gateway is specified but corresponding protocol is disabled
Yu Watanabe [Mon, 12 Oct 2020 08:04:04 +0000 (17:04 +0900)] 
network: warn if dynamic gateway is specified but corresponding protocol is disabled

3 years agonetwork: introduce network_adjust_dhcp()
Yu Watanabe [Mon, 12 Oct 2020 07:52:33 +0000 (16:52 +0900)] 
network: introduce network_adjust_dhcp()

3 years agonetwork: introduce network_adjust_ipv6_accept_ra()
Yu Watanabe [Mon, 12 Oct 2020 07:36:54 +0000 (16:36 +0900)] 
network: introduce network_adjust_ipv6_accept_ra()

3 years agonetwork: when Gateway=_dhcp4, set several properties based on lease if they are not...
Yu Watanabe [Mon, 12 Oct 2020 06:52:02 +0000 (15:52 +0900)] 
network: when Gateway=_dhcp4, set several properties based on lease if they are not explicitly specified

Before this commit, event when Gateway=_dhcp4 or _ra is set, the
route was configured with 'protocol static', and other properties
specified by RouteTable=, RouteMTU=, or etc, were ignored.

This commit makes set the route protocol based on the protocol the
gateway address is obtained, and apply other settings if it is not
explicitly specified in the [Route] section.

3 years agonetwork: determine a [Route] section will be used or not by gateway family instead...
Yu Watanabe [Mon, 12 Oct 2020 06:12:55 +0000 (15:12 +0900)] 
network: determine a [Route] section will be used or not by gateway family instead of route family

By this commit, user can configure dynamic IPv6 Gateway with IPv4
destination.

3 years agonetwork: when Gateway=_dhcp, assume gateway family based on other settings
Yu Watanabe [Mon, 12 Oct 2020 06:07:49 +0000 (15:07 +0900)] 
network: when Gateway=_dhcp, assume gateway family based on other settings

3 years agonetwork: rename Gateway=_dhcp6 -> Gateway=_ipv6ra
Yu Watanabe [Mon, 12 Oct 2020 05:52:11 +0000 (14:52 +0900)] 
network: rename Gateway=_dhcp6 -> Gateway=_ipv6ra

3 years agonetwork: rename gateway_from_dhcp -> gateway_from_dhcp_or_ra
Yu Watanabe [Mon, 12 Oct 2020 05:44:04 +0000 (14:44 +0900)] 
network: rename gateway_from_dhcp -> gateway_from_dhcp_or_ra

As for IPv6 case gateway is given by RA.

3 years agoMerge pull request #17351 from poettering/exec-rt-typo-fix
Lennart Poettering [Wed, 14 Oct 2020 17:41:27 +0000 (19:41 +0200)] 
Merge pull request #17351 from poettering/exec-rt-typo-fix

fix one character typo in execute.c

3 years agoMerge pull request #17350 from poettering/bus-read-array
Lennart Poettering [Wed, 14 Oct 2020 17:41:01 +0000 (19:41 +0200)] 
Merge pull request #17350 from poettering/bus-read-array

sd-bus: initialize return values on success in sd_bus_message_read_ar…

3 years agobootctl: separate boot loader specific commands in man and --help
Lennart Poettering [Tue, 13 Oct 2020 11:40:21 +0000 (13:40 +0200)] 
bootctl: separate boot loader specific commands in man and --help

bootctl implements three types of operation: those that work with an EFI
boot loader, those which work with any EFI boot loader that implements
the boot loader spec + interface, and finally those specific to sd-boot.
Previously the --help text and the man page mixed them all up. Let's put
them clearly in three separate sections however, to communicate clearly
what is supposed to work everywhere, and what is specific to
systemd-boot or boot loaders implementing the two specs.

This adjusts wording here and there, but is mostly just about
re-ordering existing docs, and putting them under new sections.