meta: start to ignore the largefile distro feature

The largefile distro feature has been enabled by default in oe-core
for a long time and, more recently, also in poky-tiny. Building
without the largefile distro feature receives little or no testing.
Many packages now enable LFS without exposing a configure option, so
there should be very little expectation that disabling the distro
feature will result in a distro which globally disables LFS.

Respecting the distro feature adds a maintenance over-head and may be
the source of configurations oddities (e.g. dbus-native currently
builds with LFS disabled for no clear reason - fixed by this commit).

Ignore the largefile distro feature more widely, as a first step
towards deprecating and eventually removing it.

(From OE-Core rev: a75ccaea77c8aad8d46e87e8ed4af2e2e0ad5327)

Signed-off-by: Andre McCurdy <armccurdy@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Andre McCurdy 2017-03-06 20:58:47 -08:00 committed by Richard Purdie
parent fc6c81da79
commit 9f3246522c
10 changed files with 23 additions and 35 deletions

View File

@ -31,9 +31,9 @@ inherit deploy
CACHED_CONFIGUREVARS += "ac_cv_path_HELP2MAN=" CACHED_CONFIGUREVARS += "ac_cv_path_HELP2MAN="
EXTRA_OECONF = "--with-platform=efi --disable-grub-mkfont \ EXTRA_OECONF = "--with-platform=efi --disable-grub-mkfont \
--enable-efiemu=no --program-prefix='' \ --enable-efiemu=no --program-prefix='' \
--enable-liblzma=no --enable-device-mapper=no --enable-libzfs=no" --enable-liblzma=no --enable-device-mapper=no --enable-libzfs=no \
--enable-largefile \
EXTRA_OECONF += "${@bb.utils.contains('DISTRO_FEATURES', 'largefile', '--enable-largefile', '--disable-largefile', d)}" "
# ldm.c:114:7: error: trampoline generated for nested function 'hook' [-Werror=trampolines] # ldm.c:114:7: error: trampoline generated for nested function 'hook' [-Werror=trampolines]
# and many other places in the grub code when compiled with some native gcc compilers (specifically, gentoo) # and many other places in the grub code when compiled with some native gcc compilers (specifically, gentoo)

View File

@ -4,9 +4,9 @@ RDEPENDS_${PN} = "diffutils freetype grub-editenv"
PR = "r1" PR = "r1"
EXTRA_OECONF = "--with-platform=pc --disable-grub-mkfont --program-prefix="" \ EXTRA_OECONF = "--with-platform=pc --disable-grub-mkfont --program-prefix="" \
--enable-liblzma=no --enable-device-mapper=no --enable-libzfs=no" --enable-liblzma=no --enable-device-mapper=no --enable-libzfs=no \
--enable-largefile \
EXTRA_OECONF += "${@bb.utils.contains('DISTRO_FEATURES', 'largefile', '--enable-largefile', '--disable-largefile', d)}" "
PACKAGES =+ "grub-editenv" PACKAGES =+ "grub-editenv"

View File

