]> git.ipfire.org Git - thirdparty/systemd.git/log
thirdparty/systemd.git
6 months agoMerge pull request #30188 from YHNdnzj/memory-accounting-followup
Yu Watanabe [Sat, 25 Nov 2023 03:52:48 +0000 (12:52 +0900)] 
Merge pull request #30188 from YHNdnzj/memory-accounting-followup

core: a few fixes and improvements for memory accounting

6 months agorun: escape command for description
Yu Watanabe [Fri, 24 Nov 2023 16:05:41 +0000 (01:05 +0900)] 
run: escape command for description

The command arguments may contain spurious characters, e.g. line-break.
When we use command arguments as a description of a unit, we should
escape them.

Fixes #30187.

6 months agorules: don't condition usb-gadget.target target on 'add' action
Lennart Poettering [Fri, 24 Nov 2023 17:05:47 +0000 (18:05 +0100)] 
rules: don't condition usb-gadget.target target on 'add' action

The dependency should exist continously, like all our similar deps do.
Hence drop the "add" conditionalization.

6 months agocore/cgroup: use the cached memory accounting value when cgroup is gone 30188/head
Mike Yuan [Fri, 24 Nov 2023 15:20:41 +0000 (23:20 +0800)] 
core/cgroup: use the cached memory accounting value when cgroup is gone

Follow-up for 9824ab1f009e99b0b9d273ace4c98cc687a4c1d7

Fixes https://github.com/systemd/systemd/issues/28542#issuecomment-1825413237

6 months agobus-print-properties: prettify more unset properties
Mike Yuan [Fri, 24 Nov 2023 15:31:55 +0000 (23:31 +0800)] 
bus-print-properties: prettify more unset properties

6 months agobus-print-properties: ignore CGROUP_LIMIT_MAX for Memory*{Current,Peak}
Mike Yuan [Fri, 24 Nov 2023 11:15:40 +0000 (19:15 +0800)] 
bus-print-properties: ignore CGROUP_LIMIT_MAX for Memory*{Current,Peak}

MemoryCurrent and MemoryAvailable are shown as "[not set]" when UINT64_MAX
(unset). Let's do the same for the newly-added Memory*{Current,Peak} properties.

6 months agocore/dbus-unit: don't log cgroup v1 property name
Mike Yuan [Fri, 24 Nov 2023 11:12:06 +0000 (19:12 +0800)] 
core/dbus-unit: don't log cgroup v1 property name

6 months agoupdate TODO
Lennart Poettering [Fri, 24 Nov 2023 12:24:57 +0000 (13:24 +0100)] 
update TODO

6 months agoMerge pull request #30172 from yuwata/analyze-verify-unit-path
Luca Boccassi [Fri, 24 Nov 2023 10:35:28 +0000 (10:35 +0000)] 
Merge pull request #30172 from yuwata/analyze-verify-unit-path

analyze: do not prepend CWD to SYSTEMD_UNIT_PATH needlessly

6 months agopcrextend: fix minor memory leak
Lennart Poettering [Thu, 23 Nov 2023 21:23:23 +0000 (22:23 +0100)] 
pcrextend: fix minor memory leak

Also, simplify the code a bit by using json_dispatch_unbase64_iovec().

6 months agologin: do not clear wall message before shutting down
Yu Watanabe [Thu, 23 Nov 2023 21:42:22 +0000 (06:42 +0900)] 
login: do not clear wall message before shutting down

This fixes a regression caused by 5ed73478e1b1560274038ef30ec6f89022b4d8f6
and aa6123e85e0baea21b6daad175da43ffea30629f.

With these commits, when Reboot dbus method or friends is called,
reset_scheduled_shutdown() is called before shutting down the system,
so the wall message was cleared.

As the wall message itself is unrelated to the scheduling of shutting
down systems, let's keep the message.

Fixes #30167.

6 months agoanalyze: do not prepend the current working directory to SYSTEMD_UNIT_PATH needlessly 30172/head
Yu Watanabe [Thu, 23 Nov 2023 20:22:33 +0000 (05:22 +0900)] 
analyze: do not prepend the current working directory to SYSTEMD_UNIT_PATH needlessly

If the requested unit is not in the current working directory, it is not
necessary to include the current working directory in SYSTEMD_UNIT_PATH.

Follow-up for 45519d13a4f2a3c3585e672595762ca621abe65e.

Fixes #30166.

6 months agoanalyze: set SYSTEMD_UNIT_PATH in verify_generate_path()
Yu Watanabe [Thu, 23 Nov 2023 20:20:07 +0000 (05:20 +0900)] 
analyze: set SYSTEMD_UNIT_PATH in verify_generate_path()

