| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|\
| |
| | |
sysupdate: Handle incomplete versions
|
| |
| |
| |
| | |
To make sure we don't regress on #33339
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
| |
| |
| |
| |
| | |
Otherwise user can pass in --instances-max=0 and crash sysupdate with an
assertion failure.
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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.
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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.
|
|\ \
| | |
| | | |
resolve: support 'resolvconf -p'
|
| | | |
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | | |
Internally, the switch triggers 'resolvectl default-route INTERFACE no'.
Closes #34112.
|
| | | |
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | | |
manager_varlink_managed_oom_connect()
Follow-up for 2250c996cfc41afb30cd086adeed18fd41a683ba
|
|\ \ \
| |/ /
|/| | |
core: honor FileDescriptorName= too for Accept=yes sockets, plus several other cleanups
|
| | |
| | |
| | |
| | |
| | | |
Now that FileDescriptorName= is properly honored by Accept=yes sockets,
this explicit override is pointless.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
unit_verify_contexts()
While at it, allow "mixed" for all unit types too, i.e.
also apply ebc2259da1d1579347b86fc2ebca9f96334b6f22 to
socket/mount/swap units.
|
| | |
| | |
| | |
| | |
| | |
| | | |
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.
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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
|
| | |
| | |
| | |
| | |
| | |
| | | |
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.
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This has been supported since e9e74f28d783 but never got documented.
Add it to the man pages (plus one comment in a header).
Closes #34127.
|
| | |
| | |
| | |
| | | |
Fixes https://github.com/systemd/systemd/pull/33959#discussion_r1730987738
|
| | | |
|
|/ /
| |
| |
| |
| |
| |
| |
| | |
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.
|
|\ \
| | |
| | | |
network: introduce generic conf parser for [RoutingPolicyRule] section
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Then, we can drop allocation of RoutingPolicyRule object in each conf
parsers.
No functional change, just refactoring.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
[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].
|
| | |
| | |
| | |
| | |
| | | |
The function is generic enough. Currently it is used at only one place.
But it will be used at another place.
|
| | |
| | |
| | |
| | | |
This is not used currently, but will be used later.
|
| | |
| | |
| | |
| | |
| | |
| | | |
Typically, conf parsers will ignore most errors during parsing strings
and return 0. Let's return 1 on success. Otherwise it is hard to reused
these function in another conf parser.
|
| | | |
|
| | |
| | |
| | |
| | |
| | | |
Both conf parsers takes an integer. Only difference is the maximum
value. Let's merge them, and pass the maximum value through ltype.
|
| | |
| | |
| | |
| | | |
No functional change, just refactoring.
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
DefaultRoute is a D-Bus property, not a valid setting name in .network
files nor resolved.conf.
Whether a link is the default route or not is configured with
DNSDefaultRoute= setting in .network files.
|
|\ \ \
| |/ /
|/| | |
Translations update from Fedora Weblate
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Currently translated at 100.0% (253 of 253 strings)
Co-authored-by: Oğuz Ersen <oguz@ersen.moe>
Translate-URL: https://translate.fedoraproject.org/projects/systemd/main/tr/
Translation: systemd/main
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Currently translated at 100.0% (253 of 253 strings)
Co-authored-by: Sergey A <Ser82-png@yandex.ru>
Translate-URL: https://translate.fedoraproject.org/projects/systemd/main/ru/
Translation: systemd/main
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Currently translated at 100.0% (253 of 253 strings)
Co-authored-by: Léane GRASSER <leane.grasser@proton.me>
Translate-URL: https://translate.fedoraproject.org/projects/systemd/main/fr/
Translation: systemd/main
|
|/ /
| |
| |
| |
| |
| |
| |
| | |
Currently translated at 100.0% (253 of 253 strings)
Co-authored-by: Weblate Translation Memory <noreply-mt-weblate-translation-memory@weblate.org>
Translate-URL: https://translate.fedoraproject.org/projects/systemd/main/fr/
Translation: systemd/main
|
| |
| |
| |
| |
| |
| | |
We currently search for 'bpf-gcc' and 'bpf-none-gcc'. Gentoo's
sys-devel/bpf-toolchain package uses 'bpf-unknown-none-gcc', as does Fedora's
cross-binutils. Search for this name too.
|
|\ \
| | |
| | | |
Translations update from Fedora Weblate
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Currently translated at 100.0% (253 of 253 strings)
Co-authored-by: Temuri Doghonadze <temuri.doghonadze@gmail.com>
Translate-URL: https://translate.fedoraproject.org/projects/systemd/main/ka/
Translation: systemd/main
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Currently translated at 100.0% (253 of 253 strings)
Co-authored-by: Yuri Chornoivan <yurchor@ukr.net>
Translate-URL: https://translate.fedoraproject.org/projects/systemd/main/uk/
Translation: systemd/main
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Currently translated at 100.0% (253 of 253 strings)
Co-authored-by: Piotr Drąg <piotrdrag@gmail.com>
Translate-URL: https://translate.fedoraproject.org/projects/systemd/main/pl/
Translation: systemd/main
|