@ -27,9 +27,9 @@ GRUBPLATFORM_aarch64 = "efi"
GRUBPLATFORM ??= "pc" GRUBPLATFORM ??= "pc"
EXTRA_OECONF = "--with-platform=${GRUBPLATFORM} --disable-grub-mkfont --program-prefix="" \ EXTRA_OECONF = "--with-platform=${GRUBPLATFORM} --disable-grub-mkfont --program-prefix="" \
--enable-liblzma=no --enable-device-mapper=no --enable-libzfs=no" --enable-liblzma=no --enable-device-mapper=no --enable-libzfs=no \
--enable-largefile \
EXTRA_OECONF += "${@bb.utils.contains('DISTRO_FEATURES', 'largefile', '--enable-largefile', '--disable-largefile', d)}" "
do_install_append () { do_install_append () {
install -d ${D}${sysconfdir}/grub.d install -d ${D}${sysconfdir}/grub.d

View File

@ -95,18 +95,18 @@ EXTRA_OECONF = "--disable-tests \
--disable-xml-docs \ --disable-xml-docs \
--disable-doxygen-docs \ --disable-doxygen-docs \
--disable-libaudit \ --disable-libaudit \
--enable-largefile \
" "
EXTRA_OECONF_append_class-target = " SYSTEMCTL=${base_bindir}/systemctl" EXTRA_OECONF_append_class-target = " SYSTEMCTL=${base_bindir}/systemctl"
EXTRA_OECONF_append_class-native = " --disable-selinux" EXTRA_OECONF_append_class-native = " --disable-selinux"
PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'largefile systemd x11', d)}" PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'systemd x11', d)}"
PACKAGECONFIG_class-native = "" PACKAGECONFIG_class-native = ""
PACKAGECONFIG_class-nativesdk = "" PACKAGECONFIG_class-nativesdk = ""
PACKAGECONFIG[systemd] = "--enable-systemd --with-systemdsystemunitdir=${systemd_system_unitdir},--disable-systemd --without-systemdsystemunitdir,systemd" PACKAGECONFIG[systemd] = "--enable-systemd --with-systemdsystemunitdir=${systemd_system_unitdir},--disable-systemd --without-systemdsystemunitdir,systemd"
PACKAGECONFIG[x11] = "--with-x --enable-x11-autolaunch,--without-x --disable-x11-autolaunch, virtual/libx11 libsm" PACKAGECONFIG[x11] = "--with-x --enable-x11-autolaunch,--without-x --disable-x11-autolaunch, virtual/libx11 libsm"
PACKAGECONFIG[largefile] = "--enable-largefile,--disable-largefile,,"
PACKAGECONFIG[user-session] = "--enable-user-session --with-systemduserunitdir=${systemd_user_unitdir},--disable-user-session" PACKAGECONFIG[user-session] = "--enable-user-session --with-systemduserunitdir=${systemd_user_unitdir},--disable-user-session"
do_install() { do_install() {

View File

@ -30,7 +30,7 @@ EXTRA_OECMAKE=" \
-DCMAKE_USE_SYSTEM_LIBRARY_LIBUV=0 \ -DCMAKE_USE_SYSTEM_LIBRARY_LIBUV=0 \
-DKWSYS_CHAR_IS_SIGNED=1 \ -DKWSYS_CHAR_IS_SIGNED=1 \
-DBUILD_CursesDialog=0 \ -DBUILD_CursesDialog=0 \
${@bb.utils.contains('DISTRO_FEATURES', 'largefile', '-DKWSYS_LFS_WORKS=1', '-DKWSYS_LFS_DISABLE=1', d)} \ -DKWSYS_LFS_WORKS=1 \
" "
do_install_append_class-nativesdk() { do_install_append_class-nativesdk() {

View File

@ -20,6 +20,6 @@ inherit autotools pkgconfig
EXTRA_OECONF = "--without-udev --enable-compat-symlinks" EXTRA_OECONF = "--without-udev --enable-compat-symlinks"
CFLAGS += "-D_GNU_SOURCE ${@bb.utils.contains('DISTRO_FEATURES', 'largefile', '-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64', '', d)}" CFLAGS += "-D_GNU_SOURCE -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
BBCLASSEXTEND = "native" BBCLASSEXTEND = "native"

View File

@ -29,9 +29,10 @@ BBCLASSEXTEND = "native"
inherit autotools pkgconfig inherit autotools pkgconfig
PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'largefile', d)} \ PACKAGECONFIG ??= ""
"
PACKAGECONFIG[libcap] = "--with-caps, --without-caps, libcap" PACKAGECONFIG[libcap] = "--with-caps, --without-caps, libcap"
PACKAGECONFIG[libseccomp] = "--with-seccomp, --without-seccomp, libseccomp" PACKAGECONFIG[libseccomp] = "--with-seccomp, --without-seccomp, libseccomp"
PACKAGECONFIG[largefile] = "--enable-largefile,--disable-largefile,,"
PACKAGECONFIG[pyelftools] = "--with-python, --without-python,, pyelftools" PACKAGECONFIG[pyelftools] = "--with-python, --without-python,, pyelftools"
EXTRA_OECONF += "--enable-largefile"

View File

@ -99,17 +99,6 @@ LDFLAGS_append = " -fstack-protector"
# We're almost Debian, aren't we? # We're almost Debian, aren't we?
CFLAGS += "-DDEBIAN" CFLAGS += "-DDEBIAN"
do_nolargefile() {
sed -i -e "s,\(uselargefiles=\)'define',\1'undef',g" \
-e "s,\(d_readdir64_r=\)'define',\1'undef',g" \
-e "s,\(readdir64_r_proto=\)'\w+',\1'0',g" \
-e "/ccflags_uselargefiles/d" \
-e "s/-Duselargefiles//" \
-e "s/-D_FILE_OFFSET_BITS=64//" \
-e "s/-D_LARGEFILE_SOURCE//" \
${S}/Cross/config.sh-${TARGET_ARCH}-${TARGET_OS}
}
do_configure() { do_configure() {
# Make hostperl in build directory be the native perl # Make hostperl in build directory be the native perl
ln -sf ${HOSTPERL} hostperl ln -sf ${HOSTPERL} hostperl
@ -182,8 +171,6 @@ do_configure() {
config.sh-${TARGET_ARCH}-${TARGET_OS} config.sh-${TARGET_ARCH}-${TARGET_OS}
fi fi
${@bb.utils.contains('DISTRO_FEATURES', 'largefile', '', 'do_nolargefile', d)}
# Update some paths in the configuration # Update some paths in the configuration
sed -i -e 's,@ARCH@-thread-multi,,g' \ sed -i -e 's,@ARCH@-thread-multi,,g' \
-e 's,@ARCH@,${TARGET_ARCH}-${TARGET_OS},g' \ -e 's,@ARCH@,${TARGET_ARCH}-${TARGET_OS},g' \

View File

@ -11,17 +11,14 @@ PACKAGECONFIG ?= "zlib bz2"
PACKAGECONFIG_append_class-target = "\ PACKAGECONFIG_append_class-target = "\
libxml2 \ libxml2 \
${@bb.utils.filter('DISTRO_FEATURES', 'acl largefile xattr', d)} \ ${@bb.utils.filter('DISTRO_FEATURES', 'acl xattr', d)} \
" "
PACKAGECONFIG_append_class-nativesdk = " largefile"
DEPENDS_BZIP2 = "bzip2-replacement-native" DEPENDS_BZIP2 = "bzip2-replacement-native"
DEPENDS_BZIP2_class-target = "bzip2" DEPENDS_BZIP2_class-target = "bzip2"
PACKAGECONFIG[acl] = "--enable-acl,--disable-acl,acl," PACKAGECONFIG[acl] = "--enable-acl,--disable-acl,acl,"
PACKAGECONFIG[xattr] = "--enable-xattr,--disable-xattr,attr," PACKAGECONFIG[xattr] = "--enable-xattr,--disable-xattr,attr,"
PACKAGECONFIG[largefile] = "--enable-largefile,--disable-largefile,,"
PACKAGECONFIG[zlib] = "--with-zlib,--without-zlib,zlib," PACKAGECONFIG[zlib] = "--with-zlib,--without-zlib,zlib,"
PACKAGECONFIG[bz2] = "--with-bz2lib,--without-bz2lib,${DEPENDS_BZIP2}," PACKAGECONFIG[bz2] = "--with-bz2lib,--without-bz2lib,${DEPENDS_BZIP2},"
PACKAGECONFIG[xz] = "--with-lzmadec --with-lzma,--without-lzmadec --without-lzma,xz," PACKAGECONFIG[xz] = "--with-lzmadec --with-lzma,--without-lzmadec --without-lzma,xz,"
@ -32,6 +29,8 @@ PACKAGECONFIG[lzo] = "--with-lzo2,--without-lzo2,lzo,"
PACKAGECONFIG[nettle] = "--with-nettle,--without-nettle,nettle," PACKAGECONFIG[nettle] = "--with-nettle,--without-nettle,nettle,"
PACKAGECONFIG[lz4] = "--with-lz4,--without-lz4,lz4," PACKAGECONFIG[lz4] = "--with-lz4,--without-lz4,lz4,"
EXTRA_OECONF += "--enable-largefile"
SRC_URI = "http://libarchive.org/downloads/libarchive-${PV}.tar.gz \ SRC_URI = "http://libarchive.org/downloads/libarchive-${PV}.tar.gz \
file://non-recursive-extract-and-list.patch \ file://non-recursive-extract-and-list.patch \
file://0001-archive_write_disk_posix.c-make-_fsobj-functions-mor.patch \ file://0001-archive_write_disk_posix.c-make-_fsobj-functions-mor.patch \

View File

@ -25,10 +25,9 @@ SRC_URI[sha256sum] = "1c97225deea33eefba6d4158c2cef27913d47553263516bbe9d2e2760f
PACKAGECONFIG ??= "openssl pcre zlib \ PACKAGECONFIG ??= "openssl pcre zlib \
${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)} \ ${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)} \
${@bb.utils.contains('DISTRO_FEATURES', 'largefile', 'lfs', '', d)} \
${@bb.utils.contains('DISTRO_FEATURES', 'xattr', 'attr', '', d)} \ ${@bb.utils.contains('DISTRO_FEATURES', 'xattr', 'attr', '', d)} \
" "
PACKAGECONFIG[lfs] = "--enable-lfs,--disable-lfs"
PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6" PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6"
PACKAGECONFIG[mmap] = "--enable-mmap,--disable-mmap" PACKAGECONFIG[mmap] = "--enable-mmap,--disable-mmap"
PACKAGECONFIG[libev] = "--with-libev,--without-libev,libev" PACKAGECONFIG[libev] = "--with-libev,--without-libev,libev"
@ -48,6 +47,8 @@ PACKAGECONFIG[gdbm] = "--with-gdbm,--without-gdbm,gdbm"
PACKAGECONFIG[memcache] = "--with-memcached,--without-memcached,libmemcached" PACKAGECONFIG[memcache] = "--with-memcached,--without-memcached,libmemcached"
PACKAGECONFIG[lua] = "--with-lua,--without-lua,lua5.1" PACKAGECONFIG[lua] = "--with-lua,--without-lua,lua5.1"
EXTRA_OECONF += "--enable-lfs"
inherit autotools pkgconfig update-rc.d gettext systemd inherit autotools pkgconfig update-rc.d gettext systemd
INITSCRIPT_NAME = "lighttpd" INITSCRIPT_NAME = "lighttpd"