Daan De Meyer [Mon, 22 Jul 2024 08:28:50 +0000 (10:28 +0200)]
mkosi: update fedora commit reference
*
00babccdea Simplify BFQ scheduler enablement
*
ef8ddb130b Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
*
5b4a5461d6 Fix changelog
*
a8c5c736f6 Only apply shorter shutdown timer changes on Fedora
*
f4e284cd7a Merge #150 `Deal with systemd-timesyncd backport in EPEL`
|\
| *
9378a0733a Deal with systemd-timesyncd backport in EPEL
* |
12d1f05029 Don't claim /sbin/installkernel if building for CentOS Stream 9
|/
*
79828f2753 spec: use "positive" conditions in conditionals
*
c5d3af1638 Add build dependency on rsync on CentOS Stream 9
*
8d080fb5cb Backport udma buffer access patch
*
6084453807 Add support for building from a specific branch
*
cb9d631ca0 Update PR patch metadata
*
3889da947e In standalone subpackages, suggest coreutils-single
*
b7800e3e66 Drop versions from Conflicts for standalone packages
Daan De Meyer [Mon, 22 Jul 2024 08:25:46 +0000 (10:25 +0200)]
mkosi: Use the Fedora Rawhide spec for CentOS
These are now practically identical, with the only differences between
the two having no effect on the rpm builds we do with mkosi, so let's
cut out the middle man and just use the Fedora Rawhide spec for CentOS
as well.
Daan De Meyer [Mon, 22 Jul 2024 08:22:48 +0000 (10:22 +0200)]
mkosi: Switch back to PKG_SUBDIR instead of symlinks
Previously I thought it would make sense to allow running the build
scripts from within the VM/container to rebuild the packages. Instead
we ended up making it possible to rerun mkosi outside of the container/VM
to rebuild the packages, so let's switch back to $PKG_SUBDIR to tell the
build scripts where to look for the packaging sources.
Dominique Martinet [Sat, 20 Jul 2024 11:38:37 +0000 (20:38 +0900)]
meson: fix missing failure if bpf-framework was enabled
If building with clang and clang does not support bpf, then enabling
-Dbpf-framework=enabled would silently drop the feature (even printing
bpf-framework: enabled in the meson build recap, and no message anywhere
that'd hint at the failure!)
This is unexpected, so add check to fail hard in this case.
All other code paths (gcc, missing bpftool) properly check for the
option, but it is not as easy for a custom command so check explicitly
Lennart Poettering [Sat, 20 Jul 2024 13:04:32 +0000 (15:04 +0200)]
upate TODO
Ronan Pigott [Fri, 19 Jul 2024 15:35:46 +0000 (08:35 -0700)]
zsh: update varlinkctl completions
correct redundant or mismatched tags and fill the argument field of
curcontext because _regex_words does not do that for us.
The _complete_help text now looks much more reasonable most of the time:
$ varlinkctl call /run/systemd/resolve/io.systemd.Resolve ^Xh
tags in context :completion::complete:varlinkctl::
argument-rest (_arguments _varlinkctl)
tags in context :completion::complete:varlinkctl-call:method:
varlink-methods (_varlinkctl_cmd _varlinkctl_command _arguments _varlinkctl)
Fixes:
af63b4b769bf ("zsh: add varlinkctl completions")
Lennart Poettering [Fri, 19 Jul 2024 12:40:47 +0000 (14:40 +0200)]
execute: add FIXME comment
As requested by @YHNdnzj:
https://github.com/systemd/systemd/pull/33707#discussion_r1684055699
Ronan Pigott [Fri, 19 Jul 2024 08:20:15 +0000 (01:20 -0700)]
zsh: add varlinkctl completions
Daan De Meyer [Fri, 19 Jul 2024 12:00:04 +0000 (14:00 +0200)]
docs: Document how to do stable releases
Lennart Poettering [Fri, 19 Jul 2024 12:35:55 +0000 (14:35 +0200)]
Merge pull request #33707 from poettering/terminal-size-by-ansi-seq
pid1: try to initialize terminal dimensions from data gathered via ANSI sequences + many clean-ups/refactorings
Daan De Meyer [Fri, 19 Jul 2024 11:24:35 +0000 (13:24 +0200)]
mkosi: Bump default device timeout a little
We've been getting some integration test failures due to timeouts
on finding the root partition device. Let's bump the default device
timeout a little to see if it mitigates these failures.
Kai-Chuan Hsieh [Fri, 19 Jul 2024 08:16:52 +0000 (16:16 +0800)]
hwdb: Add mic mute key mapping for Dell Pro Rugged series
Lennart Poettering [Wed, 17 Jul 2024 15:56:01 +0000 (17:56 +0200)]
pid1: use $COLUMNS info in status_vprintf()
This way, we can work around the fact that "struct winsize" for
/dev/console might not be initialized the moment we open the device.
Lennart Poettering [Wed, 17 Jul 2024 15:47:41 +0000 (17:47 +0200)]
main: set $COLUMNS/$ROWS for PID 1 based on /dev/console data
In PID 1 we write status information to /dev/console regularly, but we
cannot keep it open continously, due to the kernel's SAK logic (which
would kill PID 1 if user hits SAK). But closing/reopening it all the
time really sucks for tty types that have no window size management
(such as serial terminals/hvc0 and suchlike), because it also means the
TTY is fully closed most of the time, and that resets the window sizes
to 0/0.
Now, we reinitialize the window size on every reopen, but that is a bit
expensive for simple status output. Hence, cache the window size in the
usualy $COLUMNS/$ROWS environment variables. We don't inherit these to
our payloads anyway, hence these are free to us to use.
Lennart Poettering [Wed, 17 Jul 2024 15:45:26 +0000 (17:45 +0200)]
terminal-util: add recognizable error if cols/rows of tty are initially not initialized
Various tty types come up with cols/rows not initialized (i.e. set to
zero). Let's detect these cases, and return a better error than EIO,
simply to make things easier to debug.
Lennart Poettering [Wed, 17 Jul 2024 15:57:12 +0000 (17:57 +0200)]
terminal-util: extend timeout on background color request
I managed to hit the timeout a couple of times inside of slow qemu.
Let's increase it a bit to 1/3s
Lennart Poettering [Wed, 17 Jul 2024 13:56:15 +0000 (15:56 +0200)]
terminal-util: try to avoid reading more from terminal than we need in get_default_background_color()
Lennart Poettering [Wed, 17 Jul 2024 13:06:48 +0000 (15:06 +0200)]
exec-invoke: user EBADF where appropriate
Lennart Poettering [Wed, 17 Jul 2024 13:06:27 +0000 (15:06 +0200)]
tree-wide: acquire /dev/console lock around any attempts to reset TTY
Lennart Poettering [Wed, 17 Jul 2024 10:28:53 +0000 (12:28 +0200)]
terminal-util: teach resolve_dev_console() to deal correctly with /dev/console being a symlink
/dev/console is sometimes a symlink in container managers. Let's handle
that correctly, and resolve the symlink, and not consider the data from
/sys/ in that case.
Lennart Poettering [Wed, 17 Jul 2024 10:20:32 +0000 (12:20 +0200)]
terminal-util: move lock_dev_console() here
It doesn't really make sense to have that in dev-setup.c, which is
mostly about setting up /dev/, creating device nodes and stuff.
let's move it to the other stuff that deals with /dev/console's
peculiarities.
Lennart Poettering [Fri, 12 Jul 2024 04:06:11 +0000 (06:06 +0200)]
man: clarify what TTYReset= and TTYVTDisallocate= do and do not do regarding screen clearing
Lennart Poettering [Thu, 11 Jul 2024 14:18:49 +0000 (16:18 +0200)]
units: bring agetty command lines back into sync
Let's always rely on our own TTY reset logic and tty disallocation/clear
screen logic, thus always pass --noclear and --noreset.
Also, bring the list of baud rates to try into sync for console-getty
and serial-getty (the former might or might not be connected to rs232,
we can't know, hence assume the worst, and copy what
serial-getty@.service does)
Lennart Poettering [Thu, 11 Jul 2024 09:29:37 +0000 (11:29 +0200)]
exec-invoke: move terminal initialization a bit
It's a bit confusing, but we actually initialize the terminal twice for
each service, potentially. One earlier time, where we might end up
firing vhangup() and vt_disallocate(), which is a pretty brutal way to
reset things, by disconnecting and possibly invalidating the tty
completely. When we do this we do not keep any fd open afterwards, since
it quite likely points to a dead connection of a tty.
The 2nd time we initialize things when we actually want to use it.
The first initialization is hence "destructive" (killing any left-overs
from previous uses) the 2nd one "constructive" (preparing things for our
new use), if you so will.
Let's document this distinction in comments, and let's also move both
initializations to exec_invoke(), so that they are easier to see in their
symmetric behaviour. Moreover, let's run the tty initialization after we
opened both input and output, since we need both for doing the fancy
dimension auto init stuff now.
Oh, and of course, one thing to mention: we nowadays initialize
terminals both with ioctl() and with ansi sequences. But the latter
means we need an fd that is open for *write* (since we are *writing*
those ansi sequences to the tty). Hence, resetting via the input fd is
conceptually wrong, it worked only so far if we had O_RDWR open mode
selected)
Lennart Poettering [Thu, 11 Jul 2024 14:28:08 +0000 (16:28 +0200)]
execute: reorder "destructive" tty reset operations
Let's make sure to first issue the non-destructive operations, then
issue the hangup (for which we need the fd), then try to disallocate the
device (for which we don't need it anymore).
Lennart Poettering [Thu, 11 Jul 2024 09:44:31 +0000 (11:44 +0200)]
exec-invoke: handle errno log message writing in write_confirm_error_fd() like we usually do
Lennart Poettering [Thu, 11 Jul 2024 09:43:40 +0000 (11:43 +0200)]
exec-invoke: save original stdin/stdout with O_CLOEXEC set
We turn off the flag anyway when we install them back as stdin/stdout
later (via dup2()). let's hence follow our usual rules, and turn on
O_CLOEXEC.
Lennart Poettering [Thu, 11 Jul 2024 09:29:15 +0000 (11:29 +0200)]
execute: also hook up ansi-seq-based terminal size determination with exec_context_determine_size()
And while we are at it, merge exec_context_determine_tty_size() +
exec_context_apply_tty_size().
Let's simplify things, and merge the two funcs, since the latter just
does one more call.
At the same time, let's make sure we actually allow passing separate
input/output fds.
Lennart Poettering [Mon, 15 Jul 2024 09:48:48 +0000 (11:48 +0200)]
tree-wide: reset stdout not stdin
We nowadays reset TTYs by writing ANSI sequences to them. This can only
work if we operate on an *output* fd, not an input fd. Hence switch
various cases where we erroneously used an input fd to use an output fd
instead.
Lennart Poettering [Thu, 11 Jul 2024 15:45:34 +0000 (17:45 +0200)]
terminal-util: refactor vt_disallocate()
Numerous fixes:
1. use vtnr_from_tty() to parse out VT number from tty path
2. open tty for write only when we want to output just ansi sequences
3. open tty in asynchronous mode, and apply a timeout, just to be safe
4. propagate error from writing (most callers ignore it anyway, might as
well pass it along correctly)
Lennart Poettering [Thu, 11 Jul 2024 09:28:46 +0000 (11:28 +0200)]
terminal-util: move acquire_terminal() and AcquireTerminalFlags back together in header file
Lennart Poettering [Thu, 11 Jul 2024 09:28:29 +0000 (11:28 +0200)]
terminal-util: simplify terminal_set_size_fd() a tiny bit
Lennart Poettering [Thu, 11 Jul 2024 09:02:28 +0000 (11:02 +0200)]
terminal-util: split out color macros/helpers into its own header
This is a lot of stuff, and sometimes quite wild, let's turn this into
its own header.
All stuff color-related that just generates sequences is now in
ansi-color.h (no .c file!), and everything more complex that
probes/ineracts with terminals remains in termina-util.[ch]
Lennart Poettering [Thu, 11 Jul 2024 08:54:24 +0000 (10:54 +0200)]
terminal-util: remove terminal_vhangup() because apparently unused
Lennart Poettering [Thu, 11 Jul 2024 08:50:51 +0000 (10:50 +0200)]
terminal-util: rename return parameters ret_xyz
Lennart Poettering [Fri, 19 Jul 2024 07:17:29 +0000 (09:17 +0200)]
terminal-util: modernize vt_reset_keyboard() a bit
Lennart Poettering [Thu, 11 Jul 2024 08:47:01 +0000 (10:47 +0200)]
terminal-util: don't export vt_reset_keyboard() + vt_default_utf8()
Lennart Poettering [Fri, 19 Jul 2024 07:17:48 +0000 (09:17 +0200)]
terminal-util: modernize terminal_reset_ansi_seq() a bit
Let's update the commentary a bit. Also, use a time-out of 100ms rather
than 50ms for this, simply to unify on the same value used in
vt_disallocate() in a similar case.
Lennart Poettering [Thu, 11 Jul 2024 08:37:32 +0000 (10:37 +0200)]
terminal-util: don't export terminal_reset_ioctl()/terminal_reset_ansi_seq() anymore
We only use them in terminal-util.c, hence make them static (and move
them before their first using function).
Lennart Poettering [Thu, 11 Jul 2024 08:26:14 +0000 (10:26 +0200)]
terminal-util: rename reset_terminal_fd() → terminal_reset_ioctl()
Let's put "terminal_" as prefix, like with the other reset calls, and
let's make clear that this only encapsulates the ioctl-based reset
logic, not the ANSI sequence based reset logic.
Lennart Poettering [Thu, 11 Jul 2024 08:23:14 +0000 (10:23 +0200)]
terminal-util: remove reset_terminal() as it is unused
Lennart Poettering [Thu, 11 Jul 2024 07:34:11 +0000 (09:34 +0200)]
terminal-util: don't issue "ESC c" sequence on reset, but only when erasing the screen
ESC c is a (vaguely defined) "reset to initial state" ANSI sequence.
Many terminals clear the screen in this case, but that's a bit drastic I
think for most resets.
ESC c was added to the reset logic in
00bc83a275fa3ca8d90579fe9597d8b651d47332 (i.e. very recently), and I
don't think the effect was clear at that time.
Let's keep the ESC c in place however when we actually want to clear the
screen. Hence move it from reset_terminal_fd() into vt_disallocate().
Fixes: #33689
Lennart Poettering [Thu, 11 Jul 2024 07:26:07 +0000 (09:26 +0200)]
terminal-util: add new helper terminal_reset_defensive() that combines reset-by-ioctl and reset-by-sequence reasonably
Lennart Poettering [Wed, 10 Jul 2024 16:52:42 +0000 (18:52 +0200)]
terminal-util: add terminal_is_pty_fd() helper
The helper checks if an fd references a pty
Lennart Poettering [Wed, 10 Jul 2024 16:02:31 +0000 (18:02 +0200)]
terminal-util: unify code that resets /dev/console in common helper
We have pretty much the same code at two places, let's make it one.
Lennart Poettering [Wed, 10 Jul 2024 15:53:58 +0000 (17:53 +0200)]
terminal-util: reset /dev/console via ansi seq also in make_console_stdio()
This appears to have been the intention of
00bc83a275fa3ca8d90579fe9597d8b651d47332, judging by the comments on
that.
Lennart Poettering [Wed, 10 Jul 2024 15:17:58 +0000 (17:17 +0200)]
terminal-util: try to initialize rows/cols via ansi sequence in make_console_stdio()
Let's hook this up.
Lennart Poettering [Wed, 10 Jul 2024 14:33:10 +0000 (16:33 +0200)]
terminal-util: add helper that adjust terminal width/height from data acquired via ANSI sequences
Lennart Poettering [Wed, 10 Jul 2024 14:02:52 +0000 (16:02 +0200)]
terminal-util: add helper that queries terminal sizes via ANSI sequence
When we are talking to a serial terminal quite commonly the dimensions
are not set properly, because the serial protocol has not handshake or
similar to transfer this information.
However, we can derive the dimensions via ANSI sequences too, which
should get us the right information, since ANSI sequences are
interpreted by the final terminal, rather than an intermediary local tty
driver (which is where TIOCGWINSZ is interpreted).
This adds a helper call that gets the dimensions this way.
Lennart Poettering [Thu, 11 Jul 2024 08:31:02 +0000 (10:31 +0200)]
terminal-util: rename set_terminal_cursor_position() → terminal_set_cursor_position()
Let's prefix these functions with the subsystem name, and clean them up
a bit. Specifically, drop the error logging, it's entirely duplicative,
since every single caller does it anyway.
Lennart Poettering [Wed, 10 Jul 2024 15:18:55 +0000 (17:18 +0200)]
terminal-util: when querying bg color, ensure input fd and output fd refer to same tty
Let's add an extra safety check: before issuing the ansi sequence to
query the bg color, let's make sure input and output fd actually
reference the same tty. because otherwise it's unlikely we'll be able to
read back the response from the tty driver.
This is mostly just paranoia.
Lennart Poettering [Fri, 12 Jul 2024 17:04:39 +0000 (19:04 +0200)]
terminal-util: remember error code from tcsetattr()
Lennart Poettering [Wed, 10 Jul 2024 14:32:22 +0000 (16:32 +0200)]
terminal-util: turn off echo on stdin, not stdout
This doesn't make much of a different IRL, but it feels more right that
an operation that happens in input is turned off via the input fd.
Lennart Poettering [Wed, 10 Jul 2024 14:06:30 +0000 (16:06 +0200)]
terminal-util: don't process the same data twice when reading back bg color info
If we only read partial information from the tty we ended up parsing it
again and again, confusing the state machine. hence, return how much
data we actually processed and drop it from the buffer.
Lennart Poettering [Wed, 10 Jul 2024 14:32:35 +0000 (16:32 +0200)]
terminal-util: return correct error in chvt()
Lennart Poettering [Wed, 10 Jul 2024 15:01:47 +0000 (17:01 +0200)]
terminal-util: refuse a few more unexpected open flags in open_terminal()
Lennart Poettering [Wed, 10 Jul 2024 15:17:20 +0000 (17:17 +0200)]
terminal-util: trivial white space fix
Lennart Poettering [Wed, 17 Jul 2024 15:54:09 +0000 (17:54 +0200)]
env-util: suppress unnecessary setenv() in setenvf()
Lennart Poettering [Thu, 18 Jul 2024 13:39:39 +0000 (15:39 +0200)]
vmspawn: make "-n" just work
The tap network device should be called "vt-", so that that the
80-vm-vt.network file we ship by default actually matches against it.
Also, turn off any qemu callout stuff, networkd is smart enough to
handle all this on its own, without ugly callouts.
Luca Boccassi [Fri, 19 Jul 2024 09:01:01 +0000 (11:01 +0200)]
Merge pull request #33591 from teknoraver/o_path
use O_PATH when possible
Luca Boccassi [Fri, 19 Jul 2024 08:57:07 +0000 (10:57 +0200)]
Merge pull request #33770 from bluca/polkit-root
polkit: map POLKIT_ALWAYS_QUERY to new polkit flag
Lucas Werkmeister [Tue, 16 Jul 2024 16:15:32 +0000 (18:15 +0200)]
man: Mention Type=oneshot timeout directive
Make the warning for oneshot services (where RuntimeMaxSec= has no
effect) more actionable by pointing to the directive people can use
instead to effectively limit their runtime.
Luca Boccassi [Thu, 18 Jul 2024 20:28:23 +0000 (22:28 +0200)]
Merge pull request #33773 from kovalev0/fix_aquarius_cmp_ns483_keyb_and_sensor
Fix aquarius cmp ns483 keyboard and sensor
Vasiliy Kovalev [Thu, 18 Jul 2024 18:58:55 +0000 (21:58 +0300)]
hwdb: add backslash and touchpad toggle mapping for Aquarius Cmp NS483
Signed-off-by: Vasiliy Kovalev <kovalev@altlinux.org>
Vasiliy Kovalev [Thu, 18 Jul 2024 18:42:18 +0000 (21:42 +0300)]
hwdb: fix accelerometer mount matrix for Aquarius Cmp NS483
Signed-off-by: Vasiliy Kovalev <kovalev@altlinux.org>
Luca Boccassi [Thu, 18 Jul 2024 15:59:55 +0000 (17:59 +0200)]
Merge pull request #33767 from keszybz/test-ukify-nicer
Make test_ukify not use a real initrd
Luca Boccassi [Thu, 18 Jul 2024 15:43:56 +0000 (16:43 +0100)]
polkit: fix typo in enum name
Léane GRASSER [Thu, 18 Jul 2024 13:15:16 +0000 (15:15 +0200)]
l10n: fix credits for the French translation
Luca Boccassi [Thu, 27 Jun 2024 19:55:34 +0000 (20:55 +0100)]
polkit: map POLKIT_ALWAYS_QUERY to new polkit flag
polkitd by default just waves through requests from a root process.
A new POLKIT_CHECK_AUTHORIZATION_FLAGS_ALWAYS_CHECK flag was added
to main (will be part of v125 when it ships) that forces it to go
through the policy checks for root too. Previous versions will just
ignore it.
Change the flags handling slightly so that we pass this or the
interactive flags through, as the values match what polkit expects.
Daan De Meyer [Thu, 18 Jul 2024 14:43:15 +0000 (16:43 +0200)]
Merge pull request #33763 from DaanDeMeyer/mkosi
mkosi: Two fixlets
Lennart Poettering [Thu, 18 Jul 2024 12:28:52 +0000 (14:28 +0200)]
ptyfwd: reset color after two tty reset sequences, too
When we patch in a bg color we must make sure that when certain "reset"
sequences are transferred we fix up the bg color again.
Do so for \033[!p ("soft terminal reset") and \033c ("reset to initial
state" aka "full reset").
Zbigniew Jędrzejewski-Szmek [Thu, 18 Jul 2024 12:50:43 +0000 (14:50 +0200)]
test_ukify: add instructions
Copied directly from
a1d6dbb1c94685d7972f63ed2762fe4ba0251287.
Zbigniew Jędrzejewski-Szmek [Thu, 18 Jul 2024 12:48:37 +0000 (14:48 +0200)]
test_ukify: use sha384 in the signing tests
On Fedora, with crypto policy TEST-FEDORA41, sha1 is not allowed:
$ SYSTEMD_LOG_LEVEL=debug build/systemd-measure sign
--linux=/lib/modules/6.9.7-200.fc40.x86_64/vmlinuz
--osrel=/tmp/tmp.osrelbl2sr77f
--cmdline=/tmp/tmp.cmdlineouc7hqtj
--uname=/tmp/tmp.unamecbjgesty
--pcrpkey=/tmp/tmpufiadu8l
--initrd=/boot/
3a9d668b4db749398a4a5e78a03bffa5/6.9.7-200.fc40.x86_64/initrd
--sbat=/tmp/tmp.sbataz9arpy0
--private-key=/tmp/tmppyf0gx6w
--public-key=/tmp/tmpufiadu8l
--bank=sha1
Measuring boot phases: enter-initrd, enter-initrd:leave-initrd, enter-initrd:leave-initrd:sysinit, enter-initrd:leave-initrd:sysinit:ready
Loaded 'libtss2-esys.so.0' via dlopen()
Loaded 'libtss2-rc.so.0' via dlopen()
Loaded 'libtss2-mu.so.0' via dlopen()
PolicyPCR calculated digest:
cec1a2ccb188ddd171a2be7bfa6b31cb9148776647354eb1069e0f891ed2dbe7
Failed to initialize signature context: error:
03000098:digital envelope routines::invalid digest
Failed to sign PCR policy: Input/output error
Zbigniew Jędrzejewski-Szmek [Thu, 18 Jul 2024 12:43:32 +0000 (14:43 +0200)]
test_ukify: do not use files from /boot
They might not be readable to the unprivileged user running the tests
and it shouldn't really matter what is used. OTOH, we need a real kernel
because we look at the header.
Luca Boccassi [Thu, 18 Jul 2024 11:44:41 +0000 (12:44 +0100)]
mkosi: update debian commit reference
*
2d10c12bd5 Drop /etc/sysctl.d/99-sysctl.conf symlink
*
fb73af0d22 update changelog
*
9d74923dd7 Move systemd-time-wait-sync to systemd-timesyncd package
*
8e0914aa0d Update changelog for 256.2-1 release
*
6dabf74a81 Install run0 zsh completion file
*
a72e454b2b Update upstream source from tag 'upstream/256.2'
|\
| *
cf928e099f New upstream version 256.2
*
c473d940f7 d/e/checkout-upstream: switch packaging branch on upstream stable PRs
*
13586fc76f d/e/checkout-upstream: do not fail if rebase fails
*
19785960d1 d/e/checkout-upstream: fix shellcheck warnings
*
72b215c3f0 Install zsh completion for run0
*
51f87a981e initramfs-tools: copy network drop-ins too
Daan De Meyer [Thu, 18 Jul 2024 11:01:27 +0000 (13:01 +0200)]
mkosi: Fix indentation
Daan De Meyer [Thu, 18 Jul 2024 10:53:53 +0000 (12:53 +0200)]
mkosi: Fix typo
Our config parsing is flexible enough that this kind of worked surprisingly
enough.
Daan De Meyer [Thu, 18 Jul 2024 10:51:44 +0000 (12:51 +0200)]
mkosi: Drop util-linux from centos/fedora packages
It's already included in the packages list in mkosi.conf.
Daan De Meyer [Thu, 18 Jul 2024 10:48:48 +0000 (12:48 +0200)]
mkosi: Drop udev from Packages= list
It's pulled in via VolatilePackages=, no need to put it in Packages=.
Daan De Meyer [Thu, 18 Jul 2024 10:47:51 +0000 (12:47 +0200)]
mkosi: Fix formatting
All of our lists start on the next line, so let's make KernelCommandLine=
fit that as well.
Daan De Meyer [Thu, 18 Jul 2024 10:46:58 +0000 (12:46 +0200)]
Merge pull request #33761 from DaanDeMeyer/mkosi
mkosi: Various NO_BUILD improvements
Daan De Meyer [Thu, 18 Jul 2024 06:46:14 +0000 (08:46 +0200)]
mkosi: Build CentOS Stream 10 images by default
CentOS Stream 10 has a newer util-linux which means the terminal
gets correctly resized to the size specified by mkosi. This is a
much nicer experience than CentOS Stream 9 where you're stuck on
80x24 so let's make CentOS Stream 10 the default release to build.
Lennart Poettering [Thu, 18 Jul 2024 09:40:10 +0000 (11:40 +0200)]
update TODO
Daan De Meyer [Thu, 11 Jul 2024 14:09:47 +0000 (16:09 +0200)]
mkosi: Streamline running the integration tests without building systemd
Let's document in detail how to build the integration test image and run
the integration tests without building systemd. To streamline the process,
we stop automatically using binaries from build/ when invoking mkosi directly
and don't automatically use a tools tree anymore if systemd on the host is too
old. Instead, we document these options in HACKING.md and change the mkosi meson
target to automatically use the current build directory as an extra binary search
path for mkosi.
Daan De Meyer [Thu, 11 Jul 2024 14:09:15 +0000 (16:09 +0200)]
mkosi: Skip sync script if NO_BUILD is enabled
If we're not doing a build, there's no point in syncing either so
lets skip it.
Mike Yuan [Wed, 17 Jul 2024 21:45:32 +0000 (23:45 +0200)]
Merge pull request #33092 from YHNdnzj/freezer-cleanup
UnitFreezer: several cleanups
Lennart Poettering [Wed, 17 Jul 2024 13:56:59 +0000 (15:56 +0200)]
sd-device: remove debug log message when dirs are missing
This is a common case, and nothing noteworthy at all. For example, if we
establish an enumerator for listing all devices tagged by some tag, then
the per-tag dir is not going to exist if there are currently no devices
tagged that way, but that's a really common case, and doesn't really
deserve any mention, not even at debug level.
Lennart Poettering [Wed, 17 Jul 2024 13:07:29 +0000 (15:07 +0200)]
main: show different welcome msg in initrd than on the host
It has bugged me for a while that we show the exact same welcome message
at boot twice: once in the initrd, and once after the initrd→host
transition. That's very confusing.
Let's change the text a bit, and tone down the initrd message a bit (by
removing the empty line before and after it), because it is the less
relevant one.
Lennart Poettering [Wed, 17 Jul 2024 16:56:31 +0000 (18:56 +0200)]
varlink-util: minor tweak
Apparently I forgot that in the initial PR. Fix that.
https://github.com/systemd/systemd/pull/33714#pullrequestreview-
2177885475
Lennart Poettering [Wed, 17 Jul 2024 21:03:54 +0000 (23:03 +0200)]
Merge pull request #33609 from AdrianVovk/table-json
Improve table JSON name mangling
Adrian Vovk [Thu, 11 Jul 2024 23:35:10 +0000 (19:35 -0400)]
table: Fix JSON name mangling breaking changes
In previous commits, we've changed the JSON name mangling logic. This,
of course, will cause breaking changes to occur on anything that relied
on the JSON mangling logic.
This commit fixes those breaking changes by manually forcing the JSON
name back to what it was before.
Adrian Vovk [Wed, 3 Jul 2024 21:57:42 +0000 (17:57 -0400)]
table: Improve mangling of JSON field names
First, when displaying JSON we convert dashes into underscores. We want
to avoid using dashes in JSON field names in new code, because some
JSON parsers don't support dashes very well.
Second, we make the first character of every word lower-case. This
better matches our JSON field name style, and makes the automatic
JSON name mangling a lot more useful for vertical tables, where fields
are given a display name. For example, "Foo Bar" would be converted into
"foo_bar" instead of "Foo_Bar", which much better matches our style.
We don't make the whole string lowercase to support cases like:
"fooBar" should stay as "fooBar".
Some situations don't behave quite perfectly, such as "Foo BarBaz" gets
converted into "foo_barBaz", or all-caps headings get mangled
incorrectly. In these situations, the JSON field should be overridden
manually. In most cases, or at least more cases than before, this
heuristic does good enough.
Adrian Vovk [Wed, 3 Jul 2024 21:51:35 +0000 (17:51 -0400)]
table: Add TABLE_SET_JSON_FIELD_NAME
Lets you conveniently set JSON field names in table_add_many. Especially
useful for vertical tables. For example:
table_add_many(t,
TABLE_FIELD, "Display Name",
TABLE_STRING, obj->display_name,
TABLE_SET_JSON_FIELD_NAME, "displayName",
TABLE_FIELD, "Timestamp",
TABLE_TIMESTAMP, obj->timestamp,
TABLE_SET_JSON_FIELD_NAME, "timestampUSec");
Daan De Meyer [Wed, 17 Jul 2024 18:15:17 +0000 (20:15 +0200)]
Merge pull request #33752 from DaanDeMeyer/lsm
Two mkosi improvements
Daan De Meyer [Wed, 17 Jul 2024 16:56:02 +0000 (18:56 +0200)]
mkosi: Remove enforcing=0 from default kernel command line
We already have selinux=0 in the default kernel command line so
enforcing=0 is redundant. Instead, pass in enforcing=0 when we
enable selinux in TEST-06-SELINUX.
Daan De Meyer [Wed, 17 Jul 2024 16:55:24 +0000 (18:55 +0200)]
mkosi: Stop setting apparmor=0
It doesn't get pulled in as a dependency anyway and kernel command
line space is precious so let's remove apparmor=0 as it's a noop
anyway.
Mike Yuan [Tue, 11 Jun 2024 14:00:22 +0000 (16:00 +0200)]
sleep,home: always initialize UnitFreezer if used
Previously, unit_freezer_new_freeze() would only return
UnitFreezer object if FreezeUnit() succeeds. This is not
ideal though, as a failed bus call doesn't mean the action
actually failed. E.g. a timeout might occur because pid1
is waiting for cgroup event from kernel, while the bus call
timeout was exceeded (#33269). In such a case, ThawUnit()
will never be called, resulting in frozen units remain that
way after resuming from sleep.
Therefore, let's get rid of unit_freezer_new_freeze(),
and make sure as long as unit freezer is involved, we'll
call ThawUnit() when we're done. This should make things
a lot more robust.
Mike Yuan [Tue, 11 Jun 2024 16:17:01 +0000 (18:17 +0200)]
sleep: also log about errno when getenv_bool fails
Mike Yuan [Fri, 31 May 2024 04:18:44 +0000 (12:18 +0800)]
sleep: explicitly list valid sleep operations in switch
To follow our usual coding style.
Mike Yuan [Tue, 11 Jun 2024 17:09:05 +0000 (19:09 +0200)]
core/dbus-unit: add an explicit bus error when unit is frozen by parent
While at it, use more accurate errno (EDEADLK) instead of ECHILD.