summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* mkosi: update opensuse commit referenceDaan De Meyer2024-08-281-1/+1
| | | | * 2866762da8 Update systemd to version 256.4 / rev 429 via SR 1192932
* mkosi: update arch commit referenceDaan De Meyer2024-08-281-1/+1
| | | | | | | | * ea5f086275 handle uncommon license * 43e43faab8 upgpkg: 256.5-1: new upstream release * 7f4443062f Provide /etc/cryptsetup-keys.d/ * 262a14b8e5 upgpkg: 256.4-1: new upstream release * 1aff4eb5f6 upgpkg: 256.3-1: new upstream release
* mkosi: Include noarch in dnf repoquery architecturesDaan De Meyer2024-08-281-1/+1
| | | | ukify is noarch so we should include noarch to get all results.
* mkosi: Always specify _sourcedir as an absolute pathDaan De Meyer2024-08-284-6/+6
| | | | | A relative path is not supported by rpm so let's make sure we specify it as an absolute path.
* mkosi: Don't apply distribution specific patchesDaan De Meyer2024-08-285-0/+15
| | | | | | | | | | | rpm upstream is going to imply --noprep when running with --build-in-place so let's do the same on older versions of rpm (https://github.com/rpm-software-management/rpm/commit/e0925ad6e3185030b004343f73a5917fdc562d6c) Also, to keep things consistent between distros, run with --noprepare on Arch Linux as well (we already skip patches on Debian/Ubuntu). To keep things working on Arch, we apply the one downstream patch manually ourselves.
* mkosi: Update to latestDaan De Meyer2024-08-281-1/+1
|
* Merge pull request #34123 from yuwata/sd-deviceYu Watanabe2024-08-2813-64/+203
|\ | | | | sd-device: expose sd_device_get_device_id() and sd_device_get_driver_subsystem()
| * udevadm/info: also show driver subsystem and device IDYu Watanabe2024-08-272-2/+29
| | | | | | | | | | | | | | | | | | This adds two more fields in 'udevadm info': - J for device ID, e.g. b128:1, c10:1, n1, and so on. - B for driver subsystem, e.g. pci, i2c, and so on. These, especially the device ID field may be useful to find udev database file under /run/udev/data for a device.
| * sd-device: make sd_device_new_from_subsystem_sysname() stricterYu Watanabe2024-08-272-39/+89
| | | | | | | | | | | | | | | | | | | | | | As workarounded by fc0cbed2db860d163d59d04c32fa6ec30bd0606f, the pair of subsystem and sysname is not unique. For examples, - /sys/bus/gpio and /sys/class/gpio, both have gpiochip%N. However, these point to different devpaths. - /sys/bus/mdio_bus and /sys/class/mdio_bus, - /sys/bus/mei and /sys/class/mei, - /sys/bus/typec and /sys/class/typec, and so on. Let's refuse to provide sd_device object in such cases.
| * sd-device: make device_get_device_id() publicYu Watanabe2024-08-2711-17/+43
| | | | | | | | | | | | We have already exposed sd_device_new_from_device_id(), but we have never provide the way to get device ID from an existing sd_device object.
| * sd-device: introduce sd_device_get_driver_subsystem()Yu Watanabe2024-08-276-3/+37
| | | | | | | | | | | | | | | | | | | | | | To create the sd_device object of a driver, the function sd_device_new_from_subsystem_sysname() requires "drivers" for subsystem and e.g. "pci:iwlwifi" for sysname. Similarly, sd_device_new_from_device_id() also requires driver subsystem. However, we have never provided a way to get the driver subsystem ("pci" for the previous example) from an existing sd_device object. Let's introduce a way to get driver subsystem.
| * sd-device: refuse earlier when too long ifname is passed to ↵Yu Watanabe2024-08-271-3/+5
| | | | | | | | | | | | | | | | | | sd_device_new_from_ifname() Otherwise, alloca() called in strjoina() may trigger assertion. This partially reverts 3652891c3904992e21739e9bfb004073841db63c. The commit mistakenly dropped the check.
| * sd-device: make sd_device_get_devtype() return 0 on success againYu Watanabe2024-08-271-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | This partially reverts the commit 730b76bd2cd5f0866baa738ae283e3b62544a28f. Before the commit, the function returned 0 on success, but the commit made the function always return 1, as if device->devtype is NULL, the function returns -ENOENT in the above. Fortunately, udev_device_get_devtype() does not propagate any non-negative value from sd_device_get_devtype(). Hence, hopefully we can safely revert the change.
* | Merge pull request #34139 from yuwata/sd-device-monitorYu Watanabe2024-08-285-12/+41
|\ \ | |/ |/| sd-device-monitor: introduce sd_device_monitor_get_events() and _get_timeout()
| * sd-device-monitor: introduce sd_device_monitor_get_events() and _get_timeout()Yu Watanabe2024-08-274-1/+30
| | | | | | | | | | | | | | | | | | | | Follow-up for bab889c51e888c1b288fed253c349e979a6cf31a (#33032). Currently, they unconditionally returns EPOLLIN and USEC_INFINITY, respectively. Just for consistency with sd-bus, sd-journal, sd-varlink, and so on. All they have _get_fd(), _get_events(), and _get_timeout(). Closes #34094.
| * test: use more suitable assertionsYu Watanabe2024-08-271-8/+8
| |
| * sd-varlink: make the argument type consistent with headerYu Watanabe2024-08-271-3/+3
|/
* stub: restore random seed update logicVitaly Kuznetsov2024-08-271-6/+3
| | | | | | | | | | | | | | | | Commit 201e0d53bdd43 ("stub: split out random seed part out of run()") looks like refactoring but apparently it changed the logic when random seed is refreshed in the ESP completely. Previously, process_random_seed() was called when either: - sd-stub was not present (LoaderFeatures var is unset) OR - sd-stub was present but EFI_LOADER_FEATURE_RANDOM_SEED flag was unset. Post-change, refresh_random_seed() bails under the exact same conditions (no sd-stub or EFI_LOADER_FEATURE_RANDOM_SEED is unset) and thus process_random_seed() is NOT called. Restore the original logic. efivar_get_uint64_le()'s return value doesn't require checking: loader_features is initialized to 0 and in case of failure it stays untouched.
* vmspawn: fix duplicate logging on oomLennart Poettering2024-08-271-1/+1
|
* Merge pull request #33570 from AdrianVovk/sysupdate-incompleteAdrian Vovk2024-08-279-75/+271
|\ | | | | sysupdate: Handle incomplete versions
| * sysupdate: Add tests for incomplete versionsAdrian Vovk2024-08-221-13/+51
| | | | | | | | To make sure we don't regress on #33339
| * sysupdate: Repair incomplete versions in-placeAdrian Vovk2024-08-223-11/+63
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | A previous commit made sysupdate recognize installed versions where some transfers are missing. This commit teaches sysupdate how to correctly repair these incomplete versions. Previously, if you had a incomplete installation of the OS booted, and ran sysupdate in an attempt to repair it, sysupdate would make things worse by creating copies of the currently-booted partitions in the inactive slots. Then at boot you have two identical partitions, with identical labels an UUIDs, and end up with a mess. With this commit, sysupdate is able to recognize situations where it can simply download the missing transfers and leave the rest of the system undistrubed. Partial fix for https://github.com/systemd/systemd/issues/33339
| * sysupdate: Track incompletely-installed versionsAdrian Vovk2024-08-225-48/+134
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When enumerating what versions exist for a given target, sysupdate would completely throw out any version that's incomplete (where some of the transfers in the target have that version installed or available, and other transfers do not). If we're trying to find what versions we can offer for download, this is great behavior. If the server side is advertising a partial update to download, we shouldn't present it to the user. On the other hand, if we're enumerating what versions we have currently installed, this is a bad behavior. It makes sysupdate fragile. For example, if a sysext introduces a new .conf file into /usr/lib/sysupdate.d, suddenly the currently-installed OS stops being a version that we've enumerated. Since it's not enumerated, it's not protected, and so sysupdate will wipe the booted OS. So if we're looking for installed versions, we now loosen the restrictions and enumerate incomplete installations. Partial fix for https://github.com/systemd/systemd/issues/33339
| * sysupdate: Check that --instances-max is in boundsAdrian Vovk2024-08-222-3/+11
| | | | | | | | | | Otherwise user can pass in --instances-max=0 and crash sysupdate with an assertion failure.
| * sysupdate: Fix resource_find_instanceAdrian Vovk2024-08-221-1/+13
| | | | | | | | | | | | | | | | | | The current implementation will never find a match, because in the event of a match instance_cmp falls through to comparing paths and the key we're matching against will always have a path of NULL. So let's just use a separate compare function, just to make sure future updates to instance_cmp don't break resource_find_instance again.
* | exec-invoke: remove redundant empty linesLennart Poettering2024-08-271-2/+0
| |
* | service: add 'debug' option to RestartMode=Luca Boccassi2024-08-2713-24/+164
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | One of the major pait points of managing fleets of headless nodes is that when something fails at startup, unless debug level was already enabled (which usually isn't, as it's a firehose), one needs to manually enable it and pray the issue can be reproduced, which often is really hard and time consuming, just to get extra info. Usually the extra log messages are enough to triage an issue. This new option makes it so that when a service fails and is restarted due to Restart=, log level for that unit is set to debug, so that all setup code in pid1 and sd-executor logs at debug level, and also a new DEBUG_INVOCATION=1 env var is passed to the service itself, so that it knows it should start with a higher log level. Once the unit succeeds or reaches the rate limit the original level is restored.
* | Merge pull request #34114 from yuwata/resolvconf-pLuca Boccassi2024-08-276-14/+93
|\ \ | | | | | | resolve: support 'resolvconf -p'
| * | NEWS: mention "resolvconf -p"Yu Watanabe2024-08-261-0/+5
| | |
| * | test: add more test cases for resolvconfYu Watanabe2024-08-261-0/+40
| | |
| * | resolvconf: disable default route when -p is specifiedYu Watanabe2024-08-264-10/+37
| | | | | | | | | | | | | | | | | | Internally, the switch triggers 'resolvectl default-route INTERFACE no'. Closes #34112.
| * | resolvconf: clear domains if nothing specifiedYu Watanabe2024-08-261-1/+8
| | |
| * | resolvectl: make enum name consistent with the option nameYu Watanabe2024-08-261-3/+3
| | |
* | | core-varlink: add missing runtime scope check for ↵Mike Yuan2024-08-271-1/+4
| | | | | | | | | | | | | | | | | | manager_varlink_managed_oom_connect() Follow-up for 2250c996cfc41afb30cd086adeed18fd41a683ba
* | | Merge pull request #34124 from YHNdnzj/socket-accept-nameYu Watanabe2024-08-2714-52/+47
|\ \ \ | |/ / |/| | core: honor FileDescriptorName= too for Accept=yes sockets, plus several other cleanups
| * | units: don't set LISTEN_FDNAMES for varlink services explicitlyLennart Poettering2024-08-265-5/+0
| | | | | | | | | | | | | | | Now that FileDescriptorName= is properly honored by Accept=yes sockets, this explicit override is pointless.
| * | core: honor FileDescriptorName= too for Accept=yes socketsMike Yuan2024-08-265-22/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | So far we manually hardcoded $LISTEN_FDNAMES to "varlink" in various varlink service units we ship, even though FileDescriptorName=varlink is specified in associated socket units already, because FileDescriptorName= is currently silently ignored when combined with Accept=yes. Let's step away from this, which seems saner. Note that this is technically a compat break, but a mostly negligible one as there shall be few users setting FileDescriptorName= but still expecting LISTEN_FDNAMES=connection in the actual executable. Preparation for #34080
| * | core: move check for combination of PAMName= + KillMode= to ↵Mike Yuan2024-08-266-20/+14
| | | | | | | | | | | | | | | | | | | | | | | | unit_verify_contexts() While at it, allow "mixed" for all unit types too, i.e. also apply ebc2259da1d1579347b86fc2ebca9f96334b6f22 to socket/mount/swap units.
| * | core/socket: refuse MaxConnection=0 for Accept=no sockets tooMike Yuan2024-08-261-3/+3
| | | | | | | | | | | | | | | | | | This makes no sense at all, and we already refuse such setting for Accept=yes sockets. I see no reason not to extend this to Accept=no ones.
| * | core/socket: use UNIT_ISSET rather than _DEREF where suitableMike Yuan2024-08-261-2/+2
| | |
* | | po: Translated using Weblate (Slovenian)Martin Srebotnjak2024-08-261-48/+35
| | | | | | | | | | | | | | | | | | | | | | | | Currently translated at 100.0% (253 of 253 strings) Co-authored-by: Martin Srebotnjak <miles@filmsi.net> Translate-URL: https://translate.fedoraproject.org/projects/systemd/main/sl/ Translation: systemd/main
* | | resolved: clear the AD bit for bypass packetsRonan Pigott2024-08-262-2/+9
| | | | | | | | | | | | | | | | | | When the bypass logic is invoked, such as for queries to the stub with the DO bit set, be certain to clear the AD bit in the reply before forwarding it if the answer is not known to be authentic.
* | | repart: Use streq_ptr() in one more placeDaan De Meyer2024-08-261-1/+1
| | |
* | | man: document "web" session typeAllison Karlitskaya2024-08-263-4/+6
| | | | | | | | | | | | | | | | | | | | | This has been supported since e9e74f28d783 but never got documented. Add it to the man pages (plus one comment in a header). Closes #34127.
* | | crash-handler: Add back notice log messageDaan De Meyer2024-08-261-0/+2
| | | | | | | | | | | | Fixes https://github.com/systemd/systemd/pull/33959#discussion_r1730987738
* | | update TODOLennart Poettering2024-08-261-0/+4
| | |
* | | mkosi: Stop using git commit timestamps for package releasesDaan De Meyer2024-08-264-20/+4
|/ / | | | | | | | | | | | | | | This prevents bisecting to figure out which commit broke something as when going backwards the git commit timestamp will be older meaning package managers will refuse to upgrade to the "older" version. Let's make sure the release is always newer by using the current date unless $SOURCE_DATE_EPOCH is set.
* | Merge pull request #34117 from yuwata/network-routing-policy-ruleLuca Boccassi2024-08-2610-526/+242
|\ \ | | | | | | network: introduce generic conf parser for [RoutingPolicyRule] section
| * | network/routing-policy-rule: use config_parse_routing_policy_rule() moreYu Watanabe2024-08-243-149/+63
| | | | | | | | | | | | | | | | | | | | | Then, we can drop allocation of RoutingPolicyRule object in each conf parsers. No functional change, just refactoring.
| * | network/routing-policy-rule: introduce a generic conf-parser for ↵Yu Watanabe2024-08-243-243/+80
| | | | | | | | | | | | | | | | | | | | | | | | [RoutingPolicyRule] sectin This introduce config_parse_routing_policy_rule(), which wraps existing conf parsers. With this, we can drop many custom conf parsers for [RoutingPolicyRule], and can reuse generic conf parsers in conf-parser.[ch].