Add patch for boost 1.42.0, thanks to Andrew Savchenko (bug 307975)
authorJonathan Callen <jcallen@gentoo.org>
Fri, 26 Mar 2010 18:14:15 +0000 (18:14 +0000)
committerJonathan Callen <jcallen@gentoo.org>
Fri, 26 Mar 2010 18:14:15 +0000 (18:14 +0000)
Package-Manager: portage--svn/cvs/Linux i686

dev-util/schroot/ChangeLog
dev-util/schroot/Manifest
dev-util/schroot/files/schroot-1.4.1-boost-validation_error.patch [new file with mode: 0644]
dev-util/schroot/schroot-1.4.1-r1.ebuild [new file with mode: 0644]

index af8996bdc9ccba9443f5a79c44df085f2601144e..b2b38d913fe56602b6f1ad70a9c9e14be02fa247 100644 (file)
@@ -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.15 2010/02/27 02:06:47 abcd Exp $
+# $Header: /var/cvsroot/gentoo-x86/dev-util/schroot/ChangeLog,v 1.16 2010/03/26 18:14:15 abcd Exp $
+
+*schroot-1.4.1-r1 (26 Mar 2010)
+
+  26 Mar 2010; Jonathan Callen <abcd@gentoo.org> +schroot-1.4.1-r1.ebuild,
+  +files/schroot-1.4.1-boost-validation_error.patch:
+  Add patch for boost 1.42.0, thanks to Andrew Savchenko (bug 307975)
 
 *schroot-1.4.1 (27 Feb 2010)
 
index a57796c00501237296c3906ec1ea4b0381dd3227..6cc26b0065328d6d2749e59e24d8b6e2df7d5ac0 100644 (file)
@@ -4,6 +4,7 @@ Hash: SHA1
 AUX schroot-1.2.3-autotools.patch 4432 RMD160 1ecd6ff54c4a24ff311ed44fbecd231b0aa3c8bf SHA1 931533d5451c974fc961b5d57c06d082bb46e9d2 SHA256 5aa0984dd93441c28ba790d7dcad762f77ebc35ea05238f47ad73adc9de79c19
 AUX schroot-1.2.3-tests.patch 3731 RMD160 0cb5ccf9f4cc526c7c80fe2fc3b0faa2d3e2ddbb SHA1 78d28c87f42f292434c2ec99029c98ec4ad26b26 SHA256 901c9d33b492c7a6d3cd75cebcc898985bf32563a5dde6fdafcd8df7168200e6
 AUX schroot-1.4.0-tests.patch 2429 RMD160 521c205666cea13d3f8947a4e7acbbbb3cbb4a8d SHA1 5dda3514d0aca878e54017458ecf90b6a2565df3 SHA256 f33d497b38c6c4a4583bf4bca79cce7045ecce6d8dad5dde98a5b8f01dd8b9b5
+AUX schroot-1.4.1-boost-validation_error.patch 5462 RMD160 655a0b3e0db33226b51e88961389951e77d8bba6 SHA1 21f1486a370988f0a0f5707dfabbf6853a95d2fc SHA256 19d2c89d24c517c345847e0343794b628f2ccef4c0cc286e8518d018f571e5a5
 AUX schroot.confd 371 RMD160 d7efa36975f549304a1e8a942f6389720d1bff88 SHA1 3eaf672a13c6dd4fadd01b7c1c54bc82f71d5b93 SHA256 68efa89cd4b358c6de050ebb5b973c87ee514fe5e5d888f63aa0af85aa4736c8
 AUX schroot.initd 705 RMD160 efdb102d21137a72b20fef8882e2b15ba7dabfc6 SHA1 d585fba4d92dc6d94275e079046e4ce821183b6b SHA256 8f8537c0c6c93d1169c8a333ddd78c4471d95956cfb187e3bd6612a4ad9f78f5
 DIST schroot_1.2.3.orig.tar.gz 25486414 RMD160 2c8c4bb92c870a6c0514df528d13f73b8f1b6d05 SHA1 1775aa19e3cb3237d8aa3cc36e3382d7e2c2919b SHA256 c3bca449abdf28b66f6aede8892ce61967b5c1d758ba567e8648ccfb0cf914ec
@@ -11,13 +12,14 @@ DIST schroot_1.4.0.orig.tar.gz 1065731 RMD160 402eda02eddb343f19c714aecc9ab20f23
 DIST schroot_1.4.1.orig.tar.gz 1032672 RMD160 433cefe0a06174265dc1a30e967aa505fff8ef21 SHA1 796b8d6972bac9ac196696d45edfc89b9e7ecc4b SHA256 98680ec3bd579029f0f6264bc52bc47a30349f2a5b62efbd574a0d755167aed0
 EBUILD schroot-1.2.3-r4.ebuild 2151 RMD160 01379f16274370ede81a36db68a295564ddfeb3d SHA1 c3c6e1679ae91f6cdac3a76407db8eda36e16a87 SHA256 74426b94619c43dd935d39b284b123527ba2037b6f676276e14c54534800ba00
 EBUILD schroot-1.4.0.ebuild 2626 RMD160 28e747f35b77e837b3a8e2768fa0e6a6732b9a90 SHA1 9a3a194e71b409724fc05e5245e33100609025d7 SHA256 d9647f11d4214ff0c10d8c9faf8399518b2c05b5d27110cd9617bc709d4cbbfa
