Commit Graph
83141 Commits
Author SHA1 Message Date
Eisuke Kawashima c2b0f637c2 fix(shell-completion): discard error messages 2025-07-14 20:24:26 +09:00
Eisuke Kawashima 86fff7fb38 fix(shell-completion): strictly parse env output
shell functions may be exported, when env prints their body in multiple
lines
2025-07-14 20:24:26 +09:00
Eisuke Kawashima b371e7252c fix(SC2164): robust cd conditional 2025-07-14 20:24:26 +09:00
Eisuke Kawashima 01e769bc2e fix(SC2162): add -r to read 2025-07-14 20:24:26 +09:00
Eisuke Kawashima cb2e0dc4f5 fix(shell-completion): correct conditional 2025-07-14 20:24:26 +09:00
Eisuke Kawashima 12e64a4848 style(shell-completion): remove unnecessary backslashes 2025-07-14 20:24:25 +09:00
Eisuke Kawashima 5300aa7a1d style(shell-completion): remove trailing semicolons 2025-07-14 20:24:25 +09:00
Eisuke Kawashima 56c093004c style(shell-completion): add missing semicolons 2025-07-14 20:24:25 +09:00
Eisuke Kawashima dfe6b3fa38 style(shell-completion): expand hard tabs and fix indentation 2025-07-14 20:24:25 +09:00
Eisuke Kawashima 2da41c4b51 fix(shell-completion): fix help string 2025-07-14 20:24:25 +09:00
DaanDeMeyer b955051244 nspawn: Don't clear idmapping if we're not doing an idmapped mount
We only need to clear the existing idmapping if we're going to be
replacing it with another idmapping. Otherwise we should keep the
existing idmapping in place.
2025-07-14 11:54:56 +01:00
Vishal Chillara SrinivasandVishwanath Chandapur 6ccc2b24f5 resolve: Refactor mDNS transaction max attempts
Prepare for upcoming mDNS browse services.

Prevent continuous queries from being attempted thrice.

Co-authored-by: Vishwanath Chandapur <vishwanath.chandapur@philips.com>
2025-07-14 14:50:03 +05:30
Vishal Chillara SrinivasandVishwanath Chandapur f7d5177dd2 reslove: Refactor DNS Answer to support 'until' in DnsAnswerItem
Prepare for mDNS browse services to facilitate scheduled cache
maintenance queries when browsing for services.

Introduce dns_answer_add_full() and dns_answer_add_extend_full()
to explicitly handle the 'until' argument, enabling fine-grained control
over the time property of DNS answers.

Ensure backward compatibility while providing the flexibility to
specify 'until' for specific cases when needed

Co-authored-by: Vishwanath Chandapur <vishwanath.chandapur@philips.com>
2025-07-14 14:50:03 +05:30
Vishal Chillara SrinivasandVishwanath Chandapur 108bd5c297 resolve: Rename 'DnssdService', update all dependent code components
Prepare for upcoming mDNS browse services.
Distinguish between registered and discovered services to avoid confusion.

