systemd/.git
5 years agoudev: Fix SIGSEGV in AlternativeNamesPolicy handling
Lénaïc Huard [Wed, 1 Apr 2020 21:45:08 +0000 (23:45 +0200)]
udev: Fix SIGSEGV in AlternativeNamesPolicy handling

The function sd_device_get_property_value has some paths where it exits without
touching the n pointer. In those cases, n remained uninitialized until it was
eventually read inside isempty where it caused the segmentation fault.

Fixes #15078

(cherry picked from commit 61fd7d6720c562c88ab79062ff8d131e5e3c7b1b)

5 years agoman: mention that stdout logging works the same as stderr logging v245.4
Lennart Poettering [Tue, 31 Mar 2020 13:59:29 +0000 (15:59 +0200)]
man: mention that stdout logging works the same as stderr logging

Apparently people wondered about that:

https://lists.freedesktop.org/archives/systemd-devel/2020-March/044091.html
(cherry picked from commit 9e76a88fafcba7d5bd7736013b6cb2eb291a006f)

5 years agouserwork: fix signal worker sends to manager requesting more workers
Lennart Poettering [Mon, 30 Mar 2020 13:42:02 +0000 (15:42 +0200)]
userwork: fix signal worker sends to manager requesting more workers

That's what you get for changing these signals around, after checking
everything works, not before.

Bad, Lennart, bad!

Fixes: #15085
(cherry picked from commit e3028514aeb7feee67b4c4747a3af52d09a3e9fd)

5 years agounits: do not pull in home.mount from systemd-homed.service
Lennart Poettering [Tue, 31 Mar 2020 09:35:08 +0000 (11:35 +0200)]
units: do not pull in home.mount from systemd-homed.service

/home is posibly a remote file system. it makes sense to order homed
after it, so that we can properly enumerate users in it, but we probably
shouldn't pull it in ourselves, and leave that to users to configure
otherwise.

Fixes: #15102
(cherry picked from commit 286fe8ee2132b058c98051cd106c468b011f0418)

5 years agohome: fix several typos
Vito Caputo [Tue, 31 Mar 2020 10:50:13 +0000 (03:50 -0700)]
home: fix several typos

(cherry picked from commit 80ace4f25e08989c84302fdd8d38f000ded2eaee)

5 years agohomectl: fix a typo
Piero La Terza [Mon, 30 Mar 2020 19:21:21 +0000 (21:21 +0200)]
homectl: fix a typo

stroage -> storage

(cherry picked from commit 36e4a8f22a766345e433a74cfa3feeed1063e91a)

5 years agoimport: Only keep RO copy if ETag header is set
Kevin Kuehler [Sun, 15 Mar 2020 20:46:27 +0000 (13:46 -0700)]
import: Only keep RO copy if ETag header is set

We fix the case when the webserver servers container images without
setting the ETag header in the response.  When an image is downloaded to
image root, a read only copy is stored alongside it.  The filename has
the following form:
    .raw-<encoded-url-of-image>.\x22<ETAG-header>\22.raw.
This is so, if the same resource is fetched multiple times, importd can
avoid extra downloads by creating the new image using the local read-only copy.

The current code assumes the ETag header is set because, if the server
does not set the ETag header, the file is stored without the ETag value
in the filename. When importd fetches a duplicate image, it will run
rename_noreplace and fail:

  Failed to rename raw file to /var/lib/machines/.raw-http:\x2f\x2flocalhost:8000\x2fwalkthroughd.raw: File exists

This patch makes importd only store a read-only image if the webserver
has set the ETag header.

(cherry picked from commit 50dfca2eaf325835c2bd75565f65bfbe84d3cae5)

5 years agonss-systemd: add missing jump to unlock mutex
Zbigniew Jędrzejewski-Szmek [Sat, 28 Mar 2020 12:03:06 +0000 (13:03 +0100)]
nss-systemd: add missing jump to unlock mutex

CID#1412415.

(cherry picked from commit e7e9a9d0dce3fe1a133a42f69a2547749b5bcd46)

5 years agobasic: Fix capability_ambient_set_apply for kernels < 4.3
Kevin Kuehler [Fri, 27 Mar 2020 22:57:02 +0000 (15:57 -0700)]
basic: Fix capability_ambient_set_apply for kernels < 4.3

https://github.com/systemd/systemd/pull/14133 made
capability_ambient_set_apply() acquire capabilities that were explicitly
asked for and drop all others. This change means the function is called
even with an empty capability set, opening up a code path for users
without ambient capabilities to call this function. This function will
error with EINVAL out on kernels < 4.3 because PR_CAP_AMBIENT is not
understood. This turns capability_ambient_set_apply() into a noop for
kernels < 4.3

Fixes https://github.com/systemd/systemd/issues/15225

(cherry picked from commit 7ea4392f1e444388caa706d6bd64fb7b30dc2903)

5 years agosd-journal: remove the dead code and actually fix #14695
Michal Sekletár [Fri, 27 Mar 2020 16:01:59 +0000 (17:01 +0100)]
sd-journal: remove the dead code and actually fix #14695

journal_file_fstat() returns an error if we call it on already unlinked
journal file and hence we never reach remove_file_real() which is the
entire point.

