]> git.ipfire.org Git - thirdparty/systemd.git/log
thirdparty/systemd.git
2 years agojournal: add some line breaks/comments 26198/head
Lennart Poettering [Wed, 25 Jan 2023 14:05:36 +0000 (15:05 +0100)] 
journal: add some line breaks/comments

2 years agojournal-file: make strict order optional
Lennart Poettering [Thu, 19 Jan 2023 21:45:06 +0000 (22:45 +0100)] 
journal-file: make strict order optional

This is a follow-up for 1d8d483f59ffa62974772fb58a8ef4abe88550ec and
makes the strict ordering by realtime clock within each journal file
optional, not mandatory. It then enables it for all journal files
written by journald, but leaves it off on others (for example those
written by journald-remote).

This relaxes the logic behind writing journal files to the status quo
ante for all cases where the journal files are not generated, but are
merged/processed/propagated. Typically when processing journal records
from many files ordering by realtime clock and monotonic clock are
contradictory, and cannot be universally guaranteed as the records are
interleaved. By enforcing strict rules we would thus end up generating
myriads of separate journal files, each with just a few records in them.

Hence, let's losen restrictions again, but continue to enforce them in
journald, i.e. when we original create the journal files locally.

Note that generally there's nothing really wring with having journal
files with non-monotonically ordered entries by realtime clock. Looking
for records will not be deterministic anymore, but that's inherent to a
realtime clock that jumps up and down. So you won't get the "only"
answer, but still *a* answer that is correct if you seek for a realtime
clock.

This also adds similar logic on the monotonic clock, which is also only
enabled when generating journal files locally. This should be harder to
trigger (as journald will generate the messages, and should run with a
stable boot id and monotonic clock), but let's better be safe than
sorry, and refuse on the lower layer what makes no sense, even if it's
unlikely the higher layer will ever generate records that aren't ordered
by their monotonic clock.

2 years agoMerge pull request #26204 from poettering/journal-header-compoung-init
Lennart Poettering [Wed, 25 Jan 2023 20:22:07 +0000 (21:22 +0100)] 
Merge pull request #26204 from poettering/journal-header-compoung-init

journal: use compound initialization for journal file "Header" structure

2 years agoMerge pull request #26179 from medhefgo/boot-no-gnu-efi
Luca Boccassi [Wed, 25 Jan 2023 19:51:24 +0000 (19:51 +0000)] 
Merge pull request #26179 from medhefgo/boot-no-gnu-efi

boot: Use size_t/unicode string literals

2 years agorepart: Add roothash to output of all verity siblings
Daan De Meyer [Wed, 25 Jan 2023 14:56:30 +0000 (15:56 +0100)] 
repart: Add roothash to output of all verity siblings

This can be used to match verity partitions together using the repart
JSON output.

2 years agoMerge pull request #26195 from mrc0mmand/update-uapi
Luca Boccassi [Wed, 25 Jan 2023 19:49:00 +0000 (19:49 +0000)] 
Merge pull request #26195 from mrc0mmand/update-uapi

basic/linux: update l2tp.h

2 years agoMerge pull request #26192 from mrc0mmand/fix-errno-check
Luca Boccassi [Wed, 25 Jan 2023 19:48:23 +0000 (19:48 +0000)] 
Merge pull request #26192 from mrc0mmand/fix-errno-check

sysupdate: fix errno check

2 years agotest-execute: Skip when /sys is read-only
Daan De Meyer [Wed, 25 Jan 2023 08:39:13 +0000 (09:39 +0100)] 
test-execute: Skip when /sys is read-only

The test depends on /sys being writable, so let's skip it when /sys
is read-only.

2 years agotest: skip firstboot --prompt-keymap check if keymaps are missing
Michael Biebl [Wed, 25 Jan 2023 08:13:37 +0000 (09:13 +0100)] 
test: skip firstboot --prompt-keymap check if keymaps are missing

Fixes: #26165
2 years agoMerge pull request #26197 from poettering/journal-file-size-t-fix
Lennart Poettering [Wed, 25 Jan 2023 18:04:11 +0000 (19:04 +0100)] 
Merge pull request #26197 from poettering/journal-file-size-t-fix

journal: some trivial size_t array size fixes

2 years agojournal: use compound initialization for journal file Header structure 26204/head
Lennart Poettering [Wed, 25 Jan 2023 17:48:31 +0000 (18:48 +0100)] 
journal: use compound initialization for journal file Header structure

