I went ahead and sent v2 with the fix as I had it locally already anyway.

To illustrate what was wrong with using the override, see following output from bitbake -e:

env.util-linux.append+override:ALTERNATIVE_util-linux="dmesg kill more mkswap blockdev pivot_root switch_root hexdump last lastb logger mesg renice wall unshare setsid chrt flock utmpdump eject nologin taskset fallocate"
env.util-linux.before:ALTERNATIVE_util-linux="dmesg kill more mkswap blockdev pivot_root switch_root hexdump last lastb logger mesg renice wall fallocate unshare setsid chrt flock utmpdump eject nologin taskset"
env.util-linux.override:ALTERNATIVE_util-linux=" fallocate"

# $ALTERNATIVE_util-linux [2 operations]
#   rename from ALTERNATIVE_${PN} data.py:116 [expandKeys]
#     "dmesg kill more mkswap blockdev pivot_root switch_root hexdump last lastb logger mesg renice wall unshare setsid chrt flock utmpdump eject nologin taskset"
#   override[class-target]:rename from ALTERNATIVE_${PN}_class-target data_smart.py:641 [renameVar]
#     " fallocate"
# pre-expansion value:
#   " fallocate"
ALTERNATIVE_util-linux=" fallocate"

# $ALTERNATIVE_util-linux_class-target
#   rename from ALTERNATIVE_${PN}_class-target data_smart.py:641 [renameVar]
#     " fallocate"
ALTERNATIVE_util-linux_class-target=" fallocate"

# $ALTERNATIVE [19 operations]
#   set /OE/build/oe-core/openembedded-core/meta/conf/documentation.conf:63
#     [doc] "Lists commands in a package that need an alternative binary naming scheme."
#   override[util-linux-hwclock]:set /OE/build/oe-core/openembedded-core/meta/recipes-core/util-linux/util-linux.inc:245
#     "hwclock"
#   override[util-linux-fdisk]:set /OE/build/oe-core/openembedded-core/meta/recipes-core/util-linux/util-linux.inc:248
#     "fdisk"
#   override[util-linux-fstrim]:set /OE/build/oe-core/openembedded-core/meta/recipes-core/util-linux/util-linux.inc:251
#     "fstrim"
#   override[util-linux-agetty]:set /OE/build/oe-core/openembedded-core/meta/recipes-core/util-linux/util-linux.inc:254
#     "getty"
#   override[util-linux-mount]:set /OE/build/oe-core/openembedded-core/meta/recipes-core/util-linux/util-linux.inc:258
#     "mount"
#   override[util-linux-umount]:set /OE/build/oe-core/openembedded-core/meta/recipes-core/util-linux/util-linux.inc:261
#     "umount"
#   override[util-linux-readprofile]:set /OE/build/oe-core/openembedded-core/meta/recipes-core/util-linux/util-linux.inc:264
#     "readprofile"
#   override[util-linux-losetup]:set /OE/build/oe-core/openembedded-core/meta/recipes-core/util-linux/util-linux.inc:267
#     "losetup"
#   override[util-linux-swaponoff]:set /OE/build/oe-core/openembedded-core/meta/recipes-core/util-linux/util-linux.inc:270
#     "swapoff swapon"
#   override[util-linux-fsck]:set /OE/build/oe-core/openembedded-core/meta/recipes-core/util-linux/util-linux.inc:274
#     "fsck"
#   override[util-linux-blkid]:set /OE/build/oe-core/openembedded-core/meta/recipes-core/util-linux/util-linux.inc:277
#     "blkid"
#   override[util-linux-rfkill]:set /OE/build/oe-core/openembedded-core/meta/recipes-core/util-linux/util-linux.inc:280
#     "rfkill"
#   override[util-linux-getopt]:set /OE/build/oe-core/openembedded-core/meta/recipes-core/util-linux/util-linux.inc:283
#     "getopt"
#   override[util-linux-sulogin]:set /OE/build/oe-core/openembedded-core/meta/recipes-core/util-linux/util-linux.inc:286
#     "sulogin"
#   override[util-linux-mountpoint]:set /OE/build/oe-core/openembedded-core/meta/recipes-core/util-linux/util-linux.inc:289
#     "mountpoint"
#   override[util-linux]:rename from ALTERNATIVE_${PN} data.py:116 [expandKeys]
#     "dmesg kill more mkswap blockdev pivot_root switch_root hexdump last lastb logger mesg renice wall unshare setsid chrt flock utmpdump eject nologin taskset"
#   override[util-linux_class-target]:rename from ALTERNATIVE_${PN}_class-target data_smart.py:641 [renameVar]
#     " fallocate"
#   override[util-linux-doc]:rename from ALTERNATIVE_${PN}-doc data.py:116 [expandKeys]
#     "mountpoint.1 last.1 lastb.1 mesg.1 wall.1 nologin.8 sulogin.8 utmpdump.1 rfkill.8 kill.1 libblkid.3 blkid.8 findfs.8 fsck.8 uuid.3 eject.1 logger.1"
# pre-expansion value:
#   "None"

On Thu, Jul 26, 2018 at 4:00 PM Martin Jansa <martin.jansa@gmail.com> wrote:
This probably doesn't do what you're expecting it to do, use
ALTERNATIVE_${PN}_append_class-target = " fallocate"

You can check with bitbake -e to see what's the difference between these 2.

On Thu, Jul 26, 2018 at 3:56 PM Ioan-Adrian Ratiu <adrian.ratiu@ni.com> wrote:
Because the util-linux_2.32.bb recipe explicitely disables fallocate
for nativesdk triggering build warnings:

WARNING: nativesdk-util-linux-2.32-r0 do_package: util-linux:
alternative target (sdk/usr/bin/fallocate or sdk/usr/bin/fallocate.util-linux)
does not exist, skipping...
WARNING: nativesdk-util-linux-2.32-r0 do_package: util-linux: NOT adding
alternative provide sdk/usr/bin/fallocate: sdk/usr/bin/fallocate.util-linux
does not exist
WARNING: nativesdk-util-linux-2.32-r0 do_package: util-linux: alt_link ==
alt_target: sdk/usr/bin/fallocate == sdk/usr/bin/fallocate

Signed-off-by: Ioan-Adrian Ratiu <adrian.ratiu@ni.com>
---
 meta/recipes-core/util-linux/util-linux.inc | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/meta/recipes-core/util-linux/util-linux.inc b/meta/recipes-core/util-linux/util-linux.inc
index ed5c618750..504f3c5b61 100644
--- a/meta/recipes-core/util-linux/util-linux.inc
+++ b/meta/recipes-core/util-linux/util-linux.inc
@@ -206,8 +206,9 @@ do_install_append_class-native () {
 ALTERNATIVE_PRIORITY = "80"

 ALTERNATIVE_${PN}  = "dmesg kill more mkswap blockdev pivot_root switch_root"
-ALTERNATIVE_${PN} += "hexdump last lastb logger mesg renice wall fallocate unshare"
+ALTERNATIVE_${PN} += "hexdump last lastb logger mesg renice wall unshare"
 ALTERNATIVE_${PN} += "setsid chrt flock utmpdump eject nologin taskset"
+ALTERNATIVE_${PN}_class-target += "fallocate"

 ALTERNATIVE_LINK_NAME[dmesg] = "${base_bindir}/dmesg"
 ALTERNATIVE_LINK_NAME[kill] = "${base_bindir}/kill"
--
2.18.0