Summary: | systemd-binfmt.filetrigger filetrigger is broken | ||
---|---|---|---|
Product: | Sisyphus | Reporter: | Dmitry Maksimenkov <maksimenkovda> |
Component: | systemd | Assignee: | Alexey Shabalin <shaba> |
Status: | CLOSED FIXED | QA Contact: | qa-sisyphus |
Severity: | normal | ||
Priority: | P5 | CC: | arseny, at, glebfm, iv, ldv, placeholder, shaba, vt |
Version: | unstable | ||
Hardware: | x86_64 | ||
OS: | Linux |
Description
Dmitry Maksimenkov
2024-08-02 17:07:46 MSK
> После перезагрузки ошибка не воспроизводится.
После перезагрузки системы ошибка не воспроизводится.
По какой-то причине эффект от установки пакета qemu-user-static-binfmt-aarch64 проявился только после перезагрузки системы. Ошибка в файлтриггере /usr/lib/rpm/systemd-binfmt.filetrigger: $ cat /usr/lib/rpm/systemd-binfmt.filetrigger #!/bin/sh -e [ -L /proc/1/root ] || exit 0 LC_ALL=C grep -E -qs '^/(lib|usr/lib|etc)/binfmt.d/.+\.conf' && systemd-binfmt >/dev/null 2>&1 ||: systemd-binfmt находится не в $PATH, а в /usr/lib/systemd/, так что этот триггер не отрабатывает. Если удалить перенаправление stderr (которое, кстати, в любом случае лишнее), то при установке qemu-user-static-aarch64 можно увидеть: /usr/lib/rpm/systemd-binfmt.filetrigger: line 5: systemd-binfmt: command not found Кстати, есть подозрение, что даже если корректно вызвать /usr/lib/systemd/systemd-binfmt, при обновлении, например, qemu-user-static-aarch64, старый бинарник останется висеть предзагруженным, что неправильно. Так что я бы не вызывал эту утилиту напрямую, а делал просто systemctl restart systemd-binfmt.service. Аналогичная проблема, кстати, присутствует в макросе %binfmt_apply из rpm-macros-systemd-6-alt2 (In reply to Ivan A. Melnikov from comment #5) > Аналогичная проблема, кстати, присутствует в макросе %binfmt_apply из > rpm-macros-systemd-6-alt2 ... который, к счастью, нигде не используется. Может, удалить его? (In reply to Ivan A. Melnikov from comment #3) > Ошибка в файлтриггере /usr/lib/rpm/systemd-binfmt.filetrigger: Предлагаю чинить так: https://git.altlinux.org/people/iv/packages/systemd.git?a=commitdiff;h=86f80e938b16aaf59fe8efdb0d2e9a80b86ce961 Собрано в задаче 354545, куда я также добавил последние исправления сборки без tmp2 (для riscv64 и loongarch64). Please review and approve. systemd-1:255.10-alt2 -> sisyphus: Tue Aug 06 2024 Ivan A. Melnikov <iv@altlinux> 1:255.10-alt2 - Fix systemd-binfmt filetrigger (ALT#51035). - Fix build w/o tmp2 (fixes FTBFS on loongarch64 and riscv64). - Make sure bootctl man page is present when there is the binary (backported upstream fix). |