2 years agojournal-def: fix type of signature to match the actual field in the Header structure
Lennart Poettering [Wed, 25 Jan 2023 17:47:05 +0000 (18:47 +0100)] 
journal-def: fix type of signature to match the actual field in the Header structure

2 years agoboot: Use unicode literals 26179/head
Jan Janssen [Fri, 9 Dec 2022 10:15:41 +0000 (11:15 +0100)] 
boot: Use unicode literals

No changes in behavior.

2 years agoboot: Use unsigned for beep counting
Jan Janssen [Wed, 25 Jan 2023 14:23:49 +0000 (15:23 +0100)] 
boot: Use unsigned for beep counting

2 years agoboot: Replace UINTN with size_t
Jan Janssen [Fri, 9 Dec 2022 10:13:09 +0000 (11:13 +0100)] 
boot: Replace UINTN with size_t

No changes in behavior.

2 years agodlfcn: add new safe_dclose() helper
Lennart Poettering [Wed, 25 Jan 2023 10:54:44 +0000 (11:54 +0100)] 
dlfcn: add new safe_dclose() helper

Let's allow destructing loaded module handles in our usual way that is
fine with NULL handles, and also returns the NULL handle again.

2 years agopartition: fix build with newer linux/btrfs.h uapi header 26195/head
Frantisek Sumsal [Wed, 25 Jan 2023 12:21:09 +0000 (13:21 +0100)] 
partition: fix build with newer linux/btrfs.h uapi header

linux/btrfs.h needs  to be included after sys/mount.h, as since [0]
linux/btrfs.h includes linux/fs.h causing build errors:

```
In file included from /usr/include/linux/fs.h:19,
                 from ../src/basic/linux/btrfs.h:29,
                 from ../src/partition/growfs.c:6:
/usr/include/sys/mount.h:35:3: error: expected identifier before numeric constant
   35 |   MS_RDONLY = 1,                /* Mount read-only.  */
      |   ^~~~~~~~~
[1222/2169] Compiling C object systemd-creds.p/src_creds_creds.c.o
ninja: build stopped: subcommand failed.
```

See: https://github.com/systemd/systemd/issues/8507

[0] https://github.com/torvalds/linux/commit/a28135303a669917002f569aecebd5758263e4aa

2 years agobasic/linux: update linux uapi headers
Frantisek Sumsal [Wed, 25 Jan 2023 11:37:49 +0000 (12:37 +0100)] 
basic/linux: update linux uapi headers

IPPROTO_L2TP was moved from linux/l2tp.h to linux/in.h [0], so let's
reflect that change to fix build with newer kernels:

```
In file included from ../src/libsystemd/sd-netlink/netlink-types-genl.c:10:
../src/basic/linux/l2tp.h:16: error: "IPPROTO_L2TP" redefined [-Werror]
   16 | #define IPPROTO_L2TP            115
      |
In file included from ../src/libsystemd/sd-netlink/netlink-types-genl.c:3:
/usr/include/netinet/in.h:85: note: this is the location of the previous definition
   85 | #define IPPROTO_L2TP            IPPROTO_L2TP
      |
cc1: all warnings being treated as errors
```

When at it, update the rest of the headers we ship as well.

[0] https://github.com/torvalds/linux/commit/65b32f801bfbc54dc98144a6ec26082b59d131ee

2 years agojournal-file: cast file size to to fixed size type 26197/head
Lennart Poettering [Wed, 25 Jan 2023 13:09:19 +0000 (14:09 +0100)] 
journal-file: cast file size to to fixed size type

(We generally avoid using off_t for file sizes/offsets, and instead use
uint64_t to get the same behaviour everywhere. Do so here too.)

2 years agojournal-file: fix type of array counter
Lennart Poettering [Wed, 25 Jan 2023 13:07:50 +0000 (14:07 +0100)] 
journal-file: fix type of array counter

2 years agoMerge pull request #26193 from aafeijoo-suse/cryptenroll-unlock-fido2-device-man...
Luca Boccassi [Wed, 25 Jan 2023 13:15:13 +0000 (13:15 +0000)] 
Merge pull request #26193 from aafeijoo-suse/cryptenroll-unlock-fido2-device-man-and-bash-completion-fix

Add missing --unlock-fido2-device to systemd-cryptenroll man and bash-completion

2 years agoman: add missing --unlock-fido2-device to systemd-cryptenroll 26193/head
Antonio Alvarez Feijoo [Wed, 25 Jan 2023 10:58:19 +0000 (11:58 +0100)] 
man: add missing --unlock-fido2-device to systemd-cryptenroll