Then, rename verify_generate_path() -> verify_set_unit_path().

6 months agoanalyze: shorten code a bit
Yu Watanabe [Thu, 23 Nov 2023 20:19:10 +0000 (05:19 +0900)] 
analyze: shorten code a bit

No functional change, just refactoring.

6 months agoanalyze: drop duplicated :
Yu Watanabe [Thu, 23 Nov 2023 19:44:33 +0000 (04:44 +0900)] 
analyze: drop duplicated :

Before, this returns e.g. "/current_dir::",
After, this returns e.g. "/current_dir:".

6 months agohibernate-resume: actually set HibernateInfo.offset
Mike Yuan [Thu, 23 Nov 2023 14:20:34 +0000 (22:20 +0800)] 
hibernate-resume: actually set HibernateInfo.offset

Follow-up for a628d933cc67cc8b183dc809ba1451aa5b2996e5

6 months agoMerge pull request #30165 from YHNdnzj/executor-open-fix
Luca Boccassi [Thu, 23 Nov 2023 18:15:22 +0000 (18:15 +0000)] 
Merge pull request #30165 from YHNdnzj/executor-open-fix

core,analyze: several fixlets

6 months agoMerge pull request #30163 from keszybz/some-docs-updates
Luca Boccassi [Thu, 23 Nov 2023 13:17:15 +0000 (13:17 +0000)] 
Merge pull request #30163 from keszybz/some-docs-updates

Some docs updates

6 months agoanalyze: don't open systemd-executor needlessly 30165/head
Mike Yuan [Thu, 23 Nov 2023 12:53:50 +0000 (20:53 +0800)] 
analyze: don't open systemd-executor needlessly

Fixes #30162

6 months agoanalyze: use FOREACH_ARRAY more
Mike Yuan [Thu, 23 Nov 2023 12:52:16 +0000 (20:52 +0800)] 
analyze: use FOREACH_ARRAY more

6 months agocore/manager: open our parent dir with O_PATH
Mike Yuan [Thu, 23 Nov 2023 12:44:32 +0000 (20:44 +0800)] 
core/manager: open our parent dir with O_PATH

6 months agocore/manager: correct and simplify errno handling
Mike Yuan [Thu, 23 Nov 2023 12:38:29 +0000 (20:38 +0800)] 
core/manager: correct and simplify errno handling

open_parent() is our own function that returns negative errno.

6 months agocore/manager: rename result parameter to ret
Mike Yuan [Thu, 23 Nov 2023 12:42:11 +0000 (20:42 +0800)] 
core/manager: rename result parameter to ret

6 months agoman: drop recommendation to use absolute paths in ExecStart*= 30163/head
Zbigniew Jędrzejewski-Szmek [Thu, 23 Nov 2023 12:18:54 +0000 (13:18 +0100)] 
man: drop recommendation to use absolute paths in ExecStart*=

The only reason to recommend this would be if people had multiple commands
with the same name in the search path. This probably was never the best idea,
and it happens rarely anyway. Since the patch that dropped requirement for full
paths was introduced, we have dropped support for unmerged-usr and we're planning
to drop support for split-bin at some point too. Many people effectively have just
one directory in the search path, so there is even less reason to use an absolute
path. So let's recommend just using the command name, which makes the unit file
shorter and nicer to read.

6 months agoman/sd_bus_process: fix confusion about "synchronous"
Zbigniew Jędrzejewski-Szmek [Thu, 16 Nov 2023 10:12:00 +0000 (11:12 +0100)] 
man/sd_bus_process: fix confusion about "synchronous"

An event loop is not "synchronous". So we shouldn't say that the client must
"synchrounusly poll" if we recommend an event loop. Let's just say it should
poll, and say that "sd_bus_wait()" is blocking, which is clearer and more
correct than "synchronous".

6 months agoexec-util: don't say sd-executor to avoid ambiguity
Mike Yuan [Thu, 23 Nov 2023 10:09:27 +0000 (18:09 +0800)] 
exec-util: don't say sd-executor to avoid ambiguity

We have a systemd-executor binary now.

6 months agomeson: always install network example files
Zbigniew Jędrzejewski-Szmek [Wed, 22 Nov 2023 23:06:29 +0000 (00:06 +0100)] 
meson: always install network example files

I started working on integrating this in the Fedora package and realized that
the example files should be installed regardless of the renamed files when
default-network=true is used. This is because the renamed files become part of
a different package, and we want to have the other files which are used as
documentation in the main package anyway.