I must have made some mistake while testing the fix that got me thinking
the issue is gone while opposite was true.

Fixes #14695

(cherry picked from commit 8581b9f9732d4c158bb5f773230a65ce77f2c292)

5 years agouser-util: switch order of checks in valid_user_group_name_or_id_full()
Lennart Poettering [Mon, 30 Mar 2020 19:46:01 +0000 (21:46 +0200)]
user-util: switch order of checks in valid_user_group_name_or_id_full()

When we are supposed to accept numeric UIDs formatted as string, then
let's check that first, before passing things on to
valid_user_group_name_full(), since that might log about, and not the
other way round.

See: #15201
Follow-up for: 93c23c9297e48e594785e0bb9c51504aae5fbe3e

(cherry picked from commit a85daa0dfb3eb03be9845760e90e54b9af8fb00e)

5 years agouser-util: Allow names starting with a digit
Balint Reczey [Wed, 18 Mar 2020 17:29:02 +0000 (18:29 +0100)]
user-util: Allow names starting with a digit

In 1a29610f5fa1bcb2eeb37d2c6b79d8d1a6dbb865 the change inadvertedly
disabled names with digit as the first character. This follow-up change
allows a digit as the first character in compat mode.

Fixes: #15141
(cherry picked from commit 93c23c9297e48e594785e0bb9c51504aae5fbe3e)

5 years agoRemove stale doc about PrivateNetwork and type
Zhu Li [Wed, 25 Mar 2020 16:11:52 +0000 (11:11 -0500)]
Remove stale doc about PrivateNetwork and type

(cherry picked from commit 9520a0308d45ad9c885f5413238ecc54c643d972)

5 years agoAdd `shell` to machinectl ZSH completion
Pieter Lexis [Fri, 27 Mar 2020 10:26:14 +0000 (11:26 +0100)]
Add `shell` to machinectl ZSH completion

(cherry picked from commit 72e1c0b308ac0947d625766a59d07336ee42ec31)

5 years agoSilence Wstring-plus-int warning when using clangd with GCC.
Daan De Meyer [Sat, 21 Mar 2020 21:23:19 +0000 (22:23 +0100)]
Silence Wstring-plus-int warning when using clangd with GCC.

(cherry picked from commit f455f8633e3d829bca46dae68e0fb5ca10e8e139)

5 years agopath-lookup: Use default value for XDG_CONFIG_DIRS if environment is not set
David Edmundson [Wed, 25 Mar 2020 22:49:35 +0000 (22:49 +0000)]
path-lookup: Use default value for XDG_CONFIG_DIRS if environment is not set

If XDG_CONFIG_DIRS is unset, the specification says we should assume
/etc/xdg.

(cherry picked from commit f0d0698f0b7d565e6eade043450f7f5557c8db48)

5 years agonetwork: DHCP lease load SIP copy paste error v245.3
Susant Sahani [Sat, 21 Mar 2020 17:32:51 +0000 (18:32 +0100)]
network: DHCP lease load SIP copy paste error

(cherry picked from commit be1af905852d25e11fdf0cb4f37be2a58567dd94)

5 years agodavfs is a network file system
pelzvieh [Mon, 23 Mar 2020 10:15:11 +0000 (11:15 +0100)]
davfs is a network file system

(cherry picked from commit 137d4487511b3221d3c9165326bf55f297dcd5a6)

5 years agounits: Don't mount tracefs in LXC
Balint Reczey [Sun, 22 Mar 2020 20:37:06 +0000 (21:37 +0100)]
units: Don't mount tracefs in LXC

Mounting tracefs fails in unprivileged LXC containers and latest LXD
(3.23) bind mounts tracefs already.

Fixes https://github.com/lxc/lxd/issues/7059

(cherry picked from commit cdc6c95737d26b1746b446dfe662872d593d23c6)

5 years agoswap: check p->what for NULL
Vito Caputo [Sat, 21 Mar 2020 05:47:38 +0000 (22:47 -0700)]
swap: check p->what for NULL

Commit 61f9cf4e4c introduced swap_get_parameters(s) but only
checked its return for NULL and not its ->what.

Fixes https://github.com/systemd/systemd/issues/15070

(cherry picked from commit d4a3494e65946ab78647b5277adcabed0ec43da3)

5 years agologin: allow non-console sessions to change vt
Arnaud Ferraris [Sat, 14 Mar 2020 01:08:50 +0000 (02:08 +0100)]
login: allow non-console sessions to change vt

When starting a wayland session through a systemd service for a non-root
user, the compositor (based on wlroots) is denied the authorization to
change vt.
Once the user logs in, either through a local console or via ssh, the
compositor can work properly.

This is related to the login polkit policy:
- `allow_inactive` has value `auth_admin_keep`, denying any non-root
  user session the authorization to change vt
- `allow_active` has value `yes`, which explains why the vt change
  becomes possible once the user logs in through another channel

By changing the `allow_inactive` value to `yes`, any user session setup
in a service file can switch vt, allowing wayland sessions for non-root
users.

(cherry picked from commit 19bb87fbfac8df67c0c8ff4714382a88733c61a2)