2 years agoupdate TODO
Lennart Poettering [Wed, 25 Jan 2023 10:54:02 +0000 (11:54 +0100)] 
update TODO

2 years agobash-completion: add missing --unlock-fido2-device to systemd-cryptenroll
Antonio Alvarez Feijoo [Wed, 25 Jan 2023 10:53:50 +0000 (11:53 +0100)] 
bash-completion: add missing --unlock-fido2-device to systemd-cryptenroll

2 years agobootctl-status: several follow-ups for unlink command
Yu Watanabe [Wed, 25 Jan 2023 02:26:21 +0000 (11:26 +0900)] 
bootctl-status: several follow-ups for unlink command

Follow-ups for 8702496bfb0205764569782a9a2ebd11fd80e5e8.

- add missing error cause in logging,
- add several missing assertions,
- drop an unnecessary initialization,
- make boot_config_find_in() return negative errno if nothing found,
- and several coding style fixlets.

2 years agobootctl-uki: several follow-ups for inspect_osrel()
Yu Watanabe [Wed, 25 Jan 2023 02:05:46 +0000 (11:05 +0900)] 
bootctl-uki: several follow-ups for inspect_osrel()

Follow-ups for #26124 and #26158.

- use os_release_pretty_name(),
- constify the buffer passed to inspect_osrel(),
- propagate errors in inspect_osrele(), and ignore them in the caller
  side,
- and several coding style fixlets.

2 years agococcinelle: skip the empty-to-null transformation on the macro itself 26192/head
Frantisek Sumsal [Wed, 25 Jan 2023 10:35:06 +0000 (11:35 +0100)] 
coccinelle: skip the empty-to-null transformation on the macro itself

Since the empty_to_null() function was "macrofied", we need to use a bit
of black magic to make Coccinelle avoid running the transformation on
the macro itself.

Follow-up to ef2409cbde3.

2 years agosysupdate: fix errno check
Frantisek Sumsal [Wed, 25 Jan 2023 10:28:46 +0000 (11:28 +0100)] 
sysupdate: fix errno check

2 years agoNEWS: update date and location v253-rc1
Luca Boccassi [Tue, 24 Jan 2023 23:09:17 +0000 (23:09 +0000)] 
NEWS: update date and location

2 years agoshared/efi-loader: fix compilation with !ENABLE_EFI, improve messages
Zbigniew Jędrzejewski-Szmek [Tue, 24 Jan 2023 21:45:25 +0000 (22:45 +0100)] 
shared/efi-loader: fix compilation with !ENABLE_EFI, improve messages

When compiled without ENABLE_EFI, efi_stub_measured() was not defined, so
compilation would fail. But it's not enough to add a stub that returns
-EOPNOTSUPP. We call this function in various places and usually print the error
at warning or error level, so we'd print a confusing message. We also can't add
a stub that always returns 0, because then we'd print a message like "Kernel
stub did not measure", which would be confusing too. Adding special handling for
-EOPNOTSUPP in every caller is also unattractive. So instead efi_stub_measured()
is reworked to log the warning or error internally, and such logging is removed
from the callers, and a stub is added that logs a custom message.

2 years agoMerge pull request #26184 from keszybz/cleanups
Luca Boccassi [Tue, 24 Jan 2023 23:07:05 +0000 (23:07 +0000)] 
Merge pull request #26184 from keszybz/cleanups

Various fixups to recent commits

2 years agolocale: rename new XKB variables to match Debian/Ubuntu's
Luca Boccassi [Tue, 24 Jan 2023 17:18:31 +0000 (17:18 +0000)] 
locale: rename new XKB variables to match Debian/Ubuntu's

Debian/Ubuntu use almost the same variables, but without '_'. Given
our usage is new, rename them so that they match and downstream tech
debt can be removed.

Follow-up for https://github.com/systemd/systemd/pull/25805

See:
 https://github.com/systemd/systemd/issues/24228
 https://github.com/systemd/systemd/pull/25412

2 years agodocs: Update HACKING.md to mention latest mkosi is needed
Daan De Meyer [Tue, 24 Jan 2023 11:46:41 +0000 (12:46 +0100)] 
docs: Update HACKING.md to mention latest mkosi is needed

Let's require users to run mkosi from git so we can fix any issues
forward instead of trying to keep the configs working with older
versions.

2 years agomeson: Do not include headers in source lists
Jan Janssen [Tue, 24 Jan 2023 14:14:15 +0000 (15:14 +0100)] 
meson: Do not include headers in source lists

