# Copyright 1999-2018 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI = "6"
inherit cmake-utils eutils pam versionator bash-completion-r1
MY_P = ${ PN } _${ PV }
DEB_REL = 2
DESCRIPTION = "Utility to execute commands in a chroot environment"
HOMEPAGE = "http://packages.debian.org/source/sid/schroot"
SRC_URI = " mirror://debian/pool/main/ ${ PN : : 1 } / ${ PN } / ${ MY_P } .orig.tar.xz
mirror://debian/pool/main/${ PN : : 1 } /${ PN } /${ MY_P } -${ DEB_REL } .debian.tar.xz"
LICENSE = "GPL-3"
SLOT = "0"
KEYWORDS = "amd64 ~arm ~x86"
IUSE = "btrfs +dchroot debug doc lvm nls pam test"
COMMON_DEPEND = "
>= dev-libs/boost-1.42.0
>= sys-apps/util-linux-2.16
btrfs? ( >= sys-fs/btrfs-progs-0.19-r2 )
lvm? ( sys-fs/lvm2 )
pam? ( sys-libs/pam )
"
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 )
"
PATCHES = (
" ${ S } /debian/patches/Add-support-for-more-compression-formats.patch "
" ${ S } /debian/patches/Add-SESSION_SOURCE-and-CHROOT_SESSION_SOURCE.patch "
" ${ S } /debian/patches/10mount-Move-mount-directory-to-var-run.patch "
" ${ S } /debian/patches/Support-union-mounts-with-overlay-as-in-Linux-4.0.patch "
" ${ S } /debian/patches/GCC5-fixes-on-regexes.patch "
)
src_unpack( ) {
unpack ${ MY_P } .orig.tar.xz
cd " ${ S } "
unpack ${ MY_P } -${ DEB_REL } .debian.tar.xz
}
src_prepare( ) {
sed -i -e 's/warn(/message(WARNING /' man/CMakeLists.txt || die
sed -i -e '/^have schroot/d' etc/bash_completion/schroot || die
cmake-utils_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 )
-Dbash_completion_dir= " $( get_bashcompdir) "
-DCMAKE_INSTALL_SYSCONFDIR= " ${ EPREFIX } /etc "
-DCMAKE_INSTALL_LOCALSTATEDIR= " ${ EPREFIX } /var "
)
if ! use nls; then
mycmakeargs += ( -DPO4A_EXECUTABLE= NOTFOUND)
fi
cmake-utils_src_configure
}
src_compile( ) {
cmake-utils_src_compile all $( usev doc)
}
src_test( ) {
if [ [ $EUID -ne 0 ] ] ; then
ewarn "Disabling tests because you are not root"
return 0
fi
cmake-utils_src_test
}
src_install( ) {
cmake-utils_src_install
insinto /usr/share/doc/${ PF } /contrib/setup.d
doins 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
if use doc; then
docinto html/sbuild
dohtml " ${ BUILD_DIR } " /doc/sbuild/html/*
docinto html/schroot
dohtml " ${ 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( ) {
if [ [ ${ REPLACING_VERSIONS } = = 1.[ 24] * ] ] ; then
elog " Please read /usr/share/doc/ ${ PF } /NEWS.debian* for important "
elog "upgrade information."
fi
# If installing to a running system, upgrading from <=1.6.10-r3, then
# make sure that the runtime dirs are still visible to the new install
if [ [ ${ ROOT } = = / && ${ REPLACING_VERSIONS } ] ] && ! version_is_at_least 1.6.10-r4 ${ REPLACING_VERSIONS } ; then
ln -s " ${ EPREFIX } " /var/lib/schroot " ${ EPREFIX } " /var/run/schroot
fi
}
pkg_postrm( ) {
if [ [ -z ${ REPLACED_BY_VERSION } ] ] ; then
for dir in $( find " ${ EROOT } " /var/lib/schroot/mount -maxdepth 1 -type d | tac) ; do
rmdir " $dir " || elog " Failed to remove session mount directory $dir : Please check for any stray mounts or data under this directory and remove by hand. "
done
fi
}