syslinux: Allow mtools to be optional

Adds a PACKAGECONFIG to syslinux to determine if the mtools version of
the utilities is installed or not. The difference between the two
versions is that the mtools version can be used by any user with write
permission, while the non-mtools can only be used by root.

The syslinux-nomtools package is removed, as it was empty and doesn't
appear to be used anyway

(From OE-Core rev: 06da552733091bc8d332bb932c86cbc8362d44b9)

Signed-off-by: Joshua Watt <JPEWhacker@gmail.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Joshua Watt
2024-01-08 13:22:47 -07:00
committed by Richard Purdie
parent 56c7ea02d2
commit 91694dfce7

View File

@@ -63,6 +63,10 @@ EXTRA_OEMAKE = " \
RANLIB="${RANLIB}" \
"
# mtools allows non-root users to install syslinux
PACKAGECONFIG ??= "mtools"
PACKAGECONFIG[mtools] = ",,,"
#
# Tasks for native/nativesdk which just build the installer.
#
@@ -77,10 +81,15 @@ do_compile() {
do_install() {
install -d ${D}${bindir}
install \
${B}/bios/mtools/syslinux \
${B}/bios/extlinux/extlinux \
${B}/bios/utils/isohybrid \
${D}${bindir}
if ${@bb.utils.contains("PACKAGECONFIG", "mtools", "true", "false", d)}; then
install ${B}/bios/mtools/syslinux ${D}${bindir}
else
install ${B}/bios/linux/syslinux ${D}${bindir}
fi
}
#
@@ -104,14 +113,12 @@ do_install:class-target() {
install -m 644 ${S}/bios/core/ldlinux.bss ${D}${datadir}/syslinux/
}
PACKAGES += "${PN}-nomtools ${PN}-extlinux ${PN}-mbr ${PN}-chain ${PN}-pxelinux ${PN}-isolinux ${PN}-misc"
PACKAGES += "${PN}-extlinux ${PN}-mbr ${PN}-chain ${PN}-pxelinux ${PN}-isolinux ${PN}-misc"
RDEPENDS:${PN} += "mtools"
RDEPENDS:${PN}-nomtools += "libext2fs"
RDEPENDS:${PN} += "${@bb.utils.contains("PACKAGECONFIG", "mtools", "mtools", "", d)}"
RDEPENDS:${PN}-misc += "perl"
FILES:${PN} = "${bindir}/syslinux"
FILES:${PN}-nomtools = "${bindir}/syslinux-nomtools"
FILES:${PN}-extlinux = "${sbindir}/extlinux"
FILES:${PN}-mbr = "${datadir}/${BPN}/mbr.bin"
FILES:${PN}-chain = "${datadir}/${BPN}/chain.c32"