Meson+ninja+compiler do this for us and are better at it.

https://mesonbuild.com/FAQ.html#do-i-need-to-add-my-headers-to-the-sources-list-like-in-autotools

2 years agoUpdate NEWS
Luca Boccassi [Tue, 24 Jan 2023 19:12:36 +0000 (19:12 +0000)] 
Update NEWS

2 years agoConsolidate various TAKE_* into TAKE_GENERIC(), add TAKE_STRUCT()
Dan Streetman [Tue, 6 Dec 2022 18:07:34 +0000 (13:07 -0500)] 
Consolidate various TAKE_* into TAKE_GENERIC(), add TAKE_STRUCT()

2 years agoman: clarify that MESSAGE= should not appear more than once in the same journal entry
Lennart Poettering [Tue, 24 Jan 2023 15:39:02 +0000 (16:39 +0100)] 
man: clarify that MESSAGE= should not appear more than once in the same journal entry

One would think this was clear already, but apparently it's not clear
enough, hence let's be more explicit.

Fixes: #26175
2 years agotest-sleep: reduce timeout 26184/head
Zbigniew Jędrzejewski-Szmek [Tue, 24 Jan 2023 06:58:23 +0000 (07:58 +0100)] 
test-sleep: reduce timeout

The timeout was raised during review and I wrote that I lowered it, but forgot
to actually commit the diff. Follow-up for 31f62bdd79472c32d52408956d5c82e9991ca425.

2 years agoNEWS: update for v253-rc1
Zbigniew Jędrzejewski-Szmek [Tue, 24 Jan 2023 18:13:29 +0000 (19:13 +0100)] 
NEWS: update for v253-rc1

2 years agoudevadm: add todo to remind us to remove compat code
Zbigniew Jędrzejewski-Szmek [Mon, 23 Jan 2023 12:52:28 +0000 (13:52 +0100)] 
udevadm: add todo to remind us to remove compat code

https://github.com/systemd/systemd/pull/25145#issuecomment-1397606521

2 years agoman/bootctl: add missing markup
Zbigniew Jędrzejewski-Szmek [Sun, 22 Jan 2023 17:40:50 +0000 (18:40 +0100)] 
man/bootctl: add missing markup

Fixup for 53c368d71ba43da7414ac86c58291a11da05ba84.

2 years agoMerge pull request #26152 from systemd/revert-26143-issue-26142
Lennart Poettering [Tue, 24 Jan 2023 17:14:05 +0000 (18:14 +0100)] 
Merge pull request #26152 from systemd/revert-26143-issue-26142

Revert "Resolves #26142 - Fix list of supported personalities"

2 years agoMerge pull request #26158 from poettering/hostnamed-end-of-support
Lennart Poettering [Tue, 24 Jan 2023 17:13:45 +0000 (18:13 +0100)] 
Merge pull request #26158 from poettering/hostnamed-end-of-support

hostnamed/hostnamectl: support os-release END_OF_SUPPORT= field

2 years agopath-util: rework file_in_same_dir() on top of path_extract_directory()
Lennart Poettering [Mon, 23 Jan 2023 15:34:07 +0000 (16:34 +0100)] 
path-util: rework file_in_same_dir() on top of path_extract_directory()

Let's port one more over.

Note that this changes behaviour of file_in_same_dir() in some regards.
Specifically, a trailing slash of the input path will be treated
differently: previously we'd operate below that dir then, instead of the
parent. I think that makes little sense however, and I think the code
using this function doesn't expect that either.

Moroever, addresses some corner cases if the path is specified as "/" or
".", i.e. where e cannot extract a parent. These will now be treated as
error, which I think is much cleaner.

2 years agobootctl-uki: several coding style fixlets
Yu Watanabe [Tue, 24 Jan 2023 13:59:59 +0000 (22:59 +0900)] 
bootctl-uki: several coding style fixlets

Mostly follow-ups for #26082.

2 years agobootctl: kernel-inspect: print os info
Gerd Hoffmann [Fri, 20 Jan 2023 14:40:36 +0000 (15:40 +0100)] 
bootctl: kernel-inspect: print os info

2 years agoman: extend Personality= docs a bit 26152/head
Lennart Poettering [Tue, 24 Jan 2023 15:08:09 +0000 (16:08 +0100)] 
man: extend Personality= docs a bit

Let's make clear personalities are supported on ARM (as per
https://github.com/systemd/systemd/pull/26152#issuecomment-1400321944).

