Commit Graph

77176 Commits

Author SHA1 Message Date
Zbigniew Jędrzejewski-Szmek
243b63d8a6 meson: add separate option for sysupdated, disable in release builds
This commit introduces a build-time option to enable/disable sysupdated
separately from sysupdate. 'auto' translated to enabled by default in
developer builds.
2024-10-31 21:08:08 +00:00
Adrian Vovk
89696521d2 man: warn that sysupdate's API is unstable
There's still some breaking changes we want to make to sysupdated, but
they'll potentially take months and we don't want to block the systemd
release for that long. So, we can instead mark sysupdate's API as
unstable
2024-10-30 14:45:16 +01:00
Lennart Poettering
2ef87de9d3 core: add EXEC_DIRECTORY_TYPE_SHALL_CHOWN() helper
Let's make ConfigurationDirectory= a bit less "special-casey", by hiding
the fact that it's the only per-service dir we do not do chown()ing for
inside of a new EXEC_DIRECTORY_TYPE_SHALL_CHOWN() helper.
2024-10-30 13:33:29 +01:00
Lennart Poettering
ba21b29039 docs: Update instructions for building distribution packages in HACKING.md (#34941)
When building distribution packages without building an image, the
distribution packages will only be located in mkosi.builddir/ now and
not in mkosi.output/, so update the documentation to reflect that.

Also add installation instructions for distributions other than
CentOS/Fedora while we're at it.
2024-10-30 12:11:28 +01:00
Daan De Meyer
7ae96246f6 docs: Update instructions for building distribution packages in HACKING.md
When building distribution packages without building an image, the
distribution packages will only be located in mkosi.builddir/ now and
not in mkosi.output/, so update the documentation to reflect that.

Also add installation instructions for distributions other than CentOS/Fedora
while we're at it.
2024-10-30 11:16:42 +01:00
Daan De Meyer
a33f453702 docs: Align some comments in HACKING.md 2024-10-30 11:16:36 +01:00
hugo303
f172dfddde analyze: Add times in seconds for Activating and Activated in tooltip
Print the times in seconds in the tooltip to remove the need to count
and trying to follow the lines in the svg diagram in order to see at
what times these events happen.
2024-10-30 11:16:28 +01:00
Yu Watanabe
5e48fd0506 network/tunnel: allow Local=/Remote=any for all tunnel types
It seems there is no restriction for local and remote addresses.

Fixes #34930.
2024-10-30 10:29:07 +01:00
Yu Watanabe
7e322c3dd0 sd-netlink,network: do not set NLM_F_CREATE and NLM_F_EXCL flags if an interface index is specified
If an ifindex is specified, we are modifying the existing interface.
Hence, these flags should not be set. Otherwise, the request will be
refused with -EEXIST.
2024-10-30 10:28:18 +01:00
Daan De Meyer
0a1b553e2a network: skip processing netdev if it is already detached (#34935)
split-out of #34909.
2024-10-30 10:27:24 +01:00
Daan De Meyer
b6fed18772 pretty-print: add format-string version of draw_progress_bar() (#34939)
We often format the prefix string via asprintf() before, let's hence add
a helper for that.
2024-10-30 10:26:48 +01:00
Lennart Poettering
dd9a8cb999 update NEWS 2024-10-30 09:13:48 +01:00
Lennart Poettering
c79d38d412 update TODO 2024-10-30 09:06:37 +01:00
Lennart Poettering
5c11f6e0a9 core/service: support sd_notify() MAINPIDFD=1 and MAINPIDFDID= (#34932) 2024-10-30 08:45:25 +01:00
Lennart Poettering
eae9e74f35 network: add missing else in dhcp_lease_load (#34927)
Fixes: 3fd6708cde (network: Serialize DNR servers)

---

Fixes: #34926
2024-10-30 08:39:15 +01:00
Ronan Pigott
b31b99d76f network: Restrict the valid charset of DNR names
Not all possible DNS names will survive serialization. Restrict the set
of valid dns names to LDH encoded names.

Fixes: 25c33e3500 (network: parse RFC9463 DHCPv4 DNR option, 2024-01-16)
Fixes: a07e83cc58 (network: Parse RFC9463 DHCPv6 DNR option, 2024-01-17)
Fixes: 0c90d1d2f2 (ndisc: Parse RFC9463 encrypted DNS (DNR) option, 2024-01-19)
2024-10-29 14:18:37 -07:00
Lennart Poettering
91d640435d pretty-print: add format-string version of draw_progress_bar()
We often format the prefix string via asprintf() before, let's hence add
a helper for that.
2024-10-29 21:37:26 +01:00
Lennart Poettering
21abc0a943 pretty-print: rename draw_progress_bar_impl()→draw_progress_bar_unbuffered() 2024-10-29 21:37:26 +01:00
Lennart Poettering
6e492ae98a busctl: minor tweak to help text for --limit-messages= 2024-10-29 21:34:47 +01:00
Daan De Meyer
3dd0389ba0 import: Draw progress bars
Currently every progress update results in a new progress message
which is extremely verbose. Instead, let's use the progress bar infra
to draw a proper progress bar similar to what we do in systemd-repart
now.
2024-10-29 21:11:26 +01:00
Lennart Poettering
1322af50e5 progress-bar: issue Windows Terminal progress indicating ANSI sequences (#34929)
This generates the Windows Terminal OSC sequences indicating progress.
This let's the terminal know that we are doing a slow operation, and how
we are progressing.

Windows Terminal uses this in two ways: it shows a circle in the tab
that completes, and it highlights the progress in the task bar.

I found no Linux terminal that currently supports it, but also none that
didn't like it. Thankfully most terminals correctly ignore unrecognized
OSC sequences.

I think we should just merge this, and see if this trips up too many
people, but I have reason to believe this shouldn't be too bad.

And yes, I do work from Windows Terminal sometimes, ssh into my Linux
build systems, and it is really cute seeing the progress animation
there.
2024-10-29 21:00:15 +01:00
Luca Boccassi
d140d478e2 sysusers: optionally create fully locked accounts (#34876)
Let's ramp up security for system user accounts, at least where
possible, by creating them fully locked (instead of just with an invalid
password). This matters when taking non-password (i.e. SSH) logins into
account.

Fixes: #13522
2024-10-29 18:46:14 +00:00
Luca Boccassi
a91c739a24 busctl: various bugfixes + tweaks (#34928)
Fixes: #34048
Replaces: #34796
Follow-up for: #33961
2024-10-29 18:15:16 +00:00
Yu Watanabe
1003093604 network/netdev: skip processing netdev if it is already detached
No functional change, as currently networkd detaches NetDev objects only
on stop (or invalid .netdev file is loaded).
Preparation for later commits.
2024-10-30 03:07:32 +09:00
Yu Watanabe
3252a1f274 network/netdev: split out netdev_attach_name_full()
No functional change, preparation for later commits.
2024-10-30 03:07:32 +09:00
Mike Yuan
c3ecb747f1 TEST-80-NOTIFYACCESS: don't specify --pid= if MAINPID= is provided explicitly
Otherwise, with recent additions, the MAINPIDFDID= generated by
systemd-notify would mismatch with overridden MAINPID=.
2024-10-29 18:42:16 +01:00
Mike Yuan
e2037d07c0 notify: send MAINPIDFDID= for --pid= too if available 2024-10-29 18:42:15 +01:00
Mike Yuan
695323d90a core/service: support sd_notify() MAINPIDFD=1 and MAINPIDFDID=
These serve as race-free alternatives for MAINPID= notification.
2024-10-29 18:42:15 +01:00
Mike Yuan
68d9aa7ede shared/fdset: minor modernization 2024-10-29 18:38:42 +01:00
Lennart Poettering
89858a0513 mkosi: update fedora commit reference
* e42eed4afd test_sysusers_defined: support new ! line flag for creating fully locked accounts
* 2c6a4e2f90 Version 256.7
* bedc0270e7 Move yum/dnf protection removal config file under /usr
* 5a82129a41 Reword some descriptions
* ce99022f7b Version 256.6
2024-10-29 17:22:23 +01:00
Zbigniew Jędrzejewski-Szmek
99996d5f5e Merge pull request #34245 from bluca/logind_drop_weak_delay_inhibitor
logind: drop new delay-weak inhibitor
2024-10-29 17:13:11 +01:00
Lennart Poettering
960b342dbf busctl: add the usual section highlighting to our --help texts 2024-10-29 16:50:13 +01:00
Lennart Poettering
c00c6d1959 busctl: add a testcase that definitely causes the timeout to trigger 2024-10-29 16:50:11 +01:00
Lennart Poettering
0be245a637 busctl: if --timeout= or --limit-messages= are specified with no argument, reset to defaults.
Follow-up for: 989e843e75
See: #34048
2024-10-29 16:50:08 +01:00
Lennart Poettering
8187515aab busctl: rename --num-matches= → --limit-messages=
We should avoid unnecessary abbreviations for such messages, and this
puts a maximum limit on things, hence it should indicate this in the
name.

Moreover, matches is a bit confusing, since most people will probably
call "busctl monitor" without any match specification, i.e. zero
matches, but that's not what was meant here at all.

Also, add a brief switch for this (-N) since I figure in particular
"-N1" might be a frequent operation people might want to use.

Follow-up for: 989e843e75
See: #34048
2024-10-29 16:50:06 +01:00
Lennart Poettering
312dad32c1 busctl: fix timeout calculation for "busctl monitor"
The --timeout= logic was implemented incorrectly, as it would not put a
a limit on the runtime of the operation, but only on the IO sleep.
However, spurious wakeups are possible, hence the timer would be reset
too often.

Fix that, by determining the absolute timestamp early, and checking
against that.

Follow-up for: 989e843e75
See: #34048
2024-10-29 16:49:55 +01:00
Mike Yuan
aa61fe48e5 NEWS: be less misleading since systemd-run does not support ExtraFileDescriptors= yet 2024-10-29 16:35:35 +01:00
Lennart Poettering
99bd933fa2 meson.build: do not mark test-progress-bar as manual
It will finish on its own always and cleanly, and running it always
should increase test coverage.
2024-10-29 15:55:12 +01:00
Lennart Poettering
07b869b9c1 progress-bar: issue Windows Terminal progress indicating ANSI sequences
This generates the Windows Terminal OSC sequences indicating progress.
This let's the terminal know that we are doing a slow operation, and how
we are progressing.

Windows Terminal uses this in two ways: it shows a circle in the tab
that completes, and it highlights the progress in the task bar.

I found no Linux terminal that currently supports it, but also none that
didn't like it. Thankfully most terminals correctly ignore unrecognized
OSC sequences.

I think we should just merge this, and see if this trips up too many
people, but I have reason to believe this shouldn't be too bad.

And yes, I do work from Windows Terminal sometimes, ssh into my Linux
build systems, and it is really cute seeing the progress animation
there.
2024-10-29 15:54:08 +01:00
Lennart Poettering
ebc64de22f udevadm: automatically anable JSON-SEQ in case JSON is used for "udevadm info -a"
We are going to output a series of JSON objects, hence let's
automatically enable JSON-SEQ output mode, as we usually do.

"jq --seq" supports this natively, hence this should not really restrict
us.

Follow-up for: 67ea8a4c0e
2024-10-29 22:39:59 +09:00
Daan De Meyer
7aea1c9e80 mkosi: Move copying packages to the output directory to the postinst script
Now that we have the mkosi.clangd script to run clangd from the mkosi
build script, it becomes clear that doing cleanup with mkosi.clean has
a big gap in that we always run the mkosi.clean script and thus we also
run it when we run the mkosi.clangd script, causing the previously built
packages to be removed when we run clangd without producing new ones.

In mkosi we're improving the situation by only running clean scripts when we
clean up the output directory and disallowing writing to the output directory
from build scripts.

Let's adapt systemd to these changes by moving the copying of packages to the
output directory to the postinst script.
2024-10-29 11:28:47 +01:00
Lennart Poettering
5ada96c842 test: test new 'u' sysusers.d lines 2024-10-29 11:00:13 +01:00
Lennart Poettering
a4c0528f14 sysusers.d: lock all system users defined by us 2024-10-29 11:00:13 +01:00
Lennart Poettering
2ec7977e1b sysusers: add new ! line flag for creating fully locked accounts
Fixes: #13522
2024-10-29 11:00:13 +01:00
Lennart Poettering
815569791f Merge pull request #34391 from poettering/dns-long-label-fix
resolved: fixes when trying to serialize overly long DNS names
2024-10-29 10:47:14 +01:00
Ronan Pigott
f54f473b36 network: add missing else in dhcp_lease_load
Fixes: 3fd6708cde (network: Serialize DNR servers)
2024-10-28 20:59:17 -07:00
Yu Watanabe
f27ae592f7 update-utmp: wait slightly longer for the private bus socket being active
Before a339495b1d, update-utmp typically
connects the public DBus socket when disconnected from the private DBus
socket, as dbus service should be active even during PID1 is being reexecuted.

However, after a339495b1d, update-utmp
tries to connect only the private DBus socket, but reexecution of PID1
may be slow, hence all trials may fail when the reexecution is slow.

With this change, now it waits for 100ms to 2000ms, so in total it waits
about 37 seconds in average, previously about 4 seconds.
2024-10-29 08:43:21 +09:00
Lennart Poettering
b7f84f76fc man: fix return parameter type of sd_device_get_device_id() 2024-10-29 00:19:16 +01:00
David Michael
3eec82f6b3 socket: support setting ownership of message queues
This applies the existing SocketUser=/SocketGroup= options to units
defining a POSIX message queue, bringing them in line with UNIX
sockets and FIFOs.  They are set on the file descriptor rather than
a file system path because the /dev/mqueue path interface is an
optional mount unit.
2024-10-28 23:40:42 +01:00
Lennart Poettering
2b7a56d286 update NEWS for v257 2024-10-28 23:38:24 +01:00