6 months agoFinalize NEWS for v255-rc3 v255-rc3
Luca Boccassi [Wed, 22 Nov 2023 20:41:04 +0000 (20:41 +0000)] 
Finalize NEWS for v255-rc3

6 months agoio-util: actually retry on failure
Yu Watanabe [Wed, 22 Nov 2023 18:54:31 +0000 (03:54 +0900)] 
io-util: actually retry on failure

Follow-up for e22c60a9d5dfc5f0b260c7906f3546aef2925998.

Fixes #30152.

6 months agoMerge pull request #30153 from bluca/news
Luca Boccassi [Wed, 22 Nov 2023 20:24:22 +0000 (20:24 +0000)] 
Merge pull request #30153 from bluca/news

Update NEWS and hwdb

6 months agoNEWS: note about reexec on update, for sd-executor 30153/head
Luca Boccassi [Wed, 22 Nov 2023 18:04:08 +0000 (18:04 +0000)] 
NEWS: note about reexec on update, for sd-executor

6 months agoNEWS: update contributors list
Luca Boccassi [Wed, 22 Nov 2023 17:55:04 +0000 (17:55 +0000)] 
NEWS: update contributors list

6 months agohwdb: update
Luca Boccassi [Wed, 22 Nov 2023 17:58:17 +0000 (17:58 +0000)] 
hwdb: update

6 months agosystemctl: distinguish reload and reexec
Christian Hesse [Wed, 22 Nov 2023 13:19:12 +0000 (14:19 +0100)] 
systemctl: distinguish reload and reexec

This used to log about reload, for reload and reexecution. Let's
distinguish the two cases.

6 months agoconf-parser: only read the first found main config file
Mike Yuan [Wed, 22 Nov 2023 11:04:29 +0000 (19:04 +0800)] 
conf-parser: only read the first found main config file

Follow-up for 93f1da45566d064f4f053b37bbac2813631f58b1
and 8ea288db018c7dfe0016d51d4538539bab4ab6de

Before the offending commits, we only read the first found
main config file. If the main config file is symlinked to/as
a drop-in, we should break instead of continuing, for it to
be read later.

6 months agorecurse-dir: correct comment
Lennart Poettering [Wed, 22 Nov 2023 09:56:16 +0000 (10:56 +0100)] 
recurse-dir: correct comment

The RECURSE_DIR_ENSURE_TYPE flag is actually interpreted by
readdir_all() already, hence rearrange comments to say so.

6 months agoMerge pull request #30145 from poettering/reset-terminal-line-editing
Luca Boccassi [Wed, 22 Nov 2023 17:43:51 +0000 (17:43 +0000)] 
Merge pull request #30145 from poettering/reset-terminal-line-editing

make terminal line editing work with systemd-firstboot

6 months agoMerge pull request #30149 from yuwata/setlocale
Luca Boccassi [Wed, 22 Nov 2023 17:43:39 +0000 (17:43 +0000)] 
Merge pull request #30149 from yuwata/setlocale

locale-util: do not call setlocale() when multi-threaded

6 months agoMerge pull request #30143 from poettering/machine-credential-fixes
Luca Boccassi [Wed, 22 Nov 2023 17:43:14 +0000 (17:43 +0000)] 
Merge pull request #30143 from poettering/machine-credential-fixes

machine credential fixes

6 months agoMerge pull request #30024 from keszybz/one-doc-thingy
Luca Boccassi [Wed, 22 Nov 2023 17:42:51 +0000 (17:42 +0000)] 
Merge pull request #30024 from keszybz/one-doc-thingy

Serialize units ratelimits and document StartLimitIntervalSec=infinity

6 months agofs-util: add comment explaining what xopenat() is for
Lennart Poettering [Wed, 22 Nov 2023 09:53:32 +0000 (10:53 +0100)] 
fs-util: add comment explaining what xopenat() is for

6 months agolocale-util: drop unused init_gettext() 30149/head
Yu Watanabe [Wed, 22 Nov 2023 15:34:44 +0000 (00:34 +0900)] 
locale-util: drop unused init_gettext()

The function has not been used since 96d9117ad2db7d8c13f7898127eee8939e88daf1.

6 months agolocale-util: do not call setlocale() when multi-threaded
Yu Watanabe [Wed, 22 Nov 2023 15:32:48 +0000 (00:32 +0900)] 
locale-util: do not call setlocale() when multi-threaded

Fixes #30141.

6 months agomachine-credential: tweak --load-credential= use a bit 30143/head
Lennart Poettering [Wed, 22 Nov 2023 11:02:07 +0000 (12:02 +0100)] 
machine-credential: tweak --load-credential= use a bit

