Commit Graph
75137 Commits
Author SHA1 Message Date
Luca Boccassi d47cd4d347 Merge pull request #33791 from YHNdnzj/sd-notify-pidref
core: pin notify sender through pidfd (potentially SCM_PIDFD) plus various cleanups
2024-07-23 10:36:57 +01:00
Daan De Meyer 076c69360f Merge pull request #33814 from AnoukCeyssens/daemon
test: use new assertion macros more
2024-07-23 07:23:55 +02:00
Anouk Ceyssens 32ef5f305f fix compilation errors 2024-07-22 23:57:00 +02:00
Anouk Ceyssens 364a0ba2d4 test-clock: use new assertion macros 2024-07-22 23:41:00 +02:00
Anouk Ceyssens a923ca6945 test-dev-setup: use new assertion macros 2024-07-22 23:40:21 +02:00
Anouk Ceyssens 5bc7ab7086 test-date: use new assertion macros 2024-07-22 23:33:40 +02:00
Anouk Ceyssens e07d3a917a test-daemon: use new assertion macros 2024-07-22 23:27:52 +02:00
Zbigniew Jędrzejewski-Szmek d202ea5754 man/systemd-repart: extend description and reword some sentences
The page was written when systemd-repart was primarily intended to be used on a
running system. But nowadays it's more often used to create images, so extend
that part of the description.

While at it, fix some whitespace issues and trim some overly complicated sentences.
2024-07-22 12:14:23 +01:00
Luca Boccassi 9547b25ce8 Merge pull request #33597 from keszybz/fetch-distro
Extend the distro fetching script to check the repository out
2024-07-22 11:46:43 +01:00
Steve Traylen 8af38e5b04 Document that MemorySwapMax supports % configuration
Certainly on systemd 252 at least a configuration of
```
MemorySwapMax=40%
```
is supported but this was missing from the man page.
Only MemoryMax was documented as supporting a %.
2024-07-22 11:39:33 +01:00
Franck Bui 8c28dd2442 core: when switching root remove /run/systemd before executing the binary specified by init=
It's important if the binary specified by the init= boot option is not systemd
otherwise it confuses systemctl that incorrectly assumes that systemd is still
the init system due to the presence of /run/systemd/system.

Also some tools might also check the presence of /run/systemd/private to test
if systemd is running as pid1.
2024-07-22 11:29:08 +01:00
Daan De Meyer 944faf6598 Make vcs-tag do something useful for non-developer mode as well
When building packages of arbitrary commits of systemd-stable,
distributors might want to include a git sha of the exact commit
they're on. Let's extend vcs-tag a little to make this possible.

If we're on a commit matching a tag, don't generate a git sha at all.
If we're not on a commit matching a tag, generate a vcs tag as usually.
However, if we're not in developer mode, don't append a '^' if the tree
is dirty to accomodate package builds applying various patches to the
tree which shouldn't be considered as "dirty" edits.
2024-07-22 12:04:40 +02:00
Zbigniew Jędrzejewski-Szmek 1c85d56349 tools/fetch-distro: switch to the target branch
We switch opensuse from "factory" to "devel". I had an old checkout that was
using the stale branch.
2024-07-22 11:38:08 +02:00
Zbigniew Jędrzejewski-Szmek 8e84e15445 tools/fetch-distro: only fetch the configured branch
We don't need the other branches. This mostly cuts down on the
noise in output. But add '-v' to show what we're fetching.
2024-07-22 11:38:08 +02:00
Zbigniew Jędrzejewski-Szmek 82c459f910 tools/update-distro-hash: rename, fetch the repository if appropriate
Let's rename the tool to tools/fetch-distro. It's useful to be able to fetch
the distro directly. But when that functionality is added, the old name is
confusing.

Now --update/-u must be specified to update the commits.

