-
-
Notifications
You must be signed in to change notification settings - Fork 3.7k
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
Logind shutdown refactor #21838
Logind shutdown refactor #21838
Conversation
6067b66
to
ae2eb6b
Compare
ae2eb6b
to
2e876fc
Compare
Added test case. It uses wraps nspawn and uses pexpect to log in on the console. Then spawn screen to have two ptys where the script can check the wall message. |
40194b8
to
7c972f9
Compare
Ic. So I shall remove the commit here and potentially have separate discussion about it I guess |
7c972f9
to
8a05ecc
Compare
I installed the necessary dependencies for TEST-69 in CentOS CI, but the test still keeps failing on CentOS Stream 8. Also, the deps need to be installed in Ubuntu CI as well (/cc @bluca) - |
added and re-triggered the focal-amd64 run |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for working on this. Looks like a refactoring was overdue.
8a05ecc
to
4a9f0d4
Compare
updated based on previous comments |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nice. Several coding style nits.
An elapse time of zero means NOW which should trigger a wall message.
The code at this point is not able to tell whether it was called as halt/poweroff/reboot or shutdown with time "now". The code also takes a shortcut to skip logind if called as root. That however means asking shutdown for immediate action won't trigger a wall message. As per systemd#8424 (comment) all commands should trigger a wall message. That simplifies the code as we can try logind first always.
Something calling directly into the dbus interface to request a shutdown may not bother turning wall messages on explicitly. This has the convenient side effect that no separate polkit auth is required to turn on wall messages. Was annoying as having a wall message is the default behavior of the commandline tools. Now it's the other way around ie eg systemctl reboot --no-wall requires auth to explicitly turn off the wall message.
The wall mechanism uses the scheduled_shutdown_type to determine what message to send so it needs to be filled in also for the cases that call for shutdown without schedule. It's really a hackish way. The overall code needs refacturing.
4a9f0d4
to
bce6a95
Compare
Thanks. Most comments are addressed. Please do the rest of them. |
Working on it. GH fooled me by hiding he big diff so didn't see all :) |
Avoid hardcoded strings and string compares related to shutdown actions. Instead put everything into a common structure. Reuse existing HandleAction as index since it's already exposed as property for the button handlers.
For shutdowns don't fall back to starting the target directly if talking to logind failed with auth failure. That would just lead to another polkit auth attempt.
Wraps nspawn to be able to use pexpect. The test logs in on the console and runs screen. In one screen window it types in shutdown commands and checks whether a wall message was sent to the other.
bce6a95
to
48f3bc5
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thank you! LGTM.
HandleAction manager_handle_for_item(const ActionTableItem* a) { | ||
if (a && a < action_table + ELEMENTSOF(action_table)) | ||
return a - action_table; | ||
return _HANDLE_ACTION_INVALID; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This looks very hackish to me. I would simply include the enum value in a member of the ActionTableItem
structure. At least I would add assert(a >= action_table && a < action_table + ELEMENTSOF(action_table))
here as calling this function with anything not satisfying these constraints is a misuse of the function.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes, there are tons of improvements that can be applied still and I didn't even get to the thing I actually wanted to do :-) As I wrote elsewhere the rabbit hole is deep. When is a pr considered enough of an improvement to merge it though? If I change this, will someone else chime in and demand yet another change?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
OK. Let's merge this as is. If necessary, let's apply followups.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I would agree with you if this would be existing code. However, this is code you are introducing with this PR, thus I would much prefer if it would not add a questionable code pattern that would need yet another PR to clean up. However, I don't have a say in whether this PR should be accepted as it is or not.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
At least, the function checks NULL, so it satisfies minimum criteria.
We usually introduce functions like the following way.
void function(Object *obj) {
assert(obj);
...;
}
Here, it avoids only case that obj == NULL
. But it can easily triggers segfault or so by e.g.
Object obj;
function((Object*) ((uint8_t*) &obj + 1));
The situation @dnicolodi concerns sounds a kind of such case for me.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Note, I do not say @dnicolodi's suggestion is bad. I think it is not a strong requirement for this PR being merged.
If you'd like, please submit a followup PR.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
will do. Thank you!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks OK in general, just some minor things.
(Sorry for the post-merge review, been on parental leave the past months)
(I understand that some of the points I raised are already fixed in the meantime by later commits, ignor those then) |
Sure, no worries. Congrats, hope you had a good time :) |
systemd (252.17-1~deb12u1) bookworm; urgency=medium . * New upstream version 252.17. Fixes minor security issue in arm64 and riscv64 systemd-boot (EFI) with device tree blobs loading: GHSA-6m6p-rjcq-334c . systemd (252.16-1~deb12u1) bookworm; urgency=medium . * New upstream version 252.16 * Refresh patches for v252.16 . systemd (252.14-1~deb12u1) bookworm; urgency=medium . * New upstream version 252.14 * Refresh patches for 252.14 . systemd (252.12-1~deb12u1) bookworm; urgency=medium . * New upstream version 252.12 * Refresh patches for v252.12 . systemd (252.11-1~deb12u1) bookworm; urgency=medium . * Upload to bookworm. . systemd (252.11-1) unstable; urgency=medium . * New upstream version 252.11 * Refresh patches . systemd (252.6-1) unstable; urgency=medium . * Update timedated autopkgtest. We no longer support /etc/timezone, as /etc/localtime is always available (cherry picked from commit 6ef7bb0ce0f89e732a8b95624af059e52c3712b5) * Stop supporting /etc/timezone and just rely on /etc/localtime * systemd-boot: update on package upgrade, if installed * Override Lintian warning in systemd-coredump * d/watch: restrict to v252.x for bookworm * New upstream version 252.6 * Refresh patches * systemd-boot: enable on install (Closes: #1031118) . systemd (252.5-2) unstable; urgency=medium . * Fix boot-and-services autopkgtest. . systemd (252.5-1) unstable; urgency=medium . [ Nick Rosbrook ] * debian/tests: remove systemd-fsckd autopkgtest. This test never runs in Debian autopkgtest because of missing machine isolation requirements, and it nevers runs in Ubuntu because: SKIP: root file system is being checked by initramfs already Since the test is not providing any good feedback, and generally has not been maintained, let's just remove it. . [ Luca Boccassi ] * New upstream version 252.5 * Drop patches merged in v252.5 * Refresh patches * Set default status format to 'combined': show both unit name and description in logs/boot messages . systemd (252.4-2) unstable; urgency=medium . [ Michael Biebl ] * Refresh patches * Tweak description of systemd and systemd-sysv package. Remove redundancy and de-emphasize sysvinit. * autopkgtest: add psmsic to upstream suite. Needed for the killall binary. See systemd/systemd#24569 * autopkgtest: add xkb-data, locales and locales-all to upstream suite. Use locales-all so all necessary locales can be installed into the test image without having to generate them on-the-fly. See systemd/systemd#23709 * autopkgtest: prefer knot-dnssecutils over knot-dnsutils for upstream suite. The kzonecheck utility required by TEST-75-RESOLVED was split out from knot-dnsutils into knot-dnssecutils so update the test dependencies accordingly. Keep knot-dnsutils as alternative dependency to make backports easier. * Cherry-pick upstream fixes for TEST-74-AUX-UTILS * Cherry-pick upstream fix for TEST-73-LOCALE * Skip firstboot --prompt-keymap check in TEST-74-AUX-UTILS. This test requires compatible keymaps from kbd which are not available in Debian. . [ Luca Boccassi ] * autopkgtest: add netlabel-tools to networkd-test.py suite. The netlabelctl tool is needed to test the NetLabel integration. See systemd/systemd#23888 * autopkgtest: add bsdutils to upstream suite. The logger utility is now used in TEST-04-JOURNAL. See systemd/systemd#23086 * autopkgtest: add knot, knot-dnsutils, bind9-dnsutils, bind9-host to upstream suite. Needed by TEST-75-RESOLVED. See systemd/systemd#23104 * autopkgtest: add jq to upstream suite. Needed by TEST-58-REPART. See systemd/systemd#24572 * autopkgtest: add mtools to upstream suite. Needed by TEST-58-REPART. See systemd/systemd#24944 * autopkgtest: add erofs-utils to upstream suite. Needed by TEST-58-REPART. See systemd/systemd#25686 . systemd (252.4-1) unstable; urgency=medium . * Enable p11kit. Backport patch to dlopen-ify p11kit support and enable it. (Closes: #1023635) * New upstream version 252.4. (Closes: #1026831 and fixes CVE-2022-4415) * Refresh patches * Bump Standards-Version to 4.6.2, no changes . systemd (252.3-2) unstable; urgency=medium . * Skip flaky test_resolved_domain_restricted_dns in networkd-test.py. This test is part of DnsmasqClientTest and does not work reliably under LXC/debci, so skip it for the time being. (Closes: #1025908) . systemd (252.3-1) unstable; urgency=medium . * New upstream version 252.3 * Rebase patches . systemd (252.2-2) unstable; urgency=medium . * Keep policykit-1 as alternative dependency to polkitd for systemd. This will make backports easier. * Update remaining policykit-1 (test) dependencies and prefer polkitd. Keep the policykit-1 dependency as alternative for easier backports. (Closes: #1025591) . systemd (252.2-1) unstable; urgency=medium . [ Helmut Grohne ] * Explicitly B-D on libcrypt-dev (Closes: #1024646) . [ Nick Rosbrook ] * Add handling for /etc/default/locale to firstboot. The TEST-74-AUX- UTILS upstream test revealed that firstboot does not currently handle Debian's /etc/default/locale. . [ Luca Boccassi ] * Build depend on dh-package-notes, sequence was removed. Only the makefile is in use now, no files are generated at build time as --package-metadata from the linkers is used now * New upstream version 252.2 * Refresh patches . systemd (252.1-1) unstable; urgency=medium . * d/watch: switch back to stable repository * New upstream version 252.1 (Closes: #1023607 #1023515) * Drop patches merged upstream * Refresh patches * Suggest polkitd instead of policykit-1 (deprecated) . systemd (252-3) unstable; urgency=medium . * Backport patches to fix tmpfiles error and missing /dev/serial/by- id/usb-* (Closes: #1023311) * Drop :native suffix from python3-pyparsing build dependency (Closes: #1023442) * Enable support for libqrencode. dlopen() feature so no additional cost. Allows printing out recovery keys in QR format. . systemd (252-2) unstable; urgency=medium . [ Jochen Sprickerhof ] * Let dh_installsysusers fix the /var/log/journal permissions. dh_installsysusers adds a systemd-sysusers in #DEBHELPER#. Otherwise it fails with: /usr/lib/tmpfiles.d/systemd.conf:28: Failed to resolve group 'systemd-journal'. Regression of fa0aade329. (Closes: #1023248) * Move restarting units after #DEBHELPER#. This makes sure that systemd- sysusers was executed as well as systemd-tmpfiles to setup proper permissions for /var/log/journal before systemd-journald is being restarted. . systemd (252-1) unstable; urgency=medium . * Use systemd-sysusers to setup systemd users and groups * New upstream version 252 * Drop patches merged upstream * libsystemd0: set symbols version to 252 * Drop unused lintian override . systemd (252~rc3-2) unstable; urgency=medium . * Upload to unstable. . systemd (252~rc3-1) experimental; urgency=medium . * New upstream version 252~rc3 * Refresh patches * Backport patches to fix tests without machine-id. Drop out-of-tree patch and backport upstream fixes. . systemd (252~rc2-1) experimental; urgency=medium . [ Jan Kiszka ] * Enable systemd-boot for riscv64. Tested against U-Boot 2022.10 as UEFI provider on the RZ/Five. Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com> . [ Helmut Grohne ] * Conditionalize installation of cryptsetup plugins in stage1 using dh- exec (Closes: #1021821) . [ Michael Biebl ] * Install sysusers.d and tmpfiles.d man pages in standalone packages (Closes: #1021933) . [ Luca Boccassi ] * d/watch: switch to non-stable repo * New upstream version 252~rc2 * Drop patches merged upstream * Refresh patches * Update symbols file * Update Lintian overrides * autopkgtest: update expected output of localectl . systemd (251.6-1) unstable; urgency=medium . * New upstream version 251.6 * Rebase patches * Use dh_installsystemd to enable machines.target in systemd-container . systemd (251.5-3) unstable; urgency=medium . * Update symbol versions for the v251 release * ata_id: fix getting Response Code from SCSI Sense Data (Closes: #1021579) * logind: do not emit beep in wall messages (Closes: #1019510) * logind: remember our idle state and use it to detect idle level transitions (Closes: #963135) * logind: fix getting property OnExternalPower via D-Bus (Closes: #1021644) . systemd (251.5-2) unstable; urgency=medium . [ Luca Boccassi ] * Build and install libcryptsetup token plugins. The interfaces are now mature and enabled in Debian/Ubuntu in libcryptsetup, so enable and ship the plugins . [ Michael Biebl ] * salsa-ci: drop no longer needed workaround for lintian false positives * udev: fix regression in udev-builtin path_id when processing NVME devices (Closes: #1021547) . [ наб ] * systemd-sysv.postinst: which -> command -v . systemd (251.5-1) unstable; urgency=medium . [ Michael Biebl ] * New upstream version 251.5 * Install NEWS.Debian file into all binary packages. While it increases the disk footprint a little, it ensures that NEWS entries are reliably shown by apt-listchanges. * Handle removal of /var/log/README. Remove /var/log/README symlink when the systemd package is purged. This symlink is created via tmpfiles and documents that /var/log no longer contains the traditional syslog text files. (Closes: #877414) * Rebase patches . [ наб ] * debian/extra/kernel/postinst.d/systemd-boot: prefix with zz- Since we explicitly (though this is hidden by indirection through 85-initrd.install) depend on /boot/initrd.img-$1 existing or not existing, hard-order ourselves at the end. The zz- prefix matches grub. * debian/extra/kernel-install.d/85-initrd.install: install default initrd with versioned basename. This fixes #1020396 in a superior way by using $KERNEL_INSTALL_STAGING_AREA, available since systemd v251. By just copying the file we both simplify our code, but defer to 90-loaderentry to correctly permission it, and simply never generate an unversioned initrd in the first place! (Closes: #1020396) * debian/extra/kernel-install.d/85-initrd.install: explicitly ignore unknown verbs * debian/extra/kernel/postrm.d/systemd-boot: prefix with zz- Doesn't actually matter, but the kernel handbook says we must and we already renamed postinst. (Closes: #1014581) . [ Luca Boccassi ] * Enable firstboot, disabled by default on Debian. Currently the first-boot conditions are not met by any Debian image (/etc/machine-id with content uninitialized, so we can just enable the build and ship it in the main package. This lets image builders (eg: cloud images) tinker with it. https://www.freedesktop.org/software/systemd/man/machine-id.html#First%20Boot%20Semantics (Closes: #844528) . systemd (251.4-3) unstable; urgency=medium . * resolv.conf: take backup as a fallback in case resolved/resolv.conf is not available, and restore on uninstall, which is necessary for piuparts checks. . systemd (251.4-2) unstable; urgency=medium . [ Johannes Schauer Marin Rodrigues ] * use systemd-sysusers instead of adduser. This allows dropping the dependency on adduser (reducing the dependency set) and in turn allows for DPKG_ROOT support of systemd. * debian/systemd.postinst: add --root argument to systemctl and systemd-* calls for DPKG_ROOT support . [ Luca Boccassi ] * resolved: use DPKG_ROOT and make postinst shellcheck-happy * resolved: switch from .links to postinst/rm * Update Lintian overrides for new incompatible syntax . systemd (251.4-1) unstable; urgency=medium . * New upstream version 251.4 * Rebase patches * Rebuild against fixed dh-nss to avoid duplicates in /etc/nsswitch.conf (Closes: #1017096) . systemd (251.3-2) unstable; urgency=medium . [ Luca Boccassi ] * libnss-systemd: also let userdbd manage passwords. As of upstream commit: systemd/systemd@f43a19ecd6e3415e in v249 userdbd can also synthesize shadow/gshadow records, so add the shadow config to nsswitch.conf on installation. (Closes: #1004326) * homed: make PAM rules higher priority than unix users. Make sure homed is tried first when logging in. This is required after adding nss-systemd support for 'shadow' in /etc/nsswitch.conf. See Arch bug: https://bugs.archlinux.org/task/72967 . [ Gioele Barabucci ] * d/control: Use dh_installnss * d/libnss-myhostname.nss: Install NSS service `myhostname` via dh_installnss * d/libnss-mymaschines.nss: Install NSS service `mymaschines` via dh_installnss * d/libnss-resolve.nss: Install NSS service `resolve` via dh_installnss * d/libnss-systemd.nss: Install NSS service `systemd` via dh_installnss . systemd (251.3-2~exp2) experimental; urgency=medium . * Note in systemd.NEWS that resolved has moved to a new package * systemd-resolved: move conffile from systemd. Copied from systemd- timesyncd . systemd (251.3-2~exp1) experimental; urgency=medium . * Split systemd-resolved into its own package which takes over /etc/resolv.conf (Closes: #939904) . systemd (251.3-1) unstable; urgency=medium . * New upstream version 251.3 * Rebase patches . systemd (251.2-8) unstable; urgency=medium . * autopkgtest: install openssl for upstream test. Install openssl explicitly and do not rely on other packages, like swtpm-libs, to pull this dependency for us. Used by TEST-50-DISSECT, which otherwise just silently skips the test. * Add versioned dependency on init-system-helpers to systemd-homed. Ensure that we have a version of deb-systemd-helper which properly handles loops in Also= dependencies. (Closes: #1014115) * Demote shlibs dependencies of libsystemd0 from Pre-Depends to Depends. As systemctl, which is quasi-essential, no longer links against libsystemd0, we do not need those strict requirements anymore. * Work around some more dh_installman issues . systemd (251.2-7) unstable; urgency=medium . [ Luca Boccassi ] * sd-boot: add kernel hooks scripts . [ Andrea Pappacoda ] * sd-boot: add initramfs hook (Closes: #826045) . [ Michael Biebl ] * sd-boot: exit early in initramfs and kernel hook scripts if package is removed but not purged * Do not fail with older binutils. Test if the linker supports --no-warn-execstack and --no-warn-rwx-segments before using those flags. (Closes: #1013967) . systemd (251.2-6) unstable; urgency=medium . [ Helmut Grohne ] * Mark systemd-userdbd and systemd-homed as !stage1 (Closes: #1012738) . [ Luca Boccassi ] * Remove unused Lintian overrides * Stop overriding the build directory name. We don't do a separate udeb build anymore, so there's no need to specify a separate build directory. * Use execute_before_/after_ instead of override_ * Add nodoc profile support. Co-authored-by: Michael Biebl <biebl@debian.org> . [ Michael Biebl ] * Do not fail EFI build with newer binutils (Closes: #1013482) * shared/microhttp-util: silence gcc warning * Clarify NEWS message about systemd-boot split (Closes: #1013340) . systemd (251.2-5) unstable; urgency=medium . * Tweak description of systemd-homed package * Move shlibs dependencies of libsystemd-shared from Pre-Depends to Depends (Closes: #1012637) * Add versioned Breaks against sicherboot for the systemd-boot split (Closes: #1012625) * Drop old Conflicts against hal from udev. The hal package has been gone for several release cycles, so this Conflicts should not be necessary anymore. . systemd (251.2-4) unstable; urgency=medium . * Use try-restart in systemd-binfmt dpkg trigger * Fix bashism in kernel-install * Upload to unstable . systemd (251.2-3) experimental; urgency=medium . [ Luca Boccassi ] * Add systemd-userdbd package. This can be used to synthetize dynamic user/groups, and can be useful by itself. It will also be used by homed. * Add systemd-homed package (Closes: #976960) * Add systemd-boot-efi multiarch package. Allows EFI binaries for different architectures to be co-installed. Useful when the EFI has a different architecture, or to manipulate images. The userspace tooling doesn't need to match the EFI binaries. Also allows one to reduce the number of packages and dependencies needed when i386 is not a full architecture, but a subset for libraries and for EFI support. . [ Michael Biebl ] * Move homectl and userdbctl to /usr/bin * Install libsystemd-shared into rootpkglibdir * Split out libsystemd-shared into its own package. Since libsystem- shared is an internal implementation detail, do not generate a shlibs file for it. This means dh_shlibdeps needs to be told explicitly where it can find libsystemd-shared. Mark this new package as Multi-Arch: same. (Closes: #990547) * Split out systemd-boot into its own package * Add NEWS entry for the systemd-boot package split . systemd (251.2-2) unstable; urgency=medium . * sha256: fix compilation on efi-ia32 . systemd (251.2-1) unstable; urgency=medium . [ Michael Biebl ] * New upstream version 251.2 - logind: do not print wall messages to local pseudoterminals (Closes: #1012155) * Rebase patches * Fix parsing of command line options in fsckd (Closes: #1009032) * Do not require a valid version when parsing sd-boot loader entries (Closes: #993292) * Add dpkg file trigger for systemd-binfmt to update binfmt registrations * Use a single NEWS file shipped in the main systemd package . [ Luca Boccassi ] * autopkgtest: add cryptsetup-initramfs for upstream suite. Needed for systemd/systemd#23517 . systemd (251.1-1) unstable; urgency=medium . [ Luca Boccassi ] * Switch from gnutls to openssl. Upstream is slowly phasing out gnutls. Start switching to openssl. Drops support for '--trust' in the journal-gatewayd and journal-remote programs. * New upstream version 251.1 * Add systemd-journal-remote.NEWS to inform about dropping --trust . [ Michael Biebl ] * Enable pager Hyperlink ANSI sequence support. This requires less ≥ 563. Add a versioned Breaks accordingly. * Drop unnecessary version constraints / dependencies * Update liblz4-dev Build-Depends as per meson.build . systemd (251-2) unstable; urgency=medium . * Salsa CI: suppress lintian false positive on dbgsym. * Upload to unstable. . systemd (251-1) experimental; urgency=medium . * New upstream version 251. For a full list of changes, see: https://github.com/systemd/systemd/releases/tag/v251 * Refresh patches * Revert manual removal of ndisc test case, merged upstream * Bump Standards-Version to 4.6.1, no changes . systemd (251~rc3-2) experimental; urgency=medium . * Backport removal of ndisc test case, breaks build on armhf/armel. . systemd (251~rc3-1) experimental; urgency=medium . * autopkgtest: add allow-stderr to boot-and-services. Sometimes we see some ignored logs, don't fail the test run if that happens * autopkgtest: disable networkd in rebooting tests. It seems that on Semaphore CI, running in Bullseye images, having both Network-Manager and systemd-networkd enabled causes 'systemctl start network- online.target' to get stuck, and fail the run. Disable networkd in those tests. See: systemd/systemd#22991 * autopkgtest: mark networkd-test.py as breaks-testbed. It will modify the network configuration, which will often make the network stop working. Mark it as breaks-testbed so that a new runner is started. * autopkgtest: ignore rng-tools-debian failure in boot-and-services. It seems sometimes it fails, which has happened on jammy-amd64: https://bugs.debian.org/969568 * New upstream version 251~rc3 * Drop sd-device-always-translate-sysname-to-sysfs-filename.patch, merged upstream * Rebase patches * Update lintian-overrides for false positives . systemd (251~rc2-2) experimental; urgency=medium . * sd-device: always translate sysname to sysfs filename . systemd (251~rc2-1) experimental; urgency=medium . * New upstream version 251~rc2 * Rebase patches * Update symbols file for libsystemd0 . systemd (251~rc1-3) experimental; urgency=medium . [ Luca Boccassi ] * autopkgtest: install swtpm and tpm2-tools for upstream suite. Required by systemd/systemd#22563 . [ Michael Biebl ] * Do not ship /usr/lib/tmpfiles.d/systemd-resolve.conf in systemd. It potentially creates a broken symlink if systemd-resolved is not enabled. For now the symlink to stub-resolv.conf needs to be created manually. (Closes: #1007018) * hwdb: fix parsing options (Closes: #1008989) . systemd (251~rc1-2) experimental; urgency=medium . [ Michael Biebl ] * Revert "Ignore libsystemd-core in dh_shlibdeps" This reverts commit c1d5ad5ac989376aa8100dea9ad9d7af0f0408d9. We need the shlibs dependencies of libsystemd-shared and libsystemd-core. * Adjust library search path for dh_shlibdeps. libsystemd-core uses libsystemd-shared but doesn't have RUNPATH or RPATH set. So tell dh_shlibdeps where it can find the library. . [ Luca Boccassi ] * autopkgtest: update unit-config test for new relative symlinking. Required by systemd/systemd#22649 * autopkgtest: install libnss packages for unit-tests suite. Required to enable nss tests: systemd/systemd#21975 * autopkgtest: install libnss packages for upstream suite. Required to enable nss tests: systemd/systemd#21975 * autopkgtest: install python3-pexpect and screen for upstream suite. Required for new test: systemd/systemd#21838 . systemd (251~rc1-1) experimental; urgency=medium . [ Michael Biebl ] * New upstream version 251~rc1 * Rebase patches * Update symbols file for libsystemd0 * Install shell completions for oomctl in systemd-oomd . [ Luca Boccassi ] * Ignore libsystemd-core in dh_makeshlibs * Ignore libsystemd-core in dh_shlibdeps * Add libsystemd-core to shlibs.local.in . systemd (250.4-1) unstable; urgency=medium . [ Dimitri John Ledkov ] * udev-udeb: ship modprobe.d snippet to force scsi_mod.scan=sync in d-i. . [ Luca Boccassi ] * Build with dh_package_notes * New upstream version 250.4 * Drop patches merged upstream * Remove unneeded ${shlibs:Depends} * autopkgtest: add libdw-dev to unit-tests job. * Rebase patches on top of v250.4 . systemd (250.3-2) unstable; urgency=medium . [ Yu Watanabe ] * upstream-ci: logind test: use drop-in config * upstream-ci: logind test: also show logs of systemd-suspend.service * upstream-ci: logind test: make sure the fake lid switch processed by udevd. Also, wait for other uevents, which possibly triggered by the lid switch, being processed. * upstream-ci: logind test: fix drop-in config. . [ Luca Boccassi ] * Add myself to Uploaders * systemd-tests: ignore hardening-no-relro too. Test binaries, we don't care about hardening flags * Backport patches to fix build reproducibility. EFI binaries have the path embedded which breaks reproducibility, backport patches from upstream to fix it. . [ Michael Biebl ] * Add Recommends: dbus-user-session to libpam-systemd. For a fully functioning systemd --user instance we want dbus-user-session installed. * Report status of dbus-user-session in systemd reportbug template. Most users will likely file bugs for systemd --user related issues against the main systemd package and not libpam-systemd. . systemd (250.3-1) unstable; urgency=medium . [ Luca Boccassi ] * Update d/copyright listing for debian/* Fixes Lintian warning: update-debian-copyright * d/copyright: remove unused GPL-2 stanza * d/watch: bump to version 4 * d/control: drop redundant Section/Priority fields. Fixes Lintian warning: installable-field-mirrors-source * d/control: extend descriptions of libudev and libsystemd * systemd-oomd: add dependency on adduser. Needed by postinst script. * systemd-oomd: fix description-synopsis-starts-with-article Lintian warning * systemd-standalone-*: copy manpages too * Lintian: ignore very-long-line-length-in-source-file. It's not a useful check, and it flags test data and such. * Lintian: ignore source-contains-data-from-ieee-data-oui-db. Data formats are not compatible, this is for hwdb. * Lintian: ignore systemd-service-file-missing-install-key. If we don't add [Install], it's because we don't want it and the units are events-driven or enabled statically. * Lintian: ignore spare-manual-page. Lintian is not really good at associating manpages to package contents, so just ignore this, as we have and will keep adding docs related to unit types and so on. * Lintian: ignore package-supports-alternative-init-but-no-init.d-script. Well, duh! * Lintian: ignore package-contains-documentation-outside-usr-share-doc. False positives on test data and a web page. * Lintian: ignore current set of package-contains-empty-directory. These are shipped to provide a skeleton installation. * Update Lintian override for systemd-service-file-refers-to-unusual-wantedby-target * Lintian: ignore systemd: shared-library-lacks-prerequisites false positive on EFI binary * Lintian: ignore maintainer-script-calls-systemctl in more packages * Lintian: ignore executable-not-elf-or-script false positives for EFI binaries * Lintian: ignore spellcheck false positives * Lintian: ignore hardening-no-fortify-functions for test binaries * Ignore blhc false positives. blhc hits false positives due to EFI PE-COFF binaries, c++ fuzzing binaries and meson flags listings, ignore them. * Add d/gitlab-ci.yml. Disable unit tests, as some are failing due to the build environment. . [ Michael Biebl ] * New upstream version 250.3 - network: wireguard: do not add routes to AllowedIPs= by default. (Closes: #1003955) * Add Recommends: libdw1 to systemd-coredump. Starting with v250, systemd-coredump will use libdw/libelf via dlopen() rather than directly linking against it. It is not a hard dependency but we want to have it installed by default. While hard-coding the library name is not ideal, we currently don't have better means to derive this information automatically. (Closes: #1003879) . systemd (250.2-3) unstable; urgency=medium . [ Luca Boccassi ] * Build with and suggest fido2 and tpm libraries. These are used via dlopen only if available by some tools like systemd-cryptsetup, systemd-cryptenroll and systemd-repart, with graceful fallbacks if they are not found. Build-depend on them so that the features get compiled in (apart from stage1 builds), and add appropriate Suggests. (Closes: #991129, #1003383) * Disable libcryptsetup-plugins. They are new, and might not even be supported by libcryptsetup yet * Build-depend on libssl-dev. Required to use libfido2-dev until #1003699 is fixed . [ Michael Biebl ] * Don't stop systemd-oomd.socket during upgrades. This works around an issue in systemd which doesn't process multiple units that are passed to systemctl as a single transaction with the correct ordering. (Closes: #1003641) . systemd (250.2-2) unstable; urgency=medium . * Ship systemd-oomd.socket in correct systemd-oomd package * Don't install dbus-org.freedesktop.oom1.service symlink (Closes: #1003580) . systemd (250.2-1) unstable; urgency=medium . * New upstream version 250.2 - shared/rm-rf: loop over nested directories instead of recursing. Fixes uncontrolled recursion in systemd-tmpfiles. (CVE-2021-3997, Closes: #1003467) * test: explicitly configure oomd stuff via dropins * autopkgtest: add systemd-oomd dependency to upstream test. We want systemd-oomd to be tested via the upstream provided TEST-55-OOMD. * Rebase patches * Upload to unstable . systemd (250.1-2) experimental; urgency=medium . [ Lukas Märdian ] * d/rules: Enable build of systemd-oomd * d/control: Ship oomd in a systemd-oomd package. Deploying the default configuration as used in Fedora. * Start systemd-oomd.service after package installation . [ Michael Biebl ] * oomd: move oomctl to bindir * Enable systemd-repart and ship it in the main systemd package. Add fdisk as test dependency, needed by test-repart which calls sfdisk. * test-repart: append /sbin and /usr/sbin to $PATH= so sfdisk can be found . systemd (250.1-1) experimental; urgency=medium . * New upstream version 250.1 * Rebase patches . systemd (250-2) experimental; urgency=medium . * Drop separate udeb build. The only real benefit from a separate build apparently is that udev does not get a dependency on libacl and libselinux. But we have udebs for those dependencies anyway. Dropping the separate build basically cuts the build times in half and simplifies debian/rules quite a bit. It also brings udev as used in d-i closer to what is actually used in the installed system, which is a good thing. * Cherry-pick various fixes targeted for v250-stable . systemd (250-1) experimental; urgency=medium . * New upstream version 250 * Rebase patches * Update symbol versions for the v250 release . systemd (250~rc3-1) experimental; urgency=medium . [ Michael Biebl ] * New upstream version 250~rc3 * Switch debian-branch to experimental * Bump meson Build-Depends to (>= 0.53.2) * Rebase patches * Update symbols file for libsystemd0 * Update removal of upstream provided license files * Use -Durlify=false instead of shipping an upstream revert patch * Explicitly disable OpenSSL support. We don't want to pick up an OpenSSL dependency in a tainted build environment and pull a second crypto stack into systemd's dependencies. * autopkgtest: install dbus-user-session for upstream test. Required by TEST-43-PRIVATEUSER-UNPRIV and TEST-20-MAINPIDGAMES. * Revert "Temporarily disable LTO" * Small updates to debian/copyright * Remove dbus introspection files . [ Luca Boccassi ] * autopkgtest: install libdw and libelf for upstream test. Pulled in via dlopen since systemd/systemd#21454 . systemd (249.7-1) unstable; urgency=medium . * New upstream version 249.7 * Rebase patches . systemd (249.6-3) unstable; urgency=medium . * scope: count successful cgroup additions when delegating via D-Bus (Closes: #999745) . systemd (249.6-2) unstable; urgency=medium . * Consider dbus-broker in systemd-logind.service Condition check (Closes: #999569) * Temporarily disable LTO. This is a test to see if it fixes the failure to build reproducibly on arm*. * sysusers: split up systemd.conf (Closes: #990349) . systemd (249.6-1) unstable; urgency=medium . [ Michael Biebl ] * New upstream version 249.6 * Rebase patches * test: use kbd-mode-map we ship in one more test case * Bump Standards-Version to 4.6.0 * Drop obsolete C/R upstart from systemd-sysv * Drop obsolete dpkg (>= 1.19.3) | systemd-sysv dependency from udev. It was added to ensure we have a dpkg with --notify-await which is now satisfied by a dpkg from oldstable. * Make the C/R against systemd versioned in systemd-standalone-{sysusers,tmpfiles} Those were added to facilitate an upgrade from bullseye. The version makes it more explicit. * Drop obsolete migration code for RAMTMP, TPMTIME and UTC . [ Luca Boccassi ] * Depend on default-dbus-system-bus | dbus-system-bus. Allows users to install only a single system bus implementation. Prefer the default (dbus-daemon). . systemd (249.5-2) unstable; urgency=medium . [ Helmut Grohne ] * Fix FTCBFS: Annotate python3-jinja2 dependency with :native (Closes: #996501) . [ Michael Biebl ] * hwdb: Allow console users access to media* nodes (Closes: #996749) . systemd (249.5-1) unstable; urgency=medium . * New upstream version 249.5 * Rebase patches * Update debian/copyright * Clean up lintian overrides . systemd (249.4-2) unstable; urgency=medium . * Upload to unstable * Remove unused initialize_coredump() function * Fix #993738 by pulling the patches from upstream PR#20603 . systemd (249.4-1) experimental; urgency=medium . * New upstream version 249.4 * Rebase patches . systemd (249.3-4) experimental; urgency=medium . * Add Conflicts/Replaces: systemd to systemd-standalone-{sysusers,tmpfiles} This allows upgrades from older systemd versions which do not have Provides: systemd-{sysusers,tmpfiles}. (Closes: #992376) . systemd (249.3-3) experimental; urgency=medium . * Use C/R/P for systemd-sysusers and systemd-tmpfiles. It's an interface/facility that can only be provided by a single package at a time. . systemd (249.3-2) experimental; urgency=medium . * Provide standalone binaries for sysusers and tmpfiles (Closes: #946456) * Fix test dependencies of upstream test. After splitting out the standalone binaries for sysusers and tmpfiles into separate packages (which conflict with the main systemd package), we can no longer use the '@' notation in the upstream test. This reverts commit 5eeeb1b562a1a9802df105091bda4741c263336d and also adds systemd-tests and systemd-timesyncd to the upstream test dependencies. . systemd (249.3-1) experimental; urgency=medium . * New upstream version 249.3 * Rebase patches * Remove obsolete systemd-resolve compat symlink . systemd (249.2-2) experimental; urgency=medium . * Remove obsolete upgrade code from maintainer scripts * Clean up old versions from maintscript files * Drop obsolete systemd Breaks/Replaces * Drop obsolete python-dbusmock Breaks * Turn versioned systemd-shim Breaks into unversioned Conflicts. There never was a fixed systemd-shim version before it was removed from the archive. * Drop patches which are no longer needed after bullseye * Stop setting up device symlinks for CD-RW/DVD drives. Those udev rules were a Debian specific workaround that were mainly added for compat with older software which wasn't able to automatically discover those types of devices. Those rules didn't provide stable/predictable names though, so remove them. (Closes: #991639) * autopkgtest: add systemd-timesyncd dependency to timedated test. We need systemd-timesyncd in the timedated test, not just an arbitrary provider of time-daemon. * autopkgtest: clean up dependencies of boot-smoke test. A lot of the dependencies are not needed but were originally added to avoid a testbed reset and make it possible to reuse the testbed of the upstream test. This turned out to be a maintenance problem and the dependencies were not updated accordingly. Instead of trying to keep the two tests in sync, trim down the boot-smoke dependencies to its bare minimum. . systemd (249.2-1) experimental; urgency=medium . * New upstream version 249.2 * Rebase patches . systemd (249.1-1) experimental; urgency=medium . * New upstream version 249.1 - basic/unit-name: do not use strdupa() on a path (CVE-2021-33910) . systemd (249-1) experimental; urgency=medium . * New upstream version 249 * Rebase patches * Update symbol versions for the v249 release * Fix removal of systemd-hwdb-update.service. As we don't support factory-reset, we don't need this service. In Debian, the hwdb binary database is updated via a dpkg file trigger. . systemd (249~rc3-1) experimental; urgency=medium . * New upstream version 249~rc3 * Rebase patches . systemd (249~rc2-1) experimental; urgency=medium . * New upstream version 249~rc2 * Rebase patches . systemd (249~rc1-1) experimental; urgency=medium . [ Michael Biebl ] * New upstream version 249~rc1 * Rebase patches * Replace m4 Build-Depends with python3-jinja2 * Update symbols file for libsystemd0 * test: do not run 'meson configure' if NO_BUILD is set * test: drop the mawk-incompatible expression * Add gawk <!nocheck> to Build-Depends. It is used in tools/check-directives.sh which is run during "meson test". * autopkgtest: add udev dependency to unit-tests. Without a properly set up hwdb the test-sd-hwdb test is skipped. . [ Luca Boccassi ] * autopkgtest: add dependency on dosfstools for upstream test. Needed to create EFI partition (vfat) . systemd (248.3-1) experimental; urgency=medium . [ Michael Biebl ] * New upstream version 248.3 * Rebase patches . [ Dan Streetman ] * d/t: replace 'root-unittests' shell script with simple call to upstream script. The upstream test runner script is much better, as it only prints failing test output, and gives a summary of the test results at the end. . systemd (248.2-1) experimental; urgency=medium . * New upstream version 248.2 . systemd (248.1-1) experimental; urgency=medium . [ Michael Biebl ] * New upstream version 248.1 * Rebase patches * d/e/checkout-upstream: switch to main branch * Update make-fbdev-blacklist to not blacklist hyperv_fb . [ Luca Boccassi ] * systemd.install: catch all files installed in usr/bin and bin. At the moment, individual binaries are mentioned specifically in the install file. When new binaries are added, manual work is needed to get them packaged, which affects the upstream autopkgtest-based CI. Change systemd.install to instead pick up everything from usr/bin and bin. * upstream suite: add build-dep on vim-tiny. Required by some of the images in the upstream test suite . [ Zbigniew Jędrzejewski-Szmek ] * Let "upstream" test use upstream test runner . [ Dan Streetman ] * Slight adjustments to previous patch for deny/black-list naming. Also add in two vars used by the integration runner script * d/t/upstream: use NO_BUILD=1. Also don't bother sed-modifying test-functions file, as the NO_BUILD changes remove the need for that. * d/t/control: install all binary packages for upstream test. With the change to just call the upstream script to run the integration tests, the packages to test need to be installed so the test-function script can list out the files each package contains, and copy those files into each nspawn and/or qemu testbed. Without all packages installed, some tests fail; specifically TEST-30 currently requires systemd-timesyncd which was not previously installed for the 'upstream' test suite. This changes the control file to just install all binary packages, using the '@' notation. * d/t/boot-smoke: update test to avoid false negatives . [ Frantisek Sumsal ] * upstream-ci: fix test_no_failed() check. Without `--plain` `systemctl` prints a circle (●) in the first column for each failed service, which with the current code interferes with attempted journal listing for each such service. . systemd (248-1) experimental; urgency=medium . [ Balint Reczey ] * New upstream version 248 - add support for answering DNSSEC questions on the stub resolver (Closes: #988132) - turn off DNSSEC validation when timesyncd resolves hostnames (Closes: #898530) - add networkd/nspawn nftables backend (Closes: #934584) - support ipv6 for masquerade and dnat in nspawn and networkd (Closes: #934676) * Refresh patches * debian/rules: Enable new systemd-sysext tool * debian/rules: Build support for flushing of the nscd caches * debian/rules: Build translations for debs but not for udebs * debian/rules: Build without TPM2 support. This is a new feature and needs further review. * Ship systemd-cryptenroll in systemd package * Update symbols file for libsystemd0 * debian/tests/control: Upstream test depends on attr * debian/udev.postinst: Create the sgx system group. Intel SGX enclave device nodes are now owned by this group. * debian/rules: Don't ship README files in (/usr)/lib/*.d. README files are typically shipped in /usr/share/doc. * Revert "pager: stop disabling urlification under a pager" Debian and Ubuntu do not yet have a less version that supports urlification. This requires less 563 or later. . systemd (247.9-4) unstable; urgency=medium . * Revert "tests/udev-test.pl: add multiple device test" Follow-up to make sure the udev autopkgtest passes successfully again after reverting the multipath symlink race fix. * test: Fix flakiness in TEST-10-ISSUE-2467 * autopktest: Fix timedated test dependencies. Add an explicit systemd-timesyncd dependency as it is required by the timedated test. * autopkgtest: Merge configuration of logind test with timedated and related tests. They share the same restrictions and merging them avoids a bit of duplication. * Revert "test: disable DnsmasqClientTest.test_resolved_etc_hosts in networkd-test.py" Let's see if this test is still flaky on debci. * networkd-test: fix resolved_domain_restricted_dns. Cherry-pick upstream commit which hopefully fixes the flakiness in DnsmasqClientTest.test_resolved_domain_restricted_dns. . systemd (247.9-3) unstable; urgency=medium . * Revert multipath symlink race fix. Revert upstream commits which caused a regression in udev resulting in long delays when processing partitions with the same label. (Closes: #993738) . systemd (247.9-2) unstable; urgency=medium . * Demote systemd-timesyncd from Depends to Recommends. This avoids a dependency cycle between systemd and systemd-timesyncd and thus makes dist upgrades more predictable and robust. It also allows minimal, systemd based containers where no NTP client is strictly necessary. To ensure that systemd-timesyncd is installed in a default installation created by d-i, bump its priority to standard. (Closes: #986651, #993947) . systemd (247.9-1) unstable; urgency=medium . [ Michael Biebl ] * New upstream version 247.9 * Rebase patches * Fix removal of systemd-hwdb-update.service. As we don't support factory-reset, we don't need this service. In Debian, the hwdb binary database is updated via a dpkg file trigger. . [ Balint Reczey ] * debian/rules: Don't ship README files in (/usr)/lib/*.d. README files are typically shipped in /usr/share/doc.
Did the refactor last to show where this is coming from. The previous commits could be picked separately. Esp the shutdown -c fix makes sense right away IMO.