diff options
author | Thomas Sachau <tommy@gentoo.org> | 2013-08-03 08:54:42 +0000 |
---|---|---|
committer | Thomas Sachau <tommy@gentoo.org> | 2013-08-03 08:54:42 +0000 |
commit | 70db749e74a14622c92559d6116c58cf4efd62b4 (patch) | |
tree | 24ca2c74d237384ded0b118a679c047d0f5b7189 /dev-vcs | |
parent | Fix herd. (diff) | |
download | historical-70db749e74a14622c92559d6116c58cf4efd62b4.tar.gz historical-70db749e74a14622c92559d6116c58cf4efd62b4.tar.bz2 historical-70db749e74a14622c92559d6116c58cf4efd62b4.zip |
Version bump for bug 472202
Package-Manager: portage-2.2.0_alpha177-r1/cvs/Linux x86_64
Manifest-Sign-Key: 0x35899067
Diffstat (limited to 'dev-vcs')
-rw-r--r-- | dev-vcs/subversion/ChangeLog | 8 | ||||
-rw-r--r-- | dev-vcs/subversion/Manifest | 14 | ||||
-rw-r--r-- | dev-vcs/subversion/subversion-1.7.11.ebuild | 474 |
3 files changed, 489 insertions, 7 deletions
diff --git a/dev-vcs/subversion/ChangeLog b/dev-vcs/subversion/ChangeLog index 4949efa8f532..e2a5746850b8 100644 --- a/dev-vcs/subversion/ChangeLog +++ b/dev-vcs/subversion/ChangeLog @@ -1,6 +1,12 @@ # ChangeLog for dev-vcs/subversion # Copyright 1999-2013 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/dev-vcs/subversion/ChangeLog,v 1.118 2013/07/21 09:39:18 tommy Exp $ +# $Header: /var/cvsroot/gentoo-x86/dev-vcs/subversion/ChangeLog,v 1.119 2013/08/03 08:54:28 tommy Exp $ + +*subversion-1.7.11 (03 Aug 2013) + + 03 Aug 2013; Thomas Sachau (Tommy[D]) <tommy@gentoo.org> + +subversion-1.7.11.ebuild: + Version bump for bug 472202 *subversion-1.7.10 (21 Jul 2013) diff --git a/dev-vcs/subversion/Manifest b/dev-vcs/subversion/Manifest index 7652e4dda4d3..1c3a51f3a335 100644 --- a/dev-vcs/subversion/Manifest +++ b/dev-vcs/subversion/Manifest @@ -17,17 +17,19 @@ AUX svnserve.initd 818 SHA256 4f9d38d5b32d4436dcb302f7e3c7284e67d6339b25b0f057a3 AUX svnserve.initd2 828 SHA256 8f123253c3bfb9bbe87210a9e1facc7f52df371747dbc188396740a5cf4fa713 SHA512 48729e3befc9fb9f26bbb58f3e3694cecec491df65eb7251af85bec1aa16f6d1b406f2ef072c93c9136e261d8ce64aa658bf41f812c1a555c7014521c2ff775f WHIRLPOOL bbff4d5010a0f6ceb0e9e2f76984c9935f610b18163e7e5c426059a48f84451e5cbeae86582d6dd22d9a59dc47f71b253b19cce9ed6761a29013877a32cb5d81 AUX svnserve.xinetd 332 SHA256 267f30c78ef6428aeeb97d3c64c06b9acfba4bc624766fc3c6a6d2c4133799a2 SHA512 80b486507d03f430e189ef65901ed185f487651400bada5709f544954eb6175d20a11cf98893f80ec963e434c5db5642bf9d1603d698ad8bbf96b88fa45ddbae WHIRLPOOL 0c5ed79630859706f18b56fbb910b4b2dc6b480cdf72a929f7d33232f23ee1eb7110b98c4a8e06cd06c620b9f4ff081bfae23edd1f6a65fade2ac5081dbf3962 DIST subversion-1.7.10.tar.bz2 5952121 SHA256 c1df222bec83d014d17785e2ceba6bc80962f64b280967de0285836d8d77a8e7 SHA512 3912251e764b311ea4e75cbe3281b8d41980646f9db3b005ba747c3b96e5e0a60aa62c30b6794520d930c4145c390aed7c42b3ce8a05f618e9d10de10cd89422 WHIRLPOOL 022e7654ea2816e499a47159b92da6d7d86cfeae5f0166f6a15274912ccc2c2575b1dace6a93784240c8d762bbaa4e97d3b66363b7df576124110d8c2cc555f9 +DIST subversion-1.7.11.tar.bz2 6042338 SHA256 c383b19d8d0db4c736570f1eb6af196416b26d0b3bde64ae60988a9d1f7ac3c0 SHA512 3a0be9144b6eaa8d0d81a77d3f3f4a5cab782f2d98f52126fedaa53967211ec1a2c190f31ec99bba4157d31b2c721a352edc8f3f401465d8484681ef15a4d171 WHIRLPOOL 0563276b5e185fa5ccd454b85533925b2bc654f1ca6594f49feed15b1a6aedaed243837ad6c870e6b063765c91c0aca32b207c353f68746d875f5d6258b5d1ae DIST subversion-1.7.9.tar.bz2 6040347 SHA256 f8454c585f99afed764232a5048d9b8bfd0a25a9ab8e339ea69fe1204c453ef4 SHA512 04f1287ef7a114e12018d9a0c76c6ff5bcb977afc398710b8760c126975d1f8033462e9da3a75eba67359ad9166a9d3f980be9bc2d440e1e5b16545581e9100c WHIRLPOOL 551bf4a01c8d72c45efa4fdd1adeafe76036b5a77726b9b39396a1bb754f2d2a3b1a80b1ab07ac84c5aa6896e138dd3e53952b3f0832828f232526bbfd759275 EBUILD subversion-1.7.10.ebuild 14645 SHA256 b3f1b44d0614f231fbfc85f6bb6fa1572509263f73592d46f8a2fabbb4839764 SHA512 2e3925bbfb635356999c81206673b99fd63b04a9a89885298dda4f4d34eea980a85be595fcd36bf76298c95ebdfad74a374ddd3619309f8565cd7f707081fe5e WHIRLPOOL a4c8d036bd712e8c6cea79ffc71f64831c0d5742c735e0888d163153866ff6d250a6300d4308fb25d4eda38eb4a9801b5c416adc4a35e642c3bb7374d057382b +EBUILD subversion-1.7.11.ebuild 14645 SHA256 d973c651b042dab0db4a57f7ce01e858c6cb1d610e53d11444647307070629b4 SHA512 f28908499f852144239bb9dd4c0953325befbdf0c5cc3181f13401df11cb8823066de7dfb4231b9e33b7a2951389b163ab5928346856534ffa0e540395f6cf08 WHIRLPOOL 055cf8a0badd4a497c52ef7d144006bee8b651614743388f3a06cfb58ae7aea351ea209f33210c9196bdbbe8474119d9e267b35acd17929f3099ab8d6242214c EBUILD subversion-1.7.9.ebuild 14635 SHA256 551aa06ca912b6f1ebff29a3dcae556bb1609bbc011d5cf3e2b8a5f61ef1553d SHA512 2dc787015c938e84c8a8af5de2d2529453bad56429a987d1886cac1ab360b075546ba526b738378da3bfc46f13d1f211f37c08f6c70592860dadcca3537486d4 WHIRLPOOL fdce67ddd6ed2ecd7ff8bdd71245cdc4186d45265dc2158e2f217e2d3a0aa991a177041c6c4a917ebaf669ccde4ac5d8e26f62ab64a5dd676c6f8af2b5946b37 -MISC ChangeLog 90748 SHA256 89503720d84762bdca88273207e487cffe52383c6bee90a7fabf1f6c9c8fabf2 SHA512 10fc03e314e8f391a3ba63fd7b191b9dd4d82615887488f2b54a219fabaef2fadffb4f46b0b459982528ab66bc2f40122b42b7af247a6923fc2497cc72d4b584 WHIRLPOOL 99ec7983027e60b9d7fb0da38ab7002bd48650015c4b21f525315e99187c382266d7f68c8a4b356bbd8c40ae567cb94077264156d53e163a8a307157e6e3120d +MISC ChangeLog 90901 SHA256 026a44390c389b8ab487c8d926e516334f3d688ca9c36ecb06d46367a14b3a14 SHA512 e8524eae3e4d7bc6fc914a95b3043665ef2c217d015300a85c2aba3a7fc49367404623c8a5aa68dcd66496d4e6ea4ac976d6a0898163215ebbdef73cea662bd4 WHIRLPOOL 55e0dd24ee07855f6a990c819d782b6fd57d4e6dc0011f960f20aeff11e25879199a6ae1d534fbc8507e6b8e581bbcc982fecb9ed8c6898a9d5518289a497a1b MISC metadata.xml 628 SHA256 b3715692f57550cecbca66df385d0cc48ef3d6707b4832b88add2f689c35969d SHA512 2c1f375df0efee06e088db3c7c19b96e23b615053aaaa98bc45b5d4945a39a3c21a868c80b938be88ff840824b2e8aebe9379633f106d2cfead4b3fd74cff927 WHIRLPOOL 1387297f9b5b7feb6e90cbda59b0cd61519d0395ec94fb315d2ec97adb66c37a9aa59736d968920eab7229342105846805458b8789dc84ef9ecbd40e452c02c8 -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.20 (GNU/Linux) -iJwEAQEIAAYFAlHrrE0ACgkQG7kqcTWJkGetwAP/ZBN/1auFX3EUGEOIfQUXjHyB -xHy0heN21TBQqMAPyfGI1SdT+SAXuX1n3sm1LAIhYlPZUFsbE12ts9tjd+3fXVWz -S2HoUKSp3KOxixgzKElaYPsrC2kTRZ0UZRCrlvZDOjsdA9VasQJa9nLmoxzNmhEC -I8zibpAgRGOIG/Ateq4= -=7wVu +iJwEAQEIAAYFAlH8xU8ACgkQG7kqcTWJkGdh7gP/bLqbc8ImAJ5XBy5oFijPtQ6N +qJmyunEKZ7j8aQaUKVywQVgZjT/DSDMcb/+bKa7H00f4prarO3zyyHu2HaugVQfv +iuaLsNwyxQBeYURPEBZixBr6n+L/m1dAlo3j1us6GFT13B9flfOmz4DbnckmaJm3 +z2Q3B5fnz8FNTIYogf8= +=9MFQ -----END PGP SIGNATURE----- diff --git a/dev-vcs/subversion/subversion-1.7.11.ebuild b/dev-vcs/subversion/subversion-1.7.11.ebuild new file mode 100644 index 000000000000..3fbf428ffbae --- /dev/null +++ b/dev-vcs/subversion/subversion-1.7.11.ebuild @@ -0,0 +1,474 @@ +# Copyright 1999-2013 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/dev-vcs/subversion/subversion-1.7.11.ebuild,v 1.1 2013/08/03 08:54:28 tommy Exp $ + +EAPI=5 +PYTHON_COMPAT=( python{2_5,2_6,2_7} ) +DISTUTILS_OPTIONAL=1 +WANT_AUTOMAKE="none" +MY_P="${P/_/-}" + +inherit autotools bash-completion-r1 db-use depend.apache distutils-r1 elisp-common flag-o-matic java-pkg-opt-2 libtool multilib perl-module eutils + +DESCRIPTION="Advanced version control system" +HOMEPAGE="http://subversion.apache.org/" +SRC_URI="mirror://apache/${PN}/${MY_P}.tar.bz2" +S="${WORKDIR}/${MY_P}" + +LICENSE="Subversion GPL-2" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~amd64-fbsd ~x86-fbsd ~x86-freebsd ~hppa-hpux ~ia64-hpux ~x86-interix ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" +IUSE="apache2 berkdb ctypes-python debug doc +dso extras gnome-keyring java kde nls perl python ruby sasl test vim-syntax +webdav-neon webdav-serf" + +COMMON_DEPEND=">=dev-db/sqlite-3.4[threadsafe(+)] + >=dev-libs/apr-1.3:1 + >=dev-libs/apr-util-1.3:1 + dev-libs/expat + sys-libs/zlib + berkdb? ( >=sys-libs/db-4.0.14 ) + ctypes-python? ( ${PYTHON_DEPS} ) + gnome-keyring? ( dev-libs/glib:2 sys-apps/dbus gnome-base/gnome-keyring ) + kde? ( sys-apps/dbus dev-qt/qtcore:4 dev-qt/qtdbus:4 dev-qt/qtgui:4 >=kde-base/kdelibs-4:4 ) + perl? ( dev-lang/perl ) + python? ( ${PYTHON_DEPS} ) + ruby? ( >=dev-lang/ruby-1.8.2:1.8 + dev-ruby/rubygems[ruby_targets_ruby18] ) + sasl? ( dev-libs/cyrus-sasl ) + webdav-neon? ( >=net-libs/neon-0.28 ) + webdav-serf? ( >=net-libs/serf-0.3.0 )" +RDEPEND="${COMMON_DEPEND} + apache2? ( www-servers/apache[apache2_modules_dav] ) + java? ( >=virtual/jre-1.5 ) + kde? ( kde-base/kwalletd ) + nls? ( virtual/libintl ) + perl? ( dev-perl/URI )" +# Note: ctypesgen doesn't need PYTHON_USEDEP, it's used once +DEPEND="${COMMON_DEPEND} + test? ( ${PYTHON_DEPS} ) + !!<sys-apps/sandbox-1.6 + ctypes-python? ( dev-python/ctypesgen ) + doc? ( app-doc/doxygen ) + gnome-keyring? ( virtual/pkgconfig ) + java? ( >=virtual/jdk-1.5 ) + kde? ( virtual/pkgconfig ) + nls? ( sys-devel/gettext ) + webdav-neon? ( virtual/pkgconfig )" + +REQUIRED_USE=" + ctypes-python? ( ${PYTHON_REQUIRED_USE} ) + python? ( ${PYTHON_REQUIRED_USE} ) + test? ( ${PYTHON_REQUIRED_USE} )" + +want_apache + +pkg_setup() { + if use berkdb; then + local apu_bdb_version="$(${EPREFIX}/usr/bin/apu-1-config --includes \ + | grep -Eoe '-I${EPREFIX}/usr/include/db[[:digit:]]\.[[:digit:]]' \ + | sed 's:.*b::')" + einfo + if [[ -z "${SVN_BDB_VERSION}" ]]; then + if [[ -n "${apu_bdb_version}" ]]; then + SVN_BDB_VERSION="${apu_bdb_version}" + einfo "Matching db version to apr-util" + else + SVN_BDB_VERSION="$(db_ver_to_slot "$(db_findver sys-libs/db 2>/dev/null)")" + einfo "SVN_BDB_VERSION variable isn't set. You can set it to enforce using of specific version of Berkeley DB." + fi + fi + einfo "Using: Berkeley DB ${SVN_BDB_VERSION}" + einfo + + if [[ -n "${apu_bdb_version}" && "${SVN_BDB_VERSION}" != "${apu_bdb_version}" ]]; then + eerror "APR-Util is linked against Berkeley DB ${apu_bdb_version}, but you are trying" + eerror "to build Subversion with support for Berkeley DB ${SVN_BDB_VERSION}." + eerror "Rebuild dev-libs/apr-util or set SVN_BDB_VERSION=\"${apu_bdb_version}\"." + eerror "Aborting to avoid possible run-time crashes." + die "Berkeley DB version mismatch" + fi + fi + + depend.apache_pkg_setup + + java-pkg-opt-2_pkg_setup + + if ! use webdav-neon && ! use webdav-serf; then + ewarn "WebDAV support is disabled. You need WebDAV to" + ewarn "access repositories through the HTTP protocol." + ewarn "Consider enabling one of the following USE-flags:" + ewarn " webdav-neon webdav-serf" + echo -ne "\a" + fi + + if use debug; then + append-cppflags -DSVN_DEBUG -DAP_DEBUG + fi + + # Allow for custom repository locations. + SVN_REPOS_LOC="${SVN_REPOS_LOC:-${EPREFIX}/var/svn}" +} + +src_prepare() { + epatch "${FILESDIR}"/${PN}-1.5.4-interix.patch \ + "${FILESDIR}"/${PN}-1.5.6-aix-dso.patch \ + "${FILESDIR}"/${PN}-1.6.3-hpux-dso.patch \ + "${FILESDIR}"/${PN}-fix-parallel-build-support-for-perl-bindings.patch + epatch_user + + fperms +x build/transform_libtool_scripts.sh + + sed -i \ + -e "s/\(BUILD_RULES=.*\) bdb-test\(.*\)/\1\2/g" \ + -e "s/\(BUILD_RULES=.*\) test\(.*\)/\1\2/g" configure.ac + + # this bites us in particular on Solaris + sed -i -e '1c\#!/usr/bin/env sh' build/transform_libtool_scripts.sh || \ + die "/bin/sh is not POSIX shell!" + + eautoconf + elibtoolize + + sed -e 's/\(libsvn_swig_py\)-\(1\.la\)/\1-$(EPYTHON)-\2/g' \ + -i build-outputs.mk || die "sed failed" + + if use python; then + # XXX: make python_copy_sources accept path + S=${S}/subversion/bindings/swig/python python_copy_sources + rm -r "${S}"/subversion/bindings/swig/python || die + fi +} + +src_configure() { + local myconf + + if use python || use perl || use ruby; then + myconf+=" --with-swig" + else + myconf+=" --without-swig" + fi + + if use java; then + myconf+=" --without-junit" + fi + + if use kde || use nls; then + myconf+=" --enable-nls" + else + myconf+=" --disable-nls" + fi + + case ${CHOST} in + *-aix*) + # avoid recording immediate path to sharedlibs into executables + append-ldflags -Wl,-bnoipath + ;; + *-interix*) + # loader crashes on the LD_PRELOADs... + myconf+=" --disable-local-library-preloading" + ;; + *-solaris*) + # need -lintl to link + use nls && append-libs intl + # this breaks installation, on x64 echo replacement is 32-bits + myconf+=" --disable-local-library-preloading" + ;; + *-mint*) + myconf+=" --enable-all-static --disable-local-library-preloading" + ;; + *) + # inject LD_PRELOAD entries for easy in-tree development + myconf+=" --enable-local-library-preloading" + ;; + esac + + #workaround for bug 387057 + has_version =dev-vcs/subversion-1.6* && myconf+=" --disable-disallowing-of-undefined-references" + + #version 1.7.7 again tries to link against the older installed version and fails, when trying to + #compile for x86 on amd64, so workaround this issue again + #check newer versions, if this is still/again needed + myconf+=" --disable-disallowing-of-undefined-references" + + # for build-time scripts + if use ctypes-python || use python || use test; then + python_export_best + fi + + #force ruby-1.8 for bug 399105 + #allow overriding Python include directory + ac_cv_path_RUBY="${EPREFIX}"/usr/bin/ruby18 ac_cv_path_RDOC="${EPREFIX}"/usr/bin/rdoc18 \ + ac_cv_python_includes='-I$(PYTHON_INCLUDEDIR)' \ + econf --libdir="${EPREFIX}/usr/$(get_libdir)" \ + $(use_with apache2 apxs "${APXS}") \ + $(use_with berkdb berkeley-db "db.h:${EPREFIX}/usr/include/db${SVN_BDB_VERSION}::db-${SVN_BDB_VERSION}") \ + $(use_with ctypes-python ctypesgen "${EPREFIX}/usr") \ + $(use_enable dso runtime-module-search) \ + $(use_with gnome-keyring) \ + $(use_enable java javahl) \ + $(use_with java jdk "${JAVA_HOME}") \ + $(use_with kde kwallet) \ + $(use_with sasl) \ + $(use_with webdav-neon neon) \ + $(use_with webdav-serf serf "${EPREFIX}/usr") \ + ${myconf} \ + --with-apr="${EPREFIX}/usr/bin/apr-1-config" \ + --with-apr-util="${EPREFIX}/usr/bin/apu-1-config" \ + --disable-experimental-libtool \ + --without-jikes \ + --disable-mod-activation \ + --disable-neon-version-check \ + --disable-static +} + +src_compile() { + emake local-all + + if use ctypes-python; then + # pre-generate .py files + use ctypes-python && emake ctypes-python + + pushd subversion/bindings/ctypes-python >/dev/null || die + distutils-r1_src_compile + popd >/dev/null || die + fi + + if use python; then + swig_py_compile() { + local p=subversion/bindings/swig/python + rm -f ${p} || die + ln -s "${BUILD_DIR}" ${p} || die + + python_export PYTHON_INCLUDEDIR + emake swig-py \ + swig_pydir="$(python_get_sitedir)/libsvn" \ + swig_pydir_extra="$(python_get_sitedir)/svn" + } + + # this will give us proper BUILD_DIR for symlinking + BUILD_DIR=python \ + python_foreach_impl swig_py_compile + fi + + if use perl; then + emake swig-pl + fi + + if use ruby; then + emake swig-rb + fi + + if use java; then + emake -j1 JAVAC_FLAGS="$(java-pkg_javac-args) -encoding iso8859-1" javahl + fi + + if use extras; then + emake tools + fi + + if use doc; then + doxygen doc/doxygen.conf || die "Building of Subversion HTML documentation failed" + + if use java; then + emake doc-javahl + fi + fi +} + +src_test() { + default + + if use ctypes-python; then + python_test() { + "${PYTHON}" subversion/bindings/ctypes-python/test/run_all.py \ + || die "ctypes-python tests fail with ${EPYTHON}" + } + + distutils-r1_src_test + fi + + if use python; then + swig_py_test() { + pushd "${BUILD_DIR}" >/dev/null || die + "${PYTHON}" tests/run_all.py || die "swig-py tests fail with ${EPYTHON}" + popd >/dev/null || die + } + + BUILD_DIR=subversion/bindings/swig/python \ + python_foreach_impl swig_py_test + fi +} + +src_install() { + emake -j1 DESTDIR="${D}" local-install + + if use ctypes-python; then + pushd subversion/bindings/ctypes-python >/dev/null || die + distutils-r1_src_install + popd >/dev/null || die + fi + + if use python; then + swig_py_install() { + local p=subversion/bindings/swig/python + rm -f ${p} || die + ln -s "${BUILD_DIR}" ${p} || die + + emake \ + DESTDIR="${D}" \ + swig_pydir="$(python_get_sitedir)/libsvn" \ + swig_pydir_extra="$(python_get_sitedir)/svn" \ + install-swig-py + } + + BUILD_DIR=python \ + python_foreach_impl swig_py_install + fi + + if use perl; then + emake DESTDIR="${D}" INSTALLDIRS="vendor" install-swig-pl + fixlocalpod + find "${ED}" "(" -name .packlist -o -name "*.bs" ")" -delete + fi + + if use ruby; then + emake DESTDIR="${D}" install-swig-rb + fi + + if use java; then + emake DESTDIR="${D}" install-javahl + java-pkg_regso "${ED}"usr/$(get_libdir)/libsvnjavahl*$(get_libname) + java-pkg_dojar "${ED}"usr/$(get_libdir)/svn-javahl/svn-javahl.jar + rm -fr "${ED}"usr/$(get_libdir)/svn-javahl/*.jar + fi + + # Install Apache module configuration. + if use apache2; then + keepdir "${APACHE_MODULES_CONFDIR}" + insinto "${APACHE_MODULES_CONFDIR}" + doins "${FILESDIR}/47_mod_dav_svn.conf" + fi + + # Install Bash Completion, bug 43179. + newbashcomp tools/client-side/bash_completion subversion + rm -f tools/client-side/bash_completion + + # Install hot backup script, bug 54304. + newbin tools/backup/hot-backup.py svn-hot-backup + rm -fr tools/backup + + # Install svnserve init-script and xinet.d snippet, bug 43245. + newinitd "${FILESDIR}"/svnserve.initd2 svnserve + newconfd "${FILESDIR}"/svnserve.confd svnserve + insinto /etc/xinetd.d + newins "${FILESDIR}"/svnserve.xinetd svnserve + + #adjust default user and group with disabled apache2 USE flag, bug 381385 + use apache2 || sed -e "s\USER:-apache\USER:-svn\g" \ + -e "s\GROUP:-apache\GROUP:-svnusers\g" \ + -i "${ED}"etc/init.d/svnserve || die + use apache2 || sed -e "0,/apache/s//svn/" \ + -e "s:apache:svnusers:" \ + -i "${ED}"etc/xinetd.d/svnserve || die + + # Install documentation. + dodoc CHANGES COMMITTERS README + dodoc tools/xslt/svnindex.{css,xsl} + rm -fr tools/xslt + + # Install extra files. + if use extras; then + cat << EOF > 80subversion-extras +PATH="${EPREFIX}/usr/$(get_libdir)/subversion/bin" +ROOTPATH="${EPREFIX}/usr/$(get_libdir)/subversion/bin" +EOF + doenvd 80subversion-extras + + emake DESTDIR="${D}" toolsdir="/usr/$(get_libdir)/subversion/bin" install-tools || die "Installation of tools failed" + + find tools "(" -name "*.bat" -o -name "*.in" -o -name ".libs" ")" -print0 | xargs -0 rm -fr + rm -fr tools/client-side/svnmucc + rm -fr tools/server-side/{svn-populate-node-origins-index,svnauthz-validate}* + rm -fr tools/{buildbot,dev,diff,po} + + insinto /usr/share/${PN} + find tools -name '*.py' -exec sed -i -e '1s:python:&2:' {} + || die + doins -r tools + fi + + if use doc; then + dohtml -r doc/doxygen/html/* + + if use java; then + java-pkg_dojavadoc doc/javadoc + fi + fi + + find "${ED}" '(' -name '*.la' ')' -print0 | xargs -0 rm -f + + cd "${ED}"usr/share/locale + for i in * ; do + [[ $i == *$LINGUAS* ]] || { rm -r $i || die ; } + done +} + +pkg_preinst() { + # Compare versions of Berkeley DB, bug 122877. + if use berkdb && [[ -f "${EROOT}usr/bin/svn" ]]; then + OLD_BDB_VERSION="$(scanelf -nq "${EROOT}usr/$(get_libdir)/libsvn_subr-1$(get_libname 0)" | grep -Eo "libdb-[[:digit:]]+\.[[:digit:]]+" | sed -e "s/libdb-\(.*\)/\1/")" + NEW_BDB_VERSION="$(scanelf -nq "${ED}usr/$(get_libdir)/libsvn_subr-1$(get_libname 0)" | grep -Eo "libdb-[[:digit:]]+\.[[:digit:]]+" | sed -e "s/libdb-\(.*\)/\1/")" + if [[ "${OLD_BDB_VERSION}" != "${NEW_BDB_VERSION}" ]]; then + CHANGED_BDB_VERSION="1" + fi + fi +} + +pkg_postinst() { + use perl && perl-module_pkg_postinst + + if [[ -n "${CHANGED_BDB_VERSION}" ]]; then + ewarn "You upgraded from an older version of Berkeley DB and may experience" + ewarn "problems with your repository. Run the following commands as root to fix it:" + ewarn " db4_recover -h ${SVN_REPOS_LOC}/repos" + ewarn " chown -Rf apache:apache ${SVN_REPOS_LOC}/repos" + fi + + ewarn "If you run subversion as a daemon, you will need to restart it to avoid module mismatches." +} + +pkg_postrm() { + use perl && perl-module_pkg_postrm +} + +pkg_config() { + # Remember: Don't use ${EROOT}${SVN_REPOS_LOC} since ${SVN_REPOS_LOC} + # already has EPREFIX in it + einfo "Initializing the database in ${SVN_REPOS_LOC}..." + if [[ -e "${SVN_REPOS_LOC}/repos" ]]; then + echo "A Subversion repository already exists and I will not overwrite it." + echo "Delete \"${SVN_REPOS_LOC}/repos\" first if you're sure you want to have a clean version." + else + mkdir -p "${SVN_REPOS_LOC}/conf" + + einfo "Populating repository directory..." + # Create initial repository. + "${EROOT}usr/bin/svnadmin" create "${SVN_REPOS_LOC}/repos" + + einfo "Setting repository permissions..." + SVNSERVE_USER="$(. "${EROOT}etc/conf.d/svnserve"; echo "${SVNSERVE_USER}")" + SVNSERVE_GROUP="$(. "${EROOT}etc/conf.d/svnserve"; echo "${SVNSERVE_GROUP}")" + if use apache2; then + [[ -z "${SVNSERVE_USER}" ]] && SVNSERVE_USER="apache" + [[ -z "${SVNSERVE_GROUP}" ]] && SVNSERVE_GROUP="apache" + else + [[ -z "${SVNSERVE_USER}" ]] && SVNSERVE_USER="svn" + [[ -z "${SVNSERVE_GROUP}" ]] && SVNSERVE_GROUP="svnusers" + fi + chmod -Rf go-rwx "${SVN_REPOS_LOC}/conf" + chmod -Rf o-rwx "${SVN_REPOS_LOC}/repos" + echo "Please create \"${SVNSERVE_GROUP}\" group if it does not exist yet." + echo "Afterwards please create \"${SVNSERVE_USER}\" user with homedir \"${SVN_REPOS_LOC}\"" + echo "and as part of the \"${SVNSERVE_GROUP}\" group if it does not exist yet." + echo "Finally, execute \"chown -Rf ${SVNSERVE_USER}:${SVNSERVE_GROUP} ${SVN_REPOS_LOC}/repos\"" + echo "to finish the configuration." + fi +} |