5 years agologind: log a more accurate error when we failed at session creation
Franck Bui [Tue, 17 Mar 2020 17:30:58 +0000 (18:30 +0100)]
logind: log a more accurate error when we failed at session creation

We used to log the following error:

  "Start job for unit user-1000.slice failed with 'canceled'"

which can be really misleading if the actual job failed at *stopping* a unit.

Indeed "Start" was hard coded but it was wrong since we can also fail with stop
jobs which are enqueued when a session is stopped.

(cherry picked from commit b39648ed47065202b343d1d4bde3232d81fdfecc)

5 years agocore: add support for setting CPUAffinity= to special "numa" value
Michal Sekletár [Mon, 17 Feb 2020 12:50:31 +0000 (13:50 +0100)]
core: add support for setting CPUAffinity= to special "numa" value

systemd will automatically derive CPU affinity mask from NUMA node
mask.

Fixes #13248

(cherry picked from commit e2b2fb7f566d13a3de61952b5356cd4d2eaee917)

5 years agoshared: split out NUMA code from cpu-set-util.c to numa-util.c
Michal Sekletár [Mon, 17 Feb 2020 12:04:08 +0000 (13:04 +0100)]
shared: split out NUMA code from cpu-set-util.c to numa-util.c

(cherry picked from commit 1808f76870d8368542f058b99df89cf0a4a2d011)

5 years agodocs: Add syntax for templated units to systemd.preset man page v245.2
Joerg Behrmann [Tue, 10 Mar 2020 15:34:13 +0000 (16:34 +0100)]
docs: Add syntax for templated units to systemd.preset man page

This documents the syntax

     enable template@.service foo bar baz

that was introduced in #9901 to preset templated units.

(cherry picked from commit 1f667d8a7cff4355cd23ebebeb4d7179e3498eb8)

5 years agoman: add a tiny bit of markup
Zbigniew Jędrzejewski-Szmek [Wed, 11 Mar 2020 08:10:22 +0000 (09:10 +0100)]
man: add a tiny bit of markup

(cherry picked from commit 0b1b0a01ab22c088046634c46c496022e7e60673)

5 years agohome: fix segfault when parsing arguments in PAM module
Haochen Tong [Sun, 15 Mar 2020 22:34:35 +0000 (23:34 +0100)]
home: fix segfault when parsing arguments in PAM module

(cherry picked from commit f12d19b30447a771ba6dd551ac05a4ba6de2a976)

5 years agotest: wait a bit after starting the test service
Frantisek Sumsal [Sat, 14 Mar 2020 09:36:17 +0000 (10:36 +0100)]
test: wait a bit after starting the test service

otherwise we might end up being faster than the unit itself, causing
unexpected fails, like:

```
testsuite.sh[297]: + systemctl start issue_14566_test
testsuite.sh[297]: + systemctl status issue_14566_test
testsuite.sh[304]: ● issue_14566_test.service - Issue 14566 Repro
testsuite.sh[304]:      Loaded: loaded (/etc/systemd/system/issue_14566_test.service; static; vendor preset: enabled)
testsuite.sh[304]:      Active: active (running) since Sat 2020-03-14 02:02:23 UTC; 417ms ago
testsuite.sh[304]:    Main PID: 301 ((repro.sh))
testsuite.sh[304]:       Tasks: 1 (limit: 535)
testsuite.sh[304]:      Memory: 180.0K
testsuite.sh[304]:         CPU: 122ms
testsuite.sh[304]:      CGroup: /system.slice/issue_14566_test.service
testsuite.sh[304]:              └─301 [(repro.sh)]
testsuite.sh[307]: ++ cat /leakedtestpid
testsuite.sh[307]: cat: /leakedtestpid: No such file or directory
testsuite.sh[297]: + leaked_pid=
```

(cherry picked from commit 197298ff9fc930de450330095cc5b67d165d0801)

