This commit is contained in:
parent
72e090d2a0
commit
bb6bd6a558
@ -1,3 +1,18 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Sat Apr 28 14:04:24 CEST 2007 - olh@suse.de
|
||||||
|
|
||||||
|
- move cvs2svn and viewvc to separate specfile
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Sat Apr 28 11:18:16 CEST 2007 - olh@suse.de
|
||||||
|
|
||||||
|
- add sysconfig settings for remote access (247372)
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Sat Apr 28 10:46:47 CEST 2007 - olh@suse.de
|
||||||
|
|
||||||
|
- add an example to host svn on / to subversion.conf (179404)
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Thu Mar 29 21:56:44 CEST 2007 - olh@suse.de
|
Thu Mar 29 21:56:44 CEST 2007 - olh@suse.de
|
||||||
|
|
||||||
|
@ -41,4 +41,49 @@
|
|||||||
# </LimitExcept>
|
# </LimitExcept>
|
||||||
#</Location>
|
#</Location>
|
||||||
|
|
||||||
|
##
|
||||||
|
## Hosting svn at "/"
|
||||||
|
##
|
||||||
|
#<VirtualHost *>
|
||||||
|
# ServerName svn.example.com
|
||||||
|
# ErrorLog /var/log/apache2/svn.example.com-error_log
|
||||||
|
# TransferLog /var/log/apache2/svn.example.com-access_log
|
||||||
|
# #
|
||||||
|
# # Do not set DocumentRoot. It is not needed here and just causes trouble.
|
||||||
|
# #
|
||||||
|
# # Map the error documents back to their defaults.
|
||||||
|
# # Otherwise mod_dav_svn tries to find a "error" repository.
|
||||||
|
# #
|
||||||
|
# ErrorDocument 400 default
|
||||||
|
# ErrorDocument 401 default
|
||||||
|
# ErrorDocument 403 default
|
||||||
|
# ErrorDocument 404 default
|
||||||
|
# ErrorDocument 405 default
|
||||||
|
# ErrorDocument 408 default
|
||||||
|
# ErrorDocument 410 default
|
||||||
|
# ErrorDocument 411 default
|
||||||
|
# ErrorDocument 412 default
|
||||||
|
# ErrorDocument 413 default
|
||||||
|
# ErrorDocument 414 default
|
||||||
|
# ErrorDocument 415 default
|
||||||
|
# ErrorDocument 500 default
|
||||||
|
# ErrorDocument 501 default
|
||||||
|
# ErrorDocument 502 default
|
||||||
|
# ErrorDocument 503 default
|
||||||
|
# #
|
||||||
|
# <Location />
|
||||||
|
# DAV svn
|
||||||
|
# SVNParent /srv/svn/repositories/
|
||||||
|
# SVNListParentPath on
|
||||||
|
# AuthType Basic
|
||||||
|
# AuthName "subversion repository"
|
||||||
|
# AuthBasicProvider file
|
||||||
|
# AuthUserFile /srv/svn/auth/svn.example.org.htpasswd
|
||||||
|
# SetOutputFilter DEFLATE
|
||||||
|
# <LimitExcept GET PROPFIND OPTIONS REPORT>
|
||||||
|
# Require valid-user
|
||||||
|
# </LimitExcept>
|
||||||
|
# </Location>
|
||||||
|
#</VirtualHost>
|
||||||
|
|
||||||
</IfModule>
|
</IfModule>
|
||||||
|
@ -1,3 +0,0 @@
|
|||||||
version https://git-lfs.github.com/spec/v1
|
|
||||||
oid sha256:5271c7584fc9a24f470b0b6eca6af423a1b5da63c6417fed661cc0991765adda
|
|
||||||
size 383392
|
|
@ -1,21 +0,0 @@
|
|||||||
According to bug #149809, prefix must be /usr/local
|
|
||||||
|
|
||||||
---
|
|
||||||
Makefile | 4 ++--
|
|
||||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
|
||||||
|
|
||||||
Index: cvs2svn-1.5.x/Makefile
|
|
||||||
===================================================================
|
|
||||||
--- cvs2svn-1.5.x.orig/Makefile
|
|
||||||
+++ cvs2svn-1.5.x/Makefile
|
|
||||||
@@ -18,8 +18,8 @@ install:
|
|
||||||
${PYTHON} ./setup.py install ; \
|
|
||||||
;; \
|
|
||||||
*) \
|
|
||||||
- echo ${PYTHON} ./setup.py install --root=${DESTDIR} ; \
|
|
||||||
- ${PYTHON} ./setup.py install --root=${DESTDIR} ; \
|
|
||||||
+ echo ${PYTHON} ./setup.py install --root=${DESTDIR} --prefix=/usr ; \
|
|
||||||
+ ${PYTHON} ./setup.py install --root=${DESTDIR} --prefix=/usr ; \
|
|
||||||
;; \
|
|
||||||
esac
|
|
||||||
|
|
135
subversion.spec
135
subversion.spec
@ -13,7 +13,9 @@
|
|||||||
Name: subversion
|
Name: subversion
|
||||||
BuildRequires: apache2-devel db-devel gcc-c++ java2-devel-packages neon-devel openldap2-devel python-devel swig
|
BuildRequires: apache2-devel db-devel gcc-c++ java2-devel-packages neon-devel openldap2-devel python-devel swig
|
||||||
Version: 1.4.3
|
Version: 1.4.3
|
||||||
Release: 7
|
Release: 14
|
||||||
|
#
|
||||||
|
%define _fwdefdir /etc/sysconfig/SuSEfirewall2.d/services
|
||||||
#
|
#
|
||||||
%define apxs /usr/sbin/apxs2
|
%define apxs /usr/sbin/apxs2
|
||||||
%define apache_libexecdir %(%{apxs} -q LIBEXECDIR)
|
%define apache_libexecdir %(%{apxs} -q LIBEXECDIR)
|
||||||
@ -21,8 +23,6 @@ Release: 7
|
|||||||
#
|
#
|
||||||
%define site_python %(python -c "import distutils.sysconfig; print distutils.sysconfig.get_python_lib()")
|
%define site_python %(python -c "import distutils.sysconfig; print distutils.sysconfig.get_python_lib()")
|
||||||
#
|
#
|
||||||
%define viewvc_dir /srv/viewvc
|
|
||||||
#
|
|
||||||
PreReq: %insserv_prereq %fillup_prereq
|
PreReq: %insserv_prereq %fillup_prereq
|
||||||
#
|
#
|
||||||
Summary: A Concurrent Versioning system similar to but better than CVS
|
Summary: A Concurrent Versioning system similar to but better than CVS
|
||||||
@ -33,11 +33,9 @@ URL: http://subversion.tigris.org
|
|||||||
Source0: subversion-1.4.x.tar.bz2
|
Source0: subversion-1.4.x.tar.bz2
|
||||||
Source1: subversion.conf
|
Source1: subversion.conf
|
||||||
Source2: subversion.README.SuSE
|
Source2: subversion.README.SuSE
|
||||||
Source7: subversion.viewvc-1.0.x.tar.bz2
|
|
||||||
Source8: subversion.viewvc.conf
|
|
||||||
Source9: subversion.rcsvnserve
|
Source9: subversion.rcsvnserve
|
||||||
Source10: subversion.sysconfig.svnserve
|
Source10: subversion.sysconfig.svnserve
|
||||||
Source11: subversion.cvs2svn-1.5.x.tar.bz2
|
Source12: subversion.sysconfig.svnserve.remoteaccess
|
||||||
Source42: subversion.svngrep.sh
|
Source42: subversion.svngrep.sh
|
||||||
Source43: subversion.svndiff.sh
|
Source43: subversion.svndiff.sh
|
||||||
#
|
#
|
||||||
@ -54,10 +52,6 @@ Patch33: subversion.header_wrappers.patch
|
|||||||
patch34: subversion.allowed-neon.patch
|
patch34: subversion.allowed-neon.patch
|
||||||
Patch35: subversion.java14.patch
|
Patch35: subversion.java14.patch
|
||||||
#
|
#
|
||||||
Patch42: subversion.viewvc-buglink.patch
|
|
||||||
#
|
|
||||||
Patch51: subversion.cvs2svn.install-prefix.patch
|
|
||||||
#
|
|
||||||
|
|
||||||
%description
|
%description
|
||||||
Subversion does the same thing CVS does (Concurrent Versioning System)
|
Subversion does the same thing CVS does (Concurrent Versioning System)
|
||||||
@ -123,59 +117,6 @@ http://subversion.tigris.org
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
%define cvs2svn_dir cvs2svn-1.5.x
|
|
||||||
%package -n cvs2svn
|
|
||||||
Version: 1.5.1
|
|
||||||
Release: 7
|
|
||||||
Provides: subversion-cvs2svn
|
|
||||||
Obsoletes: subversion-cvs2svn
|
|
||||||
Group: Development/Tools/Version Control
|
|
||||||
URL: http://cvs2svn.tigris.org/
|
|
||||||
Summary: Converts CVS repositories to Subversion repositories
|
|
||||||
%define pyver %(python -c 'import sys; print sys.version[:3]')
|
|
||||||
Requires: python >= %pyver, python < %{pyver}.99
|
|
||||||
Requires: rcs
|
|
||||||
Requires: subversion
|
|
||||||
|
|
||||||
%description -n cvs2svn
|
|
||||||
Converts CVS repositories to Subversion repositories.
|
|
||||||
|
|
||||||
See /usr/share/doc/packages/cvs2svn directory for more information.
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
%package -n viewvc
|
|
||||||
Version: 1.0.3
|
|
||||||
Release: 7
|
|
||||||
Requires: subversion-python
|
|
||||||
Provides: subversion-viewcvs viewcvs
|
|
||||||
Obsoletes: subversion-viewcvs viewcvs
|
|
||||||
Group: Development/Tools/Version Control
|
|
||||||
URL: http://www.viewvc.org/
|
|
||||||
Summary: ViewVC - Browse a Subversion Repository with a Web Browser
|
|
||||||
|
|
||||||
%description -n viewvc
|
|
||||||
ViewVC is a browser interface for CVS and Subversion version control
|
|
||||||
repositories. It generates templatized HTML to present navigable
|
|
||||||
directory, revision, and change log listings. It can display specific
|
|
||||||
versions of files as well as diffs between those versions. Basically,
|
|
||||||
ViewVC provides the bulk of the report-like functionality you expect
|
|
||||||
out of your version control tool, but much more prettily than the
|
|
||||||
average textual command-line program output.
|
|
||||||
|
|
||||||
ViewVC is the successor of ViewCVS.
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Authors:
|
|
||||||
--------
|
|
||||||
The ViewCVS Group:
|
|
||||||
* Greg Stein
|
|
||||||
* Tanaka Akira
|
|
||||||
* Tim Cera
|
|
||||||
* Peter Funk
|
|
||||||
* Jay Painter
|
|
||||||
|
|
||||||
%prep
|
%prep
|
||||||
swig="`env -i swig -version 2>&1 | awk '/^SWIG Version/{ print $3 }'`"
|
swig="`env -i swig -version 2>&1 | awk '/^SWIG Version/{ print $3 }'`"
|
||||||
case "$swig" in
|
case "$swig" in
|
||||||
@ -184,7 +125,7 @@ case "$swig" in
|
|||||||
exit 1
|
exit 1
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
%setup -q -n subversion-1.4.x -a 7 -a 11
|
%setup -q -n subversion-1.4.x
|
||||||
#
|
#
|
||||||
# warning: no newline at end of file
|
# warning: no newline at end of file
|
||||||
echo "" >> subversion/bindings/java/javahl/native/Path.cpp
|
echo "" >> subversion/bindings/java/javahl/native/Path.cpp
|
||||||
@ -204,13 +145,6 @@ echo "" >> subversion/bindings/java/javahl/native/Targets.cpp
|
|||||||
%patch33 -p1
|
%patch33 -p1
|
||||||
%patch34 -p1
|
%patch34 -p1
|
||||||
%patch35 -p1
|
%patch35 -p1
|
||||||
#
|
|
||||||
pushd viewvc-1.0.x
|
|
||||||
%patch42
|
|
||||||
popd
|
|
||||||
pushd %{cvs2svn_dir}
|
|
||||||
%patch51 -p1
|
|
||||||
popd
|
|
||||||
|
|
||||||
%build
|
%build
|
||||||
with_jdk=none
|
with_jdk=none
|
||||||
@ -339,59 +273,33 @@ cp -avL contrib/client-side/svnmerge.py $RPM_BUILD_ROOT/usr/bin
|
|||||||
#
|
#
|
||||||
mkdir -p $RPM_BUILD_ROOT/%{apache_sysconfdir}/conf.d
|
mkdir -p $RPM_BUILD_ROOT/%{apache_sysconfdir}/conf.d
|
||||||
cp -av %{S:1} $RPM_BUILD_ROOT/%{apache_sysconfdir}/conf.d/subversion.conf
|
cp -av %{S:1} $RPM_BUILD_ROOT/%{apache_sysconfdir}/conf.d/subversion.conf
|
||||||
cp -av %{S:8} $RPM_BUILD_ROOT/%{apache_sysconfdir}/conf.d/subversion.viewvc.conf
|
|
||||||
#
|
#
|
||||||
cp -av %{S:2} README.SuSE
|
cp -avL %{S:2} README.SuSE
|
||||||
cp -av subversion/mod_authz_svn/INSTALL README.mod_authz_svn
|
cp -avL subversion/mod_authz_svn/INSTALL README.mod_authz_svn
|
||||||
cat %name.lang > files.subversion
|
cat %name.lang > files.subversion
|
||||||
cat with_jdk.files >> files.subversion
|
cat with_jdk.files >> files.subversion
|
||||||
cd %{cvs2svn_dir}
|
|
||||||
make install DESTDIR=$RPM_BUILD_ROOT
|
|
||||||
cd ..
|
|
||||||
#
|
#
|
||||||
# tools
|
# tools
|
||||||
mkdir -p $RPM_BUILD_ROOT/usr/share/subversion/
|
mkdir -p $RPM_BUILD_ROOT/usr/share/subversion/
|
||||||
cp -a tools $RPM_BUILD_ROOT/usr/share/subversion/
|
cp -a tools $RPM_BUILD_ROOT/usr/share/subversion/
|
||||||
rm -rf $RPM_BUILD_ROOT/usr/share/subversion/tools/cvs2svn
|
#m -rf $RPM_BUILD_ROOT/usr/share/subversion/tools/cvs2svn
|
||||||
mkdir $RPM_BUILD_ROOT/usr/share/subversion/tools/svn_load_dirs
|
mkdir $RPM_BUILD_ROOT/usr/share/subversion/tools/svn_load_dirs
|
||||||
cp -aL contrib/client-side/svn_load_dirs.README $RPM_BUILD_ROOT/usr/share/subversion/tools/svn_load_dirs/README
|
cp -aL contrib/client-side/svn_load_dirs.README $RPM_BUILD_ROOT/usr/share/subversion/tools/svn_load_dirs/README
|
||||||
cp -aL contrib/client-side/svn_load_dirs_property_table.example $RPM_BUILD_ROOT/usr/share/subversion/tools/svn_load_dirs/
|
cp -aL contrib/client-side/svn_load_dirs_property_table.example $RPM_BUILD_ROOT/usr/share/subversion/tools/svn_load_dirs/
|
||||||
sed 's:@SVN_BINDIR@:/usr:' contrib/client-side/svn_load_dirs.pl.in > $RPM_BUILD_ROOT/usr/share/subversion/tools/svn_load_dirs/svn_load_dirs.pl
|
sed 's:@SVN_BINDIR@:/usr:' contrib/client-side/svn_load_dirs.pl.in > $RPM_BUILD_ROOT/usr/share/subversion/tools/svn_load_dirs/svn_load_dirs.pl
|
||||||
chmod 755 $RPM_BUILD_ROOT/usr/share/subversion/tools/svn_load_dirs/svn_load_dirs.pl
|
chmod 755 $RPM_BUILD_ROOT/usr/share/subversion/tools/svn_load_dirs/svn_load_dirs.pl
|
||||||
find $RPM_BUILD_ROOT \( -name .svn -o -name CVS -o -name tests \) -type d | xargs rm -rfv
|
find $RPM_BUILD_ROOT \( -name .svn -o -name CVS -o -name tests \) -type d | xargs rm -rfv
|
||||||
# viewvc
|
|
||||||
pushd .
|
|
||||||
cd viewvc-1.0.x
|
|
||||||
./viewvc-install --prefix "%{viewvc_dir}" --destdir "$RPM_BUILD_ROOT"
|
|
||||||
sed '
|
|
||||||
s@^#docroot.*@docroot = /viewvc-docroot@
|
|
||||||
s@^default_root.*@default_root = your_unnamed_project@
|
|
||||||
s@^cvsgraph_conf.*@cvsgraph_conf = %{viewvc_dir}/cvsgraph.conf@
|
|
||||||
s@^hr_funout.*@hr_funout = 1@
|
|
||||||
s@^show_changed_paths.*@show_changed_paths = 0@
|
|
||||||
/^cvs_roots/,/^$/s/^/###/
|
|
||||||
/^#svn_roots/,/^$/c\
|
|
||||||
svn_roots:\
|
|
||||||
your_unnamed_project : /srv/svn/repos/<your_unnamed_project> , \
|
|
||||||
another_project : /srv/svn/repos/<another_project> \
|
|
||||||
#
|
|
||||||
' < viewvc.conf.dist > $RPM_BUILD_ROOT%{viewvc_dir}/viewvc.conf
|
|
||||||
diff -up viewvc.conf.dist $RPM_BUILD_ROOT%{viewvc_dir}/viewvc.conf || true
|
|
||||||
popd
|
|
||||||
find $RPM_BUILD_ROOT%{viewvc_dir} -type d | \
|
|
||||||
sed "s@$RPM_BUILD_ROOT@%dir @" > files.subversion.viewvc
|
|
||||||
find $RPM_BUILD_ROOT%{viewvc_dir} -type f | \
|
|
||||||
sed "s@$RPM_BUILD_ROOT@@;/\/templates\/\|\.conf$/s@^@%config (noreplace) @" >> files.subversion.viewvc
|
|
||||||
cat files.subversion.viewvc
|
|
||||||
#
|
#
|
||||||
#
|
#
|
||||||
#
|
#
|
||||||
mkdir -p $RPM_BUILD_ROOT/etc/init.d
|
mkdir -p $RPM_BUILD_ROOT/etc/init.d
|
||||||
mkdir -p $RPM_BUILD_ROOT/usr/sbin
|
mkdir -p $RPM_BUILD_ROOT/usr/sbin
|
||||||
mkdir -p $RPM_BUILD_ROOT/var/adm/fillup-templates
|
mkdir -p $RPM_BUILD_ROOT/var/adm/fillup-templates
|
||||||
cp -a %_sourcedir/subversion.rcsvnserve $RPM_BUILD_ROOT/etc/init.d/svnserve
|
cp -aL %_sourcedir/subversion.rcsvnserve $RPM_BUILD_ROOT/etc/init.d/svnserve
|
||||||
ln -sv /etc/init.d/svnserve $RPM_BUILD_ROOT/usr/sbin/rcsvnserve
|
ln -sv /etc/init.d/svnserve $RPM_BUILD_ROOT/usr/sbin/rcsvnserve
|
||||||
cp -a %_sourcedir/subversion.sysconfig.svnserve $RPM_BUILD_ROOT/var/adm/fillup-templates/sysconfig.svnserve
|
cp -aL %_sourcedir/subversion.sysconfig.svnserve $RPM_BUILD_ROOT/var/adm/fillup-templates/sysconfig.svnserve
|
||||||
|
mkdir -p $RPM_BUILD_ROOT/%{_fwdefdir}
|
||||||
|
install -m 644 %{S:12} $RPM_BUILD_ROOT/%{_fwdefdir}/svnserve
|
||||||
#
|
#
|
||||||
|
|
||||||
%post
|
%post
|
||||||
@ -408,6 +316,7 @@ cp -a %_sourcedir/subversion.sysconfig.svnserve $RPM_BUILD_ROOT/var/adm/fillup-t
|
|||||||
%attr(754,root,root) /etc/init.d/svnserve
|
%attr(754,root,root) /etc/init.d/svnserve
|
||||||
%attr(754,root,root) /usr/sbin/rcsvnserve
|
%attr(754,root,root) /usr/sbin/rcsvnserve
|
||||||
/var/adm/fillup-templates/sysconfig.svnserve
|
/var/adm/fillup-templates/sysconfig.svnserve
|
||||||
|
%config %{_fwdefdir}/*
|
||||||
#
|
#
|
||||||
%attr(755,root,root) /usr/bin/svn
|
%attr(755,root,root) /usr/bin/svn
|
||||||
%attr(755,root,root) /usr/bin/svnadmin
|
%attr(755,root,root) /usr/bin/svnadmin
|
||||||
@ -455,13 +364,6 @@ cp -a %_sourcedir/subversion.sysconfig.svnserve $RPM_BUILD_ROOT/var/adm/fillup-t
|
|||||||
%{_libdir}/libsvn*.la
|
%{_libdir}/libsvn*.la
|
||||||
/usr/include/subversion-1/*
|
/usr/include/subversion-1/*
|
||||||
|
|
||||||
%files -n cvs2svn
|
|
||||||
%defattr(-,root,root)
|
|
||||||
%doc %{cvs2svn_dir}/{BUGS,COMMITTERS,COPYING,README,design-notes.txt,verify-cvs2svn.py,www/{faq,cvs2svn}.html}
|
|
||||||
%attr(755,root,root) /usr/bin/cvs2svn
|
|
||||||
%dir %{site_python}/cvs2svn_rcsparse
|
|
||||||
%{site_python}/cvs2svn*
|
|
||||||
|
|
||||||
%files tools
|
%files tools
|
||||||
%defattr(-,root,root)
|
%defattr(-,root,root)
|
||||||
%dir /usr/share/subversion
|
%dir /usr/share/subversion
|
||||||
@ -476,12 +378,13 @@ cp -a %_sourcedir/subversion.sysconfig.svnserve $RPM_BUILD_ROOT/var/adm/fillup-t
|
|||||||
%{apache_libexecdir}/mod_dav_svn.*
|
%{apache_libexecdir}/mod_dav_svn.*
|
||||||
%{apache_libexecdir}/mod_authz_svn.*
|
%{apache_libexecdir}/mod_authz_svn.*
|
||||||
|
|
||||||
%files -n viewvc -f files.subversion.viewvc
|
|
||||||
%defattr(-,root,root)
|
|
||||||
%dir %{apache_sysconfdir}/conf.d
|
|
||||||
%config (noreplace) %{apache_sysconfdir}/conf.d/subversion.viewvc.conf
|
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Sat Apr 28 2007 - olh@suse.de
|
||||||
|
- move cvs2svn and viewvc to separate specfile
|
||||||
|
* Sat Apr 28 2007 - olh@suse.de
|
||||||
|
- add sysconfig settings for remote access (247372)
|
||||||
|
* Sat Apr 28 2007 - olh@suse.de
|
||||||
|
- add an example to host svn on / to subversion.conf (179404)
|
||||||
* Thu Mar 29 2007 - olh@suse.de
|
* Thu Mar 29 2007 - olh@suse.de
|
||||||
- add /usr/share/emacs to filelist
|
- add /usr/share/emacs to filelist
|
||||||
* Sun Feb 25 2007 - olh@suse.de
|
* Sun Feb 25 2007 - olh@suse.de
|
||||||
|
4
subversion.sysconfig.svnserve.remoteaccess
Normal file
4
subversion.sysconfig.svnserve.remoteaccess
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
## Name: svnserve
|
||||||
|
## Description: Open ports for svnserve
|
||||||
|
|
||||||
|
TCP="svn"
|
@ -1,3 +0,0 @@
|
|||||||
version https://git-lfs.github.com/spec/v1
|
|
||||||
oid sha256:89657e9277256b6cf5137de6ef4a0446290788e8faa0d9c554037faad67af00b
|
|
||||||
size 555136
|
|
@ -1,134 +0,0 @@
|
|||||||
from James Henstridge <james@jamesh.id.au>
|
|
||||||
http://sourceforge.net/tracker/index.php?func=detail&aid=986023&group_id=18760&atid=318760
|
|
||||||
|
|
||||||
lib/config.py | 1 +
|
|
||||||
lib/viewvc.py | 22 +++++++++++++---------
|
|
||||||
viewvc.conf.dist | 15 +++++++++++++++
|
|
||||||
3 files changed, 29 insertions(+), 9 deletions(-)
|
|
||||||
|
|
||||||
Index: viewvc.conf.dist
|
|
||||||
===================================================================
|
|
||||||
--- viewvc.conf.dist.orig
|
|
||||||
+++ viewvc.conf.dist
|
|
||||||
@@ -257,6 +257,21 @@ languages = en-us
|
|
||||||
#---------------------------------------------------------------------------
|
|
||||||
[options]
|
|
||||||
|
|
||||||
+# The 'buglink_base' value is a string that can be used to form a URL
|
|
||||||
+# by appending a bug number. If viewvc sees something that looks
|
|
||||||
+# like a bug number in a log message (eg. "bug 12345" or "#12345"), it
|
|
||||||
+# will be displayed as a link to the bug in your bug tracking system.
|
|
||||||
+#
|
|
||||||
+# For a Bugzilla installation, you probably want to set this to
|
|
||||||
+# something like "http://hostname/show_bug.cgi?id=". For the Debian
|
|
||||||
+# bug tracker, you might use
|
|
||||||
+# "http://hostname/cgi-bin/bugreport.cgi?bug=".
|
|
||||||
+#
|
|
||||||
+# If 'buglink_base' is not set, then bug tracker links won't be
|
|
||||||
+# generated.
|
|
||||||
+#
|
|
||||||
+# buglink_base = http://example.com/show_bug.cgi?id=
|
|
||||||
+
|
|
||||||
# root_as_url_component: Interpret the first path component in the URL
|
|
||||||
# after the script location as the root to use. This is an
|
|
||||||
# alternative to using the "root=" query key. If ViewVC is configured
|
|
||||||
Index: lib/config.py
|
|
||||||
===================================================================
|
|
||||||
--- lib/config.py.orig
|
|
||||||
+++ lib/config.py
|
|
||||||
@@ -221,6 +221,7 @@ class Config:
|
|
||||||
self.options.use_localtime = 0
|
|
||||||
self.options.http_expiration_time = 600
|
|
||||||
self.options.generate_etags = 1
|
|
||||||
+ self.options.buglink_base = None
|
|
||||||
|
|
||||||
def is_forbidden(self, module):
|
|
||||||
if not module:
|
|
||||||
Index: lib/viewvc.py
|
|
||||||
===================================================================
|
|
||||||
--- lib/viewvc.py.orig
|
|
||||||
+++ lib/viewvc.py
|
|
||||||
@@ -970,14 +970,18 @@ def get_file_view_info(request, where, r
|
|
||||||
# addresses. Note that the regexps assume the text is already HTML-encoded.
|
|
||||||
_re_rewrite_url = re.compile('((http|https|ftp|file|svn|svn\+ssh)(://[-a-zA-Z0-9%.~:_/]+)((\?|\&)([-a-zA-Z0-9%.~:_]+)=([-a-zA-Z0-9%.~:_])+)*(#([-a-zA-Z0-9%.~:_]+)?)?)')
|
|
||||||
_re_rewrite_email = re.compile('([-a-zA-Z0-9_.\+]+)@(([-a-zA-Z0-9]+\.)+[A-Za-z]{2,4})')
|
|
||||||
-def htmlify(html):
|
|
||||||
+_re_rewrite_bug = re.compile(r'((?:\bbug[\s#+]|[^&]#|^#)\s*(\d\d+))', re.I)
|
|
||||||
+def htmlify(html, buglink = None):
|
|
||||||
html = cgi.escape(html)
|
|
||||||
html = re.sub(_re_rewrite_url, r'<a href="\1">\1</a>', html)
|
|
||||||
html = re.sub(_re_rewrite_email, r'<a href="mailto:\1@\2">\1@\2</a>', html)
|
|
||||||
+ if buglink is not None:
|
|
||||||
+ html = re.sub(_re_rewrite_bug, r'<a href="%s\2">\1</a>' % buglink, html)
|
|
||||||
return html
|
|
||||||
|
|
||||||
+
|
|
||||||
def format_log(log, cfg):
|
|
||||||
- s = htmlify(log[:cfg.options.short_log_len])
|
|
||||||
+ s = htmlify(log[:cfg.options.short_log_len], cfg.options.buglink_base)
|
|
||||||
if len(log) > cfg.options.short_log_len:
|
|
||||||
s = s + '...'
|
|
||||||
return s
|
|
||||||
@@ -1394,7 +1398,7 @@ def view_markup(request):
|
|
||||||
'date' : make_time_string(entry.date, cfg),
|
|
||||||
'author' : entry.author,
|
|
||||||
'changed' : entry.changed,
|
|
||||||
- 'log' : htmlify(entry.log),
|
|
||||||
+ 'log' : htmlify(entry.log, cfg.options.buglink_base),
|
|
||||||
'size' : entry.size,
|
|
||||||
})
|
|
||||||
|
|
||||||
@@ -1651,7 +1655,7 @@ def view_directory(request):
|
|
||||||
'sortby' : sortby,
|
|
||||||
'sortdir' : sortdir,
|
|
||||||
'tarball_href' : None,
|
|
||||||
- 'search_re' : search_re and htmlify(search_re) or None,
|
|
||||||
+ 'search_re' : search_re and htmlify(search_re, cfg.options.buglink_base) or None,
|
|
||||||
'dir_pagestart' : None,
|
|
||||||
'sortby_file_href' : request.get_url(params={'sortby': 'file',
|
|
||||||
'sortdir': None},
|
|
||||||
@@ -1897,7 +1901,7 @@ def view_log(request):
|
|
||||||
entry.ago = None
|
|
||||||
if rev.date is not None:
|
|
||||||
entry.ago = html_time(request, rev.date, 1)
|
|
||||||
- entry.log = htmlify(rev.log or "")
|
|
||||||
+ entry.log = htmlify(rev.log or "", cfg.options.buglink_base)
|
|
||||||
entry.size = rev.size
|
|
||||||
entry.branch_point = None
|
|
||||||
entry.next_main = None
|
|
||||||
@@ -2359,7 +2363,7 @@ def spaced_html_text(text, cfg):
|
|
||||||
text = string.replace(text, ' ', ' \x01nbsp;')
|
|
||||||
else:
|
|
||||||
text = string.replace(text, ' ', '\x01nbsp;')
|
|
||||||
- text = htmlify(text)
|
|
||||||
+ text = htmlify(text, cfg.options.buglink_base)
|
|
||||||
text = string.replace(text, '\x01', '&')
|
|
||||||
text = string.replace(text, '\x02', '<span style="color:red">\</span><br />')
|
|
||||||
return text
|
|
||||||
@@ -2767,7 +2771,7 @@ def view_diff(request):
|
|
||||||
else:
|
|
||||||
changes = DiffSource(fp, cfg)
|
|
||||||
else:
|
|
||||||
- raw_diff_fp = MarkupPipeWrapper(fp, htmlify(headers), None, 1)
|
|
||||||
+ raw_diff_fp = MarkupPipeWrapper(fp, htmlify(headers, cfg.options.buglink_base), None, 1)
|
|
||||||
|
|
||||||
data.update({
|
|
||||||
'date_left' : rcsdiff_date_reformat(date1, cfg),
|
|
||||||
@@ -3051,7 +3055,7 @@ def view_revision(request):
|
|
||||||
'rev' : str(rev),
|
|
||||||
'author' : author,
|
|
||||||
'date' : date_str,
|
|
||||||
- 'log' : msg and htmlify(msg) or None,
|
|
||||||
+ 'log' : msg and htmlify(msg, request.cfg.options.buglink_base) or None,
|
|
||||||
'ago' : None,
|
|
||||||
'changes' : changes,
|
|
||||||
'prev_href' : prev_rev_href,
|
|
||||||
@@ -3202,7 +3206,7 @@ def build_commit(request, files, limited
|
|
||||||
commit = _item(num_files=len(files), files=[])
|
|
||||||
commit.limited_files = ezt.boolean(limited_files)
|
|
||||||
desc = files[0].GetDescription()
|
|
||||||
- commit.log = htmlify(desc)
|
|
||||||
+ commit.log = htmlify(desc, request.cfg.options.buglink_base)
|
|
||||||
commit.short_log = format_log(desc, request.cfg)
|
|
||||||
commit.author = htmlify(files[0].GetAuthor())
|
|
||||||
commit.rss_date = make_rss_time_string(files[0].GetTime(), request.cfg)
|
|
@ -1,56 +0,0 @@
|
|||||||
# Example configuration for a subversion viewvc repository
|
|
||||||
#
|
|
||||||
# put the string SVN_VIEWCVS in /etc/sysconfig/apache2 APACHE_SERVER_FLAGS
|
|
||||||
# to enable the URL
|
|
||||||
# http://localhost/viewvc
|
|
||||||
<IfDefine SVN_VIEWCVS>
|
|
||||||
|
|
||||||
ScriptAlias /viewvc /srv/viewvc/bin/cgi/viewvc.cgi
|
|
||||||
|
|
||||||
<Directory "/srv/viewvc/bin/cgi">
|
|
||||||
AllowOverride None
|
|
||||||
Options +ExecCGI
|
|
||||||
Order allow,deny
|
|
||||||
Allow from all
|
|
||||||
</Directory>
|
|
||||||
|
|
||||||
# apache can serve the static files directly
|
|
||||||
Alias /viewvc-docroot "/srv/viewvc/templates/docroot"
|
|
||||||
<Directory /srv/viewvc/templates/docroot/>
|
|
||||||
AllowOverride None
|
|
||||||
Order allow,deny
|
|
||||||
Allow from all
|
|
||||||
</Directory>
|
|
||||||
|
|
||||||
</IfDefine>
|
|
||||||
|
|
||||||
<IfModule mod_python.c>
|
|
||||||
<IfDefine SVN_VIEWCVS_MODPYTHON>
|
|
||||||
|
|
||||||
<Directory "/srv/viewvc/bin/mod_python">
|
|
||||||
AllowOverride None
|
|
||||||
#Options +ExecCGI
|
|
||||||
Order allow,deny
|
|
||||||
Allow from all
|
|
||||||
</Directory>
|
|
||||||
|
|
||||||
ScriptAlias /viewvc "/srv/viewvc/bin/mod_python/viewvc.py"
|
|
||||||
<Location /viewvc>
|
|
||||||
AddHandler python-program .py
|
|
||||||
PythonPath "['/srv/viewvc/bin/mod_python']+sys.path"
|
|
||||||
PythonHandler handler
|
|
||||||
#PythonDebug On
|
|
||||||
#AddDefaultCharset UTF-8
|
|
||||||
</Location>
|
|
||||||
|
|
||||||
# apache can serve the static files directly
|
|
||||||
Alias /viewvc-docroot "/srv/viewvc/templates/docroot"
|
|
||||||
<Directory /srv/viewvc/templates/docroot/>
|
|
||||||
AllowOverride None
|
|
||||||
Order allow,deny
|
|
||||||
Allow from all
|
|
||||||
</Directory>
|
|
||||||
|
|
||||||
</IfDefine>
|
|
||||||
</IfModule>
|
|
||||||
|
|
Loading…
x
Reference in New Issue
Block a user