Commit Graph
72 Commits
Author SHA1 Message Date
Jörg Behrmann 7824cc524d NEWS: IEC prefixes are binary 2026-08-26 10:56:12 +02:00
Jörg Behrmann e88adcdd2b NEWS: mark --introspect-cli as experimental 2026-08-26 10:51:53 +02:00
Jörg Behrmann 5d5483156d NEWS: typo fixes 2026-05-18 14:28:05 +01:00
Jörg Behrmann 76b5d77cdd ci/linter: stop ignoring lambda assignment lint 2026-05-18 09:43:36 +09:00
Jörg Behrmann b54d167934 test-network: make masq a proper function 2026-05-18 09:43:36 +09:00
Jörg Behrmann 9ea0b5f688 test-network: factor out common functions 2026-05-18 09:42:34 +09:00
Jörg Behrmann 475fb5e44f test-network: factor out common enum 2026-05-18 09:41:23 +09:00
Jörg Behrmann 7cf552e481 test-network: remove unused variable 2026-05-18 09:41:22 +09:00
Jörg Behrmann f4fcd5cfad hwdb/ids_parser: make text_eol a proper function 2026-05-18 09:41:22 +09:00
Jörg Behrmann c884b1410d ukify: factor out method for value parsing in ConfigItem 2026-05-18 09:41:22 +09:00
Jörg Behrmann 2cdf552762 emacs: add settings for Python modes
Both python-mode and python-ts-mode are shipped by Emacs nowadays, with the
latter being the more modern tree-sitter-based one. Even though they are
similar, the newer one doesn't automatically take the older ones settings.
2026-05-18 02:51:41 +09:00
Jörg Behrmann 24b79ff1d0 ci/linter: show diffs for ruff check when possible 2026-05-18 02:51:41 +09:00
Jörg Behrmann 761f1ef2f3 Bump minimum version of python to 3.9
This was announced in fd8c620751 and every
still-supported distributo release provides at least 3.9, as tracked by #38608.
2026-02-18 18:47:15 +09:00
Jörg Behrmann 9c5efad4c5 news: fix typos 2026-02-18 00:21:51 +09:00
Jörg Behrmann cab4b9defd kernel-install: handle removal unsuccessful UKIs and loader entries separately
When a tries file exists, 90-uki-copy.install removes a previous UKI of the
same kernel version and all it's unbooted variants. This removal is guarded
behind a check for the existence of the already booted UKI, i.e. if uki.efi
already exists, uki.efi and uki+*.efi will be removed.

This leaves the edge case that if uki.efi does not exist, but only an unbooted,
e.g. uki+3.efi, it will not be removed. This is not a problem, if the number of
tries is constant between both builds, since a new uki+3.efi would overwrite
the existing one, but if the number of tries is changed to, e.g. uki+5.efi, we
are left with both uki+3.efi and uki+5.efi.

The same is done for loader entries.
2026-01-27 15:53:48 +01:00
Jörg Behrmann 1afe5c7b4b terminal-util: also send ANSI_NORMAL in terminal_reset_ansi_seq
Certain terminal emulators (alacritty, ghostty and kitty) require ANSI_NORMAL
to be sent to reset the colours.

Followup for 3d97db8f3c.

Fixes: #40163
2025-12-24 07:59:42 +01:00
Jörg Behrmann ba50b57e65 NEWS: fix typos 2025-11-17 13:25:39 +00:00
Jörg Behrmann 60e36dda6e man: change lexical to lexicographic
This changes the instances of lexical to lexicographic, thus making it easier
to grep for instances of lexicographic order, since there's only one variant of
the word to consider.

Lexicographic is chosen since there are slightly fewer instances of lexical and
lexicographic seems a better fit than lexical after checking a few
dictionaries.

The words lexical, lexicographic, and lexicographical are synonyms in
computing, meaning an alphabetical order. Both the Oxford dictionary and
Merriam-Webster make no distinction between lexicographic and lexicographical,
with only Wiktionary adding a more precise meaning of

    Meeting lexicographical standards or requirements; worthy of being included
    in a dictionary. [1]