--reference-if-able is used to speed up the clone of debian.
It saves about 75% of the download.
2024-07-22 11:38:08 +02:00
Collin L 733518b413 zsh/_networkctl: remove duplicated argument for completion (#31926)
It is unnecessary, which will mess the completion.
2024-07-22 10:36:47 +01:00
Daan De Meyer 6d9d14e516 Merge pull request #33802 from DaanDeMeyer/packages
mkosi: Various packaging improvements
2024-07-22 11:23:22 +02:00
Mauri de Souza Meneguzzo a408d44531 shared: log error when execve fail
If there is an error with the execv call in fork_agent the
program exits without any meaningful log message. Log the
command and errno so the user gets more information about
the failure.

Fixes: #33418

Signed-off-by: Mauri de Souza Meneguzzo <mauri870@gmail.com>
2024-07-22 10:12:35 +01:00
Luca Boccassi e261f27ef0 Merge pull request #33432 from gregorHerburger/add_IFLA_BR_FDB_MAX_LEARNED_support
network: bridge: add support for  IFLA_BR_FDB_MAX_LEARNED
2024-07-22 10:06:16 +01:00
Daan De Meyer 4ecd6c3552 mkosi: update arch commit reference
* 1d577a6268 refresh the keys
* 12383ba712 make libarchive a regular optional dependency...
* f51d5e04bf ignore rc releases in nvchecker
* 0b096a2baa add nvchecker
* 5f0ced863c upgpkg: 256.2-1: new upstream release
2024-07-22 10:28:57 +02:00
Daan De Meyer 1d8f16df90 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
2024-07-22 10:28:50 +02:00
Gregor Herburger 1aa74ad048 test: systemd-networkd-tests: add fdb learned tests
Add a test for the new bridge netlink attributes IFLA_BR_FDB_N_LEARNED and
IFLA_BR_FDB_MAX_LEARNED.

Signed-off-by: Gregor Herburger <gregor.herburger@ew.tq-group.com>
2024-07-22 10:27:56 +02:00
Gregor Herburger 5a3e759bd0 networkctl: add support to display learned fdb entries
Since Linux commit ddd1ad68826d ("net: bridge: Add netlink knobs for number
/ max learned FDB entries") [1] it is possible to limit to number of
dynamically learned fdb entries per bridge.

Add support to the systemd networkctl for the netlink bridge attributes
IFLA_BR_FDB_MAX_LEARNED and IFLA_BR_FDB_N_LEARNED.

[1] https://lore.kernel.org/all/20231016-fdb_limit-v5-0-32cddff87758@avm.de/

Signed-off-by: Gregor Herburger <gregor.herburger@ew.tq-group.com>
2024-07-22 10:27:56 +02:00
Gregor Herburger f379f36b11 network: bridge: add support for IFLA_BR_FDB_MAX_LEARNED
Since Linux commit ddd1ad68826d ("net: bridge: Add netlink knobs for number
/ max learned FDB entries") [1] it is possible to limit to number of
dynamically learned fdb entries per bridge.

Add support to the systemd netdev bridge for the new netlink attribute
IFLA_BR_FDB_MAX_LEARNED.

[1] https://lore.kernel.org/all/20231016-fdb_limit-v5-0-32cddff87758@avm.de/

Signed-off-by: Gregor Herburger <gregor.herburger@ew.tq-group.com>
2024-07-22 10:27:56 +02:00
Daan De Meyer ebbae3d632 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.
2024-07-22 10:25:46 +02:00
Daan De Meyer 762b23e86a 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.
2024-07-22 10:22:48 +02:00
Mike Yuan 19eccb7667 core: pin notify sender through pidfd (potentially SCM_PIDFD) 2024-07-22 09:38:48 +02:00
Mike Yuan 31d76a1702 missing_socket: add SCM_PASSPIDFD and SCM_PIDFD
Preparation for later commits.
2024-07-21 22:50:58 +02:00
Mike Yuan d3d0e36156 core/service: use switch in service_notify_message_authorized() 2024-07-21 22:48:54 +02:00
Mike Yuan 7d6e1293b2 core/manager: minor refactor for manager_dispatch_notify_fd() 2024-07-21 22:48:54 +02:00
Mike Yuan 678f271cff core/manager: modernize manager_setup_notify() a bit 2024-07-21 22:48:53 +02:00
Mike Yuan 8dc303d3c8 process-util: modernize pidfd_get_pid() 2024-07-21 22:48:53 +02:00
Mike Yuan 77f709ca84 pidref: move comments that doesn't belong in pidref_copy() to pidref_dup()
Follow-up for 232e66217d
2024-07-21 22:48:53 +02:00
Mike Yuan 93df5cf8d9 core/dbus: use Manager.prefix where appropriate 2024-07-21 22:48:53 +02:00
Mike Yuan 71f2ba82cf core/dbus: make two functions return void 2024-07-21 22:48:52 +02:00
Mike Yuan 777f69006b core/device: prefix DEVICE_FOUND_MASK with '_'
In accordance to our usual style for special enum values.
2024-07-21 22:48:52 +02:00
Mike Yuan 32020b4788 core/device: minor refactors 2024-07-21 22:48:14 +02:00
Mike Yuan 52ffb3c95f Merge pull request #32612 from YHNdnzj/creds-test
core/service: imply Type=exec if credentials are used
2024-07-21 22:27:42 +02:00
Mike Yuan 757e469d26 core/service: imply Type=exec if credentials are used
When credentials are used with Type=simple + ExecStartPost=,
i.e. when multiple sd-executor instances are running in parallel
for a single service, the state of final credential dir
might be unexpected wrt path_is_mount_point() and other
steps. So, let's imply Type=exec if not explicitly specified,
and emit a warning otherwise.
2024-07-21 19:10:58 +01:00
Mike Yuan 60b218e36e test-execute: ExecStop= and friends should not get credentials
See #32583
2024-07-21 19:10:58 +01:00
Kamil Szczęk 88cf0906aa cryptsetup: handle parallel activation of volumes with another tool gracefully
This commit makes systemd-cryptsetup exit with a successful status when
the volume gets unlocked outside of the current systemd-cryptsetup
process while it was executing. This can be easily reproduced by calling
systemd-cryptsetup, and while it waits for user to input a password/PIN,
unlock the volume in a second terminal. Then after entering the password
systemd-cryptsetup will exit with a non-zero status code.
2024-07-21 19:02:59 +01:00
Luca Boccassi eab98338f8 Merge pull request #33443 from YHNdnzj/oneshot-destroy-cred
core/service: destroy runtime data when Type=oneshot services exit
2024-07-21 18:44:25 +01:00
Etienne Champetier 0a4ecc54cb udev-builtin-net_id: use firmware_node/sun for ID_NET_NAME_SLOT
pci_get_hotplug_slot() has the following limitations:
- if slots are not hotpluggable, they are not in /sys/bus/pci/slots.
- the address at /sys/bus/pci/slots/X/addr doesn't contains the function part,
  so on some system, 2 different slots with different _SUN end up with the same
  hotplug_slot, leading to naming conflicts.
- it tries all parent devices until it finds a slot number, which is incorrect,
  and what led to NAMING_BRIDGE_MULTIFUNCTION_SLOT being disabled.

The use of PCI hotplug to find the slot (ACPI _SUN) was introduced in
https://github.com/systemd/systemd/commit/0035597a30d120f70df2dd7da3d6128fb8ba6051
"udev: net_id - export PCI hotplug slot names" on 2012/11/26.
At the same time on the kernel side we got
https://github.com/torvalds/linux/commit/bb74ac23b10820d8722c3e1f4add9ef59e703f63
"ACPI: create _SUN sysfs file" on 2012/11/16.

Using PCI hotplug was the only way at the time, but now 12 years later we can use
firmware_node/sun sysfs file.
Looking at a small selection of server HW, for HPE (Gen10 DL325), the _SUN is attached
to the NIC device, whereas for Dell (R640/R6515/R6615) and Cisco (UCSC-C220-M5SX),
the _SUN is on the first parent pcieport.

We still fallback to pci_get_hotplug_slot() to handle the s390 case and
maybe some other coner cases (_SUN on grand parent device that is not a
bridge ?).
2024-07-21 18:36:37 +01:00
Luca Boccassi 7b5c38a91d test: override blocking localed policy in TEST-73-LOCALE
On Debian and derivatives writing calls to localed are blocked as other
tools are used to change settings, override that policy for the tests
2024-07-21 16:30:57 +01:00
Vasiliy Kovalev 23f5f82756 hwdb: fix MXC6655 accelerometer mount matrix for Aquarius Cmp NS483
Signed-off-by: Vasiliy Kovalev <kovalev@altlinux.org>
2024-07-21 16:29:11 +01:00
Alain Greppin a2ae7ed7d0 systemd.dnssd does not handle local requests (#32991)
systemd.dnssd does not handle local requests

Fixes https://github.com/systemd/systemd/issues/32990
2024-07-21 12:48:56 +01:00
Mike Yuan c26948c6da core/service: destroy runtime data when Type=oneshot services exit
Currently, we have a bunch of Type=oneshot + RemainAfterExit=yes
services that make use of credentials. When those exits, the cred mounts
remain established, which is pointless and quite annoying. Let's
instead destroy the runtime data on SERVICE_EXITED, if no process
will be spawned for the unit again.
2024-07-21 12:43:51 +01:00
Mike Yuan 8b17371b61 core/unit: add one assertion for u->manager 2024-07-21 12:43:51 +01:00
Luca Boccassi 9d962e370c Merge pull request #33790 from YHNdnzj/run-exec-flags
run: clean up ExecCommandFlags serialization
2024-07-21 11:44:20 +01:00
ShreyasMahangade db708fc9ba timedatectl: setting set_local_rtc to 1 will throw Warning as well, use log_warning() (#33489)
Previously only running `timedatectl` it was showing warning regarding the dangers of setting RTC to local TZ.
Now similar warning is also flashed when `set-local-rtc 1`.
2024-07-20 19:07:30 +02:00