cifs-utils: set ROOTSBINDIR to /usr/sbin if DISTRO_FEATURES has usrmerge

Fixes cif-utils recipe build when DISTRO_FEATURES includes 'usrmerge'

Add do_configure_prepend() to override ROOTSSBINDIR environment variable
so that the utilities are installed in /usr/sbin rather than /sbin.
Setting --exec-prefix or --prefix in EXTRA_OECONF does not work.

Update do_install_append() to NOT remove /usr/bin /usr/sbin if usrmerge
is set in DISTRO_FEATURES

Signed-off-by: Geoff Parker <geoffrey.parker@arthrex.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
This commit is contained in:
Geoff Parker 2021-06-17 14:11:18 -07:00 committed by Khem Raj
parent 6892201821
commit 3c1e72d62c

View File

@ -22,10 +22,21 @@ PACKAGECONFIG[pam] = "--enable-pam --with-pamdir=${base_libdir}/security,--disab
inherit autotools pkgconfig
do_configure_prepend() {
# want installed to /usr/sbin rather than /sbin to be DISTRO_FEATURES usrmerge compliant
# must override ROOTSBINDIR (default '/sbin'),
# setting --exec-prefix or --prefix in EXTRA_OECONF does not work
if ${@bb.utils.contains('DISTRO_FEATURES','usrmerge','true','fakse',d)}; then
export ROOTSBINDIR=${sbindir}
fi
}
do_install_append() {
# Remove empty /usr/bin and /usr/sbin directories since the mount helper
# is installed to /sbin
rmdir --ignore-fail-on-non-empty ${D}${bindir} ${D}${sbindir}
if ${@bb.utils.contains('DISTRO_FEATURES','usrmerge','false','true',d)}; then
# Remove empty /usr/bin and /usr/sbin directories since the mount helper
# is installed to /sbin
rmdir --ignore-fail-on-non-empty ${D}${bindir} ${D}${sbindir}
fi
}
FILES_${PN} += "${base_libdir}/security"