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
August 2017
- 1 participants
- 2097 discussions
Hello community,
here is the log from the commit of package dosbox for openSUSE:Factory checked in at 2017-08-29 11:45:07
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/dosbox (Old)
and /work/SRC/openSUSE:Factory/.dosbox.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "dosbox"
Tue Aug 29 11:45:07 2017 rev:30 rq:519121 version:0.74
Changes:
--------
--- /work/SRC/openSUSE:Factory/dosbox/dosbox.changes 2017-04-11 09:44:36.269816358 +0200
+++ /work/SRC/openSUSE:Factory/.dosbox.new/dosbox.changes 2017-08-29 11:45:57.596428712 +0200
@@ -1,0 +2,6 @@
+Mon Aug 28 12:26:06 UTC 2017 - lnussel(a)suse.de
+
+- Fix desktop file category to sort below Game (boo#1055340)
+- directly use desktop-file-install instead of the old macro
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ dosbox.spec ++++++
--- /var/tmp/diff_new_pack.xEph5u/_old 2017-08-29 11:46:04.747420712 +0200
+++ /var/tmp/diff_new_pack.xEph5u/_new 2017-08-29 11:46:04.759419021 +0200
@@ -21,9 +21,9 @@
BuildRequires: SDL_sound-devel
BuildRequires: alsa-devel
BuildRequires: automake
+BuildRequires: desktop-file-utils
BuildRequires: gcc-c++
BuildRequires: libpng-devel
-BuildRequires: update-desktop-files
BuildRequires: pkgconfig(glu)
BuildRequires: pkgconfig(sdl)
%if 0%suse_version > 1020
@@ -86,7 +86,7 @@
rm -rf %{buildroot}%{_datadir}/doc/dosbox
install -d -m 755 %{buildroot}%{_datadir}/pixmaps
install -m 644 %{SOURCE2} %{buildroot}%{_datadir}/pixmaps/dosbox.png
-%suse_update_desktop_file -i %name Emulator
+desktop-file-install --dir=%{buildroot}%{_datadir}/applications %{SOURCE1}
%files
%defattr(-,root,root)
++++++ dosbox.desktop ++++++
--- /var/tmp/diff_new_pack.xEph5u/_old 2017-08-29 11:46:04.963390270 +0200
+++ /var/tmp/diff_new_pack.xEph5u/_new 2017-08-29 11:46:04.967389705 +0200
@@ -1,6 +1,6 @@
[Desktop Entry]
-Encoding=UTF-8
Type=Application
+Categories=Game;Emulator;
Name=DOSBox
GenericName=DOS Emulator
Comment=DOS emulator well-suited for playing games
1
0
Hello community,
here is the log from the commit of package python-alembic for openSUSE:Factory checked in at 2017-08-29 11:45:05
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-alembic (Old)
and /work/SRC/openSUSE:Factory/.python-alembic.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-alembic"
Tue Aug 29 11:45:05 2017 rev:27 rq:519120 version:0.9.5
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-alembic/python-alembic.changes 2017-02-06 15:22:52.390062450 +0100
+++ /work/SRC/openSUSE:Factory/.python-alembic.new/python-alembic.changes 2017-08-29 11:45:49.613553978 +0200
@@ -1,0 +2,16 @@
+Tue Aug 22 12:41:25 UTC 2017 - tbechtold(a)suse.com
+
+- update to 0.9.5:
+ * see http://alembic.zzzcomputing.com/en/latest/changelog.html#change-0.8.8
+ * see http://alembic.zzzcomputing.com/en/latest/changelog.html#change-0.8.9
+ * see http://alembic.zzzcomputing.com/en/latest/changelog.html#change-0.8.10
+ * see http://alembic.zzzcomputing.com/en/latest/changelog.html#change-0.9.0
+ * see http://alembic.zzzcomputing.com/en/latest/changelog.html#change-0.9.1
+ * see http://alembic.zzzcomputing.com/en/latest/changelog.html#change-0.9.2
+ * see http://alembic.zzzcomputing.com/en/latest/changelog.html#change-0.9.3
+ * see http://alembic.zzzcomputing.com/en/latest/changelog.html#change-0.9.4
+ * see http://alembic.zzzcomputing.com/en/latest/changelog.html#change-0.9.5
+- convert to singlespec
+- split -doc package
+
+-------------------------------------------------------------------
Old:
----
alembic-0.8.10.tar.gz
New:
----
alembic-0.9.5.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-alembic.spec ++++++
--- /var/tmp/diff_new_pack.jmkKVT/_old 2017-08-29 11:45:51.237325091 +0200
+++ /var/tmp/diff_new_pack.jmkKVT/_new 2017-08-29 11:45:51.241324527 +0200
@@ -16,8 +16,9 @@
#
+%{?!python_module:%define python_module() python-%{**} python3-%{**}}
Name: python-alembic
-Version: 0.8.10
+Version: 0.9.5
Release: 0
Url: http://bitbucket.org/zzzeek/alembic
Summary: A database migration tool for SQLAlchemy
@@ -25,27 +26,26 @@
Group: Development/Languages/Python
Source: https://pypi.io/packages/source/a/alembic/alembic-%{version}.tar.gz
BuildRoot: %{_tmppath}/%{name}-%{version}-build
-BuildRequires: python-devel
-BuildRequires: python-setuptools
+BuildRequires: %{python_module devel}
+BuildRequires: %{python_module setuptools}
+BuildRequires: python-rpm-macros
# Test requirements:
-BuildRequires: python-Mako
-BuildRequires: python-SQLAlchemy >= 0.7.6
-BuildRequires: python-argparse
-BuildRequires: python-mock
-BuildRequires: python-nose >= 0.11
-BuildRequires: python-pytest-cov
-BuildRequires: python-python-editor >= 0.3
+BuildRequires: %{python_module Mako}
+BuildRequires: %{python_module SQLAlchemy >= 0.7.6}
+BuildRequires: %{python_module mock}
+BuildRequires: %{python_module nose >= 0.11}
+BuildRequires: %{python_module pytest-cov}
+BuildRequires: %{python_module python-dateutil}
+BuildRequires: %{python_module python-editor >= 0.3}
Requires: python-Mako
Requires: python-SQLAlchemy >= 0.7.6
-Requires: python-argparse
+Requires: python-python-dateutil
Requires: python-python-editor >= 0.3
Requires(post): /usr/sbin/update-alternatives
Requires(postun): /usr/sbin/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
BuildArch: noarch
-%endif
+
+%python_subpackages
%description
Alembic is a new database migrations tool, written by the author
@@ -60,39 +60,53 @@
"downgrade" similarly, doing the same steps in reverse.
* Allows the scripts to execute in some sequential manner.
+%package -n python-alembic-doc
+Summary: Documentation for %{name}
+Group: Documentation/Other
+Provides: %{python_module alembic-doc = %{version}}
+
+%description -n python-alembic-doc
+Alembic is a new database migrations tool, written by the author
+of SQLAlchemy <http://www.sqlalchemy.org>. A migrations tool
+offers the following functionality:
+
+* Can emit ALTER statements to a database in order to change
+ the structure of tables and other constructs
+* Provides a system whereby "migration scripts" may be constructed;
+ each script indicates a particular series of steps that can "upgrade" a
+ target database to a new version, and optionally a series of steps that can
+ "downgrade" similarly, doing the same steps in reverse.
+* Allows the scripts to execute in some sequential manner.
+
+This package contains the documentation.
+
%prep
%setup -q -n alembic-%{version}
mv docs html && rm -rf html/build
%build
-python setup.py build
+%python_build
%install
-python setup.py install --prefix=%{_prefix} --root=%{buildroot}
-# update-alternatives
-mv %{buildroot}%{_bindir}/alembic %{buildroot}%{_bindir}/alembic-%{py_ver}
-mkdir -p %{buildroot}%{_sysconfdir}/alternatives
-touch %{buildroot}%{_sysconfdir}/alternatives/alembic
-ln -sf %{_sysconfdir}/alternatives/alembic %{buildroot}%{_bindir}/alembic
+%python_install
+%python_clone -a %{buildroot}%{_bindir}/alembic
%check
-python setup.py test
+%python_exec setup.py test
%post
-update-alternatives \
- --install %{_bindir}/alembic alembic %{_bindir}/alembic-%{py_ver} 20
+%python_install_alternative alembic
%postun
-if [ $1 -eq 0 ] ; then
- update-alternatives --remove alembic %{_bindir}/alembic-%{py_ver}
-fi
+%python_uninstall_alternative alembic
-%files
+%files %{python_files}
%defattr(-,root,root,-)
-%doc CHANGES LICENSE README.rst html
-%ghost %{_sysconfdir}/alternatives/alembic
-%{_bindir}/alembic
-%{_bindir}/alembic-%{py_ver}
+%doc CHANGES LICENSE README.rst
+%python_alternative %{_bindir}/alembic
%{python_sitelib}/*
+%files -n python-alembic-doc
+%doc LICENSE html
+
%changelog
++++++ alembic-0.8.10.tar.gz -> alembic-0.9.5.tar.gz ++++++
++++ 52573 lines of diff (skipped)
1
0
Hello community,
here is the log from the commit of package dovecot22 for openSUSE:Factory checked in at 2017-08-29 11:45:01
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/dovecot22 (Old)
and /work/SRC/openSUSE:Factory/.dovecot22.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "dovecot22"
Tue Aug 29 11:45:01 2017 rev:32 rq:519115 version:2.2.32
Changes:
--------
--- /work/SRC/openSUSE:Factory/dovecot22/dovecot22.changes 2017-07-04 09:11:30.693182653 +0200
+++ /work/SRC/openSUSE:Factory/.dovecot22.new/dovecot22.changes 2017-08-29 11:45:39.374997214 +0200
@@ -1,0 +2,109 @@
+Sun Aug 27 14:50:50 UTC 2017 - mrueckert(a)suse.de
+
+- update pigeonhole to 0.4.20
+ + Made the retention period for redirect duplicate identifiers
+ configurable. For accounts that perform many redirects, the
+ lda-dupes database could grow to impractical sizes. Changed the
+ default retention period from 24 to 12 hours.
+ - sieve-filter: Fixed memory leak: forgot to clean up script
+ binary at end of execution. Normally, this would merely be an
+ inconsequential memory leak. However, when the script comes
+ from an LDAP storage, this would cause io leak warnings.
+ - managesieve-login: Fixed handling of AUTHENTICATE command. A
+ second authenticate command would be parsed wrong. This problem
+ was caused by changes in the previous release.
+ - LDA Sieve plugin: Fixed minor memory leak caused by not
+ cleaning up the sieve_discard script.
+
+-------------------------------------------------------------------
+Thu Aug 24 15:56:03 UTC 2017 - mrueckert(a)suse.de
+
+- update to 2.2.32
+ * imapc: Info-level line is logged every time when successfully
+ connected to the remote server. This includes local/remote
+ IP/port, which can be useful for matching against external
+ logs.
+ * config: Log a warning if plugin { key=no } is used explicitly.
+ v2.3 will support "no" properly in plugin settings, but for now
+ any value at all for a boolean plugin setting is treated as
+ "yes", even if it's written as explicit "no". This change will
+ now warn that it most likely won't work as intended.
+ + Various optimizations to avoid accessing files/directories when
+ it's not necessary. Especially avoid accessing mail root
+ directories when INDEX directories point to a different
+ filesystem.
+ + mail_location can now include ITERINDEX parameter. This tells
+ Dovecot to perform mailbox listing from the INDEX path instead
+ of from the mail root path. It's mainly useful when the INDEX
+ storage is on a faster storage.
+ + mail_location can now include VOLATILEDIR=<path> parameter.
+ This is used for creating lock files and in future potentially
+ other files that don't need to exist permanently. The path
+ could point to tmpfs for example. This is especially useful to
+ avoid creating lock files to NFS or other remote filesystems.
+ For example:
+ mail_location=sdbox:~/sdbox:VOLATILEDIR=/tmp/volatile/%2.256Nu/%u
+ + mail_location's LISTINDEX=<path> can now contain a full path.
+ This allows storing mailbox list index to a different storage
+ than the rest of the indexes, for example to tmpfs.
+ + mail_location can now include NO-NOSELECT parameter. This
+ automatically deletes any \NoSelect mailboxes that have no
+ children. These mailboxes are sometimes confusing to users.
+ + mail_location can now include BROKENCHAR=<char> parameter.
+ This can be useful with imapc to access mailbox names that
+ aren't valid mUTF-7 charset from remote servers.
+ + If mailbox_list_index_very_dirty_syncs=yes, the list index is
+ no longer refreshed against filesystem when listing mailboxes.
+ This allows the mailbox listing to be done entirely by only
+ reading the mailbox list index.
+ + Added mailbox_list_index_include_inbox setting to control
+ whether INBOX's STATUS information should be cached in the
+ mailbox list index. The default is "no", but it may be useful
+ to change it to "yes", especially if LISTINDEX points to tmpfs.
+ + userdb can return chdir=<path>, which override mail_home for
+ the chdir location. This can be useful to avoid accessing home
+ directory on login.
+ + userdb can return postlogin=<socket> to specify per-user
+ imap/pop3 postlogin socket path.
+ + cassandra: Add support for result paging by adding
+ page_size=<n> parameter to the connect setting.
+ + dsync/imapc, pop3-migration plugin: Strip also trailing tabs
+ from headers when matching mails. This helps with migrations
+ from Zimbra.
+ + imap_logout_format supports now %{appended} and %{autoexpunged}
+ + virtual plugin: Optimize IDLE to use mailbox list index for
+ finding out when something has changed.
+ + Added apparmor plugin.
+ See https://wiki2.dovecot.org/Plugins/Apparmor
+ - virtual plugin: A lot of fixes. In many cases it was also
+ working very inefficiently or even incorrectly.
+ - imap: NOTIFY parameter parsing was incorrectly "fixed" in
+ v2.2.31. It was actually (mostly) working in previous
+ versions, but broken in v2.2.31.
+ - Modseq tracking didn't always work correctly. This could have
+ caused imap unhibernation to fail or IMAP QRESYNC/CONDSTORE
+ extensions to not work perfectly.
+ - mdbox: "Inconsistency in map index" wasn't fixed automatically
+ - dict-ldap: %variable values used in the LDAP filter weren't
+ escaped.
+ - quota=count: quota_warning = -storage=.. was never executed
+ (try #2). v2.2.31 fixed it for -messages, but not for
+ -storage.
+ - imapc: >= 32 kB mail bodies were supposed to be cached for
+ subsequent FETCHes, but weren't.
+ - quota-status service didn't support recipient_delimiter
+ - acl: Don't access dovecot-acl-list files with
+ acl_globals_only=yes
+ - mail_location: If INDEX dir is set, mailbox deletion deletes
+ its childrens' indexes. For example if "box" is deleted,
+ "box/child" index directory was deleted as well (but mails were
+ preserved).
+ - director: v2.2.31 caused rapid reconnection loops to directors
+ that were down.
+- drop patches:
+ de5d6bb50931ea243f582ace5a31abb11b619ffe.patch
+ bcb321bc62117d30bc53a872ca1154c0100aeefd.patch
+ 8b2d740b8182c63b76ff7ef0dd5e01710228705a.patch
+- new BR: libapparmor-devel
+
+-------------------------------------------------------------------
Old:
----
8b2d740b8182c63b76ff7ef0dd5e01710228705a.patch
bcb321bc62117d30bc53a872ca1154c0100aeefd.patch
de5d6bb50931ea243f582ace5a31abb11b619ffe.patch
dovecot-2.2-pigeonhole-0.4.19.tar.gz
dovecot-2.2.31.tar.gz
New:
----
dovecot-2.2-pigeonhole-0.4.20.tar.gz
dovecot-2.2.32.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ dovecot22.spec ++++++
--- /var/tmp/diff_new_pack.ceM3iY/_old 2017-08-29 11:45:43.582404133 +0200
+++ /var/tmp/diff_new_pack.ceM3iY/_new 2017-08-29 11:45:43.590403005 +0200
@@ -17,11 +17,11 @@
Name: dovecot22
-Version: 2.2.31
+Version: 2.2.32
Release: 0
%define pkg_name dovecot
-%define dovecot_version 2.2.31
-%define dovecot_pigeonhole_version 0.4.19
+%define dovecot_version 2.2.32
+%define dovecot_pigeonhole_version 0.4.20
%define dovecot_branch 2.2
%define dovecot_pigeonhole_source_dir %{pkg_name}-%{dovecot_branch}-pigeonhole-%{dovecot_pigeonhole_version}
%define dovecot_pigeonhole_docdir %{_docdir}/%{pkg_name}/dovecot-pigeonhole
@@ -58,6 +58,7 @@
BuildRequires: bison
BuildRequires: cyrus-sasl-devel
BuildRequires: flex
+BuildRequires: libapparmor-devel
%if %{with icu}
BuildRequires: libicu-devel
%endif
@@ -129,9 +130,6 @@
Patch: dovecot-2.2.18-dont_use_etc_ssl_certs.patch
Patch1: dovecot-2.2.18-better_ssl_defaults.patch
Patch2: dovecot-2.2.31-dhparams_fips_mode.patch
-Patch3: bcb321bc62117d30bc53a872ca1154c0100aeefd.patch
-Patch4: 8b2d740b8182c63b76ff7ef0dd5e01710228705a.patch
-Patch5: de5d6bb50931ea243f582ace5a31abb11b619ffe.patch
Summary: IMAP and POP3 Server Written Primarily with Security in Mind
License: BSD-3-Clause and LGPL-2.1+ and MIT
Group: Productivity/Networking/Email/Servers
@@ -312,14 +310,12 @@
%patch -p1
%patch1 -p1
%patch2 -p1
-%patch3 -p1
-%patch4 -p1
-%patch5 -p1
%{__gzip} -9v ChangeLog
# Fix plugins dir.
%{__sed} -i 's|#mail_plugin_dir = /usr/lib/dovecot|mail_plugin_dir = %{_libdir}/dovecot/modules|' doc/example-config/conf.d/10-mail.conf
%build
+autoreconf -fi
export CFLAGS="%{optflags}"
%if %{with clucene}
export CFLAGS="$CFLAGS -I%{_libdir}"
@@ -337,6 +333,7 @@
--with-gssapi=plugin \
--with-pgsql \
--with-mysql \
+ --with-apparmor \
%if %{with sqlite}
--with-sqlite \
%endif
@@ -568,6 +565,7 @@
%dir %{_libdir}/%{pkg_name}
%dir %{_libdir}/%{pkg_name}/modules/
%{_libdir}/%{pkg_name}/modules/lib01_acl_plugin.so
+%{_libdir}/%{pkg_name}/modules/lib01_apparmor_plugin.so
%{_libdir}/%{pkg_name}/modules/lib02_lazy_expunge_plugin.so
%{_libdir}/%{pkg_name}/modules/lib05_mail_crypt_acl_plugin.so
%{_libdir}/%{pkg_name}/modules/lib05_pop3_migration_plugin.so
++++++ dovecot-2.2-pigeonhole-0.4.19.tar.gz -> dovecot-2.2-pigeonhole-0.4.20.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dovecot-2.2-pigeonhole-0.4.19/ChangeLog new/dovecot-2.2-pigeonhole-0.4.20/ChangeLog
--- old/dovecot-2.2-pigeonhole-0.4.19/ChangeLog 2017-04-08 00:47:02.000000000 +0200
+++ new/dovecot-2.2-pigeonhole-0.4.20/ChangeLog 2017-08-27 15:17:38.000000000 +0200
@@ -1,3 +1,198 @@
+2017-08-18 02:28:14 +0200 Stephan Bosch <stephan.bosch(a)dovecot.fi> (7cd71ba)
+
+ Released v0.4.20.rc1 for Dovecot v2.2.32.rc1.
+
+
+M NEWS
+M configure.ac
+
+2017-08-16 11:04:07 +0200 Stephan Bosch <stephan.bosch(a)dovecot.fi> (f0eff5a)
+
+ Added v0.4.18 to NEWS.
+
+
+M NEWS
+
+2016-05-02 17:09:12 +0300 Timo Sirainen <timo.sirainen(a)dovecot.fi> (d0f80d3)
+
+ testsuite: Adjusted to changes in Dovecot lib-storage API.
+
+
+M src/testsuite/testsuite-mailstore.c
+
+2017-07-08 10:51:27 +0200 Stephan Bosch <stephan.bosch(a)dovecot.fi> (1a93191)
+
+ sieve-tools: sieve-filter: Forgot to clean up script binary at end of
+ execution.
+
+ Normally, this would merely be an inconsequential memory leak. However, when
+ the script comes from an LDAP storage, the storage is not closed before
+ master_service_deinit() -> io_loop_destroy(). The LDAP connection's stale io
+ can cause problems while closing the main ioloop.
+
+M src/sieve-tools/sieve-filter.c
+
+2017-07-08 10:27:52 +0200 Stephan Bosch <stephan.bosch(a)dovecot.fi> (a7b315c)
+
+ sieve-tools: Terminate with a fatal error when script cannot be
+ compiled/opened.
+
+ Rather than continuing with binary == NULL, causing a segfault.
+
+M src/lib-sieve-tool/sieve-tool.c
+
+2017-07-06 12:34:08 +0200 Stephan Bosch <stephan.bosch(a)dovecot.fi> (d6598cc)
+
+ managesieve-login: managesieve_client_input_next_cmd(): Fix handling of
+ command continuation.
+
+ Commands that continued after waiting for more input always failed. This
+ mainly applies to the AUTHENTICATE command, which mostly handles its own
+ arguments. This caused problems when a string literal was used as the
+ initial response for the AUTHENTICATE command.
+
+ Caused by recent change:
+
+ Author: Timo Sirainen <timo.sirainen(a)dovecot.fi> Date: Wed Jun 14 12:39:02
+ 2017 +0300
+
+ managesieve-login: managesieve_client_input_next_cmd() - minor code cleanup
+
+M src/managesieve-login/client.c
+
+2017-07-06 12:28:44 +0200 Stephan Bosch <stephan.bosch(a)dovecot.fi> (159ab36)
+
+ managesieve-login: authenticate command: Make sure
+ client->auth_mech_name_parsed is reset properly upon command error.
+
+ This could cause problems for any subsequent AUTHENTICATE commmend.
+
+M src/managesieve-login/client-authenticate.c
+
+2017-06-28 18:41:33 +0200 Stephan Bosch <stephan.bosch(a)dovecot.fi> (af36600)
+
+ LDA Sieve plugin: Fixed memory leak caused by not cleaning up the
+ sieve_discard script.
+
+ Moved script cleanup to separate function as well.
+
+M src/plugins/lda-sieve/lda-sieve-plugin.c
+
+2017-06-13 19:36:57 +0200 Stephan Bosch <stephan.bosch(a)dovecot.fi> (ccb15cc)
+
+ lib-sieve: Made the retention period for redirect duplicate identifiers
+ configurable.
+
+ For accounts that perform many redirects, the lda-dupes database could grow
+ to impractical sizes. Changed the default retention period from 24 to 12
+ hours.
+
+M INSTALL
+M src/lib-sieve/cmd-redirect.c
+M src/lib-sieve/sieve-common.h
+M src/lib-sieve/sieve-config.h
+M src/lib-sieve/sieve-settings.c
+
+2017-06-22 21:12:21 +0200 Stephan Bosch <stephan.bosch(a)dovecot.fi> (0714b34)
+
+ lib-sieve: include extension: Fixed segfault that (sometimes) occurred when
+ the global script location was left unconfigured.
+
+
+M src/lib-sieve/plugins/include/ext-include-binary.c
+M src/lib-sieve/plugins/include/ext-include-common.c
+
+2017-06-20 23:36:10 +0200 Stephan Bosch <stephan.bosch(a)dovecot.fi> (62151b1)
+
+ sieve-tools: Make sure sieve command line tools properly show debug messages
+ if requested.
+
+
+M src/lib-sieve-tool/sieve-tool.c
+M src/sieve-tools/sieve-filter.c
+
+2017-06-20 20:46:28 +0200 Stephan Bosch <stephan.bosch(a)dovecot.fi> (39d4c9e)
+
+ lib-sieve: Clear extension context upon unload.
+
+
+M src/lib-sieve/sieve-extensions.c
+
+2017-06-16 14:42:39 +0300 Timo Sirainen <timo.sirainen(a)dovecot.fi> (c854655)
+
+ managesieve-login: Adjust to new client_vfuncs.free() API change
+
+
+M src/managesieve-login/client.c
+
+2017-06-14 12:39:46 +0300 Timo Sirainen <timo.sirainen(a)dovecot.fi> (fbe1a74)
+
+ managesieve-login: managesieve_client_input_next_cmd() - Add assert to help
+ static analyzer
+
+
+M src/managesieve-login/client.c
+
+2017-06-14 12:39:02 +0300 Timo Sirainen <timo.sirainen(a)dovecot.fi> (4434f69)
+
+ managesieve-login: managesieve_client_input_next_cmd() - minor code cleanup
+
+
+M src/managesieve-login/client.c
+
+2017-06-12 23:00:26 +0300 Timo Sirainen <timo.sirainen(a)dovecot.fi> (7ef6680)
+
+ managesieve-login: Adjust to login-common API change
+
+
+M src/managesieve-login/client.c
+
+2017-05-24 17:00:26 +0200 Stephan Bosch <stephan.bosch(a)dovecot.fi> (183bc5b)
+
+ Added v0.4.18 to NEWS.
+
+
+M NEWS
+
+2017-04-28 00:02:39 +0200 Stephan Bosch <stephan.bosch(a)dovecot.fi> (403042e)
+
+ lib-sieve: Fixed bug in handling of deferred implicit keep with implicit
+ side-effects.
+
+ Upon continuing the deferred implicit keep, the implicit side-effects (such
+ as imap flags) were not applied.
+
+M src/lib-sieve/sieve-result.c
+
+2017-04-24 18:58:07 +0300 Timo Sirainen <timo.sirainen(a)dovecot.fi> (b07b4c0)
+
+ imapsieve: Use client_add_capability() for adding the dynamic capability
+
+
+M src/plugins/imapsieve/imap-sieve-plugin.c
+
+2017-04-21 13:37:40 +0300 Timo Sirainen <timo.sirainen(a)dovecot.fi> (583db21)
+
+ managesieve-login: Fill the new client_vfuncs.send_raw_data
+
+
+M src/managesieve-login/client.c
+
+2017-04-12 13:17:53 +0200 Stephan Bosch <stephan.bosch(a)dovecot.fi> (3346f01)
+
+ imapsieve: Fixed flag assignment for the source message.
+
+ Implicit keep was deferred for the source message, which discards all flags.
+
+M src/plugins/imapsieve/imap-sieve.c
+
+2017-04-05 16:02:51 +0300 Timo Sirainen <timo.sirainen(a)dovecot.fi> (e506253)
+
+ managesieve-login: Fill the new banner_sent field.
+
+
+M src/managesieve-login/client.c
+
2017-04-03 20:13:50 +0200 Stephan Bosch <stephan.bosch(a)dovecot.fi> (56ce39d)
Added v0.4.17 to NEWS.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dovecot-2.2-pigeonhole-0.4.19/INSTALL new/dovecot-2.2-pigeonhole-0.4.20/INSTALL
--- old/dovecot-2.2-pigeonhole-0.4.19/INSTALL 2016-10-20 23:33:52.000000000 +0200
+++ new/dovecot-2.2-pigeonhole-0.4.20/INSTALL 2017-08-16 11:03:39.000000000 +0200
@@ -271,6 +271,16 @@
the envelope sender of the redirected message is also always "<>",
irrespective of what is configured for this setting.
+ sieve_redirect_duplicate_period = 12h
+ In an effort to halt potential mail loops, the Sieve redirect action records
+ identifying information for messages it has forwarded. If a duplicate message
+ is seen, it is not redirected and the message is discarded; i.e., the
+ implicit keep is canceled. This setting configures the period during which
+ the identifying information is recorded. If an account forwards many
+ messages, it may be necessary to lower this setting to prevent the
+ ~/.dovecot.lda-dupes database file (in which these are recorded) from growing
+ to an impractical size.
+
For example:
plugin {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dovecot-2.2-pigeonhole-0.4.19/NEWS new/dovecot-2.2-pigeonhole-0.4.20/NEWS
--- old/dovecot-2.2-pigeonhole-0.4.19/NEWS 2017-06-26 20:54:55.000000000 +0200
+++ new/dovecot-2.2-pigeonhole-0.4.20/NEWS 2017-08-27 14:41:31.000000000 +0200
@@ -1,3 +1,19 @@
+v0.4.20 27-08-2017 Stephan Bosch <stephan(a)rename-it.nl>
+
+ + Made the retention period for redirect duplicate identifiers configurable.
+ For accounts that perform many redirects, the lda-dupes database could grow
+ to impractical sizes. Changed the default retention period from 24 to 12
+ hours.
+ - sieve-filter: Fixed memory leak: forgot to clean up script binary at end of
+ execution. Normally, this would merely be an inconsequential memory leak.
+ However, when the script comes from an LDAP storage, this would cause io
+ leak warnings.
+ - managesieve-login: Fixed handling of AUTHENTICATE command. A second
+ authenticate command would be parsed wrong. This problem was caused by
+ changes in the previous release.
+ - LDA Sieve plugin: Fixed minor memory leak caused by not cleaning up the
+ sieve_discard script.
+
v0.4.19 26-06-2017 Stephan Bosch <stephan(a)rename-it.nl>
* This release adjusts Pigeonhole to several changes in the Dovecot API,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dovecot-2.2-pigeonhole-0.4.19/configure new/dovecot-2.2-pigeonhole-0.4.20/configure
--- old/dovecot-2.2-pigeonhole-0.4.19/configure 2017-06-26 20:55:04.000000000 +0200
+++ new/dovecot-2.2-pigeonhole-0.4.20/configure 2017-08-27 14:42:38.000000000 +0200
@@ -1,6 +1,6 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for Pigeonhole 0.4.19.
+# Generated by GNU Autoconf 2.69 for Pigeonhole 0.4.20.
#
# Report bugs to <dovecot(a)dovecot.org>.
#
@@ -590,8 +590,8 @@
# Identity of this package.
PACKAGE_NAME='Pigeonhole'
PACKAGE_TARNAME='dovecot-2.2-pigeonhole'
-PACKAGE_VERSION='0.4.19'
-PACKAGE_STRING='Pigeonhole 0.4.19'
+PACKAGE_VERSION='0.4.20'
+PACKAGE_STRING='Pigeonhole 0.4.20'
PACKAGE_BUGREPORT='dovecot(a)dovecot.org'
PACKAGE_URL=''
@@ -1392,7 +1392,7 @@
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
-\`configure' configures Pigeonhole 0.4.19 to adapt to many kinds of systems.
+\`configure' configures Pigeonhole 0.4.20 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1463,7 +1463,7 @@
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of Pigeonhole 0.4.19:";;
+ short | recursive ) echo "Configuration of Pigeonhole 0.4.20:";;
esac
cat <<\_ACEOF
@@ -1582,7 +1582,7 @@
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-Pigeonhole configure 0.4.19
+Pigeonhole configure 0.4.20
generated by GNU Autoconf 2.69
Copyright (C) 2012 Free Software Foundation, Inc.
@@ -1951,7 +1951,7 @@
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
-It was created by Pigeonhole $as_me 0.4.19, which was
+It was created by Pigeonhole $as_me 0.4.20, which was
generated by GNU Autoconf 2.69. Invocation command line was
$ $0 $@
@@ -2841,7 +2841,7 @@
# Define the identity of the package.
PACKAGE='dovecot-2.2-pigeonhole'
- VERSION='0.4.19'
+ VERSION='0.4.20'
# Some tools Automake needs.
@@ -12875,7 +12875,7 @@
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
-This file was extended by Pigeonhole $as_me 0.4.19, which was
+This file was extended by Pigeonhole $as_me 0.4.20, which was
generated by GNU Autoconf 2.69. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -12941,7 +12941,7 @@
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
ac_cs_version="\\
-Pigeonhole config.status 0.4.19
+Pigeonhole config.status 0.4.20
configured by $0, generated by GNU Autoconf 2.69,
with options \\"\$ac_cs_config\\"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dovecot-2.2-pigeonhole-0.4.19/configure.ac new/dovecot-2.2-pigeonhole-0.4.20/configure.ac
--- old/dovecot-2.2-pigeonhole-0.4.19/configure.ac 2017-06-26 20:52:37.000000000 +0200
+++ new/dovecot-2.2-pigeonhole-0.4.20/configure.ac 2017-08-27 14:41:11.000000000 +0200
@@ -2,7 +2,7 @@
# Be sure to update ABI version also if anything changes that might require
# recompiling plugins. Most importantly that means if any structs are changed.
-AC_INIT([Pigeonhole], [0.4.19], [dovecot(a)dovecot.org] [dovecot-2.2-pigeonhole])
+AC_INIT([Pigeonhole], [0.4.20], [dovecot(a)dovecot.org] [dovecot-2.2-pigeonhole])
AC_DEFINE_UNQUOTED([PIGEONHOLE_ABI_VERSION], "0.4.ABIv2($PACKAGE_VERSION)", [Pigeonhole ABI version])
AC_CONFIG_AUX_DIR([.])
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dovecot-2.2-pigeonhole-0.4.19/pigeonhole-version.h new/dovecot-2.2-pigeonhole-0.4.20/pigeonhole-version.h
--- old/dovecot-2.2-pigeonhole-0.4.19/pigeonhole-version.h 2017-06-22 21:32:24.000000000 +0200
+++ new/dovecot-2.2-pigeonhole-0.4.20/pigeonhole-version.h 2017-08-27 14:42:44.000000000 +0200
@@ -1,6 +1,6 @@
#ifndef PIGEONHOLE_VERSION_H
#define PIGEONHOLE_VERSION_H
-#define PIGEONHOLE_VERSION_FULL PIGEONHOLE_VERSION" (e5c7051)"
+#define PIGEONHOLE_VERSION_FULL PIGEONHOLE_VERSION" (7cd71ba)"
#endif /* PIGEONHOLE_VERSION_H */
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dovecot-2.2-pigeonhole-0.4.19/src/lib-sieve/cmd-redirect.c new/dovecot-2.2-pigeonhole-0.4.20/src/lib-sieve/cmd-redirect.c
--- old/dovecot-2.2-pigeonhole-0.4.19/src/lib-sieve/cmd-redirect.c 2017-05-24 16:59:30.000000000 +0200
+++ new/dovecot-2.2-pigeonhole-0.4.20/src/lib-sieve/cmd-redirect.c 2017-08-27 12:53:45.000000000 +0200
@@ -30,12 +30,6 @@
#include <stdio.h>
/*
- * Configuration
- */
-
-#define CMD_REDIRECT_DUPLICATE_KEEP (3600 * 24)
-
-/*
* Redirect command
*
* Syntax
@@ -425,6 +419,7 @@
const struct sieve_action_exec_env *aenv, void *tr_context ATTR_UNUSED,
bool *keep)
{
+ struct sieve_instance *svinst = aenv->svinst;
struct act_redirect_context *ctx =
(struct act_redirect_context *) action->context;
struct sieve_message_context *msgctx = aenv->msgctx;
@@ -504,7 +499,7 @@
/* Mark this message id as forwarded to the specified destination */
sieve_action_duplicate_mark(senv, dupeid, strlen(dupeid),
- ioloop_time + CMD_REDIRECT_DUPLICATE_KEEP);
+ ioloop_time + svinst->redirect_duplicate_period);
sieve_result_global_log(aenv, "forwarded to <%s>",
str_sanitize(ctx->to_address, 128));
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dovecot-2.2-pigeonhole-0.4.19/src/lib-sieve/sieve-common.h new/dovecot-2.2-pigeonhole-0.4.20/src/lib-sieve/sieve-common.h
--- old/dovecot-2.2-pigeonhole-0.4.19/src/lib-sieve/sieve-common.h 2017-01-23 18:18:09.000000000 +0100
+++ new/dovecot-2.2-pigeonhole-0.4.20/src/lib-sieve/sieve-common.h 2017-08-16 11:03:39.000000000 +0200
@@ -203,6 +203,7 @@
unsigned int max_redirects;
const struct sieve_address *user_email;
struct sieve_address_source redirect_from;
+ unsigned int redirect_duplicate_period;
};
/*
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dovecot-2.2-pigeonhole-0.4.19/src/lib-sieve/sieve-config.h new/dovecot-2.2-pigeonhole-0.4.20/src/lib-sieve/sieve-config.h
--- old/dovecot-2.2-pigeonhole-0.4.19/src/lib-sieve/sieve-config.h 2017-01-23 18:18:09.000000000 +0100
+++ new/dovecot-2.2-pigeonhole-0.4.20/src/lib-sieve/sieve-config.h 2017-08-16 11:03:39.000000000 +0200
@@ -14,4 +14,6 @@
#define DEFAULT_ENVELOPE_SENDER "MAILER-DAEMON"
+#define DEFAULT_REDIRECT_DUPLICATE_PERIOD (3600 * 12)
+
#endif
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dovecot-2.2-pigeonhole-0.4.19/src/lib-sieve/sieve-settings.c new/dovecot-2.2-pigeonhole-0.4.20/src/lib-sieve/sieve-settings.c
--- old/dovecot-2.2-pigeonhole-0.4.19/src/lib-sieve/sieve-settings.c 2017-05-24 16:59:30.000000000 +0200
+++ new/dovecot-2.2-pigeonhole-0.4.20/src/lib-sieve/sieve-settings.c 2017-08-27 12:53:45.000000000 +0200
@@ -208,6 +208,7 @@
const char *str_setting;
unsigned long long int uint_setting;
size_t size_setting;
+ sieve_number_t period;
svinst->max_script_size = SIEVE_DEFAULT_MAX_SCRIPT_SIZE;
if ( sieve_setting_get_size_value
@@ -231,6 +232,15 @@
svinst->pool, "sieve_redirect_envelope_from",
&svinst->redirect_from);
+ svinst->redirect_duplicate_period = DEFAULT_REDIRECT_DUPLICATE_PERIOD;
+ if ( sieve_setting_get_duration_value
+ (svinst, "sieve_redirect_duplicate_period", &period) ) {
+ if (period > UINT_MAX)
+ svinst->redirect_duplicate_period = UINT_MAX;
+ else
+ svinst->redirect_duplicate_period = (unsigned int)period;
+ }
+
str_setting = sieve_setting_get(svinst, "sieve_user_email");
if ( str_setting != NULL && *str_setting != '\0' ) {
svinst->user_email =
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dovecot-2.2-pigeonhole-0.4.19/src/lib-sieve-tool/sieve-tool.c new/dovecot-2.2-pigeonhole-0.4.20/src/lib-sieve-tool/sieve-tool.c
--- old/dovecot-2.2-pigeonhole-0.4.19/src/lib-sieve-tool/sieve-tool.c 2017-06-22 21:31:51.000000000 +0200
+++ new/dovecot-2.2-pigeonhole-0.4.20/src/lib-sieve-tool/sieve-tool.c 2017-08-27 12:53:45.000000000 +0200
@@ -536,7 +536,7 @@
if ( (sbin = sieve_compile
(svinst, filename, name, ehandler, 0, NULL)) == NULL )
- i_error("failed to compile sieve script '%s'", filename);
+ i_fatal("failed to compile sieve script '%s'", filename);
sieve_error_handler_unref(&ehandler);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dovecot-2.2-pigeonhole-0.4.19/src/managesieve-login/client-authenticate.c new/dovecot-2.2-pigeonhole-0.4.20/src/managesieve-login/client-authenticate.c
--- old/dovecot-2.2-pigeonhole-0.4.19/src/managesieve-login/client-authenticate.c 2017-05-24 16:59:30.000000000 +0200
+++ new/dovecot-2.2-pigeonhole-0.4.20/src/managesieve-login/client-authenticate.c 2017-08-27 12:53:45.000000000 +0200
@@ -299,8 +299,8 @@
msieve_client->skip_line = FALSE;
if ( (ret=managesieve_client_auth_read_response(msieve_client, TRUE, &error))
< 0 ) {
+ msieve_client->auth_mech_name_parsed = FALSE;
if ( error != NULL ) {
- msieve_client->auth_mech_name_parsed = FALSE;
client_send_no(client, error);
}
return 1;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dovecot-2.2-pigeonhole-0.4.19/src/managesieve-login/client.c new/dovecot-2.2-pigeonhole-0.4.20/src/managesieve-login/client.c
--- old/dovecot-2.2-pigeonhole-0.4.19/src/managesieve-login/client.c 2017-06-16 15:20:29.000000000 +0200
+++ new/dovecot-2.2-pigeonhole-0.4.20/src/managesieve-login/client.c 2017-07-13 01:03:32.000000000 +0200
@@ -301,8 +301,10 @@
if ( args[0].type != MANAGESIEVE_ARG_EOL )
ret = -1;
}
- if (ret > 0)
- ret = client->cmd->func(client, args);
+ }
+ if (ret > 0) {
+ i_assert(client->cmd != NULL);
+ ret = client->cmd->func(client, args);
}
if (ret != 0)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dovecot-2.2-pigeonhole-0.4.19/src/plugins/lda-sieve/lda-sieve-plugin.c new/dovecot-2.2-pigeonhole-0.4.20/src/plugins/lda-sieve/lda-sieve-plugin.c
--- old/dovecot-2.2-pigeonhole-0.4.19/src/plugins/lda-sieve/lda-sieve-plugin.c 2017-05-24 16:59:26.000000000 +0200
+++ new/dovecot-2.2-pigeonhole-0.4.20/src/plugins/lda-sieve/lda-sieve-plugin.c 2017-07-13 01:03:05.000000000 +0200
@@ -748,6 +748,17 @@
return ret;
}
+static void
+lda_sieve_free_scripts(struct lda_sieve_run_context *srctx)
+{
+ unsigned int i;
+
+ for ( i = 0; i < srctx->script_count; i++ )
+ sieve_script_unref(&srctx->scripts[i]);
+ if ( srctx->discard_script != NULL )
+ sieve_script_unref(&srctx->discard_script);
+}
+
static int lda_sieve_execute
(struct lda_sieve_run_context *srctx, struct mail_storage **storage_r)
{
@@ -858,7 +869,6 @@
struct lda_sieve_run_context srctx;
bool debug = mdctx->dest_user->mail_debug;
struct sieve_environment svenv;
- unsigned int i;
int ret = 0;
/* Initialize run context */
@@ -899,12 +909,10 @@
ret = -1;
else if ( srctx.scripts == NULL )
ret = 0;
- else {
+ else
ret = lda_sieve_execute(&srctx, storage_r);
-
- for ( i = 0; i < srctx.script_count; i++ )
- sieve_script_unref(&srctx.scripts[i]);
- }
+
+ lda_sieve_free_scripts(&srctx);
} T_END;
/* Clean up */
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dovecot-2.2-pigeonhole-0.4.19/src/sieve-tools/sieve-filter.c new/dovecot-2.2-pigeonhole-0.4.20/src/sieve-tools/sieve-filter.c
--- old/dovecot-2.2-pigeonhole-0.4.19/src/sieve-tools/sieve-filter.c 2017-06-22 21:31:51.000000000 +0200
+++ new/dovecot-2.2-pigeonhole-0.4.20/src/sieve-tools/sieve-filter.c 2017-08-27 12:53:45.000000000 +0200
@@ -581,6 +581,10 @@
if ( move_box != NULL )
mailbox_free(&move_box);
+ /* Close the script binary */
+ if ( main_sbin != NULL )
+ sieve_close(&main_sbin);
+
/* Cleanup error handler */
sieve_error_handler_unref(&ehandler);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dovecot-2.2-pigeonhole-0.4.19/src/testsuite/testsuite-mailstore.c new/dovecot-2.2-pigeonhole-0.4.20/src/testsuite/testsuite-mailstore.c
--- old/dovecot-2.2-pigeonhole-0.4.19/src/testsuite/testsuite-mailstore.c 2017-05-24 16:59:30.000000000 +0200
+++ new/dovecot-2.2-pigeonhole-0.4.20/src/testsuite/testsuite-mailstore.c 2017-08-27 12:53:45.000000000 +0200
@@ -97,6 +97,8 @@
if (mail_storage_create(ns, "maildir", 0, &error) < 0)
i_fatal("Couldn't create testsuite storage: %s", error);
+ if (mail_namespaces_init_finish(ns, &error) < 0)
+ i_fatal("Couldn't create testsuite namespace: %s", error);
testsuite_mailstore_user = mail_user;
}
++++++ dovecot-2.2-pigeonhole-0.4.19.tar.gz -> dovecot-2.2.32.tar.gz ++++++
++++ 1064118 lines of diff (skipped)
1
0
Hello community,
here is the log from the commit of package lasem for openSUSE:Factory checked in at 2017-08-29 11:44:59
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/lasem (Old)
and /work/SRC/openSUSE:Factory/.lasem.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "lasem"
Tue Aug 29 11:44:59 2017 rev:8 rq:519089 version:0.4.3
Changes:
--------
--- /work/SRC/openSUSE:Factory/lasem/lasem.changes 2016-06-07 23:50:05.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.lasem.new/lasem.changes 2017-08-29 11:45:10.907010133 +0200
@@ -1,0 +2,11 @@
+Sat Aug 26 16:40:40 UTC 2017 - jengelh(a)inai.de
+
+- Fix RPM group and summaries.
+
+-------------------------------------------------------------------
+Thu Aug 24 15:08:34 UTC 2017 - zaitor(a)opensuse.org
+
+- Add lasem-cairo-avoid-integer-overflow.patch cairo: Avoid integer
+ overflow (CVE-2013-7447).
+
+-------------------------------------------------------------------
New:
----
lasem-cairo-avoid-integer-overflow.patch
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ lasem.spec ++++++
--- /var/tmp/diff_new_pack.4kyVcV/_old 2017-08-29 11:45:11.834879338 +0200
+++ /var/tmp/diff_new_pack.4kyVcV/_new 2017-08-29 11:45:11.842878210 +0200
@@ -1,7 +1,7 @@
#
# spec file for package lasem
#
-# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -20,11 +20,13 @@
Name: lasem
Version: 0.4.3
Release: 0
-Summary: Mathml and SVG rendering library
+Summary: MathML and SVG rendering library
License: LGPL-2.1+
-Group: System/Libraries
+Group: Development/Libraries/C and C++
Url: https://live.gnome.org/Lasem
Source: http://download.gnome.org/sources/%{name}/%{api}/%{name}-%{version}.tar.xz
+# PATCH-FIX-UPSTREAM lasem-cairo-avoid-integer-overflow.patch CVE-2013-7447 zaitor(a)opensuse.org -- cairo: Avoid integer overflow
+Patch0: lasem-cairo-avoid-integer-overflow.patch
BuildRequires: bison
BuildRequires: gobject-introspection >= 0.6.7
BuildRequires: intltool >= 0.35.0
@@ -38,31 +40,32 @@
BuildRoot: %{_tmppath}/%{name}-%{version}-build
%description
-Lasem is a library for rendering SVG and Mathml, implementing a DOM like API.
-It's based on GObject and use Pango and Cairo for the rendering. Included in the package,
-there is a simple application, lasemrender, which is able to convert a Mathml, a latex
-math or a SVG file to either a PNG, PDF or SVG image.
+Lasem is a library for rendering SVG and MathML, implementing a DOM like API.
+It's based on GObject and uses Pango and Cairo for the rendering. Included in the package
+is a simple application, lasemrender, which is able to convert a MathML, a Latex
+math or an SVG file to either PNG, PDF or an SVG image.
%package -n liblasem-0_4-4
-Summary: Mathml and SVG rendering library
+Summary: MathML and SVG rendering library
Group: System/Libraries
Recommends: %{name}-lang
%description -n liblasem-0_4-4
-Lasem is a library for rendering SVG and Mathml, implementing a DOM like API.
-It's based on GObject and use Pango and Cairo for the rendering.
+Lasem is a library for rendering SVG and MathML, implementing a DOM like API.
+It's based on GObject and uses Pango and Cairo for the rendering.
%package devel
-Summary: Mathml and SVG rendering library -- Development files
+Summary: Development files for lasem, a MathML and SVG rendering library
Group: Development/Languages/C and C++
Requires: liblasem-0_4-4 = %{version}
%description devel
-Lasem is a library for rendering SVG and Mathml, implementing a DOM like API.
-It's based on GObject and use Pango and Cairo for the rendering.
+Lasem is a library for rendering SVG and MathML, implementing a DOM like API.
+It's based on GObject and uses Pango and Cairo for the rendering.
%prep
%setup -q
+%patch0 -p1
%build
%configure \
++++++ lasem-cairo-avoid-integer-overflow.patch ++++++
>From 6f2feed780d9139a45c06e1ad399d06a4f351fbf Mon Sep 17 00:00:00 2001
From: RyuzakiKK <aasonykk(a)gmail.com>
Date: Sat, 5 Aug 2017 21:40:55 +0200
Subject: cairo: Avoid integer overflow CVE-2013-7447
lasem is affected by a possible integer overflow, that was also
found and patched upstream in gtk+
https://git.gnome.org/browse/gtk+/commit/?id=894b1ae76a32720f4bb3d39cf46040…
---
src/lsmcairo.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/lsmcairo.c b/src/lsmcairo.c
index c568fd5..73fb93e 100644
--- a/src/lsmcairo.c
+++ b/src/lsmcairo.c
@@ -528,7 +528,7 @@ lsm_cairo_set_source_pixbuf (cairo_t *cairo,
format = CAIRO_FORMAT_ARGB32;
cairo_stride = cairo_format_stride_for_width (format, width);
- cairo_pixels = g_malloc (height * cairo_stride);
+ cairo_pixels = g_malloc_n (height, cairo_stride);
surface = cairo_image_surface_create_for_data ((unsigned char *)cairo_pixels,
format,
width, height, cairo_stride);
--
cgit v0.12
1
0
Hello community,
here is the log from the commit of package plplot for openSUSE:Factory checked in at 2017-08-29 11:44:55
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/plplot (Old)
and /work/SRC/openSUSE:Factory/.plplot.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "plplot"
Tue Aug 29 11:44:55 2017 rev:44 rq:519069 version:5.13.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/plplot/plplot.changes 2017-06-21 13:57:56.569012600 +0200
+++ /work/SRC/openSUSE:Factory/.plplot.new/plplot.changes 2017-08-29 11:45:06.687604917 +0200
@@ -1,0 +2,22 @@
+Sat Aug 26 15:29:06 UTC 2017 - badshah400(a)gmail.com
+
+- Update to version 5.13.0:
+ * Bug fixes.
+ * The Python binding and examples now work for both Python 2 and
+ 3.
+ * Change the Fortran naming convention.
+ * Fix many "space in prefix" issues.
+ * Complete rewrite of IPC between -dev wxwidgets and wxPLViewer.
+ * Implement a new Windows GDI (wingdi) device driver.
+ * Implement new Python extension module to support pytkdemo.
+ * Fix OCaml inconsistencies for example 8.
+ * Improve the implementation of the OCaml binding.
+- Add shapelib BuildRequires for added features.
+- Rename fortran shared lib and devel package in keeping with
+ corresponding shared object naming changes.
+- Use ctest for the check section. This allows the disabling of
+ tests that either fail because of issues with the test codes
+ themselves (octave), or because of lack of a full Xserver (Qt
+ tests).
+
+-------------------------------------------------------------------
Old:
----
plplot-5.12.0.tar.gz
New:
----
plplot-5.13.0.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ plplot.spec ++++++
--- /var/tmp/diff_new_pack.IvsDBS/_old 2017-08-29 11:45:09.083267215 +0200
+++ /var/tmp/diff_new_pack.IvsDBS/_new 2017-08-29 11:45:09.119262141 +0200
@@ -25,7 +25,7 @@
%define tk_enabled 1
%if 0%{?suse_version} != 1315 || (0%{?is_opensuse} && 0%{?sle_version}==120200)
-%define octave_enabled 0
+%define octave_enabled 1
%else
%define octave_enabled 0
%endif
@@ -33,18 +33,18 @@
%define X_display ":98"
%define ada_shlib libplplotada2
-%define c_shlib libplplot14
+%define c_shlib libplplot15
%define cxx_shlib libplplotcxx13
%define csirocsa_shlib libcsirocsa0
%define csironn_shlib libcsironn0
-%define fort_shlib libplplotf95-13
+%define fort_shlib libplplotfortran0
%define qsastime_shlib libqsastime0
%define qt_shlib libplplotqt2
%define wx_shlib libplplotwxwidgets1
# DONT SPLIT OUT plplot-tcltk-libs INTO INDIVIDUAL SHARED LIBS AS THEY ARE ALL REQUIRED TOGETHER AND THEIR SO NUMBERING CHANGE IN-STEP WITH EACH OTHER
Name: plplot
-Version: 5.12.0
+Version: 5.13.0
Release: 0
Summary: Software package for creating scientific plots
License: LGPL-2.1+
@@ -71,6 +71,7 @@
BuildRequires: python-numpy-devel
BuildRequires: python-qt5-devel
BuildRequires: qhull-devel
+BuildRequires: shapelib
BuildRequires: swig
BuildRequires: tcl-devel
BuildRequires: tk-devel
@@ -330,10 +331,10 @@
%files -n %{fort_shlib}
%defattr(-,root,root)
-%{_libdir}/libplplotf95.so.*
+%{_libdir}/libplplotfortran.so.*
##########################################################################
-%package -n %{name}f95-devel
+%package -n %{name}fortran-devel
##########################################################################
Summary: Fortran bindings for development with PLplot
Group: Development/Languages/Fortran
@@ -341,24 +342,26 @@
Requires: %{name}-common = %{version}
Requires: gcc-fortran
Requires: pkgconfig
+Obsoletes: %{name}f95-devel < 5.13.0
+Provides: %{name}f95-devel = %{version}
Obsoletes: %{name}-fortran-devel < 5.12.0
Provides: %{name}-fortran-devel = %{version}
-%description -n %{name}f95-devel
+%description -n %{name}fortran-devel
PLplot is a library of functions that are useful for making scientific
plots.
This package provides the files necessary for using PLplot in Fortran.
-%files -n %{name}f95-devel
+%files -n %{name}fortran-devel
%defattr(-,root,root)
%dir %{_libdir}/fortran
%dir %{_libdir}/fortran/modules
%{_libdir}/fortran/modules/plplot/
-%{_libdir}/libplplotf95.so
-%{_libdir}/pkgconfig/plplot-f95.pc
-%{_datadir}/plplot%{version}/examples/f95/
-%{_datadir}/plplot%{version}/examples/test_f95.sh
+%{_libdir}/libplplotfortran.so
+%{_libdir}/pkgconfig/plplot-fortran.pc
+%{_datadir}/plplot%{version}/examples/fortran/
+%{_datadir}/plplot%{version}/examples/test_fortran.sh
##########################################################################
%package java
@@ -377,7 +380,7 @@
%files java
%defattr(-,root,root)
-%{_libdir}/plplot%{version}/plplotjavac_wrap.so
+%{_libdir}/plplot%{version}/libplplotjavac_wrap.so
%{_datadir}/java/plplot.jar
%{_datadir}/plplot%{version}/examples/java/
%{_datadir}/plplot%{version}/examples/test_java.sh
@@ -425,7 +428,6 @@
%{_datadir}/octave/site/m/PLplot/
%{_libdir}/octave/site/oct/*/plplot_octave.oct
%{_datadir}/plplot%{version}/examples/octave/
-%{_datadir}/plplot%{version}/examples/Chloe.img
%{_datadir}/plplot%{version}/examples/test_octave.sh
%endif
##########################################################################
@@ -552,7 +554,7 @@
%{_datadir}/plplot%{version}/tcl/
%{_mandir}/man1/plserver.1.gz
%{_mandir}/man1/pltcl.1.gz
-%{python_sitearch}/plplot_widgetmodule.so
+
%if %{tk_enabled}
%{_bindir}/plserver
%{python_sitearch}/Plframe.py*
@@ -562,6 +564,7 @@
%{_libdir}/plplot%{version}/drivers/tk.so
%{_libdir}/plplot%{version}/drivers/tkwin.driver_info
%{_libdir}/plplot%{version}/drivers/tkwin.so
+%{python_sitearch}/*Pltk_init.*
%endif
##########################################################################
@@ -766,7 +769,7 @@
%files -n python-%{name}
%defattr(-,root,root)
-%{python_sitearch}/_plplotcmodule.so
+%{python_sitearch}/_plplotc.so
%{python_sitearch}/plplot.py*
%{python_sitearch}/plplotc.py*
%{_datadir}/plplot%{version}/examples/python/
@@ -1000,20 +1003,18 @@
%endif
#Remove a fortran static library
-rm -fr %{buildroot}%{_libdir}/libplf95*.a
+rm %{buildroot}%{_libdir}/libplfortrandemolib*.a
%fdupes %{buildroot}%{_datadir}/
-## Disable check section for now (until octave tests are fixed)
%check
pushd builddir
-# octave tests require Xserver display
-# but octave bindings are not building right now, so...
-# export DISPLAY=%%{X_display}
-# Xvfb %%{X_display} >& Xvfb.log &
-# sleep 5
-# export octaveopts=--no-window-system
-make %{?_smp_mflags} test_diff_psc
+export DISPLAY=%{X_display}
+Xvfb %{X_display} >& Xvfb.log &
+sleep 5
+# Octave tests fail, known issue with tests
+# Qt tests fail on Xvfb
+ctest -V -E "octave|qt" %{?_smp_mflags}
popd
%changelog
++++++ plplot-5.12.0.tar.gz -> plplot-5.13.0.tar.gz ++++++
/work/SRC/openSUSE:Factory/plplot/plplot-5.12.0.tar.gz /work/SRC/openSUSE:Factory/.plplot.new/plplot-5.13.0.tar.gz differ: char 5, line 1
1
0
Hello community,
here is the log from the commit of package poppler-data for openSUSE:Factory checked in at 2017-08-29 11:44:51
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/poppler-data (Old)
and /work/SRC/openSUSE:Factory/.poppler-data.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "poppler-data"
Tue Aug 29 11:44:51 2017 rev:23 rq:519067 version:0.4.8
Changes:
--------
--- /work/SRC/openSUSE:Factory/poppler-data/poppler-data.changes 2014-09-10 17:03:10.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.poppler-data.new/poppler-data.changes 2017-08-29 11:45:01.500336137 +0200
@@ -1,0 +2,10 @@
+Sat Aug 26 10:57:10 UTC 2017 - zaitor(a)opensuse.org
+
+- Update to version 0.4.8:
+ + Update files from xpdf data files.
+ + Update mapping resources from Adobe.
+ + Update cmap resources from Adobe.
+ + cmake: Install the .pc file.
+- Run spec-cleaner, modernize spec.
+
+-------------------------------------------------------------------
Old:
----
poppler-data-0.4.7.tar.gz
New:
----
poppler-data-0.4.8.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ poppler-data.spec ++++++
--- /var/tmp/diff_new_pack.DUAaYu/_old 2017-08-29 11:45:03.220093712 +0200
+++ /var/tmp/diff_new_pack.DUAaYu/_new 2017-08-29 11:45:03.252089202 +0200
@@ -1,7 +1,7 @@
#
# spec file for package poppler-data
#
-# Copyright (c) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -17,16 +17,15 @@
Name: poppler-data
-Version: 0.4.7
+Version: 0.4.8
Release: 0
-Url: http://poppler.freedesktop.org/
Summary: Encoding Files for use with libpoppler
-License: BSD-3-Clause and GPL-2.0
+License: BSD-3-Clause AND GPL-2.0
Group: System/Libraries
-Source: http://poppler.freedesktop.org/%{name}-%{version}.tar.gz
-BuildRequires: pkg-config
+Url: https://poppler.freedesktop.org/
+Source: https://poppler.freedesktop.org/%{name}-%{version}.tar.gz
+BuildRequires: pkgconfig
BuildArch: noarch
-BuildRoot: %{_tmppath}/%{name}-%{version}-build
%description
This package consists of encoding files for use with poppler. The
@@ -38,14 +37,14 @@
%setup -q
%build
-make %{?jobs:-j%jobs} prefix=%{_prefix}
+%make_build prefix=%{_prefix}
%install
-%makeinstall prefix=%{_prefix}
+%make_install prefix=%{_prefix}
%files
-%defattr (-, root, root)
-%doc COPYING COPYING.adobe COPYING.gpl2 README
+%license COPYING COPYING.adobe COPYING.gpl2
+%doc README
%{_datadir}/poppler
%{_datadir}/pkgconfig/poppler-data.pc
++++++ poppler-data-0.4.7.tar.gz -> poppler-data-0.4.8.tar.gz ++++++
++++ 55835 lines of diff (skipped)
1
0
Hello community,
here is the log from the commit of package QMPlay2 for openSUSE:Factory checked in at 2017-08-29 11:44:44
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/QMPlay2 (Old)
and /work/SRC/openSUSE:Factory/.QMPlay2.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "QMPlay2"
Tue Aug 29 11:44:44 2017 rev:25 rq:519048 version:17.07.25
Changes:
--------
--- /work/SRC/openSUSE:Factory/QMPlay2/QMPlay2.changes 2017-08-24 18:38:13.333215196 +0200
+++ /work/SRC/openSUSE:Factory/.QMPlay2.new/QMPlay2.changes 2017-08-29 11:44:59.496618591 +0200
@@ -1,0 +2,13 @@
+Sat Aug 26 08:33:58 UTC 2017 - dap.darkness(a)gmail.com
+
+- Update to 17.07.25:
+ * minor CUVID bugfix (missing PTS in some videos),
+ * added option to hide artist metadata,
+ * Tekstowo: minor improvement,
+ * don't delete Radio settings,
+ * minor QPainter bugfix,
+ * fix YouTube images.
+- Removed obsoletion actual till Leap 42.1.
+- Finally replaced QMPlay2-no-prostopleer.diff by cmake option.
+
+-------------------------------------------------------------------
Old:
----
QMPlay2-no-prostopleer.diff
QMPlay2-src-17.06.09.tar.xz
New:
----
QMPlay2-src-17.07.25.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ QMPlay2.spec ++++++
--- /var/tmp/diff_new_pack.4q21yG/_old 2017-08-29 11:45:00.492478209 +0200
+++ /var/tmp/diff_new_pack.4q21yG/_new 2017-08-29 11:45:00.500477082 +0200
@@ -17,17 +17,14 @@
Name: QMPlay2
-Version: 17.06.09
+Version: 17.07.25
Release: 0
Summary: A Qt based media player, streamer and downloader
License: LGPL-3.0+
Group: Productivity/Multimedia/Video/Players
Url: http://qt-apps.org/content/show.php/QMPlay2?content=153339
Source: https://github.com/zaps166/QMPlay2/releases/download/%{version}/QMPlay2-src…
-# PATCH-FIX-OPENSUSE vs. Prostopleer extension that provides illegal audio.
-# NOTE Please don't remove the patch because of source update,
-# just update the patch!
-Patch1: QMPlay2-no-prostopleer.diff
+
# PATCH-FIX-OPENSUSE vs. WARNING: invalid-desktopfile contains group,
# but ones extending the format should start with "X-".
Patch2: QMPlay2-desktop-warnings.diff
@@ -62,7 +59,6 @@
Requires(postun): shared-mime-info
Requires(postun): update-desktop-files
Recommends: youtube-dl
-Obsoletes: %{name}-kde-integration <= %{version}
%description
%{name} is a video player, it can play and stream all formats supported by
@@ -78,12 +74,12 @@
%prep
%setup -q -n %{name}-src-%{version}
-%patch1
%patch2
%build
%cmake \
-DCMAKE_INSTALL_LIBDIR=%{_libdir} \
+ -DUSE_PROSTOPLEER=OFF \
-DCMAKE_BUILD_TYPE=RelWithDebInfo
make V=1 %{?_smp_mflags}
++++++ QMPlay2-src-17.06.09.tar.xz -> QMPlay2-src-17.07.25.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/QMPlay2-src-17.06.09/ChangeLog new/QMPlay2-src-17.07.25/ChangeLog
--- old/QMPlay2-src-17.06.09/ChangeLog 2017-06-09 22:39:42.000000000 +0200
+++ new/QMPlay2-src-17.07.25/ChangeLog 2017-07-25 20:52:12.000000000 +0200
@@ -1,3 +1,11 @@
+Changes in QMPlay2 build 17.07.25:
+ - minor CUVID bugfix (missing PTS in some videos),
+ - added option to hide artist metadata,
+ - Tekstowo: minor improvement,
+ - don't delete Radio settings,
+ - minor QPainter bugfix,
+ - fix YouTube images,
+
Changes in QMPlay2 build 17.06.09:
- load next video decoder if current video decoder fails (fixes some VideoToolBox problems),
- more accurate seeking (use double type instead of seconds in integer),
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/QMPlay2-src-17.06.09/README.md new/QMPlay2-src-17.07.25/README.md
--- old/QMPlay2-src-17.06.09/README.md 2017-04-16 18:42:15.000000000 +0200
+++ new/QMPlay2-src-17.07.25/README.md 2017-07-25 18:07:57.000000000 +0200
@@ -74,7 +74,7 @@
- Make sure that antivirus or firewall doesn't block "youtube-dl" and doesn't block executing external applications!
-##Spherical view
+## Spherical view
QMPlay2 supports spherical view on OpenGL video output. You can watch e.g. YouTube spherical videos by pressing "Ctrl+3". You can also enable it from the menu: "Playback->Video filters->Spherical view".
@@ -288,7 +288,7 @@
- `USE_VISUALIZATIONS` - ON: enable/disable Visualizations module.
- `USE_AUDIOFILTERS` - ON: enable/disable AudioFilters module.
- `USE_VIDEOFILTERS` - ON: enable/disable VideoFilters module.
- - `USE_OPENGL2` - `ON`: enable/disable OpenGL2 module.
+ - `USE_OPENGL2` - `ON`: enable/disable OpenGL2 module and OpenGL in Visualizations.
- `USE_AUDIOCD` - autodetect: enabled if libcdio and libcddb exist: enable/disable AudioCD module.
- `USE_ALSA` - `ON` on Linux: enable/disable ALSA module.
- `USE_PORTAUDIO` - `ON` on non-Linux OS: enable/disable PortAudio module.
@@ -313,6 +313,7 @@
- Qt4: `QT_QMAKE_EXECUTABLE`: path to the `qmake` executable from Qt4.
- Qt5:
- `Qt5Widgets_DIR`: path to the Qt5Widgets cmake directory (e.g. `~/qtbase/lib/cmake/Qt5Widgets`).
+ - `Qt5DBus_DIR`: path to the Qt5DBus cmake directory (e.g. `~/qtbase/lib/cmake/Qt5DBus`).
- `Qt5LinguistTools_DIR`: path to the Qt5LinguistTools cmake directory (e.g. `~/qtbase/lib/cmake/Qt5LinguistTools`).
Every CMake option must be prepended with `-D` and new value is set after `=`.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/QMPlay2-src-17.06.09/lang/de.ts new/QMPlay2-src-17.07.25/lang/de.ts
--- old/QMPlay2-src-17.06.09/lang/de.ts 2017-06-08 23:28:18.000000000 +0200
+++ new/QMPlay2-src-17.07.25/lang/de.ts 2017-07-20 23:09:11.000000000 +0200
@@ -936,6 +936,10 @@
<source>Automatically delete ungrouped entries</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <source>Hide artist metadata</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>Help</name>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/QMPlay2-src-17.06.09/lang/es.ts new/QMPlay2-src-17.07.25/lang/es.ts
--- old/QMPlay2-src-17.06.09/lang/es.ts 2017-06-08 23:28:18.000000000 +0200
+++ new/QMPlay2-src-17.07.25/lang/es.ts 2017-07-20 23:09:11.000000000 +0200
@@ -936,6 +936,10 @@
<source>Automatically delete ungrouped entries</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <source>Hide artist metadata</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>Help</name>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/QMPlay2-src-17.06.09/lang/fr.ts new/QMPlay2-src-17.07.25/lang/fr.ts
--- old/QMPlay2-src-17.06.09/lang/fr.ts 2017-06-08 23:28:18.000000000 +0200
+++ new/QMPlay2-src-17.07.25/lang/fr.ts 2017-07-20 23:09:11.000000000 +0200
@@ -936,6 +936,10 @@
<source>Automatically delete ungrouped entries</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <source>Hide artist metadata</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>Help</name>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/QMPlay2-src-17.06.09/lang/pl.ts new/QMPlay2-src-17.07.25/lang/pl.ts
--- old/QMPlay2-src-17.06.09/lang/pl.ts 2017-06-08 23:28:18.000000000 +0200
+++ new/QMPlay2-src-17.07.25/lang/pl.ts 2017-07-20 23:09:49.000000000 +0200
@@ -936,6 +936,10 @@
<source>Automatically delete ungrouped entries</source>
<translation>Automatycznie usuwaj niepogrupowane wpisy</translation>
</message>
+ <message>
+ <source>Hide artist metadata</source>
+ <translation>Ukryj metadane artysty</translation>
+ </message>
</context>
<context>
<name>Help</name>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/QMPlay2-src-17.06.09/lang/ru.ts new/QMPlay2-src-17.07.25/lang/ru.ts
--- old/QMPlay2-src-17.06.09/lang/ru.ts 2017-06-08 23:28:18.000000000 +0200
+++ new/QMPlay2-src-17.07.25/lang/ru.ts 2017-07-20 23:09:11.000000000 +0200
@@ -936,6 +936,10 @@
<source>Automatically delete ungrouped entries</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <source>Hide artist metadata</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>Help</name>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/QMPlay2-src-17.06.09/lang/zh.ts new/QMPlay2-src-17.07.25/lang/zh.ts
--- old/QMPlay2-src-17.06.09/lang/zh.ts 2017-06-08 23:28:18.000000000 +0200
+++ new/QMPlay2-src-17.07.25/lang/zh.ts 2017-07-20 23:09:11.000000000 +0200
@@ -936,6 +936,10 @@
<source>Automatically delete ungrouped entries</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <source>Hide artist metadata</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>Help</name>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/QMPlay2-src-17.06.09/src/gui/SettingsWidget.cpp new/QMPlay2-src-17.07.25/src/gui/SettingsWidget.cpp
--- old/QMPlay2-src-17.06.09/src/gui/SettingsWidget.cpp 2017-05-15 23:43:13.000000000 +0200
+++ new/QMPlay2-src-17.07.25/src/gui/SettingsWidget.cpp 2017-07-20 23:12:02.000000000 +0200
@@ -157,6 +157,7 @@
#ifdef QMPLAY2_ALLOW_ONLY_ONE_INSTANCE
QMPSettings.init("AllowOnlyOneInstance", false);
#endif
+ QMPSettings.init("HideArtistMetadata", false);
QMPSettings.init("DisplayOnlyFileName", false);
QMPSettings.init("RestoreRepeatMode", false);
QMPSettings.init("StillImages", false);
@@ -379,6 +380,7 @@
page1->allowOnlyOneInstance = nullptr;
#endif
+ page1->hideArtistMetadata->setChecked(QMPSettings.getBool("HideArtistMetadata"));
page1->displayOnlyFileName->setChecked(QMPSettings.getBool("DisplayOnlyFileName"));
page1->restoreRepeatMode->setChecked(QMPSettings.getBool("RestoreRepeatMode"));
page1->stillImages->setChecked(QMPSettings.getBool("StillImages"));
@@ -773,6 +775,7 @@
#ifdef QMPLAY2_ALLOW_ONLY_ONE_INSTANCE
QMPSettings.set("AllowOnlyOneInstance", page1->allowOnlyOneInstance->isChecked());
#endif
+ QMPSettings.set("HideArtistMetadata", page1->hideArtistMetadata->isChecked());
QMPSettings.set("DisplayOnlyFileName", page1->displayOnlyFileName->isChecked());
QMPSettings.set("RestoreRepeatMode", page1->restoreRepeatMode->isChecked());
QMPSettings.set("StillImages", page1->stillImages->isChecked());
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/QMPlay2-src-17.06.09/src/gui/Ui/SettingsGeneral.ui new/QMPlay2-src-17.07.25/src/gui/Ui/SettingsGeneral.ui
--- old/QMPlay2-src-17.06.09/src/gui/Ui/SettingsGeneral.ui 2017-05-04 00:26:19.000000000 +0200
+++ new/QMPlay2-src-17.07.25/src/gui/Ui/SettingsGeneral.ui 2017-07-20 23:11:48.000000000 +0200
@@ -68,14 +68,14 @@
</layout>
</widget>
</item>
- <item row="13" column="0">
+ <item row="14" column="0">
<widget class="QPushButton" name="setKeyBindingsB">
<property name="text">
<string>Set key bindings</string>
</property>
</widget>
</item>
- <item row="12" column="0">
+ <item row="13" column="0">
<layout class="QHBoxLayout" name="horizontalLayout_3">
<property name="spacing">
<number>3</number>
@@ -285,21 +285,21 @@
</property>
</widget>
</item>
- <item row="6" column="0">
+ <item row="7" column="0">
<widget class="QCheckBox" name="displayOnlyFileName">
<property name="text">
<string>Always display only file names in playlist</string>
</property>
</widget>
</item>
- <item row="7" column="0">
+ <item row="8" column="0">
<widget class="QCheckBox" name="restoreRepeatMode">
<property name="text">
<string>Remember repeat mode</string>
</property>
</widget>
</item>
- <item row="11" column="0">
+ <item row="12" column="0">
<widget class="QGroupBox" name="proxyB">
<property name="title">
<string>Use proxy server</string>
@@ -364,7 +364,7 @@
</layout>
</widget>
</item>
- <item row="1" column="1" rowspan="11">
+ <item row="1" column="1" rowspan="12">
<spacer name="horizontalSpacer">
<property name="orientation">
<enum>Qt::Horizontal</enum>
@@ -377,7 +377,7 @@
</property>
</spacer>
</item>
- <item row="14" column="0" colspan="2">
+ <item row="15" column="0" colspan="2">
<spacer name="verticalSpacer">
<property name="orientation">
<enum>Qt::Vertical</enum>
@@ -390,27 +390,34 @@
</property>
</spacer>
</item>
- <item row="8" column="0">
+ <item row="9" column="0">
<widget class="QCheckBox" name="stillImages">
<property name="text">
<string>Read and display still images</string>
</property>
</widget>
</item>
- <item row="9" column="0">
+ <item row="10" column="0">
<widget class="QCheckBox" name="trayNotifiesDefault">
<property name="text">
<string>Use tray notifications as default</string>
</property>
</widget>
</item>
- <item row="10" column="0">
+ <item row="11" column="0">
<widget class="QCheckBox" name="autoDelNonGroupEntries">
<property name="text">
<string>Automatically delete ungrouped entries</string>
</property>
</widget>
</item>
+ <item row="6" column="0">
+ <widget class="QCheckBox" name="hideArtistMetadata">
+ <property name="text">
+ <string>Hide artist metadata</string>
+ </property>
+ </widget>
+ </item>
</layout>
</widget>
</widget>
@@ -436,6 +443,7 @@
<tabstop>autoOpenVideoWindowB</tabstop>
<tabstop>tabsNorths</tabstop>
<tabstop>allowOnlyOneInstance</tabstop>
+ <tabstop>hideArtistMetadata</tabstop>
<tabstop>displayOnlyFileName</tabstop>
<tabstop>restoreRepeatMode</tabstop>
<tabstop>stillImages</tabstop>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/QMPlay2-src-17.06.09/src/modules/AudioCD/AudioCDDemux.cpp new/QMPlay2-src-17.07.25/src/modules/AudioCD/AudioCDDemux.cpp
--- old/QMPlay2-src-17.06.09/src/modules/AudioCD/AudioCDDemux.cpp 2017-05-04 00:26:19.000000000 +0200
+++ new/QMPlay2-src-17.07.25/src/modules/AudioCD/AudioCDDemux.cpp 2017-07-20 23:11:13.000000000 +0200
@@ -131,14 +131,15 @@
QString AudioCDDemux::title() const
{
QString prefix, suffix;
+ const QString artist = QMPlay2Core.getSettings().getBool("HideArtistMetadata") ? QString() : Artist;
if (isData)
suffix = " - " + tr("Data");
- else if (!Title.isEmpty() && !Artist.isEmpty())
- return Artist + " - " + Title;
+ else if (!Title.isEmpty() && !artist.isEmpty())
+ return artist + " - " + Title;
else if (!Title.isEmpty())
return Title;
- else if (!Artist.isEmpty())
- prefix = Artist + " - ";
+ else if (!artist.isEmpty())
+ prefix = artist + " - ";
return prefix + tr("Track") + " " + QString::number(trackNo) + suffix;
}
QList<QMPlay2Tag> AudioCDDemux::tags() const
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/QMPlay2-src-17.06.09/src/modules/Extensions/MediaBrowser/AnimeOdcinki.cpp new/QMPlay2-src-17.07.25/src/modules/Extensions/MediaBrowser/AnimeOdcinki.cpp
--- old/QMPlay2-src-17.06.09/src/modules/Extensions/MediaBrowser/AnimeOdcinki.cpp 2017-04-26 17:56:54.000000000 +0200
+++ new/QMPlay2-src-17.07.25/src/modules/Extensions/MediaBrowser/AnimeOdcinki.cpp 2017-07-20 21:41:05.000000000 +0200
@@ -28,7 +28,7 @@
using EmbeddedPlayers = std::vector<Json>;
-constexpr char g_url[] = "https://anime-odcinki.pl/anime/";
+constexpr char g_url[] = "https://a-o.ninja/anime/";
constexpr char g_linkexpander[] = "http://www.linkexpander.com/get_url.php";
static AnimeOdcinki::AnimePairList parseAnimeList(const QByteArray &data, AnimeOdcinki::AnimePair *episodeImgDescr)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/QMPlay2-src-17.06.09/src/modules/Extensions/Radio.cpp new/QMPlay2-src-17.07.25/src/modules/Extensions/Radio.cpp
--- old/QMPlay2-src-17.06.09/src/modules/Extensions/Radio.cpp 2017-05-14 17:36:25.000000000 +0200
+++ new/QMPlay2-src-17.07.25/src/modules/Extensions/Radio.cpp 2017-07-20 21:39:22.000000000 +0200
@@ -97,32 +97,34 @@
}
Radio::~Radio()
{
- QStringList myRadios;
- for (QListWidgetItem *item : ui->myRadioListWidget->findItems(QString(), Qt::MatchContains))
- myRadios += item->text() + '\n' + item->data(Qt::UserRole).toString();
- Settings("Radio").set("Radia", myRadios);
-
+ if (m_once)
{
- const QList<int> splitterSizesInt = ui->splitter->sizes();
- QByteArray splitterSizes;
- QDataStream stream(&splitterSizes, QIODevice::WriteOnly);
- for (int i = 0; i < splitterSizesInt.count(); ++i)
- stream << splitterSizesInt[i];
- sets().set("Radio/SplitterSizes", splitterSizes.toBase64());
- }
+ QStringList myRadios;
+ for (QListWidgetItem *item : ui->myRadioListWidget->findItems(QString(), Qt::MatchContains))
+ myRadios += item->text() + '\n' + item->data(Qt::UserRole).toString();
+ Settings("Radio").set("Radia", myRadios);
- {
- QByteArray columnSizes;
- QDataStream stream(&columnSizes, QIODevice::WriteOnly);
- const int columnCount = m_radioBrowserModel->columnCount(QModelIndex());
- for (int i = 0; i < columnCount; ++i)
- stream << ui->radioView->columnWidth(i);
- sets().set("Radio/ColumnSizes", columnSizes.toBase64());
- }
+ {
+ const QList<int> splitterSizesInt = ui->splitter->sizes();
+ QByteArray splitterSizes;
+ QDataStream stream(&splitterSizes, QIODevice::WriteOnly);
+ for (int i = 0; i < splitterSizesInt.count(); ++i)
+ stream << splitterSizesInt[i];
+ sets().set("Radio/SplitterSizes", splitterSizes.toBase64());
+ }
- sets().set("Radio/CurrentTab", currentIndex());
- sets().set("Radio/SearchByIndex", ui->searchByComboBox->currentIndex());
+ {
+ QByteArray columnSizes;
+ QDataStream stream(&columnSizes, QIODevice::WriteOnly);
+ const int columnCount = m_radioBrowserModel->columnCount(QModelIndex());
+ for (int i = 0; i < columnCount; ++i)
+ stream << ui->radioView->columnWidth(i);
+ sets().set("Radio/ColumnSizes", columnSizes.toBase64());
+ }
+ sets().set("Radio/CurrentTab", currentIndex());
+ sets().set("Radio/SearchByIndex", ui->searchByComboBox->currentIndex());
+ }
delete ui;
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/QMPlay2-src-17.06.09/src/modules/Extensions/Tekstowo.cpp new/QMPlay2-src-17.07.25/src/modules/Extensions/Tekstowo.cpp
--- old/QMPlay2-src-17.06.09/src/modules/Extensions/Tekstowo.cpp 2017-05-14 17:51:14.000000000 +0200
+++ new/QMPlay2-src-17.07.25/src/modules/Extensions/Tekstowo.cpp 2017-07-20 22:30:38.000000000 +0200
@@ -146,18 +146,34 @@
quint8 artistScore = 0, titleScore = 0;
if (artist == m_artist)
- artistScore += 3;
+ artistScore += 4;
else if (m_artist.contains(artist))
- artistScore += 2;
+ artistScore += 3;
else if (artist.contains(m_artist))
- artistScore += 1;
+ artistScore += 2;
+ else
+ {
+ // Compare all words separately - useful if artist words are in different order
+ const QStringList words = artist.split(' ');
+ if (words.count() > 1)
+ {
+ int matchWords = 0;
+ for (const QString &word : words)
+ {
+ if (m_artist.contains(word))
+ ++matchWords;
+ }
+ if (matchWords == words.count())
+ artistScore += 1;
+ }
+ }
if (title == m_title)
- titleScore += 3;
+ titleScore += 4;
else if (m_title.contains(title))
- titleScore += 2;
+ titleScore += 3;
else if (title.contains(m_title))
- titleScore += 1;
+ titleScore += 2;
if (artistScore > 0 && titleScore > 0)
{
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/QMPlay2-src-17.06.09/src/modules/Extensions/YouTube.cpp new/QMPlay2-src-17.07.25/src/modules/Extensions/YouTube.cpp
--- old/QMPlay2-src-17.06.09/src/modules/Extensions/YouTube.cpp 2017-04-26 17:56:54.000000000 +0200
+++ new/QMPlay2-src-17.07.25/src/modules/Extensions/YouTube.cpp 2017-07-02 23:25:37.000000000 +0200
@@ -883,10 +883,12 @@
if (imgEndIdx > -1)
{
image = entry.mid(imgIdx, imgEndIdx - imgIdx);
- if (image.endsWith(".gif")) //GIF nie jest miniaturką - jest to pojedynczy piksel :D
+ if (image.endsWith(".gif")) //GIF nie jest miniaturką - jest to pojedynczy piksel :D (very old code, is it still relevant?)
image.clear();
else if (image.startsWith("//"))
image.prepend("https:");
+ if ((idx = image.indexOf("?")) > 0)
+ image.truncate(idx);
}
}
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/QMPlay2-src-17.06.09/src/modules/FFmpeg/FormatContext.cpp new/QMPlay2-src-17.07.25/src/modules/FFmpeg/FormatContext.cpp
--- old/QMPlay2-src-17.06.09/src/modules/FFmpeg/FormatContext.cpp 2017-05-14 17:56:09.000000000 +0200
+++ new/QMPlay2-src-17.07.25/src/modules/FFmpeg/FormatContext.cpp 2017-07-24 19:06:24.000000000 +0200
@@ -231,6 +231,7 @@
lastTime(0.0),
invalErrCount(0), errFromSeek(0),
maybeHasFrame(false),
+ artistWithTitle(true),
stillImage(false),
avcodec_mutex(avcodec_mutex)
{}
@@ -332,7 +333,7 @@
if (AVDictionary *dict = getMetadata())
{
const QString title = getTag(dict, "title");
- const QString artist = getTag(dict, "artist");
+ const QString artist = artistWithTitle ? getTag(dict, "artist") : QString();
if (!title.isEmpty() && !artist.isEmpty())
return artist + " - " + title;
else if (title.isEmpty() && !artist.isEmpty())
@@ -704,6 +705,10 @@
if (scheme.isEmpty())
return false;
+ const Settings &settings = QMPlay2Core.getSettings();
+
+ artistWithTitle = !settings.getBool("HideArtistMetadata");
+
qint64 oggOffset = -1, oggSize = -1;
int oggTrack = -1;
QString url;
@@ -754,6 +759,9 @@
av_dict_set(&options, "skip_initial_bytes", QString::number(oggOffset).toLatin1(), 0);
}
+ // Useful, e.g. CUVID decoder needs valid PTS
+ formatCtx->flags |= AVFMT_FLAG_GENPTS;
+
OpenFmtCtxThr *openThr = new OpenFmtCtxThr(formatCtx, url.toUtf8(), inputFmt, options, abortCtx);
formatCtx = openThr->getFormatCtx();
openThr->drop();
@@ -762,7 +770,7 @@
if (name().startsWith("image2") || name().endsWith("_pipe"))
{
- if (!QMPlay2Core.getSettings().getBool("StillImages"))
+ if (!settings.getBool("StillImages"))
return false;
stillImage = true;
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/QMPlay2-src-17.06.09/src/modules/FFmpeg/FormatContext.hpp new/QMPlay2-src-17.07.25/src/modules/FFmpeg/FormatContext.hpp
--- old/QMPlay2-src-17.06.09/src/modules/FFmpeg/FormatContext.hpp 2017-05-04 00:26:19.000000000 +0200
+++ new/QMPlay2-src-17.07.25/src/modules/FFmpeg/FormatContext.hpp 2017-07-20 22:58:21.000000000 +0200
@@ -104,6 +104,7 @@
int invalErrCount, errFromSeek;
bool maybeHasFrame;
+ bool artistWithTitle;
bool stillImage;
#if LIBAVFORMAT_VERSION_MAJOR <= 55
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/QMPlay2-src-17.06.09/src/modules/QPainter/QPainterWriter.cpp new/QMPlay2-src-17.07.25/src/modules/QPainter/QPainterWriter.cpp
--- old/QMPlay2-src-17.06.09/src/modules/QPainter/QPainterWriter.cpp 2017-03-25 21:55:10.000000000 +0100
+++ new/QMPlay2-src-17.07.25/src/modules/QPainter/QPainterWriter.cpp 2017-07-25 20:47:56.000000000 +0200
@@ -90,7 +90,7 @@
QPainter p(this);
p.translate(X, Y);
- p.drawImage(0, 0, img);
+ p.drawImage(QRect(0, 0, W, H), img);
osd_mutex.lock();
if (!osd_list.isEmpty())
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/QMPlay2-src-17.06.09/src/modules/Visualizations/CMakeLists.txt new/QMPlay2-src-17.07.25/src/modules/Visualizations/CMakeLists.txt
--- old/QMPlay2-src-17.06.09/src/modules/Visualizations/CMakeLists.txt 2017-04-16 18:53:52.000000000 +0200
+++ new/QMPlay2-src-17.07.25/src/modules/Visualizations/CMakeLists.txt 2017-07-20 22:39:16.000000000 +0200
@@ -33,7 +33,7 @@
icon.qrc
)
-if(USE_QT5 AND NOT Qt5Widgets_VERSION LESS 5.6.0)
+if(USE_OPENGL2 AND USE_QT5 AND NOT Qt5Widgets_VERSION LESS 5.6.0)
add_definitions(-DUSE_OPENGL)
endif()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/QMPlay2-src-17.06.09/src/modules/Visualizations/Visualizations.cpp new/QMPlay2-src-17.07.25/src/modules/Visualizations/Visualizations.cpp
--- old/QMPlay2-src-17.06.09/src/modules/Visualizations/Visualizations.cpp 2017-06-07 19:31:40.000000000 +0200
+++ new/QMPlay2-src-17.07.25/src/modules/Visualizations/Visualizations.cpp 2017-07-02 23:17:31.000000000 +0200
@@ -25,12 +25,14 @@
#include <QGuiApplication>
#endif
+constexpr int g_ms = 17;
+
Visualizations::Visualizations() :
Module("Visualizations")
{
m_icon = QIcon(":/Visualizations.svgz");
- int ms = 17;
+ int ms = g_ms;
#ifdef USE_OPENGL
const QString platformName = QGuiApplication::platformName();
@@ -91,7 +93,7 @@
useOpenGLB->setChecked(sets().getBool("UseOpenGL"));
useOpenGLB->setToolTip(tr("Always enabled on Wayland platform.\nRecommended to use when OpenGL video output is in RTT mode."));
connect(useOpenGLB, &QCheckBox::toggled, [this](bool checked) {
- refTimeB->setValue(checked ? 10 : 22);
+ refTimeB->setValue(checked ? 10 : g_ms);
});
#endif
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/QMPlay2-src-17.06.09/src/qmplay2/Version.cpp new/QMPlay2-src-17.07.25/src/qmplay2/Version.cpp
--- old/QMPlay2-src-17.06.09/src/qmplay2/Version.cpp 2017-06-09 22:39:51.000000000 +0200
+++ new/QMPlay2-src-17.07.25/src/qmplay2/Version.cpp 2017-07-25 20:52:19.000000000 +0200
@@ -25,7 +25,7 @@
#ifndef QMPlay2GitHEAD
#define QMPlay2GitHEAD
#endif
-#define QMPlay2Version "17.06.09" QMPlay2GitHEAD
+#define QMPlay2Version "17.07.25" QMPlay2GitHEAD
QByteArray Version::get()
{
1
0
Hello community,
here is the log from the commit of package mkvtoolnix for openSUSE:Factory checked in at 2017-08-29 11:44:39
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/mkvtoolnix (Old)
and /work/SRC/openSUSE:Factory/.mkvtoolnix.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "mkvtoolnix"
Tue Aug 29 11:44:39 2017 rev:98 rq:519047 version:14.0.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/mkvtoolnix/mkvtoolnix.changes 2017-08-24 18:40:39.808579818 +0200
+++ /work/SRC/openSUSE:Factory/.mkvtoolnix.new/mkvtoolnix.changes 2017-08-29 11:44:54.069383641 +0200
@@ -1,0 +2,69 @@
+Fri Aug 25 10:17:55 UTC 2017 - rpm(a)fthiessen.de
+
+- Split boost-devel BuildRequires for Tumbleweed
+- Update to version 14.0.0
+ * mkvmerge, mkvpropedit, MKVToolNix GUI (chapter editor):
+ new feature: added support for chapters in WebM files that is
+ spec-compliant by removing all tag elements not supported
+ by the WebM spec.
+ * translations: added a Romanian translation of the programs.
+ * mkvmerge: bugfix: AVC/h.264 and HEVC/h.265 parser: fixed wrong
+ frame order & timestamp calculation in certain situations when
+ SPS (sequence parameter sets) or PPS (picture parameter sets)
+ change mid-stream.
+ bugfix: MPEG-1/-2 video: the "remove stuffing bytes" feature
+ introduced in v5.8.0 was broken. In a lot of situations it
+ did not detect the end of a slice correctly and removed 0 bytes
+ that were actually part of the slice structure. Often there
+ were no visual problems as decoders were able to ignore such
+ errors, but in other cases there are visual artifacts upon
+ decoding. As detecting the slice end properly requires parsing
+ the whole slice structure, this feature has been removed again.
+ bugfix: MPEG PS reader: fixed mkvmerge trying to handle an "end"
+ code the same way as a "program stream map" code.
+ bugfix: MPEG TS reader: mkvmerge won't emit warnings if the
+ system's `iconv` library doesn't support the ISO 6937
+ character set.
+ bugfix: when appending fails the error message details (e.g.
+ "the number of channels differs: 1 and 2") were often not output.
+ new feature: AAC: implemented support for AAC with 960 samples per
+ frame.
+ new feature: identification: if the encoding/character set of a
+ text subtitle track is known (e.g. because a byte order mark is
+ present in the file), then it will be output during
+ identification as the `encoding` property.
+ new feature: WAV reader: added support for Wave64 files.
+ * MKVToolNix GUI: bugfix: multiplex tool: implemented a workaround
+ for a crash that could occur during drag & drop if at least one
+ of the columns is hidden.
+ bugifx: multiplex tool: appended tracks can no longer be enabled
+ (selected for multiplexing) if the track they're going to be
+ appended to is not enabled.
+ bugifx: multiplex tool: if the GUI is set to ensure unique output
+ file names, it will now verify that right before starting to
+ multiplex/adding the job to the queue, too.
+ bugifx: fixed the total progress reverting to 0% instead of
+ staying at 100% when all jobs have finished. This was introduced
+ by the attempt at fixing the computation of the value of total
+ progress bar for multiple jobs running.
+ new feature: multiplexer: if the encoding/character set of a
+ subtitle track cannot be changed, the GUI will deactivate the
+ "subtitle character set" drop-down box and ignore changes to it
+ when multiple tracks are selected. Additionally, if the track's
+ encoding is known and cannot be changed (e.g. due to a
+ byte order mark in the file), that encoding will be selected in
+ the drop-down box automatically. Both changes signal to the user
+ that she doesn't have to take care of the encoding herself.
+ new feature: chapter editor: added a function to the "additional
+ modifications" dialog for calculating and setting the end
+ timestamps.
+ new feature: changed the shortcuts for switching between the
+ various tools from `Alt+number` (e.g. `Alt+1` for the multiplexer
+ tool) to `Ctrl+Alt+number` in order to avoid clashing with
+ Windows' input method for arbitrary characters (pressing and
+ holding `Alt` and typing the codepoint on the number pad).
+ new feature: added a "Window" menu and entries with shortcuts for
+ selecting the next (`Ctrl+F6`) respectively previous tab
+ (`Ctrl+Shift+F6`) in the current tool.
+
+-------------------------------------------------------------------
Old:
----
mkvtoolnix-13.0.0.tar.xz
mkvtoolnix-13.0.0.tar.xz.sig
New:
----
mkvtoolnix-14.0.0.tar.xz
mkvtoolnix-14.0.0.tar.xz.sig
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ mkvtoolnix.spec ++++++
--- /var/tmp/diff_new_pack.EqIiUl/_old 2017-08-29 11:44:56.281071870 +0200
+++ /var/tmp/diff_new_pack.EqIiUl/_new 2017-08-29 11:44:56.293070179 +0200
@@ -17,7 +17,7 @@
Name: mkvtoolnix
-Version: 13.0.0
+Version: 14.0.0
Release: 0
Summary: Tools to Create, Alter, and Inspect Matroska Files
License: GPL-2.0+
@@ -32,21 +32,20 @@
Patch0: disable-update-check.patch
# PATCH-OPENSUSE-FIX mkvtoolnix-use-system-boost.patch -- Fix includes to use boost from system
Patch1: mkvtoolnix-use-system-boost.patch
-BuildRequires: boost-devel >= 1.46
BuildRequires: desktop-file-utils
BuildRequires: docbook-xsl-stylesheets
BuildRequires: fdupes
BuildRequires: file-devel
%if 0%{?suse_version} > 1320
BuildRequires: gcc-c++
+BuildRequires: libboost_headers-devel
+BuildRequires: libboost_date_time-devel
+BuildRequires: libboost_regex-devel
+BuildRequires: libboost_system-devel
+BuildRequires: libboost_filesystem-devel
%else
-%if 0%{?sle_version} == 120100
-# Leap 42.1
-BuildRequires: gcc5-c++
-%else
-# Leap 42.2+ / SLE12SP2Backports
BuildRequires: gcc6-c++
-%endif
+BuildRequires: boost-devel >= 1.49
%endif
BuildRequires: gettext-tools
BuildRequires: hicolor-icon-theme
@@ -88,12 +87,11 @@
rm -rf lib/{boost,libebml,libmatroskas,pugixml}
%build
-test -x "$(type -p gcc-5)" && export CC=gcc-5
-test -x "$(type -p g++-5)" && export CXX=g++-5
-test -x "$(type -p gcc-6)" && export CC=gcc-6
-test -x "$(type -p g++-6)" && export CXX=g++-6
-test -x "$(type -p gcc-7)" && export CC=gcc-7
-test -x "$(type -p g++-7)" && export CXX=g++-7
+%if 0%{?suse_version} <= 1320
+# Leap 42.2 42.3 use gcc48 by default (which does not support full c++11)
+export CC=gcc-6
+export CXX=g++-6
+%endif
%configure --enable-debug --enable-optimization
rake --verbose %{?_smp_mflags} V=1
++++++ mkvtoolnix-13.0.0.tar.xz -> mkvtoolnix-14.0.0.tar.xz ++++++
++++ 150158 lines of diff (skipped)
1
0
Hello community,
here is the log from the commit of package python-WSME for openSUSE:Factory checked in at 2017-08-29 11:44:36
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-WSME (Old)
and /work/SRC/openSUSE:Factory/.python-WSME.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-WSME"
Tue Aug 29 11:44:36 2017 rev:13 rq:518974 version:0.9.2
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-WSME/python-WSME.changes 2015-09-11 09:04:40.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.python-WSME.new/python-WSME.changes 2017-08-29 11:44:39.103493322 +0200
@@ -1,0 +2,28 @@
+Fri Aug 25 15:19:25 UTC 2017 - jengelh(a)inai.de
+
+- Trim sensationalist wording.
+
+-------------------------------------------------------------------
+Fri Aug 25 12:18:37 UTC 2017 - tbechtold(a)suse.com
+
+- Fix fdupes call
+
+-------------------------------------------------------------------
+Thu Aug 24 14:44:34 UTC 2017 - tbechtold(a)suse.com
+
+- update to 0.9.2:
+ * Remove white space between print ()
+ * Fix: Sphinx extension on Python3
+ * Fix the setup.cfg metadata
+ * Print exceptions raised from from_param methods
+ * Fix pep8 issues and switch to py35 in tox.ini
+ * [doc] Complete doc requirements
+ * Add the 0.8.0 changes list
+ * wsattr.__set__() catchs TypeError
+ * Fix jenkins failure
+ * Port test_cornice to Python 3
+ * Change the repositories from stackforge to openstack
+ * Update .gitreview for new namespace
+- convert to singlespec
+
+-------------------------------------------------------------------
Old:
----
WSME-0.8.0.tar.gz
New:
----
WSME-0.9.2.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-WSME.spec ++++++
--- /var/tmp/diff_new_pack.GKkrdV/_old 2017-08-29 11:44:40.827250329 +0200
+++ /var/tmp/diff_new_pack.GKkrdV/_new 2017-08-29 11:44:40.839248638 +0200
@@ -1,7 +1,7 @@
#
# spec file for package python-WSME
#
-# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -16,57 +16,60 @@
#
+%{?!python_module:%define python_module() python-%{**} python3-%{**}}
Name: python-WSME
-Version: 0.8.0
+Version: 0.9.2
Release: 0
Summary: Web Services Made Easy
License: MIT
Group: Development/Languages/Python
Url: http://packages.python.org/WSME/
-Source: http://pypi.python.org/packages/source/W/WSME/WSME-%{version}.tar.gz
-BuildRequires: python-devel
-BuildRequires: python-pbr >= 0.5.21
-BuildRequires: python-setuptools
-BuildRequires: python-six
+Source: https://files.pythonhosted.org/packages/source/W/WSME/WSME-%{version}.tar.gz
+BuildRequires: %{python_module devel}
+BuildRequires: %{python_module pbr}
+BuildRequires: %{python_module setuptools}
+BuildRequires: fdupes
+BuildRequires: python-rpm-macros
# Test requirements:
-BuildRequires: python-WebOb >= 1.2.3
-BuildRequires: python-netaddr >= 0.7.12
-BuildRequires: python-pytz
-BuildRequires: python-simplegeneric
-BuildRequires: python-six >= 1.9.0
+BuildRequires: %{python_module WebOb >= 1.2.3}
+BuildRequires: %{python_module WebTest}
+BuildRequires: %{python_module mock}
+BuildRequires: %{python_module netaddr >= 0.7.12}
+BuildRequires: %{python_module nose}
+BuildRequires: %{python_module pecan}
+BuildRequires: %{python_module pytz}
+BuildRequires: %{python_module simplegeneric}
+BuildRequires: %{python_module six >= 1.9.0}
Requires: python-WebOb >= 1.2.3
Requires: python-netaddr >= 0.7.12
Requires: python-pytz
Requires: python-simplegeneric
Requires: python-six >= 1.9.0
BuildRoot: %{_tmppath}/%{name}-%{version}-build
-%if 0%{?suse_version} && 0%{?suse_version} <= 1110
-BuildRequires: python-ordereddict
-Requires: python-ordereddict
-%{!?python_sitelib: %global python_sitelib %(python -c "from distutils.sysconfig import get_python_lib; print get_python_lib()")}
-%else
BuildArch: noarch
-%endif
+
+%python_subpackages
%description
-Web Service Made Easy (WSME) is a very easy way to implement webservices
-in your python web application.
+Web Service Made Easy (WSME) is a way to implement webservices
+in Python web applications.
It is originally a rewrite of TGWebServices
-with focus on extensibility, framework-independance and better type handling.
+with focus on extensibility, framework-independence and improved type handling.
%prep
%setup -q -n WSME-%{version}
%build
-python setup.py build
+%python_build
%install
-python setup.py install --prefix=%{_prefix} --root=%{buildroot}
+%python_install
+%python_expand %fdupes -s %{buildroot}%{$python_sitelib}
%check
-python setup.py test
+%python_exec %{_bindir}/nosetests -v tests/pecantest tests/rest
-%files
+%files %{python_files}
%defattr(-,root,root,-)
%doc LICENSE README.rst examples
%{python_sitelib}/*
++++++ WSME-0.8.0.tar.gz -> WSME-0.9.2.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/WSME-0.8.0/AUTHORS new/WSME-0.9.2/AUTHORS
--- old/WSME-0.8.0/AUTHORS 2015-08-25 17:05:53.000000000 +0200
+++ new/WSME-0.9.2/AUTHORS 2017-02-14 11:39:39.000000000 +0100
@@ -14,6 +14,7 @@
Ilya Kharin <akscram(a)gmail.com>
James Page <james.page(a)ubuntu.com>
Jason Myers <jason(a)jasonamyers.com>
+Jeremy Stanley <fungi(a)yuggoth.org>
Julien Danjou <julien(a)danjou.info>
Ken'ichi Ohmichi <oomichi(a)mxs.nes.nec.co.jp>
Lan Qi song <lqslan(a)cn.ibm.com>
@@ -24,10 +25,15 @@
Mehdi Abaakouk <sileht(a)sileht.net>
Michael Krotscheck <krotscheck(a)gmail.com>
Ryan Petrello <lists(a)ryanpetrello.com>
+Sanu Madhavan <sanuptpm(a)gmail.com>
Sascha Peilicke <speilicke(a)suse.com>
Stéphane Bisinger <stephane.bisinger(a)gmail.com>
Sławek Ehlert <slafs(a)op.pl>
+Victor Stinner <vstinner(a)redhat.com>
+Vladyslav Drok <vdrok(a)mirantis.com>
Yuriy Zveryanskyy <yzveryanskyy(a)mirantis.com>
arati.mahimane <arati.mahimane(a)rackspace.com>
aviau <alexandre.viau(a)savoirfairelinux.com>
gordon chung <gord(a)live.ca>
+houming-wang <houming.wang(a)easystack.cn>
+venkatamahesh <venkatamaheshkotha(a)gmail.com>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/WSME-0.8.0/ChangeLog new/WSME-0.9.2/ChangeLog
--- old/WSME-0.8.0/ChangeLog 2015-08-25 17:05:53.000000000 +0200
+++ new/WSME-0.9.2/ChangeLog 2017-02-14 11:39:39.000000000 +0100
@@ -1,6 +1,30 @@
CHANGES
=======
+0.9.2
+-----
+
+* Remove white space between print ()
+* Fix: Sphinx extension on Python3
+
+0.9.1
+-----
+
+* Fix the setup.cfg metadata
+
+0.9.0
+-----
+
+* Print exceptions raised from from_param methods
+* Fix pep8 issues and switch to py35 in tox.ini
+* [doc] Complete doc requirements
+* Add the 0.8.0 changes list
+* wsattr.__set__() catchs TypeError
+* Fix jenkins failure
+* Port test_cornice to Python 3
+* Change the repositories from stackforge to openstack
+* Update .gitreview for new namespace
+
0.8.0
-----
@@ -46,7 +70,7 @@
0.6.4
-----
-* Include tests in the source distribution (so pecan can download and run them
+* Include tests in the source distribution (so pecan can download and run them)
0.6.3
-----
@@ -241,7 +265,7 @@
0.5b1
-----
-* Merging a dead branch (messed up with 'amend'
+* Merging a dead branch (messed up with 'amend')
* Merging a dead branch (messed up with 'amend')
* Merging a dead branch (messed up with 'amend')
* Merging a dead branch (messed up with 'amend')
@@ -763,7 +787,7 @@
* Use generic to prepare the json output so that non-structured custom types can be added
* rest+xml now handle the basic return types
* Add unittests for rest+xml
-* Continue working on the rest-xml tests and implementation + changed the RestProtocol interface
+* Continue working on the rest-xml tests and implementation + changed the RestProtocol interface
* Start working on the rest-xml tests and implementation
* better testing (+ fixes) of sort_attributes
* test & fix the forced attribute order feature
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/WSME-0.8.0/PKG-INFO new/WSME-0.9.2/PKG-INFO
--- old/WSME-0.8.0/PKG-INFO 2015-08-25 17:05:53.000000000 +0200
+++ new/WSME-0.9.2/PKG-INFO 2017-02-14 11:39:39.000000000 +0100
@@ -1,10 +1,10 @@
Metadata-Version: 1.1
Name: WSME
-Version: 0.8.0
+Version: 0.9.2
Summary: Simplify the writing of REST APIs, and extend them with additional protocols.
-Home-page: UNKNOWN
-Author: "Christophe de Vienne"
-Author-email: "python-wsme(a)googlegroups.com"
+Home-page: http://git.openstack.org/cgit/openstack/wsme
+Author: Christophe de Vienne
+Author-email: python-wsme(a)googlegroups.com
License: MIT
Description: Web Services Made Easy
======================
@@ -109,9 +109,9 @@
~~~~~~~~~~
* Documentation: http://packages.python.org/WSME/
- * Source: http://git.openstack.org/cgit/stackforge/wsme
+ * Source: http://git.openstack.org/cgit/openstack/wsme
* Bugs: https://bugs.launchpad.net/wsme/+bugs
- * Code review: https://review.openstack.org/#/q/project:stackforge/wsme,n,z
+ * Code review: https://review.openstack.org/#/q/project:openstack/wsme,n,z
.. _Changelog: http://packages.python.org/WSME/changes.html
.. _python-wsme mailinglist: http://groups.google.com/group/python-wsme
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/WSME-0.8.0/README.rst new/WSME-0.9.2/README.rst
--- old/WSME-0.8.0/README.rst 2015-08-25 17:05:33.000000000 +0200
+++ new/WSME-0.9.2/README.rst 2017-02-14 11:37:52.000000000 +0100
@@ -101,9 +101,9 @@
~~~~~~~~~~
* Documentation: http://packages.python.org/WSME/
-* Source: http://git.openstack.org/cgit/stackforge/wsme
+* Source: http://git.openstack.org/cgit/openstack/wsme
* Bugs: https://bugs.launchpad.net/wsme/+bugs
-* Code review: https://review.openstack.org/#/q/project:stackforge/wsme,n,z
+* Code review: https://review.openstack.org/#/q/project:openstack/wsme,n,z
.. _Changelog: http://packages.python.org/WSME/changes.html
.. _python-wsme mailinglist: http://groups.google.com/group/python-wsme
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/WSME-0.8.0/WSME.egg-info/PKG-INFO new/WSME-0.9.2/WSME.egg-info/PKG-INFO
--- old/WSME-0.8.0/WSME.egg-info/PKG-INFO 2015-08-25 17:05:53.000000000 +0200
+++ new/WSME-0.9.2/WSME.egg-info/PKG-INFO 2017-02-14 11:39:39.000000000 +0100
@@ -1,10 +1,10 @@
Metadata-Version: 1.1
Name: WSME
-Version: 0.8.0
+Version: 0.9.2
Summary: Simplify the writing of REST APIs, and extend them with additional protocols.
-Home-page: UNKNOWN
-Author: "Christophe de Vienne"
-Author-email: "python-wsme(a)googlegroups.com"
+Home-page: http://git.openstack.org/cgit/openstack/wsme
+Author: Christophe de Vienne
+Author-email: python-wsme(a)googlegroups.com
License: MIT
Description: Web Services Made Easy
======================
@@ -109,9 +109,9 @@
~~~~~~~~~~
* Documentation: http://packages.python.org/WSME/
- * Source: http://git.openstack.org/cgit/stackforge/wsme
+ * Source: http://git.openstack.org/cgit/openstack/wsme
* Bugs: https://bugs.launchpad.net/wsme/+bugs
- * Code review: https://review.openstack.org/#/q/project:stackforge/wsme,n,z
+ * Code review: https://review.openstack.org/#/q/project:openstack/wsme,n,z
.. _Changelog: http://packages.python.org/WSME/changes.html
.. _python-wsme mailinglist: http://groups.google.com/group/python-wsme
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/WSME-0.8.0/WSME.egg-info/pbr.json new/WSME-0.9.2/WSME.egg-info/pbr.json
--- old/WSME-0.8.0/WSME.egg-info/pbr.json 2015-08-25 17:05:53.000000000 +0200
+++ new/WSME-0.9.2/WSME.egg-info/pbr.json 2017-02-14 11:39:39.000000000 +0100
@@ -1 +1 @@
-{"git_version": "1dc4421", "is_release": true}
\ No newline at end of file
+{"git_version": "9f84e4c", "is_release": true}
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/WSME-0.8.0/doc/changes.rst new/WSME-0.9.2/doc/changes.rst
--- old/WSME-0.8.0/doc/changes.rst 2015-08-25 17:05:33.000000000 +0200
+++ new/WSME-0.9.2/doc/changes.rst 2017-02-14 11:37:52.000000000 +0100
@@ -1,6 +1,20 @@
Changes
=======
+0.8.0 (2015-08-25)
+------------------
+
+Changes that may break your app:
+
+* Returns 400 if unexpected attributes are added to complex types (#1277571).
+
+Other changes:
+
+* Returns 415 when Content-Type is invalid (#1419110)
+* Returns 400 if a complex input type is not a json object (#1423634)
+* Fix error reports with ArrayType and DictType invalid inputs (#1428185, #1428628)
+* Update README
+
0.7.0 (2015-05-13)
------------------
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/WSME-0.8.0/doc/integrate.rst new/WSME-0.9.2/doc/integrate.rst
--- old/WSME-0.8.0/doc/integrate.rst 2015-08-25 17:05:33.000000000 +0200
+++ new/WSME-0.9.2/doc/integrate.rst 2017-02-14 11:37:52.000000000 +0100
@@ -340,5 +340,3 @@
The recommended way of using WSME inside Pyramid is to use
:ref:`adapter-cornice`.
-
-
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/WSME-0.8.0/doc/requirements.txt new/WSME-0.9.2/doc/requirements.txt
--- old/WSME-0.8.0/doc/requirements.txt 2015-08-25 17:05:33.000000000 +0200
+++ new/WSME-0.9.2/doc/requirements.txt 2017-02-14 11:37:52.000000000 +0100
@@ -1,2 +1,3 @@
sphinx
cloud_sptheme
+-r ../requirements.txt
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/WSME-0.8.0/setup.cfg new/WSME-0.9.2/setup.cfg
--- old/WSME-0.8.0/setup.cfg 2015-08-25 17:05:53.000000000 +0200
+++ new/WSME-0.9.2/setup.cfg 2017-02-14 11:39:39.000000000 +0100
@@ -1,10 +1,10 @@
[metadata]
name = WSME
-author = "Christophe de Vienne"
-author-email = "python-wsme(a)googlegroups.com"
+author = Christophe de Vienne
+author-email = python-wsme(a)googlegroups.com
summary = Simplify the writing of REST APIs, and extend them with additional protocols.
description-file = README.rst
-url = https://github.com/stackforge/wsme
+url = http://git.openstack.org/cgit/openstack/wsme
license = MIT
classifier =
Development Status :: 3 - Alpha
@@ -41,7 +41,6 @@
universal = 0
[egg_info]
-tag_date = 0
-tag_svn_revision = 0
tag_build =
+tag_date = 0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/WSME-0.8.0/tests/pecantest/test/tests/test_ws.py new/WSME-0.9.2/tests/pecantest/test/tests/test_ws.py
--- old/WSME-0.8.0/tests/pecantest/test/tests/test_ws.py 2015-08-25 17:05:33.000000000 +0200
+++ new/WSME-0.9.2/tests/pecantest/test/tests/test_ws.py 2017-02-14 11:37:52.000000000 +0100
@@ -91,7 +91,8 @@
self.assertEqual(
a['faultstring'],
"Invalid input for field/attribute author_id. "
- "Value: 'foobar'. unable to convert to int")
+ "Value: 'foobar'. unable to convert to int. Error: invalid "
+ "literal for int() with base 10: 'foobar'")
def test_clientsideerror(self):
expected_status_code = 400
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/WSME-0.8.0/tests/test_cornice.py new/WSME-0.9.2/tests/test_cornice.py
--- old/WSME-0.8.0/tests/test_cornice.py 2015-08-25 17:05:33.000000000 +0200
+++ new/WSME-0.9.2/tests/test_cornice.py 2017-02-14 11:37:52.000000000 +0100
@@ -103,14 +103,14 @@
resp = self.app.get('/users')
self.assertEqual(
resp.body,
- '[{"id": 1, "name": "first"}]'
+ b'[{"id": 1, "name": "first"}]'
)
def test_get_xml_list(self):
resp = self.app.get('/users', headers={"Accept": "text/xml"})
self.assertEqual(
resp.body,
- '<result><item><id>1</id><name>first</name></item></result>'
+ b'<result><item><id>1</id><name>first</name></item></result>'
)
def test_post_json_data(self):
@@ -121,7 +121,7 @@
)
self.assertEqual(
resp.body,
- '{"id": 2, "name": "new"}'
+ b'{"id": 2, "name": "new"}'
)
def test_post_xml_data(self):
@@ -132,7 +132,7 @@
)
self.assertEqual(
resp.body,
- '<result><id>2</id><name>new</name></result>'
+ b'<result><id>2</id><name>new</name></result>'
)
def test_pass_request(self):
@@ -170,7 +170,6 @@
headers={'Accept': 'application/json'},
expect_errors=True
)
- print resp.body
self.assertEqual(resp.json['faultcode'], 'Client')
self.assertEqual(resp.status_code, 400)
@@ -180,6 +179,5 @@
headers={'Accept': 'application/json'},
expect_errors=True
)
- print resp.body
self.assertEqual(resp.json['faultcode'], 'Client')
self.assertEqual(resp.status_code, 401)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/WSME-0.8.0/tox-tmpl.ini new/WSME-0.9.2/tox-tmpl.ini
--- old/WSME-0.8.0/tox-tmpl.ini 2015-08-25 17:05:33.000000000 +0200
+++ new/WSME-0.9.2/tox-tmpl.ini 2017-02-14 11:37:52.000000000 +0100
@@ -1,6 +1,6 @@
# content of: tox.ini , put in same dir as setup.py
[tox]
-envlist = py27,py27-nolxml,pypy,tg11,tg15,cornice,coverage,py34,py34-nolxml,pecan-dev27,pecan-dev34,pep8
+envlist = py27,py27-nolxml,pypy,tg11,tg15,cornice,cornice-py3,coverage,py35,py35-nolxml,pecan-dev27,pecan-dev35,pep8
[common]
testtools=
@@ -17,13 +17,13 @@
flask-restful
[axes]
-python=py27,py34,pypy
+python=py27,py35,pypy
sqlalchemy=sa5,sa6,sa7*
lxml=lxml*,nolxml
json=json*,simplejson
[axis:python]
-deps =
+deps =
{[common]testtools}
{[common]basedeps}
suds-jurko
@@ -36,8 +36,8 @@
[axis:python:py27]
basepython=python2.7
-[axis:python:py34]
-basepython=python3.4
+[axis:python:py35]
+basepython=python3.5
[axis:sqlalchemy:sa5]
deps=
@@ -76,6 +76,17 @@
{envbindir}/nosetests tests/test_cornice.py --with-xunit --xunit-file nosetests-{envname}.xml --verbose --with-coverage --cover-package wsmeext {posargs}
{envbindir}/coverage xml -o coverage-{envname}.xml wsme/*.py wsmeext/cornice.py
+[testenv:cornice-py3]
+basepython = python3.5
+usedevelop = {[testenv:cornice]usedevelop}
+deps = {[testenv:cornice]deps}
+# disable hash randomization
+setenv =
+ PYTHONHASHSEED=0
+commands =
+ {envbindir}/nosetests tests/test_cornice.py --with-xunit --xunit-file nosetests-{envname}.xml --verbose --with-coverage --cover-package wsmeext {posargs}
+ {envbindir}/coverage xml -o coverage-{envname}.xml wsme/*.py wsmeext/cornice.py
+
[testenv:pecan-dev-base]
deps=
{[common]testtools}
@@ -89,8 +100,8 @@
commands=
{envbindir}/nosetests tests/pecantest --with-xunit --xunit-file nosetests-{envname}.xml --verbose {posargs}
-[testenv:pecan-dev34]
-basepython=python3.4
+[testenv:pecan-dev35]
+basepython=python3.5
deps={[testenv:pecan-dev-base]deps}
commands=
{envbindir}/nosetests tests/pecantest --with-xunit --xunit-file nosetests-{envname}.xml --verbose {posargs}
@@ -127,6 +138,6 @@
commands = {posargs}
usedevelop=True
deps =
- pbr
+ pbr
oslo.config
oslotest
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/WSME-0.8.0/tox.ini new/WSME-0.9.2/tox.ini
--- old/WSME-0.8.0/tox.ini 2015-08-25 17:05:33.000000000 +0200
+++ new/WSME-0.9.2/tox.ini 2017-02-14 11:37:52.000000000 +0100
@@ -1,5 +1,5 @@
[tox]
-envlist = py27,py27-nolxml,pypy,tg11,tg15,cornice,coverage,py34,py34-nolxml,pecan-dev27,pecan-dev34,pep8
+envlist = py27,py27-nolxml,pypy,tg11,tg15,cornice,cornice-py3,coverage,py35,py35-nolxml,pecan-dev27,pecan-dev35,pep8
[common]
testtools =
@@ -32,6 +32,16 @@
{envbindir}/nosetests tests/test_cornice.py --with-xunit --xunit-file nosetests-{envname}.xml --verbose --with-coverage --cover-package wsmeext {posargs}
{envbindir}/coverage xml -o coverage-{envname}.xml wsme/*.py wsmeext/cornice.py
+[testenv:cornice-py3]
+basepython = python3.5
+usedevelop = {[testenv:cornice]usedevelop}
+deps = {[testenv:cornice]deps}
+setenv =
+ PYTHONHASHSEED=0
+commands =
+ {envbindir}/nosetests tests/test_cornice.py --with-xunit --xunit-file nosetests-{envname}.xml --verbose --with-coverage --cover-package wsmeext {posargs}
+ {envbindir}/coverage xml -o coverage-{envname}.xml wsme/*.py wsmeext/cornice.py
+
[testenv:pecan-dev-base]
deps =
{[common]testtools}
@@ -45,8 +55,8 @@
commands =
{envbindir}/nosetests tests/pecantest --with-xunit --xunit-file nosetests-{envname}.xml --verbose {posargs}
-[testenv:pecan-dev34]
-basepython = python3.4
+[testenv:pecan-dev35]
+basepython = python3.5
deps = {[testenv:pecan-dev-base]deps}
commands =
{envbindir}/nosetests tests/pecantest --with-xunit --xunit-file nosetests-{envname}.xml --verbose {posargs}
@@ -370,7 +380,7 @@
simplejson
basepython = python2.7
-[testenv:py34-sa5-lxml-json]
+[testenv:py35-sa5-lxml-json]
commands =
{envbindir}/coverage run {envbindir}/nosetests --nologcapture --with-xunit --xunit-file nosetests-{envname}.xml wsme/tests wsmeext/tests tests/pecantest tests/test_sphinxext.py tests/test_flask.py --verbose {posargs}
{envbindir}/coverage xml -o coverage-{envname}.xml wsme/*.py wsme/rest/*.py wsmeext/*.py
@@ -381,9 +391,9 @@
suds-jurko
SQLAlchemy<=0.5.99
lxml
-basepython = python3.4
+basepython = python3.5
-[testenv:py34-sa5]
+[testenv:py35-sa5]
commands =
{envbindir}/coverage run {envbindir}/nosetests --nologcapture --with-xunit --xunit-file nosetests-{envname}.xml wsme/tests wsmeext/tests tests/pecantest tests/test_sphinxext.py tests/test_flask.py --verbose {posargs}
{envbindir}/coverage xml -o coverage-{envname}.xml wsme/*.py wsme/rest/*.py wsmeext/*.py
@@ -394,9 +404,9 @@
suds-jurko
SQLAlchemy<=0.5.99
lxml
-basepython = python3.4
+basepython = python3.5
-[testenv:py34-sa5-lxml-simplejson]
+[testenv:py35-sa5-lxml-simplejson]
commands =
{envbindir}/coverage run {envbindir}/nosetests --nologcapture --with-xunit --xunit-file nosetests-{envname}.xml wsme/tests wsmeext/tests tests/pecantest tests/test_sphinxext.py tests/test_flask.py --verbose {posargs}
{envbindir}/coverage xml -o coverage-{envname}.xml wsme/*.py wsme/rest/*.py wsmeext/*.py
@@ -408,9 +418,9 @@
SQLAlchemy<=0.5.99
lxml
simplejson
-basepython = python3.4
+basepython = python3.5
-[testenv:py34-sa5-simplejson]
+[testenv:py35-sa5-simplejson]
commands =
{envbindir}/coverage run {envbindir}/nosetests --nologcapture --with-xunit --xunit-file nosetests-{envname}.xml wsme/tests wsmeext/tests tests/pecantest tests/test_sphinxext.py tests/test_flask.py --verbose {posargs}
{envbindir}/coverage xml -o coverage-{envname}.xml wsme/*.py wsme/rest/*.py wsmeext/*.py
@@ -422,9 +432,9 @@
SQLAlchemy<=0.5.99
lxml
simplejson
-basepython = python3.4
+basepython = python3.5
-[testenv:py34-sa5-nolxml-json]
+[testenv:py35-sa5-nolxml-json]
commands =
{envbindir}/coverage run {envbindir}/nosetests --nologcapture --with-xunit --xunit-file nosetests-{envname}.xml wsme/tests wsmeext/tests tests/pecantest tests/test_sphinxext.py tests/test_flask.py --verbose {posargs}
{envbindir}/coverage xml -o coverage-{envname}.xml wsme/*.py wsme/rest/*.py wsmeext/*.py
@@ -434,9 +444,9 @@
{[common]basedeps}
suds-jurko
SQLAlchemy<=0.5.99
-basepython = python3.4
+basepython = python3.5
-[testenv:py34-sa5-nolxml]
+[testenv:py35-sa5-nolxml]
commands =
{envbindir}/coverage run {envbindir}/nosetests --nologcapture --with-xunit --xunit-file nosetests-{envname}.xml wsme/tests wsmeext/tests tests/pecantest tests/test_sphinxext.py tests/test_flask.py --verbose {posargs}
{envbindir}/coverage xml -o coverage-{envname}.xml wsme/*.py wsme/rest/*.py wsmeext/*.py
@@ -446,9 +456,9 @@
{[common]basedeps}
suds-jurko
SQLAlchemy<=0.5.99
-basepython = python3.4
+basepython = python3.5
-[testenv:py34-sa5-nolxml-simplejson]
+[testenv:py35-sa5-nolxml-simplejson]
commands =
{envbindir}/coverage run {envbindir}/nosetests --nologcapture --with-xunit --xunit-file nosetests-{envname}.xml wsme/tests wsmeext/tests tests/pecantest tests/test_sphinxext.py tests/test_flask.py --verbose {posargs}
{envbindir}/coverage xml -o coverage-{envname}.xml wsme/*.py wsme/rest/*.py wsmeext/*.py
@@ -459,9 +469,9 @@
suds-jurko
SQLAlchemy<=0.5.99
simplejson
-basepython = python3.4
+basepython = python3.5
-[testenv:py34-sa6-lxml-json]
+[testenv:py35-sa6-lxml-json]
commands =
{envbindir}/coverage run {envbindir}/nosetests --nologcapture --with-xunit --xunit-file nosetests-{envname}.xml wsme/tests wsmeext/tests tests/pecantest tests/test_sphinxext.py tests/test_flask.py --verbose {posargs}
{envbindir}/coverage xml -o coverage-{envname}.xml wsme/*.py wsme/rest/*.py wsmeext/*.py
@@ -472,9 +482,9 @@
suds-jurko
SQLAlchemy<=0.6.99
lxml
-basepython = python3.4
+basepython = python3.5
-[testenv:py34-sa6]
+[testenv:py35-sa6]
commands =
{envbindir}/coverage run {envbindir}/nosetests --nologcapture --with-xunit --xunit-file nosetests-{envname}.xml wsme/tests wsmeext/tests tests/pecantest tests/test_sphinxext.py tests/test_flask.py --verbose {posargs}
{envbindir}/coverage xml -o coverage-{envname}.xml wsme/*.py wsme/rest/*.py wsmeext/*.py
@@ -485,9 +495,9 @@
suds-jurko
SQLAlchemy<=0.6.99
lxml
-basepython = python3.4
+basepython = python3.5
-[testenv:py34-sa6-lxml-simplejson]
+[testenv:py35-sa6-lxml-simplejson]
commands =
{envbindir}/coverage run {envbindir}/nosetests --nologcapture --with-xunit --xunit-file nosetests-{envname}.xml wsme/tests wsmeext/tests tests/pecantest tests/test_sphinxext.py tests/test_flask.py --verbose {posargs}
{envbindir}/coverage xml -o coverage-{envname}.xml wsme/*.py wsme/rest/*.py wsmeext/*.py
@@ -499,9 +509,9 @@
SQLAlchemy<=0.6.99
lxml
simplejson
-basepython = python3.4
+basepython = python3.5
-[testenv:py34-sa6-simplejson]
+[testenv:py35-sa6-simplejson]
commands =
{envbindir}/coverage run {envbindir}/nosetests --nologcapture --with-xunit --xunit-file nosetests-{envname}.xml wsme/tests wsmeext/tests tests/pecantest tests/test_sphinxext.py tests/test_flask.py --verbose {posargs}
{envbindir}/coverage xml -o coverage-{envname}.xml wsme/*.py wsme/rest/*.py wsmeext/*.py
@@ -513,9 +523,9 @@
SQLAlchemy<=0.6.99
lxml
simplejson
-basepython = python3.4
+basepython = python3.5
-[testenv:py34-sa6-nolxml-json]
+[testenv:py35-sa6-nolxml-json]
commands =
{envbindir}/coverage run {envbindir}/nosetests --nologcapture --with-xunit --xunit-file nosetests-{envname}.xml wsme/tests wsmeext/tests tests/pecantest tests/test_sphinxext.py tests/test_flask.py --verbose {posargs}
{envbindir}/coverage xml -o coverage-{envname}.xml wsme/*.py wsme/rest/*.py wsmeext/*.py
@@ -525,9 +535,9 @@
{[common]basedeps}
suds-jurko
SQLAlchemy<=0.6.99
-basepython = python3.4
+basepython = python3.5
-[testenv:py34-sa6-nolxml]
+[testenv:py35-sa6-nolxml]
commands =
{envbindir}/coverage run {envbindir}/nosetests --nologcapture --with-xunit --xunit-file nosetests-{envname}.xml wsme/tests wsmeext/tests tests/pecantest tests/test_sphinxext.py tests/test_flask.py --verbose {posargs}
{envbindir}/coverage xml -o coverage-{envname}.xml wsme/*.py wsme/rest/*.py wsmeext/*.py
@@ -537,9 +547,9 @@
{[common]basedeps}
suds-jurko
SQLAlchemy<=0.6.99
-basepython = python3.4
+basepython = python3.5
-[testenv:py34-sa6-nolxml-simplejson]
+[testenv:py35-sa6-nolxml-simplejson]
commands =
{envbindir}/coverage run {envbindir}/nosetests --nologcapture --with-xunit --xunit-file nosetests-{envname}.xml wsme/tests wsmeext/tests tests/pecantest tests/test_sphinxext.py tests/test_flask.py --verbose {posargs}
{envbindir}/coverage xml -o coverage-{envname}.xml wsme/*.py wsme/rest/*.py wsmeext/*.py
@@ -550,9 +560,9 @@
suds-jurko
SQLAlchemy<=0.6.99
simplejson
-basepython = python3.4
+basepython = python3.5
-[testenv:py34-sa7-lxml-json]
+[testenv:py35-sa7-lxml-json]
commands =
{envbindir}/coverage run {envbindir}/nosetests --nologcapture --with-xunit --xunit-file nosetests-{envname}.xml wsme/tests wsmeext/tests tests/pecantest tests/test_sphinxext.py tests/test_flask.py --verbose {posargs}
{envbindir}/coverage xml -o coverage-{envname}.xml wsme/*.py wsme/rest/*.py wsmeext/*.py
@@ -563,9 +573,9 @@
suds-jurko
SQLAlchemy<=0.7.99
lxml
-basepython = python3.4
+basepython = python3.5
-[testenv:py34]
+[testenv:py35]
commands =
{envbindir}/coverage run {envbindir}/nosetests --nologcapture --with-xunit --xunit-file nosetests-{envname}.xml wsme/tests wsmeext/tests tests/pecantest tests/test_sphinxext.py tests/test_flask.py --verbose {posargs}
{envbindir}/coverage xml -o coverage-{envname}.xml wsme/*.py wsme/rest/*.py wsmeext/*.py
@@ -576,9 +586,9 @@
suds-jurko
SQLAlchemy<=0.7.99
lxml
-basepython = python3.4
+basepython = python3.5
-[testenv:py34-sa7-lxml-simplejson]
+[testenv:py35-sa7-lxml-simplejson]
commands =
{envbindir}/coverage run {envbindir}/nosetests --nologcapture --with-xunit --xunit-file nosetests-{envname}.xml wsme/tests wsmeext/tests tests/pecantest tests/test_sphinxext.py tests/test_flask.py --verbose {posargs}
{envbindir}/coverage xml -o coverage-{envname}.xml wsme/*.py wsme/rest/*.py wsmeext/*.py
@@ -590,9 +600,9 @@
SQLAlchemy<=0.7.99
lxml
simplejson
-basepython = python3.4
+basepython = python3.5
-[testenv:py34-simplejson]
+[testenv:py35-simplejson]
commands =
{envbindir}/coverage run {envbindir}/nosetests --nologcapture --with-xunit --xunit-file nosetests-{envname}.xml wsme/tests wsmeext/tests tests/pecantest tests/test_sphinxext.py tests/test_flask.py --verbose {posargs}
{envbindir}/coverage xml -o coverage-{envname}.xml wsme/*.py wsme/rest/*.py wsmeext/*.py
@@ -604,9 +614,9 @@
SQLAlchemy<=0.7.99
lxml
simplejson
-basepython = python3.4
+basepython = python3.5
-[testenv:py34-sa7-nolxml-json]
+[testenv:py35-sa7-nolxml-json]
commands =
{envbindir}/coverage run {envbindir}/nosetests --nologcapture --with-xunit --xunit-file nosetests-{envname}.xml wsme/tests wsmeext/tests tests/pecantest tests/test_sphinxext.py tests/test_flask.py --verbose {posargs}
{envbindir}/coverage xml -o coverage-{envname}.xml wsme/*.py wsme/rest/*.py wsmeext/*.py
@@ -616,9 +626,9 @@
{[common]basedeps}
suds-jurko
SQLAlchemy<=0.7.99
-basepython = python3.4
+basepython = python3.5
-[testenv:py34-nolxml]
+[testenv:py35-nolxml]
commands =
{envbindir}/coverage run {envbindir}/nosetests --nologcapture --with-xunit --xunit-file nosetests-{envname}.xml wsme/tests wsmeext/tests tests/pecantest tests/test_sphinxext.py tests/test_flask.py --verbose {posargs}
{envbindir}/coverage xml -o coverage-{envname}.xml wsme/*.py wsme/rest/*.py wsmeext/*.py
@@ -628,9 +638,9 @@
{[common]basedeps}
suds-jurko
SQLAlchemy<=0.7.99
-basepython = python3.4
+basepython = python3.5
-[testenv:py34-sa7-nolxml-simplejson]
+[testenv:py35-sa7-nolxml-simplejson]
commands =
{envbindir}/coverage run {envbindir}/nosetests --nologcapture --with-xunit --xunit-file nosetests-{envname}.xml wsme/tests wsmeext/tests tests/pecantest tests/test_sphinxext.py tests/test_flask.py --verbose {posargs}
{envbindir}/coverage xml -o coverage-{envname}.xml wsme/*.py wsme/rest/*.py wsmeext/*.py
@@ -641,9 +651,9 @@
suds-jurko
SQLAlchemy<=0.7.99
simplejson
-basepython = python3.4
+basepython = python3.5
-[testenv:py34-nolxml-simplejson]
+[testenv:py35-nolxml-simplejson]
commands =
{envbindir}/coverage run {envbindir}/nosetests --nologcapture --with-xunit --xunit-file nosetests-{envname}.xml wsme/tests wsmeext/tests tests/pecantest tests/test_sphinxext.py tests/test_flask.py --verbose {posargs}
{envbindir}/coverage xml -o coverage-{envname}.xml wsme/*.py wsme/rest/*.py wsmeext/*.py
@@ -654,7 +664,7 @@
suds-jurko
SQLAlchemy<=0.7.99
simplejson
-basepython = python3.4
+basepython = python3.5
[testenv:pypy-sa5-lxml-json]
commands =
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/WSME-0.8.0/wsme/api.py new/WSME-0.9.2/wsme/api.py
--- old/WSME-0.8.0/wsme/api.py 2015-08-25 17:05:33.000000000 +0200
+++ new/WSME-0.9.2/wsme/api.py 2017-02-14 11:37:52.000000000 +0100
@@ -182,6 +182,7 @@
fd.set_arg_types(argspec, self.arg_types)
return func
+
sig = signature
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/WSME-0.8.0/wsme/rest/args.py new/WSME-0.9.2/wsme/rest/args.py
--- old/WSME-0.8.0/wsme/rest/args.py 2015-08-25 17:05:33.000000000 +0200
+++ new/WSME-0.9.2/wsme/rest/args.py 2017-02-14 11:37:52.000000000 +0100
@@ -178,7 +178,7 @@
for argdef, arg in zip(funcdef.arguments[:len(args)], args):
try:
newargs.append(from_param(argdef.datatype, arg))
- except Exception:
+ except Exception as e:
if isinstance(argdef.datatype, UserType):
datatype_name = argdef.datatype.name
elif isinstance(argdef.datatype, type):
@@ -188,7 +188,8 @@
raise InvalidInput(
argdef.name,
arg,
- "unable to convert to %s" % datatype_name)
+ "unable to convert to %(datatype)s. Error: %(error)s" % {
+ 'datatype': datatype_name, 'error': e})
newkwargs = {}
for argname, value in kwargs.items():
newkwargs[argname] = from_param(
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/WSME-0.8.0/wsme/tests/test_protocols_commons.py new/WSME-0.9.2/wsme/tests/test_protocols_commons.py
--- old/WSME-0.8.0/wsme/tests/test_protocols_commons.py 2015-08-25 17:05:33.000000000 +0200
+++ new/WSME-0.9.2/wsme/tests/test_protocols_commons.py 2017-02-14 11:37:52.000000000 +0100
@@ -93,6 +93,31 @@
else:
self.fail('Should have thrown an InvalidInput')
+ def test_args_from_args_custom_exc(self):
+
+ class FakeType(UserType):
+ name = 'fake-type'
+ basetype = int
+
+ def validate(self, value):
+ if value < 10:
+ raise ValueError('should be greater than 10')
+
+ def frombasetype(self, value):
+ self.validate(value)
+
+ fake_type = FakeType()
+ fd = FunctionDefinition(FunctionDefinition)
+ fd.arguments.append(FunctionArgument('fake-arg', fake_type, True, 0))
+
+ try:
+ args_from_args(fd, [9], {})
+ except InvalidInput as e:
+ assert fake_type.name in str(e)
+ assert 'Error: should be greater than 10' in str(e)
+ else:
+ self.fail('Should have thrown an InvalidInput')
+
def test_args_from_args_array_type(self):
fake_type = ArrayType(MyBaseType)
fd = FunctionDefinition(FunctionDefinition)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/WSME-0.8.0/wsme/tests/test_restjson.py new/WSME-0.9.2/wsme/tests/test_restjson.py
--- old/WSME-0.8.0/wsme/tests/test_restjson.py 2015-08-25 17:05:33.000000000 +0200
+++ new/WSME-0.9.2/wsme/tests/test_restjson.py 2017-02-14 11:37:52.000000000 +0100
@@ -148,6 +148,7 @@
ref.name = u('test')
return CRUDResult(ref, u('delete'))
+
wsme.tests.protocol.WSTestRoot.crud = MiniCrud()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/WSME-0.8.0/wsme/tests/test_restxml.py new/WSME-0.9.2/wsme/tests/test_restxml.py
--- old/WSME-0.8.0/wsme/tests/test_restxml.py 2015-08-25 17:05:33.000000000 +0200
+++ new/WSME-0.9.2/wsme/tests/test_restxml.py 2017-02-14 11:37:52.000000000 +0100
@@ -57,7 +57,7 @@
def loadxml(el, datatype):
- print (el, datatype, len(el))
+ print(el, datatype, len(el))
if el.get('nil') == 'true':
return None
if isinstance(datatype, list):
@@ -90,10 +90,10 @@
for attr in datatype._wsme_attributes:
name = attr.name
child = el.find(name)
- print (name, attr, child)
+ print(name, attr, child)
if child is not None:
d[name] = loadxml(child, attr.datatype)
- print (d)
+ print(d)
return d
else:
if datatype == wsme.types.binary:
@@ -137,7 +137,7 @@
content,
headers=headers,
expect_errors=True)
- print ("Received:", res.body)
+ print("Received:", res.body)
if _no_result_decode:
return res
@@ -167,7 +167,7 @@
language, sample = wsme.rest.xml.encode_sample_value(
MyType, value, True)
- print (language, sample)
+ print(language, sample)
assert language == 'xml'
assert sample == b("""<value>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/WSME-0.8.0/wsme/tests/test_types.py new/WSME-0.9.2/wsme/tests/test_types.py
--- old/WSME-0.8.0/wsme/tests/test_types.py 2015-08-25 17:05:33.000000000 +0200
+++ new/WSME-0.9.2/wsme/tests/test_types.py 2017-02-14 11:37:52.000000000 +0100
@@ -206,6 +206,19 @@
self.assertRaises(exc.InvalidInput, setattr, obj, 'alist', 12)
self.assertRaises(exc.InvalidInput, setattr, obj, 'alist', [2, 'a'])
+ def test_attribute_validation_minimum(self):
+ class ATypeInt(object):
+ attr = types.IntegerType(minimum=1, maximum=5)
+
+ types.register_type(ATypeInt)
+
+ obj = ATypeInt()
+ obj.attr = 2
+
+ # comparison between 'zero' value and intger minimum (1) raises a
+ # TypeError which must be wrapped into an InvalidInput exception
+ self.assertRaises(exc.InvalidInput, setattr, obj, 'attr', 'zero')
+
def test_text_attribute_conversion(self):
class SType(object):
atext = types.text
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/WSME-0.8.0/wsme/tests/test_utils.py new/WSME-0.9.2/wsme/tests/test_utils.py
--- old/WSME-0.8.0/wsme/tests/test_utils.py 2015-08-25 17:05:33.000000000 +0200
+++ new/WSME-0.9.2/wsme/tests/test_utils.py 2017-02-14 11:37:52.000000000 +0100
@@ -63,14 +63,12 @@
pytz.FixedOffset(-1439))),
]
ill_formatted_datetimes = [
- '24-12-2004',
+ '24-32-2004',
'1856-07-10+33:00'
]
out_of_range_datetimes = [
'2008-02-12T32:12:00',
'2012-13-12T00:54:60',
- '1856-07-10T01:02:03-24:00',
- '1856-07-10T01:02:03+24:00',
]
for s, t in good_datetimes:
assert utils.parse_isodatetime(s) == t
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/WSME-0.8.0/wsme/types.py new/WSME-0.9.2/wsme/types.py
--- old/WSME-0.8.0/wsme/types.py 2015-08-25 17:05:33.000000000 +0200
+++ new/WSME-0.9.2/wsme/types.py 2017-02-14 11:37:52.000000000 +0100
@@ -135,6 +135,7 @@
return None
return base64.decodestring(value)
+
#: The binary almost-native type
binary = BinaryType()
@@ -325,6 +326,7 @@
def __repr__(self):
return 'Unset'
+
Unset = UnsetType()
#: A special type that corresponds to the host framework request object.
@@ -487,7 +489,7 @@
def __set__(self, instance, value):
try:
value = validate_value(self.datatype, value)
- except ValueError as e:
+ except (ValueError, TypeError) as e:
raise exc.InvalidInput(self.name, value, six.text_type(e))
dataholder = self._get_dataholder(instance)
if value is Unset:
@@ -741,6 +743,7 @@
type_ = self.register(type_)
return type_
+
# Default type registry
registry = Registry()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/WSME-0.8.0/wsmeext/pecan.py new/WSME-0.9.2/wsmeext/pecan.py
--- old/WSME-0.8.0/wsmeext/pecan.py 2015-08-25 17:05:33.000000000 +0200
+++ new/WSME-0.9.2/wsmeext/pecan.py 2017-02-14 11:37:52.000000000 +0100
@@ -43,6 +43,7 @@
namespace['datatype']
)
+
pecan.templating._builtin_renderers['wsmejson'] = JSonRenderer
pecan.templating._builtin_renderers['wsmexml'] = XMLRenderer
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/WSME-0.8.0/wsmeext/soap/wsdl.py new/WSME-0.9.2/wsmeext/soap/wsdl.py
--- old/WSME-0.8.0/wsmeext/soap/wsdl.py 2015-08-25 17:05:33.000000000 +0200
+++ new/WSME-0.9.2/wsmeext/soap/wsdl.py 2017-02-14 11:37:52.000000000 +0100
@@ -28,6 +28,7 @@
def qn(self, name):
return '{%s}%s' % (self.url, name)
+
wsdl_ns = NS("http://schemas.xmlsoap.org/wsdl/")
soap_ns = NS("http://schemas.xmlsoap.org/wsdl/soap/")
xs_ns = NS("http://www.w3.org/2001/XMLSchema")
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/WSME-0.8.0/wsmeext/sphinxext.py new/WSME-0.9.2/wsmeext/sphinxext.py
--- old/WSME-0.8.0/wsmeext/sphinxext.py 2015-08-25 17:05:33.000000000 +0200
+++ new/WSME-0.9.2/wsmeext/sphinxext.py 2017-02-14 11:37:52.000000000 +0100
@@ -361,6 +361,8 @@
def format_name(self):
path = find_service_path(self.env, self.object)
+ if path is None:
+ return
return '/' + '/'.join(path)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/WSME-0.8.0/wsmeext/sqlalchemy/controllers.py new/WSME-0.9.2/wsmeext/sqlalchemy/controllers.py
--- old/WSME-0.8.0/wsmeext/sqlalchemy/controllers.py 2015-08-25 17:05:33.000000000 +0200
+++ new/WSME-0.9.2/wsmeext/sqlalchemy/controllers.py 2017-02-14 11:37:52.000000000 +0100
@@ -91,6 +91,7 @@
self.__dbsession__.flush()
return None
+
CRUDController = CRUDControllerMeta(
'CRUDController', (CRUDControllerBase,), {}
)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/WSME-0.8.0/wsmeext/tests/test_extdirect.py new/WSME-0.9.2/wsmeext/tests/test_extdirect.py
--- old/WSME-0.8.0/wsmeext/tests/test_extdirect.py 2015-08-25 17:05:33.000000000 +0200
+++ new/WSME-0.9.2/wsmeext/tests/test_extdirect.py 2017-02-14 11:37:52.000000000 +0100
@@ -224,7 +224,7 @@
body,
headers={'Content-Type': 'application/x-www-form-urlencoded'}
)
- print (r)
+ print(r)
assert json.loads(r.text) == {
"tid": "1",
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/WSME-0.8.0/wsmeext/tests/test_soap.py new/WSME-0.9.2/wsmeext/tests/test_soap.py
--- old/WSME-0.8.0/wsmeext/tests/test_soap.py 2015-08-25 17:05:33.000000000 +0200
+++ new/WSME-0.9.2/wsmeext/tests/test_soap.py 2017-02-14 11:37:52.000000000 +0100
@@ -28,6 +28,7 @@
return str(value)
return value
+
suds.xsd.sxbuiltin.Factory.tags['decimal'] = XDecimal
@@ -83,6 +84,7 @@
def clear(self, id):
self.d = {}
+
sudscache = SudsCache()
tns = "http://foo.bar.baz/soap/"
@@ -200,6 +202,7 @@
def read_bool(value):
return value == 'true'
+
soap_types = {
'xs:string': wsme.types.text,
'xs:int': int,
@@ -244,6 +247,7 @@
value = base64.decodestring(value.encode())
return value
+
fromsuds_types = {
wsme.types.binary: tobin,
wsme.types.bytes: tobytes,
1
0
Hello community,
here is the log from the commit of package sox for openSUSE:Factory checked in at 2017-08-29 11:44:27
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/sox (Old)
and /work/SRC/openSUSE:Factory/.sox.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "sox"
Tue Aug 29 11:44:27 2017 rev:41 rq:518799 version:14.4.2
Changes:
--------
--- /work/SRC/openSUSE:Factory/sox/sox.changes 2017-03-10 21:44:12.300326575 +0100
+++ /work/SRC/openSUSE:Factory/.sox.new/sox.changes 2017-08-29 11:44:33.144333365 +0200
@@ -1,0 +2,6 @@
+Fri Aug 25 06:10:58 UTC 2017 - olaf(a)aepfle.de
+
+- Enable lame/mad/twolame unconditionally
+- Remove ffmpeg/opus conditional because it is always present
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ sox.spec ++++++
--- /var/tmp/diff_new_pack.yazdN5/_old 2017-08-29 11:44:35.851951680 +0200
+++ /var/tmp/diff_new_pack.yazdN5/_new 2017-08-29 11:44:35.891946042 +0200
@@ -1,7 +1,7 @@
#
# spec file for package sox
#
-# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -18,57 +18,42 @@
%define soname 3
-%bcond_without ffmpeg
-%bcond_without opus
-%bcond_with mad
-%bcond_with lame
%bcond_with amrwb
%bcond_with amrnb
-%bcond_with twolame
Name: sox
BuildRequires: file-devel
BuildRequires: ladspa-devel
BuildRequires: libgsm-devel
BuildRequires: libid3tag-devel
+BuildRequires: libmp3lame-devel
BuildRequires: pkg-config
BuildRequires: pkgconfig(alsa)
BuildRequires: pkgconfig(ao)
BuildRequires: pkgconfig(flac)
+BuildRequires: pkgconfig(libavcodec)
+BuildRequires: pkgconfig(libavformat)
+BuildRequires: pkgconfig(libavutil)
BuildRequires: pkgconfig(libpng)
BuildRequires: pkgconfig(libpulse)
BuildRequires: pkgconfig(libpulse-simple)
+BuildRequires: pkgconfig(mad)
BuildRequires: pkgconfig(ogg)
+BuildRequires: pkgconfig(opusfile)
BuildRequires: pkgconfig(sndfile)
BuildRequires: pkgconfig(vorbis)
BuildRequires: pkgconfig(vorbisenc)
BuildRequires: pkgconfig(vorbisfile)
BuildRequires: pkgconfig(wavpack)
BuildRequires: pkgconfig(zlib)
-%if %{with ffmpeg}
-BuildRequires: pkgconfig(libavcodec)
-BuildRequires: pkgconfig(libavformat)
-BuildRequires: pkgconfig(libavutil)
-%endif
-%if %{with opus}
-BuildRequires: pkgconfig(opusfile)
-%endif
-%if %{with mad}
-BuildRequires: pkgconfig(mad)
-%endif
-%if %{with lame}
-BuildRequires: libmp3lame-devel
-%endif
%if %{with amrnb}
BuildRequires: pkgconfig(opencore-amrnb)
%endif
%if %{with amrwb}
BuildRequires: pkgconfig(opencore-amrwb)
%endif
-%if %{with twolame}
-BuildRequires: pkgconfig(twolame)
-%endif
BuildRequires: libtool
+BuildRequires: pkgconfig(twolame)
Version: 14.4.2
Release: 0
Summary: Sound Conversion Tools
1
0