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="
EXTRA_OECONF = "--with-platform=efi --disable-grub-mkfont \
--enable-efiemu=no --program-prefix='' \
--enable-liblzma=no --enable-device-mapper=no --enable-libzfs=no"
EXTRA_OECONF += "${@bb.utils.contains('DISTRO_FEATURES', 'largefile', '--enable-largefile', '--disable-largefile', d)}"
--enable-liblzma=no --enable-device-mapper=no --enable-libzfs=no \
--enable-largefile \
"
# 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)

View File

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

View File

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

View File

@ -95,18 +95,18 @@ EXTRA_OECONF = "--disable-tests \
--disable-xml-docs \
--disable-doxygen-docs \
--disable-libaudit \
--enable-largefile \
"
EXTRA_OECONF_append_class-target = " SYSTEMCTL=${base_bindir}/systemctl"
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-nativesdk = ""
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[largefile] = "--enable-largefile,--disable-largefile,,"
PACKAGECONFIG[user-session] = "--enable-user-session --with-systemduserunitdir=${systemd_user_unitdir},--disable-user-session"
do_install() {

View File

@ -30,7 +30,7 @@ EXTRA_OECMAKE=" \
-DCMAKE_USE_SYSTEM_LIBRARY_LIBUV=0 \
-DKWSYS_CHAR_IS_SIGNED=1 \
-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() {

View File

@ -20,6 +20,6 @@ inherit autotools pkgconfig
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"

View File

@ -29,9 +29,10 @@ BBCLASSEXTEND = "native"
inherit autotools pkgconfig
PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'largefile', d)} \
"
PACKAGECONFIG ??= ""
PACKAGECONFIG[libcap] = "--with-caps, --without-caps, libcap"
PACKAGECONFIG[libseccomp] = "--with-seccomp, --without-seccomp, libseccomp"
PACKAGECONFIG[largefile] = "--enable-largefile,--disable-largefile,,"
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?
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() {
# Make hostperl in build directory be the native perl
ln -sf ${HOSTPERL} hostperl
@ -182,8 +171,6 @@ do_configure() {
config.sh-${TARGET_ARCH}-${TARGET_OS}
fi
${@bb.utils.contains('DISTRO_FEATURES', 'largefile', '', 'do_nolargefile', d)}
# Update some paths in the configuration
sed -i -e 's,@ARCH@-thread-multi,,g' \
-e 's,@ARCH@,${TARGET_ARCH}-${TARGET_OS},g' \

View File

@ -11,17 +11,14 @@ PACKAGECONFIG ?= "zlib bz2"
PACKAGECONFIG_append_class-target = "\
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_class-target = "bzip2"
PACKAGECONFIG[acl] = "--enable-acl,--disable-acl,acl,"
PACKAGECONFIG[xattr] = "--enable-xattr,--disable-xattr,attr,"
PACKAGECONFIG[largefile] = "--enable-largefile,--disable-largefile,,"
PACKAGECONFIG[zlib] = "--with-zlib,--without-zlib,zlib,"
PACKAGECONFIG[bz2] = "--with-bz2lib,--without-bz2lib,${DEPENDS_BZIP2},"
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[lz4] = "--with-lz4,--without-lz4,lz4,"
EXTRA_OECONF += "--enable-largefile"
SRC_URI = "http://libarchive.org/downloads/libarchive-${PV}.tar.gz \
file://non-recursive-extract-and-list.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 \
${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)} \
${@bb.utils.contains('DISTRO_FEATURES', 'largefile', 'lfs', '', d)} \
${@bb.utils.contains('DISTRO_FEATURES', 'xattr', 'attr', '', d)} \
"
PACKAGECONFIG[lfs] = "--enable-lfs,--disable-lfs"
PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6"
PACKAGECONFIG[mmap] = "--enable-mmap,--disable-mmap"
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[lua] = "--with-lua,--without-lua,lua5.1"
EXTRA_OECONF += "--enable-lfs"
inherit autotools pkgconfig update-rc.d gettext systemd
INITSCRIPT_NAME = "lighttpd"