5 years agofix journalctl regression (#15099)
Georg Müller [Thu, 12 Mar 2020 19:02:21 +0000 (20:02 +0100)]
fix journalctl regression (#15099)

This regression was introduced in #14913.

The current_file variable can be NULL, as, for example, with the
following commands:

* journalctl --list-boots
* journalctl -b -1 --no-pager

Since current_file is only checked for pointer equality with f, removing
the assertion is safe here.

(cherry picked from commit 8d0726fcd7b72f2a6f75dd731cbf7c8d4df107ef)

5 years agoNEWS: add late note about job trimming issue
Zbigniew Jędrzejewski-Szmek [Thu, 12 Mar 2020 14:21:42 +0000 (15:21 +0100)]
NEWS: add late note about job trimming issue

Closes #15091.

(cherry picked from commit 2ca17c7801b82bff793f4280cc8fa50cf9e0fc7c)

5 years agosystemctl: hide the 'glyph' column when --no-legend is requested
Frantisek Sumsal [Wed, 11 Mar 2020 12:28:51 +0000 (13:28 +0100)]
systemctl: hide the 'glyph' column when --no-legend is requested

Fixes: #15077
(cherry picked from commit d171e679e7d4f380dceff39611a125b096babf00)

5 years agoformat-table: allow hiding a specific column
Frantisek Sumsal [Wed, 11 Mar 2020 12:27:43 +0000 (13:27 +0100)]
format-table: allow hiding a specific column

without having to specify the whole display map

(cherry picked from commit 0080964cc87e8e2c9904816bf67198b9119ed473)

5 years agocore: transition to FINAL_SIGTERM state after ExecStopPost=
Anita Zhang [Sat, 25 Jan 2020 15:46:16 +0000 (16:46 +0100)]
core: transition to FINAL_SIGTERM state after ExecStopPost=

Fixes #14566

(cherry picked from commit c1566ef0d22ed786b9ecf4c476e53b8a91e67578)

5 years agojournalctl: show duplicate entries if they are from the same file (#14898)
Georg Müller [Thu, 20 Feb 2020 18:19:41 +0000 (19:19 +0100)]
journalctl: show duplicate entries if they are from the same file (#14898)

When having a service which intentionally outputs multiple equal lines,
all these messages might be inserted with the same timestamp.

journalctl has a mechanism to avoid duplicate lines, which might be in
different journal files.

This patch allows duplicate lines, if they are from the same file.

(cherry picked from commit b6849042d610da90d5821a03967d648d424f7864)

5 years agonamespace: ignore prefix chars when comparing paths
Topi Miettinen [Tue, 10 Mar 2020 14:43:10 +0000 (16:43 +0200)]
namespace: ignore prefix chars when comparing paths

Other callers of path_strv_contains() or PATH_IN_SET() don't seem to handle
paths prefixed with -+.

(cherry picked from commit de46b2be07538b55df0ba5e312a89eebb87c710a)

5 years agoudev: fix SECLABEL{selinux} issue (#15064)
Valery0xff [Wed, 11 Mar 2020 00:20:36 +0000 (02:20 +0200)]
udev: fix SECLABEL{selinux} issue (#15064)

Add SECLABEL{selinux}="some value" cause udevadm crash
systemd-udevd[x]: Worker [x] terminated by signal 11 (SEGV)

It happens since 25de7aa7b90 (Yu Watanabe 2019-04-25 01:21:11 +0200)
when udev rules processing changed to token model. Yu forgot store
attr to SECLABEL token so fix it.

(cherry picked from commit 0335d110afc08baf47d76b7011ce02510dfdd524)

5 years agodissect-image: avoid scanning partitions
Topi Miettinen [Mon, 9 Mar 2020 12:01:06 +0000 (14:01 +0200)]
dissect-image: avoid scanning partitions

In case the dissected image has a filesystem, don't scan for partitions. This
avoids problems with services using a `RootImage=` in early boot when udevd is
not yet started.

(cherry picked from commit 0108c42f59dd5848f6b561f260dc6ff3e19d651b)

5 years agotest: ignore IAB capabilities in `test-execute`
Frantisek Sumsal [Mon, 9 Mar 2020 10:00:58 +0000 (11:00 +0100)]
test: ignore IAB capabilities in `test-execute`

libcap v2.33 introduces a new capability set called IAB[0] which is shown
in the output of `capsh --print` and interferes with the test checks. Let's
drop the IAB set from the output, for now, to mitigate this.

This could be (and probably should be) replaced in the future by the
newly introduced testing options[1][2] in libcap v2.32, namely:
    --has-p=xxx
    --has-i=xxx
    --has-a=xxx

but this needs to wait until the respective libcap version gets a wider
adoption. Until then, let's stick with the relatively ugly sed.

Fixes: #15046

[0] https://git.kernel.org/pub/scm/libs/libcap/libcap.git/commit/?id=943b011b5e53624eb9cab4e96c1985326e077cdd
[1] https://git.kernel.org/pub/scm/libs/libcap/libcap.git/commit/?id=588d0439cb6495b03f0ab9f213f0b6b339e7d4b7
[2] https://git.kernel.org/pub/scm/libs/libcap/libcap.git/commit/?id=e7709bbc1c4712f2ddfc6e6f42892928a8a03782

(cherry picked from commit e9cdcbed77971da3cb0b98b3eb91081142c91eb7)

5 years agotest: add a test case for migrating DynamicUser=yes to no
Yu Watanabe [Fri, 6 Mar 2020 08:34:55 +0000 (17:34 +0900)]
test: add a test case for migrating DynamicUser=yes to no

(cherry picked from commit abaaa79b22f48dac0b45737fcef730fc3471384c)

5 years agoexecute: Fix migration from DynamicUser=yes to no
Yu Watanabe [Fri, 6 Mar 2020 06:56:28 +0000 (15:56 +0900)]
execute: Fix migration from DynamicUser=yes to no

Closes #12131.

(cherry picked from commit 578dc69f2a60d6282acc2d06ce8a3bf8a9d8ada0)

5 years agohomed: replace "home directory" with "home area" in a few places
Zbigniew Jędrzejewski-Szmek [Wed, 11 Mar 2020 12:07:10 +0000 (13:07 +0100)]
homed: replace "home directory" with "home area" in a few places

(cherry picked from commit b5947b5b100f694c93857a82018fb0656d08be34)

5 years agoshared/ask-password-api: do not show hint on echo
Christian Hesse [Wed, 11 Mar 2020 19:39:07 +0000 (20:39 +0100)]
shared/ask-password-api: do not show hint on echo

Giving --echo to systemd-ask-password allows to echo the user input instead
of masking it. This is useful when querying for usernames or similar.

Showing "(press TAB for no echo)" does not make sense there, so do not.
Note that pressing TAB or ESC still disables echo.

(cherry picked from commit ddee0e815ed5500722019bcb807957ea6846212d)

5 years agoanalyze: fix table time output v245.1
Haochen Tong [Mon, 9 Mar 2020 09:43:09 +0000 (10:43 +0100)]
analyze: fix table time output

(cherry picked from commit 47cc458e97a3825d57462bad2ee854903364512e)

5 years agoSupport compiling with clang and gnu11 standard
Denis Pronin [Sun, 8 Mar 2020 20:57:07 +0000 (23:57 +0300)]
Support compiling with clang and gnu11 standard

Signed-off-by: Denis Pronin <dannftk@yandex.ru>
(cherry picked from commit 36e0d89a88c51ba879a2d7e2f90ea9b38333e2c0)

5 years agoTypo fix
bemarek [Sun, 8 Mar 2020 21:39:01 +0000 (22:39 +0100)]
Typo fix

(cherry picked from commit 1cee1c52833fb6e3829e510109404852a17e5bdd)

5 years agoUpdate Croatian translation (#15042)
gogogogi [Sun, 8 Mar 2020 21:06:12 +0000 (22:06 +0100)]
Update Croatian translation (#15042)

(cherry picked from commit 51915ca447027249b6decb8a3333ed388fdfcca7)

5 years agoboot: Ensure ARM UEFI binary does not contain FP/SIMD instructions
James T. Lee [Sat, 7 Mar 2020 23:05:34 +0000 (18:05 -0500)]
boot: Ensure ARM UEFI binary does not contain FP/SIMD instructions

ARM toolchains will sometimes optimize otherwise floating-point-free
code with floating point and SIMD instructions.  This was happening with
systemd-bootarm.efi and it was causing U-Boot to crash and reset the
CPU.  U-Boot does not support the ARM VFP floating point coprocessor,
which is an optional piece of hardware anyway [1].

Ensure the compiler does not generate FP/SIMD instructions by supplying
the `-mgeneral-regs-only` option when building for ARM [2].

The other option you often see to solve these problems is
`-msoft-float`, but that changes the ABI and prevents linking with
libgnuefi.

[1] https://lists.denx.de/pipermail/u-boot/2011-February/087736.html
[2] https://gcc.gnu.org/onlinedocs/gcc/ARM-Options.html#index-mgeneral-regs-only-1

(cherry picked from commit 1ad6056239b70ce69ea70108cf4e49a05a9c2a1d)

5 years agocore: Fix resolution of nested DM devices for cgroups
Benjamin Berg [Thu, 5 Mar 2020 10:35:45 +0000 (11:35 +0100)]
core: Fix resolution of nested DM devices for cgroups

When using the cgroups IO controller, the device that is controlled
should always be the toplevel block device. This did not get resolved
correctly for an LVM volume inside a LUKS device, because the code would
only resolve one level of indirection.

Fix this by recursively looking up the originating block device for DM
devices.

Resolves: #15008

5 years agoFix typo on initrd-root-device.target
antznin [Fri, 6 Mar 2020 12:51:28 +0000 (13:51 +0100)]
Fix typo on initrd-root-device.target

5 years agoMerge pull request #15034 from keszybz/hwdb-update v245
Zbigniew Jędrzejewski-Szmek [Fri, 6 Mar 2020 12:38:52 +0000 (13:38 +0100)]
Merge pull request #15034 from keszybz/hwdb-update

5 years agoNEWS: final contributor update for v245
Zbigniew Jędrzejewski-Szmek [Fri, 6 Mar 2020 12:25:21 +0000 (13:25 +0100)]
NEWS: final contributor update for v245

5 years agoMerge pull request #15022 from keszybz/make-units-remain-after-exit
Yu Watanabe [Fri, 6 Mar 2020 12:14:36 +0000 (21:14 +0900)]
Merge pull request #15022 from keszybz/make-units-remain-after-exit

Make units remain after exit

5 years agohwdb: update for v245
Zbigniew Jędrzejewski-Szmek [Fri, 6 Mar 2020 11:41:29 +0000 (12:41 +0100)]
hwdb: update for v245

5 years agounits: skip modprobe@.service if the unit appears to be already loaded
Zbigniew Jędrzejewski-Szmek [Thu, 5 Mar 2020 06:20:49 +0000 (07:20 +0100)]
units: skip modprobe@.service if the unit appears to be already loaded

Possible alternative to #14819.

For me, setting RemainAfterExit=yes would be OK, but if people think that it
might cause issues, then this could be a reasonable alternative that still
let's us skip the invocation of the separate binary.

5 years agotreewide: more portable bash shebangs
Jörg Thalheim [Wed, 4 Mar 2020 09:35:06 +0000 (09:35 +0000)]
treewide: more portable bash shebangs

As in 2a5fcfae024ffc370bb780572279f45a1da3f946
and in 3e67e5c9928f8b1e1c5a63def88d53ed1fed12eb
using /usr/bin/env allows bash to be looked up in PATH
rather than being hard-coded.

As with the previous changes the same arguments apply
- distributions have scripts to rewrite shebangs on installation and
  they know what locations to rely on.
- For tests/compilation we should rather rely on the user to have setup
  there PATH correctly.

In particular this makes testing from git easier on NixOS where do not provide
/bin/bash to improve compose-ability.

5 years agoUse Finished instead of Started for Type=oneshot services (#14851)
Zbigniew Jędrzejewski-Szmek [Thu, 5 Mar 2020 16:24:19 +0000 (17:24 +0100)]
Use Finished instead of Started for Type=oneshot services (#14851)

UnitStatusMessageFormats.finished_job, if present,
will be called with the same arguments as
job_get_done_status_message_format() to provide a format string
appropriate for the context

This commit replaces "Started" with "Finished" for started oneshot
units, as mentioned in the referenced issue

Closes #2458.

5 years agounits: make systemd-network-generator.service stay around
Zbigniew Jędrzejewski-Szmek [Thu, 5 Mar 2020 07:08:31 +0000 (08:08 +0100)]
units: make systemd-network-generator.service stay around

Once done, its done, and shouldn't be run again.

5 years agoMerge pull request #15013 from systemd/systemctl-list-dependencies
Yu Watanabe [Thu, 5 Mar 2020 11:54:58 +0000 (20:54 +0900)]
Merge pull request #15013 from systemd/systemctl-list-dependencies

systemctl list-dependencies: fix duplicate output and take multiple arguments

5 years agoMerge pull request #15023 from keszybz/network-generator-man
Yu Watanabe [Thu, 5 Mar 2020 11:54:32 +0000 (20:54 +0900)]
Merge pull request #15023 from keszybz/network-generator-man

Man page for systemd-network-generator

5 years agosystemctl: make list-dependencies take multiple arguments
Zbigniew Jędrzejewski-Szmek [Wed, 4 Mar 2020 08:55:29 +0000 (09:55 +0100)]
systemctl: make list-dependencies take multiple arguments

Other similar commands do, no reason not to do this here too.

5 years agoman: mention networkctl in the networkd man page
Zbigniew Jędrzejewski-Szmek [Thu, 5 Mar 2020 07:20:31 +0000 (08:20 +0100)]
man: mention networkctl in the networkd man page

5 years agoman: add systemd-network-generator.service(8)
Zbigniew Jędrzejewski-Szmek [Thu, 5 Mar 2020 07:05:24 +0000 (08:05 +0100)]
man: add systemd-network-generator.service(8)

It's a bit bare-bones, but it should be enough to point the reader in the right
direction.

5 years agounits: restore RemainAfterExit=yes in systemd-vconsole-setup.service
Zbigniew Jędrzejewski-Szmek [Thu, 5 Mar 2020 06:11:09 +0000 (07:11 +0100)]
units: restore RemainAfterExit=yes in systemd-vconsole-setup.service

This reverts the second part of 8125e8d38e3aa099c7dce8b0161997b8842aebdc.
The first part was reverted in 750e550eba362096d56a35104c6a32631aa67b8e.
The problem starts when s-v-s.s is pulled in by something that is then pulled
in by sysinit.target. Every time a unit is started, systemd recursively checks
all dependencies, and since sysinit.target is pull in by almost anything, we'll
start s-v-s.s over and over. In particular, plymouth-start.service currently
has Wants=s-v-s.s and After=s-v-s.s.

5 years agopid1: remove unnecessary terminator
Zbigniew Jędrzejewski-Szmek [Thu, 5 Mar 2020 07:06:43 +0000 (08:06 +0100)]
pid1: remove unnecessary terminator

We specify the number of items as the first argument already.

5 years agoman: update list of supported controllers
Anita Zhang [Thu, 5 Mar 2020 01:31:36 +0000 (17:31 -0800)]
man: update list of supported controllers

5 years agounits: do not ignore return value from systemd --user
Zbigniew Jędrzejewski-Szmek [Wed, 4 Mar 2020 13:21:37 +0000 (14:21 +0100)]
units: do not ignore return value from systemd --user

This minus has been there since the unit was added in
d42d27ead91e470cb12986d928441e56c0f543ca. I think the idea was not cause things
to fail if the user instance doesn't work. But ignoring the return value
doesn't seem to be the right way to approach the problem. In particular, if
the program fails to run, we'll get a bogus fail state, see
https://bugzilla.redhat.com/show_bug.cgi?id=1727895#c1:

with the minus:
$ systemctl start user@1002
Job for user@1002.service failed because the service did not take the steps required by its unit configuration.
See "systemctl status user@1002.service" and "journalctl -xe" for details.

without the minus:
$ systemctl start user@1002
Job for user@1002.service failed because the control process exited with error code.
See "systemctl status user@1002.service" and "journalctl -xe" for details.

5 years agopid1, nspawn: voidify loopback_setup()
Yu Watanabe [Wed, 4 Mar 2020 12:20:31 +0000 (21:20 +0900)]
pid1, nspawn: voidify loopback_setup()

5 years agotimesync, meson: allow statically linked build
Robert Scheck [Sat, 8 Feb 2020 13:02:09 +0000 (14:02 +0100)]
timesync, meson: allow statically linked build

Build option "link-timesyncd-shared" to build a statically linked
systemd-timesyncd by using

  -Dlink-udev-shared=false -Dlink-timesyncd-shared=false

on systems with full systemd stack except systemd-timesyncd, such
as RHEL/CentOS 8.

5 years agosystemctl: do not print items twice in list-dependencies
Zbigniew Jędrzejewski-Szmek [Wed, 4 Mar 2020 08:33:12 +0000 (09:33 +0100)]
systemctl: do not print items twice in list-dependencies

Fixes https://bugzilla.redhat.com/show_bug.cgi?id=1807485.

5 years agomake namespace_flags_to_string() not return empty string
Yu Watanabe [Tue, 3 Mar 2020 15:52:40 +0000 (00:52 +0900)]
make namespace_flags_to_string() not return empty string

This improves the following debug log.

Before:
systemd[1162]: Restricting namespace to: .

After:
systemd[1162]: Restricting namespace to: n/a.

5 years agoMerge pull request #15009 from keszybz/version-and-doc-updates
Zbigniew Jędrzejewski-Szmek [Tue, 3 Mar 2020 19:29:12 +0000 (20:29 +0100)]
Merge pull request #15009 from keszybz/version-and-doc-updates

Version and doc updates

5 years agoMerge pull request #15002 from keszybz/sysusers-no-proc
Zbigniew Jędrzejewski-Szmek [Tue, 3 Mar 2020 19:28:02 +0000 (20:28 +0100)]
Merge pull request #15002 from keszybz/sysusers-no-proc

Make systemd-sysusers work if /proc is unavailable

5 years agolgtm: drop the TMPDIR/meson workaround
Frantisek Sumsal [Tue, 3 Mar 2020 15:40:48 +0000 (16:40 +0100)]
lgtm: drop the TMPDIR/meson workaround

The underlying issue seems to be fixed, so let's drop the now obsolete
workarounds.

Introduced in 65be7042a876ffe186a42ced04cde60ed81d3136

5 years agoman: document that .link/.network/.netdev files have the usual ini syntax
Zbigniew Jędrzejewski-Szmek [Tue, 3 Mar 2020 18:08:26 +0000 (19:08 +0100)]
man: document that .link/.network/.netdev files have the usual ini syntax

Fixes #1266.

5 years agodocs: add .link/.network/.netdev files to interface stability chart
Zbigniew Jędrzejewski-Szmek [Tue, 3 Mar 2020 17:42:22 +0000 (18:42 +0100)]
docs: add .link/.network/.netdev files to interface stability chart

Fixes #9850.

5 years agoman: document the default value for IPv6AcceptRA=
Zbigniew Jędrzejewski-Szmek [Tue, 3 Mar 2020 17:36:03 +0000 (18:36 +0100)]
man: document the default value for IPv6AcceptRA=

Fixes #14121.

5 years agoman: specify that Domains= is a space-separated list
Zbigniew Jędrzejewski-Szmek [Tue, 3 Mar 2020 17:03:53 +0000 (18:03 +0100)]
man: specify that Domains= is a space-separated list

Fixes #14998.

5 years agohwdb: add corrections for Olimex Teres-I to keyboard hwdb
Daniel Lublin [Tue, 3 Mar 2020 14:59:43 +0000 (15:59 +0100)]
hwdb: add corrections for Olimex Teres-I to keyboard hwdb

The firmware of the Olimex Teres-I (a DIY laptop kit) seems to have wrong
scancodes.

Fixes #15003.

5 years agotree-wide: fix spelling of lookup and setup verbs
Zbigniew Jędrzejewski-Szmek [Tue, 3 Mar 2020 14:00:53 +0000 (15:00 +0100)]
tree-wide: fix spelling of lookup and setup verbs

"set up" and "look up" are the verbs, "setup" and "lookup" are the nouns.

5 years agotree-wide: drop printk.devkmsg=on setting in various places
Zbigniew Jędrzejewski-Szmek [Tue, 3 Mar 2020 13:57:03 +0000 (14:57 +0100)]
tree-wide: drop printk.devkmsg=on setting in various places

Since 6123dfaa72 this should not be necessary anymore.

5 years agoman,mkosi: use glibc-minimal-langpack for Fedora
Zbigniew Jędrzejewski-Szmek [Tue, 3 Mar 2020 13:50:58 +0000 (14:50 +0100)]
man,mkosi: use glibc-minimal-langpack for Fedora

This saves ~24MB of space, see
https://fedoraproject.org/wiki/Changes/Remove_glibc-langpacks-all_from_buildroot.

5 years agoman: bump fedora versions
Zbigniew Jędrzejewski-Szmek [Tue, 3 Mar 2020 13:48:54 +0000 (14:48 +0100)]
man: bump fedora versions

5 years agoMerge pull request #14874 from bluca/portable_detach_now_block
Zbigniew Jędrzejewski-Szmek [Tue, 3 Mar 2020 13:40:12 +0000 (14:40 +0100)]
Merge pull request #14874 from bluca/portable_detach_now_block

portablectl: block when stopping a unit on detach (--now)

5 years agohwdb: 60-sensor.hwdb: Add proximity sensor udev property (#14845)
Guido Günther [Tue, 3 Mar 2020 13:40:00 +0000 (14:40 +0100)]
hwdb: 60-sensor.hwdb: Add proximity sensor udev property (#14845)

Devices with proximity sensors can specify a near level that
indicates when an object is considered close to the device.

5 years agoselinux: check return value of string_to_security_class()
Christian Göttsche [Mon, 2 Mar 2020 16:53:20 +0000 (17:53 +0100)]
selinux: check return value of string_to_security_class()

This should never happen, but better safe than sorry.

5 years agodrop unused translations
Vladimir Yerilov [Tue, 3 Mar 2020 10:45:43 +0000 (20:45 +1000)]
drop unused translations

5 years agoupdate Russian translation
Vladimir Yerilov [Tue, 3 Mar 2020 09:23:09 +0000 (19:23 +1000)]
update Russian translation

5 years agosysusers: do not require /proc to be mounted
Zbigniew Jędrzejewski-Szmek [Tue, 3 Mar 2020 10:58:07 +0000 (11:58 +0100)]
sysusers: do not require /proc to be mounted

We're operating on known paths in root-owned directories here, so the detour
through toctou-safe methods that require /proc to be mounted is not necessary.
Should fix https://bugzilla.redhat.com/show_bug.cgi?id=1807768.

5 years agoNEWS: Use correct tense in v245 entry
Paul Menzel [Tue, 3 Mar 2020 11:19:41 +0000 (12:19 +0100)]
NEWS: Use correct tense in v245 entry

5 years agobasic/fs-util: add a version of chmod_and_chown that doesn not use /proc
Zbigniew Jędrzejewski-Szmek [Tue, 3 Mar 2020 10:51:50 +0000 (11:51 +0100)]
basic/fs-util: add a version of chmod_and_chown that doesn not use  /proc

5 years agosysusers: many different errnos to express one condition
Zbigniew Jędrzejewski-Szmek [Tue, 3 Mar 2020 09:18:32 +0000 (10:18 +0100)]
sysusers: many different errnos to express one condition

See https://bugzilla.redhat.com/show_bug.cgi?id=1807768. It turns
out that sysusers cannot query if the group exists:
Failed to check if group dnsmasq already exists: No such process
...
Failed to check if group systemd-timesync already exists: No such process

When the same command is executed later, the issue does not occur. Not sure why
the behaviour in the initial transaction is different. But let's accept all
errors that the man pages list. We check if the user/group exists before creating
anyway, so this seems pretty safe.

5 years agoNEWS: two minor entries v245-rc2
Zbigniew Jędrzejewski-Szmek [Tue, 3 Mar 2020 07:41:00 +0000 (08:41 +0100)]
NEWS: two minor entries

5 years agoNEWS: update contributors list
Zbigniew Jędrzejewski-Szmek [Tue, 3 Mar 2020 07:31:06 +0000 (08:31 +0100)]
NEWS: update contributors list

5 years agohwdb: update for v245-rc2
Zbigniew Jędrzejewski-Szmek [Mon, 2 Mar 2020 20:45:56 +0000 (21:45 +0100)]
hwdb: update for v245-rc2

5 years agonetwork: Move config_parse_ip_service_type to networkd-dhcp4.c and
Susant Sahani [Mon, 2 Mar 2020 20:44:01 +0000 (21:44 +0100)]
network: Move config_parse_ip_service_type to networkd-dhcp4.c and
rename

5 years agoMerge pull request #14992 from keszybz/syslog-address-length-fix
Zbigniew Jędrzejewski-Szmek [Mon, 2 Mar 2020 20:31:24 +0000 (21:31 +0100)]
Merge pull request #14992 from keszybz/syslog-address-length-fix

Syslog address length fix

5 years agoask-password-api: drop unneeded parentheses
Zbigniew Jędrzejewski-Szmek [Mon, 2 Mar 2020 14:54:43 +0000 (15:54 +0100)]
ask-password-api: drop unneeded parentheses

5 years agocore/execute: use return value from sockaddr_un_set_path(), remove duplicate check
Zbigniew Jędrzejewski-Szmek [Mon, 2 Mar 2020 14:54:22 +0000 (15:54 +0100)]
core/execute: use return value from sockaddr_un_set_path(), remove duplicate check

5 years agohomed,userdb: don't use sockaddr_un_set_path() on fixed addresses
Zbigniew Jędrzejewski-Szmek [Mon, 2 Mar 2020 14:53:14 +0000 (15:53 +0100)]
homed,userdb: don't use sockaddr_un_set_path() on fixed addresses

Let's use structured initialization and let the compiler do its job.

5 years agotree-wide: use the return value from sockaddr_un_set_path()
Zbigniew Jędrzejewski-Szmek [Mon, 2 Mar 2020 14:51:31 +0000 (15:51 +0100)]
tree-wide: use the return value from sockaddr_un_set_path()

It fully initializes the address structure, so no need for pre-initialization,
and also returns the length of the address, so no need to recalculate using
SOCKADDR_UN_LEN().

socklen_t is unsigned, so let's not use an int for it. (It doesn't matter, but
seems cleaner and more portable to not assume anything about the type.)