aboutsummaryrefslogtreecommitdiff
blob: 30063819699c61ee63a47b2073b4c1887729efbd (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2

src_configure() {
	# devicemapper needs to find udev
	append-ldflags -Wl,-rpath-link,${BROOT}/usr/lib

	export ac_cv_header_security_pam_misc_h=no
	export ac_cv_header_security_pam_appl_h=no

	local myconf=(
		--enable-static_link
		--enable-pkgconfig
		--enable-dmeventd
		--enable-cmdlib
		--disable-lvmetad
		--with-clvmd=none
		--with-cluster=none
		--disable-readline
		--disable-selinux
		--with-mirrors=internal
		--with-snapshots=internal
		--with-thin=internal
		--with-cache=internal
		--disable-udev-systemd-background-jobs
		--enable-udev_sync
		--enable-udev_rules
	)

	local texec
	for texec in check dump repair restore
	do
		myconf+=( --with-thin-${texec}=/usr/sbin/thin_${texec} )
		myconf+=( --with-cache-${texec}=/usr/sbin/cache_${texec} )
	done

	# Hard-wire this to bash as some shells (dash) don't know
	# "-o pipefail" #682404, #716496
	CONFIG_SHELL="/bin/bash" \
	gkconf "${myconf[@]}"
}

src_install() {
	default

	rm -rf \
		"${D}"/etc \
		"${D}"/usr/sbin/* \
		"${D}"/share

	cp -a tools/lvm.static "${D}"/usr/sbin/lvm \
		|| die "Failed to copy '${S}/tools/lvm.static' to '${D}/usr/sbin/lvm'!"

	"${STRIP}" --strip-all "${D}"/usr/sbin/lvm \
		|| die "Failed to strip '${D}/usr/sbin/lvm'!"

	cp -a tools/dmsetup.static "${D}"/usr/sbin/dmsetup \
		|| die "Failed to copy '${S}/tools/dmsetup.static' to '${D}/usr/sbin/dmsetup'!"

	"${STRIP}" --strip-all "${D}"/usr/sbin/dmsetup \
		|| die "Failed to strip '${D}/usr/sbin/dmsetup'!"

	ln -s dmsetup "${D}"/usr/sbin/dmstats \
		|| die "Failed to create symlink '${D}/usr/sbin/dmstats' to '${D}/usr/sbin/dmsetup'!"

	# For backward compatibility (packages like multipath-tools are
	# expecting /sbin/dmsetup in udev rules).
	mkdir "${D}"/sbin || die "Failed to create '${D}/sbin'!"

	ln -s ../usr/sbin/dmsetup "${D}"/sbin/dmsetup \
		|| die "Failed to create symlink '${D}/sbin/dmsetup' to '${D}/usr/sbin/dmsetup'!"

	ln -s ../usr/sbin/dmstats "${D}"/sbin/dmstats \
		|| die "Failed to create symlink '${D}/sbin/dmstats' to '${D}/usr/sbin/dmstats'!"

	ln -s ../usr/sbin/lvm "${D}"/sbin/lvm \
		|| die "Failed to create symlink '${D}/sbin/lvm' to '${D}/usr/sbin/lvm'!"
}