Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

v253 batch up to dfb007ffe0a9aa3a1d0f7930131b129fbaa2b3d9 #449

Merged
merged 29 commits into from
Oct 10, 2024

Conversation

bluca
Copy link
Member

@bluca bluca commented Oct 9, 2024

No description provided.

bluca and others added 17 commits October 9, 2024 23:12
…tover unit

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.

(cherry picked from commit 1e2d1a7202400e08a00782f32804fdc503259806)
(cherry picked from commit 2552348da2c961ac9732614eb129228bba4d51da)
(cherry picked from commit 5ce348a)
(cherry picked from commit 7bdcb23)
Closes #34478.

Co-authored-by: Mike Yuan <[email protected]>
(cherry picked from commit 144fbbac235b6b89d5d31795be1cc0dca9852ccc)
(cherry picked from commit 4bbd6f589ad97a0df6ab59e03c8c535d298d05eb)
(cherry picked from commit 04a5426)
(cherry picked from commit c70e657)
(cherry picked from commit c07e10628b6add9ee9664956a28d3f727c9848f8)
(cherry picked from commit 308c93c51f85f1b6a5e6a3def951fa8e5643048d)
(cherry picked from commit 299c64d)
(cherry picked from commit 0dd6949)
…tate

When a network is busy, an ARP may be received before the timer event
source triggered first time.

Fixes #34489.

(cherry picked from commit 146b44d0a0001712ced2f22ca76d242eedac26ad)
(cherry picked from commit 06eb9b14829f3a5819f6daefb09fdb855cd868f4)
(cherry picked from commit b054898)
(cherry picked from commit 8ed0c0b)
(cherry picked from commit 0121b84e41cd187e44c275a23db1a656656ec37f)
(cherry picked from commit efd5e357d7ed6b7def0d12631835efd6a5bf5f5a)
(cherry picked from commit cef973c)
(cherry picked from commit 8453f77)
Different device paths may resolve to same device node
(lookup_block_device()), e.g.
        IOReadBandwidthMax=/dev/sda1 18879
        IOReadBandwidthMax=/dev/sda2 18878
where both partitions resolve to /dev/sda and when these values are
applied (they are associated with original paths, i.e. as if applied for
different device) in the order from io_device_limits.

The parsing code prepends, so they end up in reverse order wrt config
file. Switch the direction so that the order of application matches the
order of configuration -- i.e. semantics in all other unit file
directives.

Apply same change to all directives that use per-device lists. (The
question whether partitions should be resolved to base device is
independent.)

And apply the changes equally to DBus properties write handlers.

Fixes #34126

(cherry picked from commit 0fa0dfa04465651a18107d503f9967f84bd761d1)
(cherry picked from commit 00dfa7964b5e48a37596207ad8b2862b157cffaf)
(cherry picked from commit f45acd0)
(cherry picked from commit 8846e21)
Verity= is an image build concept, not a first boot concept, whereas
a partition designator is always available, so let's do the size stuff
based on that.

(cherry picked from commit e11745d000d7e9b3112bb336735c1bdfa77e9add)
(cherry picked from commit 4143bc70ed7d131cda9f0aa2f86d4aedd38e0fce)
(cherry picked from commit d371cb4)
(cherry picked from commit d29a4b9)
The type is a(ss), so a custom printer is required.

Fixes systemd/systemd#33967.

(cherry picked from commit 69c751c61cb2b386afe51f03b58f8f7ceeeb643e)
(cherry picked from commit 28ced52894cf6921d1fe9831f2def29de164e189)
(cherry picked from commit 64d833d)
(cherry picked from commit a28e7e9)
fix pointer constness in documentation

(cherry picked from commit fec09ff094670a6903b12b1c599b00b39a2b0c88)
(cherry picked from commit 072ea04e26c84ac25419316c659f4d89d8002f34)
(cherry picked from commit a422935)
(cherry picked from commit add0dca)
Let's systematically use RTL_NOW|RLTD_NODELETE as flags passed to
dlopen(), across our codebase.

