blob: 0b57a4b32761c8b0cc9e50531812ca087f5c4a2c (
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
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
|
# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
inherit bash-completion-r1 cmake pam tmpfiles
MY_P=${PN}_${PV/_p/-}
DESCRIPTION="Utility to execute commands in a chroot environment"
HOMEPAGE="https://codeberg.org/shelter/reschroot"
SRC_URI="https://codeberg.org/shelter/reschroot/archive/release/re${P/%_p*}.tar.gz -> ${P/%_p*}.tar.gz
mirror://debian/pool/main/${PN::1}/${PN}/${MY_P}.debian.tar.xz"
LICENSE="GPL-3"
SLOT="0"
KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv x86"
IUSE="btrfs +dchroot debug doc lvm nls pam test zfs"
RESTRICT="!test? ( test )"
COMMON_DEPEND="
dev-libs/boost:=
>=sys-apps/util-linux-2.16
btrfs? ( >=sys-fs/btrfs-progs-0.19-r2 )
lvm? ( sys-fs/lvm2 )
pam? ( sys-libs/pam )
zfs? ( sys-fs/zfs )
"
DEPEND="${COMMON_DEPEND}
app-arch/xz-utils
sys-apps/groff
doc? (
app-doc/doxygen
media-gfx/graphviz
)
nls? (
>=app-text/po4a-0.40
sys-devel/gettext
)
test? ( >=dev-util/cppunit-1.10.0 )
"
RDEPEND="${COMMON_DEPEND}
sys-apps/debianutils
dchroot? ( !sys-apps/dchroot )
nls? ( virtual/libintl )
"
S="${WORKDIR}/re${PN}"
src_unpack() {
unpack "${P/%_p*}".tar.gz
cd "${S}"
unpack ${MY_P}.debian.tar.xz
}
src_prepare() {
sed -i -e 's/warn(/message(WARNING /' man/CMakeLists.txt || die
eapply "${S}"/debian/patches/*.patch
cmake_src_prepare
}
src_configure() {
local mycmakeargs=(
-Dbtrfs-snapshot=$(usex btrfs)
-Ddchroot=$(usex dchroot)
-Ddchroot-dsa=$(usex dchroot)
-Ddebug=$(usex debug)
-Ddoxygen=$(usex doc)
-Dlvm-snapshot=$(usex lvm)
-Dnls=$(usex nls)
-Dpam=$(usex pam)
-Dtest=$(usex test)
-Dzfs-snapshot=$(usex zfs)
-Dbash_completion_dir="$(get_bashcompdir)"
-DCMAKE_INSTALL_SYSCONFDIR="${EPREFIX}/etc"
-DCMAKE_INSTALL_LOCALSTATEDIR="${EPREFIX}/var"
-DSCHROOT_MOUNT_DIR="${EPREFIX}/run/${PN}/mount"
-DBoost_NO_BOOST_CMAKE=ON # https://bugs.gentoo.org/791712 and https://bugs.gentoo.org/752120
)
if ! use nls; then
mycmakeargs+=(-DPO4A_EXECUTABLE=NOTFOUND)
fi
cmake_src_configure
}
src_compile() {
cmake_src_compile all $(usev doc)
}
src_test() {
if [[ ${EUID} -ne 0 ]]; then
ewarn "Disabling tests because you are not root"
return 0
fi
# -j1 to prevent race between test/setup-test-data and test/cleanup-test-data
cmake_src_test -j1
}
src_install() {
cmake_src_install
# debian-stype PS1 for chroot
# checks for /etc/debian_chroot file, which is created by schroot
insinto /etc/bash/bashrc.d
doins "${FILESDIR}/schroot_prompt.sh"
# gentoo /var/tmp/portage handler
# e.g. portage.base.tmpdir=/var/tmp/portage in config file
# will use a subdirectory of hosts $PORTAGE_TMPDIR
exeinto /etc/schroot/setup.d
doexe "${FILESDIR}/11gentoo"
# support for zfs clone options.
# zfs.clone.options=com.sun:auto-snapshot=false
if use zfs; then
exeinto /etc/schroot/setup.d
doexe "${FILESDIR}/06zfscloneopts"
fi
keepdir /var/lib/schroot/{session,unpack,union/{overlay,underlay}}
docinto contrib/setup.d
dodoc contrib/setup.d/05customdir contrib/setup.d/09fsck contrib/setup.d/10mount-ssh
newdoc debian/schroot.NEWS NEWS.debian
newinitd "${FILESDIR}"/schroot.initd schroot
newconfd "${FILESDIR}"/schroot.confd schroot
newtmpfiles "${FILESDIR}"/schroot.tmpfilesd schroot.conf
if use doc; then
docinto html/sbuild
dodoc "${BUILD_DIR}"/doc/sbuild/html/*
docinto html/schroot
dodoc "${BUILD_DIR}"/doc/schroot/html/*
fi
if use pam; then
rm -f "${ED}"/etc/pam.d/schroot
pamd_mimic_system schroot auth account session
fi
}
pkg_postinst() {
tmpfiles_process ${PN}.conf
}
|