Hello community, here is the log from the commit of package djvusmooth for openSUSE:Factory checked in at 2017-11-03 16:28:48 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/djvusmooth (Old) and /work/SRC/openSUSE:Factory/.djvusmooth.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "djvusmooth" Fri Nov 3 16:28:48 2017 rev:14 rq:538518 version:0.2.19 Changes: -------- --- /work/SRC/openSUSE:Factory/djvusmooth/djvusmooth.changes 2016-11-25 12:28:28.000000000 +0100 +++ /work/SRC/openSUSE:Factory/.djvusmooth.new/djvusmooth.changes 2017-11-03 16:30:58.146848293 +0100 @@ -1,0 +2,7 @@ +Tue Sep 26 17:49:50 UTC 2017 - [email protected] + +- Update to 0.2.19. + * Create temporary files in a subdirectory of /tmp. +- Correct the source URL. + +------------------------------------------------------------------- Old: ---- djvusmooth-0.2.18.tar.gz djvusmooth-0.2.18.tar.gz.asc New: ---- djvusmooth-0.2.19.tar.gz djvusmooth-0.2.19.tar.gz.asc ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ djvusmooth.spec ++++++ --- /var/tmp/diff_new_pack.LxHWrj/_old 2017-11-03 16:30:58.642830241 +0100 +++ /var/tmp/diff_new_pack.LxHWrj/_new 2017-11-03 16:30:58.646830096 +0100 @@ -1,7 +1,7 @@ # # spec file for package djvusmooth # -# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2017 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 @@ -17,23 +17,25 @@ Name: djvusmooth -Version: 0.2.18 +Version: 0.2.19 Release: 0 Summary: Graphical Text Editor for DjVu License: GPL-2.0 Group: Productivity/Publishing/Other Url: http://jwilk.net/software/djvusmooth -Source0: https://files.pythonhosted.org/packages/source/d/%{name}/%{name}-%{version}.tar.gz -Source1: https://files.pythonhosted.org/packages/source/d/%{name}/%{name}-%{version}.tar.gz.asc +Source0: https://github.com/jwilk/djvusmooth/releases/download/%{version}/%{name}-%{version}.tar.gz +Source1: https://github.com/jwilk/djvusmooth/releases/download/%{version}/%{name}-%{version}.tar.gz.asc Source2: djvusmooth.png Source3: %{name}.keyring -BuildRequires: desktop-file-utils -BuildRequires: hicolor-icon-theme BuildRequires: python-setuptools Requires: djvulibre Requires: python-djvulibre Requires: python-wxWidgets Requires: python-xdg +Requires(post): desktop-file-utils +Requires(post): hicolor-icon-theme +Requires(postun): desktop-file-utils +Requires(postun): hicolor-icon-theme Recommends: %{name}-lang BuildRoot: %{_tmppath}/%{name}-%{version}-build BuildArch: noarch ++++++ djvusmooth-0.2.18.tar.gz -> djvusmooth-0.2.19.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/djvusmooth-0.2.18/MANIFEST.in new/djvusmooth-0.2.19/MANIFEST.in --- old/djvusmooth-0.2.18/MANIFEST.in 2016-11-12 18:37:39.000000000 +0100 +++ new/djvusmooth-0.2.19/MANIFEST.in 2016-12-23 21:07:35.000000000 +0100 @@ -1,3 +1,4 @@ +include COPYING include MANIFEST.in include djvusmooth edit-text include djvusmooth.py diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/djvusmooth-0.2.18/PKG-INFO new/djvusmooth-0.2.19/PKG-INFO --- old/djvusmooth-0.2.18/PKG-INFO 2016-11-20 20:42:34.000000000 +0100 +++ new/djvusmooth-0.2.19/PKG-INFO 2017-09-16 17:06:16.000000000 +0200 @@ -1,6 +1,6 @@ Metadata-Version: 1.1 Name: djvusmooth -Version: 0.2.18 +Version: 0.2.19 Summary: graphical editor for DjVu Home-page: http://jwilk.net/software/djvusmooth Author: Jakub Wilk diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/djvusmooth-0.2.18/doc/changelog new/djvusmooth-0.2.19/doc/changelog --- old/djvusmooth-0.2.18/doc/changelog 2016-11-20 20:38:28.000000000 +0100 +++ new/djvusmooth-0.2.19/doc/changelog 2017-09-16 17:05:53.000000000 +0200 @@ -1,3 +1,11 @@ +djvusmooth (0.2.19) unstable; urgency=low + + * Create temporary files in a subdirectory of /tmp. + This is necessary, because some editors can't securely open files + directly in /tmp. + + -- Jakub Wilk <[email protected]> Sat, 16 Sep 2017 17:05:51 +0200 + djvusmooth (0.2.18) unstable; urgency=low * Improve the setup script: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/djvusmooth-0.2.18/doc/djvusmooth.1 new/djvusmooth-0.2.19/doc/djvusmooth.1 --- old/djvusmooth-0.2.18/doc/djvusmooth.1 2016-11-20 20:42:34.000000000 +0100 +++ new/djvusmooth-0.2.19/doc/djvusmooth.1 2017-09-16 17:06:16.000000000 +0200 @@ -3,12 +3,12 @@ .\" Title: djvusmooth .\" Author: Jakub Wilk <[email protected]> .\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/> -.\" Date: 11/20/2016 +.\" Date: 09/16/2017 .\" Manual: djvusmooth manual -.\" Source: djvusmooth 0.2.18 +.\" Source: djvusmooth 0.2.19 .\" Language: English .\" -.TH "DJVUSMOOTH" "1" 2016\-11\-20 "djvusmooth 0\&.2\&.18" "djvusmooth manual" +.TH "DJVUSMOOTH" "1" 2017\-09\-16 "djvusmooth 0\&.2\&.19" "djvusmooth manual" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/djvusmooth-0.2.18/doc/djvusmooth.xml new/djvusmooth-0.2.19/doc/djvusmooth.xml --- old/djvusmooth-0.2.18/doc/djvusmooth.xml 2016-11-20 20:30:49.000000000 +0100 +++ new/djvusmooth-0.2.19/doc/djvusmooth.xml 2016-12-23 21:10:19.000000000 +0100 @@ -2,7 +2,7 @@ <!DOCTYPE refentry PUBLIC '-//OASIS//DTD DocBook XML V4.5//EN' 'http://www.docbook.org/xml/4.5/docbookx.dtd' [ <!ENTITY p 'djvusmooth'> - <!ENTITY version '0.2.18'> + <!ENTITY version '0.2.19'> ]> <refentry> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/djvusmooth-0.2.18/lib/__init__.py new/djvusmooth-0.2.19/lib/__init__.py --- old/djvusmooth-0.2.18/lib/__init__.py 2016-11-12 18:37:39.000000000 +0100 +++ new/djvusmooth-0.2.19/lib/__init__.py 2017-01-15 17:39:27.000000000 +0100 @@ -1,6 +1,3 @@ -__version__ = '0.2.18' -__author__ = 'Jakub Wilk <[email protected]>' - import sys if sys.version_info < (2, 6): @@ -8,4 +5,7 @@ if sys.version_info >= (3, 0): raise RuntimeError('Python 2.X is required') +__version__ = '0.2.19' +__author__ = 'Jakub Wilk <[email protected]>' + # vim:ts=4 sts=4 sw=4 et diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/djvusmooth-0.2.18/lib/external_editor.py new/djvusmooth-0.2.19/lib/external_editor.py --- old/djvusmooth-0.2.18/lib/external_editor.py 2016-11-12 18:37:39.000000000 +0100 +++ new/djvusmooth-0.2.19/lib/external_editor.py 2017-09-15 23:24:39.000000000 +0200 @@ -1,6 +1,6 @@ # encoding=UTF-8 -# Copyright © 2008-2015 Jakub Wilk <[email protected]> +# Copyright © 2008-2017 Jakub Wilk <[email protected]> # # This file is part of djvusmooth. # @@ -14,19 +14,21 @@ # more details. import os.path +import shutil import subprocess import tempfile class temporary_file(object): - def __init__(self, suffix='', prefix='tmp', dir=None, text=False): - fd, self.name = tempfile.mkstemp(suffix=suffix, prefix=prefix, dir=dir, text=text) - self.mode = 'r+' + 'bt'[bool(text)] - self.fp = os.fdopen(fd, self.mode) + def __init__(self, name): + self.dir = self.fp = None + self.dir = tempfile.mkdtemp(prefix='djvusmooth.') + self.name = os.path.join(self.dir, name) + self.fp = open(self.name, 'w+') def _reopen(self): if self.fp is None: - self.fp = open(self.name, self.mode) + self.fp = open(self.name, 'r+') def flush(self): if self.fp is None: @@ -35,11 +37,11 @@ self.fp = None def close(self): - if self.name is None: + if self.dir is None: return self.flush() - os.remove(self.name) - self.name = None + shutil.rmtree(self.dir) + self.dir = None def seek(self, offset, whence=0): self._reopen() diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/djvusmooth-0.2.18/lib/gui/main.py new/djvusmooth-0.2.19/lib/gui/main.py --- old/djvusmooth-0.2.18/lib/gui/main.py 2016-11-12 18:37:39.000000000 +0100 +++ new/djvusmooth-0.2.19/lib/gui/main.py 2017-09-15 23:24:39.000000000 +0200 @@ -14,9 +14,6 @@ # FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for # more details. -APPLICATION_NAME = 'djvusmooth' -LICENSE = 'GPL-2' - import sys import itertools import functools @@ -57,6 +54,9 @@ from djvusmooth.i18n import _ +APPLICATION_NAME = 'djvusmooth' +LICENSE = 'GPL-2' + MENU_ICON_SIZE = (16, 16) WxDjVuMessage, wx.EVT_DJVU_MESSAGE = wx.lib.newevent.NewEvent() @@ -800,7 +800,7 @@ def job(disabler): new_repr = None try: - with external_editor.temporary_file(suffix='.txt') as tmp_file: + with external_editor.temporary_file('outline.txt') as tmp_file: model.export_as_plaintext(tmp_file) tmp_file.flush() self.external_editor(tmp_file.name) @@ -836,7 +836,7 @@ def job(disabler): new_sexpr = None try: - with external_editor.temporary_file(suffix='.txt') as tmp_file: + with external_editor.temporary_file('text.txt') as tmp_file: text_mangle.export(sexpr, tmp_file) tmp_file.flush() self.external_editor(tmp_file.name) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/djvusmooth-0.2.18/lib/varietes.py new/djvusmooth-0.2.19/lib/varietes.py --- old/djvusmooth-0.2.18/lib/varietes.py 2016-11-12 18:37:39.000000000 +0100 +++ new/djvusmooth-0.2.19/lib/varietes.py 2017-09-15 23:28:58.000000000 +0200 @@ -124,7 +124,7 @@ s = s.encode('UTF-8') return quote(s, safe=URI_SPECIAL_CHARACTERS) -replace_control_characters = re.compile('[\0-\x1f]+').sub +replace_control_characters = re.compile('[\0-\x1F]+').sub _is_html_color = re.compile('^[#][0-9a-fA-F]{6}$').match Binary files old/djvusmooth-0.2.18/locale/es/LC_MESSAGES/djvusmooth.mo and new/djvusmooth-0.2.19/locale/es/LC_MESSAGES/djvusmooth.mo differ Binary files old/djvusmooth-0.2.18/locale/pl/LC_MESSAGES/djvusmooth.mo and new/djvusmooth-0.2.19/locale/pl/LC_MESSAGES/djvusmooth.mo differ Binary files old/djvusmooth-0.2.18/locale/ru/LC_MESSAGES/djvusmooth.mo and new/djvusmooth-0.2.19/locale/ru/LC_MESSAGES/djvusmooth.mo differ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/djvusmooth-0.2.18/po/es.po new/djvusmooth-0.2.19/po/es.po --- old/djvusmooth-0.2.18/po/es.po 2016-11-12 18:37:39.000000000 +0100 +++ new/djvusmooth-0.2.19/po/es.po 2016-12-23 21:10:19.000000000 +0100 @@ -3,7 +3,7 @@ # This file is distributed under the same license as the djvusmooth package. msgid "" msgstr "" -"Project-Id-Version: djvusmooth 0.2.18\n" +"Project-Id-Version: djvusmooth 0.2.19\n" "Report-Msgid-Bugs-To: Jakub Wilk <[email protected]>\n" "POT-Creation-Date: 2015-09-15 10:51+0200\n" "PO-Revision-Date: 2012-05-21 00:20-0500\n" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/djvusmooth-0.2.18/po/pl.po new/djvusmooth-0.2.19/po/pl.po --- old/djvusmooth-0.2.18/po/pl.po 2016-11-12 18:37:39.000000000 +0100 +++ new/djvusmooth-0.2.19/po/pl.po 2016-12-23 21:10:19.000000000 +0100 @@ -3,7 +3,7 @@ # This file is distributed under the same license as the djvusmooth package. msgid "" msgstr "" -"Project-Id-Version: djvusmooth 0.2.18\n" +"Project-Id-Version: djvusmooth 0.2.19\n" "Report-Msgid-Bugs-To: Jakub Wilk <[email protected]>\n" "POT-Creation-Date: 2015-09-15 10:51+0200\n" "PO-Revision-Date: 2012-10-09 20:41+0200\n" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/djvusmooth-0.2.18/po/ru.po new/djvusmooth-0.2.19/po/ru.po --- old/djvusmooth-0.2.18/po/ru.po 2016-11-12 18:37:39.000000000 +0100 +++ new/djvusmooth-0.2.19/po/ru.po 2016-12-23 21:10:19.000000000 +0100 @@ -6,7 +6,7 @@ # msgid "" msgstr "" -"Project-Id-Version: djvusmooth 0.2.18\n" +"Project-Id-Version: djvusmooth 0.2.19\n" "Report-Msgid-Bugs-To: Jakub Wilk <[email protected]>\n" "POT-Creation-Date: 2015-09-15 10:51+0200\n" "PO-Revision-Date: 2013-02-21 18:33+0300\n" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/djvusmooth-0.2.18/private/update-i18n new/djvusmooth-0.2.19/private/update-i18n --- old/djvusmooth-0.2.18/private/update-i18n 2016-11-12 18:37:39.000000000 +0100 +++ new/djvusmooth-0.2.19/private/update-i18n 2017-01-30 11:04:36.000000000 +0100 @@ -19,7 +19,7 @@ po_files = $(wildcard po/*.po) mo_files = $(patsubst po/%.po,locale/%/LC_MESSAGES/$(project_name).mo,$(po_files)) -source_files = $(shell find -name '*.py' -o -name 'build' -prune -a -false) +source_files = $(shell find . -name '*.py' -o -name 'build' -prune -a -false) gettext_common_options = \ --add-location=file \ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/djvusmooth-0.2.18/private/update-version new/djvusmooth-0.2.19/private/update-version --- old/djvusmooth-0.2.18/private/update-version 2016-11-12 18:37:39.000000000 +0100 +++ new/djvusmooth-0.2.19/private/update-version 2017-06-17 17:53:18.000000000 +0200 @@ -3,6 +3,6 @@ set -e set -x dch -m -v "$version" -u low -c doc/changelog -sed -i -r -e "s/^(__version__) = '[0-9.]+'$/\1 = '$version'/" lib/__init__.py -sed -i -r -e "s/<(!ENTITY version) '[0-9.]+'>/<\1 '$version'>/" doc/*.xml -sed -i -r -e "s/^(\"Project-Id-Version: djvusmooth) ([0-9.]+)/\1 $version/" po/*.po po/*.pot +sed -i -E -e "s/^(__version__) = '[0-9.]+'$/\1 = '$version'/" lib/__init__.py +sed -i -E -e "s/<(!ENTITY version) '[0-9.]+'>/<\1 '$version'>/" doc/*.xml +sed -i -E -e "s/^(\"Project-Id-Version: djvusmooth) ([0-9.]+)/\1 $version/" po/*.po po/*.pot diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/djvusmooth-0.2.18/setup.py new/djvusmooth-0.2.19/setup.py --- old/djvusmooth-0.2.18/setup.py 2016-11-12 18:37:39.000000000 +0100 +++ new/djvusmooth-0.2.19/setup.py 2017-04-19 20:24:06.000000000 +0200 @@ -22,20 +22,6 @@ # supported, so that people running setup.py against the unsupported version # get a nice error message instead of SyntaxError. -classifiers = ''' -Development Status :: 4 - Beta -Environment :: X11 Applications :: GTK -Intended Audience :: End Users/Desktop -License :: OSI Approved :: GNU General Public License (GPL) -Operating System :: OS Independent -Programming Language :: Python -Programming Language :: Python :: 2 -Programming Language :: Python :: 2.6 -Programming Language :: Python :: 2.7 -Topic :: Text Processing -Topic :: Multimedia :: Graphics -'''.strip().splitlines() - import glob import os import re @@ -46,6 +32,13 @@ from distutils.command.clean import clean as distutils_clean from distutils.command.sdist import sdist as distutils_sdist +try: + import distutils644 +except ImportError: + pass +else: + distutils644.install() + from lib import __version__ data_files = [] @@ -177,10 +170,31 @@ file.write(self.manpage_stamp) file.write(contents) + def _maybe_move_file(self, base_dir, src, dst): + src = os.path.join(base_dir, src) + dst = os.path.join(base_dir, dst) + if os.path.exists(src): + self.move_file(src, dst) + def make_release_tree(self, base_dir, files): distutils_sdist.make_release_tree(self, base_dir, files) for manname in glob.iglob(os.path.join(base_dir, 'doc', '*.1')): self.execute(self._rewrite_manpage, [manname], 'rewriting {0}'.format(manname)) + self._maybe_move_file(base_dir, 'COPYING', 'doc/COPYING') + +classifiers = ''' +Development Status :: 4 - Beta +Environment :: X11 Applications :: GTK +Intended Audience :: End Users/Desktop +License :: OSI Approved :: GNU General Public License (GPL) +Operating System :: OS Independent +Programming Language :: Python +Programming Language :: Python :: 2 +Programming Language :: Python :: 2.6 +Programming Language :: Python :: 2.7 +Topic :: Text Processing +Topic :: Multimedia :: Graphics +'''.strip().splitlines() distutils.core.setup( name='djvusmooth', ++++++ djvusmooth.keyring ++++++ --- /var/tmp/diff_new_pack.LxHWrj/_old 2017-11-03 16:30:58.742826602 +0100 +++ /var/tmp/diff_new_pack.LxHWrj/_new 2017-11-03 16:30:58.742826602 +0100 @@ -1,9 +1,9 @@ -pub rsa4096/015475F5 2009-10-23 [expires: 2017-01-01] -uid [ unknown] Jakub Wilk <[email protected]> -uid [ unknown] Jakub Wilk <[email protected]> -uid [ unknown] Jakub Wilk <[email protected]> -uid [ unknown] [jpeg image of size 6044] -sub rsa4096/E5874F63 2009-10-23 +pub rsa4096 2009-10-23 [SC] [expires: 2018-01-01] + CDB5A1243ACDB63009AD07212D4EB3A6015475F5 +uid [ unknown] Jakub Wilk <[email protected]> +uid [ full ] Jakub Wilk <[email protected]> +uid [ full ] Jakub Wilk <[email protected]> +sub rsa4096 2009-10-23 [E] -----BEGIN PGP PUBLIC KEY BLOCK----- @@ -18,66 +18,67 @@ 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 -I+6LSLcpBezT0Vb/6f0NPA== -=l89W +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 +i0i3KQXs09FW/+n9DTw= +=R8Zy -----END PGP PUBLIC KEY BLOCK-----