Since, outside of computing, lexicographic(al) has the more specific meaning
pertaining to lexicography, i.e. the editing or making of dictionaries [2], and
lexical only has this as a secondary meaning after its linguistic meaning [3],
lexicographic fits the meaning of including and ordering entries better.

[1] https://en.wiktionary.org/wiki/lexicographical#English
[2] https://www.merriam-webster.com/dictionary/lexicographic
[3] https://www.oed.com/dictionary/lexical_adj
2025-09-18 10:57:38 +01:00
Jörg Behrmann 7175007020 man: unify spelling of OS-specific 2025-08-25 14:38:00 +02:00
Jörg Behrmann 1dcbb0b4ca tools: ignore root element explicitly in check-version-history
Currently these messages (broken for length)

    2025-08-20T12:04:15.9609277Z
    /home/runner/work/systemd/systemd/tools/check-version-history.py:26:
    FutureWarning: This search incorrectly ignores the root element, and will be fixed in a future version.
    If you rely on the current behaviour, change it to './/funcprototype/funcdef/function'

can be seen in CI output. So let's apply the suggestion.
2025-08-25 14:38:00 +02:00
Jörg Behrmann 09a89190bb man: add note about extending machine-info to man page 2025-08-25 14:38:00 +02:00
Jörg Behrmann 693f11d5ba news: fix typo 2025-07-10 10:23:28 +02:00
Jörg Behrmann 5b5155dbf8 NEWS: fix typos 2025-05-30 06:26:57 +09:00
Jörg Behrmann 68b6289a9e systemct: show all in output of systemctl clean --what=help 2025-05-13 17:21:02 +02:00
Jörg Behrmann 652e4dd743 man: note for systemctl clean --what that commas separate values 2025-05-13 17:20:37 +02:00
Jörg Behrmann 028de7292d man, systemctl: document --what=help 2025-05-13 17:19:39 +02:00
Jörg Behrmann 5689365a90 man: add missing fdstore in systemctl clean --what documentation 2025-05-13 17:19:02 +02:00
Jörg Behrmann 759fdb3a35 tests: remove cache=unsafe from TEST-64-UDEV-STORAGE
mkosi switch to the newer -blockdev qemu option in systemd/mkosi#3557 [1], but
cache=unsafe is an option only -drive supports.

Since the qemu-system_x86-64 man page [2] says this, cache.writeback=on is the
default and mkosi setting the other two options to the values corresponding to
unsafe, it should be fine to drop the cache=unsafe option.

┌─────────────┬─────────────────┬──────────────┬────────────────┐
│             │ cache.writeback │ cache.direct │ cache.no-flush │
├─────────────┼─────────────────┼──────────────┼────────────────┤
│writeback    │ on              │ off          │ off            │
├─────────────┼─────────────────┼──────────────┼────────────────┤
│none         │ on              │ on           │ off            │
├─────────────┼─────────────────┼──────────────┼────────────────┤
│writethrough │ off             │ off          │ off            │
├─────────────┼─────────────────┼──────────────┼────────────────┤
│directsync   │ off             │ on           │ off            │
├─────────────┼─────────────────┼──────────────┼────────────────┤
│unsafe       │ on              │ off          │ on             │
└─────────────┴─────────────────┴──────────────┴────────────────┘

[1] https://github.com/systemd/mkosi/pull/3557
[2] https://manpages.ubuntu.com/manpages/noble/en/man1/qemu-system-x86_64.1.html
2025-03-03 09:45:49 +01:00
Jörg Behrmann 369655330d vmspawn: switch from -drive to -blockdev option 2025-03-02 21:54:30 +01:00
Jörg Behrmann 467d21a710 ukify: Add more mypy options
This achieves parity with the mypy config used in mkosi.

