summaryrefslogtreecommitdiffstats
path: root/mkosi.clean (unfollow)
Commit message (Collapse)AuthorFilesLines
2024-09-03build(deps): bump systemd/mkosidependabot[bot]1-1/+1
Bumps [systemd/mkosi](https://github.com/systemd/mkosi) from 8c2f828701a1bdb3dc9b80d6f2ab979f0430a6b8 to 31b4e756c1484c302435653da5d3b9bdfae38518. - [Release notes](https://github.com/systemd/mkosi/releases) - [Changelog](https://github.com/systemd/mkosi/blob/main/NEWS.md) - [Commits](https://github.com/systemd/mkosi/compare/8c2f828701a1bdb3dc9b80d6f2ab979f0430a6b8...31b4e756c1484c302435653da5d3b9bdfae38518) --- updated-dependencies: - dependency-name: systemd/mkosi dependency-type: direct:production ... Signed-off-by: dependabot[bot] <support@github.com>
2024-09-03mkosi: Use apt patterns to install dependencies on Debian/UbuntuDaan De Meyer1-7/+20
Instead of parsing the human readable output of apt-cache, let's use apt patterns to figure out the dependencies. We also filter out virtual packages as apt will fail and say we need to install an implementation of the virtual package even if a package that provides the virtual package is already installed.
2024-09-03mkosi: Make systemd package filtering more robustDaan De Meyer4-8/+13
Let's not just filter everything with systemd in the name, but instead use the same list of volatile packages that we install to do the filtering.
2024-09-03json-util: Add JSON_BUILD_PAIR_UNSIGNED_NOT_EQUAL()Daan De Meyer2-3/+7
2024-09-03json-util: Add JSON_BUILD_TRISTATE() and friendsDaan De Meyer2-0/+64
2024-09-03json-util: Add JSON_BUILD_PAIR_BASE64_NON_EMPTY() and friendsDaan De Meyer2-0/+44
2024-09-03json-util: Add JSON_BUILD_PAIR_BYTE_ARRAY_NON_EMPTY()Daan De Meyer2-0/+32
2024-09-03json-util: Add JSON_BUILD_PAIR_INTEGER_NON_NEGATIVE()Daan De Meyer2-2/+13
2024-09-03json-util: Add JSON_BUILD_PAIR_INTEGER_NON_ZERO()Daan De Meyer2-0/+30
2024-09-03json-util: Add JSON_BUILD_PAIR_CALLBACK_NON_NULL()Daan De Meyer3-0/+48
Like JSON_BUILD_PAIR_CALLBACK(), but doesn't add anything to the variant if the callback doesn't put anything in the return argument.
2024-09-03json-util: Add JSON_BUILD_PAIR_DUAL_TIMESTAMP_NON_NULL()Daan De Meyer2-0/+32
2024-09-03json-util: Add JSON_BUILD_PAIR_DUAL_TIMESTAMP()Daan De Meyer1-0/+1
2024-09-03json-util: Add JSON_BUILD_RATELIMIT()Daan De Meyer2-0/+69
2024-09-03json-util: Add JSON_BUILD_STRING_ORDERED_SET()Daan De Meyer3-0/+54
2024-09-03repart: Add compression supportDaan De Meyer8-38/+177
Now that mkfs.btrfs is adding support for compressing the generated filesystem (https://github.com/kdave/btrfs-progs/pull/882), let's add general support for specifying the compression algorithm and compression level to use. We opt to not parse the specified compression algorithm and instead pass it on as is to the mkfs tool. This has a few benefits: - We support every compression algorithm supported by every tool automatically. - Users don't need to modify systemd-repart if a mkfs tool learns a new compression algorithm in the future - We don't need to maintain a bunch of tables for filesystem to map from our generic compression algorithm enum to the filesystem specific names. We don't add support for btrfs just yet until the corresponding PR in btrfs-progs is merged.
2024-09-03TEST-58-REPART: Only skip part of testcase_minimize() that requires rootDaan De Meyer1-5/+5
2024-09-03TEST-58-REPART: Always run TEST-58-REPART in virtual machineDaan De Meyer1-0/+1
Required for various tests in TEST-58-REPART.
2024-09-03mkosi: Don't create sanitizer wrappers for every mkfs binaryDaan De Meyer1-5/+0
mksquashfs for some reason ends up in nss_systemd and mkfs.btrfs links against libudev. The others don't need a sanitizer wrapper script.
2024-09-03resolve: fix typoYu Watanabe1-1/+1
Follow-up for 67d0ce8843d612a2245d0966197d4f528b911b66.
2024-09-03resolved: include Varlink error on inconsistent DNS-SD services in ↵Lennart Poettering5-3/+11
introspection data Let's also rename the error slightly, since what happens here is that a a valid service RR name is CNAME'd onto an invalid one. That's an inconsistency on the server side, which we really should report as such. Follow-up for: b48ab08732a76b7337628e1e716f11c687000903
2024-09-02test: don't install Python scripts from systemd-test RPMFrantisek Sumsal1-1/+1
The original regex didn't cover the `run-unit-tests.py` script that made the old framework pull in Python into the test image, which in turn allowed the new TEST-69-SHUTDOWN Python script to get executed in the old framework's image, causing unexpected fails with latest Python on Rawhide.
2024-09-02sysupdated: Improve logging about jobsAdrian Vovk1-10/+21
If someone runs `updatectl update`, sysupdate will be running multiple update jobs at the same time, which can make reasoning about the output in the journal quite difficult. Especially if things go wrong: the error messages didn't mention which job failed. Nor was there any link between job ID and the PID of the worker process logging to the journal. This is all fixed here!
2024-09-02sysupdated: Cleanup handling of notificationsAdrian Vovk1-32/+21
Cuts out some `strdup`s, and also avoids a rather weird case of donating memory to a function. Basically just duplicates the solution I just implemented for sysupdate's callout handler.
2024-09-02sysupdate: Don't ignore callout binary failureAdrian Vovk1-18/+40
Previously, if the callout binary (i.e. sd-pull, sd-import) failed gracefully, we'd return its exit status from the event loop and thus from run_callout(). Of course, exit status is a positive number in the event of failure. Which means that we completely ignore the callout binary failing, and instead continue using whatever it managed to download before failing. This is bad for obvious reasons, not the least of which is installing a half-downloaded OS. This also means that we would completely ignore failed signature checks 😬️
2024-09-02portable: ensure PORTABLE_FORCE_ATTACH works even when there is a leftover unitLuca Boccassi2-6/+59
Force means force, we skip checks with PID1 for existing units, but then bail out with EEXIST if the files are actually there. Overwrite everything instead.
2024-09-02efi: add file_handle_read() helper that reads from a file handleLennart Poettering2-10/+26
2024-09-02efi: return pointer to processed string in strtolower8()/strtolower16()Lennart Poettering2-8/+9
2024-09-01conf-parser: use log_syntax_parse_error() and friends moreYu Watanabe2-202/+137
This also makes all conf parsers defined in conf-parser.c return 1 on success, 0 on non-critical error. Also, use free_and_strdup_warn() where applicable.
2024-09-01conf-parser: several cleanups for DEFINE_CONFIG_PARSE_ENUMV() macroYu Watanabe1-18/+16
- use GREEDY_REALLOC() and FOREACH_ARRAY(), - do not set an array with only terminating 'invalid' value. Note, this macro is only used by parsing NamePolicy= and AlternativeNamesPolicy= in .link files. and udevd correctly handles both an empty array and an array with only 'invalid'. Hence, this does not change any behavior.
2024-09-01tree-wide: drop msg argument for DEFINE_CONFIG_PARSE() macro and friendsYu Watanabe40-157/+120
This makes the macros use log_syntax_parse_error(), hopefully which provides more informative log message in general, and reduces binary size.
2024-09-01log: protect errno from log_syntax_invalid_utf8_internal()Yu Watanabe1-0/+1
Potentially, utf8_escape_invalid() called by log_syntax_invalid_utf8_internal() may update errno.
2024-09-01log: introduce log_syntax_parse_error()Yu Watanabe2-0/+56
This provides generic error message for failures in conf parsers. Currently this is not used, but will be used later.
2024-09-01test: modernize test-networkd-confYu Watanabe1-79/+68
2024-09-01test: modernize test-conf-parser.cYu Watanabe1-26/+30
2024-09-01conf-parser: make config_parse_strv() stricter and optionally drop ↵Yu Watanabe2-12/+26
duplicated entries
2024-09-01conf-parser: fix memleak in config_parse_calendar()Yu Watanabe1-3/+4
Fixes a bug introduced by 0e10c3d8724b0a5d07871c9de71565ac91dd55b7 (#25049).
2024-09-01network/route: fix typoYu Watanabe1-1/+1
Follow-up for c8dbf9acc10939f2d6c4bdd8cdee1d2ff9a4204e.
2024-09-01network/route: fix adjustment of nexthop weightYu Watanabe1-2/+16
Fixes #34167.
2024-09-01network/route: also update source, status, and so on EEXISTYu Watanabe5-37/+100
Otherwise, an existing route may be labeled as foreign even after we reconfigure it.
2024-09-01network/route: also show weight of gateway in debugging logsYu Watanabe1-3/+4
2024-09-01basic/raw-clone: refuse CLONE_PIDFD tooMike Yuan1-6/+6
2024-08-31docs/UIDS-GIDS: drop obsolete comment about FedoraZbigniew Jędrzejewski-Szmek1-3/+0
https://fedoraproject.org/wiki/Changes/RenameNobodyUser, 2018: > Use "nobody:nobody" as the names for the kernel overflow UID:GID pair, and > retire the old "nfsnobody" name and the old "nobody:nobody" pair with 99:99 > numbers.
2024-08-31test-network: use the same MTU bytes for veth interfacesYu Watanabe1-0/+2
Hopefully fixes #34204.
2024-08-31labeler: set network label when tests for networkd or friends are updatedYu Watanabe1-1/+1
2024-08-31man: fix typosChristoph Anton Mitterer2-2/+2
Closes #34199. Signed-off-by: Christoph Anton Mitterer <mail@christoph.anton.mitterer.name>
2024-08-31progress-bar: Add unbuffered variantAdrian Vovk3-23/+41
The progress_bar functions do their own buffering: they reconfigure stderr, then print, then flush and disable buffering on their own. In situations where multiple progress bars are being drawn at a time (for example, in updatectl), it's even more efficient to hoist the buffering and flushing to the call site, and avoid drawing each progress bar individually. To that end, new _unbuffered variants of the progress_bar functions. And we use them in updatectl.
2024-08-31updatectl: Improve behavior of progress loggingAdrian Vovk1-6/+16
This applies a couple of aesthetic changes to the way updatectl renders progress information 1. We invert from "ICON TARGET MESSAGE" to "TARGET: ICON MESSAGE" to better fit in with the systemd progress bars, which look like "TARGET [==========---------] XX%". The original version of the sysupdated PR implemented its own progress bars that were oriented differently: "[==========---------] TARGET XX%". When we swapped the progress bar we didn't swap the status messages 2. When a target finishes updating, instead of leaving a 100% progress bar on screen for potentially extended periods of time (which implies to the user that the update isn't actually done...), we show a status message saying the target is done updating. 3. Fixed a minor bug where an extra newline would be printed after the total progress bar. At the top of the rendering function, we scroll the terminal's scroll-back just enough to fit a line for each target, and one for the total. This means that we should not print an additional line after the total, or else it'll scroll the terminal's buffer by an additional character. This bug was introduced at some point during review 4. Clears the Total progress bar before quitting. By the time we're quitting, that progress bar will be showing no useful status for the user. Also, the fix in point 3 will cause the shell's prompt to appear on the same line as the Total progress bar, partially overwriting it and leaving the shell in a glitchy state.
2024-08-31man: fix typoYu Watanabe1-1/+1
Follow-up for 1ff0164be5978b824d2213bc546dac66619e1a48.
2024-08-31updatectl: Ensure we clear the progress barAdrian Vovk1-0/+3
Otherwise we end up half-overwriting the progress bar, which looks buggy
2024-08-31sysupdated: Register known error typesAdrian Vovk3-2/+7
This fixes a bug introduced during review of sysupdated. Originally, we just returned EALREADY verbatim to signify that the target is already up-to-date. Then we switched this to a proper error (org.freedesktop.sysupdate1.NoCandidate) during review. But that now maps to EIO, not EALREADY. Thus, whenever there's nothing to update, updatectl would report I/O errors to the user, even though nothing actually went wrong.