Also, clarify that on many archs this functionality is pretty pointless,
i.e. where only a single native arch was ever known.

2 years agoRevert "Resolves #26142 - Fix list of supported personalities"
Lennart Poettering [Mon, 23 Jan 2023 09:11:36 +0000 (10:11 +0100)] 
Revert "Resolves #26142 - Fix list of supported personalities"

This reverts commit fdbbb5ffc04c48e6e1b97ddfff366672c2f8a073.

2 years agoupdate TODO 26158/head
Lennart Poettering [Mon, 23 Jan 2023 12:24:04 +0000 (13:24 +0100)] 
update TODO

2 years agohostnamectl: show support and among output
Lennart Poettering [Mon, 23 Jan 2023 12:17:21 +0000 (13:17 +0100)] 
hostnamectl: show support and among output

2 years agohostnamed: expose support end timestamp as property on the bus
Lennart Poettering [Mon, 23 Jan 2023 12:16:52 +0000 (13:16 +0100)] 
hostnamed: expose support end timestamp as property on the bus

2 years agoos-util: optionally, return EOL time in os_release_support_ended()
Lennart Poettering [Mon, 23 Jan 2023 12:16:12 +0000 (13:16 +0100)] 
os-util: optionally, return EOL time in os_release_support_ended()

2 years agoos-util: accept SUPPORT_END= with empty string as explicit way to disable concept
Lennart Poettering [Mon, 23 Jan 2023 12:15:27 +0000 (13:15 +0100)] 
os-util: accept SUPPORT_END= with empty string as explicit way to disable concept

2 years agoos-util: when determining support end, don't treat /etc/os-release file as error
Lennart Poettering [Mon, 23 Jan 2023 12:14:26 +0000 (13:14 +0100)] 
os-util: when determining support end, don't treat /etc/os-release file as error

Instead, let's just treat it as "field unset".

2 years agoformat-table: add new cell type TABLE_TIMESPAN_DAY
Lennart Poettering [Mon, 23 Jan 2023 12:12:43 +0000 (13:12 +0100)] 
format-table: add new cell type TABLE_TIMESPAN_DAY

This is just like TABLE_TIMESPAN_MSEC, but shows time spans in accuracy
of days.

2 years agoos-util: determine distro EOL in UTC, not local timezone
Lennart Poettering [Mon, 23 Jan 2023 11:29:54 +0000 (12:29 +0100)] 
os-util: determine distro EOL in UTC, not local timezone

Presumably vendors establish a global EOL time, hence its better to
interpret the date specification everywhere the same, instead of
timezone dependent.

2 years agotree-wide: unify how we pick OS pretty name to display
Lennart Poettering [Mon, 23 Jan 2023 11:28:38 +0000 (12:28 +0100)] 
tree-wide: unify how we pick OS pretty name to display

2 years agoMerge pull request #26176 from bluca/rc
Lennart Poettering [Tue, 24 Jan 2023 14:24:24 +0000 (15:24 +0100)] 
Merge pull request #26176 from bluca/rc

preparations for rc1

2 years agodocs: update instructions for translation strings 26176/head
Luca Boccassi [Tue, 24 Jan 2023 13:30:02 +0000 (13:30 +0000)] 
docs: update instructions for translation strings

2 years agodocs: drop manual rc PR warning step
Luca Boccassi [Tue, 24 Jan 2023 12:34:00 +0000 (12:34 +0000)] 
docs: drop manual rc PR warning step

it is not automated, yay

2 years agomeson: bump numbers for v253-rc1
Luca Boccassi [Tue, 24 Jan 2023 12:32:15 +0000 (12:32 +0000)] 
meson: bump numbers for v253-rc1

2 years agoUpdate hwdb
Luca Boccassi [Tue, 24 Jan 2023 12:30:25 +0000 (12:30 +0000)] 
Update hwdb

2 years agoNEWS: add list of contributors
Luca Boccassi [Tue, 24 Jan 2023 12:26:34 +0000 (12:26 +0000)] 
NEWS: add list of contributors

2 years agorepart: Mention broken XFS protofile format
Daan De Meyer [Tue, 24 Jan 2023 10:52:55 +0000 (11:52 +0100)] 
repart: Mention broken XFS protofile format

2 years agomachinectl: add --now to start/stop containers when enabling/disabling
Mike Yuan [Mon, 23 Jan 2023 17:20:14 +0000 (01:20 +0800)] 
machinectl: add --now to start/stop containers when enabling/disabling