Co-authored-by: Vishwanath Chandapur <vishwanath.chandapur@philips.com>
2025-07-14 14:50:03 +05:30
Daan De Meyer 6488fa5634 Replace underscores in filenames with hyphens (#38203) 2025-07-14 10:37:23 +02:00
DaanDeMeyer f4df5902d8 bpf: Use hyphens in directory names instead of underscores 2025-07-13 12:45:37 +02:00
DaanDeMeyer d962bfeb03 boot: Use hypen in efi-config.h instead of underscore 2025-07-13 12:41:57 +02:00
DaanDeMeyer 47f761fda6 basic: Use hyphens in missing header names instead of underscores 2025-07-13 12:41:14 +02:00
DaanDeMeyer 13a86b4d9f workflows: Use hyphens in filenames instead of underscores 2025-07-13 12:41:12 +02:00
Yu Watanabe f12cc0d3be mkosi: update debian commit reference to a8ad8e30e70c0b82ecb8fe016f2dde3a084236f0
* a8ad8e30e7 Stop installing legacy sysv tools/units for upstream builds
* 9856b1b1bd Install new files for upstream build
* b68bfb52d4 Update changelog for 257.7-2 release
* 3bd5f6d2e0 systemd-boot-tools: change architecture to linux-any
* 057ce29542 Move bootctl zsh completion file too to new package
* b47be01659 Revert "Revert installing systemd-networkd-varlink.socket"
* 71a425dd3b ukify: recommend sbsigntool | pesign for signing
* 54f67475ee Revert installing systemd-networkd-varlink.socket
2025-07-13 05:49:09 +09:00
Yu Watanabe c3116558ad mkosi: drop SysV compat files from packages
These workarounds can be dropped when the downstream .spec or filelists
are updated.
2025-07-13 05:49:09 +09:00
Yu Watanabe 75df71d180 NEWS: mention removal of several SysV compat features 2025-07-13 05:49:09 +09:00
Yu Watanabe e58ba80a40 units: drop runlevel[0-6].target 2025-07-13 05:49:09 +09:00
Yu Watanabe dc1505555b utmp: drop setting runlevel entry in utmp
This removes systemd-update-utmp-runlevel.service and related command.
2025-07-13 05:49:00 +09:00
Yu Watanabe 8ba48d4bf8 core,initctl,systemctl: kill /dev/initctl support
This also kills support for controlling system state through
/sbin/init, initctl, and telinit.
2025-07-13 05:38:14 +09:00
Yu Watanabe af925f7eb3 systemctl: kill SysV compat 'runlevel' command 2025-07-13 05:38:13 +09:00
Yu Watanabe 5572fb18c0 systemctl/halt: drop support for calling in SysV init script
Traditionally, halt is called at the end of the init script on
reboot/shutdown. To support such usecase, previously we read the current
runlevel from utmp and set force flag on reboot/shutdown.

This drops the support for such the usecase.
Note, neither supported nor tested, but hopefully still the command can
be used in the end of the sysv init script by specifying -ff.
2025-07-13 05:38:13 +09:00
Yu Watanabe c17516a84a systemctl: move functions in systemctl-sysv-compat.[ch]
- parse_shutdown_time_spec() is used only by systemctl-compat-shutdown.c,
- talk_initctl() and action_to_runlevel() are used only by systemctl-compat-telinit.c,
- the exit code enum is widely used in systemctl, hence moved to systemctl-util.h.

No functional change, preparation for later changes.
2025-07-13 05:38:13 +09:00
Mike Yuan 391ad5d8aa io.systemd.Unit.List fix context/runtime split (#38172)
This PR rearranges fields in io.systemd.Unit.List according to
@poettering guidance:

> if a property can be set in a unit file, ever, then it belongs in
context. Otherwise, it belongs to runtime.

https://github.com/systemd/systemd/issues/38124
2025-07-12 18:01:41 +02:00
Mike Yuan e0d3213e09 core/cgroup: always submit unit to realize queue if all controllers are being invalidated
Alternative to #38190
Fixes #38112
2025-07-12 17:41:52 +02:00
Mike Yuan 77af13ffdb core/cgroup: remove deserialization for "cpuacct-usage-base"
This has been superseded by "cpu-usage-base" ever since
the introduction of cgroup v2. With upgrading and thus
deserialzing from cgroup v1 systems becoming impossible
it is eligible for removal.
2025-07-12 17:41:04 +02:00
Mike Yuan db54d1a6b7 core/exec-invoke: pass "/" instead of "" for cgroup root 2025-07-12 17:32:32 +02:00
Yu Watanabe 2cc6c651ee test: skip one test case when running on coverage
Since 90fa161b5b, --bind= or Bind=
settings for coverage directory does not work with managed mode:
```
[  158.105361] systemd-nspawn[3718]: Failed to open tree and set mount attributes: Operation not permitted
[  158.105364] systemd-nspawn[3718]: Failed to clone /coverage: Operation not permitted
[  158.118655] systemd-nspawn[3707]: (sd-namespace) failed with exit status 1.
```
Let's tentatively skip the test case when running on coverage.

Workaround for #38163.
2025-07-12 21:19:01 +09:00
Yu Watanabe 5921c48fcf meson: fix coverage build
This moves coverage.h to src/coverage/, and specifies path to coverage.h
with files() directive, to make it can be included even when located
outside of the include directories. Otherwise, libc-wrapper cannot be
built when -Db_coverage=true option is enabled.

Follow-up for 543a48b653.
2025-07-12 21:19:01 +09:00
Luca Boccassi 375d80b04a ci: re-enable uefi secure boot
Kernel 6.11.0-1018-azure is now in use, which has a workaround
for the HyperV bug, so this should work again in GHA
2025-07-12 21:07:58 +09:00
Yu Watanabe b1eb6cc28b pidref: propagate critical errors in pidref_acquire_pidfd_id()
Follow-up for 571867ffa7.

Fixes CID#1612242.
2025-07-12 19:51:01 +09:00
DaanDeMeyer b98d6bff23 core: Fix scope SIGTERM logging
KILL_TERMINATE_AND_LOG doesn't do anything at the moment, let's fix
that.
2025-07-12 19:50:47 +09:00
Lennart Poettering d38dd7d17a core/scope: drop effectively unused unit_watch_pidref() calls (#38186) 2025-07-12 07:27:56 +02:00
Lennart Poettering 6a26f25b74 update TODO 2025-07-12 07:22:56 +02:00
DaanDeMeyer bd427d005c journal: Fix socket max level initialization
Follow up for df5b3426f6
2025-07-12 07:18:45 +02:00
Yu Watanabe 7c208a64ba units: check if kmod command exists
We already check existences of quotaon in quotaon@.service and
quotacheck in systemd-quotacheck@.service.
Let's also check if kmod command exists.

Closes #38179.
2025-07-12 07:18:17 +02:00
Mike Yuan 66867d5308 core/scope: serialize_item() is NOP on NULL 2025-07-11 22:20:25 +02:00
Mike Yuan 4db4641a65 core/scope: drop effectively unused unit_watch_pidref() calls
Follow-up for 495e75ed5c

The mentioned commit switched scope unit's "pids" deserialization
to call unit_watch_pid() already, meaning all later invocations
in scope_coldplug() are no-op. Remove the cruft altogether.
2025-07-11 21:58:51 +02:00
Mike Yuan f22187bd7e units/machines.target: fix typo
Follow-up for 48cb009afc
2025-07-11 21:38:58 +02:00
Lennart Poettering b2f23bd2b1 Support global sysext/confext in systemd-stub/systemd-sysext (#38113)
Systemd-stub supports loading addons, credentials, system and
configuration
extensions from ESP and while addons and credentials can be both global
and
per-UKI, sysext/confext are only per-UKI. 

Add support for global sysext/confext to systemd-stub/systemd-sysext.

Fixes #37993
2025-07-11 21:10:51 +02:00
Lennart Poettering aac7e892e4 machined: make registration of unpriv user's VMs/containers work (#37855)
This adds missing glue to reasonably allow unpriv users VMs/containers
to register with the system machined.

This primarily adds two things:

1. machined can now properly track VMs/containers residing in subcgroups
of units, because that's effectively what happens for per-user
VMs/containers: they are placed below the system unit `user@….service`
in some user unit.

2. machines registered with machined now have an owning UID: users can
operate on their own machines withour re-authentication, but not on
others.

Note that this is only a first step regarding machined's hookup of
nspawn/vmspawn in the long run for unpriv operation.

I think eventually we should make it so that there's both a per-user and
a per-system machined instance (so far, and even with this PR there's
still one per-system instance), and per-user containers/VMs would
registering with *both*. Having two instances makes sense I think,
because it would mean we can make machined reasonably manage the
per-user image discovery, and also do the per-system network/hostname
handling.
2025-07-11 21:10:08 +02:00
Eisuke Kawashima 4571a1d77a shell-completion: update systemd-run 2025-07-11 19:04:44 +02:00
Lennart Poettering 6d44b761ea update TODO 2025-07-11 18:17:04 +02:00
Lennart Poettering bfd356da63 test: add testcase for unpriv machined nspawns reg + killing
Let's add a superficial test for the code we just added: spawn a
container unpriv, make sure registration fully worked, then kill it via
machinectl, to ensure it all works properly.

Not too thorough but a good start.
2025-07-11 18:17:04 +02:00
Lennart Poettering 3405b84d8c units: systems might take a while to boot
vmspawn systems might take quite a while to boot in particular if they
go through uefi and wait for a network lease. Hence let's increase the
start timeout to 2min (from 45s). We'll do that for both nspawn and
vmspawn, even though the UEFI thing certainly doesn't apply there (but
the DHCP thing still does).
2025-07-11 18:17:04 +02:00