The import of builtins is needed because otherwise type is attempted to be
resolved to the variable in the scope.
2024-10-14 09:59:25 +02:00
Jörg Behrmann f1b6430ecf ukify: Add UkifyConfig
Using a dataclass instead of an argparse namespace to pass around the parsed
options allows to track the types properly.
2024-10-14 09:59:25 +02:00
Jörg Behrmann 02eabaffe9 ukify: Add a unified interface for signing tools 2024-10-14 09:59:25 +02:00
Jörg Behrmann 929d6225b2 ukify: Fix type of UKI.executable 2024-10-14 09:59:25 +02:00
Jörg Behrmann 9ba53499b9 ukify: Require both key and cert be set in generate_keys
If either is None the write in this branch of the code will fail.
2024-10-12 19:01:00 +02:00
Jörg Behrmann f5698a3f41 ukify: Add missing typing for iterator 2024-10-12 19:01:00 +02:00
Jörg Behrmann e9984357ad ukify: Fix systemd-measure detection in tests
Fixes: 206fa93c85
2024-10-10 15:59:33 +02:00
Jörg Behrmann 180f957acc ukify: Factor out sbat into constants 2024-10-09 12:11:57 +02:00
Jörg Behrmann d5085be9c5 ci: Check ukify types and formatting. 2024-10-09 12:11:57 +02:00
Jörg Behrmann 206fa93c85 ukify: Ensure that find_tool always returns a tool or throws an error
This also makes the error message configurable, so that find_sbsign and
find_pesign can be inlined again.
2024-10-09 12:11:57 +02:00
Jörg Behrmann 3d2144a214 ukify: Move summary option handling out of finalize_options
This way finalize_options will not call sys.exit by itself.
2024-10-09 12:11:57 +02:00
Jörg Behrmann e95193504b ukify: Type-annotate ukify 2024-10-09 12:11:57 +02:00
Jörg Behrmann 2572afa405 ukify: Make it lint clean 2024-10-09 12:11:57 +02:00
Jörg Behrmann 521bc9c6c0 ukify: Use OSError insteead of IOError
The latter was deprecated for the former and is only an alias for it.
2024-10-09 11:58:02 +02:00
Jörg Behrmann 89842331fb ukify: Use non-deprecated import for Sequence 2024-10-09 11:58:02 +02:00
Jörg Behrmann 8abfd07ea1 ukify: Sort imports 2024-10-09 11:58:02 +02:00
Jörg Behrmann 35d92c0367 ukify: Import Path directly 2024-10-09 11:58:02 +02:00
Jörg Behrmann 6a28cae99a ukify: Format with ruff 2024-10-09 11:58:02 +02:00
Jörg Behrmann 56f32d9e78 man: Use proper conjunction and remove superfluous or 2024-10-04 12:45:21 +01:00
Jörg Behrmann 81b4d68153 NEWS: fix typos and remove backticks 2024-09-20 20:07:16 +09:00
Jörg Behrmann 99d4575e54 kernel-install: Remove existing loader entries and UKIs
When boot counting is enabled, adding a new loader entry or UKI can conflict
with an existing one that has booted successfully and therefore has its boot
counter removed. systemd-bless-boot will fail to bless the new successful boot,
since a file without a boot counter already exists. Since kernel-install will
clobber existing files without boot counting, we should therefore remove files
without a boot count as well, when we add a file with one.

