openSUSE Commits
Threads by month
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2009 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2008 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2007 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2006 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
February 2015
- 1 participants
- 1390 discussions
Hello community,
here is the log from the commit of package libsamplerate for openSUSE:Factory checked in at 2015-02-27 11:07:49
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/libsamplerate (Old)
and /work/SRC/openSUSE:Factory/.libsamplerate.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "libsamplerate"
Changes:
--------
--- /work/SRC/openSUSE:Factory/libsamplerate/libsamplerate.changes 2014-09-17 17:25:14.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.libsamplerate.new/libsamplerate.changes 2015-02-27 11:07:50.000000000 +0100
@@ -1,0 +2,6 @@
+Mon Feb 23 14:17:04 UTC 2015 - rguenther(a)suse.com
+
+- Avoid running configure twice and using -fprofile-generate or
+ -fprofile-use for compiling configure tests when profiling.
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ libsamplerate.spec ++++++
--- /var/tmp/diff_new_pack.1nOqgq/_old 2015-02-27 11:07:51.000000000 +0100
+++ /var/tmp/diff_new_pack.1nOqgq/_new 2015-02-27 11:07:51.000000000 +0100
@@ -1,7 +1,7 @@
#
# spec file for package libsamplerate
#
-# Copyright (c) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2015 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -82,19 +82,17 @@
%ifnarch %arm aarch64
# ARM has no working profile support in gcc atm
profiledir=`mktemp -d`
-export CFLAGS="%optflags %cflags_profile_generate=$profiledir"
%configure --disable-silent-rules --disable-static
-make %{?_smp_mflags}
+make %{?_smp_mflags} CFLAGS="%optflags %cflags_profile_generate=$profiledir"
pushd tests
make check
popd
make clean
-export CFLAGS="%optflags %cflags_profile_feedback=$profiledir"
+make %{?_smp_mflags} CFLAGS="%optflags %cflags_profile_feedback=$profiledir"
%else
-export CFLAGS="%optflags"
-%endif
%configure --disable-silent-rules --disable-static
-make %{?_smp_mflags}
+make %{?_smp_mflags} CFLAGS="%optflags"
+%endif
%check
pushd tests
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package libvpx for openSUSE:Factory checked in at 2015-02-27 11:07:43
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/libvpx (Old)
and /work/SRC/openSUSE:Factory/.libvpx.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "libvpx"
Changes:
--------
--- /work/SRC/openSUSE:Factory/libvpx/libvpx.changes 2013-12-13 13:09:01.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.libvpx.new/libvpx.changes 2015-02-27 11:07:45.000000000 +0100
@@ -1,0 +2,12 @@
+Mon Feb 23 14:24:04 UTC 2015 - idonmez(a)suse.com
+
+- Add baselibs.conf as source
+
+-------------------------------------------------------------------
+Mon Feb 23 13:37:39 UTC 2015 - rguenther(a)suse.com
+
+- Build with -std=gnu89 to deal with GCC 5 defaulting to -std=gnu11
+ and the C11 stddef.h providing a max_align_t that conflicts with
+ the one provided by nestegg/halloc/src/align.h.
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ libvpx.spec ++++++
--- /var/tmp/diff_new_pack.ILxgP9/_old 2015-02-27 11:07:46.000000000 +0100
+++ /var/tmp/diff_new_pack.ILxgP9/_new 2015-02-27 11:07:46.000000000 +0100
@@ -1,7 +1,7 @@
#
# spec file for package libvpx
#
-# Copyright (c) 2013 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2015 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
@@ -24,6 +24,7 @@
Group: Productivity/Multimedia/Other
Url: http://www.webmproject.org/
Source0: %{name}-%{version}.tar.xz
+Source1000: baselibs.conf
# PATCH-FIX-UPSTREAM libvpx-define-config_pic.patch dimstar(a)opensuse.org -- For older compilers, CONFIG_PIC need to be defined.
Patch1: libvpx-define-config_pic.patch
Patch2: libvpx-configure-add-s390.patch
@@ -97,7 +98,7 @@
%build
cd build
-export CFLAGS="%{optflags}"
+export CFLAGS="-std=gnu89 %{optflags}"
# It is only an emulation of autotools configure; the macro does not work
# libvpx default enable NEON support on ARMv7, unfortunately some ARMv7
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package python-CherryPy for openSUSE:Factory checked in at 2015-02-27 11:07:38
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-CherryPy (Old)
and /work/SRC/openSUSE:Factory/.python-CherryPy.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-CherryPy"
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-CherryPy/python-CherryPy.changes 2014-05-21 16:22:11.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.python-CherryPy.new/python-CherryPy.changes 2015-02-27 11:07:39.000000000 +0100
@@ -1,0 +2,26 @@
+Sun Feb 22 17:22:27 UTC 2015 - benoit.monin(a)gmx.fr
+
+- update to version 3.6.0:
+ * Fixed HTTP range headers for negative length larger than
+ content size
+ * Disabled universal wheel generation as wsgiserver has Python
+ duality
+ * Pull Request #42: Correct TypeError in ``check_auth`` when
+ encrypt is used
+ * Pull Request #59: Correct signature of HandlerWrapperTool
+ * Pull Request #60: Fix error in SessionAuth where login_screen
+ was incorrectly used
+ * Issue #1077: Support keyword-only arguments in dispatchers
+ (Python 3)
+ * Issue #1019: Allow logging host name in the access log
+ * Pull Request #50: Fixed race condition in session cleanup
+- changes from version 3.5.0:
+ * Issue #1301: When the incoming queue is full, now reject
+ additional connections. This functionality was added to
+ CherryPy 3.0, but unintentionally lost in 3.1
+- changes from version 3.4.0:
+ * Miscellaneous quality improvements
+- remove CFLAGS export
+- use update-alternatives for cherryd binary
+
+-------------------------------------------------------------------
Old:
----
CherryPy-3.3.0.tar.gz
New:
----
CherryPy-3.6.0.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-CherryPy.spec ++++++
--- /var/tmp/diff_new_pack.Rv7ast/_old 2015-02-27 11:07:40.000000000 +0100
+++ /var/tmp/diff_new_pack.Rv7ast/_new 2015-02-27 11:07:40.000000000 +0100
@@ -1,7 +1,7 @@
#
# spec file for package python-CherryPy
#
-# Copyright (c) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2015 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,7 +17,7 @@
Name: python-CherryPy
-Version: 3.3.0
+Version: 3.6.0
Release: 0
Url: http://www.cherrypy.org
Summary: Object-Oriented HTTP framework
@@ -26,6 +26,8 @@
Source: https://pypi.python.org/packages/source/C/CherryPy/CherryPy-%{version}.tar.…
BuildRoot: %{_tmppath}/%{name}-%{version}-build
BuildRequires: python-devel
+Requires(post): update-alternatives
+Requires(postun): update-alternatives
%if 0%{?suse_version} && 0%{?suse_version} <= 1110
%{!?python_sitelib: %global python_sitelib %(python -c "from distutils.sysconfig import get_python_lib; print get_python_lib()")}
%else
@@ -51,7 +53,6 @@
%setup -q -n CherryPy-%{version}
%build
-export CFLAGS="%{optflags}"
python setup.py build
%install
@@ -59,10 +60,27 @@
find . -name sessiondemo.py -type f -exec chmod 0755 {} \; # Fix non-executable bit rpmlint warning
python setup.py install --prefix=%{_prefix} --root=%{buildroot}
+# update-alternatives
+mv %{buildroot}%{_bindir}/cherryd %{buildroot}%{_bindir}/cherryd-%{py_ver}
+mkdir -p %{buildroot}%{_sysconfdir}/alternatives
+touch %{buildroot}%{_sysconfdir}/alternatives/cherryd
+ln -sf %{_sysconfdir}/alternatives/cherryd %{buildroot}%{_bindir}/cherryd
+
+%post
+update-alternatives \
+ --install %{_bindir}/cherryd cherryd %{_bindir}/cherryd-%{py_ver} 20
+
+%postun
+if [ $1 -eq 0 ] ; then
+ update-alternatives --remove cherryd %{_bindir}/cherryd-%{py_ver}
+fi
+
%files
%defattr(-,root,root,-)
%doc README.txt
+%ghost %{_sysconfdir}/alternatives/cherryd
%{_bindir}/cherryd
+%{_bindir}/cherryd-%{py_ver}
%{python_sitelib}/cherrypy/
%{python_sitelib}/CherryPy-%{version}-py%{py_ver}.egg-info
++++++ CherryPy-3.3.0.tar.gz -> CherryPy-3.6.0.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/CherryPy-3.3.0/CherryPy.egg-info/PKG-INFO new/CherryPy-3.6.0/CherryPy.egg-info/PKG-INFO
--- old/CherryPy-3.3.0/CherryPy.egg-info/PKG-INFO 2014-04-16 23:53:55.000000000 +0200
+++ new/CherryPy-3.6.0/CherryPy.egg-info/PKG-INFO 2014-09-14 06:05:58.000000000 +0200
@@ -1,6 +1,6 @@
Metadata-Version: 1.1
Name: CherryPy
-Version: 3.3.0
+Version: 3.6.0
Summary: Object-Oriented HTTP framework
Home-page: http://www.cherrypy.org
Author: CherryPy Team
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/CherryPy-3.3.0/CherryPy.egg-info/SOURCES.txt new/CherryPy-3.6.0/CherryPy.egg-info/SOURCES.txt
--- old/CherryPy-3.3.0/CherryPy.egg-info/SOURCES.txt 2014-04-16 23:53:56.000000000 +0200
+++ new/CherryPy-3.6.0/CherryPy.egg-info/SOURCES.txt 2014-09-14 06:06:03.000000000 +0200
@@ -87,6 +87,7 @@
cherrypy/test/test_http.py
cherrypy/test/test_httpauth.py
cherrypy/test/test_httplib.py
+cherrypy/test/test_iterator.py
cherrypy/test/test_json.py
cherrypy/test/test_logging.py
cherrypy/test/test_mime.py
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/CherryPy-3.3.0/PKG-INFO new/CherryPy-3.6.0/PKG-INFO
--- old/CherryPy-3.3.0/PKG-INFO 2014-04-16 23:53:56.000000000 +0200
+++ new/CherryPy-3.6.0/PKG-INFO 2014-09-14 06:06:03.000000000 +0200
@@ -1,6 +1,6 @@
Metadata-Version: 1.1
Name: CherryPy
-Version: 3.3.0
+Version: 3.6.0
Summary: Object-Oriented HTTP framework
Home-page: http://www.cherrypy.org
Author: CherryPy Team
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/CherryPy-3.3.0/cherrypy/__init__.py new/CherryPy-3.6.0/cherrypy/__init__.py
--- old/CherryPy-3.3.0/cherrypy/__init__.py 2014-04-16 23:53:44.000000000 +0200
+++ new/CherryPy-3.6.0/cherrypy/__init__.py 2014-09-14 06:05:54.000000000 +0200
@@ -56,7 +56,7 @@
These API's are described in the `CherryPy specification <https://bitbucket.org/cherrypy/cherrypy/wiki/CherryPySpec>`_.
"""
-__version__ = "3.3.0"
+__version__ = "3.6.0"
from cherrypy._cpcompat import urljoin as _urljoin, urlencode as _urlencode
from cherrypy._cpcompat import basestring, unicodestr, set
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/CherryPy-3.3.0/cherrypy/_cpdispatch.py new/CherryPy-3.6.0/cherrypy/_cpdispatch.py
--- old/CherryPy-3.3.0/cherrypy/_cpdispatch.py 2014-04-12 15:33:59.000000000 +0200
+++ new/CherryPy-3.6.0/cherrypy/_cpdispatch.py 2014-09-14 05:00:33.000000000 +0200
@@ -93,11 +93,11 @@
show_mismatched_params = getattr(
cherrypy.serving.request, 'show_mismatched_params', False)
try:
- (args, varargs, varkw, defaults) = inspect.getargspec(callable)
+ (args, varargs, varkw, defaults) = getargspec(callable)
except TypeError:
if isinstance(callable, object) and hasattr(callable, '__call__'):
(args, varargs, varkw,
- defaults) = inspect.getargspec(callable.__call__)
+ defaults) = getargspec(callable.__call__)
else:
# If it wasn't one of our own types, re-raise
# the original error
@@ -205,6 +205,12 @@
import inspect
except ImportError:
test_callable_spec = lambda callable, args, kwargs: None
+else:
+ getargspec = inspect.getargspec
+ # Python 3 requires using getfullargspec if keyword-only arguments are present
+ if hasattr(inspect, 'getfullargspec'):
+ def getargspec(callable):
+ return inspect.getfullargspec(callable)[:4]
class LateParamPageHandler(PageHandler):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/CherryPy-3.3.0/cherrypy/_cplogging.py new/CherryPy-3.6.0/cherrypy/_cplogging.py
--- old/CherryPy-3.3.0/cherrypy/_cplogging.py 2014-04-12 15:33:59.000000000 +0200
+++ new/CherryPy-3.6.0/cherrypy/_cplogging.py 2014-09-14 04:55:36.000000000 +0200
@@ -56,6 +56,13 @@
isn't--it receives messages from a variety of sources (including full error
tracebacks, if enabled).
+If you are logging the access log and error log to the same source, then there
+is a possibility that a specially crafted error message may replicate an access
+log message as described in CWE-117. In this case it is the application
+developer's responsibility to manually escape data before using CherryPy's log()
+functionality, or they may create an application that is vulnerable to CWE-117.
+This would be achieved by using a custom handler escape any special characters,
+and attached as described below.
Custom Handlers
===============
@@ -249,6 +256,7 @@
'b': dict.get(outheaders, 'Content-Length', '') or "-",
'f': dict.get(inheaders, 'Referer', ''),
'a': dict.get(inheaders, 'User-Agent', ''),
+ 'o': dict.get(inheaders, 'Host', '-'),
}
if py3k:
for k, v in atoms.items():
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/CherryPy-3.3.0/cherrypy/_cpserver.py new/CherryPy-3.6.0/cherrypy/_cpserver.py
--- old/CherryPy-3.3.0/cherrypy/_cpserver.py 2014-04-12 15:33:59.000000000 +0200
+++ new/CherryPy-3.6.0/cherrypy/_cpserver.py 2014-09-11 02:52:02.000000000 +0200
@@ -61,6 +61,14 @@
socket_timeout = 10
"""The timeout in seconds for accepted connections (default 10)."""
+
+ accepted_queue_size = -1
+ """The maximum number of requests which will be queued up before
+ the server refuses to accept it (default -1, meaning no limit)."""
+
+ accepted_queue_timeout = 10
+ """The timeout in seconds for attempting to add a request to the
+ queue when the queue is full (default 10)."""
shutdown_timeout = 5
"""The time to wait for HTTP worker threads to clean up."""
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/CherryPy-3.3.0/cherrypy/_cptools.py new/CherryPy-3.6.0/cherrypy/_cptools.py
--- old/CherryPy-3.3.0/cherrypy/_cptools.py 2014-04-12 15:33:59.000000000 +0200
+++ new/CherryPy-3.6.0/cherrypy/_cptools.py 2014-09-11 14:59:15.000000000 +0200
@@ -224,7 +224,7 @@
self._name = name
self._priority = priority
- def callable(self, debug=False):
+ def callable(self, *args, **kwargs):
innerfunc = cherrypy.serving.request.handler
def wrap(*args, **kwargs):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/CherryPy-3.3.0/cherrypy/_cpwsgi.py new/CherryPy-3.6.0/cherrypy/_cpwsgi.py
--- old/CherryPy-3.3.0/cherrypy/_cpwsgi.py 2014-04-12 15:33:59.000000000 +0200
+++ new/CherryPy-3.6.0/cherrypy/_cpwsgi.py 2014-09-11 02:52:02.000000000 +0200
@@ -13,7 +13,7 @@
from cherrypy._cpcompat import BytesIO, bytestr, ntob, ntou, py3k, unicodestr
from cherrypy import _cperror
from cherrypy.lib import httputil
-
+from cherrypy.lib import is_closable_iterator
def downgrade_wsgi_ux_to_1x(environ):
"""Return a new environ dict for WSGI 1.x from the given WSGI u.x environ.
@@ -278,8 +278,20 @@
def close(self):
"""Close and de-reference the current request and response. (Core)"""
+ streaming = _cherrypy.serving.response.stream
self.cpapp.release_serving()
+ # We avoid the expense of examining the iterator to see if it's
+ # closable unless we are streaming the response, as that's the
+ # only situation where we are going to have an iterator which
+ # may not have been exhausted yet.
+ if streaming and is_closable_iterator(self.iter_response):
+ iter_close = self.iter_response.close
+ try:
+ iter_close()
+ except Exception:
+ _cherrypy.log(traceback=True, severity=40)
+
def run(self):
"""Create a Request object using environ."""
env = self.environ.get
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/CherryPy-3.3.0/cherrypy/_cpwsgi_server.py new/CherryPy-3.6.0/cherrypy/_cpwsgi_server.py
--- old/CherryPy-3.3.0/cherrypy/_cpwsgi_server.py 2014-04-12 15:33:59.000000000 +0200
+++ new/CherryPy-3.6.0/cherrypy/_cpwsgi_server.py 2014-09-11 02:52:02.000000000 +0200
@@ -39,6 +39,8 @@
request_queue_size=self.server_adapter.socket_queue_size,
timeout=self.server_adapter.socket_timeout,
shutdown_timeout=self.server_adapter.shutdown_timeout,
+ accepted_queue_size=self.server_adapter.accepted_queue_size,
+ accepted_queue_timeout=self.server_adapter.accepted_queue_timeout,
)
self.protocol = self.server_adapter.protocol_version
self.nodelay = self.server_adapter.nodelay
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/CherryPy-3.3.0/cherrypy/lib/__init__.py new/CherryPy-3.6.0/cherrypy/lib/__init__.py
--- old/CherryPy-3.3.0/cherrypy/lib/__init__.py 2014-04-16 23:51:37.000000000 +0200
+++ new/CherryPy-3.6.0/cherrypy/lib/__init__.py 2014-09-11 02:52:02.000000000 +0200
@@ -16,6 +16,29 @@
# Types which implement the protocol must return themselves when
# invoking 'iter' upon them.
return iter(obj) is obj
+
+def is_closable_iterator(obj):
+
+ # Not an iterator.
+ if not is_iterator(obj):
+ return False
+
+ # A generator - the easiest thing to deal with.
+ import inspect
+ if inspect.isgenerator(obj):
+ return True
+
+ # A custom iterator. Look for a close method...
+ if not (hasattr(obj, 'close') and callable(obj.close)):
+ return False
+
+ # ... which doesn't require any arguments.
+ try:
+ inspect.getcallargs(obj.close)
+ except TypeError:
+ return False
+ else:
+ return True
class file_generator(object):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/CherryPy-3.3.0/cherrypy/lib/cptools.py new/CherryPy-3.6.0/cherrypy/lib/cptools.py
--- old/CherryPy-3.3.0/cherrypy/lib/cptools.py 2014-04-16 23:51:37.000000000 +0200
+++ new/CherryPy-3.6.0/cherrypy/lib/cptools.py 2014-09-14 04:38:02.000000000 +0200
@@ -354,56 +354,51 @@
username = sess.get(self.session_key)
if not username:
sess[self.session_key] = username = self.anonymous()
- if self.debug:
- cherrypy.log(
- 'No session[username], trying anonymous', 'TOOLS.SESSAUTH')
+ self._debug_message('No session[username], trying anonymous')
if not username:
url = cherrypy.url(qs=request.query_string)
- if self.debug:
- cherrypy.log('No username, routing to login_screen with '
- 'from_page %r' % url, 'TOOLS.SESSAUTH')
+ self._debug_message(
+ 'No username, routing to login_screen with from_page %(url)r',
+ locals(),
+ )
response.body = self.login_screen(url)
if "Content-Length" in response.headers:
# Delete Content-Length header so finalize() recalcs it.
del response.headers["Content-Length"]
return True
- if self.debug:
- cherrypy.log('Setting request.login to %r' %
- username, 'TOOLS.SESSAUTH')
+ self._debug_message('Setting request.login to %(username)r', locals())
request.login = username
self.on_check(username)
+ def _debug_message(self, template, context={}):
+ if not self.debug:
+ return
+ cherrypy.log(template % context, 'TOOLS.SESSAUTH')
+
def run(self):
request = cherrypy.serving.request
response = cherrypy.serving.response
path = request.path_info
if path.endswith('login_screen'):
- if self.debug:
- cherrypy.log('routing %r to login_screen' %
- path, 'TOOLS.SESSAUTH')
- return self.login_screen(**request.params)
+ self._debug_message('routing %(path)r to login_screen', locals())
+ response.body = self.login_screen()
+ return True
elif path.endswith('do_login'):
if request.method != 'POST':
response.headers['Allow'] = "POST"
- if self.debug:
- cherrypy.log('do_login requires POST', 'TOOLS.SESSAUTH')
+ self._debug_message('do_login requires POST')
raise cherrypy.HTTPError(405)
- if self.debug:
- cherrypy.log('routing %r to do_login' % path, 'TOOLS.SESSAUTH')
+ self._debug_message('routing %(path)r to do_login', locals())
return self.do_login(**request.params)
elif path.endswith('do_logout'):
if request.method != 'POST':
response.headers['Allow'] = "POST"
raise cherrypy.HTTPError(405)
- if self.debug:
- cherrypy.log('routing %r to do_logout' %
- path, 'TOOLS.SESSAUTH')
+ self._debug_message('routing %(path)r to do_logout', locals())
return self.do_logout(**request.params)
else:
- if self.debug:
- cherrypy.log('No special path, running do_check',
- 'TOOLS.SESSAUTH')
+ self._debug_message('No special path, running do_check')
return self.do_check()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/CherryPy-3.3.0/cherrypy/lib/encoding.py new/CherryPy-3.6.0/cherrypy/lib/encoding.py
--- old/CherryPy-3.3.0/cherrypy/lib/encoding.py 2014-04-16 23:51:37.000000000 +0200
+++ new/CherryPy-3.6.0/cherrypy/lib/encoding.py 2014-09-11 02:52:02.000000000 +0200
@@ -4,6 +4,7 @@
import cherrypy
from cherrypy._cpcompat import basestring, BytesIO, ntob, set, unicodestr
from cherrypy.lib import file_generator
+from cherrypy.lib import is_closable_iterator
from cherrypy.lib import set_vary_header
@@ -32,23 +33,27 @@
if not isinstance(default_encoding, list):
default_encoding = [default_encoding]
body.attempt_charsets = body.attempt_charsets + default_encoding
-
+
class UTF8StreamEncoder:
def __init__(self, iterator):
self._iterator = iterator
-
+
def __iter__(self):
return self
-
+
def next(self):
return self.__next__()
-
+
def __next__(self):
res = next(self._iterator)
if isinstance(res, unicodestr):
res = res.encode('utf-8')
return res
-
+
+ def close(self):
+ if is_closable_iterator(self._iterator):
+ self._iterator.close()
+
def __getattr__(self, attr):
if attr.startswith('__'):
raise AttributeError(self, attr)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/CherryPy-3.3.0/cherrypy/lib/httpauth.py new/CherryPy-3.6.0/cherrypy/lib/httpauth.py
--- old/CherryPy-3.3.0/cherrypy/lib/httpauth.py 2014-04-12 15:33:59.000000000 +0200
+++ new/CherryPy-3.6.0/cherrypy/lib/httpauth.py 2014-09-11 03:11:00.000000000 +0200
@@ -334,10 +334,14 @@
**kwargs):
# Note that the Basic response doesn't provide the realm value so we cannot
# test it
+ pass_through = lambda password, username=None: password
+ encrypt = encrypt or pass_through
try:
- return encrypt(auth_map["password"], auth_map["username"]) == password
+ candidate = encrypt(auth_map["password"], auth_map["username"])
except TypeError:
- return encrypt(auth_map["password"]) == password
+ # if encrypt only takes one parameter, it's the password
+ candidate = encrypt(auth_map["password"])
+ return candidate == password
AUTH_RESPONSES = {
"basic": _checkBasicResponse,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/CherryPy-3.3.0/cherrypy/lib/httputil.py new/CherryPy-3.6.0/cherrypy/lib/httputil.py
--- old/CherryPy-3.3.0/cherrypy/lib/httputil.py 2014-04-16 23:51:37.000000000 +0200
+++ new/CherryPy-3.6.0/cherrypy/lib/httputil.py 2014-09-11 02:52:02.000000000 +0200
@@ -103,7 +103,14 @@
# See rfc quote above.
return None
# Negative subscript (last N bytes)
- result.append((content_length - int(stop), content_length))
+ #
+ # RFC 2616 Section 14.35.1:
+ # If the entity is shorter than the specified suffix-length,
+ # the entire entity-body is used.
+ if int(stop) > content_length:
+ result.append((0, content_length))
+ else:
+ result.append((content_length - int(stop), content_length))
return result
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/CherryPy-3.3.0/cherrypy/lib/sessions.py new/CherryPy-3.6.0/cherrypy/lib/sessions.py
--- old/CherryPy-3.3.0/cherrypy/lib/sessions.py 2014-04-16 23:51:37.000000000 +0200
+++ new/CherryPy-3.6.0/cherrypy/lib/sessions.py 2014-09-14 05:50:14.000000000 +0200
@@ -393,22 +393,26 @@
def clean_up(self):
"""Clean up expired sessions."""
+
now = self.now()
- for id, (data, expiration_time) in copyitems(self.cache):
+ for _id, (data, expiration_time) in copyitems(self.cache):
if expiration_time <= now:
try:
- del self.cache[id]
+ del self.cache[_id]
except KeyError:
pass
try:
- del self.locks[id]
+ if self.locks[_id].acquire(blocking=False):
+ lock = self.locks.pop(_id)
+ lock.release()
except KeyError:
pass
# added to remove obsolete lock objects
- for id in list(self.locks):
- if id not in self.cache:
- self.locks.pop(id, None)
+ for _id in list(self.locks):
+ if _id not in self.cache and self.locks[_id].acquire(blocking=False):
+ lock = self.locks.pop(_id)
+ lock.release()
def _exists(self):
return self.id in self.cache
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/CherryPy-3.3.0/cherrypy/lib/static.py new/CherryPy-3.6.0/cherrypy/lib/static.py
--- old/CherryPy-3.3.0/cherrypy/lib/static.py 2014-04-12 15:33:59.000000000 +0200
+++ new/CherryPy-3.6.0/cherrypy/lib/static.py 2014-09-14 04:55:37.000000000 +0200
@@ -1,24 +1,24 @@
+import os
+import re
+import stat
+import mimetypes
+
try:
from io import UnsupportedOperation
except ImportError:
UnsupportedOperation = object()
-import logging
-import mimetypes
+
+import cherrypy
+from cherrypy._cpcompat import ntob, unquote
+from cherrypy.lib import cptools, httputil, file_generator_limited
+
+
mimetypes.init()
mimetypes.types_map['.dwg'] = 'image/x-dwg'
mimetypes.types_map['.ico'] = 'image/x-icon'
mimetypes.types_map['.bz2'] = 'application/x-bzip2'
mimetypes.types_map['.gz'] = 'application/x-gzip'
-import os
-import re
-import stat
-import time
-
-import cherrypy
-from cherrypy._cpcompat import ntob, unquote
-from cherrypy.lib import cptools, httputil, file_generator_limited
-
def serve_file(path, content_type=None, disposition=None, name=None,
debug=False):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/CherryPy-3.3.0/cherrypy/test/test_config.py new/CherryPy-3.6.0/cherrypy/test/test_config.py
--- old/CherryPy-3.3.0/cherrypy/test/test_config.py 2014-04-16 23:52:08.000000000 +0200
+++ new/CherryPy-3.6.0/cherrypy/test/test_config.py 2014-09-14 06:00:08.000000000 +0200
@@ -206,7 +206,7 @@
if not compat.py3k:
self.getPage("/repr?key=thing3")
- self.assertBody(repr(u'test'))
+ self.assertBody(repr(unicode('test')))
self.getPage("/repr?key=complex")
self.assertBody("(3+2j)")
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/CherryPy-3.3.0/cherrypy/test/test_conn.py new/CherryPy-3.6.0/cherrypy/test/test_conn.py
--- old/CherryPy-3.3.0/cherrypy/test/test_conn.py 2014-04-16 23:52:08.000000000 +0200
+++ new/CherryPy-3.6.0/cherrypy/test/test_conn.py 2014-09-14 06:00:08.000000000 +0200
@@ -1,5 +1,6 @@
"""Tests for TCP connection handling, including proper and timely close."""
+import httplib
import socket
import sys
import time
@@ -8,7 +9,7 @@
import cherrypy
from cherrypy._cpcompat import HTTPConnection, HTTPSConnection, NotConnected
-from cherrypy._cpcompat import BadStatusLine, ntob, urlopen, unicodestr
+from cherrypy._cpcompat import BadStatusLine, ntob, tonative, urlopen, unicodestr
from cherrypy.test import webtest
from cherrypy import _cperror
@@ -133,10 +134,22 @@
self.assertRaises(NotConnected, self.getPage, "/")
def test_Streaming_no_len(self):
- self._streaming(set_cl=False)
+ try:
+ self._streaming(set_cl=False)
+ finally:
+ try:
+ self.HTTP_CONN.close()
+ except (TypeError, AttributeError):
+ pass
def test_Streaming_with_len(self):
- self._streaming(set_cl=True)
+ try:
+ self._streaming(set_cl=True)
+ finally:
+ try:
+ self.HTTP_CONN.close()
+ except (TypeError, AttributeError):
+ pass
def _streaming(self, set_cl):
if cherrypy.server.protocol_version == "HTTP/1.1":
@@ -448,49 +461,53 @@
# Try a page without an Expect request header first.
# Note that httplib's response.begin automatically ignores
# 100 Continue responses, so we must manually check for it.
- conn.putrequest("POST", "/upload", skip_host=True)
- conn.putheader("Host", self.HOST)
- conn.putheader("Content-Type", "text/plain")
- conn.putheader("Content-Length", "4")
- conn.endheaders()
- conn.send(ntob("d'oh"))
- response = conn.response_class(conn.sock, method="POST")
- version, status, reason = response._read_status()
- self.assertNotEqual(status, 100)
- conn.close()
+ try:
+ conn.putrequest("POST", "/upload", skip_host=True)
+ conn.putheader("Host", self.HOST)
+ conn.putheader("Content-Type", "text/plain")
+ conn.putheader("Content-Length", "4")
+ conn.endheaders()
+ conn.send(ntob("d'oh"))
+ response = conn.response_class(conn.sock, method="POST")
+ version, status, reason = response._read_status()
+ self.assertNotEqual(status, 100)
+ finally:
+ conn.close()
# Now try a page with an Expect header...
- conn.connect()
- conn.putrequest("POST", "/upload", skip_host=True)
- conn.putheader("Host", self.HOST)
- conn.putheader("Content-Type", "text/plain")
- conn.putheader("Content-Length", "17")
- conn.putheader("Expect", "100-continue")
- conn.endheaders()
- response = conn.response_class(conn.sock, method="POST")
+ try:
+ conn.connect()
+ conn.putrequest("POST", "/upload", skip_host=True)
+ conn.putheader("Host", self.HOST)
+ conn.putheader("Content-Type", "text/plain")
+ conn.putheader("Content-Length", "17")
+ conn.putheader("Expect", "100-continue")
+ conn.endheaders()
+ response = conn.response_class(conn.sock, method="POST")
- # ...assert and then skip the 100 response
- version, status, reason = response._read_status()
- self.assertEqual(status, 100)
- while True:
- line = response.fp.readline().strip()
- if line:
- self.fail(
- "100 Continue should not output any headers. Got %r" %
- line)
- else:
- break
+ # ...assert and then skip the 100 response
+ version, status, reason = response._read_status()
+ self.assertEqual(status, 100)
+ while True:
+ line = response.fp.readline().strip()
+ if line:
+ self.fail(
+ "100 Continue should not output any headers. Got %r" %
+ line)
+ else:
+ break
- # ...send the body
- body = ntob("I am a small file")
- conn.send(body)
+ # ...send the body
+ body = ntob("I am a small file")
+ conn.send(body)
- # ...get the final response
- response.begin()
- self.status, self.headers, self.body = webtest.shb(response)
- self.assertStatus(200)
- self.assertBody("thanks for '%s'" % body)
- conn.close()
+ # ...get the final response
+ response.begin()
+ self.status, self.headers, self.body = webtest.shb(response)
+ self.assertStatus(200)
+ self.assertBody("thanks for '%s'" % body)
+ finally:
+ conn.close()
class ConnectionTests(helper.CPWebCase):
@@ -717,6 +734,92 @@
remote_data_conn.close()
+def setup_upload_server():
+
+ class Root:
+ def upload(self):
+ if not cherrypy.request.method == 'POST':
+ raise AssertionError("'POST' != request.method %r" %
+ cherrypy.request.method)
+ return "thanks for '%s'" % tonative(cherrypy.request.body.read())
+ upload.exposed = True
+
+ cherrypy.tree.mount(Root())
+ cherrypy.config.update({
+ 'server.max_request_body_size': 1001,
+ 'server.socket_timeout': 10,
+ 'server.accepted_queue_size': 5,
+ 'server.accepted_queue_timeout': 0.1,
+ })
+
+import errno
+socket_reset_errors = []
+# Not all of these names will be defined for every platform.
+for _ in ("ECONNRESET", "WSAECONNRESET"):
+ if _ in dir(errno):
+ socket_reset_errors.append(getattr(errno, _))
+
+class LimitedRequestQueueTests(helper.CPWebCase):
+ setup_server = staticmethod(setup_upload_server)
+
+ def test_queue_full(self):
+ conns = []
+ overflow_conn = None
+
+ try:
+ # Make 15 initial requests and leave them open, which should use
+ # all of wsgiserver's WorkerThreads and fill its Queue.
+ import time
+ for i in range(15):
+ conn = self.HTTP_CONN(self.HOST, self.PORT)
+ conn.putrequest("POST", "/upload", skip_host=True)
+ conn.putheader("Host", self.HOST)
+ conn.putheader("Content-Type", "text/plain")
+ conn.putheader("Content-Length", "4")
+ conn.endheaders()
+ conns.append(conn)
+
+ # Now try a 16th conn, which should be closed by the server immediately.
+ overflow_conn = self.HTTP_CONN(self.HOST, self.PORT)
+ # Manually connect since httplib won't let us set a timeout
+ for res in socket.getaddrinfo(self.HOST, self.PORT, 0,
+ socket.SOCK_STREAM):
+ af, socktype, proto, canonname, sa = res
+ overflow_conn.sock = socket.socket(af, socktype, proto)
+ overflow_conn.sock.settimeout(5)
+ overflow_conn.sock.connect(sa)
+ break
+
+ overflow_conn.putrequest("GET", "/", skip_host=True)
+ overflow_conn.putheader("Host", self.HOST)
+ overflow_conn.endheaders()
+ response = overflow_conn.response_class(overflow_conn.sock, method="GET")
+ try:
+ response.begin()
+ except socket.error as exc:
+ if exc.args[0] in socket_reset_errors:
+ pass # Expected.
+ else:
+ raise AssertionError("Overflow conn did not get RST. "
+ "Got %s instead" % repr(exc.args))
+ except httplib.BadStatusLine:
+ # This is a special case in OS X. Linux and Windows will
+ # RST correctly.
+ assert sys.platform == 'darwin'
+ else:
+ raise AssertionError("Overflow conn did not get RST ")
+ finally:
+ for conn in conns:
+ conn.send(ntob("done"))
+ response = conn.response_class(conn.sock, method="POST")
+ response.begin()
+ self.body = response.read()
+ self.assertBody("thanks for 'done'")
+ self.assertEqual(response.status, 200)
+ conn.close()
+ if overflow_conn:
+ overflow_conn.close()
+
class BadRequestTests(helper.CPWebCase):
setup_server = staticmethod(setup_server)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/CherryPy-3.3.0/cherrypy/test/test_core.py new/CherryPy-3.6.0/cherrypy/test/test_core.py
--- old/CherryPy-3.3.0/cherrypy/test/test_core.py 2014-04-16 23:52:08.000000000 +0200
+++ new/CherryPy-3.6.0/cherrypy/test/test_core.py 2014-09-14 06:00:08.000000000 +0200
@@ -496,6 +496,12 @@
self.getPage("/ranges/get_ranges?bytes=2-4,-1")
self.assertBody("[(2, 5), (7, 8)]")
+ # Test a suffix-byte-range longer than the content
+ # length. Note that in this test, the content length
+ # is 8 bytes.
+ self.getPage("/ranges/get_ranges?bytes=-100")
+ self.assertBody("[(0, 8)]")
+
# Get a partial file.
if cherrypy.server.protocol_version == "HTTP/1.1":
self.getPage("/ranges/slice_file", [('Range', 'bytes=2-5')])
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/CherryPy-3.3.0/cherrypy/test/test_iterator.py new/CherryPy-3.6.0/cherrypy/test/test_iterator.py
--- old/CherryPy-3.3.0/cherrypy/test/test_iterator.py 1970-01-01 01:00:00.000000000 +0100
+++ new/CherryPy-3.6.0/cherrypy/test/test_iterator.py 2014-09-14 06:00:08.000000000 +0200
@@ -0,0 +1,181 @@
+import cherrypy
+from cherrypy._cpcompat import unicodestr
+
+class IteratorBase(object):
+
+ created = 0
+ datachunk = u'butternut squash' * 256
+
+ @classmethod
+ def incr(cls):
+ cls.created += 1
+
+ @classmethod
+ def decr(cls):
+ cls.created -= 1
+
+class OurGenerator(IteratorBase):
+
+ def __iter__(self):
+ self.incr()
+ try:
+ for i in range(1024):
+ yield self.datachunk
+ finally:
+ self.decr()
+
+class OurIterator(IteratorBase):
+
+ started = False
+ closed_off = False
+ count = 0
+
+ def increment(self):
+ self.incr()
+
+ def decrement(self):
+ if not self.closed_off:
+ self.closed_off = True
+ self.decr()
+
+ def __iter__(self):
+ return self
+
+ def __next__(self):
+ if not self.started:
+ self.started = True
+ self.increment()
+ self.count += 1
+ if self.count > 1024:
+ raise StopIteration
+ return self.datachunk
+
+ next = __next__
+
+ def __del__(self):
+ self.decrement()
+
+class OurClosableIterator(OurIterator):
+
+ def close(self):
+ self.decrement()
+
+class OurNotClosableIterator(OurIterator):
+
+ # We can't close something which requires an additional argument.
+ def close(self, somearg):
+ self.decrement()
+
+class OurUnclosableIterator(OurIterator):
+ close = 'close' # not callable!
+
+from cherrypy.test import helper
+class IteratorTest(helper.CPWebCase):
+
+ @staticmethod
+ def setup_server():
+
+ class Root(object):
+
+ @cherrypy.expose
+ def count(self, clsname):
+ cherrypy.response.headers['Content-Type'] = 'text/plain'
+ return unicodestr(globals()[clsname].created)
+
+ @cherrypy.expose
+ def getall(self, clsname):
+ cherrypy.response.headers['Content-Type'] = 'text/plain'
+ return globals()[clsname]()
+
+ @cherrypy.expose
+ def stream(self, clsname):
+ return self.getall(clsname)
+ stream._cp_config = {'response.stream': True}
+
+ cherrypy.tree.mount(Root())
+
+ def test_iterator(self):
+ if cherrypy.server.protocol_version != "HTTP/1.1":
+ return self.skip()
+
+ self.PROTOCOL = "HTTP/1.1"
+
+ # Check the counts of all the classes, they should be zero.
+ closables = ['OurClosableIterator', 'OurGenerator']
+ unclosables = ['OurUnclosableIterator', 'OurNotClosableIterator']
+ all_classes = closables + unclosables
+
+ import random
+ random.shuffle(all_classes)
+
+ for clsname in all_classes:
+ self.getPage("/count/" + clsname)
+ self.assertStatus(200)
+ self.assertBody('0')
+
+ # We should also be able to read the entire content body
+ # successfully, though we don't need to, we just want to
+ # check the header.
+ for clsname in all_classes:
+ itr_conn = self.get_conn()
+ itr_conn.putrequest("GET", "/getall/" + clsname)
+ itr_conn.endheaders()
+ response = itr_conn.getresponse()
+ self.assertEqual(response.status, 200)
+ headers = response.getheaders()
+ for header_name, header_value in headers:
+ if header_name.lower() == 'content-length':
+ assert header_value == unicodestr(1024 * 16 * 256), header_value
+ break
+ else:
+ raise AssertionError('No Content-Length header found')
+
+ # As the response should be fully consumed by CherryPy
+ # before sending back, the count should still be at zero
+ # by the time the response has been sent.
+ self.getPage("/count/" + clsname)
+ self.assertStatus(200)
+ self.assertBody('0')
+
+ # Now we do the same check with streaming - some classes will
+ # be automatically closed, while others cannot.
+ stream_counts = {}
+ for clsname in all_classes:
+ itr_conn = self.get_conn()
+ itr_conn.putrequest("GET", "/stream/" + clsname)
+ itr_conn.endheaders()
+ response = itr_conn.getresponse()
+ self.assertEqual(response.status, 200)
+ response.fp.read(65536)
+
+ # Let's check the count - this should always be one.
+ self.getPage("/count/" + clsname)
+ self.assertBody('1')
+
+ # Now if we close the connection, the count should go back
+ # to zero.
+ itr_conn.close()
+ self.getPage("/count/" + clsname)
+
+ # If this is a response which should be easily closed, then
+ # we will test to see if the value has gone back down to
+ # zero.
+ if clsname in closables:
+
+ # Sometimes we try to get the answer too quickly - we
+ # will wait for 100 ms before asking again if we didn't
+ # get the answer we wanted.
+ if self.body != '0':
+ import time
+ time.sleep(0.1)
+ self.getPage("/count/" + clsname)
+
+ stream_counts[clsname] = int(self.body)
+
+ # Check that we closed off the classes which should provide
+ # easy mechanisms for doing so.
+ for clsname in closables:
+ assert stream_counts[clsname] == 0, (
+ 'did not close off stream response correctly, expected '
+ 'count of zero for %s: %s' % (clsname, stream_counts)
+ )
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/CherryPy-3.3.0/cherrypy/test/test_logging.py new/CherryPy-3.6.0/cherrypy/test/test_logging.py
--- old/CherryPy-3.3.0/cherrypy/test/test_logging.py 2014-04-16 23:52:08.000000000 +0200
+++ new/CherryPy-3.6.0/cherrypy/test/test_logging.py 2014-09-14 06:00:08.000000000 +0200
@@ -105,6 +105,26 @@
self.assertLog(-1, '] "GET %s/as_yield HTTP/1.1" 200 - "" ""'
% self.prefix())
+ def testCustomLogFormat(self):
+ '''Test a customized access_log_format string,
+ which is a feature of _cplogging.LogManager.access() '''
+
+ original_logformat = cherrypy._cplogging.LogManager.access_log_format
+ cherrypy._cplogging.LogManager.access_log_format = \
+ '{h} {l} {u} {t} "{r}" {s} {b} "{f}" "{a}" {o}' \
+ if py3k else \
+ '%(h)s %(l)s %(u)s %(t)s "%(r)s" %(s)s %(b)s "%(f)s" "%(a)s" %(o)s'
+
+ self.markLog()
+ self.getPage("/as_string", headers=[('Referer', 'REFERER'),
+ ('User-Agent', 'USERAGENT'),
+ ('Host', 'HOST')])
+ self.assertLog(-1, '%s - - [' % self.interface())
+ self.assertLog(-1, '] "GET /as_string HTTP/1.1" '
+ '200 7 "REFERER" "USERAGENT" HOST')
+
+ cherrypy._cplogging.LogManager.access_log_format = original_logformat
+
def testEscapedOutput(self):
# Test unicode in access log pieces.
self.markLog()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/CherryPy-3.3.0/cherrypy/test/test_objectmapping.py new/CherryPy-3.6.0/cherrypy/test/test_objectmapping.py
--- old/CherryPy-3.3.0/cherrypy/test/test_objectmapping.py 2014-04-16 23:52:08.000000000 +0200
+++ new/CherryPy-3.6.0/cherrypy/test/test_objectmapping.py 2014-09-14 06:00:08.000000000 +0200
@@ -1,3 +1,4 @@
+import sys
import cherrypy
from cherrypy._cpcompat import ntou
from cherrypy._cptree import Application
@@ -414,3 +415,17 @@
a = Application(Root(), script_name=None)
# However, this does not apply to tree.mount
self.assertRaises(TypeError, cherrypy.tree.mount, a, None)
+
+ def testKeywords(self):
+ if sys.version_info < (3,):
+ return self.skip("skipped (Python 3 only)")
+ exec("""class Root(object):
+ @cherrypy.expose
+ def hello(self, *, name='world'):
+ return 'Hello %s!' % name
+cherrypy.tree.mount(Application(Root(), '/keywords'))""")
+
+ self.getPage('/keywords/hello')
+ self.assertStatus(200)
+ self.getPage('/keywords/hello/extra')
+ self.assertStatus(404)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/CherryPy-3.3.0/cherrypy/test/test_session.py new/CherryPy-3.6.0/cherrypy/test/test_session.py
--- old/CherryPy-3.3.0/cherrypy/test/test_session.py 2014-04-16 23:52:08.000000000 +0200
+++ new/CherryPy-3.6.0/cherrypy/test/test_session.py 2014-09-14 06:00:08.000000000 +0200
@@ -1,6 +1,5 @@
import os
localDir = os.path.dirname(__file__)
-import sys
import threading
import time
@@ -358,10 +357,24 @@
else:
self.fail("Unknown session id in cache: %r", cache)
+ def test_8_Ram_Cleanup(self):
+ def lock():
+ s1 = sessions.RamSession()
+ s1.acquire_lock()
+ time.sleep(1)
+ s1.release_lock()
+
+ t = threading.Thread(target=lock)
+ t.start()
+ s2 = sessions.RamSession()
+ s2.clean_up()
+ self.assertEqual(len(sessions.RamSession.locks), 1, 'Clean up should not remove active lock')
+ t.join()
+
import socket
try:
- import memcache
+ import memcache # NOQA
host, port = '127.0.0.1', 11211
for res in socket.getaddrinfo(host, port, socket.AF_UNSPEC,
@@ -436,7 +449,7 @@
## sys.stdout.write("%d " % index)
if not self.body.isdigit():
self.fail(self.body)
- data_dict[index] = v = int(self.body)
+ data_dict[index] = int(self.body)
# Start <request_count> concurrent requests from
# each of <client_thread_count> clients
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/CherryPy-3.3.0/cherrypy/test/test_static.py new/CherryPy-3.6.0/cherrypy/test/test_static.py
--- old/CherryPy-3.3.0/cherrypy/test/test_static.py 2014-04-16 23:52:08.000000000 +0200
+++ new/CherryPy-3.6.0/cherrypy/test/test_static.py 2014-09-14 06:00:08.000000000 +0200
@@ -7,7 +7,11 @@
curdir = os.path.join(os.getcwd(), os.path.dirname(__file__))
has_space_filepath = os.path.join(curdir, 'static', 'has space.html')
bigfile_filepath = os.path.join(curdir, "static", "bigfile.log")
-BIGFILE_SIZE = 1024 * 1024
+
+# The file size needs to be big enough such that half the size of it
+# won't be socket-buffered (or server-buffered) all in one go. See
+# test_file_stream.
+BIGFILE_SIZE = 1024 * 1024 * 4
import cherrypy
from cherrypy.lib import static
@@ -19,7 +23,8 @@
def setup_server():
if not os.path.exists(has_space_filepath):
open(has_space_filepath, 'wb').write(ntob('Hello, world\r\n'))
- if not os.path.exists(bigfile_filepath):
+ if not os.path.exists(bigfile_filepath) or \
+ os.path.getsize(bigfile_filepath) != BIGFILE_SIZE:
open(bigfile_filepath, 'wb').write(ntob("x" * BIGFILE_SIZE))
class Root:
@@ -256,23 +261,38 @@
else:
tell_position = int(b)
- expected = len(body)
+ read_so_far = len(body)
+
+ # It is difficult for us to force the server to only read
+ # the bytes that we ask for - there are going to be buffers
+ # inbetween.
+ #
+ # CherryPy will attempt to write as much data as it can to
+ # the socket, and we don't have a way to determine what that
+ # size will be. So we make the following assumption - by
+ # the time we have read in the entire file on the server,
+ # we will have at least received half of it. If this is not
+ # the case, then this is an indicator that either:
+ # - machines that are running this test are using buffer
+ # sizes greater than half of BIGFILE_SIZE; or
+ # - streaming is broken.
+ #
+ # At the time of writing, we seem to have encountered
+ # buffer sizes bigger than 512K, so we've increased
+ # BIGFILE_SIZE to 4MB.
if tell_position >= BIGFILE_SIZE:
- # We can't exactly control how much content the server asks
- # for.
- # Fudge it by only checking the first half of the reads.
- if expected < (BIGFILE_SIZE / 2):
+ if read_so_far < (BIGFILE_SIZE / 2):
self.fail(
"The file should have advanced to position %r, but "
"has already advanced to the end of the file. It "
"may not be streamed as intended, or at the wrong "
- "chunk size (64k)" % expected)
- elif tell_position < expected:
+ "chunk size (64k)" % read_so_far)
+ elif tell_position < read_so_far:
self.fail(
"The file should have advanced to position %r, but has "
"only advanced to position %r. It may not be streamed "
- "as intended, or at the wrong chunk size (65536)" %
- (expected, tell_position))
+ "as intended, or at the wrong chunk size (64k)" %
+ (read_so_far, tell_position))
if body != ntob("x" * BIGFILE_SIZE):
self.fail("Body != 'x' * %d. Got %r instead (%d bytes)." %
@@ -307,7 +327,7 @@
if self.body != ntob("x" * BIGFILE_SIZE):
self.fail("Body != 'x' * %d. Got %r instead (%d bytes)." %
(BIGFILE_SIZE, self.body[:50], len(body)))
-
+
def test_error_page_with_serve_file(self):
self.getPage("/404test/yunyeen")
self.assertStatus(404)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/CherryPy-3.3.0/cherrypy/test/test_tools.py new/CherryPy-3.6.0/cherrypy/test/test_tools.py
--- old/CherryPy-3.3.0/cherrypy/test/test_tools.py 2014-04-16 23:52:08.000000000 +0200
+++ new/CherryPy-3.6.0/cherrypy/test/test_tools.py 2014-09-14 06:00:08.000000000 +0200
@@ -108,6 +108,7 @@
cherrypy.tools.rotator = cherrypy.Tool('before_finalize', Rotator())
def stream_handler(next_handler, *args, **kwargs):
+ assert cherrypy.request.config.get('tools.streamer.arg') == 'arg value'
cherrypy.response.output = o = BytesIO()
try:
response = next_handler(*args, **kwargs)
@@ -126,10 +127,11 @@
index.exposed = True
def tarfile(self):
+ assert cherrypy.request.config.get('tools.streamer.arg') == 'arg value'
cherrypy.response.output.write(ntob('I am '))
cherrypy.response.output.write(ntob('a tarfile'))
tarfile.exposed = True
- tarfile._cp_config = {'tools.streamer.on': True}
+ tarfile._cp_config = {'tools.streamer.on': True, 'tools.streamer.arg': 'arg value'}
def euro(self):
hooks = list(cherrypy.request.hooks['before_finalize'])
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/CherryPy-3.3.0/cherrypy/wsgiserver/wsgiserver2.py new/CherryPy-3.6.0/cherrypy/wsgiserver/wsgiserver2.py
--- old/CherryPy-3.3.0/cherrypy/wsgiserver/wsgiserver2.py 2014-04-16 23:53:44.000000000 +0200
+++ new/CherryPy-3.6.0/cherrypy/wsgiserver/wsgiserver2.py 2014-09-14 06:05:54.000000000 +0200
@@ -1545,12 +1545,14 @@
and stop(timeout) attributes.
"""
- def __init__(self, server, min=10, max=-1):
+ def __init__(self, server, min=10, max=-1,
+ accepted_queue_size=-1, accepted_queue_timeout=10):
self.server = server
self.min = min
self.max = max
self._threads = []
- self._queue = queue.Queue()
+ self._queue = queue.Queue(maxsize=accepted_queue_size)
+ self._queue_put_timeout = accepted_queue_timeout
self.get = self._queue.get
def start(self):
@@ -1570,7 +1572,7 @@
idle = property(_get_idle, doc=_get_idle.__doc__)
def put(self, obj):
- self._queue.put(obj)
+ self._queue.put(obj, block=True, timeout=self._queue_put_timeout)
if obj is _SHUTDOWNREQUEST:
return
@@ -1755,7 +1757,7 @@
timeout = 10
"""The timeout in seconds for accepted connections (default 10)."""
- version = "CherryPy/3.3.0"
+ version = "CherryPy/3.6.0"
"""A version string for the HTTPServer."""
software = None
@@ -2072,7 +2074,12 @@
conn.ssl_env = ssl_env
- self.requests.put(conn)
+ try:
+ self.requests.put(conn)
+ except queue.Full:
+ # Just drop the conn. TODO: write 503 back?
+ conn.close()
+ return
except socket.timeout:
# The only reason for the timeout in start() is so we can
# notice keyboard interrupts on Win32, which don't interrupt
@@ -2215,8 +2222,11 @@
"""The version of WSGI to produce."""
def __init__(self, bind_addr, wsgi_app, numthreads=10, server_name=None,
- max=-1, request_queue_size=5, timeout=10, shutdown_timeout=5):
- self.requests = ThreadPool(self, min=numthreads or 1, max=max)
+ max=-1, request_queue_size=5, timeout=10, shutdown_timeout=5,
+ accepted_queue_size=-1, accepted_queue_timeout=10):
+ self.requests = ThreadPool(self, min=numthreads or 1, max=max,
+ accepted_queue_size=accepted_queue_size,
+ accepted_queue_timeout=accepted_queue_timeout)
self.wsgi_app = wsgi_app
self.gateway = wsgi_gateways[self.wsgi_version]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/CherryPy-3.3.0/cherrypy/wsgiserver/wsgiserver3.py new/CherryPy-3.6.0/cherrypy/wsgiserver/wsgiserver3.py
--- old/CherryPy-3.3.0/cherrypy/wsgiserver/wsgiserver3.py 2014-04-16 23:53:44.000000000 +0200
+++ new/CherryPy-3.6.0/cherrypy/wsgiserver/wsgiserver3.py 2014-09-14 06:05:54.000000000 +0200
@@ -1261,12 +1261,14 @@
and stop(timeout) attributes.
"""
- def __init__(self, server, min=10, max=-1):
+ def __init__(self, server, min=10, max=-1,
+ accepted_queue_size=-1, accepted_queue_timeout=10):
self.server = server
self.min = min
self.max = max
self._threads = []
- self._queue = queue.Queue()
+ self._queue = queue.Queue(maxsize=accepted_queue_size)
+ self._queue_put_timeout = accepted_queue_timeout
self.get = self._queue.get
def start(self):
@@ -1286,7 +1288,7 @@
idle = property(_get_idle, doc=_get_idle.__doc__)
def put(self, obj):
- self._queue.put(obj)
+ self._queue.put(obj, block=True, timeout=self._queue_put_timeout)
if obj is _SHUTDOWNREQUEST:
return
@@ -1466,7 +1468,7 @@
timeout = 10
"""The timeout in seconds for accepted connections (default 10)."""
- version = "CherryPy/3.3.0"
+ version = "CherryPy/3.6.0"
"""A version string for the HTTPServer."""
software = None
@@ -1764,7 +1766,12 @@
conn.ssl_env = ssl_env
- self.requests.put(conn)
+ try:
+ self.requests.put(conn)
+ except queue.Full:
+ # Just drop the conn. TODO: write 503 back?
+ conn.close()
+ return
except socket.timeout:
# The only reason for the timeout in start() is so we can
# notice keyboard interrupts on Win32, which don't interrupt
@@ -1906,8 +1913,11 @@
"""The version of WSGI to produce."""
def __init__(self, bind_addr, wsgi_app, numthreads=10, server_name=None,
- max=-1, request_queue_size=5, timeout=10, shutdown_timeout=5):
- self.requests = ThreadPool(self, min=numthreads or 1, max=max)
+ max=-1, request_queue_size=5, timeout=10, shutdown_timeout=5,
+ accepted_queue_size=-1, accepted_queue_timeout=10):
+ self.requests = ThreadPool(self, min=numthreads or 1, max=max,
+ accepted_queue_size=accepted_queue_size,
+ accepted_queue_timeout=accepted_queue_timeout)
self.wsgi_app = wsgi_app
self.gateway = wsgi_gateways[self.wsgi_version]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/CherryPy-3.3.0/setup.cfg new/CherryPy-3.6.0/setup.cfg
--- old/CherryPy-3.3.0/setup.cfg 2014-04-16 23:53:56.000000000 +0200
+++ new/CherryPy-3.6.0/setup.cfg 2014-09-14 06:06:03.000000000 +0200
@@ -7,11 +7,8 @@
verbosity = 2
nocapture = True
-[wheel]
-universal = 1
-
[egg_info]
-tag_build =
tag_svn_revision = 0
tag_date = 0
+tag_build =
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/CherryPy-3.3.0/setup.py new/CherryPy-3.6.0/setup.py
--- old/CherryPy-3.3.0/setup.py 2014-04-16 23:53:44.000000000 +0200
+++ new/CherryPy-3.6.0/setup.py 2014-09-14 06:05:54.000000000 +0200
@@ -36,7 +36,7 @@
# arguments for the setup command
###############################################################################
name = "CherryPy"
-version = "3.3.0"
+version = "3.6.0"
desc = "Object-Oriented HTTP framework"
long_desc = "CherryPy is a pythonic, object-oriented HTTP framework"
classifiers = [
@@ -126,6 +126,21 @@
if 'bdist_wininst' in sys.argv or '--format=wininst' in sys.argv:
data_files = [(r'\PURELIB\%s' % path, files) for path, files in data_files]
+setup_params = dict(
+ name=name,
+ version=version,
+ description=desc,
+ long_description=long_desc,
+ classifiers=classifiers,
+ author=author,
+ author_email=author_email,
+ url=url,
+ license=cp_license,
+ packages=packages,
+ data_files=data_files,
+ scripts=scripts,
+ cmdclass=cmd_class,
+)
def main():
if sys.version < required_python_version:
@@ -137,21 +152,7 @@
for scheme in list(INSTALL_SCHEMES.values()):
scheme['data'] = scheme['purelib']
- setup(
- name=name,
- version=version,
- description=desc,
- long_description=long_desc,
- classifiers=classifiers,
- author=author,
- author_email=author_email,
- url=url,
- license=cp_license,
- packages=packages,
- data_files=data_files,
- scripts=scripts,
- cmdclass=cmd_class,
- )
+ setup(**setup_params)
if __name__ == "__main__":
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package openmpi for openSUSE:Factory checked in at 2015-02-27 11:07:32
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/openmpi (Old)
and /work/SRC/openSUSE:Factory/.openmpi.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "openmpi"
Changes:
--------
--- /work/SRC/openSUSE:Factory/openmpi/openmpi.changes 2015-02-12 10:20:14.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.openmpi.new/openmpi.changes 2015-02-27 11:07:33.000000000 +0100
@@ -1,0 +2,6 @@
+Mon Feb 23 13:19:25 UTC 2015 - rguenther(a)suse.com
+
+- Disable Fortran 2008 module and remove mpi_ext.mod which get built
+ automatically when using GCC 5.
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ openmpi.spec ++++++
--- /var/tmp/diff_new_pack.70wObR/_old 2015-02-27 11:07:34.000000000 +0100
+++ /var/tmp/diff_new_pack.70wObR/_new 2015-02-27 11:07:34.000000000 +0100
@@ -152,7 +152,8 @@
%endif
%endif
--with-devel-headers \
- --with-package-string="Open MPI Distribution for SUSE"
+ --with-package-string="Open MPI Distribution for SUSE" \
+ --enable-mpi-fortran=usempi
make %{?_smp_mflags} V=1
%if "%{name}" == "openmpi-testsuite"
@@ -194,6 +195,10 @@
#done
popd
+# GCC 5 builds the ignore-tkr extension and there is no way to
+# turn that off
+rm -f %{buildroot}%{mpi_libdir}/mpi_ext.mod
+
mkdir -p %{buildroot}%{_datadir}/modules/gnu-openmpi
%fdupes %{buildroot}%{mpi_mandir} %{buildroot}%{mpi_datadir}
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package MozillaThunderbird for openSUSE:Factory checked in at 2015-02-27 11:07:10
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/MozillaThunderbird (Old)
and /work/SRC/openSUSE:Factory/.MozillaThunderbird.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "MozillaThunderbird"
Changes:
--------
--- /work/SRC/openSUSE:Factory/MozillaThunderbird/MozillaThunderbird.changes 2015-01-21 21:51:05.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.MozillaThunderbird.new/MozillaThunderbird.changes 2015-02-27 11:07:16.000000000 +0100
@@ -1,0 +2,16 @@
+Mon Feb 23 12:42:57 UTC 2015 - wr(a)rosenauer.org
+
+- update to Thunderbird 31.5.0 (bnc#917597)
+ * MFSA 2015-11/CVE-2015-0836
+ Miscellaneous memory safety hazards
+ * MFSA 2015-12/CVE-2015-0833 (bmo#945192)
+ Invoking Mozilla updater will load locally stored DLL files
+ (Windows only)
+ * MFSA 2015-16/CVE-2015-0831 (bmo#1130514)
+ Use-after-free in IndexedDB
+ * MFSA 2015-19/CVE-2015-0827 (bmo#1117304)
+ Out-of-bounds read and write while rendering SVG content
+ * MFSA 2015-24/CVE-2015-0822 (bmo#1110557)
+ Reading of local files through manipulation of form autocomplete
+
+-------------------------------------------------------------------
Old:
----
l10n-31.4.0.tar.xz
thunderbird-31.4.0-source.tar.xz
New:
----
l10n-31.5.0.tar.xz
thunderbird-31.5.0-source.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ MozillaThunderbird.spec ++++++
--- /var/tmp/diff_new_pack.Vi6RHY/_old 2015-02-27 11:07:27.000000000 +0100
+++ /var/tmp/diff_new_pack.Vi6RHY/_new 2015-02-27 11:07:27.000000000 +0100
@@ -1,7 +1,7 @@
#
# spec file for package MozillaThunderbird
#
-# Copyright (c) 2015 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany.
# 2006-2015 Wolfgang Rosenauer <wr(a)rosenauer.org>
#
# All modifications and additions to the file contributed by third parties
@@ -17,7 +17,7 @@
#
-%define mainversion 31.4.0
+%define mainversion 31.5.0
%define update_channel release
%if %suse_version > 1210
@@ -70,7 +70,7 @@
%endif
Version: %{mainversion}
Release: 0
-%define releasedate 2015010900
+%define releasedate 2015022200
Provides: thunderbird = %{version}
%if %{with_kde}
# this is needed to match this package with the kde4 helper package without the main package
++++++ compare-locales.tar.xz ++++++
++++++ create-tar.sh ++++++
--- /var/tmp/diff_new_pack.Vi6RHY/_old 2015-02-27 11:07:28.000000000 +0100
+++ /var/tmp/diff_new_pack.Vi6RHY/_new 2015-02-27 11:07:28.000000000 +0100
@@ -2,8 +2,8 @@
CHANNEL="esr31"
BRANCH="releases/comm-$CHANNEL"
-RELEASE_TAG="THUNDERBIRD_31_4_0_RELEASE"
-VERSION="31.4.0"
+RELEASE_TAG="THUNDERBIRD_31_5_0_RELEASE"
+VERSION="31.5.0"
echo "cloning $BRANCH..."
hg clone http://hg.mozilla.org/$BRANCH thunderbird
++++++ l10n-31.4.0.tar.xz -> l10n-31.5.0.tar.xz ++++++
/work/SRC/openSUSE:Factory/MozillaThunderbird/l10n-31.4.0.tar.xz /work/SRC/openSUSE:Factory/.MozillaThunderbird.new/l10n-31.5.0.tar.xz differ: char 26, line 1
++++++ thunderbird-31.4.0-source.tar.xz -> thunderbird-31.5.0-source.tar.xz ++++++
/work/SRC/openSUSE:Factory/MozillaThunderbird/thunderbird-31.4.0-source.tar.xz /work/SRC/openSUSE:Factory/.MozillaThunderbird.new/thunderbird-31.5.0-source.tar.xz differ: char 26, line 1
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package MozillaFirefox for openSUSE:Factory checked in at 2015-02-27 11:07:00
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/MozillaFirefox (Old)
and /work/SRC/openSUSE:Factory/.MozillaFirefox.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "MozillaFirefox"
Changes:
--------
--- /work/SRC/openSUSE:Factory/MozillaFirefox/MozillaFirefox.changes 2015-01-21 21:50:48.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.MozillaFirefox.new/MozillaFirefox.changes 2015-02-27 11:07:02.000000000 +0100
@@ -1,0 +2,67 @@
+Fri Feb 20 22:53:39 UTC 2015 - wr(a)rosenauer.org
+
+- update to Firefox 36.0 (bnc#917597)
+ * mozilla-xremote-client was removed
+ * added libclearkey.so media plugin
+ * Pinned tiles on the new tab page can be synced
+ * Support for the full HTTP/2 protocol. HTTP/2 enables a faster,
+ more scalable, and more responsive web.
+ * Locale added: Uzbek (uz)
+ security fixes:
+ * MFSA 2015-11/CVE-2015-0835/CVE-2015-0836
+ Miscellaneous memory safety hazards
+ * MFSA 2015-12/CVE-2015-0833 (bmo#945192)
+ Invoking Mozilla updater will load locally stored DLL files
+ (Windows only)
+ * MFSA 2015-13/CVE-2015-0832 (bmo#1065909)
+ Appended period to hostnames can bypass HPKP and HSTS protections
+ * MFSA 2015-14/CVE-2015-0830 (bmo#1110488)
+ Malicious WebGL content crash when writing strings
+ * MFSA 2015-15/CVE-2015-0834 (bmo#1098314)
+ TLS TURN and STUN connections silently fail to simple TCP connections
+ * MFSA 2015-16/CVE-2015-0831 (bmo#1130514)
+ Use-after-free in IndexedDB
+ * MFSA 2015-17/CVE-2015-0829 (bmo#1128939)
+ Buffer overflow in libstagefright during MP4 video playback
+ * MFSA 2015-18/CVE-2015-0828 (bmo#1030667, bmo#988675)
+ Double-free when using non-default memory allocators with a
+ zero-length XHR
+ * MFSA 2015-19/CVE-2015-0827 (bmo#1117304)
+ Out-of-bounds read and write while rendering SVG content
+ * MFSA 2015-20/CVE-2015-0826 (bmo#1092363)
+ Buffer overflow during CSS restyling
+ * MFSA 2015-21/CVE-2015-0825 (bmo#1092370)
+ Buffer underflow during MP3 playback
+ * MFSA 2015-22/CVE-2015-0824 (bmo#1095925)
+ Crash using DrawTarget in Cairo graphics library
+ * MFSA 2015-23/CVE-2015-0823 (bmo#1098497)
+ Use-after-free in Developer Console date with OpenType Sanitiser
+ * MFSA 2015-24/CVE-2015-0822 (bmo#1110557)
+ Reading of local files through manipulation of form autocomplete
+ * MFSA 2015-25/CVE-2015-0821 (bmo#1111960)
+ Local files or privileged URLs in pages can be opened into new tabs
+ * MFSA 2015-26/CVE-2015-0819 (bmo#1079554)
+ UI Tour whitelisted sites in background tab can spoof foreground
+ tabs
+ * MFSA 2015-27CVE-2015-0820 (bmo#1125398)
+ Caja Compiler JavaScript sandbox bypass
+- rebased patches
+- requires NSS 3.17.4
+
+-------------------------------------------------------------------
+Sat Jan 31 18:37:38 UTC 2015 - wr(a)rosenauer.org
+
+- update to Firefox 35.0.1
+ * With the Enhanced Steam extension, Firefox could crash (bmo#1123732)
+ * Kerberos authentication did not work with alias (bmo#1108971)
+ * SVG / CSS animation had a regression causing rendering issues on
+ websites like openstreemap.org (bmo#1083079)
+ * On Godaddy webmail, Firefox could crash (bmo#1113121)
+ * document.baseURI did not get updated to document.location after
+ base tag was removed from DOM for site with a CSP (bmo#1121857)
+ * With a Right-to-left (RTL) version of Firefox, the text selection
+ could be broken (bmo#1104036)
+ * CSP had a change in behavior with regard to case sensitivity
+ resources loading (bmo#1122445)
+
+-------------------------------------------------------------------
Old:
----
firefox-35.0-source.tar.xz
l10n-35.0.tar.xz
New:
----
firefox-36.0-source.tar.xz
l10n-36.0.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ MozillaFirefox.spec ++++++
--- /var/tmp/diff_new_pack.wTU6m6/_old 2015-02-27 11:07:15.000000000 +0100
+++ /var/tmp/diff_new_pack.wTU6m6/_new 2015-02-27 11:07:15.000000000 +0100
@@ -1,7 +1,7 @@
#
# spec file for package MozillaFirefox
#
-# Copyright (c) 2015 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany.
# 2006-2015 Wolfgang Rosenauer
#
# All modifications and additions to the file contributed by third parties
@@ -18,10 +18,10 @@
# changed with every update
-%define major 35
+%define major 36
%define mainver %major.0
%define update_channel release
-%define releasedate 2015010900
+%define releasedate 2015022000
# general build definitions
%if "%{update_channel}" != "aurora"
@@ -77,7 +77,7 @@
BuildRequires: libproxy-devel
BuildRequires: makeinfo
BuildRequires: mozilla-nspr-devel >= 4.10.7
-BuildRequires: mozilla-nss-devel >= 3.17.2
+BuildRequires: mozilla-nss-devel >= 3.17.4
BuildRequires: nss-shared-helper-devel
BuildRequires: python-devel
BuildRequires: startup-notification-devel
@@ -565,13 +565,13 @@
%{progdir}/defaults/
%{progdir}/dictionaries/
%{progdir}/webapprt/
+%{progdir}/gmp-clearkey/
%attr(755,root,root) %{progdir}/%{progname}.sh
%{progdir}/firefox
%{progdir}/firefox-bin
%{progdir}/application.ini
%{progdir}/dependentlibs.list
%{progdir}/*.so
-%{progdir}/mozilla-xremote-client
%{progdir}/omni.ja
%{progdir}/platform.ini
%{progdir}/plugin-container
++++++ compare-locales.tar.xz ++++++
++++++ create-tar.sh ++++++
--- /var/tmp/diff_new_pack.wTU6m6/_old 2015-02-27 11:07:15.000000000 +0100
+++ /var/tmp/diff_new_pack.wTU6m6/_new 2015-02-27 11:07:15.000000000 +0100
@@ -2,8 +2,8 @@
CHANNEL="release"
BRANCH="releases/mozilla-$CHANNEL"
-RELEASE_TAG="FIREFOX_35_0_RELEASE"
-VERSION="35.0"
+RELEASE_TAG="FIREFOX_36_0_RELEASE"
+VERSION="36.0"
# mozilla
if [ -d mozilla ]; then
++++++ firefox-35.0-source.tar.xz -> firefox-36.0-source.tar.xz ++++++
/work/SRC/openSUSE:Factory/MozillaFirefox/firefox-35.0-source.tar.xz /work/SRC/openSUSE:Factory/.MozillaFirefox.new/firefox-36.0-source.tar.xz differ: char 26, line 1
++++++ firefox-branded-icons.patch ++++++
--- /var/tmp/diff_new_pack.wTU6m6/_old 2015-02-27 11:07:15.000000000 +0100
+++ /var/tmp/diff_new_pack.wTU6m6/_new 2015-02-27 11:07:15.000000000 +0100
@@ -1,10 +1,10 @@
# HG changeset patch
-# Parent 8f03aa18c51f9c014f32aba7750f6b7927f9256e
+# Parent e0751ad74e835e80041a61ea00c2a63bf6fbe2de
diff --git a/browser/app/Makefile.in b/browser/app/Makefile.in
--- a/browser/app/Makefile.in
+++ b/browser/app/Makefile.in
-@@ -75,16 +75,21 @@ GARBAGE += $(addprefix $(FINAL_TARGET)/d
+@@ -62,16 +62,21 @@ GARBAGE += $(addprefix $(FINAL_TARGET)/d
endif
ifdef MOZ_WIDGET_GTK
@@ -20,12 +20,12 @@
+endif
endif
- libs:: $(srcdir)/profile/prefs.js
- $(INSTALL) $(IFLAGS1) $^ $(FINAL_TARGET)/defaults/profile
-
ifndef LIBXUL_SDK
# channel-prefs.js is handled separate from other prefs due to bug 756325
libs:: $(srcdir)/profile/channel-prefs.js
+ $(NSINSTALL) -D $(DIST)/bin/defaults/pref
+ $(call py_action,preprocessor,-Fsubstitution $(PREF_PPFLAGS) $(ACDEFINES) $^ -o $(DIST)/bin/defaults/pref/channel-prefs.js)
+ endif
diff --git a/browser/branding/official/Makefile.in b/browser/branding/official/Makefile.in
--- a/browser/branding/official/Makefile.in
+++ b/browser/branding/official/Makefile.in
@@ -54,25 +54,25 @@
diff --git a/browser/installer/package-manifest.in b/browser/installer/package-manifest.in
--- a/browser/installer/package-manifest.in
+++ b/browser/installer/package-manifest.in
-@@ -623,18 +623,21 @@
- @BINPATH@/browser/extensions/{972ce4c6-7e08-4474-a285-3208198ce6fd}/install.rdf
- @BINPATH@/browser/extensions/{972ce4c6-7e08-4474-a285-3208198ce6fd}/icon.png
- @BINPATH@/chrome/toolkit@JAREXT@
- @BINPATH@/chrome/toolkit.manifest
- @BINPATH@/chrome/recording.manifest
- @BINPATH@/chrome/recording/*
+@@ -654,18 +654,21 @@
+ @RESPATH@/browser/extensions/{972ce4c6-7e08-4474-a285-3208198ce6fd}/install.rdf
+ @RESPATH@/browser/extensions/{972ce4c6-7e08-4474-a285-3208198ce6fd}/icon.png
+ @RESPATH@/chrome/toolkit@JAREXT@
+ @RESPATH@/chrome/toolkit.manifest
+ @RESPATH@/chrome/recording.manifest
+ @RESPATH@/chrome/recording/*
#ifdef MOZ_GTK
- @BINPATH@/browser/chrome/icons/default/default16.png
-+@BINPATH@/browser/chrome/icons/default/default22.png
-+@BINPATH@/browser/chrome/icons/default/default24.png
- @BINPATH@/browser/chrome/icons/default/default32.png
- @BINPATH@/browser/chrome/icons/default/default48.png
-+@BINPATH@/browser/chrome/icons/default/default256.png
+ @RESPATH@/browser/chrome/icons/default/default16.png
++@RESPATH@/browser/chrome/icons/default/default22.png
++@RESPATH@/browser/chrome/icons/default/default24.png
+ @RESPATH@/browser/chrome/icons/default/default32.png
+ @RESPATH@/browser/chrome/icons/default/default48.png
++@RESPATH@/browser/chrome/icons/default/default256.png
#endif
; [Webide Files]
- @BINPATH@/browser/chrome/webide@JAREXT@
- @BINPATH@/browser/chrome/webide.manifest
- @BINPATH@/browser/@PREF_DIR@/webide-prefs.js
+ @RESPATH@/browser/chrome/webide@JAREXT@
+ @RESPATH@/browser/chrome/webide.manifest
+ @RESPATH@/browser/@PREF_DIR@/webide-prefs.js
; shell icons
++++++ firefox-kde.patch ++++++
--- /var/tmp/diff_new_pack.wTU6m6/_old 2015-02-27 11:07:15.000000000 +0100
+++ /var/tmp/diff_new_pack.wTU6m6/_new 2015-02-27 11:07:15.000000000 +0100
@@ -1,5 +1,5 @@
# HG changeset patch
-# Parent 6697591ddc0a1b18171c31a7bf18d99be9825aab
+# Parent ae5fa7b97ee57df54434bebc6dbda400b7525340
diff --git a/browser/base/content/browser-kde.xul b/browser/base/content/browser-kde.xul
new file mode 100644
@@ -257,13 +257,13 @@
+ noautohide="true"
+ orient="vertical"
+ align="stretch">
-+ <label class="SearchHighlightTitle">One-Click Searches</label>
-+ <description class="SearchHighlightText" flex="1">Search any of these sites instantly, without changing your default.</description>
++ <label class="SearchHighlightTitle">&SearchHighlight1.title;</label>
++ <description class="SearchHighlightText" flex="1">&SearchHighlight1.text;</description>
+ <hbox class="SearchHighlightFooter" align="center">
+ <spacer class="dot filled"/>
+ <spacer class="dot"/>
+ <spacer flex="1"/>
-+ <button label="Next"/>
++ <button label="&SearchHighlightNext;"/>
+ </hbox>
+ </panel>
+ <panel id="SearchHighlight2"
@@ -274,20 +274,21 @@
+ noautohide="true"
+ orient="vertical"
+ align="stretch">
-+ <label class="SearchHighlightTitle">Smart Suggestions</label>
-+ <description class="SearchHighlightText" flex="1">Suggestions from your default search engine appear as you type.</description>
++ <label class="SearchHighlightTitle">&SearchHighlight2.title;</label>
++ <description class="SearchHighlightText" flex="1">&SearchHighlight2.text;</description>
+ <hbox class="SearchHighlightFooter" align="center">
+ <spacer class="dot"/>
+ <spacer class="dot filled"/>
+ <spacer flex="1"/>
-+ <button label="Thanks!"/>
++ <button label="&SearchHighlightClose;"/>
+ </hbox>
+ </panel>
+
-+ <panel id="abouthome-search-panel" orient="vertical" type="arrow" hidden="true">
++ <panel id="abouthome-search-panel" orient="vertical" type="arrow" hidden="true"
++ onclick="this.hidePopup()">
+ <hbox id="abouthome-search-panel-manage"
+ onclick="openPreferences('paneSearch')">
-+ <label>&cmd_engineManager.label;</label>
++ <label>&changeSearchSettings.button;</label>
+ </hbox>
+ </panel>
+
@@ -732,9 +733,9 @@
+ fullscreentoolbar="true" mode="icons" customizable="true"
+ iconsize="small"
+#ifdef MOZ_DEV_EDITION
-+ defaultset="urlbar-container,search-container,developer-button,bookmarks-menu-button,downloads-button,home-button"
++ defaultset="urlbar-container,search-container,developer-button,bookmarks-menu-button,downloads-button,home-button,loop-button"
+#else
-+ defaultset="urlbar-container,search-container,bookmarks-menu-button,downloads-button,home-button"
++ defaultset="urlbar-container,search-container,bookmarks-menu-button,downloads-button,home-button,loop-button"
+#endif
+ customizationtarget="nav-bar-customization-target"
+ overflowable="true"
@@ -773,7 +774,6 @@
+ enablehistory="true"
+ maxrows="6"
+ newlines="stripsurroundingwhitespace"
-+ oninput="gBrowser.userTypedValue = this.value;"
+ ontextentered="this.handleCommand(param);"
+ ontextreverted="return this.handleRevert();"
+ pageproxystate="invalid"
@@ -1336,11 +1336,11 @@
* content/browser/browser-tabPreviews.xml (content/browser-tabPreviews.xml)
* content/browser/chatWindow.xul (content/chatWindow.xul)
content/browser/content.js (content/content.js)
+ content/browser/content-UITour.js (content/content-UITour.js)
content/browser/defaultthemes/1.footer.jpg (content/defaultthemes/1.footer.jpg)
content/browser/defaultthemes/1.header.jpg (content/defaultthemes/1.header.jpg)
content/browser/defaultthemes/1.icon.jpg (content/defaultthemes/1.icon.jpg)
content/browser/defaultthemes/1.preview.jpg (content/defaultthemes/1.preview.jpg)
- content/browser/defaultthemes/2.footer.jpg (content/defaultthemes/2.footer.jpg)
diff --git a/browser/components/build/nsModule.cpp b/browser/components/build/nsModule.cpp
--- a/browser/components/build/nsModule.cpp
+++ b/browser/components/build/nsModule.cpp
@@ -1895,25 +1895,25 @@
diff --git a/browser/installer/package-manifest.in b/browser/installer/package-manifest.in
--- a/browser/installer/package-manifest.in
+++ b/browser/installer/package-manifest.in
-@@ -698,19 +698,21 @@
- @BINPATH@/defaults/autoconfig/prefcalls.js
- @BINPATH@/browser/defaults/profile/prefs.js
+@@ -689,19 +689,21 @@
+ @RESPATH@/defaults/autoconfig/prefcalls.js
+ @RESPATH@/browser/defaults/profile/prefs.js
#ifndef LIBXUL_SDK
; Warning: changing the path to channel-prefs.js can cause bugs (Bug 756325)
; Technically this is an app pref file, but we are keeping it in the original
; gre location for now.
- @BINPATH@/defaults/pref/channel-prefs.js
+ @RESPATH@/defaults/pref/channel-prefs.js
+@BINPATH@/defaults/pref/kde.js
#else
; For Fx-on-xr, channel-prefs lives with the app preferences. (Bug 762588)
- @BINPATH@/@PREF_DIR@/channel-prefs.js
+ @RESPATH@/@PREF_DIR@/channel-prefs.js
+@BINPATH@/@PREF_DIR@/kde.js
#endif
; Services (gre) prefs
#ifdef MOZ_SERVICES_NOTIFICATIONS
- @BINPATH@/defaults/pref/services-notifications.js
+ @RESPATH@/defaults/pref/services-notifications.js
#endif
#ifdef MOZ_SERVICES_SYNC
- @BINPATH@/defaults/pref/services-sync.js
+ @RESPATH@/defaults/pref/services-sync.js
++++++ l10n-35.0.tar.xz -> l10n-36.0.tar.xz ++++++
/work/SRC/openSUSE:Factory/MozillaFirefox/l10n-35.0.tar.xz /work/SRC/openSUSE:Factory/.MozillaFirefox.new/l10n-36.0.tar.xz differ: char 26, line 1
++++++ mozilla-kde.patch ++++++
--- /var/tmp/diff_new_pack.wTU6m6/_old 2015-02-27 11:07:15.000000000 +0100
+++ /var/tmp/diff_new_pack.wTU6m6/_new 2015-02-27 11:07:15.000000000 +0100
@@ -1,3 +1,5 @@
+# HG changeset patch
+# Parent aba9432d1fd32a118ba24e92c6b6e99ddb0b9bdc
Description: Add KDE integration to Firefox (toolkit parts)
Author: Wolfgang Rosenauer <wolfgang(a)rosenauer.org>
Author: Lubos Lunak <lunak(a)suse.com>
@@ -202,7 +204,7 @@
diff --git a/toolkit/components/downloads/nsDownloadManager.cpp b/toolkit/components/downloads/nsDownloadManager.cpp
--- a/toolkit/components/downloads/nsDownloadManager.cpp
+++ b/toolkit/components/downloads/nsDownloadManager.cpp
-@@ -44,16 +44,20 @@
+@@ -46,16 +46,20 @@
#ifdef XP_WIN
#include <shlobj.h>
#include "nsWindowsHelpers.h"
@@ -223,7 +225,7 @@
#include "AndroidBridge.h"
using namespace mozilla::widget::android;
#endif
-@@ -2712,16 +2716,25 @@ nsDownload::SetState(DownloadState aStat
+@@ -2717,16 +2721,25 @@ nsDownload::SetState(DownloadState aStat
nsCOMPtr<nsIPrefBranch> pref(do_GetService(NS_PREFSERVICE_CONTRACTID));
// Master pref to control this function.
@@ -249,7 +251,7 @@
int64_t goat = PR_Now() - mStartTime;
showTaskbarAlert = goat > alertIntervalUSec;
-@@ -2752,16 +2765,17 @@ nsDownload::SetState(DownloadState aStat
+@@ -2757,16 +2770,17 @@ nsDownload::SetState(DownloadState aStat
NS_LITERAL_STRING(DOWNLOAD_MANAGER_ALERT_ICON), title,
message, !removeWhenDone,
mPrivate ? NS_LITERAL_STRING("private") : NS_LITERAL_STRING("non-private"),
@@ -270,7 +272,7 @@
diff --git a/toolkit/content/jar.mn b/toolkit/content/jar.mn
--- a/toolkit/content/jar.mn
+++ b/toolkit/content/jar.mn
-@@ -55,29 +55,33 @@ toolkit.jar:
+@@ -57,29 +57,33 @@ toolkit.jar:
content/global/viewZoomOverlay.js (viewZoomOverlay.js)
*+ content/global/bindings/autocomplete.xml (widgets/autocomplete.xml)
content/global/bindings/browser.xml (widgets/browser.xml)
@@ -768,7 +770,7 @@
new file mode 100644
--- /dev/null
+++ b/toolkit/content/widgets/preferences-kde.xml
-@@ -0,0 +1,1343 @@
+@@ -0,0 +1,1350 @@
+<?xml version="1.0"?>
+
+<!DOCTYPE bindings [
@@ -903,8 +905,12 @@
+ // In non-instant apply mode, we must try and use the last saved state
+ // from any previous opens of a child dialog instead of the value from
+ // preferences, to pick up any edits a user may have made.
++
++ var secMan = Components.classes["@mozilla.org/scriptsecuritymanager;1"]
++ .getService(Components.interfaces.nsIScriptSecurityManager);
+ if (this.preferences.type == "child" &&
-+ !this.instantApply && window.opener) {
++ !this.instantApply && window.opener &&
++ secMan.isSystemPrincipal(window.opener.document.nodePrincipal)) {
+ var pdoc = window.opener.document;
+
+ // Try to find a preference element for the same preference.
@@ -1824,7 +1830,10 @@
+ return false;
+ }
+
-+ if (this.type == "child" && window.opener) {
++ var secMan = Components.classes["@mozilla.org/scriptsecuritymanager;1"]
++ .getService(Components.interfaces.nsIScriptSecurityManager);
++ if (this.type == "child" && window.opener &&
++ secMan.isSystemPrincipal(window.opener.document.nodePrincipal)) {
+ var psvc = Components.classes["@mozilla.org/preferences-service;1"]
+ .getService(Components.interfaces.nsIPrefBranch);
+ var instantApply = psvc.getBoolPref("browser.preferences.instantApply");
@@ -2650,11 +2659,11 @@
'android/nsExternalSharingAppService.cpp',
'android/nsExternalURLHandlerService.cpp',
'android/nsMIMEInfoAndroid.cpp',
-@@ -121,16 +123,17 @@ include('/ipc/chromium/chromium-config.m
+@@ -123,16 +125,17 @@ include('/ipc/chromium/chromium-config.m
+
FINAL_LIBRARY = 'xul'
LOCAL_INCLUDES += [
- '/content/base/src',
'/dom/base',
'/dom/ipc',
'/netwerk/base/src',
@@ -2895,8 +2904,8 @@
diff --git a/uriloader/exthandler/unix/nsMIMEInfoUnix.cpp b/uriloader/exthandler/unix/nsMIMEInfoUnix.cpp
--- a/uriloader/exthandler/unix/nsMIMEInfoUnix.cpp
+++ b/uriloader/exthandler/unix/nsMIMEInfoUnix.cpp
-@@ -10,30 +10,33 @@
- #include <QString>
+@@ -7,33 +7,36 @@
+ #ifdef MOZ_WIDGET_QT
#if (MOZ_ENABLE_CONTENTACTION)
#include <contentaction/contentaction.h>
#include "nsContentHandlerApp.h"
@@ -2914,6 +2923,9 @@
#ifdef MOZ_ENABLE_DBUS
#include "nsDBusHandlerApp.h"
#endif
+ #ifdef MOZ_WIDGET_QT
+ #include "nsMIMEInfoQt.h"
+ #endif
+#if defined(XP_UNIX) && !defined(XP_MACOSX)
+#include "nsKDEUtils.h"
+#endif
@@ -2926,12 +2938,12 @@
#ifdef MOZ_WIDGET_QT
if (NS_FAILED(rv)) {
- nsAutoCString spec;
- aURI->GetAsciiSpec(spec);
- if (QDesktopServices::openUrl(QUrl(spec.get()))) {
- rv = NS_OK;
- }
-@@ -50,24 +53,24 @@ nsMIMEInfoUnix::GetHasDefaultHandler(boo
+ rv = nsMIMEInfoQt::LoadUriInternal(aURI);
+ }
+ #endif
+
+ return rv;
+@@ -46,24 +49,24 @@ nsMIMEInfoUnix::GetHasDefaultHandler(boo
// either /etc/mailcap or ${HOME}/.mailcap, in which case we don't want to
// give the GNOME answer.
if (mDefaultApplication)
@@ -2959,7 +2971,7 @@
if (*_retval)
return NS_OK;
-@@ -102,16 +105,33 @@ nsMIMEInfoUnix::LaunchDefaultWithFile(ns
+@@ -98,16 +101,33 @@ nsMIMEInfoUnix::LaunchDefaultWithFile(ns
ContentAction::Action::defaultActionForFile(uri, QString(mSchemeOrType.get()));
if (action.isValid()) {
action.trigger();
@@ -2993,7 +3005,7 @@
nsCOMPtr<nsIIOService> ioservice = do_GetService(NS_IOSERVICE_CONTRACTID, &rv);
NS_ENSURE_SUCCESS(rv, rv);
nsCOMPtr<nsIURI> uri;
-@@ -129,17 +149,17 @@ nsMIMEInfoUnix::LaunchDefaultWithFile(ns
+@@ -125,17 +145,17 @@ nsMIMEInfoUnix::LaunchDefaultWithFile(ns
/* Fallback to GnomeVFS */
nsCOMPtr<nsIGnomeVFSMimeApp> app;
if (NS_SUCCEEDED(gnomevfs->GetAppForMimeType(mSchemeOrType, getter_AddRefs(app))) && app)
@@ -3104,24 +3116,24 @@
diff --git a/widget/gtk/moz.build b/widget/gtk/moz.build
--- a/widget/gtk/moz.build
+++ b/widget/gtk/moz.build
-@@ -81,16 +81,17 @@ include('/ipc/chromium/chromium-config.m
+@@ -79,16 +79,17 @@ else:
+ include('/ipc/chromium/chromium-config.mozbuild')
+
FINAL_LIBRARY = 'xul'
LOCAL_INCLUDES += [
- '../shared',
- '../xpwidgets',
'/layout/generic',
'/layout/xul',
'/other-licenses/atk-1.0',
-+ '/toolkit/xre'
++ '/toolkit/xre',
+ '/widget',
]
if CONFIG['MOZ_X11']:
LOCAL_INCLUDES += [
- '../shared/x11',
+ '/widget/x11',
]
- DEFINES['CAIRO_GFX'] = True
diff --git a/widget/gtk/nsFilePicker.cpp b/widget/gtk/nsFilePicker.cpp
--- a/widget/gtk/nsFilePicker.cpp
+++ b/widget/gtk/nsFilePicker.cpp
@@ -3626,7 +3638,7 @@
diff --git a/xpcom/io/nsLocalFileUnix.cpp b/xpcom/io/nsLocalFileUnix.cpp
--- a/xpcom/io/nsLocalFileUnix.cpp
+++ b/xpcom/io/nsLocalFileUnix.cpp
-@@ -44,16 +44,17 @@
+@@ -45,16 +45,17 @@
#include "nsIDirectoryEnumerator.h"
#include "nsISimpleEnumerator.h"
#include "private/pprio.h"
++++++ mozilla-shared-nss-db.patch ++++++
--- /var/tmp/diff_new_pack.wTU6m6/_old 2015-02-27 11:07:15.000000000 +0100
+++ /var/tmp/diff_new_pack.wTU6m6/_new 2015-02-27 11:07:15.000000000 +0100
@@ -7,7 +7,7 @@
diff --git a/configure.in b/configure.in
--- a/configure.in
+++ b/configure.in
-@@ -8302,16 +8302,31 @@ if test "$MOZ_ENABLE_SKIA"; then
+@@ -8268,16 +8268,31 @@ if test "$MOZ_ENABLE_SKIA"; then
MOZ_ENABLE_SKIA_GPU=1
AC_DEFINE(USE_SKIA_GPU)
AC_SUBST(MOZ_ENABLE_SKIA_GPU)
@@ -42,26 +42,26 @@
diff --git a/security/manager/ssl/src/moz.build b/security/manager/ssl/src/moz.build
--- a/security/manager/ssl/src/moz.build
+++ b/security/manager/ssl/src/moz.build
-@@ -95,16 +95,19 @@ FAIL_ON_WARNINGS = True
-
- FINAL_LIBRARY = 'xul'
+@@ -77,16 +77,19 @@ SOURCES += [
+ 'nsNSSVersion.cpp',
+ 'PSMContentListener.cpp',
+ ]
LOCAL_INCLUDES += [
- '../../../certverifier',
- '../../../pkix/include',
+ '/security/manager/boot/src',
]
+CXXFLAGS += sorted(CONFIG['NSSHELPER_CFLAGS'])
+OS_LIBS += sorted(CONFIG['NSSHELPER_LIBS'])
+
- if CONFIG['NSS_DISABLE_DBM']:
- DEFINES['NSS_DISABLE_DBM'] = '1'
-
- DEFINES['SSL_DISABLE_DEPRECATED_CIPHER_SUITE_NAMES'] = 'True'
- DEFINES['NSS_ENABLE_ECC'] = 'True'
- for var in ('DLL_PREFIX', 'DLL_SUFFIX'):
- DEFINES[var] = '"%s"' % CONFIG[var]
+ if not CONFIG['MOZ_NO_SMART_CARDS']:
+ UNIFIED_SOURCES += [
+ 'nsSmartCardMonitor.cpp',
+ ]
+ if CONFIG['MOZ_XUL']:
+ UNIFIED_SOURCES += [
+ 'nsCertTree.cpp',
diff --git a/security/manager/ssl/src/nsNSSComponent.cpp b/security/manager/ssl/src/nsNSSComponent.cpp
--- a/security/manager/ssl/src/nsNSSComponent.cpp
+++ b/security/manager/ssl/src/nsNSSComponent.cpp
@@ -87,7 +87,7 @@
#include "nsCertVerificationThread.h"
#include "nsAppDirectoryServiceDefs.h"
#include "nsComponentManagerUtils.h"
-@@ -945,17 +952,31 @@ nsNSSComponent::InitializeNSS()
+@@ -986,17 +993,31 @@ nsNSSComponent::InitializeNSS()
if (NS_FAILED(rv)) {
nsPSMInitPanic::SetPanic();
return NS_ERROR_NOT_AVAILABLE;
@@ -123,7 +123,7 @@
diff --git a/toolkit/library/moz.build b/toolkit/library/moz.build
--- a/toolkit/library/moz.build
+++ b/toolkit/library/moz.build
-@@ -213,16 +213,18 @@ if CONFIG['MOZ_B2G_CAMERA']:
+@@ -208,16 +208,18 @@ if CONFIG['MOZ_B2G_CAMERA']:
'stagefright_omx',
]
++++++ source-stamp.txt ++++++
--- /var/tmp/diff_new_pack.wTU6m6/_old 2015-02-27 11:07:15.000000000 +0100
+++ /var/tmp/diff_new_pack.wTU6m6/_new 2015-02-27 11:07:15.000000000 +0100
@@ -1,2 +1,2 @@
-REV=32e36869f84a
+REV=59eefd8af5d7
REPO=http://hg.mozilla.org/releases/mozilla-release
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package lensfun for openSUSE:Factory checked in at 2015-02-27 11:06:54
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/lensfun (Old)
and /work/SRC/openSUSE:Factory/.lensfun.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "lensfun"
Changes:
--------
--- /work/SRC/openSUSE:Factory/lensfun/lensfun.changes 2014-06-18 07:50:10.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.lensfun.new/lensfun.changes 2015-02-27 11:06:55.000000000 +0100
@@ -1,0 +2,286 @@
+Tue Feb 24 12:59:35 UTC 2015 - adrian(a)suse.de
+
+- update to version 0.3.0
+ * Streamlined the names of Nikkor, Tamron, Tokina, Panasonic, Leica, Olympus,
+ Sony, and Sigma lenses so that auto-detection works better
+ * Fixed names of Sony Coolpix cameras
+ * Comprehensive update of Lensfun's documentation
+ * Lens lists may now be sorted by focal length
+ * The <cropfactor> tag is now mandatory for <camera> and <lens> in the database files
+ * Increased accuracy because APS-C is not anymore assumed to have the crop
+ factor 1.5 (non-Canon) or 1.6 (Canon), but the accurate crop factor of the
+ respective camera
+ * Added command line tool "update-lensfun-data" for updating the database
+ * Added command line tool "lensfun-add-adapter" for managing mount compatibilities
+ * Removed compatibility of Four Third on Micro Four Third
+ * Removed compatibility of Sony Alpha on Sony E
+ * Many bugfixes, especially for the case if sensor sizes of calibration and
+ image to-be-corrected are different
+ * MaxAperture is now the maximal f-stop number one can set on the given lens
+ * Removed non-working implementation of CCI
+ * Made primary keys of the database tables explicit and documented
+ * Replaced field-of-view data with real-focal-length data; marked the FOV API
+ deprecated
+ * Higher accuracy for fisheye <--> rectinilear transformation for lenses with
+ real focal length data
+ * The field-of-view distortion model (FOV1) was removed because it is
+ inherently flawed
+ * Simplified method for finding the database directories; see documentation
+ * Removed old non-CMake build system
+ * Added new cameras
+
+ New interchangeable lenses:
+
+ * Canon EF-S 15-85mm f/3.5-5.6 IS USM
+ * Canon EF 16-35mm f/2.8L II USM
+ * Canon EF-S 18-55mm f/3.5-5.6 IS
+ * Canon EF-M 18-55mm f/3.5-5.6 IS STM
+ * Canon EF-S 18-135mm f/3.5-5.6 IS STM
+ * Canon EF-S 18-200mm f/3.5-5.6 IS
+ * Canon EF-M 22mm f/2 STM
+ * Canon EF 24-70mm f/2.8L II USM
+ * Canon EF 28-80mm f/3.5-5.6 USM IV
+ * Canon EF 50mm f/1.8 MkII
+ * Canon EF 50-200mm f/3.5-4.5L
+ * Canon EF-S 55-250mm f/4-5.6 IS
+ * Canon EF 70-300mm f/4-5.6L IS USM
+ * Cosina Cosinon-S 50mm 1:2
+ * KMZ MC MTO 11CA mirror tele
+ * Leica DG Macro-Elmarit 45mm f/2.8
+ * Mitakon wide MC f=24mm 1:2.8
+ * 1 Nikkor AW 11-27.5mm f/3.5-5.6
+ * Nikkor AI-S 6mm f/2.8 Fisheye
+ * Nikkor AF-S 18-140mm f/3.5-5.6G DX ED VR
+ * Nikkor AF-S 18-200mm f/3.5-5.6G DX VR IF-ED
+ * Nikkor AF-S 24-85 mm f/3.5-4.5G ED VR
+ * Nikkor AI-S 50mm f/1.2
+ * Nikkor AF-S 50mm f/1.8G
+ * Nikkor AF-S 55-300mm f/4.5-5.6G DX ED VR
+ * Nikkor AF-S 70-200mm f/4G VR IF-ED
+ * Nikkor AF-S 70-300mm f/4.5-5.6G VR IF-ED
+ * Nikkor AF-S VR 105mm f/2.8G IF-ED
+ * Nikkor AF-S 600mm f/4G ED VR
+ * Nikkor AF-S 800mm f/5.6E FL ED VR
+ * Fujian 35mm f/1.7
+ * Fujifilm XC 16-50mm f/3.5-5.6 OIS
+ * Fujifilm XF 18mm f/2 R
+ * Fujifilm XF 18-55mm f/2.8-4 R LM OIS
+ * Fujifilm XF 27mm f/2.8
+ * Fujifilm XF 35mm f/1.4 R
+ * Fujifilm XC 50-230mm f/4.5-6.7 OIS
+ * Fujifilm XF 55-200mm f/3.5-4.8 R LM OIS
+ * Olympus M.9-18mm f/4.0-5.6
+ * Olympus Zuiko Digital ED 12-60mm f/2.8-4.0 SWD
+ * Olympus M.Zuiko Digital 25mm f/1.8
+ * Olympus M.40-150mm f/4.0-5.6 R
+ * Olympus M.Zuiko Digital ED 75mm f/1.8
+ * Olympus M.Zuiko Digital 75-300mm f/4.8-6.7 II
+ * Panasonic Lumix G Vario 7-14mm f/4.0
+ * Panasonic Lumix G Vario 12-35mm f/2.8
+ * Panasonic Lumix G Vario 14-42mm f/3.5-5.6 II
+ * Panasonic Lumix G Vario 14-45mm f/3.5-5.6 Asph. Mega OIS
+ * Panasonic Lumix G 20mm f/1.7 II
+ * Panasonic Lumix G Vario 35-100mm f/2.8
+ * Panasonic Lumix G Vario 45-150mm f/4.0-5.6
+ * Panasonic Lumix G Vario PZ 45-175mm f/4.0-5.6
+ * Pentacon 50mm f/1.8 auto multi coating
+ * Pentax-DA Fish-Eye 10-17mm f/3.5-4.5 ED IF
+ * Pentax-FA 28mm f/2.8 AL
+ * Pentax-M 28mm 1:3.5
+ * Pentax-FA 31mm F1.8 AL Limited
+ * Pentax-M 35mm 1:2
+ * Pentax-A 50mm f/1.7
+ * Pentax-DA L 55-300mm f/4-5.8 ED
+ * Ricoh XR Rikenon 1:1.4 50mm
+ * Samyang 8mm f/3.5 Fish-Eye CS
+ * Samyang T-S 24mm f/3.5 ED AS UMC
+ * Samsung NX 16-50mm f/3.5-5.6 PZ ED OIS
+ * Samsung Zoom 18-55mm f/3.5-5.6 OIS
+ * Samsung NX 20mm f/2.8 Pancake
+ * Samsung NX 45mm f/1.8 2D/3D
+ * Samyang 12mm f/2.0 NCS CS
+ * Samyang 35mm f/1.4 AS UMC
+ * Samyang 50mm f/1.4 AS UMC (APS-C only)
+ * Sigma 10mm f/2.8 EX DC Fisheye HSM
+ * Sigma 18-35mm f/1.8 DC HSM
+ * Sigma 18-250mm f/3.5-6.3 DC OS MACRO HSM
+ * Sigma 24-70mm f/2.8 IF EX DG HSM
+ * Sigma 24-105mm f/4.0 DG OS HSM [A]
+ * Sigma 17-70mm f/2.8-4 DC Macro OS HSM
+ * Sigma 19mm f/2.8 DN
+ * Sigma 19mm f/2.8 EX DN
+ * Sigma 30mm f/2.8 EX DN
+ * Sigma 50mm f/1.4 DG HSM [A]
+ * Sigma 50-150mm f/2.8 APO EX DC HSM II
+ * Sigma 60mm f/2.8 DN
+ * Sigma 70-200mm f/2.8 EX DG APO OS HSM
+ * Sigma 70-200mm f/2.8 EX DG Macro HSM II
+ * Sigma 80-400mm f/4.5-5.6 EX DG OS
+ * Sigma 100-300mm f/4 APO EX DG HSM
+ * Sigma 105mm f/2.8 EX DG OS HSM Macro
+ * Sigma 180mm f/2.8 EX DG OS HSM APO Macro
+ * Sigma 180mm f/5.6 APO Macro
+ * Sony E 10-18mm f/4 OSS
+ * Sony E 16-70mm f/4 ZA OSS
+ * Sony E PZ 18-105mm f/4 G OSS
+ * Sony DT 18-135mm f/3.5-5.6 SAM
+ * Sony AF DT 35mm f/1.8 SAM
+ * Sony AF DT 50mm f/1.8 SAM
+ * Sony DT 55-300mm f/4.5-5.6 SAM
+ * Tamron SP AF 11-18mm f/4.5-5.6 Di-II LD Aspherical (IF)
+ * Tamron 16-300mm f/3.5-6.3 Di II VC PZD
+ * Tamron 18-200mm f/3.5-6.3 XR Di II LD
+ * Tokina AF 12-28mm f/4 AT-X Pro DX
+ * Tokina AF 16-28mm f/2.8 AT-X Pro SD FX
+ * Tokina 500mm f/8 RMC Mirror Lens
+ * Vivitar 100mm f/3.5 AF Macro
+ * Carl Zeiss Distagon T* 2,8/21 ZE
+ * Carl Zeiss Distagon T* 2,8/21 ZF.2
+ * Zeiss E 32mm f/1.8
+
+ New compact cameras:
+
+ * Canon PowerShot A640
+ * Canon PowerShot A720
+ * Canon PowerShot IXUS 70
+ * Canon PowerShot S90
+ * Canon PowerShot S120
+ * Canon PowerShot SX220 HS
+ * Canon PowerShot SX230 HS
+ * Canon PowerShot SX260 HS
+ * Fujifilm FinePix F770EXR
+ * Fujifilm FinePix HS20EXR
+ * Fujifilm FineFix S5600
+ * Fujifilm X20
+ * GoPro Hero HD2
+ * Kodak CX6330
+ * Nikon Coolpix S3300
+ * Nokia Lumia 1020
+ * Olympus Stylus 1
+ * Panasonic Lumix DMC-LX7
+ * Panasonic Lumix DMC-FZ200
+ * Sony DSC-HX300
+ * Sony RX100 II
+ * Sony RX100 III
+
+ Additional/updated data for:
+
+ * Canon EF-S 18-55mm f/3.5-5.6 IS II
+ * Canon EF 24-70mm f/2.8L II USM
+ * Canon EF 24-105mm f/4L IS USM
+ * Canon EF 50mm f/1.8 MkII
+ * Canon EF 50-200mm f/3.5-4.5L
+ * Canon EF 70-200mm f/2.8L IS II USM
+ * Canon EF 70-200mm f/4L IS USM
+ * Canon EF 85mm f/1.8 USM
+ * Canon EF 100mm f/2.8L Macro IS USM
+ * Nikkor AF-S 10-24mm f/3.5-4.5G DX ED
+ * Nikkor AF-S 16-85mm f/3.5-5.6G DX ED VR
+ * Nikkor AF-S 18-55mm f/3.5-5.6G DX VR
+ * Nikkor AF-S 18-105mm f/3.5-5.6G DX ED VR
+ * Nikkor AF-S 18-200mm f/3.5-5.6G DX VR IF-ED II
+ * Nikkor AF 20mm f/2.8D
+ * Nikkor AF-S 35mm f/1.8G DX
+ * Nikkor AF-S 50mm f/1.4G
+ * Nikkor AF-S 55-300mm f/4.5-5.6G DX ED VR
+ * Olympus M.Zuiko Digital ED 14-42mm f/3.5-5.6 L
+ * Olympus M.Zuiko Digital 17mm f/1.8
+ * Panasonic Lumix G Vario 45-200mm f/4.0-5.6 Mega OIS
+ * Pentax 01 Standard Prime 8.5 mm f/1.9 AL [IF]
+ * Pentax-DA* 16-50mm f/2.8 ED AL IF SDM
+ * Pentax-DA* 50-135mm f/2.8 ED IF SDM
+ * Pentax-D FA Macro 100mm f/2.8 WR
+ * Samyang 8mm f/2.8 Fisheye
+ * Sigma 8-16mm F4.5-5.6 DC HSM
+ * Sigma 10-20mm f/3.5 EX DC HSM
+ * Sigma 10-20mm f/4-5.6 EX DC HSM
+ * Sigma 15-30mm f/3.5-4.5 EX DG Aspherical
++++ 89 more lines (skipped)
++++ between /work/SRC/openSUSE:Factory/lensfun/lensfun.changes
++++ and /work/SRC/openSUSE:Factory/.lensfun.new/lensfun.changes
Old:
----
lensfun-0.2.8.tar.bz2
New:
----
lensfun-0.3.0.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ lensfun.spec ++++++
--- /var/tmp/diff_new_pack.oc0UC5/_old 2015-02-27 11:06:56.000000000 +0100
+++ /var/tmp/diff_new_pack.oc0UC5/_new 2015-02-27 11:06:56.000000000 +0100
@@ -1,7 +1,7 @@
#
# spec file for package lensfun
#
-# Copyright (c) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2015 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,7 +17,7 @@
Name: lensfun
-Version: 0.2.8
+Version: 0.3.0
Release: 0
Summary: A photographic lens database and a library for accessing it
License: LGPL-3.0
@@ -34,7 +34,8 @@
BuildRequires: gcc-c++
BuildRequires: libpng-devel
BuildRequires: pkg-config
-BuildRequires: python
+BuildRequires: python3
+BuildRequires: python3-docutils
BuildRequires: zlib
BuildRequires: pkgconfig(glib-2.0)
BuildRoot: %{_tmppath}/%{name}-%{version}-build
@@ -142,8 +143,10 @@
%install
cd cmake_build
make AUTODEP=0 DESTDIR=%{?buildroot:%{buildroot}} install
-# too generic name
-rm %{buildroot}%{_bindir}/example
+# fix man path
+mv %{buildroot}/usr/man %{buildroot}%{_mandir}
+# drop test cases, we should run them here instead
+rm -rf %{buildroot}/usr/share/lensfun/tests
%fdupes %{buildroot}
@@ -171,10 +174,14 @@
%files devel
%defattr(-,root,root)
-%{_bindir}/tfun
-%{_bindir}/trwxml
%{_includedir}/lensfun
%{_libdir}/*.so
%{_libdir}/pkgconfig/lensfun.pc
+%{_bindir}/g-lensfun-update-data
+%{_bindir}/lensfun-add-adapter
+%{_bindir}/lensfun-update-data
+%{_mandir}/man?/g-lensfun-update-data.*
+%{_mandir}/man?/lensfun-add-adapter.*
+%{_mandir}/man?/lensfun-update-data.*
%changelog
++++++ lensfun-0.2.8.tar.bz2 -> lensfun-0.3.0.tar.bz2 ++++++
++++ 40511 lines of diff (skipped)
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package tigervnc for openSUSE:Factory checked in at 2015-02-27 11:06:46
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/tigervnc (Old)
and /work/SRC/openSUSE:Factory/.tigervnc.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "tigervnc"
Changes:
--------
--- /work/SRC/openSUSE:Factory/tigervnc/tigervnc.changes 2015-01-15 15:58:12.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.tigervnc.new/tigervnc.changes 2015-02-27 11:06:48.000000000 +0100
@@ -1,0 +2,14 @@
+Tue Feb 24 13:00:22 UTC 2015 - msrb(a)suse.com
+
+- Fix build against X server 1.17.x.
+ * u_tigervnc-build-with-xserver-1.17.patch
+
+-------------------------------------------------------------------
+Thu Feb 5 13:39:04 UTC 2015 - msrb(a)suse.com
+
+- Use xserver sources from xorg-x11-server-source.
+- Drop no longer needed patches:
+ * N_xorg-server-xdmcp.patch
+ * n_tigervnc-dont-build-gtf.patch
+
+-------------------------------------------------------------------
Old:
----
N_xorg-server-xdmcp.patch
n_tigervnc-dont-build-gtf.patch
xorg-server-1.16.1.tar.bz2
New:
----
u_tigervnc-build-with-xserver-1.17.patch
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ tigervnc.spec ++++++
--- /var/tmp/diff_new_pack.iHXHx0/_old 2015-02-27 11:06:49.000000000 +0100
+++ /var/tmp/diff_new_pack.iHXHx0/_new 2015-02-27 11:06:49.000000000 +0100
@@ -36,6 +36,7 @@
BuildRequires: libtool
BuildRequires: nasm
BuildRequires: xorg-x11-server-sdk
+BuildRequires: xorg-x11-server-source
BuildRequires: pkgconfig(x11)
BuildRequires: pkgconfig(xext)
BuildRequires: pkgconfig(xproto)
@@ -91,7 +92,7 @@
License: GPL-2.0 and MIT
Group: System/X11/Servers/XF86_4
Source1: tigervnc-1.4.1.tar.gz
-Source2: xorg-server-1.16.1.tar.bz2
+Source2: index.vnc
Source3: vnc.xinetd
Source4: 10-libvnc.conf
Source5: vnc-server.firewall
@@ -99,9 +100,6 @@
Source7: vnc_inetd_httpd
Source8: vnc.reg
Source9: vncpasswd.arg
-Source10: index.vnc
-
-# Tiger vnc patches
Patch1: tigervnc-newfbsize.patch
Patch2: tigervnc-clean-pressed-key-on-exit.patch
Patch3: tigervnc-sf3495623.patch
@@ -111,10 +109,7 @@
Patch7: U_include-vencrypt-only-if-any-subtype-present.patch
Patch8: u_tigervnc-use_preferred_mode.patch
Patch9: u_tigervnc-cve-2014-8240.patch
-
-# Xserver patches
-Patch20: N_xorg-server-xdmcp.patch
-Patch21: n_tigervnc-dont-build-gtf.patch
+Patch10: u_tigervnc-build-with-xserver-1.17.patch
%description
TigerVNC is a high-performance, platform-neutral implementation of VNC (Virtual Network Computing),
@@ -133,13 +128,8 @@
This is the TigerVNC implementation of Xvnc.
%prep
-%setup -T -b1 -b2
-cp -r ../xorg-server-*/* unix/xserver/
-
-if [ -e unix/xserver/hw/xfree86/modes/xf86gtf.c -o -e unix/xserver/hw/xfree86/utils/gtf/gtf.c ]; then
- echo "Files hw/xfree86/modes/xf86gtf hw/xfree86/utils/gtf/gtf.c have to be excluded from the xserver source tar ball (bnc#85566)."
- exit 1
-fi
+%setup -T -b1
+cp -r /usr/src/xserver/* unix/xserver/
%patch1 -p1
%patch2 -p1
@@ -150,11 +140,10 @@
%patch7 -p0
%patch8 -p0
%patch9 -p1
+%patch10 -p1
pushd unix/xserver
patch -p1 < ../xserver116.patch
-%patch20 -p1
-%patch21 -p1
popd
%build
@@ -207,6 +196,7 @@
install -m755 VncViewer.jar $RPM_BUILD_ROOT%{_datadir}/vnc/classes
popd
+install -D -m 644 %{SOURCE2} $RPM_BUILD_ROOT%{_datadir}/vnc/classes
install -D -m 644 %{SOURCE3} $RPM_BUILD_ROOT/etc/xinetd.d/vnc
%ifnarch s390x
install -D -m 644 %{SOURCE4} $RPM_BUILD_ROOT/etc/X11/xorg.conf.d/10-libvnc.conf
@@ -216,7 +206,6 @@
install -D -m 755 %{SOURCE7} $RPM_BUILD_ROOT%{_bindir}/vnc_inetd_httpd
install -D -m 644 %{SOURCE8} $RPM_BUILD_ROOT/etc/slp.reg.d/vnc.reg
install -D -m 755 %{SOURCE9} $RPM_BUILD_ROOT%{_bindir}/vncpasswd.arg
-install -D -m 644 %{SOURCE10} $RPM_BUILD_ROOT%{_datadir}/vnc/classes
%if 0%{?suse_version} >= 1315
ln -s -f %{_sysconfdir}/alternatives/vncviewer $RPM_BUILD_ROOT%{_bindir}/vncviewer
ln -s -f %{_sysconfdir}/alternatives/vncviewer.1.gz $RPM_BUILD_ROOT%{_mandir}/man1/vncviewer.1.gz
++++++ u_tigervnc-build-with-xserver-1.17.patch ++++++
Author: Michal Srb <msrb(a)suse.com>
Subject: Build with xserver 1.17.x.
Do not use removed xalloc&xfree.
Add 1.17.x to supported list.
Index: tigervnc-1.4.1/unix/xserver/hw/vnc/xorg-version.h
===================================================================
--- tigervnc-1.4.1.orig/unix/xserver/hw/vnc/xorg-version.h
+++ tigervnc-1.4.1/unix/xserver/hw/vnc/xorg-version.h
@@ -48,8 +48,10 @@
#define XORG 115
#elif XORG_VERSION_CURRENT < ((1 * 10000000) + (16 * 100000) + (99 * 1000))
#define XORG 116
+#elif XORG_VERSION_CURRENT < ((1 * 10000000) + (17 * 100000) + (99 * 1000))
+#define XORG 117
#else
-#error "X.Org newer than 1.16 is not supported"
+#error "X.Org newer than 1.17 is not supported"
#endif
#endif
Index: tigervnc-1.4.1/unix/xserver/hw/vnc/xvnc.cc
===================================================================
--- tigervnc-1.4.1.orig/unix/xserver/hw/vnc/xvnc.cc
+++ tigervnc-1.4.1/unix/xserver/hw/vnc/xvnc.cc
@@ -717,9 +717,9 @@ vfbInstallColormap(ColormapPtr pmap)
entries = pmap->pVisual->ColormapEntries;
pVisual = pmap->pVisual;
- ppix = (Pixel *)xalloc(entries * sizeof(Pixel));
- prgb = (xrgb *)xalloc(entries * sizeof(xrgb));
- defs = (xColorItem *)xalloc(entries * sizeof(xColorItem));
+ ppix = (Pixel *)malloc(entries * sizeof(Pixel));
+ prgb = (xrgb *)malloc(entries * sizeof(xrgb));
+ defs = (xColorItem *)malloc(entries * sizeof(xColorItem));
for (i = 0; i < entries; i++) ppix[i] = i;
/* XXX truecolor */
@@ -738,9 +738,9 @@ vfbInstallColormap(ColormapPtr pmap)
}
(*pmap->pScreen->StoreColors)(pmap, entries, defs);
- xfree(ppix);
- xfree(prgb);
- xfree(defs);
+ free(ppix);
+ free(prgb);
+ free(defs);
}
}
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package choqok for openSUSE:Factory checked in at 2015-02-27 11:06:41
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/choqok (Old)
and /work/SRC/openSUSE:Factory/.choqok.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "choqok"
Changes:
--------
--- /work/SRC/openSUSE:Factory/choqok/choqok.changes 2014-12-16 14:46:47.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.choqok.new/choqok.changes 2015-02-27 11:06:42.000000000 +0100
@@ -1,0 +2,20 @@
+Tue Feb 24 08:45:35 UTC 2015 - buschmann23(a)opensuse.org
+
+- Update to 1.5:
+ *Yourls plugin fixed. (by Benjamin Marwell) [BUG:265219]
+ * Pump.io plugin added. (by Andrea Scarpino) [BUG:319348]
+ * Preview of images posted via Twitter.com added. (by Daniel Kreuter) [BUG:299433]
+ * Option to disable system tray. (by Andrea Scarpino) [BUG:241152]
+ * Twitter friend list update fixed. [BUG:325071]
+ * Add "Report User" to User menu Actions (by Ahmed I. Khalil)
+ * Get custom char limit for the Status.net accounts. (by Andrea Scarpino) [BUG:283298]
+ * Goo.gl shortner plugin fixed. (by Andrea Scarpino) [BUG:338917]
+ * New plugin for expanding tiny URLs. (by Andrea Scarpino) [BUG:294600]
+ * KDE Telepathy support in IMStatus Plugin (by Ahmed I. Khalil) [BUG:301702]
+ * Broken shortening plugins removed
+- removed patches that have been integrated upstream
+ * choqok-1.4-twitter-favorities-fix.patch
+ * choqok-1.4-plugin-yourls-fix.patch
+- added libattical devel to the BuildRequires
+
+-------------------------------------------------------------------
Old:
----
choqok-1.4-plugin-yourls-fix.patch
choqok-1.4-twitter-favorities-fix.patch
choqok-1.4.tar.xz
New:
----
choqok-1.5.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ choqok.spec ++++++
--- /var/tmp/diff_new_pack.kpvHIq/_old 2015-02-27 11:06:43.000000000 +0100
+++ /var/tmp/diff_new_pack.kpvHIq/_new 2015-02-27 11:06:43.000000000 +0100
@@ -1,7 +1,7 @@
#
# spec file for package choqok
#
-# Copyright (c) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2015 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,19 +17,15 @@
Name: choqok
-Version: 1.4
+Version: 1.5
Release: 0
Summary: Micro-Blogging Client for KDE
License: GPL-3.0
Group: Productivity/Networking/Other
Url: http://choqok.gnufolks.org
Source: http://downloads.sourceforge.net/project/choqok/Choqok/%{name}-%{version}.t…
-### TODO: Drop patch 0-1 with next choqok relese ( > 1.4)
-# PATCH-FIX-UPSTREAM -- Fixed creating / destroying of twitter favorite tweets.
-Patch0: choqok-1.4-twitter-favorities-fix.patch
-# PATCH-FIX-UPSTREAM -- Fix for yourls shortener plugin
-Patch1: choqok-1.4-plugin-yourls-fix.patch
BuildRequires: fdupes
+BuildRequires: libattica-devel
BuildRequires: libkde4-devel
BuildRequires: libqca2-devel
BuildRequires: libqjson-devel
@@ -54,8 +50,6 @@
%prep
%setup -q
-%patch0 -p1
-%patch1 -p1
%build
%cmake_kde4 -d build
@@ -100,7 +94,6 @@
%config %{_kde4_configkcfgdir}/tinyarro_ws_settings.kcfg
%config %{_kde4_configkcfgdir}/twitgoosettings.kcfg
%config %{_kde4_configkcfgdir}/twitpicsettings.kcfg
-%config %{_kde4_configkcfgdir}/untinysettings.kcfg
%config %{_kde4_configkcfgdir}/yourlssettings.kcfg
%{_kde4_htmldir}/*
%{_kde4_iconsdir}/hicolor/*/apps/*
@@ -113,6 +106,10 @@
%{_kde4_servicesdir}/ServiceMenus/choqok*
%{_kde4_servicesdir}/choqok*
%{_kde4_servicetypesdir}/choqok*
+%if 0%{suse_version} < 1320
+%dir %{_datadir}/appdata
+%endif
+%{_datadir}/appdata/choqok.appdata.xml
%files devel
%defattr(-,root,root)
++++++ choqok-1.4.tar.xz -> choqok-1.5.tar.xz ++++++
++++ 85460 lines of diff (skipped)
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package quilt for openSUSE:Factory checked in at 2015-02-27 11:06:35
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/quilt (Old)
and /work/SRC/openSUSE:Factory/.quilt.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "quilt"
Changes:
--------
--- /work/SRC/openSUSE:Factory/quilt/quilt.changes 2015-02-13 08:34:00.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.quilt.new/quilt.changes 2015-02-27 11:06:36.000000000 +0100
@@ -1,0 +2,61 @@
+Mon Feb 16 17:22:51 CET 2015 - jdelvare(a)suse.de
+
+Translation fixes:
+- translation-fixes-01.patch: Make gettext happy (needed so that
+ following patches apply cleanly.)
+- translation-fixes-02.patch: Missing escape in Japanese
+ translation.
+- translation-fixes-03.patch: Improve the German translation
+ (including a number of important fixes.)
+- translation-fixes-04.patch: Fix translation of main usage message
+ (all languages.)
+
+Fixes to the "edit" command:
+- edit-01-test-file-creation.patch: edit: Improve the test case
+ (needed so that following patches apply cleanly.)
+- edit-02-call-remove-not-revert.patch: edit: Use command "remove"
+ to remove files.
+- edit-03-fix-corner-case.patch: edit: Fix a corner case.
+
+-------------------------------------------------------------------
+Mon Feb 16 15:43:04 CET 2015 - jdelvare(a)suse.de
+
+- Update to version 0.64:
+ o Performance: Several optimizations
+ o Test suite: Several fixes and coverage improvements
+ o Test suite: Run the tests in predictable order
+ o files: Add support for unapplied patches
+ o graph: Check for graphviz availability
+ o mail: Remove procmail dependency
+ o push: Do not use interactive mode with -f
+ o Obsoletes dont-substitute-release.patch
+ o Obsoletes hackweek-11-01-comment-update.patch
+ o Obsoletes hackweek-11-02-cleanups.patch
+ o Obsoletes hackweek-11-03-inspect-list-all-options.patch
+ o Obsoletes hackweek-11-04-pass-through.patch
+ o Obsoletes hackweek-11-05-no-explicit-rm.patch
+ o Obsoletes hackweek-11-06-exclude-from-md5sums.patch
+ o Obsoletes hackweek-11-07-normalize-path.patch
+ o Obsoletes hackweek-11-08-inspect-split-wrapper-script.patch
+ o Obsoletes hackweek-11-09-inspect-temporary-data-file.patch
+ o Obsoletes hackweek-11-10-setup-fix-path-to-extra-patches.patch
+ o Obsoletes hackweek-11-11-setup-trace-call-first.patch
+ o Obsoletes hackweek-11-12-setup-alternative-implementation-v2.patch
+ o Obsoletes hackweek-11-13-setup-let-normalize_path-deal-with-dot.patch
+ o Obsoletes hackweek-11-14-setup-fix-link-creation.patch
+ o Obsoletes hackweek-11-15-setup-missing-escape-in-normalize_path.patch
+ o Obsoletes hackweek-11-16-setup-fix-create_symlink-corner-case.patch
+ o Obsoletes inspect-skip-version-check.patch
+ o Obsoletes pop-add-auto-refresh.patch
+ o Obsoletes push-add-auto-refresh.patch
+ o Obsoletes quilt-check-modified-series-rearm.patch
+ o Obsoletes quilt-check-modified-series.patch
+ o Obsoletes quilt-el-fix-patch-select-completion.patch
+ o Obsoletes quilt-el-fix-tramp-support.patch
+ o Obsoletes quilt-format-options-pass-through.patch
+ o Obsoletes setup-check-for-rpmbuild.patch
+ o Obsoletes setup-fix-tar-with-long-options.patch
+ o Obsoletes setup-skip-version-check.patch
+- Refresh suse-workaround-pseudo-release.patch
+
+-------------------------------------------------------------------
Old:
----
dont-substitute-release.patch
hackweek-11-01-comment-update.patch
hackweek-11-02-cleanups.patch
hackweek-11-03-inspect-list-all-options.patch
hackweek-11-04-pass-through.patch
hackweek-11-05-no-explicit-rm.patch
hackweek-11-06-exclude-from-md5sums.patch
hackweek-11-07-normalize-path.patch
hackweek-11-08-inspect-split-wrapper-script.patch
hackweek-11-09-inspect-temporary-data-file.patch
hackweek-11-10-setup-fix-path-to-extra-patches.patch
hackweek-11-11-setup-trace-call-first.patch
hackweek-11-12-setup-alternative-implementation-v2.patch
hackweek-11-13-setup-let-normalize_path-deal-with-dot.patch
hackweek-11-14-setup-fix-link-creation.patch
hackweek-11-15-setup-missing-escape-in-normalize_path.patch
hackweek-11-16-setup-fix-create_symlink-corner-case.patch
inspect-skip-version-check.patch
pop-add-auto-refresh.patch
push-add-auto-refresh.patch
quilt-0.63.tar.bz2
quilt-check-modified-series-rearm.patch
quilt-check-modified-series.patch
quilt-el-fix-patch-select-completion.patch
quilt-el-fix-tramp-support.patch
quilt-format-options-pass-through.patch
setup-check-for-rpmbuild.patch
setup-fix-tar-with-long-options.patch
setup-skip-version-check.patch
New:
----
edit-01-test-file-creation.patch
edit-02-call-remove-not-revert.patch
edit-03-fix-corner-case.patch
quilt-0.64.tar.bz2
translation-fixes-01.patch
translation-fixes-02.patch
translation-fixes-03.patch
translation-fixes-04.patch
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ quilt.spec ++++++
--- /var/tmp/diff_new_pack.hFWO7w/_old 2015-02-27 11:06:37.000000000 +0100
+++ /var/tmp/diff_new_pack.hFWO7w/_new 2015-02-27 11:06:37.000000000 +0100
@@ -17,7 +17,7 @@
Name: quilt
-Version: 0.63
+Version: 0.64
Release: 0
Summary: A Tool for Working with Many Patches
License: GPL-2.0+
@@ -43,34 +43,13 @@
Patch2: quilt-support-vimdiff.patch
Patch3: patch-wrapper-rpm.diff
Patch4: suse-workaround-pseudo-release.patch
-Patch5: setup-skip-version-check.patch
-Patch6: setup-check-for-rpmbuild.patch
-Patch7: setup-fix-tar-with-long-options.patch
-Patch8: quilt-format-options-pass-through.patch
-Patch9: pop-add-auto-refresh.patch
-Patch10: push-add-auto-refresh.patch
-Patch11: inspect-skip-version-check.patch
-Patch12: quilt-check-modified-series.patch
-Patch13: quilt-check-modified-series-rearm.patch
-Patch14: quilt-el-fix-tramp-support.patch
-Patch15: quilt-el-fix-patch-select-completion.patch
-Patch16: dont-substitute-release.patch
-Patch61: hackweek-11-01-comment-update.patch
-Patch62: hackweek-11-02-cleanups.patch
-Patch63: hackweek-11-03-inspect-list-all-options.patch
-Patch64: hackweek-11-04-pass-through.patch
-Patch65: hackweek-11-05-no-explicit-rm.patch
-Patch66: hackweek-11-06-exclude-from-md5sums.patch
-Patch67: hackweek-11-07-normalize-path.patch
-Patch68: hackweek-11-08-inspect-split-wrapper-script.patch
-Patch69: hackweek-11-09-inspect-temporary-data-file.patch
-Patch70: hackweek-11-10-setup-fix-path-to-extra-patches.patch
-Patch71: hackweek-11-11-setup-trace-call-first.patch
-Patch72: hackweek-11-12-setup-alternative-implementation-v2.patch
-Patch73: hackweek-11-13-setup-let-normalize_path-deal-with-dot.patch
-Patch74: hackweek-11-14-setup-fix-link-creation.patch
-Patch75: hackweek-11-15-setup-missing-escape-in-normalize_path.patch
-Patch76: hackweek-11-16-setup-fix-create_symlink-corner-case.patch
+Patch5: translation-fixes-01.patch
+Patch6: translation-fixes-02.patch
+Patch7: translation-fixes-03.patch
+Patch8: translation-fixes-04.patch
+Patch9: edit-01-test-file-creation.patch
+Patch10: edit-02-call-remove-not-revert.patch
+Patch11: edit-03-fix-corner-case.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-build
BuildArch: noarch
%if 0%{?suse_version}
@@ -103,27 +82,6 @@
%patch9 -p1
%patch10 -p1
%patch11 -p1
-%patch12 -p1
-%patch13 -p1
-%patch14 -p1
-%patch15 -p1
-%patch16 -p1
-%patch61 -p1
-%patch62 -p1
-%patch63 -p1
-%patch64 -p1
-%patch65 -p1
-%patch66 -p1
-%patch67 -p1
-%patch68 -p1
-%patch69 -p1
-%patch70 -p1
-%patch71 -p1
-%patch72 -p1
-%patch73 -p1
-%patch74 -p1
-%patch75 -p1
-%patch76 -p1
%build
# --with-rpmbuild=/usr/lib/rpm/rpmb:
++++++ edit-01-test-file-creation.patch ++++++
From: Jean Delvare <jdelvare(a)suse.de>
Subject: edit: Improve the test case
Upstream: Submitted (2011-02-11)
Cover one more use case of the "edit" command in the test case: file
creation.
Also reorder some of the commands to make the tests easier to follow.
The intent is easier to understand when the result is tested after
each command.
---
test/edit.test | 27 ++++++++++++++++++++++++---
1 file changed, 24 insertions(+), 3 deletions(-)
--- a/test/edit.test
+++ b/test/edit.test
@@ -1,5 +1,6 @@
$ mkdir patches subdir
+# Test the behavior if the editor modifies existing files
$ cat > editor
< #! /bin/sh
< echo Editing $1
@@ -16,15 +17,15 @@ $ quilt edit foobar
> File foobar added to patch patches/patch
> Editing foobar
+$ cat foobar
+> barbar
+
$ cd subdir
$ echo foo > foo
$ quilt edit foo
> File subdir/foo added to patch ../patches/patch
> Editing subdir/foo
-
$ cd ..
-$ cat foobar
-> barbar
$ cat subdir/foo
> bar
@@ -32,3 +33,23 @@ $ cat subdir/foo
$ quilt files
> foobar
> subdir/foo
+
+$ quilt refresh
+> Refreshed patch patches/patch
+
+# Test the behavior if the editor creates a brand new file
+$ cat > editor
+< #! /bin/sh
+< echo Creating $1
+< echo "new line" > $1
+
+$ quilt edit foo2
+> File foo2 added to patch patches/patch
+> Creating foo2
+$ cat foo2
+> new line
+
+$ quilt files -v
+> + foo2
+> foobar
+> subdir/foo
++++++ edit-02-call-remove-not-revert.patch ++++++
From: Jean Delvare <jdelvare(a)suse.de>
Subject: edit: Use command "remove" to remove files
Upstream: Submitted (2011-02-11)
Commit f1c186ee renamed command "remove" to "revert". Commit bd1dfdab
changed the semantics of command "revert". Commit 6d2501ac restored
command "remove". However command "edit" is still calling command
"revert" to remove files from the patch when it should be using
command "remove".
This case was not covered by the test suite, which is why the bug was
not spotted earlier.
---
quilt/edit.in | 2 +-
test/edit.test | 11 +++++++++++
2 files changed, 12 insertions(+), 1 deletion(-)
--- a/quilt/edit.in
+++ b/quilt/edit.in
@@ -71,7 +71,7 @@ for file in "$@"
do
if ! [ -e "$SUBDIR$file" ]
then
- quilt_command revert "$file"
+ quilt_command remove "$file"
status=1
fi
done
--- a/test/edit.test
+++ b/test/edit.test
@@ -37,6 +37,17 @@ $ quilt files
$ quilt refresh
> Refreshed patch patches/patch
+# Test the behavior if the editor is called on a new file but
+# does not actually create it
+$ cat > editor
+< #! /bin/sh
+< echo Doing nothing to $1
+
+$ quilt edit nofoo
+> File nofoo added to patch patches/patch
+> Doing nothing to nofoo
+> File nofoo removed from patch patches/patch
+
# Test the behavior if the editor creates a brand new file
$ cat > editor
< #! /bin/sh
++++++ edit-03-fix-corner-case.patch ++++++
From: Jean Delvare <jdelvare(a)suse.de>
Subject: edit: Fix a corner case
Upstream: Submitted (2011-02-11)
There is one corner case which is not properly handled by the "edit"
command. If a patch deletes a file, and the user calls "quilt edit"
on that file but does not actually add anything back to it, "quilt
remove" is called on the file when the editor exits. This causes
the file to be restored to its original state before the patch deleted
it. The user never asked for that, so the file should be left to its
deleted state in this case. The file must only be removed from the
patch if it was not part of the patch originally.
The same problem would occur if the editor deleted the file. In
general text editors don't do that, they'd leave an empty file
instead, but nothing prevents them from actually deleting the file so
we should handle this case properly too.
---
quilt/edit.in | 4 +++-
test/edit.test | 33 ++++++++++++++++++++++++++++++++-
2 files changed, 35 insertions(+), 2 deletions(-)
--- a/quilt/edit.in
+++ b/quilt/edit.in
@@ -67,9 +67,11 @@ then
fi
LANG=$ORIGINAL_LANG $EDITOR "${@/#/$SUBDIR}"
status=$?
+
+patch=$(top_patch)
for file in "$@"
do
- if ! [ -e "$SUBDIR$file" ]
+ if [ ! -e "$SUBDIR$file" -a ! -s "$QUILT_PC/$patch/$file" ]
then
quilt_command remove "$file"
status=1
--- a/test/edit.test
+++ b/test/edit.test
@@ -37,6 +37,19 @@ $ quilt files
$ quilt refresh
> Refreshed patch patches/patch
+# Test the behavior if the editor deletes a file completely
+$ echo foobaz > foobaz
+$ cat > editor
+< #! /bin/sh
+< echo Deleting $1
+< rm -f $1
+
+$ quilt edit foobaz
+> File foobaz added to patch patches/patch
+> Deleting foobaz
+
+$ [ ! -e foobaz ] || echo "File foobaz shouldn't exist"
+
# Test the behavior if the editor is called on a new file but
# does not actually create it
$ cat > editor
@@ -48,6 +61,23 @@ $ quilt edit nofoo
> Doing nothing to nofoo
> File nofoo removed from patch patches/patch
+# Test the behavior if the patch is deleting a file and the
+# user calls "quilt edit" on that file but makes no change to it
+$ rm -f foobar
+$ quilt refresh
+> Refreshed patch patches/patch
+$ quilt diff -p ab --no-index foobar
+> --- a/foobar
+> +++ /dev/null
+> @@ -1 +0,0 @@
+> -foobar
+
+$ quilt edit foobar
+> File foobar is already in patch patches/patch
+> Doing nothing to foobar
+
+$ [ ! -e foobar ] || echo "File foobar shouldn't exist"
+
# Test the behavior if the editor creates a brand new file
$ cat > editor
< #! /bin/sh
@@ -62,5 +92,6 @@ $ cat foo2
$ quilt files -v
> + foo2
-> foobar
+> - foobar
+> - foobaz
> subdir/foo
++++++ quilt-0.63.tar.bz2 -> quilt-0.64.tar.bz2 ++++++
++++ 6949 lines of diff (skipped)
++++++ suse-workaround-pseudo-release.patch ++++++
--- /var/tmp/diff_new_pack.hFWO7w/_old 2015-02-27 11:06:37.000000000 +0100
+++ /var/tmp/diff_new_pack.hFWO7w/_new 2015-02-27 11:06:37.000000000 +0100
@@ -5,23 +5,23 @@
happy again. Packages in openSUSE 11.4 and later no longer need this.
---
- quilt/scripts/inspect.in | 8 ++++++++
+ quilt/setup.in | 8 ++++++++
1 file changed, 8 insertions(+)
---- quilt-0.51.orig/quilt/scripts/inspect.in
-+++ quilt-0.51/quilt/scripts/inspect.in
-@@ -67,6 +67,14 @@ add_exit_handler "rm -rf $tmpdir"
- mkdir -p $tmpdir/build
- mkdir -p $tmpdir/bin
+--- a/quilt/setup.in
++++ b/quilt/setup.in
+@@ -230,6 +230,14 @@ inspect()
+ mkdir -p $tmpdir/build
+ fi
-+# Older versions of Suse packages have a symbolic release number, and rpmbuild
-+# won't like that, so change it to something compliant.
-+if grep -q '^Release:.*[<>]' "$specdir/$specfile"
-+then
-+ sed -e '/^Release:/s/[<>]//g' < "$specdir/$specfile" > $tmpdir/"$specfile"
-+ specdir=$tmpdir
-+fi
++ # Older versions of Suse packages have a symbolic release number, and
++ # rpmbuild won't like that, so change it to something compliant.
++ if grep -q '^Release:.*[<>]' "$specdir/$specfile"
++ then
++ sed -e '/^Release:/s/[<>]//g' < "$specdir/$specfile" > $tmpdir/"$specfile"
++ specdir=$tmpdir
++ fi
+
- # Redirect file descriptors
- # 5 is used in verbose mode, 4 in non-verbose mode, and 2 for both (real errors)
- if [ -n "$verbose" ]
+ # Redirect file descriptors
+ # 5 is used in verbose mode, 4 in non-verbose mode, and 2 for both (real errors)
+ if [ -n "$verbose" ]
++++++ translation-fixes-01.patch ++++++
From: Jean Delvare <jdelvare(a)suse.de>
Date: Tue, 10 Feb 2015 09:22:06 +0000
Subject: Make gettext happy
Upstream: Committed (cd591fb1656cf9649e92cc5f49925bbc590aae84)
---
diff --git a/po/de.po b/po/de.po
index 5686299..e8190cf 100644
--- a/po/de.po
+++ b/po/de.po
@@ -211,9 +211,9 @@ msgid ""
"R] [-P patch] [--snapshot] [--diff=utility] [--no-timestamps] [--no-index] "
"[--sort] [--color[=always|auto|never]] [file ...]\\n"
msgstr ""
-"Aufruf: quilt diff [-p n|-p ab] [-u|-U num|-c|-C num] [--combine patch|-"
-"z] [-R] [-P patch] [--snapshot] [--diff=programm] [--no-timestamps] [--no-"
-"index] [--sort] [--color[=always|auto|never]] [datei ...]\\n"
+"Aufruf: quilt diff [-p n|-p ab] [-u|-U num|-c|-C num] [--combine patch|-z] [-"
+"R] [-P patch] [--snapshot] [--diff=programm] [--no-timestamps] [--no-index] "
+"[--sort] [--color[=always|auto|never]] [datei ...]\\n"
#: quilt/diff.in:28
msgid ""
@@ -496,8 +496,8 @@ msgid ""
"Usage: quilt graph [--all] [--reduce] [--lines[=num]] [--edge-labels=files] "
"[-T ps] [patch]\\n"
msgstr ""
-"Aufruf: quilt graph [--all] [--reduce] [--lines[=num]] [--edge-"
-"labels=files] [-T ps] [patch]\\n"
+"Aufruf: quilt graph [--all] [--reduce] [--lines[=num]] [--edge-labels=files] "
+"[-T ps] [patch]\\n"
#: quilt/graph.in:26
msgid ""
@@ -746,8 +746,8 @@ msgid ""
"[--sender ...] [--from ...] [--to ...] [--cc ...] [--bcc ...] [--"
"subject ...] [--reply-to message] [first_patch [last_patch]]\\n"
msgstr ""
-"Aufruf: quilt mail {--mbox datei|--send} [-m text] [-M datei] [--prefix präfix] "
-"[--sender ...] [--from ...] [--to ...] [--cc ...] [--bcc ...] [--"
+"Aufruf: quilt mail {--mbox datei|--send} [-m text] [-M datei] [--prefix "
+"präfix] [--sender ...] [--from ...] [--to ...] [--cc ...] [--bcc ...] [--"
"subject ...] [--reply-to message] [first_patch [last_patch]]\\n"
#: quilt/mail.in:27
@@ -850,8 +850,8 @@ msgstr "Einleitungsnachricht bereits angegeben"
#: quilt/mail.in:310
msgid "Could not determine the envelope sender address. Please use --sender."
msgstr ""
-"Die Envelope-Adresse konnte nicht festgestellt werden. Bitte verwenden Sie "
-"--sender."
+"Die Envelope-Adresse konnte nicht festgestellt werden. Bitte verwenden Sie --"
+"sender."
#: quilt/mail.in:455
msgid "Unable to extract a subject header from %s\\n"
@@ -924,8 +924,8 @@ msgstr ""
msgid ""
"Cannot create patches with -p%s, please specify -p0, p1, or -pab instead\\n"
msgstr ""
-"Patches mit Level -p%s können nicht erzeugt werden, bitte stattdessen "
-"-p0, -p1 oder -pab angeben\\n"
+"Patches mit Level -p%s können nicht erzeugt werden, bitte stattdessen -p0, -"
+"p1 oder -pab angeben\\n"
#: quilt/new.in:89
msgid "QUILT_PATCHES(%s) must differ from QUILT_PC(%s)\\n"
@@ -1216,9 +1216,9 @@ msgid ""
"[--no-timestamps] [--no-index] [--diffstat] [--sort] [--backup] [--strip-"
"trailing-whitespace] [patch]\\n"
msgstr ""
-"Aufruf: quilt refresh [-p n|-p ab] [-u|-U num|-c|-C num] [-z[new_name]] "
-"[-f] [--no-timestamps] [--no-index] [--diffstat] [--sort] [--backup] [--"
-"strip-trailing-whitespace] [patch]\\n"
+"Aufruf: quilt refresh [-p n|-p ab] [-u|-U num|-c|-C num] [-z[new_name]] [-f] "
+"[--no-timestamps] [--no-index] [--diffstat] [--sort] [--backup] [--strip-"
+"trailing-whitespace] [patch]\\n"
#: quilt/refresh.in:26
msgid ""
@@ -1355,8 +1355,8 @@ msgid ""
"Cannot use --strip-trailing-whitespace on a patch that has shadowed files.\\n"
msgstr ""
"--strip-trailing-whitespace kann nicht für Patches verwendt werden, die "
-"Dateien enthalten, welche danach von anderen Patches weiter verändert "
-"werden.\\n"
+"Dateien enthalten, welche danach von anderen Patches weiter verändert werden."
+"\\n"
#: quilt/refresh.in:253 quilt/refresh.in:355
msgid "Nothing in patch %s\\n"
@@ -1526,16 +1526,16 @@ msgstr ""
#: quilt/scripts/patchfns.in:1018
msgid "You have to install '%s' (from package %s) to use 'quilt %s'\\n"
msgstr ""
-"Sie müssen '%s' (aus dem Paket %s) installieren, um 'quilt %s' nutzen zu"
-"können\\n"
+"Sie müssen '%s' (aus dem Paket %s) installieren, um 'quilt %s' nutzen "
+"zukönnen\\n"
#: quilt/scripts/patchfns.in:1138
msgid ""
"The working tree was created by an older version of quilt. Please run 'quilt "
"upgrade'.\\n"
msgstr ""
-"Das Arbeitsverzeichnis wurde von einer älteren quilt-Version erstellt. "
-"Bitte führen Sie \\`quilt upgrade' aus.\\n"
+"Das Arbeitsverzeichnis wurde von einer älteren quilt-Version erstellt. Bitte "
+"führen Sie \\`quilt upgrade' aus.\\n"
#: quilt/scripts/patchfns.in:1146
msgid ""
@@ -1647,8 +1647,7 @@ msgid ""
msgstr ""
"\n"
"Initialisiert einen Quellbaum aus einer rpm-spec-Datei oder einer quilt-\n"
-"series-Datei."
-"\n"
+"series-Datei.\n"
"-d\tOptionaler Pfadpräfix für den resultierenden Quellbaum.\n"
"\n"
"--sourcedir\n"
diff --git a/po/ja.po b/po/ja.po
index 13fb9f5..43bb657 100644
--- a/po/ja.po
+++ b/po/ja.po
@@ -1476,7 +1476,9 @@ msgstr ""
#: quilt/scripts/patchfns.in:1018
msgid "You have to install '%s' (from package %s) to use 'quilt %s'\\n"
-msgstr "'%s' (%s パッケージ) がインストールされていないと、'quilt %s' は利用できません\\n"
+msgstr ""
+"'%s' (%s パッケージ) がインストールされていないと、'quilt %s' は利用できませ"
+"ん\\n"
#: quilt/scripts/patchfns.in:1138
msgid ""
--
cgit v0.9.0.2
++++++ translation-fixes-02.patch ++++++
From: Jean Delvare <jdelvare(a)suse.de>
Date: Wed, 11 Feb 2015 16:59:15 +0000
Subject: Missing escape in Japanese translation
Upstream: Committed (0be1e8aed41a67bca7756be10051d353ec0c2c15)
The original message has the dollar sign protected, so the Japanese
translation should do the same.
---
diff --git a/po/ja.po b/po/ja.po
index 43bb657..6697b0d 100644
--- a/po/ja.po
+++ b/po/ja.po
@@ -589,7 +589,7 @@ msgstr ""
"最上位または指定されたパッチのヘッダを出力または変更する。\n"
"\n"
"-a, -r, -e\n"
-"\tパッチのヘッダに追加 (-a) またはヘッダを変更 (-r)、$EDITOR (%s)を\n"
+"\tパッチのヘッダに追加 (-a) またはヘッダを変更 (-r)、\\$EDITOR (%s)を\n"
"\t使って編集 (-e)する。オプションが指定されなかった場合はパッチの\n"
"\tヘッダを出力する。\n"
"\n"
--
cgit v0.9.0.2
++++++ translation-fixes-03.patch ++++++
From: Holger Wansing <linux(a)wansing-online.de>
Date: Wed, 11 Feb 2015 16:59:19 +0000
Subject: Improve the German translation
Upstream: Committed (cecf83188b19653b0d96781bcdaf0fd8c409599a)
---
diff --git a/po/de.po b/po/de.po
index e8190cf..379acf3 100644
--- a/po/de.po
+++ b/po/de.po
@@ -8,7 +8,7 @@
msgid ""
msgstr ""
"Project-Id-Version: quilt 0.64\n"
-"PO-Revision-Date: 2015-02-05 16:26+0100\n"
+"PO-Revision-Date: 2015-02-10 17:06+0100\n"
"Last-Translator: Holger Wansing <linux(a)wansing-online.de>\n"
"Language-Team: <debian-l10n-german(a)lists.debian.org>\n"
"Language: de\n"
@@ -51,14 +51,14 @@ msgstr ""
"Globale Optionen:\n"
"\n"
"--trace\n"
-"\tFührt die Befehle im bash Trace-Modus (-x) aus. Für Debugging.\n"
+"\tDie Befehle in bash im Trace-Modus (-x) ausführen, für Debugging.\n"
"\n"
"--quiltrc datei\n"
-"\tVerwenden der angegebenen Konfigurationsdatei statt ~/.quiltrc (oder\n"
-"\t@ETCDIR@/quilt.quiltrc, wenn ~/.quiltrc fehlt). Siehe die pdf-"
-"Dokumentation\n"
-"\tfür mögliche Einstellungen. Der Dateiname \\`-' bedeutet, dass keine\n"
-"\tResource-Datei eingelesen werden soll.\n"
+"\tDie angegebene Konfigurationsdatei verwenden statt ~/.quiltrc (oder\n"
+"\t@ETCDIR@/quilt.quiltrc, wenn ~/.quiltrc fehlt). Details über mögliche\n"
+"\tInhalte finden Sie in der pdf-Dokumentation.\n"
+"\tDer Dateiname \\`-' bedeutet, dass keine Konfigurationsdatei\n"
+"\teingelesen werden soll.\n"
"\n"
"--version\n"
"\tGibt die Versionsummer aus."
@@ -92,7 +92,7 @@ msgstr "Die Datei %s befindet sich unterhalb des Verzeichnisses %s\\n"
#: quilt/add.in:103
msgid "File %s is already in patch %s\\n"
-msgstr "Datei %s ist bereits in Patch $patch\\n"
+msgstr "Datei %s ist bereits in Patch %s\\n"
#: quilt/add.in:111 quilt/remove.in:82 quilt/revert.in:84
msgid "File %s modified by patch %s\\n"
@@ -130,7 +130,7 @@ msgstr ""
"angezeigt.\n"
"\n"
"-P patch\n"
-"\tNur bis zum angegebenen Patch anstatt bis zum obersten Patch\n"
+"\tNur bis zum angegebenen Patch statt bis zum obersten Patch\n"
"\tnach Änderungen suchen.\n"
#: quilt/applied.in:22
@@ -168,14 +168,14 @@ msgid ""
"\tIgnored if not used with \\`-r'.\n"
msgstr ""
"\n"
-"Löscht den obersten oder angegebenen Patch aus der series-Datei. Falls\n"
+"Den obersten oder angegebenen Patch aus der series-Datei löschen. Falls\n"
"dieser Patch angewandt ist, wird er zuerst von quilt entfernt. (Momentan\n"
"kann nur der oberste Patch entfernt werden.)\n"
"\n"
-"-n\tLösche den nächsten (dem obersten folgenden) Patch statt des\n"
+"-n\tDen nächsten (dem obersten folgenden) Patch löschen statt den\n"
"\tobersten oder angegebenen.\n"
"\n"
-"-r\tEntfernt den Patch auch aus dem patches-Verzeichnis.\n"
+"-r\tDen Patch auch aus dem patches-Verzeichnis entfernen.\n"
"\n"
"--backup\n"
"\tDen Patch in patch~ umbenennen, statt ihn zu löschen.\n"
@@ -203,7 +203,7 @@ msgstr "Datei %s konnte nicht gesichert werden\\n"
#: quilt/delete.in:134
msgid "Failed to remove patch file %s\\n"
-msgstr "Patch %s konnte nicht entfernt werden\\n"
+msgstr "Patchdatei %s konnte nicht entfernt werden\\n"
#: quilt/diff.in:24
msgid ""
@@ -274,17 +274,17 @@ msgstr ""
"\tunterstützt).\n"
"\n"
"-p ab\tErzeugen einen Patches der Art -p1, jedoch a/datei und b/datei\n"
-"\tals ursprünglichen und neuen Dateinamen verwenden anstelle von\n"
+"\tals ursprüngliche und neue Dateinamen verwenden anstelle von\n"
"\tdir.orig/datei und dir/datei.\n"
"\n"
"-u, -U anzahl, -c, -C anzahl\n"
-"\tErzeugen eines Unified-Diffs (-u, -U) mit der angegebenen Anzahl\n"
+"\tErzeugen eines Unified-Diffs (-u, -U) mit der angegebenen Anzahl von\n"
"\tKontextzeilen bzw. erzeugen eines Context-Diffs (-c, -C) mit der\n"
-"\tangegebenen Anzahl Kontextzeilen. Die Anzahl der Kontextzeilen ist 3,\n"
-"\twenn nicht anders angegeben.\n"
+"\tangegebenen Anzahl von Kontextzeilen. Die Anzahl der Kontextzeilen ist\n"
+"\t3, wenn nicht anders angegeben.\n"
"\n"
"--no-timestamps\n"
-"\tKeine Datei-Zeitstempel im Patchheader angeben.\n"
+"\tKeine Datei-Zeitstempel in Patch-Kopfzeilen angeben.\n"
"\n"
"--no-index\n"
"\tKeine \\`Index:'-Zeilen ausgeben.\n"
@@ -315,14 +315,14 @@ msgstr ""
"\tSyntaxeinfärbung verwenden (wird bei auto nur aktiviert, wenn Ausgabe\n"
"\tauf tty).\n"
"\n"
-"--sort\tDateien im Patch nach ihrem Namen sortieren, statt die\n"
-"\tursprüngliche Reihenfolge zu erhalten.\n"
+"--sort\tDateien im Patch nach ihren Namen sortieren, statt die\n"
+"\tursprüngliche Reihenfolge beizubehalten.\n"
#: quilt/diff.in:226
msgid ""
"Options \\`--combine', \\`--snapshot', and \\`-z' cannot be combined.\\n"
msgstr ""
-"Die Optionen \\`--combine', \\`--snapshot', und \\`-z' können nicht "
+"Die Optionen \\`--combine', \\`--snapshot' und \\`-z' können nicht "
"kombiniert werden.\\n"
#: quilt/diff.in:240
@@ -363,8 +363,8 @@ msgid ""
"the topmost patch.\n"
msgstr ""
"\n"
-"Füge die angegebene(n) Datei(en) dem obersten Patch hinzu, und editiere\n"
-"sie dann in \\$EDITOR (%s).\n"
+"Die angegebene(n) Datei(en) dem obersten Patch hinzufügen und dann im\n"
+"\\$EDITOR (%s) editieren.\n"
#: quilt/files.in:22
msgid "Usage: quilt files [-v] [-a] [-l] [--combine patch] [patch]\\n"
@@ -427,10 +427,10 @@ msgid ""
"\twhen applying patchfile.\n"
msgstr ""
"\n"
-"Integriert den Patch von der Standardeingabe in den obersten Patch:\n"
-"Stellt zuerst sicher, dass alle Dateien, die verändert werden, im\n"
-"obersten Patch enthalten sind, und wendet dann den neuen Patch\n"
-"mit der angegebenen Anzahl an Strip-Ebenen an (Standardwert = 1).\n"
+"Den Patch von der Standardeingabe in den obersten Patch integrieren:\n"
+"Es wird zuerst sichergestellt, dass alle Dateien, die verändert werden,\n"
+"im obersten Patch enthalten sind, dann wird der neue Patch mit der\n"
+"angegebenen Anzahl an Strip-Ebenen angewandt (Standardwert = 1).\n"
"\n"
"-r\tPatch verkehrt herum anwenden.\n"
"\n"
@@ -470,7 +470,7 @@ msgstr ""
"\n"
"Den obersten Patch aufspalten. Aufspalten bedeutet, dass eine neue Kopie\n"
"des Patches unter einem anderen Namen angelegt wird, und der neue Patch\n"
-"anstelle des ursprünglichen in die Series-Datei eingetragen wird. Das ist\n"
+"anstelle des ursprünglichen in die series-Datei eingetragen wird. Das ist\n"
"praktisch, wenn ein Patch verändert werden soll, aber die ursprüngliche\n"
"Version erhalten bleiben soll. Eine typische Abfolge von Befehlen ist:\n"
"fork, edit, refresh.\n"
@@ -485,7 +485,7 @@ msgstr "Patch %s existiert bereits, bitte neuen Namen wählen\\n"
#: quilt/fork.in:96
msgid "Fork of patch %s to patch %s failed\\n"
-msgstr "Fehler beim Aufspalten von %s auf %s\\n"
+msgstr "Fehler beim Aufspalten von %s nach %s\\n"
#: quilt/fork.in:102 quilt/refresh.in:347
msgid "Fork of patch %s created as %s\\n"
@@ -533,7 +533,7 @@ msgstr ""
"Erzeugen eines gerichteten dot(1)-Graphen, der die Abhängigkeiten zwischen\n"
"den angewandten Patches zeigt. Ein Patch hängt von einem anderen ab, wenn\n"
"beide dieselbe Datei verändern, oder mit der --lines-Option, wenn sich die\n"
-"Anderungen in den Patches überlappen. Wenn nicht anders angegeben, zeigt\n"
+"Änderungen in den Patches überlappen. Wenn nicht anders angegeben, zeigt\n"
"der Graph alle Patches, von denen der oberste Patch abhängt.\n"
"Wenn ein Patchname angegeben wird, wird ein Graph erzeugt, der alle Patches\n"
"beinhaltet, von denen der angegebene Patch abhängt, sowie alle, die von\n"
@@ -571,14 +571,14 @@ msgid ""
"\tcan be passed after a second double-dash (-- --).\n"
msgstr ""
"\n"
-"Die Quelldateien rekursiv durchsuchen, und Patches und Quilt-\n"
+"Die Quelldateien rekursiv durchsuchen und Patches sowie Quilt-\n"
"Metainformation überspringen. Wenn kein Dateiname angegeben wird, wird\n"
-"der gesamte Quellbaum durchsucht. Siehe die Manual Page von grep(1) für\n"
-"weitere Optionen.\n"
+"der gesamte Quellbaum durchsucht. Lesen Sie die Handbuchseite (manpage)\n"
+"von grep(1) für weitere Optionen.\n"
"\n"
-"-h\tGib diese Hilfsmeldung aus. Die grep-Option -h kann nach einem\n"
-"\tDoppelstrick (--) angegeben werden. Suchausdrücke, die mit einem\n"
-"\tStrich beginnen, können nach einem weiteren Doppel-Bindestrich (--)\n"
+"-h\tDiese Hilfe ausgeben. Die grep-Option -h kann nach einem\n"
+"\tDoppel-Bindestrich (--) angegeben werden. Suchausdrücke, die mit\n"
+"\teinem Strich beginnen, können nach einem weiteren Doppel-Bindestrich\n"
"\tangegeben werden.\n"
#: quilt/header.in:24
@@ -613,9 +613,9 @@ msgstr ""
"\n"
"-a, -r, -e\n"
"\tText von der Standardeingabe an den Header anfügen (-a), den Header\n"
-"\tmit der Standardeingabe ersetzen, oder den Header in \\$EDITOR (%s)\n"
-"\teditieren. Wenn keine dieser Optionen angegeben ist, wird der Header\n"
-"\tausgegeben.\n"
+"\tmit der Standardeingabe ersetzen (-r), oder den Header in \\$EDITOR\n"
+"\t(%s) editieren (-e). Wenn keine dieser Optionen angegeben ist, wird\n"
+"\tder Header ausgegeben.\n"
"\n"
"--strip-diffstat\n"
"\tEntfernen der diffstat-Ergebnisse vom Header.\n"
@@ -667,11 +667,11 @@ msgid ""
msgstr ""
"\n"
"Importieren externer Patches. Die Patches werden nach dem momentan obersten\n"
-"Patch eingefügt und dann mit dem push-Befehl angewandt werden.\n"
+"Patch eingefügt und müssen dann mit dem push-Befehl angewandt werden.\n"
"\n"
"-p num\n"
"\tDie Anzahl der Komponenten im Pfadnamen, die beim Anwenden des Patches\n"
-"\tentfernt werden sollen (Standard=1).\n"
+"\tentfernt werden sollen (Standard = 1).\n"
"\n"
"-R\n"
"\tPatch umgekehrt anwenden.\n"
@@ -800,22 +800,22 @@ msgstr ""
"\n"
"Erzeugen von E-Mail-Nachrichten für einen angegebenen Bereich von Patches\n"
"oder alle Patches in der series-Datei, und sie entweder in einer Mailbox-\n"
-"Datei speichern oder sofort versenden. Der Editor wird mit einer\n"
-"Einleitung als Vorlage geöffnet. Für Details lesen Sie %s.\n"
+"Datei speichern oder sofort versenden. Der Editor wird mit einem\n"
+"Einleitungstext als Vorlage geöffnet. Für Details lesen Sie %s.\n"
"Wenn ein Bereich von Patches angegeben wird, kann \\`-' für den ersten bzw.\n"
-"letzten Patch in der Series-Datei angegeben werden.\n"
+"letzten Patch in der series-Datei angegeben werden.\n"
"\n"
"-m text\n"
-"\tText, der für die Einleitung verwendet werden soll. Bei Verwendung\n"
-"\tdieser Option wird der Editor nicht gestartet, und die Patches werden\n"
-"\twerden sofort abgearbeitet.\n"
+"\tText, der als Einleitungstext verwendet werden soll. Bei Verwendung\n"
+"\tdieser Option wird der Editor nicht gestartet und die Patches werden\n"
+"\tsofort abgearbeitet.\n"
"\n"
"-M datei\n"
-"\tWie die Option -m, jedoch wird die Einleitung aus der Datei gelesen.\n"
+"\tWie -m, jedoch wird der Einleitungstext aus der Datei gelesen.\n"
"\n"
"--prefix präfix\n"
-"\tEinen anderen Präfix statt \\`patch' in dem eckig umklammerten\n"
-"\tText der Subject-Kopfzeile verwenden.\n"
+"\tEinen anderen Präfix statt \\`patch' in dem durch eckige Klammern\n"
+"\teingefassten Text der Subject-Kopfzeile verwenden.\n"
"\n"
"--mbox datei\n"
"\tAlle Nachrichten in der angegebenen Datei im mbox-Format speichern.\n"
@@ -833,11 +833,12 @@ msgstr ""
"\tOption angegeben ist, wird der Wert der Option --sender verwendet.\n"
"\n"
"--to, --cc, --bcc\n"
-"\tEinen Empfänger an die To, Cc, or Bcc-Kopfzeilen anfügen.\n"
+"\tEinen Empfänger zur To-, Cc-, oder Bcc-Kopfzeile hinzufügen.\n"
"\n"
"--signature datei\n"
"\tDie angegebene Signatur an Nachrichten anhängen (Standard ist\n"
-"\t~/.signature, falls vorhanden; \\`-' verwenden für keine Signatur.\n"
+"\t~/.signature, falls vorhanden; bei \\`-' wird keine Signatur\n"
+"\tverwendet.\n"
"\n"
"--reply-to nachrichten-header\n"
"\tDie entsprechenden Header hinzufügen, um auf die angegebene\n"
@@ -845,7 +846,7 @@ msgstr ""
#: quilt/mail.in:204 quilt/mail.in:212
msgid "Introduction message already specified"
-msgstr "Einleitungsnachricht bereits angegeben"
+msgstr "Einleitungstext bereits angegeben"
#: quilt/mail.in:310
msgid "Could not determine the envelope sender address. Please use --sender."
@@ -903,14 +904,14 @@ msgstr ""
"\n"
"Erzeugen eines neuen Patches mit dem angegebenen Dateinamen und anfügen\n"
"nach dem obersten Patch. Dem Name kann der Name eines Unterverzeichnisses\n"
-"vorangestellt werden; dies erlaubt es, zusammengehörige Patches zusammen-\n"
-"zufassen.\n"
+"vorangestellt werden; dies erlaubt es, zusammengehörige Patches\n"
+"zusammenzufassen.\n"
"\n"
"-p n\tErzeugen eines Patches der Art -p n (-p0 oder -p1 werden "
"unterstützt).\n"
"\n"
"-p ab\tErzeugen eines Patches der Art -p1, jedoch a/datei und b/datei\n"
-"\tals ursprünglichen und neuen Dateinamen verwenden anstelle von\n"
+"\tals ursprüngliche und neue Dateinamen verwenden anstelle von\n"
"\tdir.orig/datei und dir/datei.\n"
"\n"
"Quilt kann aus Unterverzeichnissen eines Quellbaums heraus verwendet "
@@ -941,7 +942,7 @@ msgstr "Der oberste Patch ist jetzt %s\\n"
#: quilt/new.in:110 quilt/refresh.in:343
msgid "Failed to create patch %s\\n"
-msgstr "Patch konnte %s nicht erzeugt werden\\n"
+msgstr "Patch %s konnte nicht erzeugt werden\\n"
#: quilt/next.in:22
msgid "Usage: quilt next [patch]\\n"
@@ -1022,20 +1023,20 @@ msgstr ""
"Option wird der oberste Patch entfernt. Bei Angabe einer Zahl wird die\n"
"entsprechende Anzahl von Patches entfernt. Wenn ein Name angegeben wird,\n"
"werden alle Patches oberhalb des angegebenen Patches entfernt. Patchnamen\n"
-"können den patches/-Präfix enthalten, was bedeutet, dass Autovervoll-\n"
-"ständigung für die Dateinamen genutzt werden kann.\n"
+"können den patches/-Präfix enthalten, was bedeutet, dass\n"
+"Autovervollständigung für die Dateinamen genutzt werden kann.\n"
"\n"
"-a\tAlle angewandten Patches entfernen.\n"
"\n"
"-f\tErzwungenes Entfernen. Der Zustand vor dem Anwenden das Patches wird\n"
"\tüber die Sicherungsdateien wiederhergestellt.\n"
"\n"
-"-R\t Immer überprüfen, ob sich Patches vollständig entfernen lassen,\n"
+"-R\tImmer überprüfen, ob sich Patches vollständig entfernen lassen,\n"
"\tnicht auf die Zeitspempel der Dateien verlassen.\n"
"\n"
"-q\tWenige Meldungen ausgeben.\n"
"\n"
-"-v\tViele Meldungen ausgeben.\n"
+"-v\tAusführliche Meldungen ausgeben.\n"
"\n"
"--refresh\n"
"\tJeden Patch automatisch neu erzeugen, bevor seine Anwendung rückgängig\n"
@@ -1065,7 +1066,7 @@ msgstr "Optionen %s und %s können nicht kombiniert werden\\n"
#: quilt/pop.in:238
msgid "Patch %s needs to be refreshed first.\\n"
-msgstr "Patch %s muss zuerst aktualisiert werden (Refresh).\\n"
+msgstr "Patch %s muss zuerst aktualisiert werden (refresh).\\n"
#: quilt/pop.in:248
msgid "No patch removed\\n"
@@ -1137,9 +1138,9 @@ msgid ""
msgstr ""
"\n"
"Patches aus der series-Datei anwenden. Ohne weitere Optionen wird der\n"
-"nächste Patch in der series-Datei angewandt. Wird eine Zahl angegeben,\n"
-"wird die angegebene Anzahl von Patches angewandet. Wenn ein Name\n"
-"angegeben wird, werden alle Patches bis einschliesslich diesem Patch\n"
+"nächste Patch in der series-Datei angewandt. Wenn eine Zahl angegeben\n"
+"ist, wird die angegebene Anzahl von Patches angewandet. Ist ein Name\n"
+"angegeben, werden alle Patches bis einschliesslich diesem Patch\n"
"angewandt. Patchnamen können den patches/-Präfix enthalten, was\n"
"bedeutet, dass Autovervollständigung für die Dateinamen genutzt\n"
"werden kann.\n"
@@ -1150,7 +1151,7 @@ msgstr ""
"\n"
"-f\tAnwenden erzwingen, selbst wenn dabei Fehler auftreten.\n"
"\n"
-"-v\tViele Meldungen ausgeben.\n"
+"-v\tAusführliche Meldungen ausgeben.\n"
"\n"
"--fuzz=N\n"
"\tDen maximalen Unscharf-Faktor (fuzz) setzen (Voreinstellung: 2).\n"
@@ -1188,11 +1189,11 @@ msgstr "Patch %s scheint leer zu sein; angewandt\\n"
#: quilt/push.in:225
msgid "Applied patch %s (forced; needs refresh)\\n"
-msgstr "Patch %s angewandt (erzwungen, muss aktualisiert werden (Refresh))\\n"
+msgstr "Patch %s angewandt (erzwungen, muss aktualisiert werden (refresh))\\n"
#: quilt/push.in:235
msgid "Patch %s can be reverse-applied\\n"
-msgstr "Patch %s kann verkehrt angewandt werden\\n"
+msgstr "Patch %s kann umgekehrt angewandt werden\\n"
#: quilt/push.in:238
msgid "Patch %s does not apply (enforce with -f)\\n"
@@ -1204,7 +1205,7 @@ msgstr "Patch %s wurde bereits angewandt; überprüfen Sie Ihre series-Datei\\n"
#: quilt/push.in:405
msgid "The topmost patch %s needs to be refreshed first.\\n"
-msgstr "Der oberste Patch %s muss zuerst aktualisiert werden (Refresh).\\n"
+msgstr "Der oberste Patch %s muss zuerst aktualisiert werden (refresh).\\n"
#: quilt/push.in:413
msgid "No patch applied\\n"
@@ -1272,58 +1273,55 @@ msgid ""
"\tStrip trailing whitespace at the end of lines.\n"
msgstr ""
"\n"
-"Den obersten oder angegebenen Patch auffrischen. Dokumentation in der\n"
+"Den obersten oder angegebenen Patch aktualisieren. Dokumentation in der\n"
"Patchdatei, die vor dem eigentlichen Patch steht, bleibt dabei\n"
"erhalten.\n"
"\n"
"Es können beliebige angewandte Patches aktualisiert werden. Wenn\n"
"Patches, die nach dem angegebenen Patch angewandt sind, dieselben\n"
-"Dateien verändern, die auch dieser Patch verändert, bricht dieses Script\n"
-"normalerweise ab. Mit der Option -f kann das Aktalisieren trotzdem\n"
+"Dateien verändern, die auch dieser Patch verändert, bricht dieses Skript\n"
+"normalerweise ab. Mit der Option -f kann das Aktualisieren trotzdem\n"
"erzwungen werden. Dann wird für jede Datei, die später noch verändert\n"
"wurde, eine Warnung ausgegeben, und nur Änderungen in Dateien, die\n"
"danach nicht von anderen Patches weiter verändert werden, werden beim\n"
-"Aktalisieren berücksichtigt.\n"
+"Aktualisieren berücksichtigt.\n"
"\n"
"-p n\tErzeugen eines Patch der Art -p n (n=0 oder n=1 werden\n"
"\tunterstützt).\n"
"\n"
"-p ab\tErzeugen einen Patches der Art -p1, jedoch a/datei und b/datei\n"
-"\tals ursprünglichen und neuen Dateinamen verwenden anstelle von\n"
+"\tals ursprüngliche und neue Dateinamen verwenden anstelle von\n"
"\tdir.orig/datei und dir/datei.\n"
"\n"
"-u, -U anzahl, -c, -C anzahl\n"
-"\tErzeugen eines Unified-Diffs (-u, -U) mit der angegebenen Anzahl\n"
+"\tErzeugen eines Unified-Diffs (-u, -U) mit der angegebenen Anzahl von\n"
"\tKontextzeilen bzw. erzeugen eines Context-Diffs (-c, -C) mit der\n"
-"\tangegebenen Anzahl Kontextzeilen. Die Anzahl der Kontextzeilen ist 3,\n"
-"\twenn nicht anders angegeben.\n"
+"\tangegebenen Anzahl von Kontextzeilen. Die Anzahl der Kontextzeilen ist\n"
+"\t3, wenn nicht anders angegeben.\n"
"\n"
"-z[neuer_name]\n"
"\tErzeugen eines neuen Patches mit den Änderungen, statt den obersten\n"
"\tPatch zu aktualisieren. Wenn kein neuer Name angegeben wird, wird\n"
-"\t\\`-2' an den Namen angehängt, usw (siehe den fork-Befehl).\n"
+"\t\\`-2' an den Namen angehängt usw. (siehe den fork-Befehl).\n"
"\n"
"--no-timestamps\n"
-"\tKeine Zeitstempel in Patches angeben.\n"
+"\tKeine Zeitstempel in Patch-Kopfzeilen angeben.\n"
"\n"
"--no-index\n"
"\tKeine \\`Index:'-Zeilen ausgeben.\n"
"\n"
"--diffstat\n"
-"\tDem Patchkopf einen diffstat-Abschnitt hinzufügen oder den bestehenden\n"
-"\tAbschnitt ersetzen.\n"
-"\n"
-"-f\tDas Aktalisieren eines Patches erzwingen, der sich nicht an oberster\n"
-"\tPosition befindet.\n"
+"\tDen Patch-Kopfzeilen einen diffstat-Abschnitt hinzufügen oder den\n"
+"\tbestehenden Abschnitt ersetzen.\n"
"\n"
-"--no-timestamps\n"
-"\tKeine Zeitstempel in Patches angeben.\n"
+"-f\tDas Aktualisieren eines Patches erzwingen, der sich nicht an\n"
+"\toberster Position befindet.\n"
"\n"
"--backup\n"
"\tErzeugen eines Backups der alten Version von patch als patch~\n"
"\n"
-"--sort\tDateien im Patch nach ihrem Namen sortieren, statt die\n"
-"\tursprüngliche Reihenfolge zu erhalten.\n"
+"--sort\tDateien im Patch nach ihren Namen sortieren, statt die\n"
+"\tursprüngliche Reihenfolge beizubehalten.\n"
"\n"
"--strip-trailing-whitespace\n"
"\tWhitespace-Zeichen an Zeilenenden entfernen.\n"
@@ -1341,13 +1339,13 @@ msgstr ""
#: quilt/refresh.in:235
msgid "Diff failed on file '%s', aborting\\n"
-msgstr "Diff gegen Datei »%s« fehlgeschlagen, Abbruch.\\n"
+msgstr "Diff gegen Datei '%s' fehlgeschlagen, Abbruch.\\n"
#: quilt/refresh.in:241
msgid ""
"More recent patches modify files in patch %s. Enforce refresh with -f.\\n"
msgstr ""
-"Später angewandte Patches verändern Dateien von %s. Aktalisieren mit -f "
+"Später angewandte Patches verändern Dateien von %s. Aktualisieren mit -f "
"erzwingen.\\n"
#: quilt/refresh.in:247
@@ -1384,7 +1382,7 @@ msgid ""
"\tRemove named files from the named patch.\n"
msgstr ""
"\n"
-"Eine oder mehreren Dateien aus dem obersten oder angegebenen Patch\n"
+"Eine oder mehrere Dateien aus dem obersten oder angegebenen Patch\n"
"entfernen. Dateien, die durch Patches oberhalb des angegebenen Patches\n"
"verändert werden, können nicht entfernt werden.\n"
"\n"
@@ -1427,11 +1425,11 @@ msgstr "Patch %s existiert bereits, bitte einen anderen Namen wählen\\n"
#: quilt/rename.in:98
msgid "Renaming of patch %s to %s failed\\n"
-msgstr "Fehler beim Umbenennen von Patch %s auf %s\\n"
+msgstr "Fehler beim Umbenennen von Patch %s in %s\\n"
#: quilt/rename.in:104
msgid "Patch %s renamed to %s\\n"
-msgstr "Patch %s in %s umbenannt\\n"
+msgstr "Patch %s umbenannt in %s\\n"
#: quilt/revert.in:22
msgid "Usage: quilt revert [-P patch] {file} ...\\n"
@@ -1452,7 +1450,7 @@ msgid ""
msgstr ""
"\n"
"Nicht übernommene Änderungen an dem obersten oder angegebenen Patch für\n"
-"die angegebenen Dateien zurücknehmen. Danach zeigt »quilt diff -z« keine\n"
+"die angegebenen Dateien zurücknehmen. Danach zeigt 'quilt diff -z' keine\n"
"Unterschiede für diese Dateien mehr an. Änderungen an Dateien, die von\n"
"Patches oberhalb des angegebenen Patches verändert werden, können nicht\n"
"entfernt werden.\n"
@@ -1517,17 +1515,17 @@ msgid ""
"all the patches using the version of quilt used to push them before "
"downgrading.\\n"
msgstr ""
-"Die quilt-Metadaten in diesem Arbeitsverzeichnis haben Version $version, "
-"aber diese Version von quilt kann nur mit Metadaten der Versionen "
-"$DB_VERSION und darunter umgehen. Bitte entfernen Sie vor dem Downgrade von "
-"quilt alle Patches mit der Version von quilt, die zur Erstellung des "
-"Arbeitsverzeichnisses verwendet wurde.\\n"
+"Die quilt-Metadaten in diesem Arbeitsverzeichnis haben Version %s, aber "
+"diese Version von quilt kann nur mit Metadaten der Versionen %s und darunter "
+"umgehen. Bitte entfernen Sie vor dem Downgrade von quilt alle Patches mit "
+"der Version von quilt, die zur Erstellung des Arbeitsverzeichnisses "
+"verwendet wurde.\\n"
#: quilt/scripts/patchfns.in:1018
msgid "You have to install '%s' (from package %s) to use 'quilt %s'\\n"
msgstr ""
-"Sie müssen '%s' (aus dem Paket %s) installieren, um 'quilt %s' nutzen "
-"zukönnen\\n"
+"Sie müssen '%s' (aus dem Paket %s) installieren, um 'quilt %s' nutzen zu "
+"können\\n"
#: quilt/scripts/patchfns.in:1138
msgid ""
@@ -1578,7 +1576,7 @@ msgstr "Abschliessende Leerzeichen in den Zeilen %s von %s werden entfernt\n"
#: quilt/scripts/remove-trailing-ws.in:144
#, perl-format
msgid "Renaming %s to %s: %s\n"
-msgstr "Umbenennen von %s auf %s: %s\n"
+msgstr "Umbenennen von %s in %s: %s\n"
#: quilt/series.in:22
msgid "Usage: quilt series [--color[=always|auto|never]] [-v]\\n"
@@ -1648,6 +1646,7 @@ msgstr ""
"\n"
"Initialisiert einen Quellbaum aus einer rpm-spec-Datei oder einer quilt-\n"
"series-Datei.\n"
+"\n"
"-d\tOptionaler Pfadpräfix für den resultierenden Quellbaum.\n"
"\n"
"--sourcedir\n"
@@ -1770,8 +1769,8 @@ msgid ""
"The quilt meta-data in %s are already in the version %s format; nothing to do"
"\\n"
msgstr ""
-"Die Metadaten in $QUILT_PC/ haben bereits das Format Version $DB_VERSION; "
-"keine Aktualisierung nötig\\n"
+"Die Metadaten in %s haben bereits das Format Version %s; keine "
+"Aktualisierung nötig\\n"
#: quilt/upgrade.in:71
msgid "Converting meta-data to version %s\\n"
@@ -1789,6 +1788,6 @@ msgid ""
"patches from scratch.\\n"
msgstr ""
"\n"
-"Bitte entfernen Sie alle Patches mit \\`quilt pop -a' der quilt-Version, die "
-"zur Erzeugung des Arbeitsverzeichnis verwendet wurden, oder entfernen Sie "
-"das Verzeichnis %s und wenden Sie die Patches neu an.\\n"
+"Bitte entfernen Sie mit \\`quilt pop -a' alle Patches der quilt-Version, die "
+"zur Erzeugung des Arbeitsverzeichnis verwendet wurde, oder entfernen Sie das "
+"Verzeichnis %s und wenden Sie die Patches neu an.\\n"
--
cgit v0.9.0.2
++++++ translation-fixes-04.patch ++++++
From: Jean Delvare <jdelvare(a)suse.de>
Date: Wed, 11 Feb 2015 16:59:22 +0000
Subject: Fix translation of main usage message
Upstream: Committed (249f34528986e3dbc7bb7e6eb746f85468379137)
@ETCDIR@ is substituted at build time so it should not appear in
translated messages. Replace it with %s and pass the actual value as a
parameter.
---
diff --git a/bin/quilt.in b/bin/quilt.in
index 2271833..45aebbc 100644
--- a/bin/quilt.in
+++ b/bin/quilt.in
@@ -45,7 +45,7 @@ usage()
| sort \
| column | column -t \
| sed -e $'s/^/\t/'
- echo $"
+ printf $"
Global options:
--trace
@@ -53,13 +53,13 @@ Global options:
--quiltrc file
Use the specified configuration file instead of ~/.quiltrc (or
- @ETCDIR@/quilt.quiltrc if ~/.quiltrc does not exist). See the pdf
+ %s/quilt.quiltrc if ~/.quiltrc does not exist). See the pdf
documentation for details about its possible contents. The
special value \"-\" causes quilt not to read any configuration
file.
--version
- Print the version number and exit immediately."
+ Print the version number and exit immediately.\n" "@ETCDIR@"
exit 1
}
diff --git a/po/de.po b/po/de.po
index 379acf3..b22173b 100644
--- a/po/de.po
+++ b/po/de.po
@@ -39,13 +39,13 @@ msgid ""
"\n"
"--quiltrc file\n"
"\tUse the specified configuration file instead of ~/.quiltrc (or\n"
-"\t@ETCDIR@/quilt.quiltrc if ~/.quiltrc does not exist). See the pdf\n"
+"\t%s/quilt.quiltrc if ~/.quiltrc does not exist). See the pdf\n"
"\tdocumentation for details about its possible contents. The\n"
"\tspecial value \\\"-\\\" causes quilt not to read any configuration\n"
"\tfile.\n"
"\n"
"--version\n"
-"\tPrint the version number and exit immediately."
+"\tPrint the version number and exit immediately.\\n"
msgstr ""
"\n"
"Globale Optionen:\n"
@@ -55,13 +55,13 @@ msgstr ""
"\n"
"--quiltrc datei\n"
"\tDie angegebene Konfigurationsdatei verwenden statt ~/.quiltrc (oder\n"
-"\t@ETCDIR@/quilt.quiltrc, wenn ~/.quiltrc fehlt). Details über mögliche\n"
+"\t%s/quilt.quiltrc, wenn ~/.quiltrc fehlt). Details über mögliche\n"
"\tInhalte finden Sie in der pdf-Dokumentation.\n"
"\tDer Dateiname \\`-' bedeutet, dass keine Konfigurationsdatei\n"
"\teingelesen werden soll.\n"
"\n"
"--version\n"
-"\tGibt die Versionsummer aus."
+"\tGibt die Versionsummer aus.\\n"
#: quilt/add.in:22
msgid "Usage: quilt add [-P patch] {file} ...\\n"
diff --git a/po/fr.po b/po/fr.po
index ffe3645..01d45cd 100644
--- a/po/fr.po
+++ b/po/fr.po
@@ -36,13 +36,13 @@ msgid ""
"\n"
"--quiltrc file\n"
"\tUse the specified configuration file instead of ~/.quiltrc (or\n"
-"\t@ETCDIR@/quilt.quiltrc if ~/.quiltrc does not exist). See the pdf\n"
+"\t%s/quilt.quiltrc if ~/.quiltrc does not exist). See the pdf\n"
"\tdocumentation for details about its possible contents. The\n"
"\tspecial value \\\"-\\\" causes quilt not to read any configuration\n"
"\tfile.\n"
"\n"
"--version\n"
-"\tPrint the version number and exit immediately."
+"\tPrint the version number and exit immediately.\\n"
msgstr ""
"\n"
"Options globales :\n"
@@ -52,13 +52,13 @@ msgstr ""
"\n"
"--quiltrc fichier\n"
"\tUtilise le fichier de configuration spécifié au lieu de ~/.quiltrc\n"
-"\t(ou @ETCDIR@/quilt.quiltrc si ~/.quiltrc n'existe pas). Voir la\n"
+"\t(ou %s/quilt.quiltrc si ~/.quiltrc n'existe pas). Voir la\n"
"\tdocumentation pdf pour plus de détails sur son contenu potentiel.\n"
-"La valeur spéciale \\\"-\\\" spécifie à quilt de ne lire aucun fichier\n"
-"de configuration.\n"
+"\tLa valeur spéciale \\\"-\\\" spécifie à quilt de ne lire aucun fichier\n"
+"\tde configuration.\n"
"\n"
"--version\n"
-"\tAffiche le numéro de version et sort immédiatement."
+"\tAffiche le numéro de version et sort immédiatement.\\n"
#: quilt/add.in:22
msgid "Usage: quilt add [-P patch] {file} ...\\n"
diff --git a/po/ja.po b/po/ja.po
index 6697b0d..90a61cd 100644
--- a/po/ja.po
+++ b/po/ja.po
@@ -35,13 +35,13 @@ msgid ""
"\n"
"--quiltrc file\n"
"\tUse the specified configuration file instead of ~/.quiltrc (or\n"
-"\t@ETCDIR@/quilt.quiltrc if ~/.quiltrc does not exist). See the pdf\n"
+"\t%s/quilt.quiltrc if ~/.quiltrc does not exist). See the pdf\n"
"\tdocumentation for details about its possible contents. The\n"
"\tspecial value \\\"-\\\" causes quilt not to read any configuration\n"
"\tfile.\n"
"\n"
"--version\n"
-"\tPrint the version number and exit immediately."
+"\tPrint the version number and exit immediately.\\n"
msgstr ""
"\n"
"全コマンド共通オプション:\n"
@@ -50,13 +50,13 @@ msgstr ""
"\tコマンドをbashのトレースモード(-x)で実行。内部デバッグ用。\n"
"\n"
"--quiltrc file\n"
-"\t~/.quiltrc (存在しない場合は @ETCDIR@/quiltrc) の代りに読み込む\n"
+"\t~/.quiltrc (存在しない場合は %s/quiltrc) の代りに読み込む\n"
"\tコンフィギュレーションファイルを指定。内容の詳細については\n"
"\tPDFのドキュメントを参照。特別なファイル名 \\\"-\\\"を使うと、\n"
"\tコンフィギュレーションファイルを読み込まない。\n"
"\n"
"--version\n"
-"\tバージョン情報を出力して終了。"
+"\tバージョン情報を出力して終了。\\n"
#: quilt/add.in:22
msgid "Usage: quilt add [-P patch] {file} ...\\n"
diff --git a/po/quilt.pot b/po/quilt.pot
index d907829..264943f 100644
--- a/po/quilt.pot
+++ b/po/quilt.pot
@@ -20,13 +20,13 @@ msgid ""
"\n"
"--quiltrc file\n"
"\tUse the specified configuration file instead of ~/.quiltrc (or\n"
-"\t@ETCDIR@/quilt.quiltrc if ~/.quiltrc does not exist). See the pdf\n"
+"\t%s/quilt.quiltrc if ~/.quiltrc does not exist). See the pdf\n"
"\tdocumentation for details about its possible contents. The\n"
"\tspecial value \\\"-\\\" causes quilt not to read any configuration\n"
"\tfile.\n"
"\n"
"--version\n"
-"\tPrint the version number and exit immediately."
+"\tPrint the version number and exit immediately.\\n"
msgstr ""
#: quilt/add.in:22
diff --git a/po/ru.po b/po/ru.po
index 85e04b0..78b9f38 100644
--- a/po/ru.po
+++ b/po/ru.po
@@ -40,13 +40,13 @@ msgid ""
"\n"
"--quiltrc file\n"
"\tUse the specified configuration file instead of ~/.quiltrc (or\n"
-"\t@ETCDIR@/quilt.quiltrc if ~/.quiltrc does not exist). See the pdf\n"
+"\t%s/quilt.quiltrc if ~/.quiltrc does not exist). See the pdf\n"
"\tdocumentation for details about its possible contents. The\n"
"\tspecial value \\\"-\\\" causes quilt not to read any configuration\n"
"\tfile.\n"
"\n"
"--version\n"
-"\tPrint the version number and exit immediately."
+"\tPrint the version number and exit immediately.\\n"
msgstr ""
"\n"
"Общие опции:\n"
@@ -56,13 +56,13 @@ msgstr ""
"\n"
"--quiltrc файл\n"
"\tИспользовать указанный файл конфигурации вместо ~/.quiltrc (или\n"
-"\t@ETCDIR@/quilt.quiltrc, если ~/.quiltrc не существует). Смотрите\n"
+"\t%s/quilt.quiltrc, если ~/.quiltrc не существует). Смотрите\n"
"\tpdf-документацию, чтобы узнать о возможном содержимом.\n"
"\tСпециальное значение «-» запрещает quilt читать конфигурационные\n"
"\tфайлы.\n"
"\n"
"--version\n"
-"\tНапечатать номер версии и выйти из программы."
+"\tНапечатать номер версии и выйти из программы.\\n"
#: quilt/add.in:22
msgid "Usage: quilt add [-P patch] {file} ...\\n"
--
cgit v0.9.0.2
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0