summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJonathan Callen <abcd@gentoo.org>2010-02-27 02:06:47 +0000
committerJonathan Callen <abcd@gentoo.org>2010-02-27 02:06:47 +0000
commit3cc09028e7e73555dea2bccf1a8c33f2a43cce89 (patch)
treee9ad8702b2f4d0fb429af5eadc0c8294e0a0810e /dev-util
parentadd temporary mask for schroot (diff)
downloadgentoo-2-3cc09028e7e73555dea2bccf1a8c33f2a43cce89.tar.gz
gentoo-2-3cc09028e7e73555dea2bccf1a8c33f2a43cce89.tar.bz2
gentoo-2-3cc09028e7e73555dea2bccf1a8c33f2a43cce89.zip
New upstream version; automatically move local scripts to new locations, and add (temporary) symlinks from the old
(Portage version: -svn/cvs/Linux i686)
Diffstat (limited to 'dev-util')
-rw-r--r--dev-util/schroot/ChangeLog8
-rw-r--r--dev-util/schroot/schroot-1.4.1.ebuild166
2 files changed, 173 insertions, 1 deletions
diff --git a/dev-util/schroot/ChangeLog b/dev-util/schroot/ChangeLog
index ed3f63559c1c..af8996bdc9cc 100644
--- a/dev-util/schroot/ChangeLog
+++ b/dev-util/schroot/ChangeLog
@@ -1,6 +1,12 @@
# ChangeLog for dev-util/schroot
# Copyright 1999-2010 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/dev-util/schroot/ChangeLog,v 1.14 2010/02/13 22:29:07 abcd Exp $
+# $Header: /var/cvsroot/gentoo-x86/dev-util/schroot/ChangeLog,v 1.15 2010/02/27 02:06:47 abcd Exp $
+
+*schroot-1.4.1 (27 Feb 2010)
+
+ 27 Feb 2010; Jonathan Callen <abcd@gentoo.org> +schroot-1.4.1.ebuild:
+ New upstream version; automatically move local scripts to new locations,
+ and add (temporary) symlinks from the old
13 Feb 2010; Jonathan Callen <abcd@gentoo.org> schroot-1.4.0.ebuild:
Remove RESTRICT=mirror, was only meant for local testing
diff --git a/dev-util/schroot/schroot-1.4.1.ebuild b/dev-util/schroot/schroot-1.4.1.ebuild
new file mode 100644
index 000000000000..97567e380e31
--- /dev/null
+++ b/dev-util/schroot/schroot-1.4.1.ebuild
@@ -0,0 +1,166 @@
+# Copyright 1999-2010 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/dev-util/schroot/schroot-1.4.1.ebuild,v 1.1 2010/02/27 02:06:47 abcd Exp $
+
+EAPI="2"
+WANT_AUTOMAKE="1.11"
+
+inherit autotools base pam
+
+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}/${PN}_${PV}.orig.tar.gz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="+dchroot debug doc lvm nls pam test"
+
+COMMON_DEPEND="
+ >=dev-libs/boost-1.39.0
+ dev-libs/lockdev
+ >=sys-apps/util-linux-2.16
+ lvm? ( sys-fs/lvm2 )
+ pam? ( sys-libs/pam )
+"
+
+DEPEND="${COMMON_DEPEND}
+ doc? (
+ app-doc/doxygen
+ media-gfx/graphviz
+ )
+ nls? ( sys-devel/gettext )
+ test? ( >=dev-util/cppunit-1.10.0 )
+"
+RDEPEND="${COMMON_DEPEND}
+ sys-apps/debianutils
+ dchroot? ( !sys-apps/dchroot )
+ nls? ( virtual/libintl )
+"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-1.4.0-tests.patch"
+)
+
+src_prepare() {
+ base_src_prepare
+
+ # Don't depend on cppunit unless we are testing
+ use test || sed -i '/AM_PATH_CPPUNIT/d' configure.ac
+
+ echo -e "Package: ${PN}\nVersion: ${PV}" > VERSION
+
+ eautoreconf
+}
+
+src_configure() {
+ root_tests=no
+ use test && (( EUID == 0 )) && root_tests=yes
+ econf \
+ $(use_enable doc doxygen) \
+ $(use_enable dchroot) \
+ $(use_enable dchroot dchroot-dsa) \
+ $(use_enable debug) \
+ $(use_enable lvm lvm-snapshot) \
+ $(use_enable nls) \
+ $(use_enable pam) \
+ --enable-block-device \
+ --enable-loopback \
+ --enable-uuid \
+ --enable-root-tests=$root_tests \
+ --enable-shared \
+ --disable-static \
+ --localstatedir=/var \
+ --with-bash-completion-dir=/usr/share/bash-completion
+}
+
+src_test() {
+ if [[ $root_tests == yes && $EUID -ne 0 ]]; then
+ ewarn "Disabling tests because you are no longer root"
+ return 0
+ fi
+ default
+}
+
+src_install() {
+ emake DESTDIR="${D}" install || die "emake install failed"
+
+ newinitd "${FILESDIR}"/schroot.initd schroot || die "installation of init.d script failed"
+ newconfd "${FILESDIR}"/schroot.confd schroot || die "installation of conf.d file failed"
+
+ dodoc AUTHORS ChangeLog NEWS README THANKS TODO || die "installation of docs failed"
+ if use doc; then
+ docinto html/sbuild
+ dohtml doc/sbuild/html/* || die "installation of html docs failed"
+ docinto html/schroot
+ dohtml doc/schroot/html/* || die "installation of html docs failed"
+ fi
+
+ if use pam; then
+ rm -f "${D}"/etc/pam.d/schroot
+ pamd_mimic_system schroot auth account session
+ fi
+
+ # Remove *.la files
+ find "${D}" -name "*.la" -exec rm {} + || die "removal of *.la files failed"
+}
+
+pkg_preinst() {
+ export had_older_1_4_1=false
+ has_version "<dev-util/schroot-1.4.1" && had_older_1_4_1=true
+ if ${had_older_1_4_1}; then
+ einfo "Moving config files to new location..."
+ mkdir "${ROOT}etc/schroot/default"
+ mv_conffile etc/schroot/script-defaults etc/schroot/default/config
+ mv_conffile etc/schroot/mount-defaults etc/schroot/default/fstab
+ mv_conffile etc/schroot/copyfiles-defaults etc/schroot/default/copyfiles
+ mv_conffile etc/schroot/nssdatabases-defaults etc/schroot/default/nssdatabases
+ fi
+}
+
+mv_conffile() {
+ local OLDFILE=${ROOT}$1
+ local NEWFILE=${ROOT}$2
+
+ # if the old file doesn't exist, or is a symlink, stop
+ [[ -f ${OLDFILE} ]] || return 0
+ [[ -L ${OLDFILE} ]] && return 0
+
+ # if the new file already exists, then we have a problem...
+ if [[ -e ${NEWFILE} ]]; then
+ # but if they are the same, then don't worry about it
+ if cmp -s "${OLDFILE}" "${NEWFILE}"; then
+ rm -f "${OLDFILE}"
+ else
+ ewarn "${NEWFILE} already exists, not moving ${OLDFILE}"
+ fi
+ else
+ mv "${OLDFILE}" "${NEWFILE}"
+ fi
+
+ local x y
+ # now move all the unmerged config files as well
+ for x in "${OLDFILE%/*}"/._cfg????_"${OLDFILE##*/}"; do
+ [[ -f ${x} ]] || continue
+ # /etc/schroot/._cfg0000_script-defaults -> /etc/schroot/default/._cfg0000_config
+ y=${x##*/}
+ y=${NEWFILE%*/}${y%${OLDFILE##*/}}${NEWFILE##*/}
+ mv "${x}" "${y}"
+ done
+}
+
+pkg_postinst() {
+ local x
+ if ${had_older_1_4_1}; then
+ for x in script:config mount:fstab copyfiles nssdatabases; do
+ if [[ ! -e ${ROOT}etc/schroot/${x%:*}-defaults && -f ${ROOT}etc/schroot/default/${x#*:} ]]; then
+ einfo "Creating compatibility symlink for ${x%:*}-defaults"
+ ln -sf "default/${x#*:}" "${ROOT}etc/schroot/${x%:*}-defaults"
+ fi
+ done
+
+ ewarn "Your config files have been moved to the new location in"
+ ewarn "/etc/schroot/default. Compatibility symlinks have been installed in"
+ ewarn "/etc/schroot, and may be removed if no running chroot refers to them."
+ fi
+}