Closes #26154

2 years agoman: fix explanation for Credential= match in .link files
Дамјан Георгиевски [Mon, 23 Jan 2023 23:43:00 +0000 (00:43 +0100)] 
man: fix explanation for Credential= match in .link files

.link files are handled by systemd-udevd, not by systemd-networkd,
so fix the man page to say that the Credential= match uses credentials set
on the systemd-udevd.service

2 years agoMerge pull request #26167 from ldv-alt/docs-fixes
Zbigniew Jędrzejewski-Szmek [Tue, 24 Jan 2023 09:20:30 +0000 (10:20 +0100)] 
Merge pull request #26167 from ldv-alt/docs-fixes

docs: fix a few relatively trivial issues

2 years agoMerge pull request #26164 from mrc0mmand/test-bus-timeout
Frantisek Sumsal [Tue, 24 Jan 2023 08:49:29 +0000 (08:49 +0000)] 
Merge pull request #26164 from mrc0mmand/test-bus-timeout

test: bump the client-side timeout in sd-bus as well

2 years agoMerge pull request #26159 from keszybz/capacity-to-crash
Zbigniew Jędrzejewski-Szmek [Tue, 24 Jan 2023 06:52:36 +0000 (07:52 +0100)] 
Merge pull request #26159 from keszybz/capacity-to-crash

Resolve crash in systemd-sleep and other minor fixes

2 years agoMerge pull request #26110 from medhefgo/boot-no-gnu-efi
Luca Boccassi [Mon, 23 Jan 2023 23:51:49 +0000 (23:51 +0000)] 
Merge pull request #26110 from medhefgo/boot-no-gnu-efi

boot: Stop linking against libefi.a

2 years agodocs, man: consistently use comma after "For example" 26167/head
Dmitry V. Levin [Sun, 15 Jan 2023 08:00:00 +0000 (08:00 +0000)] 
docs, man: consistently use comma after "For example"

2 years agoMerge pull request #26162 from YHNdnzj/machinectl-check-target-enabled
Luca Boccassi [Mon, 23 Jan 2023 22:52:34 +0000 (22:52 +0000)] 
Merge pull request #26162 from YHNdnzj/machinectl-check-target-enabled

machinectl: also enable machines.target when enabling machines

2 years agodocs: fix formatting a bit
Dmitry V. Levin [Sun, 15 Jan 2023 08:00:00 +0000 (08:00 +0000)] 
docs: fix formatting a bit

2 years agodocs: fix grammar a bit
Dmitry V. Levin [Sun, 15 Jan 2023 08:00:00 +0000 (08:00 +0000)] 
docs: fix grammar a bit

2 years agodocs: fix a few typos
Dmitry V. Levin [Sun, 15 Jan 2023 08:00:00 +0000 (08:00 +0000)] 
docs: fix a few typos

2 years agoboot: Use objcopy with arm64
Callum Farmer [Thu, 12 Jan 2023 19:19:56 +0000 (19:19 +0000)] 
boot: Use objcopy with arm64

Binutils 2.38 added support for efi-app-aarch64
Still use binary mode if we have an older objcopy
Add check for incompatible gnu-efi crt0 containing the header section
which gets added by objcopy and if used results in duplicate header
and subsequently a broken binary

Signed-off-by: Callum Farmer <gmbr3@opensuse.org>
2 years agosleep: fix memleak 26159/head
Zbigniew Jędrzejewski-Szmek [Mon, 23 Jan 2023 14:50:36 +0000 (15:50 +0100)] 
sleep: fix memleak

Those hashmaps are created anew in each iteration of the loop. The
leak wasn't really a problem, because the loop is bounded and the
hashmaps were not huge, but it's nicer to be correct.

2 years agosleep: reduce double logging and improve messages and comments a bit
Zbigniew Jędrzejewski-Szmek [Mon, 23 Jan 2023 14:47:58 +0000 (15:47 +0100)] 
sleep: reduce double logging and improve messages and comments a bit

read_battery_capacity_percentage() was already logging, but with a slightly
different wording.

More could be done, I just touched the most noticable places. Especially
in debug messages, it is much more useful to be direct about what couldn't
be accessed or parsed, instead of providing "descriptive names" which are
not useful to the user at all, who then needs to read the code to figure out
what was the actual property name.

2 years agotest-sleep: add a very simple test that prints battery suspend estimates
Zbigniew Jędrzejewski-Szmek [Mon, 23 Jan 2023 14:44:33 +0000 (15:44 +0100)] 
test-sleep: add a very simple test that prints battery suspend estimates

