1config BR2_PACKAGE_LIBBLOCKDEV
2	bool "libblockdev"
3	depends on !BR2_STATIC_LIBS # kmod
4	depends on BR2_USE_WCHAR # libglib2
5	depends on BR2_TOOLCHAIN_HAS_THREADS # libglib2
6	depends on BR2_USE_MMU # libglib2
7	depends on BR2_PACKAGE_HAS_UDEV
8	depends on BR2_ENABLE_LOCALE
9	select BR2_PACKAGE_KMOD
10	select BR2_PACKAGE_LIBGLIB2
11	select BR2_PACKAGE_UTIL_LINUX
12	select BR2_PACKAGE_UTIL_LINUX_LIBUUID
13	help
14	  libblockdev is a C library supporting GObject introspection
15	  for manipulation of block devices. It has a plugin-based
16	  architecture where each technology (like LVM, Btrfs, MD RAID,
17	  Swap,...) is implemented in a separate plugin, possibly with
18	  multiple implementations.
19
20	  https://github.com/storaged-project/libblockdev/
21
22if BR2_PACKAGE_LIBBLOCKDEV
23
24comment "plugins"
25
26config BR2_PACKAGE_LIBBLOCKDEV_CRYPTO
27	bool "crypto"
28	depends on BR2_TOOLCHAIN_HAS_SYNC_4 # cryptsetup -> json-c
29	select BR2_PACKAGE_CRYPTSETUP
30	select BR2_PACKAGE_KEYUTILS
31
32config BR2_PACKAGE_LIBBLOCKDEV_FS
33	bool "filesystem"
34	depends on BR2_ENABLE_LOCALE # parted
35	depends on BR2_TOOLCHAIN_GCC_AT_LEAST_5 # parted
36	select BR2_PACKAGE_UTIL_LINUX_LIBMOUNT
37	select BR2_PACKAGE_PARTED
38	select BR2_PACKAGE_E2FSPROGS
39
40comment "filesystem plugin needs a toolchain w/ locale, gcc >= 5"
41	depends on !BR2_ENABLE_LOCALE || !BR2_TOOLCHAIN_GCC_AT_LEAST_5
42
43config BR2_PACKAGE_LIBBLOCKDEV_LOOP
44	bool "loop"
45
46config BR2_PACKAGE_LIBBLOCKDEV_LVM2
47	bool "lvm2"
48	depends on BR2_ENABLE_LOCALE # parted
49	depends on BR2_TOOLCHAIN_GCC_AT_LEAST_5 # parted
50	select BR2_PACKAGE_PARTED
51	select BR2_PACKAGE_LVM2
52
53comment "lvm2 support needs a toolchain w/ locale, gcc >= 5"
54	depends on !BR2_ENABLE_LOCALE || !BR2_TOOLCHAIN_GCC_AT_LEAST_5
55
56config BR2_PACKAGE_LIBBLOCKDEV_MDRAID
57	bool "mdraid"
58	select BR2_PACKAGE_LIBBYTESIZE
59
60config BR2_PACKAGE_LIBBLOCKDEV_NVME
61	bool "nvme"
62	select BR2_PACKAGE_LIBNVME
63
64config BR2_PACKAGE_LIBBLOCKDEV_PART
65	bool "part"
66	depends on BR2_ENABLE_LOCALE # parted
67	depends on BR2_TOOLCHAIN_GCC_AT_LEAST_5 # parted
68	select BR2_PACKAGE_PARTED
69	select BR2_PACKAGE_UTIL_LINUX_LIBFDISK
70
71comment "part plugin needs a toolchain w/ locale, gcc >= 5"
72	depends on !BR2_ENABLE_LOCALE || !BR2_TOOLCHAIN_GCC_AT_LEAST_5
73
74config BR2_PACKAGE_LIBBLOCKDEV_SWAP
75	bool "swap"
76	select BR2_PACKAGE_UTIL_LINUX_LIBBLKID
77
78endif
79
80comment "libblockdev needs udev /dev management and a toolchain w/ wchar, threads, dynamic library, locale"
81	depends on BR2_USE_MMU
82	depends on !BR2_PACKAGE_HAS_UDEV || BR2_STATIC_LIBS || \
83		!BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS || \
84		!BR2_ENABLE_LOCALE
85