Let's try to recognize paths (i.e. those with a "/") as source for
credentials to load, and then read them from the file system. Also, only read
credentials from an inbound credentials directory if the source
qualifies as valid credential name.

Otherwise print a nice error.

6 months agomachine-credential: simplify code a bit
Lennart Poettering [Wed, 22 Nov 2023 10:55:46 +0000 (11:55 +0100)] 
machine-credential: simplify code a bit

6 months agomachine-credential: use word 'Credential' rather than 'MachineCredential'
Lennart Poettering [Wed, 22 Nov 2023 10:55:24 +0000 (11:55 +0100)] 
machine-credential: use word 'Credential' rather than 'MachineCredential'

Probably some search/replace mistake.

6 months agomachine-credential: fix GREEDY_REALLOC error handling
Lennart Poettering [Wed, 22 Nov 2023 10:53:45 +0000 (11:53 +0100)] 
machine-credential: fix GREEDY_REALLOC error handling

We must check the return value of GREEDY_REALLOC for OOM, and the
pointer are updated already on success, hence it's a bad idea to make a
copy of the pointer beforehand.

6 months agomachine-credential: fix error logging
Lennart Poettering [Wed, 22 Nov 2023 10:52:39 +0000 (11:52 +0100)] 
machine-credential: fix error logging

Remove duplicate logging: let exclusively
machine_credential_load()/machine_credential_set() log, and not the
caller again.

6 months agojournal: sync immediately on shutting down journald
Yu Watanabe [Fri, 17 Nov 2023 17:58:50 +0000 (02:58 +0900)] 
journal: sync immediately on shutting down journald

Otherwise, sd_event_add_time_relative() or sd_event_source_set_time_relative()
below will trigger assert_return().

Prompted by #30029.

6 months agocore: serialize and deserialize trigger ratelimits for socket and path 30024/head
Zbigniew Jędrzejewski-Szmek [Fri, 17 Nov 2023 17:10:50 +0000 (18:10 +0100)] 
core: serialize and deserialize trigger ratelimits for socket and path

6 months agocore: use uniform style for RateLimit initialization
Zbigniew Jędrzejewski-Szmek [Fri, 17 Nov 2023 16:55:35 +0000 (17:55 +0100)] 
core: use uniform style for RateLimit initialization

RateLimit is designed so that we can always initialize only the first two
fields explicitly. All other call sites use a single line for this.

6 months agofirstboot: reset terminal settings right before asking a question 30145/head
Lennart Poettering [Wed, 22 Nov 2023 12:13:03 +0000 (13:13 +0100)] 
firstboot: reset terminal settings right before asking a question

We are about to do interactivity on the terminal, hence let's ensure we
are in the TTY mode we expect to be in.

6 months agoterminal-util: drop ECHOPRT flag from TTY settings when resetting
Lennart Poettering [Wed, 22 Nov 2023 12:10:16 +0000 (13:10 +0100)] 
terminal-util: drop ECHOPRT flag from TTY settings when resetting

Let's disable ECHOPRT for terminals we reset.

The feature only really makes sense for hardcopy terminals and we sure
as shit don't talk to one of those. It has the effect that when line
editing is on and you hit backspace it outputs "\" followed by the
removed character. This never makes sense on a TTY that can just erase
the character.

Hence turn of this flag.

We have carried this flag along for about forever, but it doesn't really
make sense. I guess we mostly tested the terminal reset stuff for output
only, not for input.

This change is in particular useful for tools such as
"systemd-firstboot" which interactively ask questions on the console,
and where line editing should really work.

6 months agoterminal-util: trivial modernizations for reset_terminal_fd()
Lennart Poettering [Wed, 22 Nov 2023 12:08:17 +0000 (13:08 +0100)] 
terminal-util: trivial modernizations for reset_terminal_fd()

6 months agocore: serialize and deserialize auto start/stop ratelimit
Zbigniew Jędrzejewski-Szmek [Fri, 17 Nov 2023 16:53:00 +0000 (17:53 +0100)] 
core: serialize and deserialize auto start/stop ratelimit

The limit is not configurable, so the logic in the helper will always update
the counters. The helper is a bit overkill, but it doesn't really matter.

6 months agocore: serialize and deserialize unit start ratelimits
Zbigniew Jędrzejewski-Szmek [Wed, 15 Nov 2023 16:23:27 +0000 (17:23 +0100)] 
core: serialize and deserialize unit start ratelimits

The logic is taken from dump ratelimit: if the config changes, we discard the
counters. This allows the user apply new limits and "start from scratch" in
that case.

