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.ebuild
Date: Sat, 21 Jun 2008 12:07:50
Message-Id: E1KA1se-0005v2-HC@stork.gentoo.org
1 hollow 08/06/21 12:07:44
2
3 Modified: ChangeLog
4 Added: subversion-1.5.0.ebuild
5 Log:
6 version bump wrt #228653
7 (Portage version: 2.2_pre8/cvs/Linux 2.6.22-vs2.3.0.34-gentoo x86_64)
8
9 Revision Changes Path
10 1.314 dev-util/subversion/ChangeLog
11
12 file : http://sources.gentoo.org/viewcvs.py/gentoo-x86/dev-util/subversion/ChangeLog?rev=1.314&view=markup
13 plain: http://sources.gentoo.org/viewcvs.py/gentoo-x86/dev-util/subversion/ChangeLog?rev=1.314&content-type=text/plain
14 diff : http://sources.gentoo.org/viewcvs.py/gentoo-x86/dev-util/subversion/ChangeLog?r1=1.313&r2=1.314
15
16 Index: ChangeLog
17 ===================================================================
18 RCS file: /var/cvsroot/gentoo-x86/dev-util/subversion/ChangeLog,v
19 retrieving revision 1.313
20 retrieving revision 1.314
21 diff -u -r1.313 -r1.314
22 --- ChangeLog 16 Jun 2008 08:34:45 -0000 1.313
23 +++ ChangeLog 21 Jun 2008 12:07:43 -0000 1.314
24 @@ -1,6 +1,11 @@
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.313 2008/06/16 08:34:45 hollow Exp $
28 +# $Header: /var/cvsroot/gentoo-x86/dev-util/subversion/ChangeLog,v 1.314 2008/06/21 12:07:43 hollow Exp $
29 +
30 +*subversion-1.5.0 (21 Jun 2008)
31 +
32 + 21 Jun 2008; Benedikt Böhm <hollow@g.o> +subversion-1.5.0.ebuild:
33 + version bump wrt #228653
34
35 *subversion-1.5.0_rc9-r1 (16 Jun 2008)
36
37
38
39
40 1.1 dev-util/subversion/subversion-1.5.0.ebuild
41
42 file : http://sources.gentoo.org/viewcvs.py/gentoo-x86/dev-util/subversion/subversion-1.5.0.ebuild?rev=1.1&view=markup
43 plain: http://sources.gentoo.org/viewcvs.py/gentoo-x86/dev-util/subversion/subversion-1.5.0.ebuild?rev=1.1&content-type=text/plain
44
45 Index: subversion-1.5.0.ebuild
46 ===================================================================
47 # Copyright 1999-2008 Gentoo Foundation
48 # Distributed under the terms of the GNU General Public License v2
49 # $Header: /var/cvsroot/gentoo-x86/dev-util/subversion/subversion-1.5.0.ebuild,v 1.1 2008/06/21 12:07:43 hollow Exp $
50
51 EAPI="1"
52 WANT_AUTOMAKE="none"
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 mirror://gentoo/${P}-merge-improvements.patch.bz2"
60
61 LICENSE="Subversion"
62 SLOT="0"
63 KEYWORDS="~alpha ~amd64 ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~sparc-fbsd ~x86 ~x86-fbsd"
64 IUSE="apache2 berkdb debug doc +dso 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 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 doc? ( app-doc/doxygen )
85 java? ( >=virtual/jdk-1.5 )
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
116 src_unpack() {
117 unpack ${A}
118 cd "${S}"
119
120 epatch "${FILESDIR}"/1.5.0/http-library.patch
121 epatch "${FILESDIR}"/1.5.0/disable-unneeded-linking.patch
122 epatch "${WORKDIR}"/${P}-merge-improvements.patch
123
124 sed -i \
125 -e "s/\(BUILD_RULES=.*\) bdb-test\(.*\)/\1\2/g" \
126 -e "s/\(BUILD_RULES=.*\) test\(.*\)/\1\2/g" configure.ac
127
128 sed -e 's:@bindir@/svn-contrib:@libdir@/subversion/bin:' \
129 -e 's:@bindir@/svn-tools:@libdir@/subversion/bin:' \
130 -i Makefile.in
131
132 eautoconf
133 elibtoolize
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 dso runtime-module-search) \
155 $(use_enable java javahl) \
156 $(use_with java jdk "${JAVA_HOME}") \
157 $(use_enable nls) \
158 $(use_with sasl) \
159 $(use_with webdav-neon neon /usr) \
160 $(use_with webdav-serf serf /usr) \
161 --with-apr=/usr/bin/apr-1-config \
162 --with-apr-util=/usr/bin/apu-1-config \
163 --disable-experimental-libtool \
164 --without-jikes \
165 --without-junit \
166 --disable-mod-activation
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 CHANGES COMMITTERS README
293 dohtml www/hacking.html
294 dodoc tools/xslt/svnindex.{css,xsl}
295 rm -fr tools/xslt
296
297 # Install Vim syntax files.
298 if use vim-syntax; then
299 insinto /usr/share/vim/vimfiles/syntax
300 doins contrib/client-side/vim/svn.vim
301 fi
302 rm -f contrib/client-side/vim/svn.vim
303
304 # Install Emacs Lisps.
305 if use emacs; then
306 elisp-install ${PN} contrib/client-side/emacs/dsvn.el*
307 elisp-install ${PN} contrib/client-side/emacs/psvn.el*
308 elisp-install ${PN} doc/svn-doc.el*
309 elisp-install ${PN} doc/tools/svnbook.el*
310 elisp-site-file-install "${FILESDIR}"/1.5.0/70svn-gentoo.el
311 fi
312 rm -fr contrib/client-side/emacs
313
314 # Install extra files.
315 if use extras; then
316 doenvd "${FILESDIR}"/1.5.0/80subversion-extras
317
318 emake DESTDIR="${D}" install-contrib || die "Installation of contrib failed"
319 emake DESTDIR="${D}" install-tools || die "Installation of tools failed"
320
321 find contrib tools '(' -name "*.bat" -o -name "*.in" -o -name ".libs" ')' -print0 | xargs -0 rm -fr
322 rm -fr contrib/client-side/{svn-push,svnmucc}
323 rm -fr tools/server-side/{svn-populate-node-origins-index,svnauthz-validate}*
324 rm -fr tools/{buildbot,dev,diff,po}
325
326 insinto /usr/share/${PN}
327 doins -r contrib tools
328 fi
329
330 if use doc; then
331 dohtml doc/doxygen/html/*
332
333 insinto /usr/share/doc/${PF}
334 doins -r notes
335 ecompressdir /usr/share/doc/${PF}/notes
336
337 if use java; then
338 java-pkg_dojavadoc doc/javadoc
339 fi
340 fi
341 }
342
343 pkg_preinst() {
344 # Compare versions of Berkeley DB, bug 122877.
345 if use berkdb && [[ -f "${ROOT}usr/bin/svn" ]] ; then
346 OLD_BDB_VERSION="$(scanelf -nq "${ROOT}usr/$(get_libdir)/libsvn_subr-1.so.0" | grep -Eo "libdb-[[:digit:]]+\.[[:digit:]]+" | sed -e "s/libdb-\(.*\)/\1/")"
347 NEW_BDB_VERSION="$(scanelf -nq "${D}usr/$(get_libdir)/libsvn_subr-1.so.0" | grep -Eo "libdb-[[:digit:]]+\.[[:digit:]]+" | sed -e "s/libdb-\(.*\)/\1/")"
348 if [[ "${OLD_BDB_VERSION}" != "${NEW_BDB_VERSION}" ]] ; then
349 CHANGED_BDB_VERSION=1
350 fi
351 fi
352 }
353
354 pkg_postinst() {
355 use emacs && elisp-site-regen
356 use perl && perl-module_pkg_postinst
357
358 elog "Subversion Server Notes"
359 elog "-----------------------"
360 elog
361 elog "If you intend to run a server, a repository needs to be created using"
362 elog "svnadmin (see man svnadmin) or the following command to create it in"
363 elog "${SVN_REPOS_LOC}:"
364 elog
365 elog " emerge --config =${CATEGORY}/${PF}"
366 elog
367 elog "Subversion has multiple server types, take your pick:"
368 elog
369 elog " - svnserve daemon: "
370 elog " 1. Edit /etc/conf.d/svnserve"
371 elog " 2. Start daemon: /etc/init.d/svnserve start"
372 elog " 3. Make persistent: rc-update add svnserve default"
373 elog
374 elog " - svnserve via xinetd:"
375 elog " 1. Edit /etc/xinetd.d/svnserve (remove disable line)"
376 elog " 2. Restart xinetd.d: /etc/init.d/xinetd restart"
377 elog
378 elog " - svn over ssh:"
379 elog " 1. Fix the repository permissions:"
380 elog " groupadd svnusers"
381 elog " chown -R root:svnusers ${SVN_REPOS_LOC}/repos/"
382 elog " chmod -R g-w ${SVN_REPOS_LOC}/repos"
383 elog " chmod -R g+rw ${SVN_REPOS_LOC}/repos/db"
384 elog " chmod -R g+rw ${SVN_REPOS_LOC}/repos/locks"
385 elog " 2. Create an svnserve wrapper in /usr/local/bin to set the umask you"
386 elog " want, for example:"
387 elog " #!/bin/bash"
388 elog " . /etc/conf.d/svnserve"
389 elog " umask 002"
390 elog " exec /usr/bin/svnserve \${SVNSERVE_OPTS} \"\$@\""
391 elog
392
393 if use apache2; then
394 elog " - http-based server:"
395 elog " 1. Edit /etc/conf.d/apache2 to include both \"-D DAV\" and \"-D SVN\""
396 elog " 2. Create an htpasswd file:"
397 elog " htpasswd2 -m -c ${SVN_REPOS_LOC}/conf/svnusers USERNAME"
398 elog
399 fi
400
401 elog "If you intend to use svn-hot-backup, you can specify the number of"
402 elog "backups to keep per repository by specifying an environment variable."
403 elog "If you want to keep e.g. 2 backups, do the following:"
404 elog "echo '# hot-backup: Keep that many repository backups around' > /etc/env.d/80subversion"
405 elog "echo 'SVN_HOTBACKUP_BACKUPS_NUMBER=2' >> /etc/env.d/80subversion"
406 elog
407
408 if [[ -n "${CHANGED_BDB_VERSION}" ]] ; then
409 ewarn "You upgraded from an older version of Berkeley DB and may experience"
410 ewarn "problems with your repository. Run the following commands as root to fix it:"
411 ewarn " db4_recover -h ${SVN_REPOS_LOC}/repos"
412 ewarn " chown -Rf apache:apache ${SVN_REPOS_LOC}/repos"
413 fi
414 }
415
416 pkg_postrm() {
417 use emacs && elisp-site-regen
418 use perl && perl-module_pkg_postrm
419 }
420
421 pkg_config() {
422 if [[ ! -x "${ROOT}usr/bin/svnadmin" ]] ; then
423 die "You seem to only have built the Subversion client"
424 fi
425
426 einfo ">>> Initializing the database in ${ROOT}${SVN_REPOS_LOC} ..."
427 if [[ -e "${ROOT}${SVN_REPOS_LOC}/repos" ]] ; then
428 echo "A Subversion repository already exists and I will not overwrite it."
429 echo "Delete ${ROOT}${SVN_REPOS_LOC}/repos first if you're sure you want to have a clean version."
430 else
431 mkdir -p "${ROOT}${SVN_REPOS_LOC}/conf"
432
433 einfo ">>> Populating repository directory ..."
434 # Create initial repository.
435 "${ROOT}usr/bin/svnadmin" create "${ROOT}${SVN_REPOS_LOC}/repos"
436
437 einfo ">>> Setting repository permissions ..."
438 SVNSERVE_USER="$(. "${ROOT}etc/conf.d/svnserve" ; echo "${SVNSERVE_USER}")"
439 SVNSERVE_GROUP="$(. "${ROOT}etc/conf.d/svnserve" ; echo "${SVNSERVE_GROUP}")"
440 if use apache2 ; then
441 [[ -z "${SVNSERVE_USER}" ]] && SVNSERVE_USER="apache"
442 [[ -z "${SVNSERVE_GROUP}" ]] && SVNSERVE_GROUP="apache"
443 else
444 [[ -z "${SVNSERVE_USER}" ]] && SVNSERVE_USER="svn"
445 [[ -z "${SVNSERVE_GROUP}" ]] && SVNSERVE_GROUP="svnusers"
446 enewgroup "${SVNSERVE_GROUP}"
447 enewuser "${SVNSERVE_USER}" -1 -1 ${SVN_REPOS_LOC} "${SVNSERVE_GROUP}"
448 fi
449 chown -Rf "${SVNSERVE_USER}:${SVNSERVE_GROUP}" "${ROOT}${SVN_REPOS_LOC}/repos"
450 chmod -Rf 755 "${ROOT}${SVN_REPOS_LOC}/repos"
451 fi
452 }
453
454
455
456 --
457 gentoo-commits@l.g.o mailing list