2 years agosleep: do not abort if we try to query capacity of missing battery
Zbigniew Jędrzejewski-Szmek [Mon, 23 Jan 2023 14:43:35 +0000 (15:43 +0100)] 
sleep: do not abort if we try to query capacity of missing battery

Fixes #25584.

From the issue:
Assertion 'capacity >= 0' failed at src/shared/sleep-config.c:58, function PTR_TO_CAPACITY(). Aborting.

(gdb) bt

The problem is that PTR_TO_CAPACITY(hashmap_get(last_capacity, battery_name))
will abort if it's called with a name not present in the hashmap. We want to
skip the device silently in this case instead.

2 years agoMerge pull request #26153 from DaanDeMeyer/repart-remove-userns
Zbigniew Jędrzejewski-Szmek [Mon, 23 Jan 2023 20:46:55 +0000 (21:46 +0100)] 
Merge pull request #26153 from DaanDeMeyer/repart-remove-userns

mkfs-util: Remove user namespace owner => root mapping

2 years agocore: ensure init.scope is realized after drop-ins have been loaded
Luca Boccassi [Fri, 20 Jan 2023 23:00:38 +0000 (23:00 +0000)] 
core: ensure init.scope is realized after drop-ins have been loaded

If we add a drop-in for init.scope (e.g.: to set some memory limit),
it will be loaded long after the cgroup has already been realized.
Do it again when creating the special unit.

2 years agobuild: add some coloring to --version output
Lennart Poettering [Mon, 23 Jan 2023 15:23:45 +0000 (16:23 +0100)] 
build: add some coloring to --version output

Make it easier to discern enabled and disabled build options.

2 years agoMerge pull request #26157 from medhefgo/meson
Luca Boccassi [Mon, 23 Jan 2023 19:41:51 +0000 (19:41 +0000)] 
Merge pull request #26157 from medhefgo/meson

meson: Small improvements

2 years agoMerge pull request #25805 from yuwata/locale-xkb-save-vconsole
Luca Boccassi [Mon, 23 Jan 2023 19:40:12 +0000 (19:40 +0000)] 
Merge pull request #25805 from yuwata/locale-xkb-save-vconsole

locale: also save X11 keyboard settings to /etc/vconsole.conf

2 years agotest: bump the container spawn timeout to 60s 26164/head
Frantisek Sumsal [Mon, 23 Jan 2023 18:13:49 +0000 (19:13 +0100)] 
test: bump the container spawn timeout to 60s

As 30s might be not enough on busy systems (and we already bumped the
reboot timeout from 30s to 60s for this reason).

2 years agotest: bump the client-side timeout in sd-bus as well
Frantisek Sumsal [Mon, 23 Jan 2023 17:40:38 +0000 (18:40 +0100)] 
test: bump the client-side timeout in sd-bus as well

Since c78d18215b D-Bus services now have 60s to start, but the client
side (sd-bus) still waits only for 25s before giving up:

```
[  226.196380] testsuite-71.sh[556]: + assert_in 'Static hostname: H' ''
[  226.332965] testsuite-71.sh[576]: + set +ex
[  226.332965] testsuite-71.sh[576]: FAIL: 'Static hostname: H' not found in:
[  228.910782] sh[577]: + systemctl poweroff --no-block
[  232.255584] hostnamectl[565]: Failed to query system properties: Connection timed out
[  236.827514] systemd[1]: end.service: Consumed 2.131s CPU time.
[  237.476969] dbus-daemon[566]: [system] Successfully activated service 'org.freedesktop.hostname1'
[  237.516308] systemd[1]: system-modprobe.slice: Consumed 1.533s CPU time.
[  237.794635] systemd[1]: testsuite-71.service: Main process exited, code=exited, status=1/FAILURE
[  237.818469] systemd[1]: testsuite-71.service: Failed with result 'exit-code'.
[  237.931415] systemd[1]: Failed to start testsuite-71.service.
[  238.000833] systemd[1]: testsuite-71.service: Consumed 5.651s CPU time.
[  238.181030] systemd[1]: Reached target testsuite.target.
```

Let's override the timeout in sd-bus as well to mitigate this.

Follow-up to c78d18215b3e5b0f0896ddb1d0d72c666b5e830b.

2 years agomachinectl: remove unnecessary initialization 26162/head
Mike Yuan [Mon, 23 Jan 2023 16:32:33 +0000 (00:32 +0800)] 
machinectl: remove unnecessary initialization

