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