This actually makes StartLimitIntervalSec=infinity (or with a large interval)
work as expected, because the counter is maintained even if daemon-reload
operations are interleaved.

6 months agoupdate TODO
Lennart Poettering [Wed, 22 Nov 2023 09:53:44 +0000 (10:53 +0100)] 
update TODO

6 months agopo: Translated using Weblate (Hebrew)
Yaron Shahrabani [Wed, 22 Nov 2023 00:01:16 +0000 (01:01 +0100)] 
po: Translated using Weblate (Hebrew)

Currently translated at 100.0% (227 of 227 strings)

Co-authored-by: Yaron Shahrabani <sh.yaron@gmail.com>
Translate-URL: https://translate.fedoraproject.org/projects/systemd/master/he/
Translation: systemd/main

6 months agoMerge pull request #30133 from yuwata/fix-draw-cylon
Yu Watanabe [Wed, 22 Nov 2023 01:48:49 +0000 (10:48 +0900)] 
Merge pull request #30133 from yuwata/fix-draw-cylon

pid1: fix draw_cylon()

6 months agosd-journal: warn about seals may not be continuous only when the file is sealed
Yu Watanabe [Tue, 21 Nov 2023 23:44:44 +0000 (08:44 +0900)] 
sd-journal: warn about seals may not be continuous only when the file is sealed

Follow-up for e375bc5fcc080815ce849261eb505d084c2fde3e.

Fixes #30118.

6 months agotest: add test for draw_cylon() 30133/head
Yu Watanabe [Tue, 21 Nov 2023 23:26:14 +0000 (08:26 +0900)] 
test: add test for draw_cylon()

6 months agopid1: move draw_cylong() to pretty-print.[ch]
Yu Watanabe [Tue, 21 Nov 2023 22:01:50 +0000 (07:01 +0900)] 
pid1: move draw_cylong() to pretty-print.[ch]

6 months agopid1: terminate cylon string
Yu Watanabe [Tue, 21 Nov 2023 21:54:18 +0000 (06:54 +0900)] 
pid1: terminate cylon string

Fixes #30121.

6 months agotest: make sure pcrlock tests run headless
Lennart Poettering [Tue, 21 Nov 2023 20:31:25 +0000 (21:31 +0100)] 
test: make sure pcrlock tests run headless

We want the tests to fail rather than hang if unlock via tpm doesn't
work.

6 months agoMerge pull request #30128 from yuwata/network-rapid-commit-follow-ups
Luca Boccassi [Tue, 21 Nov 2023 23:43:00 +0000 (23:43 +0000)] 
Merge pull request #30128 from yuwata/network-rapid-commit-follow-ups

network/dhcp: several follow-ups for RapidCommit=

