Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
273 commits
Select commit Hold shift + click to select a range
d5572ac
boot: load extra files for UKIs into memory and register as initrds
poettering Mar 25, 2026
a3d0e76
boot: downgrade log level for an error we ignore
poettering Apr 29, 2026
6b1324f
man: add a brief note about type 1 extra lines
poettering Apr 29, 2026
fb0143f
shared/options: add option_parser_get_help_table_ns() helper
keszybz Apr 29, 2026
c2c9887
udevadm: convert option parsing to the new option parser
keszybz Apr 26, 2026
07fc22c
udevadm-cat: convert to OPTION macros
keszybz Apr 27, 2026
765fc41
shared/options: add OPTION_COMMON_RESOLVE_NAMES
keszybz Apr 29, 2026
bfc07f8
udev: fix stale optarg use
keszybz Apr 28, 2026
5893cf3
udev: convert udev-config.c to OPTION macros
keszybz Apr 28, 2026
ce4746f
udevadm-hwdb: convert to OPTION macros
keszybz Apr 28, 2026
5751647
udevadm-test-builtin: convert to OPTION macros
keszybz Apr 28, 2026
12e5e0e
udevadm-verify: convert to OPTION macros
keszybz Apr 28, 2026
a517a62
udevadm-test: convert to OPTION macros
keszybz Apr 28, 2026
5a2144f
udevadm-monitor: convert to OPTION macros
keszybz Apr 28, 2026
ed2b92e
udevadm-settle: convert to OPTION macros
keszybz Apr 28, 2026
a00de0b
udevadm-lock: convert to OPTION macros
keszybz Apr 28, 2026
0257def
udevadm-control: convert to OPTION macros
keszybz Apr 28, 2026
5656636
udevadm-wait: convert to OPTION macros
keszybz Apr 28, 2026
222b417
udevadm-trigger: convert to OPTION macros
keszybz Apr 28, 2026
c86ba4e
udevadm-info: convert to OPTION macros
keszybz Apr 28, 2026
408d18f
udev-builtin-blkid: convert to OPTION macros
keszybz Apr 28, 2026
6c77261
sd-bus: store the strv size when extending it (#41864)
keszybz Apr 29, 2026
a79c4fd
Small cleanups in sd-varlink and sd-json (#41861)
keszybz Apr 29, 2026
53f7c1a
sd-boot related work from #41543 (add "extra" stanza to bls type 1) (…
keszybz Apr 29, 2026
ab9acf8
shared/options: add new helper option_parser_get_arg
keszybz Apr 29, 2026
fcfd42a
udev-builtin-hwdb: convert to OPTION macros
keszybz Apr 28, 2026
13f6fed
udevadm: convert verb dispatch to VERB macros
keszybz Apr 28, 2026
e4e3ec8
volume: add an "io.systemd.StorageProvider" IPC API that is supposed …
poettering Apr 29, 2026
32a291a
sd-boot: minor tweaks as follow-up for #41863
poettering Apr 29, 2026
fd035af
update TODO
poettering Apr 29, 2026
82614a4
sd-json,user-record: store the strv size when extending it
mrc0mmand Apr 29, 2026
6181143
follow-up for recently merged PRs (#41870)
keszybz Apr 29, 2026
a234840
Convert remaining udev progs to option macros (#41856)
keszybz Apr 29, 2026
994f016
blockdev-list: fix per-element leak in block_device_array_free() (#41…
brauner Apr 29, 2026
33ac56f
man: add section about systemd-boot Type#1 sidecars
bluca Apr 29, 2026
3f2189c
binfmt-util: handle ELOOP/EACCES from automount in read-only bind mounts
sdainard-AL Apr 28, 2026
a69f0b8
repart: hide read-only block devices from candidates
poettering Apr 29, 2026
cd7acee
Improve error logging for fstat failure
MillaFleurs Apr 30, 2026
9d2f5b4
fundamental/cleanup: add CLEANUP_ELEMENTS() and DEFINE_POINTER_ARRAY_…
daandemeyer Apr 27, 2026
1c53445
dns-question: limit the number of questions per query
mrc0mmand Apr 29, 2026
7671b43
sd-json: limit the number of env variables to something reasonable
mrc0mmand Apr 29, 2026
e5687f6
report: absorb "facts" into "metrics"
keszybz Apr 28, 2026
99ce7a0
options: get rid of "on_error" parameter to FOREACH_OPTION
poettering Apr 30, 2026
4ce8cd1
fundamental: drop now-unused macro
keszybz Apr 30, 2026
f78ba86
report: report user and system CPU time per cgroup
YapingLi04 Apr 29, 2026
630f5a1
mkosi: update debian commit reference to 1302f123d9ab65bbaff5d95935ea…
bluca Apr 30, 2026
acdaece
bootspec: add boot_config_selected_entry() helper
poettering Apr 15, 2026
0a46727
bootspec: make pe_find_uki_sections() non-static
poettering Mar 13, 2026
d292874
bootspec: add bootspec_extract_osrelease() helper
poettering Mar 20, 2026
4d0f6ac
bootctl: add helpers that format a type1 menu entry filename from a c…
poettering Apr 15, 2026
e68bf71
bootctl: rework/modernize "unlink" and add Varlink API for it
poettering Apr 10, 2026
e48d8a1
bootctl: add "link" command
poettering Feb 9, 2026
e7128bb
bootspec: generalize "addon" logic for all kinds of extra sidecars
poettering Feb 10, 2026
e7ab31b
bootctl: make sure "unlink" properly tracks "extra" files
poettering Mar 20, 2026
c68b8ff
ci: add integration test for new bootctl functionality
poettering Apr 17, 2026
5e74fd0
update TODO
poettering Feb 10, 2026
578629c
bootctl: introduce "link" as alternative to kernel-install (#41543)
poettering May 1, 2026
6a672f5
po: Translated using Weblate (Greek)
asongofghostandfire May 1, 2026
eb357bf
dbus-manager: limit the number of states/patterns per query
mrc0mmand Apr 30, 2026
49c1e1b
dbus: limit the number of env variables to something reasonable, vol. 2
mrc0mmand Apr 30, 2026
2cfaf50
hwdb: Add missing Steelseries Arctis Pro Wireless
alosarjos May 1, 2026
fa9b3b2
socket-util: introduce tos_to_priority()
yuwata May 2, 2026
5b10b58
iovec-util: introduce iovec_done_and_memdup()
yuwata May 2, 2026
db28490
siphash24: introduce siphash24_compress_iovec() helper function
yuwata May 2, 2026
d667b6b
core: add ReloadCount to Manager and bump on successful reload
lucido-simon Apr 20, 2026
6d4c714
hwdb: add correct keyboard mapping for touchpad_toggle event on msi g…
kakolla May 3, 2026
e53fd6c
build(deps): bump systemd/mkosi
dependabot[bot] May 1, 2026
7d32d12
build(deps): bump meson from 1.10.2 to 1.11.1 in /.github/workflows
dependabot[bot] May 1, 2026
a350228
build(deps): bump the actions group with 6 updates
dependabot[bot] May 1, 2026
26cba7f
test: make varlink StartTransient checks compatible with jq 1.6
bluca May 2, 2026
afa4a55
test: avoid getting stuck on /dev/fuse
bluca May 2, 2026
378d6bd
test: fix json encoding issue due to backslashes
bluca May 2, 2026
8fbc933
test: bump device timeout to 300s for TPM2 tests
bluca May 3, 2026
2fc008b
test: make TEST-70-TPM2 robust against reruns
bluca May 3, 2026
3ec1a8a
test: make TEST-86-MULTI-PROFILE-UKI robust against reruns
bluca May 3, 2026
1c764b1
test: make TEST-70-TPM2 and TEST-86-MULTI-PROFILE-UKI robust against …
keszybz May 4, 2026
5580db8
boot: Try to load UKI from simple filesystem before LoadImage
valentindavid Apr 18, 2026
78c66e8
dbus-manager: limit the number of states/patterns per query (#41891)
poettering May 4, 2026
4b35847
man/sd-bus: add a note that tcp: is w/o encryption
keszybz May 4, 2026
bd9971c
cryptsetup: avoid a segfault when a keyfile is passed along with a TP…
vittyvk Apr 30, 2026
4820d57
TEST-70-TPM2: Test the key_file + tpm2-device= combo
vittyvk Apr 30, 2026
7e6507c
test: fix flaky TEST-04-JOURNAL.reload.sh due to service name collision
bluca May 3, 2026
4a11c5e
core: Open netfilter socket only when needed
valentindavid May 4, 2026
4276d37
semaphore: stop deleting all apt sources
bluca May 4, 2026
a1d0c58
test: make TEST-64 mdadm_lvm cleanup robust against reruns
bluca May 3, 2026
74338c0
test: suppress PCR public key auto-loading in TEST-70-TPM2 dditest
bluca May 4, 2026
50138e3
resolve: enforce the search domain limit earlier
mrc0mmand May 4, 2026
17e6a3e
resolve: limit the number NTAs to something sensible
mrc0mmand May 4, 2026
29b00c9
update TODO
poettering May 5, 2026
a551c1b
test: skip TEST-07-PID1.DeferReactivation with sanitizers
bluca May 4, 2026
ae973bb
test: avoid nspawn failure due to scope in use in TEST-06-SELINUX
bluca May 4, 2026
f8d01ff
cryptsetup: avoid a segfault when a keyfile is passed along with a TP…
keszybz May 5, 2026
2d9d62f
resolve: enforce the search domain limit earlier (#41938)
keszybz May 5, 2026
f743467
shared/help-util: automatically append ":" in sections
keszybz May 5, 2026
f94da4b
shared/verbs: display default verb as "[verb]"
keszybz May 5, 2026
f8c0aac
test-options: add a check for custom logic in systemd-analyze
keszybz May 5, 2026
10b97bb
analyze: convert to OPTION and VERB macros
keszybz May 4, 2026
71ebb27
core/varlink-metrics: expose ReloadCount as a metric
lucido-simon May 4, 2026
45725d6
test: skip TEST-70-TPM2.nvpcr check if pcrextend socket inactive
bluca May 5, 2026
090f9b5
systemd-dissect: do not fail dissection on LUKS v1 partitions
naraghavan2186 May 4, 2026
1041160
github: rename "systemd-import" to "importctl"
gucci-on-fleek May 1, 2026
a3f75ac
Convert systemd-analyze to option and verb macros (#41945)
keszybz May 5, 2026
e8e3bd1
socket-activate: fix comment
keszybz Apr 28, 2026
e235b6a
report-basic-server: use accessor function
keszybz Apr 28, 2026
e71074f
various: convert "services" to option macros
keszybz Apr 29, 2026
9cfad50
sysext: move stuff around
keszybz Apr 29, 2026
a8971f6
sysext: convert to option and verb macros
keszybz Apr 29, 2026
4ce94c3
test-modem-manager-mock: convert to OPTION macros
keszybz Apr 29, 2026
d5301b6
networkd-wait-online: convert to OPTION macros
keszybz Apr 29, 2026
6557a98
journal-upload: convert to OPTION macros
keszybz Apr 29, 2026
d9fbe51
mstack-tool: convert to OPTION macros
keszybz Apr 29, 2026
c97084d
networkctl: convert to OPTION and VERB macros
keszybz Apr 29, 2026
203409b
networkctl: use proper errno in mesage
keszybz Apr 30, 2026
83436d4
scsi_id: fix memory leak of option_get_synopsis() return value
bluca May 5, 2026
ea07d7f
bootctl: allow extra files on 'link' be specified as literal data
poettering Apr 20, 2026
5fbc7a7
sysinstall: new component
poettering Aug 28, 2025
ca5b4f3
ci: add CI test for systemd-sysinstall
poettering Apr 29, 2026
1cac85a
update TODO
poettering Apr 20, 2026
5eb256c
vmspawn-qmp: take temporary ref in drive_info_add_fail
bluca May 5, 2026
5d7d54f
test: make TEST-64 btrfs_basic cleanup robust against reruns
bluca May 5, 2026
d508bfb
man/systemd-report: document --url= and other options
keszybz Apr 28, 2026
55130e3
systemd-sysinstall (this time on top of bootctl link) (#41877)
poettering May 5, 2026
fc8d547
udev-builtin-tpm2-id: gracefully skip tpm2 identification if tss2-lib…
poettering May 5, 2026
5d17215
treewide: fix typos in the entire codebase
diegoviola May 5, 2026
5afd344
bootctl,mute-console,pcrextend,pcrlock,repart: allow connections from…
keszybz Apr 28, 2026
63eb3cf
update TODO
poettering May 5, 2026
4de3f59
man: EnvironmentFile= honors %h, not \$HOME
src-up May 2, 2026
c0aa351
test-oomd: fix flakiness under sanitizers
bluca May 5, 2026
fc05165
terminal-util: when prompting for a choice from a list, preselect lon…
poettering May 5, 2026
afa3eb8
test: drop more 'grep -q' instances
bluca May 5, 2026
88cc10e
test: reduce number of identical io.systemd.JournalAccess.GetEntries …
bluca May 5, 2026
a218607
report: upload reports using a "varlink socket directory"
keszybz Apr 28, 2026
9c336ef
report: set description on varlink sockets
keszybz Apr 29, 2026
ffd4e7a
report: when a report fails, print the json error details
mvo5 Apr 29, 2026
628ab00
report: fold io.systemd.Basic facts into metrics
mvo5 May 5, 2026
4ffb603
sysupdate: Ensure that end of the MatchPattern is matched correctly
jonas2515 Apr 30, 2026
a92b60a
homectl: fix error handling in shell_is_ok()
keszybz May 5, 2026
f149de5
test: make TEST-04-JOURNAL.journalctl-varlink more robust (#41953)
bluca May 5, 2026
764d9d5
homectl: split out two prompt functions
keszybz May 5, 2026
937129d
Merge facts into metrics and add systemd-report generate/upload (#41688)
keszybz May 5, 2026
392846b
test-homectl-prompts: add manual test to exercise prompt functionality
keszybz May 5, 2026
c379621
homectl: drop redunant sort
keszybz May 5, 2026
852fcf5
hwdb: add SOUND_FORM_FACTOR for Edifier M60 and Fractal Scape Dongle
alosarjos May 5, 2026
72fedd6
Couple of coverity fixes (#41951)
keszybz May 5, 2026
fc68ee6
sd-boot: efi-log: fix `__stack_chk_guard` type
trofi May 5, 2026
9d2df9d
Add a manual test to exercise homectl prompt logic (#41954)
poettering May 6, 2026
eaa0073
user-util,storagectl: introduce USERNS_RANGE_SIZE macro
brauner May 1, 2026
efb0a0f
shared: move storage-util to libshared
brauner May 1, 2026
32a8041
shared: add BindVolume parser in machine-util
brauner May 1, 2026
fad897b
shared: add storage_acquire_volume() helper
brauner May 1, 2026
a0faa6a
storagectl: refactor mount.storage helper to use storage_acquire_volu…
brauner May 1, 2026
aa02ad2
shared: add AddStorage / RemoveStorage to io.systemd.MachineInstance
brauner May 1, 2026
0e911e4
vmspawn: track removability as a QmpDriveFlags bit and expose add_blo…
brauner May 1, 2026
a34ad7f
vmspawn: add vmspawn-bind-volume glue
brauner May 1, 2026
413fd62
vmspawn: add --bind-volume= command line option
brauner May 1, 2026
e7eac39
vmspawn: implement io.systemd.MachineInstance.AddStorage / RemoveStorage
brauner May 1, 2026
c9f461a
machinectl: add bind-volume / unbind-volume verbs
brauner May 1, 2026
8a4451d
docs,test: --bind-volume / bind-volume / unbind-volume
brauner May 1, 2026
4ddfd04
vmspawn,machinectl: integrate io.systemd.StorageProvider (#41910)
brauner May 6, 2026
9fe1684
fs-util: Some followups for xopenat_full() (#41835)
brauner May 6, 2026
f6363a0
Another batch of conversions to option and verb macros (#41881)
keszybz May 6, 2026
5a41d43
portablectl: reorder verb functions
keszybz May 6, 2026
0731b6c
portablectl: convert to OPTION and VERB macros
keszybz May 5, 2026
e0ea854
shared/pager: add support for more(1) pager in secure mode (#41503)
poettering May 6, 2026
cbadda5
vmspawn: reject --bind-volume= duplicates at parse time
brauner May 6, 2026
a500465
update TODO
poettering May 6, 2026
5c03431
vmspawn: reject --bind-volume= duplicates at parse time (#41961)
brauner May 6, 2026
a7e276a
dbus: limit the number of env variables to something reasonable, vol. 3
mrc0mmand May 6, 2026
f0a171d
hwdb: add Fn-key mappings for MSI GE76 Raider 10UG
WereCatf May 6, 2026
67e23e0
vmspawn: search XDG_DATA_DIRS for QEMU firmware
katexochen May 6, 2026
de29e61
portablectl: actually allow set-limit with one arg
keszybz May 7, 2026
a42f1eb
report-cgroup-server: convert to OPTION macros
keszybz May 5, 2026
b49a4da
coredumpctl: convert to OPTION and VERB macros
keszybz May 6, 2026
561f3a6
mount: convert to OPTION macros
keszybz May 6, 2026
355f2be
mount: stop showing mount options for systemd-unmount
keszybz May 6, 2026
d4bc627
test: fix flaky testcase_15_wait_online_dns in TEST-75-RESOLVED
bluca May 6, 2026
73622e0
Convert more programs to option+verb macros (#41974)
daandemeyer May 7, 2026
16c3c69
resolvectl: split out parse_protocol
keszybz May 6, 2026
df24074
resolvectl: move things around in --help
keszybz May 7, 2026
d865863
resolvectl: move verb implementations to match order in --help
keszybz May 7, 2026
4e20d61
shared/verbs: when showing default verb, put [] around the args too
keszybz May 7, 2026
7cea71e
resolvectl: convert to OPTION and VERB macros
keszybz May 7, 2026
3660711
resolvconf-compat: convert to OPTION macros
keszybz May 7, 2026
174f6f3
Convert resolvectl to option and verb macros (#41978)
daandemeyer May 7, 2026
62a489f
tree-wide: rename unref_and_replace_full to unref_and_replace_new_ref
keszybz May 7, 2026
f3ee351
sd-dhcp-client: avoid taking and dropping a reference
keszybz May 7, 2026
f236146
hwdb: add force-release to Nitro AN515-58 backlight keys
mybday123 May 8, 2026
88d7e44
Add json_variant_unref_and_replace and use it where appropriate
keszybz May 7, 2026
576ca62
userdbctl: split out parse_from_file()
keszybz May 7, 2026
244d80b
test: try to make TEST-04-JOURNAL.journalctl-varlink less flaky
bluca May 6, 2026
cb83598
userdbctl: convert to OPTION and VERB macros
keszybz May 8, 2026
0a5e094
curl-util: Make some curl symbols private
daandemeyer Apr 30, 2026
87cec65
curl-util: bring CurlGlue/CurlSlot in line with sd-bus and qmp-client
daandemeyer May 1, 2026
b2c6cc6
userdbctl: actually implement option parsing stop after --chain
keszybz May 8, 2026
480449d
machine: require normalized paths in Copy* D-Bus/Varlink methods
mrc0mmand May 7, 2026
d0c9128
test: add missing varlink IDL enum tests for Job and ServiceType
ikruglov May 7, 2026
c0cda5d
userdbctl: fix erroneous errno
keszybz May 8, 2026
7af304d
test: make TEST-07-PID1.user-namespace-path more robust
bluca May 8, 2026
0cc6e29
Convert userdbctl to option macros (#41991)
keszybz May 8, 2026
9bbadef
man: update Fedora image name in vmspawn example
albertescanes May 8, 2026
73fd578
mkosi: drop libucontext again
daandemeyer May 8, 2026
ba93240
man/tmpfiles: fix missing 'as' in %t details column
tmzullinger May 8, 2026
8914819
tmpfiles: Add commands for file capabilites
valentindavid Mar 28, 2026
601bf4c
po: Translated using Weblate (Romanian)
RePierre May 9, 2026
b7be9cc
hwdb/keyboard: fix KP_Enter on Clevo PA70ES
matheusmoreira May 9, 2026
5f99e12
test: make TEST-07-PID1.user-namespace-path more robust (#42001)
brauner May 11, 2026
cd57308
test: workaroud flaky TEST-53-TIMER.restart-trigger against journald …
bluca May 8, 2026
d3f436a
test: fix flaky TEST-07-PID1.socket-defer.sh
bluca May 8, 2026
0bf094b
test: bump TEST-58-REPART timeouts with sanitizers
bluca May 8, 2026
87d282a
test-path-util: add coverage for path edge cases
favilances May 9, 2026
20594fd
elf-util: pass exectable path to dwfl_core_file_report
ambyjkl May 10, 2026
1b8a2b6
fileio: teach read_one_line_file_at() XAT_FDROOT support
poettering May 11, 2026
db80465
fileio: add new read_boolean_file() helper
poettering May 6, 2026
4f63cff
tree-wide: port various places to read_boolean_file()
poettering May 11, 2026
dde54e5
fileio: add new read_boolean_file() helper (#41963)
poettering May 11, 2026
2633355
clang-tidy: Drop unknown gcc compiler args
daandemeyer May 10, 2026
f68fa99
TEST-67-INTEGRITY: pre-load crypto modules and skip unsupported algor…
bluca May 11, 2026
2470651
Some curl improvements (#41905)
poettering May 11, 2026
6e7f598
repart: make definitions varlink parameter actually optional
poettering May 11, 2026
4409e52
units: enable systemd-report-basic.socket by default
mvo5 May 8, 2026
6f3fa71
vmspawn: Attach a USB keyboard in GUI mode
daandemeyer May 11, 2026
e902a93
sysupdate: Allow vacuuming partially downloaded updates and improve e…
poettering May 11, 2026
033be1a
hwdb/keyboard: use vendor/product specific match for X+ Piccolo
eworm-de May 11, 2026
96a61b5
Revert "hwdb/keyboard: fix KP_Enter on Clevo PA70ES"
eworm-de May 11, 2026
5173116
curl-util: Fix clang-tidy warnings (#42030)
daandemeyer May 11, 2026
6f49c7e
hwdb/keyboard: fix match for X+ Piccolo & revert workaround (#42018)
bluca May 11, 2026
7b9d76c
boot,vconsole: Propagate UEFI HII keyboard layout to the OS
daandemeyer May 11, 2026
54776b5
vmspawn: Use builtin vdagent instead of spicevmc
daandemeyer May 11, 2026
f0064f1
Add liburing to build image packages
daandemeyer May 11, 2026
a19d920
units: pull in basic.target rather than sysinit.target from system-in…
poettering May 11, 2026
d0168f4
mkosi: Drop CPUs= limit
daandemeyer May 11, 2026
324fab7
firstboot,sysinstall,hostnamed: always show FANCY_NAME=
poettering May 6, 2026
2fcf963
vmspawn: Add missing error logging
daandemeyer May 11, 2026
58863bd
iovec-wrapper: make iovw_size() take NULL again
yuwata Apr 23, 2026
fe6fed5
iovec-wrapper: introduce iovw_put_full() and friends to make them acc…
yuwata Apr 25, 2026
32729ae
iovec-wrapper: introduce iovec_split() and iovw_merge()
yuwata Apr 23, 2026
4fc58bf
iovec-wrapper: reintroduce iovw_free() and iovw_free_free()
yuwata Apr 23, 2026
320ae46
tlv-util: introduce tlv-util that handles Tag-Length-Value data format
yuwata Apr 20, 2026
53b16b6
test: start systemd-report-basic.socket again
bluca May 11, 2026
dc6b6e9
hwdb/keyboard: Map f21 key on Wareus B15
May 12, 2026
60d6f70
btrfs-util: Make nested subvolume operations work unpriv
daandemeyer May 11, 2026
0b8b2af
Introduce helper functions to parse and build length-prefixed data an…
yuwata May 12, 2026
6de004d
Introduce support for running code in fibers
daandemeyer Nov 12, 2025
5264cb2
sd-future: add fiber-aware non-blocking I/O wrappers
daandemeyer Apr 25, 2026
5137cbb
sd-future: make src/basic blocking helpers fiber-aware
daandemeyer Apr 25, 2026
036b53c
sd-event: suspend instead of blocking when sd_event_run() runs on a f…
daandemeyer Mar 23, 2026
e9c49dd
sd-bus: make sd-bus fiber-aware
daandemeyer May 11, 2026
9aa2ae0
sd-varlink: make sd-varlink fiber-aware
daandemeyer Apr 14, 2026
5eee6a4
qmp-client: add fiber-aware call paths
daandemeyer Apr 24, 2026
55159e0
test-qmp-client: run mock QMP servers as fibers on the shared event loop
daandemeyer Apr 24, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
1 change: 1 addition & 0 deletions .clang-tidy
Original file line number Diff line number Diff line change
Expand Up @@ -70,6 +70,7 @@ CheckOptions:
^getmntent$,mnt_table_next_fs(),libmount parser should be used instead
'
misc-header-include-cycle.IgnoredFilesList: 'glib-2.0'
RemovedArgs: ['-fwide-exec-charset=UCS2', '-maccumulate-outgoing-args']
WarningsAsErrors: '*'
ExcludeHeaderFilterRegex: 'blkid\.h|gmessages\.h|gstring\.h'
HeaderFileExtensions:
Expand Down
3 changes: 2 additions & 1 deletion .github/ISSUE_TEMPLATE/bug_report.yml
Original file line number Diff line number Diff line change
Expand Up @@ -82,6 +82,7 @@ body:
- 'homectl'
- 'hostnamectl'
- 'hardware database files'
- 'importctl'
- 'journalctl'
- 'kernel-install'
- 'loginctl'
Expand Down Expand Up @@ -112,7 +113,7 @@ body:
- 'systemd-homed'
- 'systemd-hostnamed'
- 'systemd-hwdb'
- 'systemd-import'
- 'systemd-importd'
- 'systemd-journal-gatewayd'
- 'systemd-journal-remote'
- 'systemd-journal-upload'
Expand Down
3 changes: 2 additions & 1 deletion .github/ISSUE_TEMPLATE/feature_request.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@ body:
- 'homectl'
- 'hostnamectl'
- 'hardware database files'
- 'importctl'
- 'journalctl'
- 'kernel-install'
- 'loginctl'
Expand Down Expand Up @@ -51,7 +52,7 @@ body:
- 'systemd-homed'
- 'systemd-hostnamed'
- 'systemd-hwdb'
- 'systemd-import'
- 'systemd-importd'
- 'systemd-journal-gatewayd'
- 'systemd-journal-remote'
- 'systemd-journal-upload'
Expand Down
2 changes: 1 addition & 1 deletion .github/advanced-issue-labeler.yml
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@ policy:
keys: ['systemd-hwdb', 'hardware database files']

- name: import
keys: ['systemd-import']
keys: ['systemd-importd', 'importctl']

- name: journal
keys: ['systemd-journald', 'journalctl']
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/cifuzz.yml
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,7 @@ jobs:
path: ./out/artifacts
- name: Upload Sarif
if: always() && steps.build.outcome == 'success'
uses: github/codeql-action/upload-sarif@89a39a4e59826350b863aa6b6252a07ad50cf83e
uses: github/codeql-action/upload-sarif@95e58e9a2cdfd71adc6e0353d5c52f41a045d225
with:
# Path to SARIF file relative to the root of the repository
sarif_file: cifuzz-sarif/results.sarif
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/claude-review.yml
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,7 @@ jobs:

- name: Fetch PR context and create tracking comment
id: context
uses: actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd
uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3
with:
script: |
const owner = context.repo.owner;
Expand Down Expand Up @@ -179,7 +179,7 @@ jobs:
sudo apt-get update && sudo apt-get install -y bubblewrap socat

- name: Configure AWS credentials
uses: aws-actions/configure-aws-credentials@8df5847569e6427dd6c4fb1cf565c83acfa8afa7
uses: aws-actions/configure-aws-credentials@ec61189d14ec14c8efccab744f656cffd0e33f37
with:
role-to-assume: arn:aws:iam::${{ secrets.AWS_ACCOUNT_ID }}:role/${{ secrets.AWS_ROLE_NAME }}
role-session-name: GitHubActions-Claude-${{ github.run_id }}
Expand Down Expand Up @@ -417,7 +417,7 @@ jobs:
name: review-result.json

- name: Post review comments
uses: actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd
uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3
env:
REVIEW_RESULT: ${{ needs.review.result }}
PR_NUMBER: ${{ needs.setup.outputs.pr_number }}
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/coverage.yml
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ jobs:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd
with:
persist-credentials: false
- uses: systemd/mkosi@66d51024b7149f40be4702e84275c936373ace97
- uses: systemd/mkosi@9a28ad20bbea61894ea7b971d318a71f4374cf3b

# Freeing up disk space with rm -rf can take multiple minutes. Since we don't need the extra free space
# immediately, we remove the files in the background. However, we first move them to a different location
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/gather-pr-metadata.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ jobs:

- id: metadata
name: Gather Pull Request Metadata
uses: redhat-plumbers-in-action/gather-pull-request-metadata@b86d1eaf7038cf88a56b26ba3e504f10e07b0ce5
uses: redhat-plumbers-in-action/gather-pull-request-metadata@62fc85c7acd15db62a0bdf007c8dbeda86eaf3b6

- name: Upload Pull Request Metadata artifact
uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/labeler.yml
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ jobs:
sync-labels: false

- name: Set or remove labels based on systemd development workflow
uses: actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd
uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3
if: startsWith(github.event_name, 'pull_request') && github.event.action != 'closed' && !github.event.pull_request.draft
with:
script: |
Expand Down Expand Up @@ -85,7 +85,7 @@ jobs:
}

- name: Add please-review label on command in issue comment
uses: actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd
uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3
if: github.event_name == 'issue_comment' && github.event.issue.pull_request && startsWith(github.event.comment.body, '/please-review')
with:
script: |
Expand All @@ -97,7 +97,7 @@ jobs:
})

- name: Remove specific labels when PR is closed or merged
uses: actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd
uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3
if: startsWith(github.event_name, 'pull_request') && github.event.action == 'closed'
with:
script: |
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/linter.yml
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ jobs:
persist-credentials: false

- name: Lint Code Base
uses: super-linter/super-linter/slim@61abc07d755095a68f4987d1c2c3d1d64408f1f9
uses: super-linter/super-linter/slim@9e863354e3ff62e0727d37183162c4a88873df41
env:
DEFAULT_BRANCH: main
MULTI_STATUS: false
Expand All @@ -40,7 +40,7 @@ jobs:
GITHUB_ACTIONS_CONFIG_FILE: actionlint.yml
ENABLE_GITHUB_PULL_REQUEST_SUMMARY_COMMENT: false

- uses: systemd/mkosi@66d51024b7149f40be4702e84275c936373ace97
- uses: systemd/mkosi@9a28ad20bbea61894ea7b971d318a71f4374cf3b

- name: Check that tabs are not used in Python code
run: sh -c '! git grep -P "\\t" -- src/core/generate-bpf-delegate-configs.py src/boot/generate-hwids-section.py src/ukify/ukify.py test/integration-tests/integration-test-wrapper.py'
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/make-release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ jobs:

steps:
- name: Release
uses: softprops/action-gh-release@153bb8e04406b158c6c84fc1615b65b24149a1fe
uses: softprops/action-gh-release@b4309332981a82ec1c5618f44dd2e27cc8bfbfda
with:
prerelease: ${{ contains(github.ref_name, '-rc') }}
draft: ${{ github.repository == 'systemd/systemd' }}
2 changes: 1 addition & 1 deletion .github/workflows/mkosi.yml
Original file line number Diff line number Diff line change
Expand Up @@ -169,7 +169,7 @@ jobs:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd
with:
persist-credentials: false
- uses: systemd/mkosi@66d51024b7149f40be4702e84275c936373ace97
- uses: systemd/mkosi@9a28ad20bbea61894ea7b971d318a71f4374cf3b

# Freeing up disk space with rm -rf can take multiple minutes. Since we don't need the extra free space
# immediately, we remove the files in the background. However, we first move them to a different location
Expand Down
5 changes: 2 additions & 3 deletions .github/workflows/requirements.txt
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
meson==1.10.2 \
--hash=sha256:5f84ef186e6e788d9154db63620fc61b3ece69f643b94b43c8b9203c43d89b36 \
--hash=sha256:7890287d911dd4ee1ebd0efb61ed0321bfcd87c725df923a837cf90c6508f96b
meson==1.11.1 \
--hash=sha256:9b3a023657e393dbc5335b95c561337d49b7a458f5541e47ec44f2cc566e0d80
ninja==1.13.0 \
--hash=sha256:11be2d22027bde06f14c343f01d31446747dbb51e72d00decca2eb99be911e2f \
--hash=sha256:1c97223cdda0417f414bf864cfb73b72d8777e57ebb279c5f6de368de0062988 \
Expand Down
4 changes: 2 additions & 2 deletions .semaphore/semaphore-runner.sh
Original file line number Diff line number Diff line change
Expand Up @@ -68,8 +68,8 @@ EOF
for phase in "${PHASES[@]}"; do
case "$phase" in
SETUP)
# remove semaphore repos, some of them don't work and cause error messages
sudo rm -rf /etc/apt/sources.list.d/*
# remove chrome repo, we don't need it
sudo rm -rf /etc/apt/sources.list.d/google-chrome.sources

# enable backports for latest LXC
echo "deb http://archive.ubuntu.com/ubuntu $UBUNTU_RELEASE-backports main restricted universe multiverse" | sudo tee -a /etc/apt/sources.list.d/backports.list
Expand Down
14 changes: 10 additions & 4 deletions NEWS
Original file line number Diff line number Diff line change
Expand Up @@ -63,6 +63,12 @@ CHANGES WITH 261 in spe:
require direct IMDS access. The new meson option "-Dimds-network="
can be used to change the default mode to "locked" at build-time.

* The manager exposes a new ReloadCount property on its D-Bus and
Varlink interfaces (org.freedesktop.systemd1.Manager and
io.systemd.Manager respectively). The counter increments after
each successfully completed daemon-reload. It is not preserved
across daemon-reexec.

Changes in systemd-sysext/systemd-confext:

* New initrd services systemd-sysext-sysroot.service and
Expand Down Expand Up @@ -3427,7 +3433,7 @@ CHANGES WITH 257:

systemd-importd:

* A new generator sytemd-import-generator has been added to synthesize
* A new generator systemd-import-generator has been added to synthesize
image download jobs. This provides functionality similar to
importctl, but is configured via the kernel command line and system
credentials. It may be used to automatically download sysext,
Expand Down Expand Up @@ -4604,7 +4610,7 @@ CHANGES WITH 256:
OpenSSH 9.4 or newer.

* systemd-sysext gained support for enabling system extensions in
mutable fashion, where a writeable upperdir is stored under
mutable fashion, where a writable upperdir is stored under
/var/lib/extensions.mutable/, and a new --mutable= option to
configure this behaviour. An "ephemeral" mode is not also supported
where the mutable layer is configured to be a tmpfs that is
Expand Down Expand Up @@ -15306,7 +15312,7 @@ CHANGES WITH 231:

* The InaccessableDirectories=, ReadOnlyDirectories= and
ReadWriteDirectories= unit file settings have been renamed to
InaccessablePaths=, ReadOnlyPaths= and ReadWritePaths= and may now be
InaccessiblePaths=, ReadOnlyPaths= and ReadWritePaths= and may now be
applied to all kinds of file nodes, and not just directories, with
the exception of symlinks. Specifically these settings may now be
used on block and character device nodes, UNIX sockets and FIFOS as
Expand Down Expand Up @@ -20917,7 +20923,7 @@ CHANGES WITH 189:
udev_device_new_from_device_id() call.

* The logic for file system namespace (ReadOnlyDirectory=,
ReadWriteDirectoy=, PrivateTmp=) has been reworked not to
ReadWriteDirectories=, PrivateTmp=) has been reworked not to
require pivot_root() anymore. This means fewer temporary
directories are created below /tmp for this feature.

Expand Down
6 changes: 3 additions & 3 deletions README
Original file line number Diff line number Diff line change
Expand Up @@ -264,9 +264,9 @@ REQUIREMENTS:
During runtime, you need the following additional
dependencies:

util-linux >= v2.27.1 required (including but not limited to: mount,
umount, swapon, swapoff, sulogin,
agetty, fsck)
util-linux >= v2.42 required (including but not limited to: mount,
umount, swapon, swapoff, sulogin,
agetty, fsck, more)
dbus >= 1.4.0 (strictly speaking optional, but recommended)
NOTE: If using dbus < 1.9.18, you should override the default
policy directory (--with-dbuspolicydir=/etc/dbus-1/system.d).
Expand Down
76 changes: 53 additions & 23 deletions TODO.md
Original file line number Diff line number Diff line change
Expand Up @@ -128,6 +128,40 @@ SPDX-License-Identifier: LGPL-2.1-or-later

## Features

- bootctl link + sysupdate integration
- make sysupdate call out to a special varlink dir on completion
- bind bootctl link socket in there, which when invoked goes to new dir in
/var/ where downloaded kernels+confext+sysext are dropped in (place in
.v/) and then does "bootctl link" on them.

- a tool that can prep credentials, put them in the ESP, for provisioning
systems for SBC. Should be doing what sysinstall does with the credentials,
and maybe even *be* sysinstall.

- make sure we always pass O_NOFOLLOW on O_CREAT

- xopenat(): maybe imply O_NOFOLLOW on O_CREAT

- StorageProvider interface + storagectl
- hook-up in systemd-nspawn
- hook-up in service manager (BindVolume=)
- introduce a locking concept: right now all access to volumes is fully
shared. Let's add a basic locking concept: supporting backends can take an
additional locking flag (which has to be combined with Varlink's "more"),
in which case access would only be handed out to one client at a time, with
the lock's lifetime synced up with the Varlink connection lifetime.
- introduce a volume lifecycle concept: optionally support volumes whose
whole lifecycle is associated with the varlink connections they are tied
to: when the last varlink connection that acquired them goes away, the
volume is auto-destroyed. Would be exposed via a new flag on the Acquire
call, similar to the locking logic above.

- clean up credential naming a bit: let's say encrypted creds always should
carry .cred suffix, and unencrypted should not.

- clean up naming of sidecar files in sd-stub: let's put global ones strictly
into /loader/extras/

- a small tool that can do basic btrfs raid policy mgmt. i.e. gets started as
part of the initial transaction for some btrfs raid fs, waits for some time,
then puts message on screen (plymouth, console) that some devices apparently
Expand Down Expand Up @@ -161,6 +195,17 @@ SPDX-License-Identifier: LGPL-2.1-or-later
use as additional search condition. Use case: images that combined a sysext
partition with a portable service partition in one.

- **systemd-sysinstall:**
- make systemd-sysinstall itself a varlink service
- read installation definition from json file
- polkit support in sysinstall
- sysinstall: permit driving installer via credentials
- add --offline=no mode where we talk to socket based services rather than forking off
- if a user doesn't pick a locale during boot into installer, don't ask again after install, because we suppressed credential propagation

- repart: add MatchLabel= which matches against partition label, so that we
truly can install different images in parallel

- add "systemctl wait" or so, which does what "systemd-run --wait" does, but
for all units. It should be both a way to pin units into memory as well as a
wait to retrieve their exit data.
Expand All @@ -186,8 +231,8 @@ SPDX-License-Identifier: LGPL-2.1-or-later
- download list + report updates in motd – but do not auto update
- download list + download new version – but do not apply it
- download list + download new version + apply it – but do not reboot
- download list + donwload new version + apply it + reboot
Other things the policy shoudl contain is when to place the reboot.
- download list + download new version + apply it + reboot
Other things the policy should contain is when to place the reboot.
This would all decouple the updating of the package list from the application
of it. Which is great for "countme" style stuff.

Expand Down Expand Up @@ -323,7 +368,7 @@ SPDX-License-Identifier: LGPL-2.1-or-later

- add bus API to retrieve current unit file contents (i.e. implement "systemctl cat" on the bus only)

- Add ConditionDirectoryNotEmpty= handle non-absoute paths as a search path or add
- Add ConditionDirectoryNotEmpty= handle non-absolute paths as a search path or add
ConditionConfigSearchPathNotEmpty= or different syntax? See the discussion starting at
https://github.com/systemd/systemd/pull/15109#issuecomment-607740136.

Expand Down Expand Up @@ -1175,14 +1220,6 @@ SPDX-License-Identifier: LGPL-2.1-or-later

- introduce a new group to own TPM devices

- introduce a small "systemd-installer" tool or so, that glues
systemd-repart-as-installer and bootctl-install into one. Would just
interactively ask user for target disk (with completion and so on), and then do
two varlink calls to the the two tools with the right parameters. To support
"offline" operation, optionally invoke the two tools directly as child
processes with varlink communication over socketpair(). This all should be
useful as blueprint for graphical installers which should do the same.

- introduce an option (or replacement) for "systemctl show" that outputs all
properties as JSON, similar to busctl's new JSON output. In contrast to that
it should skip the variant type string though.
Expand Down Expand Up @@ -1518,7 +1555,7 @@ SPDX-License-Identifier: LGPL-2.1-or-later
and stick around for the whole system runtime (i.e. root fs storage daemons,
the bpf loader daemon discussed above, and such) are placed. maybe
protected.slice or so? Then write docs that suggest that services like this
set Slice=protected.sice, RefuseManualStart=yes, RefuseManualStop=yes and a
set Slice=protected.slice, RefuseManualStart=yes, RefuseManualStop=yes and a
couple of other things.

- maybe add call sd_journal_set_block_timeout() or so to set SO_SNDTIMEO for
Expand Down Expand Up @@ -1812,7 +1849,7 @@ SPDX-License-Identifier: LGPL-2.1-or-later

- oci: add support for "importctl import-oci" which implements the "OCI layout"
spec (i.e. acquiring via local fs access), as opposed to the current
"importctl pull-oci" which focusses on the "OCI image spec", i.e. downloads
"importctl pull-oci" which focuses on the "OCI image spec", i.e. downloads
from the web (i.e. acquiring via URLs).

- oci: add support for blake hashes for layers
Expand Down Expand Up @@ -2148,10 +2185,6 @@ SPDX-License-Identifier: LGPL-2.1-or-later

- run0: maybe enable utmp for run0 sessions, so that they are easily visible.

- sd-boot/sd-stub: install a uefi "handle" to a sidecar dir of bls type #1
entries with an "uki" or "uki-url" stanza, and make sd-stub look for
that. That way we can parameterize type #1 entries nicely.

- **sd-boot:**
- do something useful if we find exactly zero entries (ignoring items
such as reboot/poweroff/factory reset). Show a help text or so.
Expand Down Expand Up @@ -2470,10 +2503,6 @@ SPDX-License-Identifier: LGPL-2.1-or-later
that we can sanely copy ESP contents, /usr/ images, and then set up btrfs
raid for the root fs to extend/mirror the existing install. This would be
very similar to the concept of live-install-through-btrfs-migration.
- add --installer or so, that will interactively ask for a
target disk, maybe ask for confirmation, and install something on disk. Then,
hook that into installer.target or so, so that it can be used to
install/replicate installs
- should probably enable btrfs' "temp_fsid" feature for all file
systems it creates, as we have no interest in RAID for repart, and it should
make sure that we can mount them trivially everywhere.
Expand Down Expand Up @@ -2545,8 +2574,9 @@ SPDX-License-Identifier: LGPL-2.1-or-later
- systemd-tpm2-support: add a some logic that detects if system is in DA
lockout mode, and queries the user for TPM recovery PIN then.

- systemd: add storage API via varlink, where everyone can drop a socket in a
dir, similar, do the same thing for networking
- add a networking provider API, inspired by the StorageProvider. Make networkd
a provider that exposes interfaces for adding tap, tun, veth via the api,
base this on .netdev logic somehow.

- $SYSTEMD_EXECPID that the service manager sets should
be augmented with $SYSTEMD_EXECPIDFD (and similar for
Expand Down
Loading
Loading