Fixes: #33504
2024-07-15 10:16:36 +02:00
Jörg Behrmann 02f35b1c90 man: document /usr/local/lib in search paths 2024-06-06 12:07:08 +02:00
Jörg Behrmann f95f39a4dc NEWS: typo fixes 2024-04-15 21:30:42 +09:00
Jörg Behrmann 28ec58298f NEWS: style fixes and a few reformulations
- mention the version format spec for sytsemd-vpick
- say what "systemd-creds --user" can be used by unprivileged users as well
- say what importctl does
- use en dash instead of em dash
- add a missing article
2024-03-16 15:16:01 +01:00
Jörg Behrmann 80e748155e man: add missing "and" to importctl description 2024-03-16 12:52:48 +01:00
Jörg Behrmann db319cb460 NEWS: fix typos 2024-03-15 23:41:18 +09:00
Joerg Behrmann d4506301f9 man: document how to properly use a target as the Unit= of a timer 2023-11-30 17:14:31 +00:00
Joerg Behrmann 43fe529e0f NEWS: more typo fixes 2023-11-02 05:55:40 +09:00
Joerg Behrmann cf37171890 credentials: document that their path is stable for system services 2023-10-20 11:44:46 +01:00
Joerg Behrmann 7c52d5236a treewide: split commandline into command line 2023-09-20 16:37:23 +01:00
Joerg Behrmann 477eac0a62 man: remove quotes around default values 2023-09-19 10:05:38 +02:00
Joerg Behrmann 7227dd816f treewide: fix typos
- mostly: usecase -> use case
- continously -> continuously
- single typos in docs/FILE_DESCRIPTOR_STORE.md
2023-09-19 10:05:38 +02:00
Joerg Behrmann c46f5680ca analyze: don't warn about version spec compliant versions
This commits adds version_is_valid_versionspec and uses it in
analyze-compare-version.c.

version_is_valid_versionspec differs from version_is_valid in that it acepts
empty strings and since valid characters in a version spec version are all
ASCII letters and digits as well as "-.~^", but ",_+" allowed by
version_is_valid are not.

Also give a more specific warning message on invalid characters.
2023-07-18 15:57:15 +01:00
Joerg Behrmann 5bc9ea070f treewide: fix "an" before consonant U sounds
The article "a" goes before consonant sounds and "an" goes before vowel
sounds. This commit changes an to a for UKI, UDP, UTF-8, URL, UUID, U-Label, UI
and USB, since they start with the sound /ˌjuː/.
2023-07-06 11:59:41 +01:00
Joerg Behrmann 49bf8bd57a NEWS: various fixes 2023-06-29 21:37:07 +09:00
Joerg Behrmann 0ccfd3564b kernel-install: Add uki layout
Currently the kernel-install man page only documents the bls layout for use
with the boot loader spec type #1. 90-loaderentry.install uses this layout to
generate loader entries and copy the kernel image and initrd to $BOOT.

This commit documents a second layout "uki" and adds 90-uki-copy.install,
which copies a UKI "uki.efi" from the staging area or any file with the .efi
extension given on the command line to
$BOOT/EFI/Linux/$ENTRY_TOKEN-$KERNEl_VERSION(+$TRIES).efi

This allows for both locally generated and distro-provided UKIs to be handled
by kernel-install.
2022-11-29 11:33:27 +01:00
Joerg Behrmann 5601400e17 NEWS: fix typos 2021-06-17 08:52:46 +01:00
Joerg Behrmann 8ab34a49db systemd-notify: Fix return value of --booted 2021-04-01 20:42:22 +01:00
Joerg Behrmann fa02711758 treewide: fix spelling 2021-02-25 05:54:11 +09:00
Joerg Behrmann c90b6abc91 docs: spelling fixes 2020-08-04 12:39:03 +02:00
Joerg Behrmann 1f667d8a7c docs: Add syntax for templated units to systemd.preset man page
This documents the syntax

     enable template@.service foo bar baz

that was introduced in #9901 to preset templated units.
2020-03-17 17:12:06 +01:00
Joerg Behrmann fa97f63067 core: factor root_directory application out of apply_working_directory
Fixes: #12498
2019-06-25 22:53:33 +09:00
Joerg Behrmann 56ef8db9f5 core: apply WorkingDirectory after enforce_user
If WorkingDirectory is on NFS, root might only have the privileges of
nobody and the chdir to the WorkingDirectory might fail, even if the
user running the service would have the proper privileges to chdir to
that directory.

Fixes #10568
2018-10-31 12:07:24 +01:00