[Buildroot] [PATCH 00/18 v3] system: add support for merged-bin (branch yem/merged-bin)
Yann E. MORIN
yann.morin.1998 at free.fr
Mon Sep 1 09:01:24 UTC 2025
Hello All!
This series introduces support for so-called merged-bin, where /usr/sbin
is merged with /usr/bin, as an extra step after merged-usr, now just
requested, but in the future required, by systemd.
The series is organised in a few steps:
1. patches 1-3 are cleanups in the Kconfig menu, related to the
merged-usr prompt, to the defaults for PATH, and to the rationale
for selecting merged-usr with systemd; those can be applied without
considering the rest of the series;
2. then patches 4-9 prepare support/scripts/check-merged-usr.sh to
check for more than merged-usr: a good cleanup, and better check the
merged state; those patch can also be applied without considering
the rest of the series;
3. with patches 9-12, support for merged-bin is added, and the merge
level of skeleton and overlays properly enforced to match the
configured merge setup; those require the two set of patches above
to be applied first;
4. then, patches 13-17 introduce workarounds for a few packages to
properly support merged-bin. For ease of review, those are separate
patches, but that means the series _may_ break if the merged-bin
support is applied but not these per-package workarounds; these
require that all patches above be applied first, of course;
5. the last patch makes merged-bin mandatory for systemd and extend the
systemd runtime test to catch future tainted flag; again, that
requires that everything before is applied, too.
The series was tested with a large set of packages and a large set of
toolchains, and although it is a critical change, it is still pretty
well confined to just a few spots.
Changes v2 -> v3;
- add fix for merged-bin to net-tools
Changes v1 -> v2:
- add Arnout's Acked-by tag where appropriate
- totally rewrite the test for merged status
- reject unexpectedly merged skeletons or overlays
- add runtime test to catch systemd tainted flags
- typos
Regards,
Yann E. MORIN.
----------------------------------------------------------------
Yann E. MORIN (18):
system: reword merged-usr prompt
system: drop superfluous negative condition for default PATH
package/systemd: select merged-usr from package, not init
support/scripts: comonalise checking merged status
support/scripts: prepare for a more complex check for merged directories
support/scripts: also exit in error on improperly merged-usr
support/scripts: move merged-usr errors message into check-merged-usr.sh
support/scripts: fix and restrict conditions to accept merged dirs
support/scripts: rename check-merged-usr.sh
support/scripts; teach check-merged what to check
system: add support for merged /usr/sbin (aka merged-bin)
support/scripts: reject skeletons or overlays that are unexpectedly merged
package/coreutils: no need for chroot workaround with merged-bin
package/kmod: adjust paths for merged-bin
package/util-linux: adjust paths for merged-bin
package/net-tools: no need for ifconfig+route workarounds with merged-bin
toolchain/external: support merged-bin
package/systemd: require merged-bin
Makefile | 19 ++--
package/coreutils/coreutils.mk | 2 +
package/kmod/kmod.mk | 12 ++-
package/net-tools/net-tools.mk | 10 +-
package/skeleton-custom/skeleton-custom.mk | 25 ++---
package/systemd/Config.in | 2 +
package/util-linux/util-linux.mk | 8 +-
support/scripts/check-merged | 146 +++++++++++++++++++++++++++++
support/scripts/check-merged-usr.sh | 39 --------
support/testing/tests/init/test_systemd.py | 19 ++++
system/Config.in | 20 ++--
system/skeleton/usr/sbin/.empty | 0
system/system.mk | 14 ++-
toolchain/helpers.mk | 8 +-
14 files changed, 240 insertions(+), 84 deletions(-)
create mode 100755 support/scripts/check-merged
delete mode 100755 support/scripts/check-merged-usr.sh
delete mode 100644 system/skeleton/usr/sbin/.empty
--
.-----------------.--------------------.------------------.--------------------.
| Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ |
| +33 561 099 427 `------------.-------: X AGAINST | \e/ There is no |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. |
'------------------------------^-------^------------------^--------------------'
More information about the buildroot
mailing list