diff --git a/subversion.changes b/subversion.changes index 1b799f0..1f4f553 100644 --- a/subversion.changes +++ b/subversion.changes @@ -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 diff --git a/subversion.conf b/subversion.conf index 939f5fd..4724cb7 100644 --- a/subversion.conf +++ b/subversion.conf @@ -41,4 +41,49 @@ # # +## +## Hosting svn at "/" +## +# +# 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 +# # +# +# 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 +# +# Require valid-user +# +# +# + diff --git a/subversion.cvs2svn-1.5.x.tar.bz2 b/subversion.cvs2svn-1.5.x.tar.bz2 deleted file mode 100644 index e4eb6b4..0000000 --- a/subversion.cvs2svn-1.5.x.tar.bz2 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:5271c7584fc9a24f470b0b6eca6af423a1b5da63c6417fed661cc0991765adda -size 383392 diff --git a/subversion.cvs2svn.install-prefix.patch b/subversion.cvs2svn.install-prefix.patch deleted file mode 100644 index 3901e9b..0000000 --- a/subversion.cvs2svn.install-prefix.patch +++ /dev/null @@ -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 - diff --git a/subversion.spec b/subversion.spec index 6e1cee4..12e6080 100644 --- a/subversion.spec +++ b/subversion.spec @@ -13,7 +13,9 @@ Name: subversion BuildRequires: apache2-devel db-devel gcc-c++ java2-devel-packages neon-devel openldap2-devel python-devel swig Version: 1.4.3 -Release: 7 +Release: 14 +# +%define _fwdefdir /etc/sysconfig/SuSEfirewall2.d/services # %define apxs /usr/sbin/apxs2 %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 viewvc_dir /srv/viewvc -# PreReq: %insserv_prereq %fillup_prereq # 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 Source1: subversion.conf Source2: subversion.README.SuSE -Source7: subversion.viewvc-1.0.x.tar.bz2 -Source8: subversion.viewvc.conf Source9: subversion.rcsvnserve Source10: subversion.sysconfig.svnserve -Source11: subversion.cvs2svn-1.5.x.tar.bz2 +Source12: subversion.sysconfig.svnserve.remoteaccess Source42: subversion.svngrep.sh Source43: subversion.svndiff.sh # @@ -54,10 +52,6 @@ Patch33: subversion.header_wrappers.patch patch34: subversion.allowed-neon.patch Patch35: subversion.java14.patch # -Patch42: subversion.viewvc-buglink.patch -# -Patch51: subversion.cvs2svn.install-prefix.patch -# %description 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 swig="`env -i swig -version 2>&1 | awk '/^SWIG Version/{ print $3 }'`" case "$swig" in @@ -184,7 +125,7 @@ case "$swig" in exit 1 ;; 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 echo "" >> subversion/bindings/java/javahl/native/Path.cpp @@ -204,13 +145,6 @@ echo "" >> subversion/bindings/java/javahl/native/Targets.cpp %patch33 -p1 %patch34 -p1 %patch35 -p1 -# -pushd viewvc-1.0.x -%patch42 -popd -pushd %{cvs2svn_dir} -%patch51 -p1 -popd %build 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 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 -av subversion/mod_authz_svn/INSTALL README.mod_authz_svn +cp -avL %{S:2} README.SuSE +cp -avL subversion/mod_authz_svn/INSTALL README.mod_authz_svn cat %name.lang > files.subversion cat with_jdk.files >> files.subversion -cd %{cvs2svn_dir} -make install DESTDIR=$RPM_BUILD_ROOT -cd .. # # tools mkdir -p $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 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/ 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 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/ , \ - another_project : /srv/svn/repos/ \ -# -' < 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/usr/sbin 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 -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 @@ -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) /usr/sbin/rcsvnserve /var/adm/fillup-templates/sysconfig.svnserve +%config %{_fwdefdir}/* # %attr(755,root,root) /usr/bin/svn %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 /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 %defattr(-,root,root) %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_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 +* 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 - add /usr/share/emacs to filelist * Sun Feb 25 2007 - olh@suse.de diff --git a/subversion.sysconfig.svnserve.remoteaccess b/subversion.sysconfig.svnserve.remoteaccess new file mode 100644 index 0000000..f1289b6 --- /dev/null +++ b/subversion.sysconfig.svnserve.remoteaccess @@ -0,0 +1,4 @@ +## Name: svnserve +## Description: Open ports for svnserve + +TCP="svn" diff --git a/subversion.viewvc-1.0.x.tar.bz2 b/subversion.viewvc-1.0.x.tar.bz2 deleted file mode 100644 index e2aa166..0000000 --- a/subversion.viewvc-1.0.x.tar.bz2 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:89657e9277256b6cf5137de6ef4a0446290788e8faa0d9c554037faad67af00b -size 555136 diff --git a/subversion.viewvc-buglink.patch b/subversion.viewvc-buglink.patch deleted file mode 100644 index 62b670c..0000000 --- a/subversion.viewvc-buglink.patch +++ /dev/null @@ -1,134 +0,0 @@ - from James Henstridge - 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'\1', html) - html = re.sub(_re_rewrite_email, r'\1@\2', html) -+ if buglink is not None: -+ html = re.sub(_re_rewrite_bug, r'\1' % 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', '\
') - 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) diff --git a/subversion.viewvc.conf b/subversion.viewvc.conf deleted file mode 100644 index f244207..0000000 --- a/subversion.viewvc.conf +++ /dev/null @@ -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 - - - ScriptAlias /viewvc /srv/viewvc/bin/cgi/viewvc.cgi - - - AllowOverride None - Options +ExecCGI - Order allow,deny - Allow from all - - - # apache can serve the static files directly - Alias /viewvc-docroot "/srv/viewvc/templates/docroot" - - AllowOverride None - Order allow,deny - Allow from all - - - - - - - - - AllowOverride None - #Options +ExecCGI - Order allow,deny - Allow from all - - - ScriptAlias /viewvc "/srv/viewvc/bin/mod_python/viewvc.py" - - AddHandler python-program .py - PythonPath "['/srv/viewvc/bin/mod_python']+sys.path" - PythonHandler handler - #PythonDebug On - #AddDefaultCharset UTF-8 - - - # apache can serve the static files directly - Alias /viewvc-docroot "/srv/viewvc/templates/docroot" - - AllowOverride None - Order allow,deny - Allow from all - - - - -