Gentoo Archives: gentoo-commits

From: "Benedikt Boehm (hollow)" <hollow@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] gentoo-x86 commit in dev-util/subversion: ChangeLog subversion-1.4.5.ebuild subversion-1.1.3.ebuild subversion-1.2.3-r3.ebuild subversion-1.4.4-r3.ebuild
Date: Sat, 10 Nov 2007 20:41:45
Message-Id: E1Iqx98-0006w2-RA@stork.gentoo.org
1 hollow 07/11/10 20:41:38
2
3 Modified: ChangeLog
4 Added: subversion-1.4.5.ebuild
5 Removed: subversion-1.1.3.ebuild subversion-1.2.3-r3.ebuild
6 subversion-1.4.4-r3.ebuild
7 Log:
8 version bump; fixes #84539, #168348, #179139, #188897, #194833
9 (Portage version: 2.1.3.19)
10
11 Revision Changes Path
12 1.277 dev-util/subversion/ChangeLog
13
14 file : http://sources.gentoo.org/viewcvs.py/gentoo-x86/dev-util/subversion/ChangeLog?rev=1.277&view=markup
15 plain: http://sources.gentoo.org/viewcvs.py/gentoo-x86/dev-util/subversion/ChangeLog?rev=1.277&content-type=text/plain
16 diff : http://sources.gentoo.org/viewcvs.py/gentoo-x86/dev-util/subversion/ChangeLog?r1=1.276&r2=1.277
17
18 Index: ChangeLog
19 ===================================================================
20 RCS file: /var/cvsroot/gentoo-x86/dev-util/subversion/ChangeLog,v
21 retrieving revision 1.276
22 retrieving revision 1.277
23 diff -u -r1.276 -r1.277
24 --- ChangeLog 26 Sep 2007 12:37:40 -0000 1.276
25 +++ ChangeLog 10 Nov 2007 20:41:38 -0000 1.277
26 @@ -1,6 +1,14 @@
27 # ChangeLog for dev-util/subversion
28 # Copyright 2002-2007 Gentoo Foundation; Distributed under the GPL v2
29 -# $Header: /var/cvsroot/gentoo-x86/dev-util/subversion/ChangeLog,v 1.276 2007/09/26 12:37:40 caleb Exp $
30 +# $Header: /var/cvsroot/gentoo-x86/dev-util/subversion/ChangeLog,v 1.277 2007/11/10 20:41:38 hollow Exp $
31 +
32 +*subversion-1.4.5 (10 Nov 2007)
33 +
34 + 10 Nov 2007; Benedikt Böhm <hollow@g.o>
35 + -files/subversion-swig.m4-ruby.patch, -subversion-1.1.3.ebuild,
36 + -subversion-1.2.3-r3.ebuild, -subversion-1.4.4-r3.ebuild,
37 + +subversion-1.4.5.ebuild:
38 + version bump; fixes #84539, #168348, #179139, #188897, #194833
39
40 26 Sep 2007; Caleb Tennis <caleb@g.o> subversion-1.4.4-r4.ebuild:
41 Fix perl dep to be more...up to date
42
43
44
45 1.1 dev-util/subversion/subversion-1.4.5.ebuild
46
47 file : http://sources.gentoo.org/viewcvs.py/gentoo-x86/dev-util/subversion/subversion-1.4.5.ebuild?rev=1.1&view=markup
48 plain: http://sources.gentoo.org/viewcvs.py/gentoo-x86/dev-util/subversion/subversion-1.4.5.ebuild?rev=1.1&content-type=text/plain
49
50 Index: subversion-1.4.5.ebuild
51 ===================================================================
52 # Copyright 1999-2007 Gentoo Foundation
53 # Distributed under the terms of the GNU General Public License v2
54 # $Header: /var/cvsroot/gentoo-x86/dev-util/subversion/subversion-1.4.5.ebuild,v 1.1 2007/11/10 20:41:38 hollow Exp $
55
56 inherit bash-completion depend.apache flag-o-matic elisp-common eutils java-pkg-opt-2 libtool multilib perl-module python
57
58 KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sparc ~sparc-fbsd ~x86 ~x86-fbsd"
59
60 DESCRIPTION="A compelling replacement for CVS."
61 HOMEPAGE="http://subversion.tigris.org/"
62 SRC_URI="http://subversion.tigris.org/downloads/${P/_rc/-rc}.tar.bz2"
63
64 LICENSE="Subversion"
65 SLOT="0"
66 IUSE="apache2 berkdb debug doc emacs extras java nls nowebdav perl python ruby svnserve vim-syntax"
67 RESTRICT="test"
68
69 COMMONDEPEND=">=dev-libs/apr-util-1.2.8
70 berkdb? ( =sys-libs/db-4* )
71 doc? ( app-doc/doxygen )
72 emacs? ( virtual/emacs )
73 nls? ( sys-devel/gettext )
74 !nowebdav? ( >=net-misc/neon-0.26 )
75 ruby? ( >=dev-lang/ruby-1.8.2 )
76 perl? ( >=dev-lang/perl-5.8.8 )
77 python? ( >=dev-lang/python-2.0 )"
78
79 RDEPEND="${COMMONDEPEND}
80 java? ( >=virtual/jre-1.4 )
81 perl? ( dev-perl/URI )"
82
83 DEPEND="${COMMONDEPEND}
84 java? ( >=virtual/jdk-1.4 )
85 >=sys-devel/autoconf-2.59"
86
87 want_apache
88
89 S="${WORKDIR}"/${P/_rc/-rc}
90
91 # Allow for custion repository locations.
92 # This can't be in pkg_setup because the variable needs to be available to
93 # pkg_config.
94 : ${SVN_REPOS_LOC:=/var/svn}
95
96 pkg_setup() {
97 if use berkdb ; then
98 if ! built_with_use 'dev-libs/apr-util' berkdb ; then
99 eerror "dev-libs/apr-util is missing USE=berkdb"
100 die "dev-libs/apr-util is missing USE=berkdb"
101 fi
102
103 if has_version '<dev-util/subversion-0.34.0' && [[ -z ${SVN_DUMPED} ]] ; then
104 echo
105 ewarn "Presently you have $(best_version dev-util/subversion) installed."
106 ewarn "Subversion has changed the repository filesystem schema from 0.34.0."
107 ewarn "So you MUST dump your repositories before upgrading."
108 ewarn
109 ewarn 'After doing so call emerge with SVN_DUMPED=1 emerge !*'
110 ewarn
111 ewarn "More details on dumping:"
112 ewarn "http://svn.collab.net/repos/svn/trunk/notes/repos_upgrade_HOWTO"
113 echo
114 die "Ensure that you dump your repository first"
115 fi
116 fi
117
118 java-pkg-opt-2_pkg_setup
119 }
120
121 src_unpack() {
122 unpack ${A}
123 cd "${S}"
124
125 # assure we don't use the included libs by accident
126 rm -Rf neon apr apr-util
127
128 epatch "${FILESDIR}"/subversion-1.4-db4.patch
129 epatch "${FILESDIR}"/subversion-1.1.1-perl-vendor.patch
130 epatch "${FILESDIR}"/subversion-hotbackup-config.patch
131 epatch "${FILESDIR}"/subversion-1.3.1-neon-config.patch
132 epatch "${FILESDIR}"/subversion-apr_cppflags.patch
133 epatch "${FILESDIR}"/subversion-1.4.3-debug-config.patch
134
135 sed -e 's/\(NEON_ALLOWED_LIST=.* 0.26.2\)"/\1 0.26.3 0.26.4"/' \
136 -i configure.in
137
138 sed -e "s:apr-config:$(apr_config):g" \
139 -e "s:apu-config:$(apu_config):g" \
140 -i build/ac-macros/{find_,}ap*
141
142 export WANT_AUTOCONF=2.5
143 autoconf
144
145 sed -i -e 's,\(subversion/svnversion/svnversion.*\)\(>.*svn-revision.txt\),echo "exported" \2,' Makefile.in
146
147 elibtoolize
148
149 use emacs && cp "${FILESDIR}"/vc-svn.el "${S}"/contrib/client-side/vc-svn.el
150 }
151
152 src_compile() {
153 local myconf=
154
155 myconf="${myconf} $(use_enable java javahl)"
156 use java && myconf="${myconf} --without-jikes --with-jdk=${JAVA_HOME}"
157
158 if use python || use perl || use ruby ; then
159 myconf="${myconf} --with-swig"
160 else
161 myconf="${myconf} --without-swig"
162 fi
163
164 if use nowebdav ; then
165 myconf="${myconf} --without-neon"
166 else
167 myconf="${myconf} --with-neon=/usr"
168 fi
169
170 append-flags $(/usr/bin/$(apr_config) --cppflags)
171
172 econf ${myconf} \
173 --with-apr=/usr/bin/$(apr_config) \
174 --with-apr-util=/usr/bin/$(apu_config) \
175 $(use_with apache2 apxs ${APXS2}) \
176 $(use_with berkdb berkeley-db) \
177 $(use_enable debug maintainer-mode) \
178 $(use_enable nls) \
179 --disable-experimental-libtool \
180 --disable-mod-activation \
181 || die "econf failed"
182
183 # Respect the user LDFLAGS
184 export SWIG_LDFLAGS="${LDFLAGS}"
185
186 # Build subversion, but do it in a way that is safe for parallel builds.
187 # Also apparently the included apr has a libtool that doesn't like -L flags.
188 # So not specifying it at all when not building apache modules and only
189 # specify it for internal parts otherwise.
190 ( emake external-all && emake LT_LDFLAGS="-L${D}/usr/$(get_libdir)" local-all ) || die "Compilation of ${PN} failed"
191
192 if use python ; then
193 # Building fails without the apache apr-util as includes are wrong.
194 emake swig-py || die "Compilation of ${PN} Python bindings failed"
195 fi
196
197 if use perl ; then
198 # Work around a buggy Makefile.PL, bug 64634
199 mkdir -p subversion/bindings/swig/perl/native/blib/arch/auto/SVN/{_Client,_Delta,_Fs,_Ra,_Repos,_Wc}
200 emake swig-pl || die "Compilation of ${PN} Perl bindings failed"
201 fi
202
203 if use ruby ; then
204 emake swig-rb || die "Compilation of ${PN} Ruby bindings failed"
205 fi
206
207 if use java ; then
208 # ensure that the destination dir exists, else some compilation fails
209 mkdir -p "${S}"/subversion/bindings/java/javahl/classes
210 # Compile javahl
211 make JAVAC_FLAGS="$(java-pkg_javac-args) -encoding iso8859-1" javahl || die "make javahl failed"
212 fi
213
214 if use emacs ; then
215 einfo "Compiling emacs support"
216 elisp-compile "${S}"/contrib/client-side/psvn/psvn.el || die "emacs modules failed"
217 elisp-compile "${S}"/contrib/client-side/vc-svn.el || die "emacs modules failed"
218 elisp-compile "${S}"/doc/svn-doc.el || die "emacs modules failed"
219 elisp-compile "${S}"/doc/tools/svnbook.el || die "emacs modules failed"
220 fi
221
222 if use doc ; then
223 doxygen doc/doxygen.conf || die "doxygen failed"
224 fi
225 }
226
227 src_install () {
228 python_version
229 PYTHON_DIR=/usr/$(get_libdir)/python${PYVER}
230
231 make DESTDIR="${D}" install || die "Installation of ${PN} failed"
232
233 if use python ; then
234 make DESTDIR="${D}" DISTUTIL_PARAM="--prefix=${D}" LD_LIBRARY_PATH="-L${D}/usr/$(get_libdir)" install-swig-py \
235 || die "Installation of ${PN} Python bindings failed"
236
237 # move python bindings
238 dodir "${PYTHON_DIR}/site-packages"
239 mv "${D}"/usr/$(get_libdir)/svn-python/svn "${D}${PYTHON_DIR}/site-packages"
240 mv "${D}"/usr/$(get_libdir)/svn-python/libsvn "${D}${PYTHON_DIR}/site-packages"
241 rm -Rf "${D}"/usr/$(get_libdir)/svn-python
242 fi
243
244 if use perl ; then
245 make DESTDIR="${D}" install-swig-pl || die "Installation of ${PN} Perl bindings failed"
246 fixlocalpod
247 fi
248
249 if use ruby ; then
250 make DESTDIR="${D}" install-swig-rb || die "Installation of ${PN} Ruby bindings failed"
251 fi
252
253 if use java ; then
254 make DESTDIR="${D}" install-javahl || die "make install-javahl failed"
255 java-pkg_regso "${D}"/usr/$(get_libdir)/libsvnjavahl*.so
256 java-pkg_dojar "${D}"/usr/$(get_libdir)/svn-javahl/svn-javahl.jar
257 rm -Rf "${D}"/usr/$(get_libdir)/svn-javahl/*.jar
258 fi
259
260 # Install apache2 module config
261 if use apache2 ; then
262 MOD="${APACHE2_MODULESDIR/${APACHE2_BASEDIR}\//}"
263 dodir "${APACHE2_MODULES_CONFDIR}"
264 cat <<EOF >"${D}/${APACHE2_MODULES_CONFDIR}"/47_mod_dav_svn.conf
265 <IfDefine SVN>
266 <IfModule !mod_dav_svn.c>
267 LoadModule dav_svn_module ${MOD}/mod_dav_svn.so
268 </IfModule>
269 <IfDefine SVN_AUTHZ>
270 <IfModule !mod_authz_svn.c>
271 LoadModule authz_svn_module ${MOD}/mod_authz_svn.so
272 </IfModule>
273 </IfDefine>
274
275 # example configuration:
276 #<Location /svn/repos>
277 # DAV svn
278 # SVNPath ${SVN_REPOS_LOC}/repos
279 # AuthType Basic
280 # AuthName "Subversion repository"
281 # AuthUserFile ${SVN_REPOS_LOC}/conf/svnusers
282 # Require valid-user
283 #</Location>
284 </IfDefine>
285 EOF
286 fi
287
288 # Bug 43179 - Install bash-completion if user wishes
289 dobashcompletion tools/client-side/bash_completion subversion
290 rm -f tools/client-side/bash_completion
291
292 # Install hot backup script, bug 54304
293 newbin tools/backup/hot-backup.py svn-hot-backup
294 rm -fr tools/backup
295
296 # The svn_load_dirs script is installed by Debian and looks like a good
297 # candidate for us to install as well
298 if use perl ; then
299 newbin contrib/client-side/svn_load_dirs.pl svn-load-dirs
300 fi
301 rm -f contrib/client-side/svn_load_dirs.pl
302
303 # Install svnserve init-script and xinet.d snippet, bug 43245
304 if use svnserve; then
305 newinitd "${FILESDIR}"/svnserve.initd svnserve
306 if use apache2 ; then
307 newconfd "${FILESDIR}"/svnserve.confd svnserve
308 else
309 newconfd "${FILESDIR}"/svnserve.confd2 svnserve
310 fi
311 insinto /etc/xinetd.d
312 newins "${FILESDIR}"/svnserve.xinetd svnserve
313 fi
314
315 # Install documentation
316 dodoc BUGS CHANGES COMMITTERS COPYING HACKING INSTALL README TRANSLATING
317 dodoc tools/xslt/svnindex.{css,xsl}
318 rm -fr tools/xslt
319
320 if use doc ; then
321 dohtml doc/doxygen/html/*
322 cp -R notes "${D}usr/share/doc/${PF}"
323 ecompressdir "/usr/share/doc/${PF}/notes"
324 fi
325
326 # Install Vim syntax files.
327 if use vim-syntax ; then
328 insinto /usr/share/vim/vimfiles/syntax
329 doins contrib/client-side/svn.vim
330 fi
331 rm -f contrib/client-side/svn.vim
332
333 # Install emacs lisps
334 if use emacs ; then
335 elisp-install ${PN} contrib/client-side/psvn/psvn.el*
336 elisp-install ${PN}/compat contrib/client-side/vc-svn.el*
337 elisp-install ${PN} doc/svn-doc.el*
338 elisp-install ${PN} doc/tools/svnbook.el*
339 touch "${D}${SITELISP}/${PN}/compat/.nosearch"
340
341 elisp-site-file-install "${FILESDIR}"/70svn-gentoo.el
342 fi
343 rm -fr contrib/client-side/psvn/
344 rm -f contrib/client-side/vc-svn.el*
345
346 # Install extra files
347 if use extras ; then
348 find contrib tools '(' -name "*.bat" -o -name "*.in" ')' -print0 | xargs -0 rm -f
349 rm -fr tools/{dev,po}
350 dodir "/usr/share/${PN}"
351 cp -R contrib tools "${D}usr/share/${PN}"
352 fi
353 }
354
355 pkg_preinst() {
356 # Compare versions of Berkeley DB.
357 if use berkdb && [[ -f "${ROOT}usr/bin/svn" ]] ; then
358 OLD_BDB_VERSION="$(scanelf -qn "${ROOT}usr/lib/libsvn_subr-1.so.0" | grep -Eo "libdb-[[:digit:]]+\.[[:digit:]]+" | sed -e "s/libdb-\(.*\)/\1/")"
359 NEW_BDB_VERSION="$(scanelf -qn "${D}usr/lib/libsvn_subr-1.so.0" | grep -Eo "libdb-[[:digit:]]+\.[[:digit:]]+" | sed -e "s/libdb-\(.*\)/\1/")"
360 if [[ "${OLD_BDB_VERSION}" != "${NEW_BDB_VERSION}" ]] ; then
361 CHANGED_BDB_VERSION=1
362 fi
363 fi
364 }
365
366 pkg_postinst() {
367 use emacs && elisp-site-regen
368 use perl && perl-module_pkg_postinst
369
370 elog "Subversion Server Notes"
371 elog "-----------------------"
372 elog
373 elog "If you intend to run a server, a repository needs to be created using"
374 elog "svnadmin (see man svnadmin) or the following command to create it in"
375 elog "${SVN_REPOS_LOC}:"
376 elog
377 elog " emerge --config =${CATEGORY}/${PF}"
378 elog
379 elog "Subversion has multiple server types, take your pick:"
380 elog
381 if use svnserve; then
382 elog " - svnserve daemon: "
383 elog " 1. edit /etc/conf.d/svnserve"
384 elog " 2. start daemon: /etc/init.d/svnserve start"
385 elog " 3. make persistent: rc-update add svnserve default"
386 elog
387 elog " - svnserve via xinetd:"
388 elog " 1. edit /etc/xinetd.d/svnserve (remove disable line)"
389 elog " 2. restart xinetd.d: /etc/init.d/xinetd restart"
390 elog
391 fi
392 elog " - svn over ssh:"
393 elog " 1. Fix the repository permissions:"
394 elog " groupadd svnusers"
395 elog " chown -R root:svnusers ${SVN_REPOS_LOC}/repos/"
396 elog " chmod -R g-w ${SVN_REPOS_LOC}/repos"
397 elog " chmod -R g+rw ${SVN_REPOS_LOC}/repos/db"
398 elog " chmod -R g+rw ${SVN_REPOS_LOC}/repos/locks"
399 elog " 2. create an svnserve wrapper in /usr/local/bin to set the umask you"
400 elog " want, for example:"
401 elog " #!/bin/bash"
402 elog " . /etc/conf.d/svnserve"
403 elog " umask 002"
404 elog " exec /usr/bin/svnserve \${SVNSERVE_OPTS} \"\$@\""
405 elog
406 if use apache2; then
407 elog " - http-based server:"
408 elog " 1. edit /etc/conf.d/apache2 to include both \"-D DAV\" and \"-D SVN\""
409 elog " 2. create an htpasswd file:"
410 elog " htpasswd2 -m -c ${SVN_REPOS_LOC}/conf/svnusers USERNAME"
411 elog
412 fi
413
414 elog "If you intend to use svn-hot-backup, you can specify the number of"
415 elog "backups to keep per repository by specifying an environment variable."
416 elog "If you want to keep e.g. 2 backups, do the following:"
417 elog "echo '# hot-backup: Keep that many repository backups around' > /etc/env.d/80subversion"
418 elog "echo 'SVN_HOTBACKUP_NUM_BACKUPS=2' >> /etc/env.d/80subversion"
419 elog
420
421 if [[ -n "${CHANGED_BDB_VERSION}" ]]; then
422 ewarn "You upgraded from an older version of Berkely DB and may experience"
423 ewarn "problems with your repository. Run the following commands as root to fix it:"
424 ewarn " db4_recover -h ${SVN_REPOS_LOC}/repos"
425 ewarn " chown -Rf apache:apache ${SVN_REPOS_LOC}/repos"
426 fi
427 }
428
429 pkg_postrm() {
430 use emacs && elisp-site-regen
431 use perl && perl-module_pkg_postrm
432 }
433
434 pkg_config() {
435 if [[ ! -x "${ROOT}usr/bin/svnadmin" ]] ; then
436 die "You seem to only have built the Subversion client"
437 fi
438
439 einfo ">>> Initializing the database in ${ROOT}${SVN_REPOS_LOC} ..."
440 if [[ -e "${ROOT}${SVN_REPOS_LOC}/repos" ]] ; then
441 echo "A subversion repository already exists and I will not overwrite it."
442 echo "Delete ${ROOT}${SVN_REPOS_LOC}/repos first if you're sure you want to have a clean version."
443 else
444 mkdir -p "${ROOT}${SVN_REPOS_LOC}/conf"
445
446 einfo ">>> Populating repository directory ..."
447 # create initial repository
448 "${ROOT}usr/bin/svnadmin" create "${ROOT}${SVN_REPOS_LOC}/repos"
449
450 einfo ">>> Setting repository permissions ..."
451 if use svnserve; then
452 SVNSERVE_USER="$(. ${ROOT}etc/conf.d/svnserve ; echo ${SVNSERVE_USER})"
453 SVNSERVE_GROUP="$(. ${ROOT}etc/conf.d/svnserve ; echo ${SVNSERVE_GROUP})"
454 fi
455 if use apache2 ; then
456 [[ -z "${SVNSERVE_USER}" ]] && SVNSERVE_USER="apache"
457 [[ -z "${SVNSERVE_GROUP}" ]] && SVNSERVE_GROUP="apache"
458 else
459 [[ -z "${SVNSERVE_USER}" ]] && SVNSERVE_USER="svn"
460 [[ -z "${SVNSERVE_GROUP}" ]] && SVNSERVE_GROUP="svnusers"
461 enewgroup "${SVNSERVE_GROUP}"
462 enewuser "${SVNSERVE_USER}" -1 -1 ${SVN_REPOS_LOC} "${SVNSERVE_GROUP}"
463 fi
464 chown -Rf "${SVNSERVE_USER}:${SVNSERVE_GROUP}" "${ROOT}${SVN_REPOS_LOC}/repos"
465 chmod -Rf 755 "${ROOT}${SVN_REPOS_LOC}/repos"
466 fi
467 }
468
469
470
471 --
472 gentoo-commits@g.o mailing list