Commit Graph
100 Commits
Author SHA1 Message Date
Yu Watanabe 551227e3a0 Python modernization followups (#40755) 2026-02-20 01:33:07 +09:00
Yu Watanabe e819c31c05 NEWS: move and extend entry for PTP device permission
Follow-up for 1e6854e112.
2026-02-20 01:25:25 +09:00
Yu Watanabe 5329f4bf76 man: fix typo
Follow-up for 6b22ac31af.
2026-02-20 01:18:59 +09:00
Yu Watanabe e94c410e51 man: fix typo
Follow-up for eb581ff6d9.
2026-02-20 01:18:54 +09:00
Yu Watanabe fcf5f1db94 mstack: fix typo
Follow-up for 8343032a86.
2026-02-20 01:14:30 +09:00
Yu Watanabe 5d01b27ffc import: fix typo
Follow-up for a9f6ba0496.
2026-02-20 01:13:02 +09:00
Yu Watanabe 9bc3c2e54a TODO: fix typo
Follow-up for 3bbada87e2.
2026-02-20 01:11:30 +09:00
Yu Watanabe dbc83d6353 NEWS: mention python requirement bump 2026-02-19 22:23:04 +09:00
Yu Watanabe d0e1f58200 metrics: add networkd related metrics (#40619)
This adds support for networkd related metrics. The output looks like this:
```
{
	"name" : "io.systemd.Network.addressState",
	"object" : "lo",
	"value" : "off"
}
{
	"name" : "io.systemd.Network.adminState",
	"object" : "lo",
	"value" : "unmanaged"
}
{
	"name" : "io.systemd.Network.carrierState",
	"object" : "lo",
	"value" : "carrier"
}
{
	"name" : "io.systemd.Network.ipv4AddressState",
	"object" : "lo",
	"value" : "off"
}
{
	"name" : "io.systemd.Network.ipv6AddressState",
	"object" : "lo",
	"value" : "off"
}
{
	"name" : "io.systemd.Network.managedInterfaces",
	"value" : 0
}
{
	"name" : "io.systemd.Network.operationalState",
	"object" : "lo",
	"value" : "carrier"
}
```
2026-02-18 19:26:55 +09:00
Yu Watanabe ef6c8c79dc Revert "check-os-release.py compatible with Python < 3.8"
This reverts commit ce0a056abc.
2026-02-18 18:47:15 +09:00
Yu Watanabe 08719d0e78 Revert "tools: make update-dbus-docs compatible with Python 3.7"
This reverts commit 668b3a42fe.

Now we require Python 3.9 or newer.
2026-02-18 18:47:15 +09:00
Yu Watanabe 7ff27c8012 Revert "generate-bpf-delegate-configs: fix compatibility with Python 3.7"
This reverts commit dee77ac201.

Now we require Python 3.9 or newer.
2026-02-18 18:47:15 +09:00
Yu Watanabe 3aaa9d9882 Revert "meson: fix compatibility with Python 3.7"
This reverts commit 2793d6acf0.

Now we require Python 3.9 or newer.
2026-02-18 18:47:15 +09:00
Yu Watanabe 582d499e32 meson: ukify unconditionally requires pefile module
Follow-up for 3fc5eed470.
2026-02-18 18:47:15 +09:00
Yu Watanabe 69f75cd896 network: use higher log level when we cannot bind resolve hook varlink socket 2026-02-18 17:57:32 +09:00
Yu Watanabe 6109cf8b61 meson,test: sort unit files 2026-02-18 17:57:17 +09:00
Yu Watanabe 43c4ecc951 bootspec: add missing else
Otherwise, OOM error will never checked, and the "preferred" setting
always emits warning that the field is unknown.

Follow-up for 450e0dce02.
Fixes CID#1645063.
2026-02-18 06:37:44 +01:00
Yu Watanabe d8da141348 README: mention about musl requirements 2026-02-18 11:04:14 +09:00
Yu Watanabe 78a61335e3 boot: Fix UKI boot for kernels with non-zero ImageBase (#40429)
The current code incorrectly subtracts ImageBase from section
VirtualAddress values when loading sections into memory. This is based
on a misunderstanding of the PE specification.

VirtualAddress in section headers is the address of the first byte of
the section relative to the image base when the section is loaded into
memory. In other words, VirtualAddress is already an RVA measured from
the image base, it is definitely NOT an absolute address that needs to
be adjusted.

So when loading a PE image into a newly allocated buffer, sections
should be copied to buffer + VirtualAddress, regardless of what
ImageBase says. The ImageBase field merely indicates the *preferred*
load address, it does not affect how section RVAs are interpreted.

This happens to not cause issues when ImageBase was 0 (since
VirtualAddress - 0 = VirtualAddress), which is why this bug went
undetected on modern kernels. However, it fails with kernels that have
non-zero ImageBase values.

So let's remove the nonsensical VirtualAddress < ImageBase check, and
remove the ImageBase subtractions from section loading offsets. This
lets all kernel UKIs work properly again.

Fixes: #40342
2026-02-18 03:27:41 +09:00
Yu Watanabe a5e6f4f81d include: update kernel headers from v6.19 2026-02-18 02:46:05 +09:00
Yu Watanabe b96f417ea6 xaccess: Rework from boolean into a list of tags (#40645)
Fixes: #40634
2026-02-18 01:24:59 +09:00
Yu Watanabe b11e07c607 man: fix typo 2026-02-18 01:00:04 +09:00
Yu Watanabe 1f8fefd7de memstream-util: fix doubled %m
Follow-up for abe72100cf.
2026-02-18 00:47:25 +09:00
Yu Watanabe 5004500c4b NEWS: mention -Dcompat-sysv-interfaces=BOOL meson option 2026-02-18 00:37:47 +09:00
Yu Watanabe 8c648adeae NEWS: -Dlibiptc= meson option has been deprecated since v259 2026-02-18 00:37:47 +09:00
Yu Watanabe 5d26cb9c1b NEWS: fix typo 2026-02-18 00:20:55 +09:00
Yu Watanabe ff33e755e8 Fixes & improvments for using homed-luks on 4k disks (#35776)
Mostly consists of fixes to 

- use the same sector_size as the fdisk context we are using, when
converting between sectors returned by libfdisk to bytes. Fixes #30394 ,
Fixes #30393
- Use the explicit sector size if specified in the home record when are
probing the image file using libblkid. Fixes #30393

Also contains some other improvements with using physical block devices.

- Automatically probe sector size of physical block device, if user does
not pass luks-sector-size explicitly.
- Assign partitions to 1 MiB boundaries, as it is the standard practice
followed by all tools, fdisk, gptfdisk, gnu parted etc.
- Avoid stacking of loop device on top of physical block device in
home_create_luks as it leads to degradation of discard operations, and
mkfs getting stuck.
2026-02-17 23:23:23 +09:00
Yu Watanabe cfd544af86 Sensor cleanup 1st pass (#40675)
This is a general cleanup of the sensors hwdb file divides into several
commits per brand.

I have merged the devices that use the same matrices, clean up a little
some clear dmi matches, and apply a inline comment with the device where
is certainly very clear way to display.

My idea is to do more cleanup steps but actually will require more
effort to achieve complete dmis, I can do it with little time, and some
consensus for comment styling.

About the comment styling actually I thing we could follow two rules at
the same time: inline comment when the dmi match is short and there is
no additional many information than just the model, and the other one
comment above the dmi match when is too long or there are need to add
more info.
2026-02-17 22:20:38 +09:00
Yu Watanabe 4fae85faea Several fixlets for issues found by Coverity (#40707) 2026-02-17 18:26:46 +09:00
Yu Watanabe 7a6b6c4d07 network/wwan: fix memleak in failure path
Fixes CID#1645018.
2026-02-17 17:02:10 +09:00
Yu Watanabe 1a416a47e7 network/wwan: add missing error check
Fixes CID#1645015.
2026-02-17 17:01:00 +09:00
Yu Watanabe 2e8cfb7cef sd-bus: use bus_error_message() at several more places
For CID#1645014, CID#1645016, and CID#1645017.
2026-02-17 17:00:42 +09:00
Yu Watanabe ce6ea42b69 bus-polkit: add one more assertion
For CID#1645013.
2026-02-17 16:39:38 +09:00
Yu Watanabe d9e078fe68 oomd: Fix Killed signal reason being lost (#40689)
Emitting "oom" doesn't mesh with the org.freedesktop.oom1.Manager
Killed() API contract, which defines "memory-used" and "memory-pressure"
as possible reasons. Consumers that key off reason thus will either lose
policy attribution or may reject the unknown value completely.

Plumb the reason through so it is visible to consumers.
2026-02-17 14:53:46 +09:00
Yu Watanabe 710742270b report: enforce metric prefix (#40647)
Addressing
> we should enforce that metrics ids begin with the varlink service name

from #40633
2026-02-17 06:47:50 +09:00
Yu Watanabe 5e0c1f2e1b backlight: also change clamp percentage on ID_BACKLIGHT_CLAMP/ID_LEDS_CLAMP=yes
Follow-up for 4ed1e2ea17.
2026-02-16 21:24:55 +09:00
Yu Watanabe ad3e4af9a7 networkctl: use varlink method to bring up/down interfaces (#40693)
Closes #38538.
Closes #40017.
2026-02-16 20:35:29 +09:00
Yu Watanabe ed6a2eaa31 ask-password-api: several modernizations for ask_password_agent(); use CLEANUP_TMPFILE_AT more (#40631) 2026-02-16 20:07:32 +09:00
Yu Watanabe 067758a3be networkctl: use varlink methods to bring up/down interfaces
Then,
- polkit authentication can be used,
- dynamic configuration engine can be safely stopped before bringing
  down interfaces.

Fixes #38538.
2026-02-16 18:37:17 +09:00
Yu Watanabe 314f93d9d3 networkctl: merge three functions for calling D-Bus methods 2026-02-16 18:37:17 +09:00
Yu Watanabe 63fd8c9b9e networkctl: use parse_interfaces() at one more place 2026-02-16 18:37:17 +09:00
Yu Watanabe 4610a4dc4c networkctl: split out parse_interfaces()
Also, this makes interfaces stored in OrderedSet rather than Set,
so interfaces becomes up/down in the specified order.

This also makes when multiple interfaces are specified, networkctl tries
to up/down all specfied interfaces even if some of them are failed.

Fixes #40017.
2026-02-16 18:37:17 +09:00
Yu Watanabe ba08fa3230 shared/metrics: add two more assertions 2026-02-16 09:44:58 +01:00
Yu Watanabe 618952f07e CODING_STYLE: fix typo
Follow-up for 83b4a5bb3d.
2026-02-16 14:35:21 +09:00
Yu Watanabe 06dca3f629 man: fix typo
Follow-up for 91b3620b07.
2026-02-16 14:34:04 +09:00
Yu Watanabe c33b112cac sd-varlink: fix typo
Follow-up for c0696f1f5d.
2026-02-16 14:32:15 +09:00
Yu Watanabe 5ac9a481cd network: fix typo
Follow-up for f8a4c3d375.
2026-02-16 14:30:38 +09:00
Yu Watanabe 3be36e6d64 NEWS: fix typo
Follow-up for 4ed1e2ea17.
2026-02-16 14:28:55 +09:00
Yu Watanabe a48145203c network: use voffsetof() at more places 2026-02-16 14:28:52 +09:00
Yu Watanabe 345208a49b udev: guess if usb devices are internal external (#40649)
Actually we are defining databases to determine when a usb device is
inherent part of the system or if it's a external device.

Let's use the removable attribute of the port where it is connected to
say that. That gives us the ability to not rely on a particular vendor
only does external devices or to not having the need to be quirking
input subsystem for that purpose that will become unreliable as more and
more internal devices are connected over usb instead over ps2 or i2c
buses. Eg.
https://gitlab.freedesktop.org/libinput/libinput/-/commit/02b495e79022e64514015e1a3dea32997035dd4f?merge_request_iid=1389

Actually this has been seen as reliable in a small set of device from
normal laptops, to detachable ones. The need to check maxchild is 0 is
for detachable devices, pogo pin usbs are fixed, while we attach the
keyboard|touchpad dock the input devices tend to be directly connected
to that port and if the dock has more usbs tend to be a hub that then
exposes removable as unknow. If we don't set maxchild 0 we will not only
guess that the keyboard and touchpad are internal but also incorrectly
other input devices like mice connected to the dock's usb ports.

I have use a very generic name like INTEGRATION because is not actually
used for any other thing and is used to determine not only over usb bus
but for acpi, pci, platform actually.

Also a remap to actual libinput variables is done for compatibility
purposes. if it's possible to have only the INTEGRATION variable instead
multiple ones will be done in the future but is actually unclear.

This can also be used for example to achieve an actual feature that we
lack in linux, when a device with accelerometers and cameras is rotated
the video output is not, this tag the own device cameras as internal
while external ones as external to be able to only do that for the
internal ones.

Note that this has nothing to do with the removable attribute found in
usb storage devices where it's values can be 0 or 1. There is no
conflict at all because the removable attribute we check is specifically
the one found in usb port ones.
2026-02-16 13:25:35 +09:00
Yu Watanabe 1b1799e9ba timesync: actually disables built-in fallback NTP servers when an empty string is specified
Follow-up for 3745770ae4.
Fixes #40621.
2026-02-16 09:53:03 +09:00
Yu Watanabe b0ca2ef264 timesync: return earlier when an empty string is specified 2026-02-16 09:51:36 +09:00
Yu Watanabe 1bb9306f1e timesync: rename have_fallbacks -> fallback_set 2026-02-16 09:50:46 +09:00
Yu Watanabe 6d0e8271b4 boot: fix buffer alignment when doing block I/O (#40465)
UEFI Block I/O Protocol has `Media->IoAlign` field dictating the minimum
alignment for I/O buffer. It's quite surprising this has been lingering
here unnoticed for years, seems like most UEFI implementations have
small or no alignment requirements. U-Boot is not the case here, and
requires at least 512 byte alignment, hence attempt to read GPT
partition table fail and in effect systemd-boot can not find XBOOTLDR
partition.

These patches allow to boot from XBOOTLDR partition on U-Boot - tested
with latest systemd revision and U-Boot master
(`8de6e8f8a076d2c9b6d38d8563db135c167077ec`) on x64 and ARM32, of which
both are failing without the patch.

Also fixes Bitlocker probing logic, which is the only other place where
raw block I/O is used, however this is untested.
2026-02-16 09:10:01 +09:00
Yu Watanabe 009a170d2f mkosi: Update to latest and two speed improvements (#40678) 2026-02-14 23:08:00 +09:00
Yu Watanabe a1c8e5e338 Allow non-system users/groups in networkd and udevd again (#40612) 2026-02-14 05:41:01 +09:00
Yu Watanabe da86da21e9 Fixes for option parsing (#40641)
Preparatory work split out of #40624.
2026-02-14 04:58:50 +09:00
Yu Watanabe 7577bb4c08 udevadm: do not explicitly set white color
Otherwise, output on black-on-white terminals is not visible.

Follow-up for 13005c8f2c.
Fixes #40629.
2026-02-13 16:37:16 +01:00
Yu Watanabe 559dabbbde Two portabled fixes (#40664) 2026-02-13 16:53:29 +09:00
Yu Watanabe 356cc4a1c3 kmod-setup: also load other vsock transport modules
Fixes #40161.
2026-02-13 16:14:54 +09:00
Yu Watanabe 6d36e5fae6 kmod-setup: fix loading virtio related drivers
It seems the device with modalias e.g. virtio:d00000013v, only appears
after the relevant module is loaded. So, we cannot use the string to
determine if we should load the module.

Fixes #40503.
2026-02-13 16:14:54 +09:00
Yu Watanabe 8d96a18d90 bash-completion/sysext: add missing candidates for --always-refresh
Follow-up for 23115eeaf1.
2026-02-07 12:51:17 +01:00
Yu Watanabe 1f3b407307 daemon-util: downgrade log level on ECONNREFUSED and friends
This partially reverts 36c557f7d4, which
introduced notify_remove_fd() that logs in LOG_DEBUG. However,
notify_remove_fd_warn() is still called other library functions, e.g.
notify_push_fd(), and produces warning message about the failure in
removing fd from fdstore on shutdown.

During shutdown process, we get the following logs:
```
systemd-udevd[370]: Failed to send notify message to '/run/systemd/notify': Connection refused
systemd-udevd[370]: Failed to remove file descriptor "config-serialization" from the store, ignoring: Connection refused
systemd-udevd[370]: Failed to send notify message to '/run/systemd/notify': Connection refused
systemd-udevd[370]: Failed to push serialization fd to service manager: Connection refused
```
Here, the 1st, 3rd, and 4th messages are in LOG_DEBUG, but the 2nd one
was in LOG_WARNING before this commit, and this makes it also in LOG_DEBUG.

Follow-up for 472404aca5.
2026-02-07 00:15:33 +01:00
Yu Watanabe 5f815d6fa1 metrics: fix typo
Follow-up for fd73cd6c91.
2026-02-06 15:20:28 +09:00
Yu Watanabe 06a806aed8 udev: fix typo
Follow-up for b7363d3330.
2026-02-06 15:20:28 +09:00
Yu Watanabe 79685ed12d hwdb: several fixes for sensor (#40576)
Let's respect for some devices that the accelerometer values must follow
the normal orientation of the panel and not the device one.
2026-02-06 15:13:54 +09:00
Yu Watanabe b3d73bc68e bash-completion/vmspawn: add -x/--ephemeral
Follow-up for 6e67fc2938.
2026-02-04 11:22:27 +01:00
Yu Watanabe cb16d47f30 udev: do not build full list of dependencies
Suppose the following dependent events are queued:

A(1000) -> C(1002)
                   \
                     --> E(1004)
                   /
B(1001) -> D(1003)

Here, each number is the seqnum of the event, and A -> B means that
event B depends on event A, that is, event B cannot be started until
event A is processed.

In this case, to know if event E can be started, we only need to check
if event C and D are processed, and not necessary to check the state of
event A or B.

However, the commit e1ae931064 introduced
full dependency list (in the above example, all A, B, C, D are listed as
the blocker for E), but it is overkill and most information is not necessary.
Also, before the commit e1ae931064, we
found blocker from the beginning of the queued events, but that's also
not necessary, as even A is processed, still C may be queued, and we
anyway need to check if C is processed or not.

This makes each event only stores the last blocker event for the event,
and finds the blocker from the end of the queue. With this change, the
memory cost can be reduced from O(n^2) to O(n). Also, as previously we
used Set for managing blockers, but now we only increment/decrement
the reference counter of events, so the speed should be also improved.

Fixes #39583 and #39817.
2026-02-04 16:04:10 +09:00
Yu Watanabe 59bc3e7cd6 udev: move functions
Nothing changed except for the functions are moved.
Preparation for the next commit, where worker_detach_event() will be
used in on_worker_exit().
2026-02-04 16:04:10 +09:00
Yu Watanabe 89591e04a2 resolvectl: re-implement normal status output using varlink (#40529)
Currently, `resolvectl status` (and other status commands like
`resolvectl dns $iface`) uses varlink when asked to print JSON, but uses
dbus otherwise. This PR re-implements the regular status output to use
varlink instead of dbus.

This both simplifies the `resolvectl status` code, and is an incremental
step in replacing dbus usage with varlink throughout `resolvectl`.

The first several commits move `dns-configuration.[ch]` from
`src/network/wait-online` to `src/shared`, and complete the JSON
dispatching so that all fields are available in a concrete type. The
next few commits re-implement global, link, and delegate status output.
Finally, the last commits consolidate and simplify the status logic
since varlink and the `DNSConfiguration` type can be used in all cases.
2026-02-04 15:47:02 +09:00
Yu Watanabe 5a35a6d9d4 vmspawn: add --ephemeral (#40505)
This PR implements --ephemeral for vmspawn in the same way as nspawn.

Note that this does not support snapshots for --extra-drives.
2026-02-04 11:43:22 +09:00
Yu Watanabe 503a788332 Introduce name_to_handle_at_u64() helper function and use it for getting pidfd ID and cgroup ID (#40500) 2026-02-04 04:37:07 +09:00
Yu Watanabe 06432cca43 Portabled capsule fixes (#40427) 2026-02-04 02:53:16 +09:00
Yu Watanabe ede1caeada cgroup-util: declare file_handle union in cg_cgroupid_open()
This also effectively reverts eb2e91b981,
as now the object is only used as input, and kernel would need to handle
input with only ID no matter whether the struct later gets extended.
2026-02-04 02:45:17 +09:00
Yu Watanabe f37931bd78 tree-wide: replace cg_{fd,path}_get_cgroupid() with {fd,path}_to_handle_u64() 2026-02-04 02:45:17 +09:00
Yu Watanabe 2eab8fa1e4 pidfd-util: use fd_to_handle_u64() 2026-02-04 02:45:17 +09:00
Yu Watanabe e7ce1e22b9 mountpoint-util: introduce name_to_handle_at_u64() and friends
They will be used later.
2026-02-04 02:45:06 +09:00
Yu Watanabe 09811ccaa1 mountpoint-util: make name_to_handle_at_loop() gracefully handle NULL path 2026-02-04 00:07:02 +09:00
Yu Watanabe 055ceec666 journal: avoid strjoina()/newa() (#40489)
Fixes #40456.
2026-02-03 23:42:23 +09:00
Yu Watanabe f2a54dac72 vmspawn/firstboot/homectl: fixes for plymouth (#40558) 2026-02-03 23:38:38 +09:00
Yu Watanabe 50ddcf8554 udev: create /run/udev/queue file earlier (#40518)
When udevd received a uevent or inotify event, then we will queue
events. To minimize the race between processing these events by udevd
and user invocation of 'udevadm settle', let's create /run/udev/queue
file earlier.
On some errors, no event may be queued, but in that case, the file will
be removed by the post event source if nothing queued. See on_post().

Hopefully mitigate the issue #40499.
2026-02-03 23:36:28 +09:00
Yu Watanabe eb5b797d7c journal: check validity of PID field in syslog/kmsg earlier
Then, let's make syslog_parse_identifier() returns PID as pid_t, rather
than the string.

This also makes the function refuse ridiculously long identifier.

Fixes #40456.
Fixes oss-fuzz#477990732 (https://issues.oss-fuzz.com/issues/477990732).
2026-02-03 21:55:49 +09:00
Yu Watanabe dd839b1463 parse-util: rename trivial argument for parse_pid()
The function parse_pid() trivially returns pid, hence it is not
necessary to name the argument for storing result as 'ret_pid'.
2026-02-03 21:43:17 +09:00
Yu Watanabe 7e81423fb8 journal: check the length of timestamp field in syslog message
No functional change. Just refactoring and adding assertion.
2026-02-03 21:43:17 +09:00
Yu Watanabe 8d607f93b7 journal: make security label always NUL-terminated
Then, we can drop label_len or label_size arguments at various places.

While doing this, SCM_SECURITY is now ignored when SELinux is disabled
or when it contains embedded NUL.
2026-02-03 21:43:17 +09:00
Yu Watanabe 0dcbb30f49 fuzz: assume all reproducers as binary
Even if parsers expect text data, reproducers may not be suitable
for being handled as a text file.
2026-02-03 21:43:17 +09:00
Yu Watanabe dc709eff0b udev: create /run/udev/queue file earlier
When udevd received a uevent or inotify event, we will queue or trigger
synthesized events. To minimize the race between processing these events
by udevd and user invocation of 'udevadm settle', let's create /run/udev/queue
file earlier.
On some errors, no event may be queued, but in that case, the file will
be removed by the post event source if nothing queued. See on_post().

Hopefully mitigate the issue #40499.
2026-02-03 21:25:01 +09:00
Yu Watanabe b7363d3330 udev: remember UUIDs of triggered events
Otherwise, /run/udev/queue file may be removed before udevd receives
the triggered uevents. This avoids the following race:

1. uevent A is being processed,
2. received an inotify event and trigger a synthesized uevent,
3. uevent A has been processed,
4. the uevent queue becomes empty, and /run/udev/queue is removed,
5. received and queued the synthesized uevent, and /run/udev/queue is recreated.

With this patch, /run/udev/queue is not removed in step 4. Hence,
'udevadm settle' will wait for the synthesized event being processed.

This is similar to waiting for child processes that reread partitions
(thus trigger synthetic events) being terminated, but for synthetic
events triggered by the manager.
2026-02-03 21:25:01 +09:00
Yu Watanabe 95b40e4cf3 udev/watch: drop redundant argument
The arguments dev and target are always same.
2026-02-03 21:25:01 +09:00
Yu Watanabe 4e5ceed9c5 ssh-generator: several cleanups (#40556) 2026-02-03 20:59:18 +09:00
Yu Watanabe 0375558799 github/linter: disable ENABLE_GITHUB_PULL_REQUEST_SUMMARY_COMMENT and update super-linter to 8.4.0 (#40554) 2026-02-03 17:44:10 +09:00
Yu Watanabe 9b011d3f5e ssh-generator: drop unused variable 2026-02-03 16:50:00 +09:00
Yu Watanabe 9666541a56 ssh-generator: drop redundant check
The loop STRV_FOREACH() below does nothing if the strv is empty.
2026-02-03 16:50:00 +09:00
Yu Watanabe 70510c2c90 ssh-generator: fix memleak 2026-02-03 16:50:00 +09:00
Yu Watanabe 65b50ae2c8 sd-bus: do not log in higher than LOG_DEBUG from library
Follow-up for 6c8de404c9.

This also adds full stop to the log message, and make "vs" followed by
dot for consistency to other messages.
2026-02-03 16:49:46 +09:00
Yu Watanabe 3d6dfabd8c meson: Don't install systemdstatedir (/var/lib/systemd) (#31627) 2026-02-03 10:08:54 +09:00
Yu Watanabe 90c71778d2 github/linter: disable ENABLE_GITHUB_PULL_REQUEST_SUMMARY_COMMENT for super-linter
Since super-linter 8.4.0, it is enabled by default and requires GITHUB_TOKEN.
We do not provide GITHUB_TOKEN for the action, then it fails with the following:
```
Failed to get [GITHUB_TOKEN]. Terminating because status reports were explicitly enabled,
but GITHUB_TOKEN was not provided.
```

Also, even if GITHUB_TOKEN is set, the feature provides annoying
messages in each PR. See https://github.com/super-linter/super-linter/issues/7458
So, let's disable the feature.
2026-02-03 08:59:46 +09:00
Yu Watanabe ab8603d26b Fixes for ask-password (#40549) 2026-02-03 07:48:13 +09:00
Yu Watanabe 4c6afaab19 mkosi: workaround issue in mdadm-4.5 + linux-6.18
After debian updated the kernel from 6.17 to 6.18, mdadm command fails
with the following:
```
+ mdadm --create /dev/md/mdmirror ...
mdadm: size set to 64512K
mdadm: Can't open /sys/module/md_mod/parameters/legacy_async_del_gendisk
mdadm: init md module parameters fail
```

This seems a bug in mdadm, and fix is already merged in the upstream:
https://github.com/md-raid-utilities/mdadm/pull/228
Until the fix is backported, let's workaround the issue.

See also: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1125390
2026-02-02 15:32:48 +01:00
Yu Watanabe 389254d9df boot: fix typo in variable name
Fixed by GitHub Copilot.
2026-02-01 08:26:07 +01:00