+EBUILD schroot-1.4.1-r1.ebuild 4689 RMD160 fc6ea2d0ba197e14f6810401dd48b8836158b8ba SHA1 f8575342bec2f6dab17e052d6c1734901cb895ff SHA256 04b67ca649f16e54ff34ef44f5b02dfc4f52a34e321d918575dae20d74b779e2
 EBUILD schroot-1.4.1.ebuild 4591 RMD160 1f8bc33600c96513c79e251f7d6d99b117289996 SHA1 21cd7b7a6e547809206e12a39fb8557471721ef6 SHA256 ea92bb37c76e62a562306aad3ac190bfaa51b17a0d38760e9770eb348e24f1b9
-MISC ChangeLog 2778 RMD160 3ea597692867904c68da709893c00750101875d7 SHA1 17148661c591093cf9b8e5a69f4e66e5f2f48c7e SHA256 e5ba8ecf93aba766eea79d23a5776e739d5998a2ee9bf5f90283d7ba8d28aeab
+MISC ChangeLog 3010 RMD160 1a1797d3384684d5e262c9d29a8f92544b6927dc SHA1 8d0517425397ec8291559aafa02328f572a1d864 SHA256 f135edfc8b3ef0f0fb0225fc3b4cc76fc18127d2b58d323fc4ff1a21517fe49d
 MISC metadata.xml 445 RMD160 33e3b17a7e5250ab10a3c7e25cbd644ac0c5dee3 SHA1 5fb67d7fbb8912b306d68551fbfc2138d17ebacd SHA256 222724ef581a733b8157a144259d0762858459ac33b0f1b28139716543693234
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v2.0.14 (GNU/Linux)
 
-iEYEARECAAYFAkuIfkAACgkQOypDUo0oQOqAVACfVPRz1lWS+EbGJsy0D5inPseS
-jogAn0+NTMFsQTA6NsqPFKaqRQwmvDx+
-=12IP
+iEYEARECAAYFAkus+YAACgkQOypDUo0oQOpK2gCgh9ZgdFM1AWXHFEmP7hQz6c21
+XKIAniSkVRkm9ci3/JLY+HZZaU1mmcyW
+=jWn1
 -----END PGP SIGNATURE-----
