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.5.0_rc5.ebuild
Date: Wed, 07 May 2008 18:06:44
Message-Id: E1Jto2J-0006H9-GX@stork.gentoo.org
1 hollow 08/05/07 18:06:39
2
3 Modified: ChangeLog
4 Added: subversion-1.5.0_rc5.ebuild
5 Log:
6 version bump wrt #220793
7 (Portage version: 2.1.5_rc6)
8
9 Revision Changes Path
10 1.302 dev-util/subversion/ChangeLog
11
12 file : http://sources.gentoo.org/viewcvs.py/gentoo-x86/dev-util/subversion/ChangeLog?rev=1.302&view=markup
13 plain: http://sources.gentoo.org/viewcvs.py/gentoo-x86/dev-util/subversion/ChangeLog?rev=1.302&content-type=text/plain
14 diff : http://sources.gentoo.org/viewcvs.py/gentoo-x86/dev-util/subversion/ChangeLog?r1=1.301&r2=1.302
15
16 Index: ChangeLog
17 ===================================================================
18 RCS file: /var/cvsroot/gentoo-x86/dev-util/subversion/ChangeLog,v
19 retrieving revision 1.301
20 retrieving revision 1.302
21 diff -u -r1.301 -r1.302
22 --- ChangeLog 1 May 2008 13:19:14 -0000 1.301
23 +++ ChangeLog 7 May 2008 18:06:39 -0000 1.302
24 @@ -1,6 +1,12 @@
25 # ChangeLog for dev-util/subversion
26 # Copyright 2002-2008 Gentoo Foundation; Distributed under the GPL v2
27 -# $Header: /var/cvsroot/gentoo-x86/dev-util/subversion/ChangeLog,v 1.301 2008/05/01 13:19:14 hollow Exp $
28 +# $Header: /var/cvsroot/gentoo-x86/dev-util/subversion/ChangeLog,v 1.302 2008/05/07 18:06:39 hollow Exp $
29 +
30 +*subversion-1.5.0_rc5 (07 May 2008)
31 +
32 + 07 May 2008; Benedikt Böhm <hollow@g.o>
33 + +subversion-1.5.0_rc5.ebuild:
34 + version bump wrt #220793
35
36 01 May 2008; Benedikt Böhm <hollow@g.o>
37 subversion-1.5.0_rc4.ebuild:
38
39
40
41 1.1 dev-util/subversion/subversion-1.5.0_rc5.ebuild
42
43 file : http://sources.gentoo.org/viewcvs.py/gentoo-x86/dev-util/subversion/subversion-1.5.0_rc5.ebuild?rev=1.1&view=markup
44 plain: http://sources.gentoo.org/viewcvs.py/gentoo-x86/dev-util/subversion/subversion-1.5.0_rc5.ebuild?rev=1.1&content-type=text/plain
45
46 Index: subversion-1.5.0_rc5.ebuild
47 ===================================================================
48 # Copyright 1999-2008 Gentoo Foundation
49 # Distributed under the terms of the GNU General Public License v2
50 # $Header: /var/cvsroot/gentoo-x86/dev-util/subversion/subversion-1.5.0_rc5.ebuild,v 1.1 2008/05/07 18:06:39 hollow Exp $
51
52 EAPI="1"
53
54 inherit autotools bash-completion confutils depend.apache elisp-common eutils flag-o-matic java-pkg-opt-2 libtool multilib perl-module python
55
56 DESCRIPTION="Advanced version control system"
57 HOMEPAGE="http://subversion.tigris.org/"
58 SRC_URI="http://subversion.tigris.org/downloads/${P/_/-}.tar.bz2"
59
60 LICENSE="Subversion"
61 SLOT="0"
62 KEYWORDS="~amd64 ~x86"
63 IUSE="apache2 berkdb debug doc emacs extras java nls perl python ruby sasl vim-syntax +webdav-neon webdav-serf"
64 RESTRICT="test"
65
66 CDEPEND=">=dev-libs/apr-1.2.8
67 >=dev-libs/apr-util-1.2.8
68 dev-libs/expat
69 sys-libs/zlib
70 berkdb? ( =sys-libs/db-4* )
71 doc? ( app-doc/doxygen )
72 emacs? ( virtual/emacs )
73 ruby? ( >=dev-lang/ruby-1.8.2 )
74 sasl? ( dev-libs/cyrus-sasl )
75 webdav-neon? ( >=net-misc/neon-0.28 )
76 webdav-serf? ( net-libs/serf )"
77
78 RDEPEND="${CDEPEND}
79 java? ( >=virtual/jre-1.5 )
80 nls? ( virtual/libintl )
81 perl? ( dev-perl/URI )"
82
83 DEPEND="${CDEPEND}
84 java? ( >=virtual/jdk-1.5 )
85 nls? ( sys-devel/gettext )"
86
87 want_apache
88
89 S="${WORKDIR}"/${P/_/-}
90
91 # Allow for custom 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 confutils_use_depend_built_with_all berkdb dev-libs/apr-util berkdb
98 java-pkg-opt-2_pkg_setup
99
100 if ! use webdav-neon && ! use webdav-serf; then
101 ewarn
102 ewarn "WebDAV support is disabled. You need WebDAV to"
103 ewarn "access repositories through the HTTP protocol."
104 ewarn
105 ewarn "WebDAV support needs one of the following USE flags enabled:"
106 ewarn " webdav-neon webdav-serf"
107 ewarn
108 ewarn "You can do this by enabling one of these flags in /etc/portage/package.use:"
109 ewarn " =${CATEGORY}/${PF} webdav-neon webdav-serf"
110 ewarn
111 ebeep
112 fi
113 }
114
115 src_unpack() {
116 unpack ${A}
117 cd "${S}"
118
119 epatch "${FILESDIR}"/1.5.0/disable-unneeded-linking.patch
120
121 sed -e 's:@bindir@/svn-contrib:@libdir@/subversion/bin:' \
122 -e 's:@bindir@/svn-tools:@libdir@/subversion/bin:' \
123 -i Makefile.in
124
125 # eautoreconf does not work with libtool 2.2
126 ./autogen.sh || die "autogen.sh failed"
127 elibtoolize
128 }
129
130 src_compile() {
131 local myconf
132
133 if use python || use perl || use ruby; then
134 myconf="${myconf} --with-swig"
135 else
136 myconf="${myconf} --without-swig"
137 fi
138
139 if use debug; then
140 append-cppflags -DSVN_DEBUG -DAP_DEBUG
141 fi
142
143 append-flags -fno-strict-aliasing
144
145 econf ${myconf} \
146 $(use_with apache2 apxs "${APXS}") \
147 $(use_with berkdb berkeley-db) \
148 $(use_enable java javahl) \
149 $(use_with java jdk "${JAVA_HOME}") \
150 $(use_enable nls) \
151 $(use_with sasl) \
152 $(use_with webdav-neon neon /usr) \
153 $(use_with webdav-serf serf /usr) \
154 --with-apr=/usr/bin/apr-1-config \
155 --with-apr-util=/usr/bin/apu-1-config \
156 --disable-experimental-libtool \
157 --without-jikes \
158 --without-junit \
159 --disable-mod-activation \
160 --enable-runtime-module-search
161
162 # Respect the user LDFLAGS when building Subversion SWIG bindings.
163 export SWIG_LDFLAGS="${LDFLAGS}"
164
165 emake local-all || die "Building of core Subversion failed"
166
167 if use python; then
168 emake swig-py || die "Building of Subversion Python bindings failed"
169 fi
170
171 if use perl; then
172 emake -j1 swig-pl || die "Building of Subversion Perl bindings failed"
173 fi
174
175 if use ruby; then
176 emake swig-rb || die "Building of Subversion Ruby bindings failed"
177 fi
178
179 if use java; then
180 make JAVAC_FLAGS="$(java-pkg_javac-args) -encoding iso8859-1" javahl \
181 || die "Building of Subversion JavaHL library failed"
182 fi
183
184 if use emacs; then
185 elisp-compile contrib/client-side/emacs/dsvn.el || die "Compilation of Emacs module failed"
186 elisp-compile contrib/client-side/emacs/psvn.el || die "Compilation of Emacs module failed"
187 elisp-compile doc/svn-doc.el || die "Compilation of Emacs module failed"
188 elisp-compile doc/tools/svnbook.el || die "Compilation of Emacs module failed"
189 fi
190
191 if use extras; then
192 emake contrib || die "Building of contrib failed"
193 emake tools || die "Building of tools failed"
194 fi
195
196 if use doc; then
197 doxygen doc/doxygen.conf || die "Building of Subversion HTML documentation failed"
198
199 if use java; then
200 emake doc-javahl || die "Building of Subversion JavaHL library HTML documentation failed"
201 fi
202 fi
203 }
204
205 src_install() {
206 python_version
207 PYTHON_DIR=/usr/$(get_libdir)/python${PYVER}
208
209 emake -j1 DESTDIR="${D}" local-install || die "Installation of core of Subversion failed"
210
211 if use python; then
212 emake -j1 DESTDIR="${D}" DISTUTIL_PARAM="--prefix=${D}" LD_LIBRARY_PATH="-L${D}/usr/$(get_libdir)" install-swig-py \
213 || die "Installation of Subversion Python bindings failed"
214
215 # Move Python bindings.
216 dodir "${PYTHON_DIR}/site-packages"
217 mv "${D}"/usr/$(get_libdir)/svn-python/svn "${D}${PYTHON_DIR}/site-packages"
218 mv "${D}"/usr/$(get_libdir)/svn-python/libsvn "${D}${PYTHON_DIR}/site-packages"
219 rm -Rf "${D}"/usr/$(get_libdir)/svn-python
220 fi
221
222 if use perl; then
223 emake -j1 DESTDIR="${D}" INSTALLDIRS="vendor" install-swig-pl || die "Installation of Subversion Perl bindings failed"
224 fixlocalpod
225 fi
226
227 if use ruby; then
228 emake -j1 DESTDIR="${D}" install-swig-rb || die "Installation of Subversion Ruby bindings failed"
229 fi
230
231 if use java; then
232 emake -j1 DESTDIR="${D}" install-javahl || die "Installation of Subversion JavaHL library failed"
233 java-pkg_regso "${D}"/usr/$(get_libdir)/libsvnjavahl*.so
234 java-pkg_dojar "${D}"/usr/$(get_libdir)/svn-javahl/svn-javahl.jar
235 rm -Rf "${D}"/usr/$(get_libdir)/svn-javahl/*.jar
236 fi
237
238 # Install Apache module configuration.
239 if use apache2; then
240 dodir "${APACHE_MODULES_CONFDIR}"
241 cat <<EOF >"${D}/${APACHE_MODULES_CONFDIR}"/47_mod_dav_svn.conf
242 <IfDefine SVN>
243 LoadModule dav_svn_module modules/mod_dav_svn.so
244 <IfDefine SVN_AUTHZ>
245 LoadModule authz_svn_module modules/mod_authz_svn.so
246 </IfDefine>
247
248 # Example configuration:
249 #<Location /svn/repos>
250 # DAV svn
251 # SVNPath ${SVN_REPOS_LOC}/repos
252 # AuthType Basic
253 # AuthName "Subversion repository"
254 # AuthUserFile ${SVN_REPOS_LOC}/conf/svnusers
255 # Require valid-user
256 #</Location>
257 </IfDefine>
258 EOF
259 fi
260
261 # Install Bash Completion, bug 43179.
262 dobashcompletion tools/client-side/bash_completion subversion
263 rm -f tools/client-side/bash_completion
264
265 # Install hot backup script, bug 54304.
266 newbin tools/backup/hot-backup.py svn-hot-backup
267 rm -fr tools/backup
268
269 # Install svn_load_dirs.pl.
270 if use perl; then
271 newbin contrib/client-side/svn_load_dirs/svn_load_dirs.pl svn-load-dirs
272 fi
273 rm -f contrib/client-side/svn_load_dirs/svn_load_dirs.pl
274
275 # Install svnserve init-script and xinet.d snippet, bug 43245.
276 newinitd "${FILESDIR}"/svnserve.initd svnserve
277 if use apache2; then
278 newconfd "${FILESDIR}"/svnserve.confd svnserve
279 else
280 newconfd "${FILESDIR}"/svnserve.confd2 svnserve
281 fi
282 insinto /etc/xinetd.d
283 newins "${FILESDIR}"/svnserve.xinetd svnserve
284
285 # Install documentation.
286 dodoc CHANGES COMMITTERS README
287 dohtml www/hacking.html
288 dodoc tools/xslt/svnindex.{css,xsl}
289 rm -fr tools/xslt
290
291 # Install Vim syntax files.
292 if use vim-syntax; then
293 insinto /usr/share/vim/vimfiles/syntax
294 doins contrib/client-side/vim/svn.vim
295 fi
296 rm -f contrib/client-side/vim/svn.vim
297
298 # Install Emacs Lisps.
299 if use emacs; then
300 elisp-install ${PN} contrib/client-side/emacs/dsvn.el*
301 elisp-install ${PN} contrib/client-side/emacs/psvn.el*
302 elisp-install ${PN} doc/svn-doc.el*
303 elisp-install ${PN} doc/tools/svnbook.el*
304 elisp-site-file-install "${FILESDIR}"/1.5.0/70svn-gentoo.el
305 fi
306 rm -fr contrib/client-side/emacs
307
308 # Install extra files.
309 if use extras; then
310 doenvd "${FILESDIR}"/1.5.0/80subversion-extras
311
312 emake DESTDIR="${D}" install-contrib || die "Installation of contrib failed"
313 emake DESTDIR="${D}" install-tools || die "Installation of tools failed"
314
315 find contrib tools '(' -name "*.bat" -o -name "*.in" -o -name ".libs" ')' -print0 | xargs -0 rm -fr
316 rm -fr contrib/client-side/{svn-push,svnmucc}
317 rm -fr tools/server-side/{svn-populate-node-origins-index,svnauthz-validate}*
318 rm -fr tools/{buildbot,dev,diff,po}
319
320 insinto /usr/share/${PN}
321 doins -r contrib tools
322 fi
323
324 if use doc; then
325 dohtml doc/doxygen/html/*
326
327 insinto /usr/share/doc/${PF}
328 doins -r notes
329 ecompressdir /usr/share/doc/${PF}/notes
330
331 if use java; then
332 doins -r doc/javadoc
333 fi
334 fi
335 }
336
337 pkg_preinst() {
338 # Compare versions of Berkeley DB, bug 122877.
339 if use berkdb && [[ -f "${ROOT}usr/bin/svn" ]] ; then
340 OLD_BDB_VERSION="$(scanelf -nq "${ROOT}usr/lib/libsvn_subr-1.so.0" | grep -Eo "libdb-[[:digit:]]+\.[[:digit:]]+" | sed -e "s/libdb-\(.*\)/\1/")"
341 NEW_BDB_VERSION="$(scanelf -nq "${D}usr/lib/libsvn_subr-1.so.0" | grep -Eo "libdb-[[:digit:]]+\.[[:digit:]]+" | sed -e "s/libdb-\(.*\)/\1/")"
342 if [[ "${OLD_BDB_VERSION}" != "${NEW_BDB_VERSION}" ]] ; then
343 CHANGED_BDB_VERSION=1
344 fi
345 fi
346 }
347
348 pkg_postinst() {
349 use emacs && elisp-site-regen
350 use perl && perl-module_pkg_postinst
351
352 elog "Subversion Server Notes"
353 elog "-----------------------"
354 elog
355 elog "If you intend to run a server, a repository needs to be created using"
356 elog "svnadmin (see man svnadmin) or the following command to create it in"
357 elog "${SVN_REPOS_LOC}:"
358 elog
359 elog " emerge --config =${CATEGORY}/${PF}"
360 elog
361 elog "Subversion has multiple server types, take your pick:"
362 elog
363 elog " - svnserve daemon: "
364 elog " 1. Edit /etc/conf.d/svnserve"
365 elog " 2. Start daemon: /etc/init.d/svnserve start"
366 elog " 3. Make persistent: rc-update add svnserve default"
367 elog
368 elog " - svnserve via xinetd:"
369 elog " 1. Edit /etc/xinetd.d/svnserve (remove disable line)"
370 elog " 2. Restart xinetd.d: /etc/init.d/xinetd restart"
371 elog
372 elog " - svn over ssh:"
373 elog " 1. Fix the repository permissions:"
374 elog " groupadd svnusers"
375 elog " chown -R root:svnusers ${SVN_REPOS_LOC}/repos/"
376 elog " chmod -R g-w ${SVN_REPOS_LOC}/repos"
377 elog " chmod -R g+rw ${SVN_REPOS_LOC}/repos/db"
378 elog " chmod -R g+rw ${SVN_REPOS_LOC}/repos/locks"
379 elog " 2. Create an svnserve wrapper in /usr/local/bin to set the umask you"
380 elog " want, for example:"
381 elog " #!/bin/bash"
382 elog " . /etc/conf.d/svnserve"
383 elog " umask 002"
384 elog " exec /usr/bin/svnserve \${SVNSERVE_OPTS} \"\$@\""
385 elog
386
387 if use apache2; then
388 elog " - http-based server:"
389 elog " 1. Edit /etc/conf.d/apache2 to include both \"-D DAV\" and \"-D SVN\""
390 elog " 2. Create an htpasswd file:"
391 elog " htpasswd2 -m -c ${SVN_REPOS_LOC}/conf/svnusers USERNAME"
392 elog
393 fi
394
395 elog "If you intend to use svn-hot-backup, you can specify the number of"
396 elog "backups to keep per repository by specifying an environment variable."
397 elog "If you want to keep e.g. 2 backups, do the following:"
398 elog "echo '# hot-backup: Keep that many repository backups around' > /etc/env.d/80subversion"
399 elog "echo 'SVN_HOTBACKUP_BACKUPS_NUMBER=2' >> /etc/env.d/80subversion"
400 elog
401
402 if [[ -n "${CHANGED_BDB_VERSION}" ]] ; then
403 ewarn "You upgraded from an older version of Berkeley DB and may experience"
404 ewarn "problems with your repository. Run the following commands as root to fix it:"
405 ewarn " db4_recover -h ${SVN_REPOS_LOC}/repos"
406 ewarn " chown -Rf apache:apache ${SVN_REPOS_LOC}/repos"
407 fi
408 }
409
410 pkg_postrm() {
411 use emacs && elisp-site-regen
412 use perl && perl-module_pkg_postrm
413 }
414
415 pkg_config() {
416 if [[ ! -x "${ROOT}usr/bin/svnadmin" ]] ; then
417 die "You seem to only have built the Subversion client"
418 fi
419
420 einfo ">>> Initializing the database in ${ROOT}${SVN_REPOS_LOC} ..."
421 if [[ -e "${ROOT}${SVN_REPOS_LOC}/repos" ]] ; then
422 echo "A Subversion repository already exists and I will not overwrite it."
423 echo "Delete ${ROOT}${SVN_REPOS_LOC}/repos first if you're sure you want to have a clean version."
424 else
425 mkdir -p "${ROOT}${SVN_REPOS_LOC}/conf"
426
427 einfo ">>> Populating repository directory ..."
428 # Create initial repository.
429 "${ROOT}usr/bin/svnadmin" create "${ROOT}${SVN_REPOS_LOC}/repos"
430
431 einfo ">>> Setting repository permissions ..."
432 SVNSERVE_USER="$(. "${ROOT}etc/conf.d/svnserve" ; echo "${SVNSERVE_USER}")"
433 SVNSERVE_GROUP="$(. "${ROOT}etc/conf.d/svnserve" ; echo "${SVNSERVE_GROUP}")"
434 if use apache2 ; then
435 [[ -z "${SVNSERVE_USER}" ]] && SVNSERVE_USER="apache"
436 [[ -z "${SVNSERVE_GROUP}" ]] && SVNSERVE_GROUP="apache"
437 else
438 [[ -z "${SVNSERVE_USER}" ]] && SVNSERVE_USER="svn"
439 [[ -z "${SVNSERVE_GROUP}" ]] && SVNSERVE_GROUP="svnusers"
440 enewgroup "${SVNSERVE_GROUP}"
441 enewuser "${SVNSERVE_USER}" -1 -1 ${SVN_REPOS_LOC} "${SVNSERVE_GROUP}"
442 fi
443 chown -Rf "${SVNSERVE_USER}:${SVNSERVE_GROUP}" "${ROOT}${SVN_REPOS_LOC}/repos"
444 chmod -Rf 755 "${ROOT}${SVN_REPOS_LOC}/repos"
445 fi
446 }
447
448
449
450 --
451 gentoo-commits@l.g.o mailing list