]> git.ipfire.org Git - thirdparty/systemd.git/log
thirdparty/systemd.git
16 months agoman: fully adopt ~/.local/state/ 33589/head
Lennart Poettering [Wed, 3 Jul 2024 08:18:37 +0000 (10:18 +0200)] 
man: fully adopt ~/.local/state/

The XDG base dir spec adopted ~/.local/state/ as a thing a while back,
and we updated our docs in b4d6bc63e602048188896110a585aa7de1c70c9b, but
forgot to to update the table at the bottom to fully reflect the update.
Fix that.

16 months agoman: mention that distinction between /usr/lib/ and /usr/share/ is really about share...
Lennart Poettering [Wed, 3 Jul 2024 08:10:07 +0000 (10:10 +0200)] 
man: mention that distinction between /usr/lib/ and /usr/share/ is really about shared *ownership*

16 months agoman: drop version info from file hiearchy man page
Lennart Poettering [Wed, 3 Jul 2024 07:56:51 +0000 (09:56 +0200)] 
man: drop version info from file hiearchy man page

This file doesn't document features of systemd, but is more a of a
general description that generalizes/modernizes FHS. As such, the items
listed in it weren't "added" in systemd versions, they simply reflect
general concepts independent of any specific systemd version. hence
let's drop this misleading and confusing version info.

Or in other words, the man page currently claims under "/usr/": "Added
in version 215." – Which of course is rubbish, the directory existed
since time began.

This also rebreaks all paragaphs this touches.

No content changes.

16 months agoMerge pull request #33567 from poettering/boot-fixlets
Luca Boccassi [Thu, 4 Jul 2024 11:00:56 +0000 (13:00 +0200)] 
Merge pull request #33567 from poettering/boot-fixlets

sd-boot,sd-stub: a variety of smaller fixes

16 months agoos-util: avoid matching on the wrong extension-release file
Luca Boccassi [Wed, 3 Jul 2024 20:27:28 +0000 (21:27 +0100)] 
os-util: avoid matching on the wrong extension-release file

The previous commit tries to extract a substring from the
extension-release suffix, but that is not right, it's only the
images that need to be versioned and extracted, use the extension-release
suffix as-is. Otherwise if it happens to contain a prefix that
matches the wrong image, it will be taken into account.

Follow-up for 37543971aff79f3a37646ffc2bb5845c9394797b

16 months agomkosi: Build a disk image by default again
Daan De Meyer [Thu, 4 Jul 2024 10:13:31 +0000 (12:13 +0200)] 
mkosi: Build a disk image by default again

Now that we have a way to rebuild and reinstall systemd without
having to rebuild the image, let's default to building a disk image
again.

16 months agosrc/boot/efi/meson.build: ensure VERSION_TAG exists in case of cross build
Chen Qi [Thu, 4 Jul 2024 06:18:41 +0000 (23:18 -0700)] 
src/boot/efi/meson.build: ensure VERSION_TAG exists in case of cross build

The GIT_VERSION is changed to use VERSION_TAG, but in case of cross build
for src/boot/efi, it's not set, causing build error because the compiler cannot
know it's a macro thus treating it as some variable and error out.

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
16 months agomeson: Deal with potential stable versions
Daan De Meyer [Thu, 4 Jul 2024 09:12:35 +0000 (11:12 +0200)] 
meson: Deal with potential stable versions

The meson.version file might contain e.g. 256.2~devel in a stable
branch so let's make sure we deal with that.

16 months agoload-fragment: allow MountImages= with paths starting with /dev
Topi Miettinen [Wed, 26 Jun 2024 19:06:41 +0000 (22:06 +0300)] 
load-fragment: allow MountImages= with paths starting with /dev

For MountImages=, if the source is a block device, it will most likely reside
in /dev. It should be also possible to mount a static device file system in
place of (or part of) /dev. So let's allow paths starting with /dev as an
exception for MountImages=.

16 months agotest: skip TEST-69-SHUTDOWN on Debian
Luca Boccassi [Thu, 4 Jul 2024 00:01:08 +0000 (01:01 +0100)] 
test: skip TEST-69-SHUTDOWN on Debian

There is a regression in the login package, skip the test until
it is fixed. https://bugs.debian.org/1075733

16 months agozsh: add run0 completions
Ronan Pigott [Wed, 3 Jul 2024 19:33:08 +0000 (12:33 -0700)] 
zsh: add run0 completions

16 months agoMerge pull request #33608 from DaanDeMeyer/hacking
Luca Boccassi [Wed, 3 Jul 2024 23:19:58 +0000 (01:19 +0200)] 
Merge pull request #33608 from DaanDeMeyer/hacking

docs: Update HACKING

16 months agodocs: Update HACKING 33608/head
Daan De Meyer [Wed, 3 Jul 2024 20:59:40 +0000 (22:59 +0200)] 
docs: Update HACKING