diff --git a/dev-util/schroot/files/schroot-1.4.1-boost-validation_error.patch b/dev-util/schroot/files/schroot-1.4.1-boost-validation_error.patch
new file mode 100644 (file)
index 0000000..3dc92af
--- /dev/null
@@ -0,0 +1,142 @@
+Fix for api change in boost 1.42.0 - validation_error -> error.
+
+Thanks to Andrew Savchenko <bircoph@gmail.com>.
+
+--- schroot-1.4.1.orig/bin/csbuild/csbuild-options.cc
++++ schroot-1.4.1/bin/csbuild/csbuild-options.cc
+@@ -220,9 +220,9 @@
+   if (vm.count("binNMU") && vm.count("make-binNMU"))
+     this->bin_nmu = true;
+   else if (vm.count("binNMU"))
+-    throw opt::validation_error(_("--makebinNMU missing"));
++    throw opt::error(_("--makebinNMU missing"));
+   else if (vm.count("make-binNMU"))
+-    throw opt::validation_error(_("--binNMU missing"));
++    throw opt::error(_("--binNMU missing"));
+ 
+   if (!deb_build_options_string.empty())
+     {
+--- schroot-1.4.1.orig/bin/dchroot-dsa/dchroot-dsa-options.cc
++++ schroot-1.4.1/bin/dchroot-dsa/dchroot-dsa-options.cc
+@@ -90,11 +90,11 @@
+ 
+   // dchroot-dsa only allows one command.
+   if (this->command.size() > 1)
+-    throw opt::validation_error(_("Only one command may be specified"));
++    throw opt::error(_("Only one command may be specified"));
+ 
+   if (!this->command.empty() &&
+       !sbuild::is_absname(this->command[0]))
+-    throw opt::validation_error(_("Command must have an absolute path"));
++    throw opt::error(_("Command must have an absolute path"));
+ 
+   if (this->chroots.empty() && !all_used() &&
+       (this->action != ACTION_CONFIG &&
+@@ -103,5 +103,5 @@
+        this->action != ACTION_LOCATION &&
+        this->action != ACTION_HELP &&
+        this->action != ACTION_VERSION))
+-    throw opt::validation_error(_("No chroot specified"));
++    throw opt::error(_("No chroot specified"));
+ }
+--- schroot-1.4.1.orig/bin/schroot/schroot-options-base.cc
++++ schroot-1.4.1/bin/schroot/schroot-options-base.cc
+@@ -200,7 +200,7 @@
+       this->load_chroots = true;
+       this->load_sessions = false;
+       if (this->chroots.size() != 1 || all_used())
+-      throw opt::validation_error
++      throw opt::error
+         (_("Exactly one chroot must be specified when beginning a session"));
+ 
+       this->all = this->all_chroots = this->all_sessions = false;
+@@ -213,7 +213,7 @@
+       this->load_chroots = this->load_sessions = true;
+ 
+       if (!this->session_name.empty())
+-        throw opt::validation_error
++        throw opt::error
+         (_("--session-name is not permitted for the specified action; did you mean to use --chroot?"));
+     }
+   else if (this->action == ACTION_HELP ||
+@@ -234,7 +234,7 @@
+       if (this->all_sessions)
+       this->load_sessions = true;
+       if (!this->chroots.empty())
+-      throw opt::validation_error(_("--chroot may not be used with --list"));
++      throw opt::error(_("--chroot may not be used with --list"));
+     }
+   else if (this->action == ACTION_INFO ||
+          this->action == ACTION_LOCATION ||
+@@ -259,6 +259,6 @@
+       // Something went wrong
+       this->load_chroots = this->load_sessions = false;
+       this->all = this->all_chroots = this->all_sessions = false;
+-      throw opt::validation_error(_("Unknown action specified"));
++      throw opt::error(_("Unknown action specified"));
+     }
+ }
+--- schroot-1.4.1.orig/bin/schroot-base/schroot-base-option-action.cc
++++ schroot-1.4.1/bin/schroot-base/schroot-base-option-action.cc
+@@ -82,7 +82,7 @@
+       if (this->current_action == "")
+       this->current_action = action;
+       else
+-      throw opt::validation_error(_("Only one action may be specified"));
++      throw opt::error(_("Only one action may be specified"));
+     }
+   else
+     throw std::logic_error((format(_("%1%: invalid action")) % action).str());
+--- schroot-1.4.1.orig/bin/schroot-base/schroot-base-options.cc
++++ schroot-1.4.1/bin/schroot-base/schroot-base-options.cc
+@@ -155,7 +155,7 @@
+       else if (this->debug_level == "critical")
+       sbuild::debug_log_level = sbuild::DEBUG_CRITICAL;
+       else
+-      throw opt::validation_error(_("Invalid debug level"));
++      throw opt::error(_("Invalid debug level"));
+     }
+   else
+     sbuild::debug_log_level = sbuild::DEBUG_NONE;
+--- schroot-1.4.1.orig/bin/schroot-listmounts/schroot-listmounts-options.cc
++++ schroot-1.4.1/bin/schroot-listmounts/schroot-listmounts-options.cc
+@@ -86,5 +86,5 @@
+ 
+   if (this->action == ACTION_LISTMOUNTS &&
+       this->mountpoint.empty())
+-    throw opt::validation_error(_("No mount point specified"));
++    throw opt::error(_("No mount point specified"));
+ }
+--- schroot-1.4.1.orig/bin/schroot-mount/schroot-mount-options.cc
++++ schroot-1.4.1/bin/schroot-mount/schroot-mount-options.cc
+@@ -99,5 +99,5 @@
+ 
+   if (this->action == ACTION_MOUNT &&
+       this->mountpoint.empty())
+-    throw opt::validation_error(_("No mount point specified"));
++    throw opt::error(_("No mount point specified"));
+ }
+--- schroot-1.4.1.orig/bin/schroot-releaselock/schroot-releaselock-options.cc
++++ schroot-1.4.1/bin/schroot-releaselock/schroot-releaselock-options.cc
+@@ -89,5 +89,5 @@
+ 
+   if (this->action == ACTION_RELEASELOCK &&
+       this->device.empty())
+-    throw opt::validation_error(_("No device specified"));
++    throw opt::error(_("No device specified"));
+ }
+--- schroot-1.4.1.orig/test/schroot-base-option-action.cc
++++ schroot-1.4.1/test/schroot-base-option-action.cc
+@@ -37,10 +37,10 @@
+   CPPUNIT_TEST(test_current);
+   CPPUNIT_TEST_EXCEPTION(test_current_fail, std::logic_error);
+   CPPUNIT_TEST_EXCEPTION(test_current_fail_multipleset,
+-                       opt::validation_error);
++                       opt::error);
+   CPPUNIT_TEST(test_operators);
+   CPPUNIT_TEST_EXCEPTION(test_operators_fail_multipleset,
+-                       opt::validation_error);
++                       opt::error);
+   CPPUNIT_TEST_SUITE_END();
+ 
+ protected:
diff --git a/dev-util/schroot/schroot-1.4.1-r1.ebuild b/dev-util/schroot/schroot-1.4.1-r1.ebuild
new file mode 100644 (file)
index 0000000..cd2a5c0
--- /dev/null
@@ -0,0 +1,168 @@
+# 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-r1.ebuild,v 1.1 2010/03/26 18:14:15 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.42.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"
+       # This patch requires boost >= 1.42.0
+       "${FILESDIR}/${PN}-1.4.1-boost-validation_error.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
+}