Hello community, here is the log from the commit of package viewvc for openSUSE:Factory checked in at 2019-12-30 12:34:42 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/viewvc (Old) and /work/SRC/openSUSE:Factory/.viewvc.new.6675 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Package is "viewvc" Mon Dec 30 12:34:42 2019 rev:46 rq:759914 version:1.1.27 Changes: -------- --- /work/SRC/openSUSE:Factory/viewvc/viewvc.changes 2017-02-14 00:48:37.788300323 +0100 +++ /work/SRC/openSUSE:Factory/.viewvc.new.6675/viewvc.changes 2019-12-30 12:34:46.951802960 +0100 @@ -1,0 +2,17 @@ +Sat Dec 28 20:19:42 UTC 2019 - Lars Vogdt <lars@linux-schulserver.de> + +- update to 1.1.27 + * suppress stack traces (with option to show) (#140) + * distinguish text/binary/image files by icons (#166, #175) + * colorize alternating file content lines (#167) + * link to the instance root from the ViewVC logo (#168) + * display directory and root counts, too (#169) + * fix double fault error in standalone.py (#157) + * support timezone offsets with minutes piece (#176) +- rebase viewvc-buglink.patch => viewvc-1.1.27-buglink.patch +- use license macro +- avoid /usr/bin/env and make the files using this executable +- source has been moved to GitHub +- use _service file for downloading the source + +------------------------------------------------------------------- Old: ---- viewvc-1.1.26.tar.gz viewvc-buglink.patch New: ---- _service viewvc-1.1.27-buglink.patch viewvc-1.1.27.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ viewvc.spec ++++++ --- /var/tmp/diff_new_pack.Fl3cMe/_old 2019-12-30 12:34:47.535803274 +0100 +++ /var/tmp/diff_new_pack.Fl3cMe/_new 2019-12-30 12:34:47.539803276 +0100 @@ -1,7 +1,7 @@ # # spec file for package viewvc # -# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -12,7 +12,7 @@ # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. -# Please submit bugfixes or comments via http://bugs.opensuse.org/ +# Please submit bugfixes or comments via https://bugs.opensuse.org/ # @@ -25,16 +25,18 @@ # %define viewvc_dir /srv/viewvc Name: viewvc -Version: 1.1.26 +Version: 1.1.27 Release: 0 Summary: Browse a Subversion Repository with a Web Browser License: BSD-2-Clause Group: Development/Tools/Version Control Url: http://www.viewvc.org/ -Source0: http://www.viewvc.org/viewvc-%{version}.tar.gz +Source0: viewvc-%{version}.tar.gz Source1: viewvc.conf Source99: viewvc-rpmlintrc -Patch0: viewvc-buglink.patch +# PATCH-FIX-OPENSUSE: adds a config option for a 'buglink_base' value that can be used to form a URL +# by appending a bug number in a log message +Patch0: viewvc-1.1.27-buglink.patch BuildRequires: apache2-devel BuildRequires: python-devel Requires: subversion-python @@ -60,7 +62,10 @@ %prep %setup -q -%patch0 +%patch0 -p1 + +find lib/ -name "*.py" -type f \ + -exec sed -i '1s|^#!.*/usr/bin/env |#!/usr/bin/|' {} \; %build @@ -97,12 +102,15 @@ sed "s@%{buildroot}@%dir @" > files.viewvc find %{buildroot}%{viewvc_dir} -type f | \ sed "s@%{buildroot}@@;/\/templates\/\|\.conf$/s@^@%config (noreplace) @" >> files.viewvc +for file in blame.py compat_difflib.py compat_ndiff.py ezt.py py2html.py query.py parse_rcs_file.py run-tests.py; do + sed -i "s|\(.*$file\)|%attr(0755,root,root) &|" files.viewvc +done cat files.viewvc # %files -f files.viewvc %defattr(-,root,root) -%doc LICENSE +%license LICENSE %dir %{apache_sysconfdir}/conf.d %config (noreplace) %{apache_sysconfdir}/conf.d/viewvc.conf ++++++ _service ++++++ <services> <service name="download_url" mode='localonly'> <param name="host">github.com</param> <param name="protocol">https</param> <param name="path">/viewvc/viewvc/releases/download/1.1.27/viewvc-1.1.27.tar.gz</param> </service> </services> ++++++ viewvc-1.1.27-buglink.patch ++++++ Index: viewvc-1.1.27/conf/viewvc.conf.dist =================================================================== --- viewvc-1.1.27.orig/conf/viewvc.conf.dist +++ viewvc-1.1.27/conf/viewvc.conf.dist @@ -343,6 +343,21 @@ ##--------------------------------------------------------------------------- [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: viewvc-1.1.27/lib/config.py =================================================================== --- viewvc-1.1.27.orig/lib/config.py +++ viewvc-1.1.27/lib/config.py @@ -445,6 +445,7 @@ class Config: self.options.log_pagesextra = 3 self.options.limit_changes = 100 self.options.stacktraces = 0 + self.options.buglink_base = None self.templates.diff = None self.templates.directory = None Index: viewvc-1.1.27/lib/viewvc.py =================================================================== --- viewvc-1.1.27.orig/lib/viewvc.py +++ viewvc-1.1.27/lib/viewvc.py @@ -1167,6 +1167,9 @@ class ViewVCHtmlFormatterTokens: return out, out_len, 1 return out, out_len, 0 +# Matches bug numbers +_re_rewrite_bug = re.compile(r'((?:\bbug[\s:#+]|[^&]#|^#)\s*(\d\d+))', re.I) +_re_buglink_prefix = "" class ViewVCHtmlFormatter: """Format a string as HTML-encoded output with customizable markup @@ -1180,6 +1183,19 @@ class ViewVCHtmlFormatter: def __init__(self): self._formatters = [] + def format_bugzilla(self, mobj, userdata, maxlen=0): + """Return a 2-tuple containing: + - the text represented by MatchObject MOBJ, formatted as + linkified URL, with no more than MAXLEN characters in the + non-HTML-tag bits. If MAXLEN is 0, there is no maximum. + - the number of non-HTML-tag characters returned. + """ + s = mobj.group(0) + trunc_s = maxlen and s[:maxlen] or s + return '<a href="%s%s">%s</a>' % (_re_buglink_prefix, urllib.quote(mobj.group(2)), + sapi.escape(trunc_s)), \ + len(trunc_s) + def format_url(self, mobj, userdata, maxlen=0): """Return a 2-tuple containing: - the text represented by MatchObject MOBJ, formatted as @@ -1399,6 +1415,11 @@ class LogFormatter: lf.add_formatter(_re_rewrite_svnrevref, lf.format_svnrevref, revision_to_url) + if cfg.options.buglink_base is not None: + global _re_buglink_prefix + _re_buglink_prefix = cfg.options.buglink_base + lf.add_formatter(_re_rewrite_bug, lf.format_bugzilla) + # Rewrite email addresses. if cfg.options.mangle_email_addresses == 2: lf.add_formatter(_re_rewrite_email, lf.format_email_truncated) ++++++ viewvc-1.1.26.tar.gz -> viewvc-1.1.27.tar.gz ++++++ ++++ 1970 lines of diff (skipped)