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 python-ZEO for openSUSE:Factory checked in at 2017-08-29 11:44:21
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-ZEO (Old)
and /work/SRC/openSUSE:Factory/.python-ZEO.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-ZEO"
Tue Aug 29 11:44:21 2017 rev:5 rq:518773 version:5.1.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-ZEO/python-ZEO.changes 2015-05-19 23:47:48.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.python-ZEO.new/python-ZEO.changes 2017-08-29 11:44:27.329153116 +0200
@@ -1,0 +2,19 @@
+Fri Aug 25 11:55:40 UTC 2017 - toddrme2178(a)gmail.com
+
+- Fix doc package dependencies
+
+-------------------------------------------------------------------
+Mon Jul 17 17:56:44 UTC 2017 - toddrme2178(a)gmail.com
+
+- Use same package names from requires and buildrequires to avoid
+ packaging issues.
+
+-------------------------------------------------------------------
+Sun Jul 9 06:01:33 UTC 2017 - aloisio(a)gmx.com
+
+- Update to version 5.1.0 (see CHANGES.rst)
+- Converted to single-spec
+- Added python-ZEO-rpmlintrc
+- Enabled tests
+
+-------------------------------------------------------------------
Old:
----
ZEO-4.1.0.tar.gz
New:
----
ZEO-5.1.0.tar.gz
python-ZEO-rpmlintrc
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-ZEO.spec ++++++
--- /var/tmp/diff_new_pack.hGT8kX/_old 2017-08-29 11:44:28.440996382 +0200
+++ /var/tmp/diff_new_pack.hGT8kX/_new 2017-08-29 11:44:28.448995254 +0200
@@ -1,7 +1,7 @@
#
# spec file for package python-ZEO
#
-# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany.
# Copyright (c) 2013 LISA GmbH, Bingen, Germany.
#
# All modifications and additions to the file contributed by third parties
@@ -17,58 +17,63 @@
#
+%{?!python_module:%define python_module() python-%{**} python3-%{**}}
+%bcond_without test
Name: python-ZEO
-Version: 4.1.0
+Version: 5.1.0
Release: 0
-Url: http://docs.pylonsproject.org
Summary: Client-Server storage implementation for ZODB
License: ZPL-2.1
Group: Development/Languages/Python
-Source: http://pypi.python.org/packages/source/Z/ZEO/ZEO-%{version}.tar.gz
+Url: http://docs.pylonsproject.org
+Source: https://files.pythonhosted.org/packages/source/Z/ZEO/ZEO-%{version}.tar.gz
+Source99: %{name}-rpmlintrc
+BuildRequires: %{python_module ZConfig}
+BuildRequires: %{python_module ZODB >= 5.1.1}
+BuildRequires: %{python_module devel}
+BuildRequires: %{python_module setuptools}
+BuildRequires: %{python_module six}
+BuildRequires: fdupes
+BuildRequires: python-rpm-macros
+# SECTION documentation requirements
+BuildRequires: %{python_module Sphinx}
+# /SECTION
+%if %{with test}
+BuildRequires: %{python_module manuel}
+BuildRequires: %{python_module mock}
+BuildRequires: %{python_module msgpack-python}
+BuildRequires: %{python_module random2}
+BuildRequires: %{python_module zodbpickle >= 0.6.0}
+BuildRequires: %{python_module zope.testing}
+BuildRequires: python-futures
+BuildRequires: python-trollius
+%endif
Requires: python-ZConfig
-Requires: python-ZODB >= 4.0.0
+Requires: python-ZODB >= 5.1.1
+Requires: python-six
+
Requires: python-persistent
Requires: python-transaction
+%ifpython2
+Requires: python-trollius
+%endif
Requires: python-zc.lockfile
Requires: python-zdaemon
Requires: python-zope.interface
-BuildRequires: python-ZConfig
-BuildRequires: python-ZODB >= 4.0.0
-BuildRequires: python-persistent
-BuildRequires: python-transaction
-BuildRequires: python-zc.lockfile
-BuildRequires: python-zdaemon
-BuildRequires: python-zope.interface
-
-BuildRequires: python-six
-# Documentation requirements:
-BuildRequires: python-Sphinx
-# Testing requirements:
-BuildRequires: python-manuel
-BuildRequires: python-random2
-BuildRequires: python-zope.testing
-BuildRoot: %{_tmppath}/%{name}-%{version}-build
Requires(post): update-alternatives
-Requires(postun): update-alternatives
-
-%if 0%{?suse_version} && 0%{?suse_version} <= 1110
-BuildRequires: python-ordereddict
-BuildRequires: python-unittest2
-%{!?python_sitelib: %global python_sitelib %(python -c "from distutils.sysconfig import get_python_lib; print get_python_lib()")}
-%else
+Requires(preun): update-alternatives
BuildArch: noarch
-%endif
+%python_subpackages
%description
ZEO provides a client-server storage implementation for ZODB.
-
-%package doc
+%package -n %{name}-doc
Summary: Client-Server storage implementation for ZODB
Group: Development/Languages/Python
-Requires: %{name} = %{version}
+Provides: %{python_module ZEO-doc = %{version}}
-%description doc
+%description -n %{name}-doc
This package contains documentation files for %{name}.
%prep
@@ -77,68 +82,44 @@
find . -name "*~" -print -delete
# remove unwanted shebang
find src -name "*.py" | xargs sed -i '1 { /^#!/ d }'
+rm -rf src/ZEO.egg-info
%build
-python setup.py build
-python setup.py build_sphinx && rm build/sphinx/html/.buildinfo
+%python_build
+%{_python_use_flavor python3}
+python3 setup.py build_sphinx && rm build/sphinx/html/.buildinfo
%install
-python setup.py install --prefix=%{_prefix} --root=%{buildroot}
-# for update-alternatives
-mkdir -p %{buildroot}%{_sysconfdir}/alternatives
-for fn in runzeo zeoctl zeopack zeopasswd zeo-nagios; do
- mv %{buildroot}%{_bindir}/$fn %{buildroot}%{_bindir}/$fn-%{py_ver}
- touch %{buildroot}%{_sysconfdir}/alternatives/$fn
- ln -s %{_sysconfdir}/alternatives/$fn %{buildroot}%{_bindir}/$fn
-done
+%python_install
+%python_expand %fdupes -s %{buildroot}%{$python_sitelib}
-%check
-python setup.py test
+%python_clone -a %{buildroot}%{_bindir}/runzeo
+%python_clone -a %{buildroot}%{_bindir}/zeoctl
+%python_clone -a %{buildroot}%{_bindir}/zeopack
+%python_clone -a %{buildroot}%{_bindir}/zeo-nagios
-%pre
-# Since binaries in /usr/bin became ghosted to be used with update-alternatives, we have
-# to get rid of the old binaries resulting from the non-update-alternativies-ified package:
-[ -h %{_bindir}/runzeo ] || rm -f %{_bindir}/runzeo
-[ -h %{_bindir}/zeoctl ] || rm -f %{_bindir}/zeoctl
-[ -h %{_bindir}/zeopack ] || rm -f %{_bindir}/zeopack
-[ -h %{_bindir}/zeopasswd ] || rm -f %{_bindir}/zeopasswd
-# not for zeo-nagios, it appeared after update-alternatives
+%if %{with test}
+%check
+%python_exec setup.py test
+%endif
%post
-update-alternatives \
- --install %{_bindir}/runzeo runzeo %{_bindir}/runzeo-%{py_ver} 20 \
- --slave %{_bindir}/zeoctl zeoctl %{_bindir}/zeoctl-%{py_ver} \
- --slave %{_bindir}/zeopack zeopack %{_bindir}/zeopack-%{py_ver} \
- --slave %{_bindir}/zeopasswd zeopasswd %{_bindir}/zeopasswd-%{py_ver} \
- --slave %{_bindir}/zeo-nagios zeo-nagios %{_bindir}/zeo-nagios-%{py_ver}
-
-%preun
-if [ $1 -eq 0 ] ; then
- update-alternatives --remove runzeo %{_bindir}/runzeo-%{py_ver}
-fi
+%python_install_alternative runzeo zeoctl zeopack zeo-nagios
+
+%postun
+%python_uninstall_alternative runzeo
-%files
+%files %{python_files}
%defattr(-,root,root,-)
%doc CHANGES.rst COPYRIGHT.txt LICENSE.txt README.rst
-%ghost %{_sysconfdir}/alternatives/runzeo
-%{_bindir}/runzeo
-%{_bindir}/runzeo-%{py_ver}
-%ghost %{_sysconfdir}/alternatives/zeoctl
-%{_bindir}/zeoctl
-%{_bindir}/zeoctl-%{py_ver}
-%ghost %{_sysconfdir}/alternatives/zeopack
-%{_bindir}/zeopack
-%{_bindir}/zeopack-%{py_ver}
-%ghost %{_sysconfdir}/alternatives/zeopasswd
-%{_bindir}/zeopasswd
-%{_bindir}/zeopasswd-%{py_ver}
-%ghost %{_sysconfdir}/alternatives/zeo-nagios
-%{_bindir}/zeo-nagios
-%{_bindir}/zeo-nagios-%{py_ver}
+%python_alternative %{_bindir}/runzeo
+%python_alternative %{_bindir}/zeoctl
+%python_alternative %{_bindir}/zeopack
+%python_alternative %{_bindir}/zeo-nagios
%{python_sitelib}/ZEO
-%{python_sitelib}/ZEO-%{version}-py%{py_ver}.egg-info
+%{python_sitelib}/ZEO-%{version}-py%{python_version}.egg-info
-%files doc
+%files -n %{name}-doc
%defattr(-,root,root,-)
%doc build/sphinx/html
++++++ ZEO-4.1.0.tar.gz -> ZEO-5.1.0.tar.gz ++++++
++++ 34004 lines of diff (skipped)
++++++ python-ZEO-rpmlintrc ++++++
# these are only shipped for testing purposes
addFilter(".*ZEO/tests/.*pem$")
1
0
Hello community,
here is the log from the commit of package python-happybase for openSUSE:Factory checked in at 2017-08-29 11:44:14
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-happybase (Old)
and /work/SRC/openSUSE:Factory/.python-happybase.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-happybase"
Tue Aug 29 11:44:14 2017 rev:10 rq:518704 version:1.1.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-happybase/python-happybase.changes 2015-05-10 10:46:31.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.python-happybase.new/python-happybase.changes 2017-08-29 11:44:19.826210790 +0200
@@ -1,0 +2,17 @@
+Fri Aug 25 10:09:26 UTC 2017 - tbechtold(a)suse.com
+
+- update to 1.1.0:
+ * Set socket timeout unconditionally on ``TSocket``
+ * Add new ‘0.98’ compatibility mode
+ * Add support for reversed scanners
+ * From now on this library uses a semantic versioning scheme.
+ HappyBase is a mature library, but always used 0.x version numbers
+ for no good reason. This has now changed.
+ * Finally, Python 3 support. Thanks to all the people who contributed!
+ * Switch to thriftpy as the underlying Thrift library, which is a much
+ nicer and better maintained library.
+ * Enable building universal wheels
+- convert to singlespec
+- split -doc package
+
+-------------------------------------------------------------------
Old:
----
happybase-0.9.tar.gz
New:
----
happybase-1.1.0.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-happybase.spec ++++++
--- /var/tmp/diff_new_pack.i5KiKE/_old 2017-08-29 11:44:20.906058566 +0200
+++ /var/tmp/diff_new_pack.i5KiKE/_new 2017-08-29 11:44:20.930055184 +0200
@@ -1,7 +1,7 @@
#
# spec file for package python-happybase
#
-# 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,47 +16,59 @@
#
+%{?!python_module:%define python_module() python-%{**} python3-%{**}}
Name: python-happybase
-Version: 0.9
+Version: 1.1.0
Release: 0
Summary: A developer-friendly Python library to interact with Apache HBase
License: MIT
Group: Development/Languages/Python
Url: https://github.com/wbolster/happybase
-Source: https://pypi.python.org/packages/source/h/happybase/happybase-%{version}.ta…
-BuildRequires: python-Sphinx
-BuildRequires: python-devel
-BuildRequires: python-setuptools
-BuildRequires: python-thrift
-Requires: python-thrift
+Source: https://files.pythonhosted.org/packages/source/h/happybase/happybase-%{vers…
+BuildRequires: %{python_module devel}
+BuildRequires: %{python_module setuptools}
+BuildRequires: %{python_module thriftpy}
+BuildRequires: python-rpm-macros
+BuildRequires: python3-Sphinx
+Requires: python-six
+Requires: python-thriftpy >= 0.3.8
BuildRoot: %{_tmppath}/%{name}-%{version}-build
-%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
HappyBase is a developer-friendly Python library to interact with Apache HBase.
+%package -n python-happybase-doc
+Summary: Documentation for %{name}
+Group: Documentation/Other
+Provides: %{python_module happybase-doc = %{version}}
+
+%description -n python-happybase-doc
+HappyBase is a developer-friendly Python library to interact with Apache HBase.
+
+This package contains the documentation.
+
%prep
%setup -q -n happybase-%{version}
%build
-python setup.py build
-python setup.py build_sphinx
-# Remove hidden file generated by Sphinx
-rm doc/build/html/.buildinfo
+%python_build
+sphinx-build -b html doc docs/build/html
%install
-python setup.py install --prefix=%{_prefix} --root=%{buildroot}
+%python_install
%check
-python setup.py test
+%python_exec setup.py test
-%files
+%files %{python_files}
%defattr(-,root,root,-)
-%doc LICENSE.rst NEWS.rst README.rst TODO.rst doc/build/html
+%doc LICENSE.rst NEWS.rst README.rst TODO.rst
%{python_sitelib}/*
+%files -n python-happybase-doc
+%doc LICENSE.rst docs/build/html
+
%changelog
++++++ happybase-0.9.tar.gz -> happybase-1.1.0.tar.gz ++++++
++++ 14988 lines of diff (skipped)
1
0
Hello community,
here is the log from the commit of package python-websockify for openSUSE:Factory checked in at 2017-08-29 11:44:11
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-websockify (Old)
and /work/SRC/openSUSE:Factory/.python-websockify.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-websockify"
Tue Aug 29 11:44:11 2017 rev:14 rq:518694 version:0.8.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-websockify/python-websockify.changes 2017-07-25 11:40:45.737241754 +0200
+++ /work/SRC/openSUSE:Factory/.python-websockify.new/python-websockify.changes 2017-08-29 11:44:16.666656187 +0200
@@ -1,0 +2,11 @@
+Fri Aug 25 09:42:56 UTC 2017 - tbechtold(a)suse.com
+
+- use https for Source
+
+-------------------------------------------------------------------
+Fri Aug 25 07:57:23 UTC 2017 - tbechtold(a)suse.com
+
+- convert to singlespec
+- split data files into -common package
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-websockify.spec ++++++
--- /var/tmp/diff_new_pack.daqzvD/_old 2017-08-29 11:44:17.894483103 +0200
+++ /var/tmp/diff_new_pack.daqzvD/_new 2017-08-29 11:44:17.910480847 +0200
@@ -16,6 +16,7 @@
#
+%{?!python_module:%define python_module() python-%{**} python3-%{**}}
Name: python-websockify
Version: 0.8.0
Release: 0
@@ -23,17 +24,23 @@
License: LGPL-3.0 and MPL-2.0 and BSD-2-Clause and BSD-3-Clause
Group: Development/Languages/Python
Url: https://github.com/kanaka/websockify
-Source: http://pypi.python.org/packages/source/w/websockify/websockify-%{version}.t…
-BuildRequires: python-devel
-BuildRequires: python-setuptools
+Source: https://files.pythonhosted.org/packages/source/w/websockify/websockify-%{ve…
+BuildRequires: %{python_module devel}
+BuildRequires: %{python_module setuptools}
+BuildRequires: python-rpm-macros
BuildRequires: unzip
%if 0%{?suse_version}
Recommends: python-numpy
%endif
Requires: python-setuptools
+Requires: python-websockify-common = %{version}
BuildRoot: %{_tmppath}/%{name}-%{version}-build
+Requires(post): update-alternatives
+Requires(postun): update-alternatives
BuildArch: noarch
+%python_subpackages
+
%description
websockify was formerly named wsproxy and was part of the
noVNC project.
@@ -43,6 +50,22 @@
parses it, and then begins forwarding traffic between the client and
the target in both directions.
+%package -n python-websockify-common
+Summary: Websockify
+Group: Development/Languages/Python
+Provides: %{python_module websockify-common = %{version}}
+
+%description -n python-websockify-common
+websockify was formerly named wsproxy and was part of the
+noVNC project.
+
+At the most basic level, websockify just translates WebSockets traffic
+to normal socket traffic. Websockify accepts the WebSockets handshake,
+parses it, and then begins forwarding traffic between the client and
+the target in both directions.
+
+This package contains common files.
+
%prep
%setup -q -n websockify-%{version}
# remove unwanted shebang
@@ -51,16 +74,26 @@
chmod -x include/web-socket-js/web_socket.js
%build
-python setup.py build
+%python_build
%install
-python setup.py install --prefix=%{_prefix} --root=%{buildroot}
+%python_install
+%python_clone -a %{buildroot}%{_bindir}/websockify
+
+%post
+%python_install_alternative websockify
-%files
+%postun
+%python_uninstall_alternative websockify
+
+%files %{python_files}
%defattr(-,root,root,-)
%doc CHANGES.txt LICENSE.txt README.md
-%{_bindir}/websockify
-%{_datadir}/websockify
+%python_alternative %{_bindir}/websockify
%{python_sitelib}/*
+%files -n python-websockify-common
+%doc LICENSE.txt
+%{_datadir}/websockify
+
%changelog
1
0
Hello community,
here is the log from the commit of package 389-ds for openSUSE:Factory checked in at 2017-08-29 11:44:08
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/389-ds (Old)
and /work/SRC/openSUSE:Factory/.389-ds.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "389-ds"
Tue Aug 29 11:44:08 2017 rev:10 rq:518666 version:1.3.6.6
Changes:
--------
--- /work/SRC/openSUSE:Factory/389-ds/389-ds.changes 2016-11-28 15:10:52.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.389-ds.new/389-ds.changes 2017-08-29 11:44:09.683640576 +0200
@@ -1,0 +2,238 @@
+Tue Aug 15 14:37:47 UTC 2017 - hguo(a)suse.com
+
+- Introduce acl as mandatory runtime dependency.
+
+-------------------------------------------------------------------
+Tue Aug 8 14:37:00 UTC 2017 - hguo(a)suse.com
+
+- Rename patch 389-ds-base-1.3.2.11_init_fhs.patch -> 0001-init_fhs.patch
+- Fix faulty python module import with patch
+ 0002-use-python2-for-selinux-detection.patch
+- Conduct a major clean-up of spec file to remove all outdated macros
+- Introduce extra schema files from OpenLDAP distribution with
+ extra-schema.tgz and LICENSE.openldap
+
+-------------------------------------------------------------------
+Sat May 27 08:46:54 UTC 2017 - mrueckert(a)suse.de
+
+- update to 1.3.6.6
+ - Ticket 49157 - fix error in ds-logpipe.py
+ - Ticket 48864 - remove config.h from spal header.
+ - Ticket 48681 - logconv.pl - Fix SASL Bind stats and rework
+ report format
+ - Ticket 49261 - Fix script usage and man pages
+ - Ticket 49238 - AddressSanitizer: heap-use-after-free in
+ libreplication
+ - Ticket 48864 - Fix FreeIPA build
+ - Ticket 49257 - Reject dbcachesize updates while auto cache
+ sizing is enabled
+ - Ticket 49249 - cos_cache is erroneously logging schema checking
+ failure
+ - Ticket 49258 - Allow nsslapd-cache-autosize to be modified
+ while the server is running
+ - Ticket 49247 - resolve build issues on debian
+ - Ticket 49246 - ns-slapd crashes in role cache creation
+ - Ticket 49157 - ds-logpipe.py crashes for non-existing users
+ - Ticket 49241 - Update man page and usage for db2bak.pl
+ - Ticket 49075 - Adjust logging severity levels
+ - Ticket 47662 - db2index not properly evaluating arguments
+ - Ticket 48989 - fix perf counters
+- changes from 1.3.6.5
+ - Ticket 49231 - fix sasl mech handling
+ - Ticket 49233 - Fix crash in persistent search
+ - Ticket 49230 - slapi_register_plugin creates config entry where
+ it should not
+ - Ticket 49135 - PBKDF2 should determine rounds at startup
+ - Ticket 49236 - Fix CI Tests
+ - Ticket 48310 - entry distribution should be case insensitive
+ - Ticket 49224 - without –prefix, $prefixdir would be NONE in
+ defaults.
+- drop 9563d299.patch: included upstream
+
+-------------------------------------------------------------------
+Fri May 19 10:32:03 UTC 2017 - mrueckert(a)suse.de
+
+- added 9563d299.patch to fix building slapi-nis and freeipa
+
+-------------------------------------------------------------------
+Thu May 11 11:01:05 UTC 2017 - jengelh(a)inai.de
+
+- Do not suppress errors from user/group creation.
+ Add some safety quoting here and there.
+
+-------------------------------------------------------------------
+Thu Apr 27 21:02:04 UTC 2017 - mrueckert(a)suse.de
+
+- update to 1.3.6.4
+ - Ticket 49228 - Fix SSE4.2 detection.
+ - Ticket 49229 - Correct issues in latest commits
+ - Ticket 49226 - Memory leak in ldap-agent-bin
+ - Ticket 49214 - Implement htree concept
+ - Ticket 49119 - Cleanup configure.ac options and defines
+ - Ticket 49097 - whitespace fixes for pblock change
+ - Ticket 49097 - Pblock get/set cleanup
+ - Ticket 49222 - Resolve various test issues on rawhide
+ - Issue 48978 - Fix the emergency logging functions severity
+ levels
+ - Issue 49227 - ldapsearch for nsslapd-errorlog-level returns
+ incorrect values
+ - Ticket 49041 - nss won’t start if sql db type set
+ - Ticket 49223 - Fix sds queue locking
+ - Issue 49204 - Fix 32bit arch build failures
+ - Issue 49204 - Need to update function declaration
+ - Ticket 49204 - Fix lower bounds on import autosize + On small
+ VM, autotune breaks the access of the suffixes
+ - Issue 49221 - During an upgrade the provided localhost name is
+ ignored
+ - Issue 49220 - Remote crash via crafted LDAP messages (SECURITY
+ FIX)
+ - Ticket 49184 - Overflow in memberof
+ - Ticket 48050 - Add account policy tests to plugins test suite
+ - Ticket 49207 - Supply docker POC build for DS.
+ - Issue 47662 - CLI args get removed
+ - Issue 49210 - Fix regression when checking is password min age
+ should be checked
+ - Ticket 48864 - Add cgroup memory limit detection to 389-ds
+ - Issue 48085 - Expand the repl acceptance test suite
+ - Ticket 49209 - Hang due to omitted replica lock release
+ - Ticket 48864 - Cleanup memory detection before we add cgroup
+ support
+ - Ticket 48864 - Cleanup up broken format macros and imports
+ - Ticket 49153 - Remove vacuum lock on transaction cleanup
+ - Ticket 49200 - provide minimal dse.ldif for python installer
+ - Issue 49205 - Fix logconv.pl man page
+ - Issue 49177 - Fix pkg-config file
+ - Issue 49035 - dbmon.sh shows pages-in-use that exceeds the
+ cache size
+ - Ticket 48432 - Linux capabilities on ns-slapd
+ - Ticket 49196 - Autotune generates crit messages
+ - Ticket 49194 - Lower default ioblock timeout
+ - Ticket 49193 - gcc7 warning fixes
+ - Issue 49039 - password min age should be ignored if password
+ needs to be reset
+ - Ticket 48989 - Re-implement lock counter
+ - Issue 49192 - Deleting suffix can hang server
+ - Issue 49156 - Modify token :assert: to :expectedresults:
+ - Ticket 48989 - missing return in counter
+ - Ticket 48989 - Improve counter overflow fix
+ - Ticket 49190 - Upgrade lfds to 7.1.1
+ - Ticket 49187 - Fix attribute definition
+ - Ticket 49185 - Fix memleak in compute init
+
+-------------------------------------------------------------------
+Fri Mar 24 13:42:40 UTC 2017 - mrueckert(a)suse.de
+
+- update to 1.3.6.3
+ This release contains security and bug fixes and a few
+ enhancements.
+ - Issue 49177 - rpm would not create valid pkgconfig files(pt2)
+ - Issue 49186 - Fix NS to improve shutdown relability
+ - Issue 49174 - nunc-stans can not use negative timeout
+ - Issue 49076 - To debug DB_DEADLOCK condition, allow to reset
+ DB_TXN_NOWAIT flag on txn_begin
+ - Issue 49188 - retrocl can crash server at shutdown
+ - Issue 47840 - Add setup_ds test suite
+ - Fix srvcore version dependancy
+ - Issue 48989 - Overflow in counters and monitor
+ - Issue 49095 - targetattr wildcard evaluation is incorrectly
+ case sensitive
+ - Issue 49177 - rpm would not create valid pkgconfig files
+ - Issue 49176 - Remove tcmalloc restriction from s390x
+ - Issue 49157 - ds-logpipe.py crashes for non-existing users
+ - Issue 49065 - dbmon.sh fails if you have
+ nsslapd-require-secure-binds enabled
+ - Issue 49095 - Fix double-free in _cl5NewDBFile() error path
+ - Issue 49169 - Fix covscan errors(regression)
+ - Issue 49172 - Fix test schema files
+ - Issue 49171 - Nunc Stans incorrectly reports a timeout
+ - Issue 49169 - Fix covscan errors
+ - Issue 49164 - Change NS to acq-rel semantics for atomics
+ - Issue 49154 - Nunc Stans stress should assert it has 95%
+ success rate
+ - Issue 49165 - pw_verify did not handle external auth
+ - Issue 49062 - Reset agmt update staus and total init
+ - Issue 49151 - Remove defunct selinux policy
+- add BR for autoconf, autotool, libtool as upstream doesn't ship
+ a prebuilt configure anymore
+- import BR from nunc-stans as it is intree now:
+ libtevent-devel libtalloc-devel libevent-devel
+- added BR for doxygen to build doxygen
+- enable auto-dn-suffix feature
+
+-------------------------------------------------------------------
+Mon Feb 20 12:49:23 UTC 2017 - mrueckert(a)suse.de
+
+- fix build on factory: libsystemd-* libs got merged into libsystemd.
+
+-------------------------------------------------------------------
+Wed Dec 21 15:48:51 UTC 2016 - mrueckert(a)suse.de
+
+- update to 1.3.5.15
+ - bz1358565 - Clear and unsalted password types are vulnerable to
+ timing attack (SECURITY FIX)
+ - Ticket 49016 - (un)register/migration/remove may fail if there
+ is no suffix on ‘userRoot’ backend
+ - Ticket 48328 - Add missing dependency
+ - Ticket 49009 - args debug logging must be more restrictive
+ - Ticket 49014 - ns-accountstatus.pl shows wrong status for
+ accounts inactivated by Account policy plugin
+ - Ticket 47703 - remove search limit for aci group evaluation
+ - Ticket 48909 - Replication stops working in FIPS mode
+- changes in 1.3.5.14
+ - Ticket 48992 - Total init may fail if the pushed schema is
+ rejected
+ - Ticket 48832 - Fix CI test suite for password min age
+ - Ticket 48983 - Configure and Makefile.in from new default paths
+ work.
+ - Ticket 48983 - Configure and Makefile.in from new default paths
+ work.
+ - Ticket 48983 - generate install path info from autotools
+ scripts
+ - Ticket 48944 - on a read only replica invalid state info can
+ accumulate
+ - Ticket 48766 - use a consumer maxcsn only as anchor if supplier
+ is more advanced
+ - Ticket 48921 - CI Replication stress tests have limits set too
+ low
+ - Ticket 48969 - nsslapd-auditfaillog always has an explicit path
++++ 389 more lines (skipped)
++++ between /work/SRC/openSUSE:Factory/389-ds/389-ds.changes
++++ and /work/SRC/openSUSE:Factory/.389-ds.new/389-ds.changes
Old:
----
389-ds-base-1.3.2.11_init_fhs.patch
389-ds-base-1.3.4.14.tar.bz2
New:
----
0001-init_fhs.patch
0002-use-python2-for-selinux-detection.patch
389-ds-base-1.3.6.6.tar.bz2
LICENSE.openldap
extra-schema.tgz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ 389-ds.spec ++++++
--- /var/tmp/diff_new_pack.Chw5JM/_old 2017-08-29 11:44:10.835478202 +0200
+++ /var/tmp/diff_new_pack.Chw5JM/_new 2017-08-29 11:44:10.839477639 +0200
@@ -1,7 +1,7 @@
#
# spec file for package 389-ds
#
-# 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
@@ -16,50 +16,61 @@
#
+# Home directory
+%define home /var/lib/dirsrv
+# User and group name that own the home directory
+%define user_group dirsrv
+
Name: 389-ds
Summary: 389 Directory Server
License: GPL-2.0
Group: Productivity/Networking/LDAP/Servers
-Version: 1.3.4.14
+Version: 1.3.6.6
Release: 0
Url: http://port389.org/
-
-#DL-URL: http://port389.org/wiki/Source
-#Git-Clone: git://git.fedorahosted.org/389/ds
Source: http://www.port389.org/binaries/%name-base-%version.tar.bz2
+Source1: extra-schema.tgz
+Source2: LICENSE.openldap
Source9: %name-rpmlintrc
# PATCH-FIX-SLES -- Make init scripts LSB conform
-Patch1: 389-ds-base-1.3.2.11_init_fhs.patch
+Patch1: 0001-init_fhs.patch
+Patch2: 0002-use-python2-for-selinux-detection.patch
+BuildRoot: %{_tmppath}/%{name}-%{version}-build
+BuildRequires: autoconf
+BuildRequires: automake
BuildRequires: cyrus-sasl-devel
BuildRequires: db-devel >= 4.5
+BuildRequires: doxygen
BuildRequires: gcc-c++
BuildRequires: krb5-devel
+BuildRequires: libcmocka-devel
+BuildRequires: libevent-devel
+BuildRequires: libtalloc-devel
+BuildRequires: libtevent-devel
+BuildRequires: libtool
# net-snmp-devel is needed to build the snmp ldap-agent
BuildRequires: net-snmp-devel >= 5.1.2
BuildRequires: openldap2-devel
# pam-devel is required by the pam passthru auth plug-in
BuildRequires: pam-devel
-%if 0%{?suse_version} < 1220
-BuildRequires: libicu-devel >= 3.4
-BuildRequires: mozilla-nspr-devel >= 4.6.4
-BuildRequires: mozilla-nss-devel >= 3.11.4
-BuildRequires: pcre-devel
-BuildRequires: svrcore-devel >= 4.0.3
-%else
BuildRequires: pkgconfig
+BuildRequires: python3-devel
+BuildRequires: python3-setuptools
BuildRequires: pkgconfig(icu-i18n)
BuildRequires: pkgconfig(icu-uc)
BuildRequires: pkgconfig(libpcre)
+BuildRequires: pkgconfig(libsystemd)
BuildRequires: pkgconfig(nspr)
BuildRequires: pkgconfig(nss)
BuildRequires: pkgconfig(svrcore)
BuildRequires: pkgconfig(systemd)
-%endif
-BuildRoot: %{_tmppath}/%{name}-%{version}-build
+Requires: %_sbindir/service
+Requires: acl
Requires: cyrus-sasl-digestmd5
Requires: cyrus-sasl-gssapi
Requires: mozilla-nss-tools
Requires: openldap2-client
+Requires: python-selinux
Requires: perl(Mozilla::LDAP::API)
Requires: perl(Mozilla::LDAP::Conn)
Requires: perl(Mozilla::LDAP::Entry)
@@ -67,26 +78,10 @@
Requires: perl(Mozilla::LDAP::Utils)
Requires: perl(NetAddr::IP)
Requires: perl(Socket6)
-
-%if 0%{?suse_version} < 1220
-%define __without_systemd 0
-%endif
-
-%bcond_without systemd
-
-%if 0%{?suse_version} >= 1230
-Requires: %_sbindir/service
-%else
-Requires: /sbin/service
-%endif
+Requires(pre): shadow
Requires(post): fillup
-%if %{with systemd}
+
%{?systemd_requires}
-%else
-Requires(post): insserv
-Requires(post): /sbin/chkconfig
-Requires(preun): /sbin/chkconfig
-%endif
Obsoletes: 389-ds-base < %version-%release
Provides: 389-ds-base = %version-%release
@@ -115,25 +110,28 @@
This package contains the development files for 389DS.
%prep
-%setup -qn %name-base-%version
-%patch -P 1 -p1
+%setup -a 1 -qn %name-base-%version
+%patch1 -p1
+%patch2 -p1
%build
-# openldap has no pkgconfig file; because of that, 389ds will prefer
-# mozldap. Force use of openldap.
+autoreconf -fi
+export CFLAGS="%optflags -std=gnu99"
%configure \
- --bindir=%_libexecdir/%name/bin \
- --sbindir=%_libexecdir/%name/sbin \
+ --enable-gcc-security \
+ --bindir="%_libexecdir/%name/bin" \
+ --sbindir="%_libexecdir/%name/sbin" \
--enable-autobind \
- --with-openldap \
-%if %{with systemd}
- --with-systemdsystemunitdir \
- --with-systemdsystemconfdir \
+ --enable-auto-dn-suffix \
+ --enable-nunc-stans \
+ --enable-cmocka \
+ --with-selinux \
+ --with-pythonexec="%_bindir/python3" \
+ --with-systemd \
+ --with-systemdsystemunitdir="%_unitdir" \
+ --with-systemdsystemconfdir="%_sysconfdir/systemd/system" \
+ --with-tmpfiles-d="%_tmpfilesdir" \
--with-systemdgroupname=dirsrv.target \
-%else
- --with-initddir="%_initddir" \
-%endif
- .
make %{?_smp_mflags}
@@ -144,19 +142,9 @@
install -d "$b/%_sbindir"
ln -s "%_libexecdir/%name/sbin/setup-ds.pl" "$b/%_sbindir/setup-ds.pl"
-%if %{with systemd}
install -d "$b/%_unitdir/dirsrv.target.wants"
-%if 0%{?suse_version} >= 1230
ln -s service "$b/%_sbindir/rcdirsrv"
ln -s service "$b/%_sbindir/rcdirsrv-snmp"
-%else
-ln -s /sbin/service "$b/%_sbindir/rcdirsrv"
-ln -s /sbin/service "$b/%_sbindir/rcdirsrv-snmp"
-%endif
-%else
-ln -s "%_initddir/dirsrv" "$b/%_sbindir/rcdirsrv"
-ln -s "%_initddir/dirsrv-snmp" "$b/%_sbindir/rcdirsrv-snmp"
-%endif
install -d "$b/%_localstatedir/adm/fillup-templates"
for i in "$b/%_sysconfdir/sysconfig"/*; do
@@ -166,77 +154,68 @@
# make sure perl scripts have a proper shebang
sed -i -e 's|#{{PERL-EXEC}}|#!%_bindir/perl|' "$b/%_datadir/dirsrv/script-templates"/template-*.pl
+install -D -d -m 0750 %buildroot%home
+
+# install extra schema files
+cp -R extra-schema "$b/%_datadir/dirsrv/"
+
+# bring OpenLDAP copyright notice here because it is referenced by several extra schema files
+cp %{S:2} ./
-%if %{with systemd}
%pre
+if ! getent group %user_group >/dev/null; then
+ %_sbindir/groupadd -f -r %user_group
+fi
+if ! getent passwd %user_group >/dev/null; then
+ %_sbindir/useradd -r -g %user_group -s /sbin/nologin -r -d %home -c "User for 389 directory server" %user_group >/dev/null
+fi
%service_add_pre dirsrv(a)*.service dirsrv-snmp.service dirsrv.target
-%endif
%post
/sbin/ldconfig
-%if %{with systemd}
%fillup_only -n dirsrv
%fillup_only -n dirsrv.systemd
%service_add_post dirsrv(a)*.service dirsrv-snmp.service dirsrv.target
-%else
-%fillup_and_insserv dirsrv
-%fillup_and_insserv dirsrv-snmp
-%endif
%preun
-%if %{with systemd}
%service_del_preun dirsrv(a)*.service dirsrv-snmp.service dirsrv.target
-%else
-%stop_on_removal dirsrv
-%stop_on_removal dirsrv-snmp
-%endif
%postun
/sbin/ldconfig
-%if %{with systemd}
%service_del_postun dirsrv(a)*.service dirsrv-snmp.service dirsrv.target
-%else
-%restart_on_update dirsrv
-%restart_on_update dirsrv-snmp
-%insserv_cleanup
-%endif
%files
%defattr(-,root,root)
-%doc LICENSE README
-%dir %_sysconfdir/dirsrv
-%dir %_sysconfdir/dirsrv/schema
-%config(noreplace) %_sysconfdir/dirsrv/schema/*.ldif
-%dir %_sysconfdir/dirsrv/config
-%config(noreplace) %_sysconfdir/dirsrv/config/slapd-collations.conf
-%config(noreplace) %_sysconfdir/dirsrv/config/certmap.conf
-%config(noreplace) %_sysconfdir/dirsrv/config/ldap-agent.conf
-%config(noreplace) %_sysconfdir/dirsrv/config/template-initconfig
+%doc LICENSE README LICENSE.openldap
+%dir %attr(-,%user_group,%user_group) %home
+%config(noreplace) %_sysconfdir/dirsrv/config/*
+%config(noreplace) %_sysconfdir/dirsrv/schema/*
%_datadir/dirsrv
-%if %{with systemd}
-%_unitdir/dirsrv*
-%else
-%_initddir/dirsrv*
-%endif
-%_libexecdir/%name/
-%_sbindir/*
%dir %_libdir/dirsrv
-%_libdir/dirsrv/*.so.*
-%dir %_libdir/dirsrv/perl
+%dir %_libdir/dirsrv/*
+%dir %_sysconfdir/dirsrv
+%dir %_sysconfdir/dirsrv/config
+%dir %_sysconfdir/dirsrv/schema
+%_libdir/dirsrv/libns-dshttpd-%version.so
%_libdir/dirsrv/perl/*.pm
-%dir %_libdir/dirsrv/plugins
%_libdir/dirsrv/plugins/*.so
-%dir %_libdir/dirsrv/python
%_libdir/dirsrv/python/*.py
+%_libdir/dirsrv/*.so.*
+%_libexecdir/%name/
%_localstatedir/adm/fillup-templates/sysconfig.*
%_mandir/man1/*
%_mandir/man8/*
+%_sbindir/*
+%_unitdir/dirsrv*
%files devel
%defattr(-,root,root)
%doc LICENSE README
%_includedir/dirsrv
-%_libdir/dirsrv/*.so
-%_libdir/pkgconfig/dirsrv.pc
+%_libdir/dirsrv/libns-dshttpd.so
+%_libdir/dirsrv/libnunc-stans.so
+%_libdir/dirsrv/libsds.so
+%_libdir/dirsrv/libslapd.so
+%_libdir/pkgconfig/*.pc
%changelog
++++++ 0001-init_fhs.patch ++++++
diff -Ppru 389-ds-base-1.3.2.11.orig/wrappers/initscript.in 389-ds-base-1.3.2.11.init/wrappers/initscript.in
--- 389-ds-base-1.3.2.11.orig/wrappers/initscript.in 2014-02-05 22:27:04.000000000 +0100
+++ 389-ds-base-1.3.2.11.init/wrappers/initscript.in 2014-02-17 11:55:35.714453084 +0100
@@ -9,6 +9,16 @@
# piddir: @localstatedir@/run/@package_name@
# datadir: @localstatedir@/lib/@package_name@/slapd-<instance name>
#
+### BEGIN INIT INFO
+# Provides: @package_name@
+# Required-Start: $network $named $syslog $time $remote_fs
+# Should-Start:
+# Required-Stop: $network $named $syslog $time $remote_fs
+# Should-Stop:
+# Default-Start: 3 5
+# Default-Stop:
+# Description: This starts and stops @package_name@
+### END INIT INFO
# Source function library.
if [ -f /etc/rc.d/init.d/functions ] ; then
diff -Ppru 389-ds-base-1.3.2.11.orig/wrappers/ldap-agent-initscript.in 389-ds-base-1.3.2.11.init/wrappers/ldap-agent-initscript.in
--- 389-ds-base-1.3.2.11.orig/wrappers/ldap-agent-initscript.in 2014-02-05 22:27:04.000000000 +0100
+++ 389-ds-base-1.3.2.11.init/wrappers/ldap-agent-initscript.in 2014-02-17 11:55:34.182511462 +0100
@@ -8,6 +8,16 @@
# config: @sysconfdir@/@package_name@/config/ldap-agent.conf
# pidfile: @localstatedir@/run/ldap-agent.pid
#
+### BEGIN INIT INFO
+# Provides: @package_name@-snmp
+# Required-Start: $network $named $syslog $time $remote_fs
+# Should-Start:
+# Required-Stop: $network $named $syslog $time $remote_fs
+# Should-Stop:
+# Default-Start: 3 5
+# Default-Stop:
+# Description: @capbrand@ Directory Server SNMP Subagent
+### END INIT INFO
# Source function library.
if [ -f /etc/rc.d/init.d/functions ] ; then
++++++ 0002-use-python2-for-selinux-detection.patch ++++++
Use default python interpreter (python 2) in ds_selinux_enabled python script, because
openSUSE and SLES distributions do not yet ship python-selinux in python 3.
Howard Guo <hguo(a)suse.com> 2017-08-08
diff -rupN 389-ds-base-1.3.6.6/ldap/admin/src/scripts/ds_selinux_enabled.in 389-ds-base-1.3.6.6-patched/ldap/admin/src/scripts/ds_selinux_enabled.in
--- 389-ds-base-1.3.6.6/ldap/admin/src/scripts/ds_selinux_enabled.in 2017-05-22 18:29:53.000000000 +0200
+++ 389-ds-base-1.3.6.6-patched/ldap/admin/src/scripts/ds_selinux_enabled.in 2017-08-08 16:28:12.999521983 +0200
@@ -1,4 +1,4 @@
-#!@pythonexec@
+#!/usr/bin/env python
# BEGIN COPYRIGHT BLOCK
# Copyright (C) 2016 Red Hat, Inc.
@@ -14,7 +14,6 @@
import sys
import selinux
-import semanage
# Returns 1 for true, 0 for false.
++++++ 389-ds-base-1.3.4.14.tar.bz2 -> 389-ds-base-1.3.6.6.tar.bz2 ++++++
++++ 300067 lines of diff (skipped)
++++++ LICENSE.openldap ++++++
The OpenLDAP Public License
Version 2.8, 17 August 2003
Redistribution and use of this software and associated documentation
("Software"), with or without modification, are permitted provided
that the following conditions are met:
1. Redistributions in source form must retain copyright statements
and notices,
2. Redistributions in binary form must reproduce applicable copyright
statements and notices, this list of conditions, and the following
disclaimer in the documentation and/or other materials provided
with the distribution, and
3. Redistributions must contain a verbatim copy of this document.
The OpenLDAP Foundation may revise this license from time to time.
Each revision is distinguished by a version number. You may use
this Software under terms of this license revision or under the
terms of any subsequent revision of the license.
THIS SOFTWARE IS PROVIDED BY THE OPENLDAP FOUNDATION AND ITS
CONTRIBUTORS ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES,
INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT
SHALL THE OPENLDAP FOUNDATION, ITS CONTRIBUTORS, OR THE AUTHOR(S)
OR OWNER(S) OF THE SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT,
INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
POSSIBILITY OF SUCH DAMAGE.
The names of the authors and copyright holders must not be used in
advertising or otherwise to promote the sale, use or other dealing
in this Software without specific, written prior permission. Title
to copyright in this Software shall at all times remain with copyright
holders.
OpenLDAP is a registered trademark of the OpenLDAP Foundation.
Copyright 1999-2003 The OpenLDAP Foundation, Redwood City,
California, USA. All Rights Reserved. Permission to copy and
distribute verbatim copies of this document is granted.
1
0
Hello community,
here is the log from the commit of package python-pygit2 for openSUSE:Factory checked in at 2017-08-29 11:44:01
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-pygit2 (Old)
and /work/SRC/openSUSE:Factory/.python-pygit2.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-pygit2"
Tue Aug 29 11:44:01 2017 rev:15 rq:518568 version:0.26.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-pygit2/python-pygit2.changes 2017-05-06 18:26:54.634432444 +0200
+++ /work/SRC/openSUSE:Factory/.python-pygit2.new/python-pygit2.changes 2017-08-29 11:44:01.588781704 +0200
@@ -1,0 +2,10 @@
+Thu Aug 24 15:45:45 UTC 2017 - toddrme2178(a)gmail.com
+
+- Update to 0.26.0
+ * Update to libgit2 v0.26
+ * Drop support for Python 3.2, add support for cffi 1.10
+ * New ``Repository.revert_commit(...)``
+ * New ``Branch.is_checked_out()``
+ * Various fixes
+
+-------------------------------------------------------------------
Old:
----
pygit2-0.25.0.tar.gz
New:
----
pygit2-0.26.0.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-pygit2.spec ++++++
--- /var/tmp/diff_new_pack.bt2nGW/_old 2017-08-29 11:44:02.660630606 +0200
+++ /var/tmp/diff_new_pack.bt2nGW/_new 2017-08-29 11:44:02.708623840 +0200
@@ -17,15 +17,16 @@
%{?!python_module:%define python_module() python-%{**} python3-%{**}}
+%bcond_with test
Name: python-pygit2
-Version: 0.25.0
+Version: 0.26.0
Release: 0
Summary: Python bindings for libgit2
License: GPL-2.0
Group: Development/Languages/Python
Url: https://github.com/libgit2/pygit2
Source: https://pypi.io/packages/source/p/pygit2/pygit2-%{version}.tar.gz
-BuildRequires: libgit2-devel >= 0.25
+BuildRequires: libgit2-devel >= %{version}
BuildRequires: libopenssl-devel
BuildRequires: fdupes
BuildRequires: python-rpm-macros
@@ -53,8 +54,10 @@
%python_install
%python_expand %fdupes %{buildroot}%{$python_sitelib}
+%if %{with test}
%check
-#python setup.py test
+%python_exec setup.py test
+%endif
%files %{python_files}
%defattr(-,root,root,-)
++++++ pygit2-0.25.0.tar.gz -> pygit2-0.26.0.tar.gz ++++++
++++ 6188 lines of diff (skipped)
1
0
Hello community,
here is the log from the commit of package python-Pint for openSUSE:Factory checked in at 2017-08-29 11:43:58
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-Pint (Old)
and /work/SRC/openSUSE:Factory/.python-Pint.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-Pint"
Tue Aug 29 11:43:58 2017 rev:3 rq:518563 version:0.8.1
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-Pint/python-Pint.changes 2016-06-07 23:49:22.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.python-Pint.new/python-Pint.changes 2017-08-29 11:43:59.981008352 +0200
@@ -1,0 +2,37 @@
+Wed Aug 23 22:41:06 UTC 2017 - toddrme2178(a)gmail.com
+
+- Implement single-spec version
+- Update to version 0.8.1
+ * Add support for datetime math. (Issue #510, thanks robertd)
+ * Fixed _repr_html_ in Python 2.7. (Issue #512)
+ * Implemented BaseRegistry.auto_reduce_dimensions. (Issue #500, thanks robertd)
+ * Fixed dimension compatibility bug introduced on Registry refactoring (Issue #523, thanks dalito)
+- Update to version 0.8
+ * Refactored the Registry in multiple classes for better separation of concerns and clarity.
+ * Implemented support for defining multiple units per define call (one definition per line). (Issue #462)
+ * In pow and ipow, allow array exponents (with len > 1) when base is dimensionless. (Issue #483)
+ * Wraps now gets the canonical name of the unit when passed as string. (Issue #468)
+ * NumPy exp and log keeps the type (Issue #95)
+ * Implemented a function decorator to ensure that a context is active (with_context) (Issue #465)
+ * Add warning when a System contains an unknown Group. (Issue #472)
+ * Add conda-forge installation snippet. (Issue #485, thanks stadelmanma)
+ * Properly support floor division and modulo. (Issue #474, thanks tecki)
+ * Measurement Correlated variable fix. (Issue #463, thanks tadhgmister)
+ * Implement degree sign handling. (Issue #449, thanks iamthad)
+ * Change UndefinedUnitError to inherit from AttributeError (Issue #480, thanks jhidding)
+ * Simplified travis for faster testing.
+ * Fixed order units in siunitx formatting. (Issue #441)
+ * Changed Systems lister to return a list instead of frozenset. (Issue #425, thanks GloriaVictis)
+ * Fixed issue with negative values in to_compact() method. (Issue #443, thanks nowox)
+ * Improved defintions. (Issues #448, thanks gdonval)
+ * Improved Parser to support capital “E” on scientific notation. (Issue #390, thanks javenoneal)
+ * Make sure that prefixed units are defined on the registry when unplicking. (Issue #405)
+ * Automatic unit names translation through babel. (Issue #338, thanks alexbodn)
+ * Support pickling Unit objects. (Issue #349)
+ * Add support for wavenumber/kayser in spectroscopy context. (Issue #321, thanks gerritholl)
+ * Improved formatting. (thanks endolith and others)
+ * Add support for inline comments in definitions file. (Issue #366)
+ * Implement Unit.__deepcopy__. (Issue #357, thanks noahl)
+ * Allow changing shape for Quantities with numpy arrays. (Issue #344, thanks tecki)
+
+-------------------------------------------------------------------
Old:
----
Pint-0.7.2.tar.gz
New:
----
Pint-0.8.1.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-Pint.spec ++++++
--- /var/tmp/diff_new_pack.XJ9WTw/_old 2017-08-29 11:44:01.028860636 +0200
+++ /var/tmp/diff_new_pack.XJ9WTw/_new 2017-08-29 11:44:01.040858945 +0200
@@ -1,7 +1,7 @@
#
# spec file for package python-Pint
#
-# 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
@@ -16,29 +16,30 @@
#
+%{?!python_module:%define python_module() python-%{**} python3-%{**}}
+%bcond_without test
Name: python-Pint
-Version: 0.7.2
+Version: 0.8.1
Release: 0
Summary: Physical quantities module
License: BSD-3-Clause
Group: Development/Languages/Python
Url: https://github.com/hgrecco/pint
-Source: https://pypi.io/packages/source/P/Pint/Pint-%{version}.tar.gz
-BuildRequires: python-devel
-BuildRequires: python-setuptools
-BuildRequires: python-uncertainties
+Source: https://files.pythonhosted.org/packages/source/P/Pint/Pint-%{version}.tar.gz
+BuildRequires: %{python_module devel}
+BuildRequires: %{python_module setuptools}
+BuildRequires: %{python_module uncertainties}
+BuildRequires: fdupes
+BuildRequires: python-rpm-macros
Requires: python-uncertainties
Recommends: python-numpy
-BuildRoot: %{_tmppath}/%{name}-%{version}-build
-%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
Pint is Python module/package to define, operate and manipulate physical
-quantities: the product of a numerical value and a unit of measurement.
+quantities, the product of a numerical value and a unit of measurement.
It allows arithmetic operations between them and conversions from and
to different units.
@@ -50,12 +51,18 @@
%setup -q -n Pint-%{version}
%build
-python setup.py build
+%python_build
%install
-python setup.py install --prefix=%{_prefix} --root=%{buildroot}
+%python_install
+%python_expand %fdupes %{buildroot}%{$python_sitelib}
+
+%if %{with test}
+%check
+%python_exec setup.py test
+%endif
-%files
+%files %{python_files}
%defattr(-,root,root,-)
%doc AUTHORS CHANGES LICENSE README
%{python_sitelib}/Pint-%{version}-py*.egg-info
++++++ Pint-0.7.2.tar.gz -> Pint-0.8.1.tar.gz ++++++
++++ 5740 lines of diff (skipped)
1
0
Hello community,
here is the log from the commit of package slapi-nis for openSUSE:Factory checked in at 2017-08-29 11:43:53
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/slapi-nis (Old)
and /work/SRC/openSUSE:Factory/.slapi-nis.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "slapi-nis"
Tue Aug 29 11:43:53 2017 rev:3 rq:518498 version:0.56.1
Changes:
--------
--- /work/SRC/openSUSE:Factory/slapi-nis/slapi-nis.changes 2017-08-22 11:08:51.390898109 +0200
+++ /work/SRC/openSUSE:Factory/.slapi-nis.new/slapi-nis.changes 2017-08-29 11:43:53.625904233 +0200
@@ -6,0 +7,20 @@
+Thu May 18 16:35:17 UTC 2017 - mrueckert(a)suse.de
+
+- update to 0.56.1
+ - Support querying external users by UPN alias
+ - Don't clobber target of the pblock for ID views
+ - Add priming thread to populate the map cache without blocking
+ the DS
+ - Add support for changing passwords for users from a primary
+ tree
+ - requires DS 1.3.5.6 or later
+
+-------------------------------------------------------------------
+Thu Apr 14 01:06:35 UTC 2016 - mrueckert(a)suse.de
+
+- update to 0.55
+ - Support external members of IPA groups in schema compat
+ - Support bind over ID overrides when uid is not overridden
+ - Populate schema compat trees in parallel to LDAP server startup
+
+-------------------------------------------------------------------
Old:
----
slapi-nis-0.54.2.tar.gz
slapi-nis-0.54.2.tar.gz.sig
New:
----
slapi-nis-0.56.1.tar.gz
slapi-nis-0.56.1.tar.gz.sig
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ slapi-nis.spec ++++++
--- /var/tmp/diff_new_pack.OcOMpQ/_old 2017-08-29 11:43:54.861730018 +0200
+++ /var/tmp/diff_new_pack.OcOMpQ/_new 2017-08-29 11:43:54.865729455 +0200
@@ -20,19 +20,19 @@
%define betxn_opts --enable-be-txns-by-default
Name: slapi-nis
-Version: 0.54.2
+Version: 0.56.1
Release: 0
Summary: NIS Server and Schema Compatibility plugins for 389 Directory Server
License: GPL-2.0
Group: Productivity/Networking/LDAP/Servers
-Url: http://slapi-nis.fedorahosted.org/
-Source0: https://fedorahosted.org/releases/s/l/slapi-nis/slapi-nis-%{version}.tar.gz
-Source1: https://fedorahosted.org/releases/s/l/slapi-nis/slapi-nis-%{version}.tar.gz…
+Url: https://pagure.io/slapi-nis
+Source0: https://releases.pagure.org/slapi-nis/slapi-nis-%{version}.tar.gz
+Source1: https://releases.pagure.org/slapi-nis/slapi-nis-%{version}.tar.gz.sig
BuildRequires: glibc-devel
BuildRequires: libnsl-devel
BuildRequires: pam-devel
BuildRequires: tcpd-devel
-BuildRequires: pkgconfig(dirsrv)
+BuildRequires: pkgconfig(dirsrv) >= 1.3.5.6
BuildRequires: pkgconfig(libtirpc)
BuildRequires: pkgconfig(mozldap)
BuildRequires: pkgconfig(nspr)
++++++ slapi-nis-0.54.2.tar.gz -> slapi-nis-0.56.1.tar.gz ++++++
++++ 23690 lines of diff (skipped)
1
0
Hello community,
here is the log from the commit of package python-gdata for openSUSE:Factory checked in at 2017-08-29 11:43:45
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-gdata (Old)
and /work/SRC/openSUSE:Factory/.python-gdata.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-gdata"
Tue Aug 29 11:43:45 2017 rev:42 rq:517246 version:2.0.18
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-gdata/python-gdata.changes 2014-01-30 15:11:36.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.python-gdata.new/python-gdata.changes 2017-08-29 11:43:51.678178805 +0200
@@ -1,0 +2,8 @@
+Wed Jul 19 20:31:01 UTC 2017 - sebix+novell.com(a)sebix.at
+
+- update to singlespec
+- new documentation subpackage
+ * includes samples
+- clean up specfile
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-gdata.spec ++++++
--- /var/tmp/diff_new_pack.Xmi4bu/_old 2017-08-29 11:43:52.810019249 +0200
+++ /var/tmp/diff_new_pack.Xmi4bu/_new 2017-08-29 11:43:52.814018686 +0200
@@ -1,7 +1,7 @@
#
# spec file for package python-gdata
#
-# 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
@@ -16,53 +16,58 @@
#
+%{?!python_module:%define python_module() python-%{**} python3-%{**}}
+%bcond_without test
Name: python-gdata
Version: 2.0.18
Release: 0
-Url: http://code.google.com/p/gdata-python-client
Summary: Python library to access data through Google Data APIs
License: Apache-2.0
Group: Development/Libraries/Python
+Url: http://code.google.com/p/gdata-python-client
Source: https://gdata-python-client.googlecode.com/files/gdata-%{version}.tar.gz
-BuildRoot: %{_tmppath}/%{name}-%{version}-build
-BuildRequires: python-devel
-BuildRequires: python-setuptools
-%if 0%{?suse_version}
-%py_requires
-%if 0%{?suse_version} > 1110
-BuildArch: noarch
-%endif
-%if 0%{?suse_version} > 1010
+BuildRequires: %{python_module devel}
+BuildRequires: %{python_module setuptools}
BuildRequires: fdupes
-%endif
-%endif
-%{!?python_sitelib: %global python_sitelib %(%{__python} -c "from distutils.sysconfig import get_python_lib; print get_python_lib()")}
+BuildRequires: python-rpm-macros
+Suggests: python-gdata-doc
+BuildArch: noarch
+
+%{python_subpackages}
+
+%package -n %{name}-doc
+Summary: Documentation files for %name
+Group: Documentation/HTML
%description
The Google data Python Client Library provides a library and source
code that make it easy to access data through Google Data APIs.
+%description -n %{name}-doc
+HTML documentation on provided interfaces and samples for %name.
+
%prep
%setup -q -n gdata-%{version}
-find samples/oauth src/gdata samples/apps/marketplace_sample -type f -name "*.py" -exec sed -i 's|\r||' {} \; # Fix wrong EOL encoding
+find samples/oauth src/gdata samples/apps/marketplace_sample -type f \( -name "*.py" -or -name "*.css" -or -name "*.txt" \) -exec sed -i 's|\r||' {} \; # Fix wrong EOL encoding
find samples -type f -name "*.py" -exec chmod 0644 {} \; # Remove executable perms on samples
find samples/apps/marketplace_sample -type f \( -name "*.c" -o -name "*.txt" \) -exec chmod 0644 {} \; # Remove executable perms on samples
# Remove unnecessary Python shebangs
find . -type f -exec sed -i -r '1s|^#! *(.+)/python(.*)$||' {} \;
find . -type f -exec sed -i -r '1s|^#! */usr/bin/env +python.*$||' {} \;
+rm pydocs/generate_docs
%build
-python setup.py build
+%{python_build}
%install
-python setup.py install --prefix="%{_prefix}" --root="%{buildroot}"
-%if 0%{?suse_version} > 1010
-%fdupes %{buildroot}%{python_sitelib}
-%endif
-
-%files
-%defattr(-,root,root)
-%doc README.txt RELEASE_NOTES.txt samples
+%{python_install}
+%{python_expand %fdupes %{buildroot}%{$python_sitelib}}
+
+%files %{python_files}
+%doc README.txt RELEASE_NOTES.txt
%{python_sitelib}/*
+%files -n %{name}-doc
+%doc pydocs samples
+
%changelog
1
0
Hello community,
here is the log from the commit of package python-zope.configuration for openSUSE:Factory checked in at 2017-08-29 11:42:57
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-zope.configuration (Old)
and /work/SRC/openSUSE:Factory/.python-zope.configuration.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-zope.configuration"
Tue Aug 29 11:42:57 2017 rev:4 rq:510601 version:4.1.0
Changes:
--------
New Changes file:
--- /dev/null 2017-07-20 07:30:00.335470106 +0200
+++ /work/SRC/openSUSE:Factory/.python-zope.configuration.new/python-zope.configuration-doc.changes 2017-08-29 11:42:58.317701203 +0200
@@ -0,0 +1,33 @@
+-------------------------------------------------------------------
+Sun Jul 16 08:23:42 UTC 2017 - aloisio(a)gmx.com
+
+- Update to version 4.1.0
+ * Drop support for Python 2.6 and 3.2.
+ * Add support for Python 3.5 and 3.6.
+ * Fix the domain of MessageID fields to be a native string.
+ Previously on Python 3 they were bytes, which meant that they
+ couldn’t be used to find translation utilities registered by
+ zope.i18n. See issue 17.
+
+- Split docs and tests into separate -doc package since running
+ tests and sometimes building docs had become very messy.
+ Also see (gh#/zopefoundation/zope.proxy#18)
+
+- Converted to single-spec
+
+-------------------------------------------------------------------
+Fri May 15 11:28:36 UTC 2015 - benoit.monin(a)gmx.fr
+
+- update to version 4.0.3:
+ * Added explicit support for Python 3.4.
+- point the source URL to pypi
+- add fdupes as BuildRequires and call it after install
+- pass -q to the test to avoid spamming the build log
+- rename CHANGES.txt to CHANGES.rst: changed upstream
+- rename README.txt to README.rst: changed upstream
+
+-------------------------------------------------------------------
+Mon Jul 29 14:32:46 UTC 2013 - hpj(a)urpla.net
+
+- version 4.0.2: initial build
+
--- /work/SRC/openSUSE:Factory/python-zope.configuration/python-zope.configuration.changes 2015-05-19 23:37:48.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.python-zope.configuration.new/python-zope.configuration.changes 2017-08-29 11:42:59.005604225 +0200
@@ -1,0 +2,17 @@
+Sun Jul 16 08:23:42 UTC 2017 - aloisio(a)gmx.com
+
+- Update to version 4.1.0
+ * Drop support for Python 2.6 and 3.2.
+ * Add support for Python 3.5 and 3.6.
+ * Fix the domain of MessageID fields to be a native string.
+ Previously on Python 3 they were bytes, which meant that they
+ couldn’t be used to find translation utilities registered by
+ zope.i18n. See issue 17.
+
+- Split docs and tests into separate -doc package since running
+ tests and sometimes building docs had become very messy.
+ Also see (gh#/zopefoundation/zope.proxy#18)
+
+- Converted to single-spec
+
+-------------------------------------------------------------------
Old:
----
zope.configuration-4.0.3.tar.gz
New:
----
pre_checkin.sh
python-zope.configuration-doc.changes
python-zope.configuration-doc.spec
zope.configuration-4.1.0.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-zope.configuration-doc.spec ++++++
#
# spec file for package python-zope.configuration-doc
#
# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany.
# Copyright (c) 2013 LISA GmbH, Bingen, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via http://bugs.opensuse.org/
#
%{?!python_module:%define python_module() python-%{**} python3-%{**}}
Name: python-zope.configuration-doc
Version: 4.1.0
Release: 0
Summary: Documentation for python-zope.configuration
License: ZPL-2.1
Group: Development/Languages/Python
Url: http://www.python.org/pypi/zope.configuration
Source: https://files.pythonhosted.org/packages/source/z/zope.configuration/zope.co…
BuildRequires: %{python_module setuptools}
BuildRequires: %{python_module zope.configuration = %{version}}
# SECTION documentation requirements
BuildRequires: python3-Sphinx
BuildRequires: python3-repoze.sphinx.autointerface
# /SECTION
# SECTION test requirements
BuildRequires: %{python_module zope.testrunner}
# /SECTION
BuildRequires: python-rpm-macros
Requires: python-zope.i18nmessageid
Requires: python-zope.interface
Requires: python-zope.schema
Provides: %{python_module zope.configuration-doc = %{version}}
BuildArch: noarch
%description
Contains documentation for python-zope.configuration
%prep
%setup -q -n zope.configuration-%{version}
%build
%{_python_use_flavor python3}
%__python3 setup.py build_sphinx && rm build/sphinx/html/.buildinfo
%install
# nothing to do
%check
%python_exec %{_bindir}/zope-testrunner --test-path=src -v
%files
%defattr(-,root,root)
%doc build/sphinx/html/
%changelog
++++++ python-zope.configuration.spec ++++++
--- /var/tmp/diff_new_pack.HOYIZU/_old 2017-08-29 11:43:04.112884225 +0200
+++ /var/tmp/diff_new_pack.HOYIZU/_new 2017-08-29 11:43:04.132881405 +0200
@@ -1,7 +1,7 @@
#
# spec file for package python-zope.configuration
#
-# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany.
# Copyright (c) 2013 LISA GmbH, Bingen, Germany.
#
# All modifications and additions to the file contributed by third parties
@@ -17,31 +17,26 @@
#
+%{?!python_module:%define python_module() python-%{**} python3-%{**}}
Name: python-zope.configuration
-Version: 4.0.3
+Version: 4.1.0
Release: 0
-Url: http://www.python.org/pypi/zope.configuration
Summary: Zope Configuration Markup Language (ZCML)
License: ZPL-2.1
Group: Development/Languages/Python
-Source: https://pypi.python.org/packages/source/z/zope.configuration/zope.configura…
-BuildRoot: %{_tmppath}/%{name}-%{version}-build
+Url: http://www.python.org/pypi/zope.configuration
+Source: https://files.pythonhosted.org/packages/source/z/zope.configuration/zope.co…
+BuildRequires: %{python_module setuptools}
+BuildRequires: %{python_module zope.i18nmessageid}
+BuildRequires: %{python_module zope.interface}
+BuildRequires: %{python_module zope.schema}
BuildRequires: fdupes
-BuildRequires: python-setuptools
-BuildRequires: python-zope.i18nmessageid
-BuildRequires: python-zope.interface
-BuildRequires: python-zope.schema
+BuildRequires: python-rpm-macros
Requires: python-zope.i18nmessageid
Requires: python-zope.interface
Requires: python-zope.schema
-# Documentation requirements:
-BuildRequires: python-Sphinx
-BuildRequires: python-repoze.sphinx.autointerface
-%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
The zope configuration system provides an extensible system for supporting
@@ -52,35 +47,20 @@
configuration choices. The intent is that the language be pluggable. An XML
language is provided by default.
-%package doc
-Summary: Zope Configuration Markup Language (ZCML)
-Group: Development/Languages/Python
-Requires: %{name} = %{version}
-
-%description doc
-This package contains documentation files for %{name}.
-
%prep
%setup -q -n zope.configuration-%{version}
+rm -rf zope.configuration.egg-info
%build
-python setup.py build
-PYTHONPATH=$(pwd)/build/lib python setup.py build_sphinx && rm build/sphinx/html/.buildinfo
+%python_build
%install
-python setup.py install --prefix=%{_prefix} --root=%{buildroot}
-%fdupes %{buildroot}/%{_prefix}
+%python_install
+%python_expand %fdupes %{buildroot}%{$python_sitelib}
-%check
-python setup.py -q test
-
-%files
-%defattr(-,root,root,-)
+%files %{python_files}
+%defattr(-,root,root)
%doc CHANGES.rst COPYRIGHT.txt LICENSE.txt README.rst
-%python_sitelib/*
-
-%files doc
-%defattr(-,root,root,-)
-%doc build/sphinx/html/
+%{python_sitelib}/*
%changelog
++++++ pre_checkin.sh ++++++
#!/bin/sh
cp python-zope.configuration.changes python-zope.configuration-doc.changes
++++++ zope.configuration-4.0.3.tar.gz -> zope.configuration-4.1.0.tar.gz ++++++
++++ 18824 lines of diff (skipped)
1
0
Hello community,
here is the log from the commit of package amarok for openSUSE:Factory checked in at 2017-08-29 11:42:29
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/amarok (Old)
and /work/SRC/openSUSE:Factory/.amarok.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "amarok"
Tue Aug 29 11:42:29 2017 rev:106 rq:518864 version:2.8.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/amarok/amarok.changes 2016-12-26 21:41:58.324735386 +0100
+++ /work/SRC/openSUSE:Factory/.amarok.new/amarok.changes 2017-08-29 11:42:32.209381869 +0200
@@ -1,0 +2,6 @@
+Thu Aug 24 10:41:10 UTC 2017 - wbauer(a)tmo.at
+
+- Add Fix-crash-during-musicbrainz-search.patch to fix a possible
+ crash when looking up metadata on MusicBrainz (kde#328359)
+
+-------------------------------------------------------------------
New:
----
Fix-crash-during-musicbrainz-search.patch
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ amarok.spec ++++++
--- /var/tmp/diff_new_pack.Jc8g9L/_old 2017-08-29 11:42:35.612902049 +0200
+++ /var/tmp/diff_new_pack.Jc8g9L/_new 2017-08-29 11:42:35.624900357 +0200
@@ -61,8 +61,10 @@
Patch110: amarok-ffmpeg3.0.patch
# PATCH-FIX-UPSTREAM Fix-for-infinite-loop-with-some-Audio-CDs.patch kde#339190 -- Fix for the infinite loop in case a home-burned or old audio CD is inserted
Patch111: Fix-for-infinite-loop-with-some-Audio-CDs.patch
-# PATCH-FIX-UPSTREAM Fix-MPRIS2-DesktopEntry-value.patch, nec essary for working media controls in taskbar plsama 5.7 -- kde#565275
+# PATCH-FIX-UPSTREAM Fix-MPRIS2-DesktopEntry-value.patch, necessary for working media controls in taskbar plasma 5.7 -- kde#565275
Patch112: Fix-MPRIS2-DesktopEntry-value.patch
+# PATCH-FIX-UPSTREAM Fix-crash-during-musicbrainz-search.patch kde#328359 -- Fix a possible crash when looking up metadata on MusicBrainz
+Patch113: Fix-crash-during-musicbrainz-search.patch
# Required for the fdupes macro
BuildRequires: fdupes
BuildRequires: gdk-pixbuf-devel
@@ -140,6 +142,7 @@
%patch110 -p0
%patch111 -p1
%patch112 -p1
+%patch113 -p1
# Remove build time references so build-compare can do its work
FAKE_BUILDDATE=$(LC_ALL=C date -u -r %{SOURCE99} '+%%b %%e %%Y')
++++++ Fix-crash-during-musicbrainz-search.patch ++++++
>From 88ee85a8333cf54dc123fef5e07a1c92ab9f7261 Mon Sep 17 00:00:00 2001
From: Sergey Ivanov <123kash(a)gmail.com>
Date: Sun, 20 Aug 2017 11:25:57 +0300
Subject: Fix crash during musicbrainz search.
BUG: 328359
REVIEW: 130232
---
ChangeLog | 3 +-
src/musicbrainz/MusicBrainzFinder.cpp | 6 +-
src/musicbrainz/MusicBrainzFinder.h | 3 +-
src/musicbrainz/MusicBrainzTagsItem.cpp | 188 +++++++++++--------------------
src/musicbrainz/MusicBrainzTagsItem.h | 6 +-
src/musicbrainz/MusicBrainzTagsModel.cpp | 66 +++++++++--
src/musicbrainz/MusicBrainzTagsModel.h | 2 +
src/musicbrainz/MusicBrainzXmlParser.cpp | 3 +-
src/musicbrainz/MusicBrainzXmlParser.h | 2 +-
9 files changed, 141 insertions(+), 138 deletions(-)
diff --git a/src/musicbrainz/MusicBrainzFinder.cpp b/src/musicbrainz/MusicBrainzFinder.cpp
index 9a1b3bb..2598a0b 100644
--- a/src/musicbrainz/MusicBrainzFinder.cpp
+++ b/src/musicbrainz/MusicBrainzFinder.cpp
@@ -132,8 +132,7 @@ MusicBrainzFinder::sendNewRequest()
}
void
-MusicBrainzFinder::gotAuthenticationRequest( const QNetworkReply *reply,
- QAuthenticator *authenticator ) const
+MusicBrainzFinder::gotAuthenticationRequest( const QNetworkReply *reply, QAuthenticator *authenticator )
{
if( reply->url().host() == mb_host )
{
@@ -644,8 +643,9 @@ MusicBrainzFinder::compileRequest( QUrl &url )
url.setPort( mb_port );
QNetworkRequest req( url );
- req.setRawHeader( "User-Agent" , "Amarok" );
+ req.setRawHeader( "Accept", "application/xml");
req.setRawHeader( "Connection", "Keep-Alive" );
+ req.setRawHeader( "User-Agent" , "Amarok" );
if( !m_timer->isActive() )
m_timer->start();
diff --git a/src/musicbrainz/MusicBrainzFinder.h b/src/musicbrainz/MusicBrainzFinder.h
index beb1551..4dbd4a5 100644
--- a/src/musicbrainz/MusicBrainzFinder.h
+++ b/src/musicbrainz/MusicBrainzFinder.h
@@ -51,8 +51,7 @@ class MusicBrainzFinder : public QObject
private slots:
void sendNewRequest();
- void gotAuthenticationRequest( const QNetworkReply *reply,
- QAuthenticator *authenticator ) const;
+ void gotAuthenticationRequest( const QNetworkReply *reply, QAuthenticator *authenticator );
void gotReplyError( QNetworkReply::NetworkError code );
void gotReply( QNetworkReply *reply );
diff --git a/src/musicbrainz/MusicBrainzTagsItem.cpp b/src/musicbrainz/MusicBrainzTagsItem.cpp
index 0941a90..6430392 100644
--- a/src/musicbrainz/MusicBrainzTagsItem.cpp
+++ b/src/musicbrainz/MusicBrainzTagsItem.cpp
@@ -65,146 +65,75 @@ MusicBrainzTagsItem::child( const int row ) const
void
MusicBrainzTagsItem::appendChild( MusicBrainzTagsItem *newItem )
{
- DEBUG_BLOCK
+ QWriteLocker lock( &m_childrenLock );
+ m_childItems.append( newItem );
+ newItem->setParent( this );
- if( newItem->track().isNull() )
+ if( !newItem->data().isEmpty() )
{
- delete newItem;
- return;
- }
+ newItem->recalcSimilarityRate();
- if( m_track.isNull() )
- {
- // Root item.
- bool found = false;
+#define MAKE_DATA_LIST( k ) { QVariantList list; if( newItem->dataContains( k ) ) list.append( newItem->dataValue( k ) ); newItem->dataInsert( k, list ); }
- /*
- * A write lock is required, because with a read lock two or more threads
- * referencing the same track could search for a matching item at the same time,
- * fail, and queue up to create a new one, thus resulting in duplicates.
- */
- QWriteLocker lock( &m_childrenLock );
- foreach( MusicBrainzTagsItem *item, m_childItems )
- {
- if( item->track() == newItem->track() )
- {
- found = true;
- if( !newItem->data().isEmpty() )
- item->appendChild( newItem );
- break;
- }
- }
+ MAKE_DATA_LIST( MusicBrainz::TRACKID );
+ MAKE_DATA_LIST( MusicBrainz::ARTISTID );
+ MAKE_DATA_LIST( MusicBrainz::RELEASEID );
- if( !found )
- {
- MusicBrainzTagsItem *newChild = new MusicBrainzTagsItem( this, newItem->track() );
- if( !newItem->data().isEmpty() )
- newChild->appendChild( newItem );
- m_childItems.append( newChild );
- }
- }
- else
- {
- if( m_track != newItem->track() )
- {
- debug() << "Trying to insert track data to the wrong tree branch.";
- delete newItem;
- return;
- }
-
- bool found = false;
- newItem->setParent( this );
-
- // Already locked in parent call (the same logic applies).
- foreach( MusicBrainzTagsItem *item, m_childItems )
- {
- if( newItem == item )
- {
- found = true;
- // Merge the two matching results.
- debug() << "Track" << newItem->dataValue( MusicBrainz::TRACKID ).toString() << "already in the tree.";
- item->mergeWith( newItem );
- delete newItem;
- break;
- }
- }
-
- if( !found )
- {
- newItem->dataInsert( MusicBrainz::SIMILARITY,
- newItem->dataValue( MusicBrainz::MUSICBRAINZ ).toFloat() +
- newItem->dataValue( MusicBrainz::MUSICDNS ).toFloat() );
-
- QVariantList trackList;
- QVariantList artistList;
- QVariantList releaseList;
- if( newItem->dataContains( MusicBrainz::TRACKID ) )
- trackList.append( newItem->dataValue( MusicBrainz::TRACKID ) );
- if( newItem->dataContains( MusicBrainz::ARTISTID ) )
- artistList.append( newItem->dataValue( MusicBrainz::ARTISTID ) );
- if( newItem->dataContains( MusicBrainz::RELEASEID ) )
- releaseList.append( newItem->dataValue( MusicBrainz::RELEASEID ) );
- newItem->dataInsert( MusicBrainz::TRACKID, trackList );
- newItem->dataInsert( MusicBrainz::ARTISTID, artistList );
- newItem->dataInsert( MusicBrainz::RELEASEID, releaseList );
-
- m_childItems.append( newItem );
- }
+#undef MAKE_DATA_LIST
}
}
void
-MusicBrainzTagsItem::mergeWith( MusicBrainzTagsItem *item )
+MusicBrainzTagsItem::mergeData( const QVariantMap &tags )
{
- /*
- * The lock is inherited from appendChild(). This method is not supposed to be called
- * elsewhere.
- */
+ if( tags.isEmpty() )
+ return;
+ MusicBrainzTagsItem fakeItem( this, m_track, tags );
// Calculate the future score of the result when merged.
- if( !item->dataContains( MusicBrainz::MUSICBRAINZ ) &&
- dataContains( MusicBrainz::MUSICBRAINZ ) )
- item->dataInsert( MusicBrainz::MUSICBRAINZ,
- dataValue( MusicBrainz::MUSICBRAINZ ) );
- if( !item->dataContains( MusicBrainz::MUSICDNS ) &&
- dataContains( MusicBrainz::MUSICDNS ) )
- item->dataInsert( MusicBrainz::MUSICDNS,
- dataValue( MusicBrainz::MUSICDNS ) );
- item->dataInsert( MusicBrainz::SIMILARITY,
- item->dataValue( MusicBrainz::MUSICBRAINZ ).toFloat() +
- item->dataValue( MusicBrainz::MUSICDNS ).toFloat() );
+ if( !fakeItem.dataContains( MusicBrainz::MUSICBRAINZ ) && dataContains( MusicBrainz::MUSICBRAINZ ) )
+ fakeItem.dataInsert( MusicBrainz::MUSICBRAINZ, dataValue( MusicBrainz::MUSICBRAINZ ) );
+
+ if( !fakeItem.dataContains( MusicBrainz::MUSICDNS ) && dataContains( MusicBrainz::MUSICDNS ) )
+ fakeItem.dataInsert( MusicBrainz::MUSICDNS, dataValue( MusicBrainz::MUSICDNS ) );
+
+ fakeItem.recalcSimilarityRate();
QVariantList trackList = dataValue( MusicBrainz::TRACKID ).toList();
QVariantList artistList = dataValue( MusicBrainz::ARTISTID ).toList();
QVariantList releaseList = dataValue( MusicBrainz::RELEASEID ).toList();
- if( item->score() > score() )
+ if( fakeItem.score() > score() )
{
// Update the score.
- if( item->dataContains( MusicBrainz::MUSICBRAINZ ) )
- dataInsert( MusicBrainz::MUSICBRAINZ,
- item->dataValue( MusicBrainz::MUSICBRAINZ ) );
- if( item->dataContains( MusicBrainz::MUSICDNS ) )
- dataInsert( MusicBrainz::MUSICDNS,
- item->dataValue( MusicBrainz::MUSICDNS ) );
- dataInsert( MusicBrainz::SIMILARITY,
- item->dataValue( MusicBrainz::SIMILARITY ) );
-
- if( item->dataContains( MusicBrainz::TRACKID ) )
- trackList.prepend( item->dataValue( MusicBrainz::TRACKID ) );
- if( item->dataContains( MusicBrainz::ARTISTID ) )
- artistList.prepend( item->dataValue( MusicBrainz::ARTISTID ) );
- if( item->dataContains( MusicBrainz::RELEASEID ) )
- releaseList.prepend( item->dataValue( MusicBrainz::RELEASEID ) );
+ if( fakeItem.dataContains( MusicBrainz::MUSICBRAINZ ) )
+ dataInsert( MusicBrainz::MUSICBRAINZ, fakeItem.dataValue( MusicBrainz::MUSICBRAINZ ) );
+
+ if( fakeItem.dataContains( MusicBrainz::MUSICDNS ) )
+ dataInsert( MusicBrainz::MUSICDNS, fakeItem.dataValue( MusicBrainz::MUSICDNS ) );
+
+ recalcSimilarityRate();
+
+ if( fakeItem.dataContains( MusicBrainz::TRACKID ) )
+ trackList.prepend( fakeItem.dataValue( MusicBrainz::TRACKID ) );
+
+ if( fakeItem.dataContains( MusicBrainz::ARTISTID ) )
+ artistList.prepend( fakeItem.dataValue( MusicBrainz::ARTISTID ) );
+
+ if( fakeItem.dataContains( MusicBrainz::RELEASEID ) )
+ releaseList.prepend( fakeItem.dataValue( MusicBrainz::RELEASEID ) );
}
else
{
- if( item->dataContains( MusicBrainz::TRACKID ) )
- trackList.append( item->dataValue( MusicBrainz::TRACKID ) );
- if( item->dataContains( MusicBrainz::ARTISTID ) )
- artistList.append( item->dataValue( MusicBrainz::ARTISTID ) );
- if( item->dataContains( MusicBrainz::RELEASEID ) )
- releaseList.append( item->dataValue( MusicBrainz::RELEASEID ) );
+ if( fakeItem.dataContains( MusicBrainz::TRACKID ) )
+ trackList.append( fakeItem.dataValue( MusicBrainz::TRACKID ) );
+
+ if( fakeItem.dataContains( MusicBrainz::ARTISTID ) )
+ artistList.append( fakeItem.dataValue( MusicBrainz::ARTISTID ) );
+
+ if( fakeItem.dataContains( MusicBrainz::RELEASEID ) )
+ releaseList.append( fakeItem.dataValue( MusicBrainz::RELEASEID ) );
}
+
dataInsert( MusicBrainz::TRACKID, trackList );
dataInsert( MusicBrainz::ARTISTID, artistList );
dataInsert( MusicBrainz::RELEASEID, releaseList );
@@ -476,10 +405,11 @@ MusicBrainzTagsItem::clearChoices()
}
bool
-MusicBrainzTagsItem::operator==( const MusicBrainzTagsItem* item ) const
+MusicBrainzTagsItem::isSimilar( const QVariantMap &tags ) const
{
QReadLocker lock( &m_dataLock );
-#define MATCH( k, t ) dataValue( k ).t() == item->dataValue( k ).t()
+ QVariant empty;
+#define MATCH( k, t ) ( dataValue( k ).t() == ( tags.contains( k ) ? tags.value( k ) : empty ).t() )
/*
* This is the information shown to the user: he will never be able to
* distinguish between two tracks with the same information.
@@ -494,3 +424,21 @@ MusicBrainzTagsItem::operator==( const MusicBrainzTagsItem* item ) const
MATCH( Meta::Field::TRACKNUMBER, toInt );
#undef MATCH
}
+
+bool
+MusicBrainzTagsItem::operator==( const MusicBrainzTagsItem* item ) const
+{
+ return isSimilar( item->data() );
+}
+
+bool
+MusicBrainzTagsItem::operator==( const Meta::TrackPtr &track) const
+{
+ return m_track == track;
+}
+
+void
+MusicBrainzTagsItem::recalcSimilarityRate()
+{
+ dataInsert( MusicBrainz::SIMILARITY, dataValue( MusicBrainz::MUSICBRAINZ ).toFloat() + dataValue( MusicBrainz::MUSICDNS ).toFloat() );
+}
diff --git a/src/musicbrainz/MusicBrainzTagsItem.h b/src/musicbrainz/MusicBrainzTagsItem.h
index 6852c9f..11efb52 100644
--- a/src/musicbrainz/MusicBrainzTagsItem.h
+++ b/src/musicbrainz/MusicBrainzTagsItem.h
@@ -42,6 +42,7 @@ class MusicBrainzTagsItem
QVariantMap data() const;
QVariant data( const int column ) const;
void setData( const QVariantMap &tags );
+ void mergeData( const QVariantMap &tags );
bool dataContains( const QString &key ) const;
QVariant dataValue( const QString &key ) const;
@@ -52,12 +53,15 @@ class MusicBrainzTagsItem
bool chooseBestMatchFromRelease( const QStringList &releases );
void clearChoices();
+ bool isSimilar( const QVariantMap &tags ) const;
+
bool operator==( const MusicBrainzTagsItem *item ) const;
+ bool operator==( const Meta::TrackPtr &track) const;
private:
void setParent( MusicBrainzTagsItem *parent );
- void mergeWith( MusicBrainzTagsItem *item );
void dataInsert( const QString &key, const QVariant &value );
+ void recalcSimilarityRate();
MusicBrainzTagsItem *m_parent;
QList<MusicBrainzTagsItem *> m_childItems;
diff --git a/src/musicbrainz/MusicBrainzTagsModel.cpp b/src/musicbrainz/MusicBrainzTagsModel.cpp
index 0ffb284..e7bde4c 100644
--- a/src/musicbrainz/MusicBrainzTagsModel.cpp
+++ b/src/musicbrainz/MusicBrainzTagsModel.cpp
@@ -204,7 +204,10 @@ MusicBrainzTagsModel::setData( const QModelIndex &index, const QVariant &value,
Qt::ItemFlags
MusicBrainzTagsModel::flags( const QModelIndex &index ) const
{
- if( !index.isValid() || !parent( index ).isValid() )
+ if( !index.isValid() )
+ return QAbstractItemModel::flags( index );
+
+ if( !parent( index ).isValid() )
// Disable items with no children.
return QAbstractItemModel::flags( index ) ^
( ( !static_cast<MusicBrainzTagsItem *>( index.internalPointer() )->childCount() )?
@@ -248,22 +251,67 @@ MusicBrainzTagsModel::columnCount( const QModelIndex &parent ) const
void
MusicBrainzTagsModel::addTrack( const Meta::TrackPtr track, const QVariantMap tags )
{
- QModelIndex parent;
- int row = rowCount();
- for( int i = 0; i < m_rootItem->childCount(); i++ )
+ DEBUG_BLOCK
+
+ if( track.isNull() )
+ return;
+
+ QMutexLocker lock( &m_modelLock );
+
+ MusicBrainzTagsItem *trackItem = NULL;
+ QModelIndex trackIndex;
+ for( int i = 0; i < m_rootItem->childCount(); ++i )
{
MusicBrainzTagsItem *item = m_rootItem->child( i );
if( track == item->track() )
{
- parent = index( i, 0 );
- row = rowCount( parent );
+ trackItem = item;
+ trackIndex = index( i, 0 );
+
+ break;
+ }
+ }
+
+ if( !trackItem )
+ {
+ trackItem = new MusicBrainzTagsItem( m_rootItem, track );
+
+ beginInsertRows( QModelIndex(), m_rootItem->childCount(), m_rootItem->childCount() );
+ m_rootItem->appendChild( trackItem );
+ endInsertRows();
+
+ trackIndex = index( m_rootItem->childCount() - 1, 0 );
+ }
+
+ if( tags.isEmpty() )
+ {
+ warning() << "Search result contains no data for track: " << track->prettyName();
+ return;
+ }
+
+ MusicBrainzTagsItem *similarItem = NULL;
+ for( int i = 0; i < trackItem->childCount(); ++i )
+ {
+ MusicBrainzTagsItem *item = trackItem->child( i );
+ if( item->isSimilar( tags ) )
+ {
+ similarItem = item;
+
+ item->mergeData( tags );
+ emit dataChanged( index( i, 0, trackIndex ), index(i, columnCount() - 1, trackIndex ) );
+
break;
}
}
- beginInsertRows( parent, row, row );
- m_rootItem->appendChild( new MusicBrainzTagsItem( m_rootItem, track, tags ) );
- endInsertRows();
+ if( !similarItem )
+ {
+ MusicBrainzTagsItem *item = new MusicBrainzTagsItem( trackItem, track, tags );
+
+ beginInsertRows( trackIndex, trackItem->childCount(), trackItem->childCount() );
+ trackItem->appendChild( item );
+ endInsertRows();
+ }
}
QMap<Meta::TrackPtr, QVariantMap>
diff --git a/src/musicbrainz/MusicBrainzTagsModel.h b/src/musicbrainz/MusicBrainzTagsModel.h
index eaee7f8..3ea2fd2 100644
--- a/src/musicbrainz/MusicBrainzTagsModel.h
+++ b/src/musicbrainz/MusicBrainzTagsModel.h
@@ -21,6 +21,7 @@
#include "core/meta/forward_declarations.h"
#include <QAbstractItemModel>
+#include <QMutex>
class MusicBrainzTagsItem;
@@ -69,6 +70,7 @@ class MusicBrainzTagsModel : public QAbstractItemModel
private:
MusicBrainzTagsItem *m_rootItem;
+ mutable QMutex m_modelLock;
};
#endif // MUSICBRAINZTAGSMDOEL_H
diff --git a/src/musicbrainz/MusicBrainzXmlParser.cpp b/src/musicbrainz/MusicBrainzXmlParser.cpp
index 290a275..40d36a3 100644
--- a/src/musicbrainz/MusicBrainzXmlParser.cpp
+++ b/src/musicbrainz/MusicBrainzXmlParser.cpp
@@ -26,7 +26,7 @@
#include <QStringList>
#include <QVariantList>
-MusicBrainzXmlParser::MusicBrainzXmlParser( QString &doc )
+MusicBrainzXmlParser::MusicBrainzXmlParser( const QString &doc )
: ThreadWeaver::Job()
, m_doc( "musicbrainz" )
, m_type( 0 )
@@ -38,6 +38,7 @@ void
MusicBrainzXmlParser::run()
{
DEBUG_BLOCK
+
QDomElement docElem = m_doc.documentElement();
parseElement( docElem );
}
diff --git a/src/musicbrainz/MusicBrainzXmlParser.h b/src/musicbrainz/MusicBrainzXmlParser.h
index c7f9e72..7b2876b 100644
--- a/src/musicbrainz/MusicBrainzXmlParser.h
+++ b/src/musicbrainz/MusicBrainzXmlParser.h
@@ -34,7 +34,7 @@ class MusicBrainzXmlParser : public ThreadWeaver::Job
ReleaseGroup
};
- explicit MusicBrainzXmlParser( QString &doc );
+ explicit MusicBrainzXmlParser( const QString &doc );
void run();
--
cgit v0.11.2
1
0