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