Let's mention the new way to install the latest changes without
rebuilding the image. Let's also remove the duplicate info about
distribution packages that is already mentioned in its own section.

16 months agomkosi: Install zypper in opensuse images
Daan De Meyer [Wed, 3 Jul 2024 20:48:37 +0000 (22:48 +0200)] 
mkosi: Install zypper in opensuse images

16 months agomkosi: Fix sync script git command
Daan De Meyer [Wed, 3 Jul 2024 20:18:07 +0000 (22:18 +0200)] 
mkosi: Fix sync script git command

Let's make sure we actually operate on the packaging git repo.

16 months agoREADME: add missing CONFIG_MEMCG kernel config option for oomd
James Hilliard [Wed, 3 Jul 2024 19:00:04 +0000 (13:00 -0600)] 
README: add missing CONFIG_MEMCG kernel config option for oomd

We need to enable this otherwise systemd-oomd.service fails to start.

Fixes:
ConditionControlGroupController=memory was not met

16 months agomkosi: update arch commit reference
Daan De Meyer [Wed, 3 Jul 2024 06:23:29 +0000 (08:23 +0200)] 
mkosi: update arch commit reference

d74b24c7c6 meson options: vcs-tag=false
7424fedef0 upgpkg: 256.1-1: new upstream release
6016864c99 upgpkg: 256-3: rebuild to fix man pages...
6f6d48b221 upgpkg: 256-2: update shells
b9ce44e766 drop systemd-stable repository, build from main one
baf4803252 upgpkg: 256-1: new upstream release
1d75e7ddaa add an install hint on NEWS
6f17a23127 Ups, inverted...
d76029f7cc update meson options
6e7929dd98 upgpkg: 256rc4-1: new upstream pre-release - testing only!
7b70e7b0e7 upgpkg: 256rc3-2: fast-forward to current git main, non-official testing
a438b879e2 upgpkg: 256rc3-1: new upstream pre-release, non-official testing
ff30a600c9 upgpkg: 256rc2-1: new upstream pre-release, non-official testing

16 months agomkosi: Clean up old packages from the build directory
Daan De Meyer [Wed, 3 Jul 2024 18:20:31 +0000 (20:20 +0200)] 
mkosi: Clean up old packages from the build directory

16 months agomkosi: remove conflicting deb packages from builddir
Luca Boccassi [Wed, 3 Jul 2024 18:15:03 +0000 (19:15 +0100)] 
mkosi: remove conflicting deb packages from builddir

These are not actually needed or installed, so delete them from the
build directory, so that inside an image one can do:

apt install --reinstall /work/build/*.deb

Follow-up for 690a85b1d4e794af62bca6d1ea530ffc530ee58c

16 months agoload-fragment: Remove faulty assertion
Daan De Meyer [Wed, 3 Jul 2024 17:33:01 +0000 (19:33 +0200)] 
load-fragment: Remove faulty assertion

Followup for 453cb5d01e587ff6d9fa426397c0d1b858f8f832

Fixes the following assertion:

"""
x86 130 ~/systemd ❯❯❯ meson compile -C build
ninja: Entering directory `/home/tfleig/systemd/build'
[2/5] Generating export-dbus-interfaces with a custom command
FAILED: interfaces
/home/tfleig/systemd/tools/dbus_exporter.py interfaces /home/tfleig/systemd/build/systemd /home/tfleig/systemd/build/systemd-homed /home/tfleig/systemd/build/systemd-hostnamed /home/tfleig/systemd/build/systemd-importd /home/tfleig/systemd/build/systemd-localed /home/tfleig/systemd/build/systemd-logind /home/tfleig/systemd/build/systemd-machined /home/tfleig/systemd/build/systemd-networkd /home/tfleig/systemd/build/systemd-oomd /home/tfleig/systemd/build/systemd-portabled /home/tfleig/systemd/build/systemd-resolved /home/tfleig/systemd/build/systemd-timedated
Assertion '__unique_prefix__expr_91' failed at src/core/load-fragment.c:3912, function config_parse_tasks_max(). Aborting.
Traceback (most recent call last):
  File "/home/tfleig/systemd/tools/dbus_exporter.py", line 45, in <module>
    main()
  File "/home/tfleig/systemd/tools/dbus_exporter.py", line 42, in main
    extract_interfaces_xml(args.output, exe)
  File "/home/tfleig/systemd/tools/dbus_exporter.py", line 9, in extract_interfaces_xml
    proc = run(
  File "/usr/lib64/python3.9/subprocess.py", line 528, in run
    raise CalledProcessError(retcode, process.args,
subprocess.CalledProcessError: Command '[PosixPath('/home/tfleig/systemd/build/systemd'), '--bus-introspect', 'list']' died with <Signals.SIGABRT: 6>.
[4/5] Generating man/systemd.index.xml with a custom command
ninja: build stopped: subcommand failed.
"""

16 months agoukify: bring order of EFI sections in man + --help into same order as spec 33567/head
Lennart Poettering [Wed, 3 Jul 2024 14:21:34 +0000 (16:21 +0200)] 
ukify: bring order of EFI sections in man + --help into same order as spec

Previously, the order was quite chaotic, even sometimes interleaved with
entirely unrelated switches. Let's clean this up and use the same order
as in the spec.

This doesn't change anything real, but I think it's a worthy clean-up in
particular as this order is documented as the PCR measurement order of
these sections, hence there's actually a bit of relevance to always
communicate the same order everywhere.

16 months agoboot: don't set OsIndications field if already set correctly
Lennart Poettering [Wed, 3 Jul 2024 13:36:28 +0000 (15:36 +0200)] 
boot: don't set OsIndications field if already set correctly

16 months agoboot: cover for hardware keys on phones/tablets
Brenton Simpson [Wed, 3 Jul 2024 13:40:26 +0000 (15:40 +0200)] 
boot: cover for hardware keys on phones/tablets

The patch is originally from Brenton Simpson, I (Lennart) just added some
comments and rebased it.

I didn't test this, but the patch looks so obviously right to me, that
I think we should just merge it, instead of delaying this further. In
the worst case noone notices, in the best case this makes sd-boot work
reasonably nicely on devices that only have a hadware power key + volume
rocker.

Fixes: #30598
Replaces: #31135

16 months agoukify: suffix switches that take parameters with = in log output
Lennart Poettering [Tue, 2 Jul 2024 10:35:57 +0000 (12:35 +0200)] 
ukify: suffix switches that take parameters with = in log output

16 months agomeasure: drop incomplete support for PCRs != 11
Lennart Poettering [Tue, 2 Jul 2024 07:14:38 +0000 (09:14 +0200)] 
measure: drop incomplete support for PCRs != 11

At this point we have a clearer model:

* systemd-measure should be used for measuring UKIs on vendor build
  systems, i.e. only cover stuff predictable by the OS vendor, and
  identical on all systems. And that is pretty much only PCR 11.

* systemd-pcrlock should cover the other PCRs, which carry inherently
  local information, and can only be predicted locally and not already
  on vendor build systems.

Because of that, let's not bother with any PCRs except for 11 in
systemd-measure. This was added at a time where systemd-pcrlock didn't
exist yet, and hence it wasn't clear how this will play out in the end.

16 months agoboot: compare auto- prefix case-insensitively
Lennart Poettering [Tue, 2 Jul 2024 14:00:30 +0000 (16:00 +0200)] 
boot: compare auto- prefix case-insensitively

16 months agoboot: split out inner part of config_load_type2_entries()
Lennart Poettering [Fri, 28 Jun 2024 17:56:55 +0000 (19:56 +0200)] 
boot: split out inner part of config_load_type2_entries()

Let's simplify the code a bit, and parse Type 2 entries in a function of
its own, separate from the directory enumeration.

This closely follows a similar split we did a long time ago for Type 1.

This is just refactoring, no real code change.

16 months agoboot: indent error code path, but leave main code path unindented
Lennart Poettering [Fri, 28 Jun 2024 17:47:46 +0000 (19:47 +0200)] 
boot: indent error code path, but leave main code path unindented

16 months agoefi: don't non-chalantly drop const from memory buffer
Lennart Poettering [Mon, 1 Jul 2024 15:39:49 +0000 (17:39 +0200)] 
efi: don't non-chalantly drop const from memory buffer

16 months agoefi: drop "ret_" prefix from "ret_sections[]" parameter
Lennart Poettering [Mon, 1 Jul 2024 15:01:26 +0000 (17:01 +0200)] 
efi: drop "ret_" prefix from "ret_sections[]" parameter

While we write data to this parameter, it's not really a return
parameter, we after all do not fully set it, we just fill in some
fields. Hence it must be initialized beforehand.

According to our coding style only parameters that are purely used for
returning something should be named "ret_xyz", hence this one should not
be.

(We'll later rely on the current behaviour that it leaves array entries
for which we find no sections untouched, hence leave behaviour as is,
just rename the parameters to something more appropriate).

(Since we are dropping the "ret_" prefix of "ret_sections", let's rename
the old "section" parameter at the same time to "section_names", to make
clearer what it is about).

16 months agoefi: fix mangle_stub_cmdline() for empty strings
Lennart Poettering [Tue, 2 Jul 2024 14:01:28 +0000 (16:01 +0200)] 
efi: fix mangle_stub_cmdline() for empty strings

16 months agoefi: add limit on how large files can be we load into memory at once
Lennart Poettering [Fri, 28 Jun 2024 17:43:31 +0000 (19:43 +0200)] 
efi: add limit on how large files can be we load into memory at once

16 months agorepart: Allow overriding fstype per partition designator
Daan De Meyer [Tue, 2 Jul 2024 16:34:39 +0000 (18:34 +0200)] 
repart: Allow overriding fstype per partition designator

$SYSTEMD_REPART_OVERRIDE_FSTYPE is too invasive. Often you want to
override the fstype only for a specific designator, so let's support
that as well.

16 months agomkosi: Copy packages to the build directory as well
Daan De Meyer [Wed, 3 Jul 2024 12:28:21 +0000 (14:28 +0200)] 
mkosi: Copy packages to the build directory as well

With the latest mkosi, mkosi -t none can be used to rerun the build
script without messing with a previously built image. This allows
one to run "mkosi -t disk -f qemu" in one terminal to build and boot
an image in qemu and then run "mkosi -t none" in another terminal to
rebuild the packages. If one then has "RuntimeBuildSources=yes" set
in their mkosi configuration, the build directory is mounted into the
virtual machine, which means that one can then run "dnf upgrade
/work/build/*.rpm" from within the VM to install the new packages.

This allows for quickly iterating on changes without having to rebuild
the image all the time.

We'll probably want to document this at some point, but let's start
with making it possible by copying the built packages to the build directory.

16 months agomkosi: Make sure we don't hide errors from git merge-base
Daan De Meyer [Wed, 3 Jul 2024 11:19:34 +0000 (13:19 +0200)] 
mkosi: Make sure we don't hide errors from git merge-base

Currently if git merge-base fails we'll hide the error and exit with
exit status 0. Let's make we only exit early if git merge-base exits
with 1 which indicates the current commit is not on the target branch.
Any other error is considered fatal.

16 months agohwdb: Add some HP IR cameras
Anton Golubev [Wed, 3 Jul 2024 07:42:24 +0000 (10:42 +0300)] 
hwdb: Add some HP IR cameras

Two very similar devices, with two functions - a regular camera and IR.
The peculiarity of their infrared camera is that it uses a color image
format (YUYV), although it is essentially black and white.

The IR camera interface differs from the regular camera interface by name:

"HP Wide Vision FHD Camera: HP W" for the regular camera and
"HP Wide Vision FHD Camera: HP I" for an infrared camera

Therefore, glob *I is used to separate the IR camera

16 months agoMerge pull request #33575 from YHNdnzj/soft-reboot-system-manager-only
Luca Boccassi [Wed, 3 Jul 2024 11:40:06 +0000 (13:40 +0200)] 
Merge pull request #33575 from YHNdnzj/soft-reboot-system-manager-only

core/dbus-manager: several cleanups, refuse SoftReboot() for user manager

16 months agoupdate TODO
Lennart Poettering [Wed, 3 Jul 2024 08:55:13 +0000 (10:55 +0200)] 
update TODO

16 months agomkosi: update fedora commit reference
Daan De Meyer [Wed, 3 Jul 2024 06:21:31 +0000 (08:21 +0200)] 
mkosi: update fedora commit reference

f9fe17dbde Use vmlinux.h from kernel-devel
9cbad936a6 Pull in openssl-devel-engine
8ae009f929 Only add Requires on python3-zstd on Fedora
750e910c7c Drop BuildRequires on python3-zstd

16 months agocore/main: add an assertion to ensure user managers won't initiate destructive/system... 33575/head
Mike Yuan [Tue, 2 Jul 2024 16:14:33 +0000 (18:14 +0200)] 
core/main: add an assertion to ensure user managers won't initiate destructive/system-wide operation

16 months agocore/manager: invoke special targets on signal only for system manager
Mike Yuan [Tue, 2 Jul 2024 16:30:44 +0000 (18:30 +0200)] 
core/manager: invoke special targets on signal only for system manager

16 months agocore/dbus-manager: refuse SoftReboot() for user managers
Mike Yuan [Tue, 2 Jul 2024 16:08:06 +0000 (18:08 +0200)] 
core/dbus-manager: refuse SoftReboot() for user managers

Otherwise, busctl --user call ... SoftReboot results in
user manager broadcasting signal and initiating soft-reboot...

16 months agocore/dbus-manager: check for runtime scope first for system-wide operations
Mike Yuan [Tue, 2 Jul 2024 17:28:30 +0000 (19:28 +0200)] 
core/dbus-manager: check for runtime scope first for system-wide operations

It's pointless to do selinux or /run/ space checks
for user managers.

16 months agocore/dbus-manager: use sd_bus_error_set() rather than _setf() where appropriate
Mike Yuan [Tue, 2 Jul 2024 16:03:21 +0000 (18:03 +0200)] 
core/dbus-manager: use sd_bus_error_set() rather than _setf() where appropriate

Also, there can only be one system manager.

16 months agocore/dbus-manager: use path_simplify_alloc() for root and init paths
Mike Yuan [Tue, 2 Jul 2024 16:07:41 +0000 (18:07 +0200)] 
core/dbus-manager: use path_simplify_alloc() for root and init paths

16 months agocore/dbus-manager: use PidRef for log_caller()
Mike Yuan [Tue, 2 Jul 2024 15:54:11 +0000 (17:54 +0200)] 
core/dbus-manager: use PidRef for log_caller()

This is only for logging, but since we lookup for the unit
here, let's try to be accurate.

16 months agomkosi: Don't touch the packaging checkout if work is being done
Daan De Meyer [Tue, 2 Jul 2024 20:27:01 +0000 (22:27 +0200)] 
mkosi: Don't touch the packaging checkout if work is being done

If work is being done in a separate branch, don't touch the packaging
checkout.

16 months agomeson: Define __TARGET_ARCH macros required by bpf
Daan De Meyer [Tue, 2 Jul 2024 15:50:57 +0000 (17:50 +0200)] 
meson: Define __TARGET_ARCH macros required by bpf

These are required by the bpf_tracing.h header in libbpf, see
https://github.com/libbpf/libbpf/blob/master/src/bpf_tracing.h.

bpf_tracing.h does have a few fallbacks in case __TARGET_ARCH_XXX
is not defined but recommends using the __TARGET_ARCH macros instead
so let's do that.

16 months agocoredump: correctly take tmpfs size into account for compression
Luca Boccassi [Tue, 2 Jul 2024 14:28:47 +0000 (15:28 +0100)] 
coredump: correctly take tmpfs size into account for compression

We calculate the amount of uncompressed data we can write by taking the limits
into account and halving it to ensure there's room for switching to compression
on the fly when storing cores on a tmpfs (eg: due read-only rootfs).

But the logic is flawed, as taking into account the size of the tmpfs storage
was applied after the halving, so in practice when an uncompressed core file
was larger than the tmpfs, we fill it and then fail.

Rearrange the logic so that the halving is done after taking into account
the tmpfs size.

16 months agodocs/CODING_STYLE: document that we nowadays prefer (const char*) for func ret type
Mike Yuan [Tue, 2 Jul 2024 17:20:01 +0000 (19:20 +0200)] 
docs/CODING_STYLE: document that we nowadays prefer (const char*) for func ret type

Addresses https://github.com/systemd/systemd/pull/33567#discussion_r1662818225

16 months agoMerge pull request #33577 from fbuihuu/testsuite-tweaks-for-v256-on-SUSE
Luca Boccassi [Tue, 2 Jul 2024 21:35:33 +0000 (23:35 +0200)] 
Merge pull request #33577 from fbuihuu/testsuite-tweaks-for-v256-on-SUSE

Testsuite tweaks for v256 on suse

16 months agoMerge pull request #33574 from poettering/get-efi-var-raw
Lennart Poettering [Tue, 2 Jul 2024 19:16:37 +0000 (21:16 +0200)] 
Merge pull request #33574 from poettering/get-efi-var-raw

efi: efi variable refactoring

16 months agotest: fix TEST-74-AUX-UTILS.ssh.sh on SUSE 33577/head
Franck Bui [Tue, 2 Jul 2024 16:55:17 +0000 (18:55 +0200)] 
test: fix TEST-74-AUX-UTILS.ssh.sh on SUSE

16 months agotest: preserve symlink in inst_recursive()
Franck Bui [Tue, 2 Jul 2024 13:20:18 +0000 (15:20 +0200)] 
test: preserve symlink in inst_recursive()

On SUSE this function is used to copy symlinks installed in *.wants/
directories.

16 months agotest: fix TEST-24-CRYPTSETUP on SUSE
Franck Bui [Tue, 2 Jul 2024 08:33:29 +0000 (10:33 +0200)] 
test: fix TEST-24-CRYPTSETUP on SUSE

/etc/systemd/journald.conf.d drop-in dir already exists on SUSE.

16 months agotest: install /etc/hosts
Franck Bui [Mon, 1 Jul 2024 16:06:45 +0000 (18:06 +0200)] 
test: install /etc/hosts

Needed for resolving the "localhost" hostname.

16 months agoefivars: rename efivar_get_uint_string() → efivar_get_uint64_str16() 33574/head
Lennart Poettering [Tue, 2 Jul 2024 16:09:55 +0000 (18:09 +0200)] 
efivars: rename efivar_get_uint_string() → efivar_get_uint64_str16()

Be explicit with the type, and more inline with our other code, that
likes to indicate the string char width in the name.

Also, switch to a fixed size type, since EFI variables should really be
binary exact the same on all archs.

16 months agoefi: rename efivar_(set|get)() → efivar_(set|get)_str16()
Lennart Poettering [Tue, 2 Jul 2024 16:07:35 +0000 (18:07 +0200)] 
efi: rename efivar_(set|get)() → efivar_(set|get)_str16()

These functions after all write EFI UTF-16 strings, i.e. are relatively
high-level, hence give them a specific name indicating the type, to
match our other helpers that have similar type suffixes.

16 months agoefivars: use appropropriate uint8_t type when dealing with "raw" bytes
Lennart Poettering [Tue, 2 Jul 2024 15:50:47 +0000 (17:50 +0200)] 
efivars: use appropropriate uint8_t type when dealing with "raw" bytes

We don't actually want chars here, but rather raw bytes, in particular
to avoid signedness issues. Hence, let's use uint8_t here.

16 months agoefivars: change return parameter of efivar_get_raw() to be void**
Lennart Poettering [Tue, 2 Jul 2024 15:49:52 +0000 (17:49 +0200)] 
efivars: change return parameter of efivar_get_raw() to be void**

This is the "raw", untyped version after all, hence we should return a
void pointer, and let the client cast, if they know more.

Replaces: #30812

16 months agoefi: split out efivars.[ch] from util.[ch]
Lennart Poettering [Tue, 2 Jul 2024 15:44:24 +0000 (17:44 +0200)] 
efi: split out efivars.[ch] from util.[ch]

These are quite a bunch of functions, let's give them their own file.

No code changes, just some trivial refactoring.

16 months agomkosi: Install perf
Daan De Meyer [Tue, 2 Jul 2024 13:46:09 +0000 (15:46 +0200)] 
mkosi: Install perf

It's already installed on ubuntu via linux-tools-common.

16 months agoupdate TODO
Lennart Poettering [Tue, 2 Jul 2024 13:59:00 +0000 (15:59 +0200)] 
update TODO

16 months agotest: split the resolved test suite into separate test cases
Daniel Rusek [Thu, 6 Jun 2024 21:44:38 +0000 (23:44 +0200)] 
test: split the resolved test suite into separate test cases

Although being far from ideal and the first two test cases have to be run
before the setup phase otherwise they will fail, it still makes the test
suite look much better and easier to read

16 months agoMerge pull request #33496 from YHNdnzj/fd-is-mount-symlink
Luca Boccassi [Tue, 2 Jul 2024 08:07:20 +0000 (10:07 +0200)] 
Merge pull request #33496 from YHNdnzj/fd-is-mount-symlink

mountpoint-util: do not assume symlinks are not mountpoints

16 months agoMerge pull request #33560 from YHNdnzj/trivial-cleanup-2
Luca Boccassi [Tue, 2 Jul 2024 08:05:49 +0000 (10:05 +0200)] 
Merge pull request #33560 from YHNdnzj/trivial-cleanup-2

2 trivial follow-ups for recent PRs

16 months agoMerge pull request #33523 from neighbourhoodie/fix/dns-opt-extended-rcode
Luca Boccassi [Mon, 1 Jul 2024 23:48:40 +0000 (01:48 +0200)] 
Merge pull request #33523 from neighbourhoodie/fix/dns-opt-extended-rcode

Fix DNS OPT extended rcode parsing

16 months agobuild(deps): bump github/codeql-action from 3.24.7 to 3.25.11
dependabot[bot] [Mon, 1 Jul 2024 11:19:36 +0000 (11:19 +0000)] 
build(deps): bump github/codeql-action from 3.24.7 to 3.25.11

Bumps [github/codeql-action](https://github.com/github/codeql-action) from 3.24.7 to 3.25.11.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/github/codeql-action/compare/3ab4101902695724f9365a384f86c1074d94e18c...b611370bb5703a7efb587f9d136a52ea24c5c38c)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
16 months agomkosi: update debian commit reference
Luca Boccassi [Mon, 1 Jul 2024 14:49:55 +0000 (15:49 +0100)] 
mkosi: update debian commit reference

abf24e775c Add recommends on linux-sysctl-defaults
76cb4138d2 autopkgtest: skip qemu tests on arm64
0935d73526 Install new systemd-import generator

16 months agoshared/condition: add missing space after 'if' 33560/head
Mike Yuan [Mon, 1 Jul 2024 17:13:58 +0000 (19:13 +0200)] 
shared/condition: add missing space after 'if'

Follow-up for 98b1ecc9175a8bb241292f6f441a754b6759dd97

16 months agoshared/mount-util: return early if param is NULL
Mike Yuan [Mon, 1 Jul 2024 16:59:28 +0000 (18:59 +0200)] 
shared/mount-util: return early if param is NULL

To make things more readable and consistent.

16 months agoMerge pull request #33475 from poettering/name-to-handle-at-fid
Lennart Poettering [Mon, 1 Jul 2024 16:53:14 +0000 (18:53 +0200)] 
Merge pull request #33475 from poettering/name-to-handle-at-fid

teach inode_same() the concept of name_to_handle_at() FIDs to properly detect inode identities

16 months agomkfs-util: Simplify logic
Daan De Meyer [Mon, 1 Jul 2024 12:25:20 +0000 (14:25 +0200)] 
mkfs-util: Simplify logic

16 months agounits: add dep on systemd-logind.service by user@.service
Lennart Poettering [Mon, 1 Jul 2024 10:40:33 +0000 (12:40 +0200)] 
units: add dep on systemd-logind.service by user@.service

Let's make sure logind is accessible by the time user@.service runs, and
that logind stays around as long as it does so.

Addresses an issue reported here:

https://lists.freedesktop.org/archives/systemd-devel/2024-June/050468.html

This addresses an issued introduced by
278e815bfa3e4c2e3914e00121c37fc844cb2025, which dropped the a dependency
from user@.service systemd-user-sessions.service without replacement.
While dropping that dependency does make sense, it should have been
replaced with the weaker dependency on systemd-logind.service, hence fix
that now.

user@.service is after all a logind concept, hence logind really should
be around for its lifetime.

systemd-user-sessions.service is a later milestone that only really
should apply to regular users (not root), hence it's too strong a
requirement.

16 months agoUse read_full_file_full() in read_smbios11_field()
Daan De Meyer [Fri, 28 Jun 2024 18:12:51 +0000 (20:12 +0200)] 
Use read_full_file_full() in read_smbios11_field()

read_virtual_file() will only read up to page size bytes of data
from /sys/firmware/dmi/entries/.../raw so let's use read_full_file_full()
instead to make sure we read all data.

This should be safe since smbios11 data can be considered immutable
during the lifetime of the system.

16 months agoMerge pull request #33553 from poettering/list-devices
Lennart Poettering [Mon, 1 Jul 2024 16:51:54 +0000 (18:51 +0200)] 
Merge pull request #33553 from poettering/list-devices

add --list-devices switch to various tools that accept block devices to list candidate devices

16 months agostoragetm: add --list-devices command 33553/head
Lennart Poettering [Mon, 1 Jul 2024 09:55:52 +0000 (11:55 +0200)] 
storagetm: add --list-devices command

16 months agorepart: add --list-devices switch for listing candidate block devices
Lennart Poettering [Mon, 1 Jul 2024 09:54:21 +0000 (11:54 +0200)] 
repart: add --list-devices switch for listing candidate block devices

16 months agocryptenroll: add --list-devices switch that shows candidate block devices
Lennart Poettering [Mon, 1 Jul 2024 09:51:14 +0000 (11:51 +0200)] 
cryptenroll: add --list-devices switch that shows candidate block devices

16 months agoutil: add generic block device listener helper
Lennart Poettering [Mon, 1 Jul 2024 09:45:12 +0000 (11:45 +0200)] 
util: add generic block device listener helper

Various of our tools operate on block devices, and it's not always
obvious to know which block devices are actually appropriate for use.
Hence, let's add a helper that allows to list block devices, and
supports some limited filtering.

16 months agoblockdev-util: add partscan check function that takes an sd_device*
Lennart Poettering [Mon, 1 Jul 2024 09:44:26 +0000 (11:44 +0200)] 
blockdev-util: add partscan check function that takes an sd_device*

16 months agorepart: add sections to --help text
Lennart Poettering [Mon, 1 Jul 2024 08:25:38 +0000 (10:25 +0200)] 
repart: add sections to --help text

16 months agotest: beef up test case for fid-based equality checks 33475/head
Lennart Poettering [Tue, 25 Jun 2024 11:03:55 +0000 (13:03 +0200)] 
test: beef up test case for fid-based equality checks

16 months agostat-util: port inode_same_at() to use FID file handle data to determine inode identity
Lennart Poettering [Tue, 25 Jun 2024 10:46:52 +0000 (12:46 +0200)] 
stat-util: port inode_same_at() to use FID file handle data to determine inode identity

Let's be good boys, and use FID for this.

16 months agomountpoint-util: clarify that EOVERFLOW is visible on nfs4/autofs mounts
Lennart Poettering [Tue, 25 Jun 2024 10:46:19 +0000 (12:46 +0200)] 
mountpoint-util: clarify that EOVERFLOW is visible on nfs4/autofs mounts

16 months agomountpoint-util: use the FID stuff for detecting the root of mounts
Lennart Poettering [Tue, 25 Jun 2024 10:44:19 +0000 (12:44 +0200)] 
mountpoint-util: use the FID stuff for detecting the root of mounts

In the unlikely event that sandboxes block statx() but let
name_to_handle_at() through it's a good way to determine the root inode
of the namespace, since its parent inode will have the same FID and
mnt_id.

16 months agomountpoint-util: add new helper name_to_handle_at_try_fid()
Lennart Poettering [Tue, 25 Jun 2024 10:41:03 +0000 (12:41 +0200)] 
mountpoint-util: add new helper name_to_handle_at_try_fid()

Newer kernels support a new flag for name_to_handle_at(): AT_HANDLE_FID.
This flag is supposed to return an identifier for an inode that we can
use for checking inode identity. It's supposed to be a replacement for
checking .st_ino which doesn't work anymore today because inode numbers
are no longer unique on file systems (not on overlayfs, and not on btrfs
for example). Hence, be a good citizen and add infrastructure to support
AT_HANDLE_FID. Unfortunately that doesn't work for old kernels, hence
add a fallback logic: if we can use the flag, use it. If we cannot use
name_to_handle_at() without it, which might give us a good ID too. But
of course tha tcan fail as well, which callers have to check.

16 months agomountpoint-util: use ERRNO_IS_xyz() at more places
Lennart Poettering [Tue, 25 Jun 2024 10:39:55 +0000 (12:39 +0200)] 
mountpoint-util: use ERRNO_IS_xyz() at more places

16 months agomountpoint-util: add public helper for comparing file handles
Lennart Poettering [Tue, 25 Jun 2024 10:37:32 +0000 (12:37 +0200)] 
mountpoint-util: add public helper for comparing file handles

We already have the code, let's move it to a function of its own and
export it.

16 months agomountpoint-util: make is_name_to_handle_at_fatal_error() an exported API
Lennart Poettering [Tue, 25 Jun 2024 10:35:29 +0000 (12:35 +0200)] 
mountpoint-util: make is_name_to_handle_at_fatal_error() an exported API

And while we are at it, make it use ERRNO_IS_xyz() where appropriate.

And move it up a bit, so we can use in the whole of mountpoint-util.c
(which we want to later).

16 months agobuild(deps): bump actions/checkout from 4.1.6 to 4.1.7
dependabot[bot] [Mon, 1 Jul 2024 09:49:46 +0000 (09:49 +0000)] 
build(deps): bump actions/checkout from 4.1.6 to 4.1.7

Bumps [actions/checkout](https://github.com/actions/checkout) from 4.1.6 to 4.1.7.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/a5ac7e51b41094c92402da3b24376905380afc29...692973e3d937129bcbf40652eb9f2f61becf3332)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
16 months ago Conditional PSI check to reflect changes done in 5.13
rhellstrom [Thu, 27 Jun 2024 08:00:00 +0000 (11:00 +0300)] 
Conditional PSI check to reflect changes done in 5.13

cpu.pressure 'full' is undefined for system-wide checks since 5.13 but still reported with values set to 0 for backwards compatibility. Made changes to reflect this for system-wide checks so that the conditional comparison is not made against the 0 value and instead fall back to 'some'.

https://www.kernel.org/doc/html/latest/accounting/psi.html

16 months agocore: try again bind mounting if the destination was already created
Luca Boccassi [Sat, 29 Jun 2024 17:31:23 +0000 (18:31 +0100)] 
core: try again bind mounting if the destination was already created

If the destination mount point is on a shared filesystem and is
missing on the first attempt, we try to create it, but then
fail with -EEXIST if something else created it in the meanwhile.
Enter the retry logic on EEXIST, as we can just use the mount
point if it was already created.

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

16 months agoMerge pull request #33544 from DaanDeMeyer/sector-size
Luca Boccassi [Sat, 29 Jun 2024 19:31:04 +0000 (21:31 +0200)] 
Merge pull request #33544 from DaanDeMeyer/sector-size

repart: Two sector size improvements

16 months agoNEWS: fix typo
Mike Yuan [Sat, 29 Jun 2024 14:48:18 +0000 (16:48 +0200)] 
NEWS: fix typo

16 months agoNEWS: nscd has been dropped for good
Mike Yuan [Sat, 29 Jun 2024 14:35:26 +0000 (16:35 +0200)] 
NEWS: nscd has been dropped for good

Follow-up for 28f1f1a5e652508d6e61ace8918e8b831e4b62b4

16 months agoMerge pull request #33258 from YHNdnzj/cg-runtime-accounting
Mike Yuan [Sat, 29 Jun 2024 14:11:44 +0000 (16:11 +0200)] 
Merge pull request #33258 from YHNdnzj/cg-runtime-accounting

core/cgroup: various fixes for accounting

16 months agomkfs-util: Set sector size for btrfs as well 33544/head
Daan De Meyer [Sat, 29 Jun 2024 13:27:02 +0000 (15:27 +0200)] 
mkfs-util: Set sector size for btrfs as well

btrfs used to default the sector size to the page size and didn't
support anything else. Since 6.7, it defaults to 4K and using 4K
makes the filesystem compatible with all page sizes. So let's make
sure we use minimum 4K as well (lower causes failures on systems with
a 4K page size) but still allow larger sector sizes if specified by
the user.

16 months agorepart: Don't set filesystem sector size to 512
Daan De Meyer [Sat, 29 Jun 2024 13:36:28 +0000 (15:36 +0200)] 
repart: Don't set filesystem sector size to 512

We want to use 4K as the default sector size for filesystems so they
don't have to be regenerated to work on 512, 2048 or 4096 sector sizes.

16 months agoAdded mised EVDEV_ABS_35 & EVDEV_ABS_36 for GAOMON s620
DocNITE [Fri, 28 Jun 2024 15:47:15 +0000 (18:47 +0300)] 
Added mised EVDEV_ABS_35 & EVDEV_ABS_36 for GAOMON s620