2 years agomachinectl: also enable machines.target when enabling machines
Mike Yuan [Mon, 23 Jan 2023 16:13:23 +0000 (00:13 +0800)] 
machinectl: also enable machines.target when enabling machines

It's mostly desired to enable machines.target
along with the machine since only when both are
enabled it would really work.

2 years agorepart: Add note about UIDs/GIDs of copied files and directories 26153/head
Daan De Meyer [Mon, 23 Jan 2023 15:43:58 +0000 (16:43 +0100)] 
repart: Add note about UIDs/GIDs of copied files and directories

2 years agoRevert "repart: Ensure files end up owned by root in generated filesystems"
Daan De Meyer [Mon, 23 Jan 2023 13:47:00 +0000 (14:47 +0100)] 
Revert "repart: Ensure files end up owned by root in generated filesystems"

This reverts commit e59678b2cf42e4206ddabc959d3cf9a5a865ecdc.

We also modify the repart integration tests to make them pass with the
changes in this commit. In short, we have to make sure every file is
owned by the user executing repart. We use tee instead of cat since it
makes that easier. This also has the benefit of improving debugability
as seeing the config file contents on stdout makes it easier to know
which test is failing.

2 years agoMerge pull request #25168 from valentindavid/valentindavid/umount-move-recursive...
Lennart Poettering [Mon, 23 Jan 2023 14:24:13 +0000 (15:24 +0100)] 
Merge pull request #25168 from valentindavid/valentindavid/umount-move-recursive-list

shutdown: move busy mounts to not block parent mounts

2 years agomeson: Use python module for detection 26157/head
Jan Janssen [Mon, 23 Jan 2023 13:54:28 +0000 (14:54 +0100)] 
meson: Use python module for detection

2 years agoRevert "repart: Make sure all files in the image are owned by root"
Daan De Meyer [Mon, 23 Jan 2023 13:41:33 +0000 (14:41 +0100)] 
Revert "repart: Make sure all files in the image are owned by root"

This reverts commit d2ac7698cb43807a2dd0af727599db486180ebf1.

2 years agomeson: Move bootctl sources defintion to its own file
Jan Janssen [Mon, 23 Jan 2023 13:41:26 +0000 (14:41 +0100)] 
meson: Move bootctl sources defintion to its own file

The root meson.build file is already large enough.

2 years agoMerge pull request #25145 from yuwata/udevadm-trigger
Zbigniew Jędrzejewski-Szmek [Mon, 23 Jan 2023 12:49:20 +0000 (13:49 +0100)] 
Merge pull request #25145 from yuwata/udevadm-trigger

udev: make 'udevadm trigger --settle' work even if device is renamed

2 years agotest: fix TEST-73-LOCALE on Debian
Michael Biebl [Sun, 22 Jan 2023 21:49:06 +0000 (22:49 +0100)] 
test: fix TEST-73-LOCALE on Debian

Fix incorrection assumption about the Debian patch being buggy and
actually making TEST-73-LOCALE fail on Debian.

```
 # localectl set-locale LANG=C.UTF-8
 # cat /etc/default/locale
 LANG=C.UTF-8
```

2 years agolocale: also save XKB settings to vconsole.conf 25805/head
Yu Watanabe [Tue, 20 Dec 2022 18:09:58 +0000 (03:09 +0900)] 
locale: also save XKB settings to vconsole.conf

Closes #24228.
Replaces #25412.

2 years agolocale: make errors in writing files not critical
Yu Watanabe [Fri, 23 Dec 2022 01:34:36 +0000 (10:34 +0900)] 
locale: make errors in writing files not critical

Suggested at https://github.com/systemd/systemd/pull/25805#discussion_r1054871210

> we now write multiple files and we cannot possibly guarantee that
> either both updates worked or neither. unix fs apis simply have
> no concept that would allow us to implement that. hence I think
> we should update what we can, log about what we cannot, but return
> success as long as our in-memory state was updated.

2 years agolocale: merge vconsole_convert_to_x11_and_emit() with method_set_vc_keyboard()
Yu Watanabe [Tue, 20 Dec 2022 19:23:25 +0000 (04:23 +0900)] 
locale: merge vconsole_convert_to_x11_and_emit() with method_set_vc_keyboard()

Similary, this also merges x11_convert_to_vconsole_and_emit() with
method_set_x11_keyboard().

No functional changes, preparation for later commits.