6 months agoUpdate 60-autosuspend.hwdb (#30131)
linuxlion [Tue, 21 Nov 2023 23:38:54 +0000 (18:38 -0500)] 
Update 60-autosuspend.hwdb (#30131)

* Update 60-autosuspend.hwdb

Framework provides expansion cards. For the HDMI and DisplayPort, these benefit power management via enabling auto suspend.

6 months agopid1: drop unnecessary space
Yu Watanabe [Tue, 21 Nov 2023 21:25:20 +0000 (06:25 +0900)] 
pid1: drop unnecessary space

6 months agotest-network: add tests for [DHCPv4] AllowList= and DenyList=
Yu Watanabe [Tue, 21 Nov 2023 18:35:21 +0000 (03:35 +0900)] 
test-network: add tests for [DHCPv4] AllowList= and DenyList=

We have not tested if the settings actually filter DHCP servers.
Let's add a test case for the settings.

Note, the .network file used here has been unused since
0730e3767d91e020985dc5c7c2178460f627581a. So, we can freely reuse it
without changing other test cases.

Closes #30107.

6 months agonetwork/dhcp: disable RapidCommit= by default when AllowList=/DenyList= is specified 30128/head
Yu Watanabe [Tue, 21 Nov 2023 20:17:58 +0000 (05:17 +0900)] 
network/dhcp: disable RapidCommit= by default when AllowList=/DenyList= is specified

AllowList= and DenyList= filter only DHCPOFFER messages. So, if
RapidCommit= is enabled, then networkd unconditionally accepts a rapid
ACK message even if its sender is filtered out by the lists.

As AllowList=/DenyList= implemented earlier than RapidCommit=, so
enabling RapidCommit= unconditionally by default may break existing
setups that use AllowList=/DenyList=.

Let's disable RapidCommit= by default when AllowList=/DenyList= is
enabled. Still the setting can be enabled by setting explicitly even
AllowList=/DenyList= is also specified.

6 months agoman: [DHCPv4] RapidCommit= is disabled when Anonymize=yes
Yu Watanabe [Tue, 21 Nov 2023 19:57:05 +0000 (04:57 +0900)] 
man: [DHCPv4] RapidCommit= is disabled when Anonymize=yes

6 months agosystemctl: fix typo
Yu Watanabe [Tue, 21 Nov 2023 19:44:49 +0000 (04:44 +0900)] 
systemctl: fix typo

Follow-up for f380473edfa899706d630bb64750ab50c5c04961.

6 months agoFix references to ReadOnly=
Nils K [Tue, 21 Nov 2023 17:07:25 +0000 (18:07 +0100)] 
Fix references to ReadOnly=

PartitionReadOnly is not a valid property and ReadOnly was meant instead.

6 months agotpm2-util: rename json field "tpm2-pcrlock" → "tpm2_pcrlock"
Lennart Poettering [Tue, 21 Nov 2023 14:28:39 +0000 (15:28 +0100)] 
tpm2-util: rename json field "tpm2-pcrlock" → "tpm2_pcrlock"

We generally want to avoid to include dashes in json field names. We
historically made a mistake there which is hard to fix. But for new
fields, let's get this right. We already got it right for a bunch of new
fields, hence also make sure to use underscores rather dashes for new
additions.

This field was added post v254, and since we didn't release since then,
let's just rename it.

6 months agobsod: install the signal handler only just before we need it
Frantisek Sumsal [Tue, 21 Nov 2023 14:55:08 +0000 (15:55 +0100)] 
bsod: install the signal handler only just before we need it

Otherwise we might get stuck in sd_journal_wait(), since it handles
EINTR internally.

Resolves: #30084

6 months agopo: Translated using Weblate (Hebrew)
Yaron Shahrabani [Tue, 21 Nov 2023 11:01:15 +0000 (12:01 +0100)] 
po: Translated using Weblate (Hebrew)

Currently translated at 37.0% (84 of 227 strings)

po: Translated using Weblate (Hebrew)

Currently translated at 15.8% (36 of 227 strings)

po: Added translation using Weblate (Hebrew)

Co-authored-by: Yaron Shahrabani <sh.yaron@gmail.com>
Translate-URL: https://translate.fedoraproject.org/projects/systemd/master/he/
Translation: systemd/main

6 months agokernel-install: do not resolve symlink in paths passed to plugins
Yu Watanabe [Tue, 21 Nov 2023 01:18:57 +0000 (10:18 +0900)] 
kernel-install: do not resolve symlink in paths passed to plugins

When we resolve symlinks, paths (especially filenames) may be changed,
but plugins may expect to see the kernel added under the name specified,
not under the final name that the symlink chain resolves to.

This makes symlinks in specified paths that passed to plugins are not
resolved when neither --root nor --image specified.

Fixes #29317.

6 months agosystemd.pc: Keep support for rootprefix and root_prefix (#30115)
Arian van Putten [Tue, 21 Nov 2023 12:51:08 +0000 (13:51 +0100)] 
systemd.pc: Keep support for rootprefix and root_prefix (#30115)

* systemd.pc: Keep support for rootprefix and root_prefix

We dropped support for split-usr in https://github.com/systemd/systemd/commit/b0d3095fd6cc1791a38f57a1982116b4475244ba
but kept the `rootprefix` variable in meson but ignore it to make sure we do
not break downstream builds that depend on systemd.

This is fine because we had logic in our meson.build that rootprefix and prefix need to be the
same when split-usr=false.

However we never had this logic in our systemd.pc.in file. This leads to a nasty breaking problem
downstream. Many packages [0,1,2]  (there might be more!) rely on overriding rootprefix or root_prefix when calling pkg-config to configure where
to install systemd units. This is because before split-usr we installed units in rootprefix. Setting prefix
on the pkg-config file didn't work. Even when split-usr=false people had to set rootprefix to install units
in the right position.

E.g. they have a line like:

    systemdunitdir = systemd.get_variable(pkgconfig: 'systemdsystemunitdir', pkgconfig_define: ['rootprefix', systemd_root_prefix])

With https://github.com/systemd/systemd/commit/b0d3095fd6cc1791a38f57a1982116b4475244ba landing
This would mean all these downstream packages need to be patched to use `prefix` next to `rootprefix`.
(Both need to be kept to keep backwards compat with using older versions of systemd).

This puts a big burden on downstream packages.
Instead we should not break the existing behaviour and keep the old behaviour of systemd.pc.in around.
I've changed systemd.pc.in such that either setting prefix, rootprefix or root_prefix will all have
the same effect. This way we do not break any downstream packages.

- [0](https://github.com/fwupd/fwupd/blob/caa788b37ff34334d83debb047335fd12f3a7836/meson.build#L464)
- [1](https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/blame/main/meson.build#L204)
- [2](https://github.com/PipeWire/pipewire/blob/49cdb468c28ba366dbd08eef9cb6dbf2dea2a2e5/src/daemon/systemd/system/meson.build#L1)

6 months agosystemctl-show: only show available memory if it was artifically limited
Florian Schmaus [Tue, 21 Nov 2023 08:10:10 +0000 (09:10 +0100)] 
systemctl-show: only show available memory if it was artifically limited

Systemd 255 changed the semantic of MemoryAvailable with 3565c709f587 ("cgroup:
Fix MemoryAvailable= by considering physical memory"). If there is no
artificial constraint, it will hold the amount of available physical memory,
while it previously contained UINT64_MAX.

While the change in MemoryAvailable's semantic is sensible, it causes
`systemctl status` to always display the available physical memory. This
creates a lot of noise, especially since systemd recently started to also show
the "peak" memory. For example

$ systemctl status foo

Memory: 3.9G (available: 21.2G peak: 5.4G)


However, while peak memory is a unit specific value, the available memory, when
not derived from artificial memory limits, is a generic property that holds the
same value for all units that are not under memory accounting
constraints. Displaying it under those circumstances can therefore be
considered being noisy.

Before 3565c709f587 ("cgroup: Fix MemoryAvailable= by considering physical
memory") "systemctl status" would only show the available memory if it was
caused by a explicit memory limitation due to MemoryHigh or MemoryMax.

This commit restores this behavior by supressing displaying the available
memory if is is merely the available phyiscal memory. For example

$ systemctl status foo

Memory: 3.9G (peak: 5.4G)


Fixes #30102.

6 months agoTODO: register more mime types
Lennart Poettering [Mon, 20 Nov 2023 15:21:52 +0000 (16:21 +0100)] 
TODO: register more mime types

6 months agoin-addr: improve log message for e.g. [DHCPv4] AllowList=
Yu Watanabe [Mon, 20 Nov 2023 23:41:38 +0000 (08:41 +0900)] 
in-addr: improve log message for e.g. [DHCPv4] AllowList=

Closes #30107.

6 months agoman: correct version tags in systemd-vmspawn
Luca Boccassi [Mon, 20 Nov 2023 20:07:00 +0000 (20:07 +0000)] 
man: correct version tags in systemd-vmspawn

We ended up merging some changes earlier

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

6 months agoMerge pull request #30108 from mrc0mmand/packit-testing-farm
Luca Boccassi [Mon, 20 Nov 2023 23:02:42 +0000 (23:02 +0000)] 
Merge pull request #30108 from mrc0mmand/packit-testing-farm

packit: run tests on Fedora Rawhide via Testing Farm

6 months agopackit: run tests on Fedora Rawhide via Testing Farm 30108/head
Frantisek Sumsal [Wed, 12 Jul 2023 08:59:30 +0000 (10:59 +0200)] 
packit: run tests on Fedora Rawhide via Testing Farm

Let's utilize the full power of Packit and run some tests with the just
built RPMs. This makes use of the Fedora infrastructure provided by
the Testing Farm project [0][1].

With the current configuration, the `tests` job runs tests from the
Fedora tests repository [2] in a very similar fashion like Ubuntu CI
does, just with different metadata all around it. ATTOW there are only
two tests, which are wrappers around unit tests and integration tests;
the latter one currently runs only nspawn-based tests, since there's no
KVM on the test VMs, and, for now, I'd like to see how well the infra is
going to manage our upstream traffic and how stable the whole thing is
end up being before increasing the work load.

[0] https://docs.testing-farm.io/Testing%20Farm/0.1/index.html
[1] https://packit.dev/docs/configuration/upstream/tests
[2] https://src.fedoraproject.org/tests/systemd

6 months agotest: don't use ddebug() before it's defined
Frantisek Sumsal [Mon, 20 Nov 2023 16:41:20 +0000 (17:41 +0100)] 
test: don't use ddebug() before it's defined

I'm pretty sure this is not the only case, but it's the one I recently
noticed. Even though we call ddebug() from a function, that function is
called before ddebug() is defined, resulting in the same issue as if we
called just ddebug() in its place, i.e.:

..//test-functions: line 276: ddebug: command not found

6 months agotest: move a couple of binaries to the BASICTOOLS array
Frantisek Sumsal [Mon, 20 Nov 2023 15:26:49 +0000 (16:26 +0100)] 
test: move a couple of binaries to the BASICTOOLS array

As they're not optional.

6 months agotest: support NO_BUILD=yes on Fedora
Frantisek Sumsal [Mon, 20 Nov 2023 11:33:58 +0000 (12:33 +0100)] 
test: support NO_BUILD=yes on Fedora

6 months agotest: make the LOOKS_LIKE_* variables proper booleans
Frantisek Sumsal [Mon, 20 Nov 2023 11:17:05 +0000 (12:17 +0100)] 
test: make the LOOKS_LIKE_* variables proper booleans

6 months agoMerge pull request #30074 from YHNdnzj/hibernate-unsupported
Luca Boccassi [Mon, 20 Nov 2023 15:46:21 +0000 (15:46 +0000)] 
Merge pull request #30074 from YHNdnzj/hibernate-unsupported

hibernate-util: if asked to bypass space check, accept the case when we have no swap space at all

6 months agolibsystemd-network: introduce triple_timestamp_from_cmsg()
Yu Watanabe [Fri, 17 Nov 2023 20:25:08 +0000 (05:25 +0900)] 
libsystemd-network: introduce triple_timestamp_from_cmsg()

Follow-up for 461ef3981f1a45150b6e2047bb3c789ac50ba3cf.

This should fix compile error on x32 and riscv32.

6 months agoMerge pull request #30104 from poettering/pcrlock-empty-object-fix
Luca Boccassi [Mon, 20 Nov 2023 15:43:25 +0000 (15:43 +0000)] 
Merge pull request #30104 from poettering/pcrlock-empty-object-fix

pcrlock: fix for parsing corrupted userspace event log

6 months agoMerge pull request #30095 from yuwata/kernel-install-exit-code
Luca Boccassi [Mon, 20 Nov 2023 13:33:06 +0000 (13:33 +0000)] 
Merge pull request #30095 from yuwata/kernel-install-exit-code

kernel-install: exit code

6 months agotest: add simple test case for invalid userspace log records 30104/head
Luca Boccassi [Mon, 20 Nov 2023 13:26:44 +0000 (14:26 +0100)] 
test: add simple test case for invalid userspace log records

6 months agopcrlock: check for embedded NUL bytes
Lennart Poettering [Mon, 20 Nov 2023 13:26:18 +0000 (14:26 +0100)] 
pcrlock: check for embedded NUL bytes

6 months agopcrlock: make sure we don't choke on empty records
Lennart Poettering [Mon, 20 Nov 2023 13:25:56 +0000 (14:25 +0100)] 
pcrlock: make sure we don't choke on empty records

Follow-up for a43427013949

CID#1523832

6 months agoman: add note about journald forwarding being sync
Vito Caputo [Fri, 17 Nov 2023 20:30:32 +0000 (12:30 -0800)] 
man: add note about journald forwarding being sync

This footgun should at least be documented, if there's not going
to be a shortcut setting to establish the async `journalctl
--follow` equivalent.

Fixes: https://github.com/systemd/systemd/issues/2815
6 months agoman: Fix example for systemd-run
Martin Joerg [Mon, 20 Nov 2023 10:04:21 +0000 (11:04 +0100)] 
man: Fix example for systemd-run

6 months agotest-condition: skip group test during Debian package build
Luca Boccassi [Sun, 19 Nov 2023 22:31:26 +0000 (22:31 +0000)] 
test-condition: skip group test during Debian package build

The group names won't match in a package build chroot and the test might
fail, skip it.

https://buildd.debian.org/status/fetch.php?pkg=systemd&arch=hppa&ver=255%7Erc2-2&stamp=1700424353&raw=0

6 months agotest: add test cases about plugin exit code 30095/head
Yu Watanabe [Mon, 20 Nov 2023 01:17:54 +0000 (10:17 +0900)] 
test: add test cases about plugin exit code

6 months agokernel-install: propagate failures in plugins
Yu Watanabe [Mon, 20 Nov 2023 00:55:49 +0000 (09:55 +0900)] 
kernel-install: propagate failures in plugins

This fixes a regression introduced by
42551ea7e923bac5df12b20e3e735a487d38dcd5.

In the shell script version, plugin failures are propagated to the
caller. But after the commit, failures in plugins are logged, but never
propagated as the exit code of the execution.

Fixes #30087.

6 months agohwdb: add Predator PHN16-71
onenowy [Sun, 19 Nov 2023 05:51:47 +0000 (14:51 +0900)] 
hwdb: add Predator PHN16-71

enable microphone mute, predator sense button and fix the keyboard backlight up button changes display brightness.