buildrootschalter/package/util-linux/Config.in
Thomas Petazzoni a8da3cd61a util-linux: libblkid needs fork(), disable on !MMU
The libblkid library in util-linux uses fork. While it seems
potentially possible to disable the parts of the library that use fork
(the only parts using fork are parts related to LVM and Device Mapper,
which are said to be legacy as they are replaced by sysfs based
scanning, instead of having to fork to run a separate process).

However, since libblkid is used by:

 - e2fsprogs, which uses lots of fork all over the place
 - udev, which most likely will also need fork

There is not much point in making libblkid fork-less. As a
consequence, this commit makes util-linux/libblkid unavailable on
non-MMU architectures, and propagates the relevant dependency to the
reverse dependencies of libblkid.

This fixes the e2fsprogs build failure seen on Blackfin. The failure
was due to a configure test of e2fsprogs which was trying to link a
small test program against libblkid, which failed because there was an
undefined reference to fork() in the libblkid code.

Fixes:

  http://autobuild.buildroot.net/results/ee2c1568d16ac040011dd4d6d8b543ff9e9e2622/

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-02-24 09:01:05 +01:00

182 lines
3.9 KiB
Plaintext

config BR2_PACKAGE_UTIL_LINUX
bool "util-linux"
depends on BR2_LARGEFILE
depends on BR2_USE_WCHAR
select BR2_PACKAGE_GETTEXT if BR2_NEEDS_GETTEXT_IF_LOCALE
help
Various useful/essential linux libraries and utilities.
Things like mkfs, mkswap, swapon, fdisk, mount, dmesg, etc...
http://www.kernel.org/pub/linux/utils/util-linux/
if BR2_PACKAGE_UTIL_LINUX
config BR2_PACKAGE_UTIL_LINUX_LIBBLKID
select BR2_PACKAGE_UTIL_LINUX_LIBUUID
depends on BR2_USE_MMU # fork
bool "libblkid"
help
Install libblkid.
config BR2_PACKAGE_UTIL_LINUX_LIBMOUNT
select BR2_PACKAGE_UTIL_LINUX_LIBBLKID
# libc lacks UTIME_NOW & UTIME_COMMIT
depends on !(BR2_microblazeel || BR2_microblazebe)
depends on BR2_USE_MMU # util-linux/libblkid
bool "libmount"
help
Install libmount.
config BR2_PACKAGE_UTIL_LINUX_LIBUUID
bool "libuuid"
help
Install libuuid.
config BR2_PACKAGE_UTIL_LINUX_BINARIES
bool "install utilities"
depends on BR2_USE_MMU # fork()
# libc lacks UTIME_NOW & UTIME_COMMIT for libmount
depends on !(BR2_microblazeel || BR2_microblazebe)
select BR2_PACKAGE_UTIL_LINUX_LIBBLKID
select BR2_PACKAGE_UTIL_LINUX_LIBMOUNT
select BR2_PACKAGE_UTIL_LINUX_LIBUUID
help
Install the basic set of util-linux binaries.
if BR2_PACKAGE_UTIL_LINUX_BINARIES
config BR2_PACKAGE_UTIL_LINUX_AGETTY
bool "agetty"
help
Alternative linux getty
config BR2_PACKAGE_UTIL_LINUX_ARCH
bool "arch"
help
Print machine architecture
config BR2_PACKAGE_UTIL_LINUX_CRAMFS
bool "cramfs utilities"
select BR2_PACKAGE_ZLIB
help
Build fsck.cramfs and mkfs.cramfs
config BR2_PACKAGE_UTIL_LINUX_DDATE
bool "ddate"
help
Convert Gregorian dates to Discordian dates
config BR2_PACKAGE_UTIL_LINUX_EJECT
bool "eject"
help
Eject removable media
config BR2_PACKAGE_UTIL_LINUX_FALLOCATE
bool "fallocate"
depends on !BR2_avr32 # fallocate not implemented
help
Preallocate space to a file
config BR2_PACKAGE_UTIL_LINUX_FSCK
bool "fsck"
help
Check and repair a linux filesystem
config BR2_PACKAGE_UTIL_LINUX_KILL
bool "kill"
help
Send a signal to a process
config BR2_PACKAGE_UTIL_LINUX_LOGIN_UTILS
bool "login utilities"
depends on BR2_ENABLE_LOCALE # linux-pam
select BR2_PACKAGE_LINUX_PAM
help
Build login utilities (last, login, su, sulogin)
comment "login utilities needs a toolchain w/ locale"
depends on !BR2_ENABLE_LOCALE
config BR2_PACKAGE_UTIL_LINUX_MESG
bool "mesg"
help
Control write access to your terminal
config BR2_PACKAGE_UTIL_LINUX_MOUNT
bool "mount/umount"
help
Mount/unmount filesystems
config BR2_PACKAGE_UTIL_LINUX_PIVOT_ROOT
bool "pivot_root"
help
Change the root filesystem
config BR2_PACKAGE_UTIL_LINUX_PARTX
bool "partition utilities"
help
Partition tools (addpart, delpart, partx)
config BR2_PACKAGE_UTIL_LINUX_RAW
bool "raw"
help
Build a linux raw character device
config BR2_PACKAGE_UTIL_LINUX_RENAME
bool "rename"
help
Rename files
config BR2_PACKAGE_UTIL_LINUX_RESET
bool "reset"
help
Reset the terminal
config BR2_PACKAGE_UTIL_LINUX_SCHEDUTILS
bool "schedutils"
help
Scheduling utilities (chrt, ionice, taskset)
config BR2_PACKAGE_UTIL_LINUX_SWITCH_ROOT
bool "switch_root"
help
Switch to another filesystem as the root of the mount tree
config BR2_PACKAGE_UTIL_LINUX_UNSHARE
bool "unshare"
help
Run program with some namespaces unshared from parent
config BR2_PACKAGE_UTIL_LINUX_UTMPDUMP
bool "utmpdump"
help
Dump UTMP and WTMP files in raw format
config BR2_PACKAGE_UTIL_LINUX_UUIDD
bool "uuidd"
help
UUID generation daemon
config BR2_PACKAGE_UTIL_LINUX_WALL
bool "wall"
help
Send a message to everybody's terminal
config BR2_PACKAGE_WDCTL
bool "wdctl"
help
Shows hardware watchdog status
config BR2_PACKAGE_UTIL_LINUX_WRITE
bool "write"
help
Send a message to another user
endif
endif
comment "util-linux needs a toolchain w/ largefile, wchar"
depends on !(BR2_LARGEFILE && BR2_USE_WCHAR)