Various distros build with "-z now" anyway, hence it's weird to specify
RTLD_LAZY trying to override that (which it doesn't). Hence, let's
follow suit, and just do what everybody else does.

Also set RTLD_NODELETE, which is apparently what distros will probably
end up implying sooner or later anyway. Given that for pretty much all
our dlopen() calls we never call dlclose() anyway, let's just set this
everywhere too, to make things systematic.

This way, the flags we use by default match what distros such as fedora
do, there are no surprises, and read-only relocations can be a thing.

Fixes: #34537
(cherry picked from commit bd4beaa2ebfbbec0a1263a7091a91e528ce8cf13)
(cherry picked from commit e012eedd727a38bd18c9a540b92b95aa880d2b42)
(cherry picked from commit 82019cc)
(cherry picked from commit 4d4e8b3)
The latest clang has started catching more integer promotions which
cause us to pass the wrong type to printf() format specifiers so let's
fix those.

(cherry picked from commit c73d14c43e7998ca54011875ad25afc634d57498)
(cherry picked from commit e129e3a8618b1b56f70978cb1db1d66a0fdcd573)
(cherry picked from commit 44e3f1c)
(cherry picked from commit 7b9f8e9)
We had several users, that wrote their unit files with
WantedBy=default.target because it should be started "every time".
But for example in Fedora/CentOS/RHEL, this often breaks for
example selinux relabels (where we just want to do a relabel and reboot).

(cherry picked from commit 67b6404b80cf8078f3d9ec6d4c2f34ac25b15077)
(cherry picked from commit adc57cd81c02e5afc8efcbc64eb3a6305a97c62c)
(cherry picked from commit 02447d2)
(cherry picked from commit 3f7bf5a)
Avoids the need to maintain the same list over and over again, and
link it to the defition table in the implementation as a reminder
too

(cherry picked from commit 3509fe124d3a4fe2934028f83ae156ade050c8fe)
(cherry picked from commit 1075727f7fe9436d2e468147cf663aaa1be867fd)
(cherry picked from commit 42521e2)
(cherry picked from commit e644a61)
(cherry picked from commit 56f32d9e782f8ba43f17cb04687c915a7e41d10e)
(cherry picked from commit 5b5f5666b2fd32950325387a3e0bc0b60f0b1808)
(cherry picked from commit 7cc52eb)
(cherry picked from commit c3bcc2f)
Reported in #34126

(cherry picked from commit 321637743313f896e275fd038996b8cfb5a070b3)
(cherry picked from commit 84cd501ae4d2689ac39e510d1d33b7e3234f5199)
(cherry picked from commit 5184f86)
(cherry picked from commit 43202f5)
boot loader specification states:

architecture: refers to the architecture this entry is for. The argument
should be an architecture identifier, using the architecture vocabulary
defined by the EFI specification (i.e. IA32, x64, IA64, ARM, AA64, …).
If specified and it does not match the local system architecture this
entry should be hidden. The comparison should be done case-insensitively.

Example: architecture aa64

https://uapi-group.org/specifications/specs/boot_loader_specification/#type-1-boot-loader-entry-keys
(cherry picked from commit f819a516dbbddb16724f33dcef5badcb6fe8b80b)
(cherry picked from commit d65b7426e93e50c470173614c2eaca094f318ab5)
(cherry picked from commit 129c30b)
(cherry picked from commit a4577e3)
The disk/by-diskseq symlink should not be shared with multiple block
devices. Hence, it is not necessary to create stack directory for the
symlink that manages which device owns the symlink.

This is not just a optimization.
If a service unit tries to mount a disk image but the service fails, then
the diskseq of the loop device for the image may be continuously increased
during restart, and inodes in /run may increase rapidly, as the stack
directories are cleaned up only when udev queue is empty.

Fixes #34637.

(cherry picked from commit 09373c1a50297079e6b0447ea97af4e9a60f77fa)
(cherry picked from commit 02a5e5a32338869cc0ac352da81cf6d83da5c9e9)
(cherry picked from commit 54bc0da)
(cherry picked from commit 67216d2)
yuwata and others added 12 commits October 10, 2024 00:32
(cherry picked from commit 88d186e4829bc7ef4a4253fe2bf4857903bca830)
(cherry picked from commit 7b9e412d8aba8f415f35d02da5e5fa5bd92632cc)
(cherry picked from commit d0569c4)
(cherry picked from commit 42f7d15)
... because that is obviously a security risk.

(cherry picked from commit da32cac8a014ddf048fc7bad84dafdbc204d4dc8)
(cherry picked from commit 7ac58949a37db3ddb662908d3aadaf5934fec222)
(cherry picked from commit 3b0731b)
(cherry picked from commit 7c72562)
laccess is our own macro that uses RET_NERRNO.

(cherry picked from commit 7c1dd9e288047a69d4a6a6dd6585725410cfdadd)
(cherry picked from commit 4296a567d48ee43917b4f338fa1e927ffd53b36b)
(cherry picked from commit 9cf6035)
(cherry picked from commit 8770e09)
- avoid stripping debug symbols and creating dbgsym packages
- avoid LTO, slows down build a lot
- avoid compressing packages, they are thrown out immediately after use
- avoid building udeb packages, not needed

(cherry picked from commit 7eedcb4)
(cherry picked from commit 81930bc)
(cherry picked from commit b070eb9)
Instead of fixing the commit, we can workaround the adduser issue by
simply creating a user manually beforehand, which means the broken
codepath in autopkgtest is not taken. We can remove it once it's
fixed upstream, which is in progress:

https://salsa.debian.org/ci-team/autopkgtest/-/merge_requests/297
(cherry picked from commit 8b7485c)
(cherry picked from commit 4f4cd7c)
(cherry picked from commit 9b47039)
Offending commit has been reverted, so it's no longer necessary:

https://salsa.debian.org/ci-team/autopkgtest/-/commit/90167696914889efa782aac3f1f44ab68498c529

Follow-up for 8b7485c

(cherry picked from commit 2bbe5ca)
(cherry picked from commit 030f72f)
(cherry picked from commit 55ee831)
Builds have been failing as we run out of space in /tmp/, move to
/var/tmp

(cherry picked from commit 0c7b5dad33ee01b7ff6b7a8c583a7e2c27ac0673)
(cherry picked from commit bc0102b0caacb97041ada0b0dbca40da09eab453)
(cherry picked from commit 82baa27)
(cherry picked from commit f19a717)
This slows down the build, which is often near the 1hr limit. There are
other jobs running the extra unit tests.

(cherry picked from commit 3bc5480bac474263881e4c5919d5cce0debf3c40)
(cherry picked from commit 52afaa8034f59dda44ec181e79604a9a222e60ad)
(cherry picked from commit 3891c50)
(cherry picked from commit 0c82cc2)
There are other CI runs that build manpages, speed up build which is close to 1hr limit

(cherry picked from commit d58a904d35d3abcb7265b28b14aac596631e27d6)
(cherry picked from commit 966d8a90ca44659123c15e3a7e7d498aa2b50510)
(cherry picked from commit 0c6e525)
(cherry picked from commit ece14d9)
This feature has been deprecated since QEMU 5.0 and finally removed in
QEMU 9.1 [0] which now causes issues when running the storage tests on
latest Arch:

------ testcase_long_sysfs_path: BEGIN ------
...
qemu-system-x86_64: -device virtio-blk-pci,drive=drive0,scsi=off,bus=pci_bridge25: Property 'virtio-blk-pci.scsi' not found
E: qemu failed with exit code 1

[0] qemu/qemu@a271b8d

(cherry picked from commit cd57920fbf6a8f7769a82cfc9bebc12965de0199)
(cherry picked from commit c5baa5d9d9d778aee25b751387c60f43a0a6fb74)
(cherry picked from commit 192a6e9)
(cherry picked from commit 1d24510)
On jammy it started to fail, it's not really needed and we install
an empty stub anyway, so just mask the generator

(cherry picked from commit 565916c)
(cherry picked from commit dfb007f)
This has been reported to cause a regression.
Fixes systemd#447

This reverts commit 75aefdd.
@bluca bluca merged commit 400261f into systemd:v253-stable Oct 10, 2024
36 of 41 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

Successfully merging this pull request may close these issues.