Hello community,

here is the log from the commit of package python-mutagen for openSUSE:Factory 
checked in at 2017-04-28 10:37:57
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-mutagen (Old)
 and      /work/SRC/openSUSE:Factory/.python-mutagen.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "python-mutagen"

Fri Apr 28 10:37:57 2017 rev:27 rq:487700 version:1.37

Changes:
--------
--- /work/SRC/openSUSE:Factory/python-mutagen/python-mutagen.changes    
2017-03-31 15:02:01.979616273 +0200
+++ /work/SRC/openSUSE:Factory/.python-mutagen.new/python-mutagen.changes       
2017-04-28 10:38:10.251284608 +0200
@@ -1,0 +2,11 @@
+Thu Apr  6 15:52:21 UTC 2017 - alarr...@suse.com
+
+- Use singlespec macros.
+- Drop fix-tests-tools-names.diff which is not needed anymore.
+- Add reduce-test-length.diff to reduce the number of iterations in a test
+  that is repeated for each data test file, for every byte, so it only tests
+  each file for the first 10 bytes. This way we reduce the time it takes to
+  test mutagen (and the corresponding cpu usage in obs) from 1078 seconds
+  (nearly 18 minutes) to 53 seconds (for each python version).
+
+-------------------------------------------------------------------

Old:
----
  fix-tests-tools-names.diff

New:
----
  reduce-test-length.diff

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ python-mutagen.spec ++++++
--- /var/tmp/diff_new_pack.27N3Qd/_old  2017-04-28 10:38:12.974899644 +0200
+++ /var/tmp/diff_new_pack.27N3Qd/_new  2017-04-28 10:38:12.978899078 +0200
@@ -16,11 +16,7 @@
 #
 
 
-%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_module:%define python_module() python-%{**} python3-%{**}}
 Name:           python-mutagen
 Version:        1.37
 Release:        0
@@ -29,14 +25,16 @@
 Group:          Development/Libraries/Python
 Url:            https://pypi.python.org/pypi/mutagen
 Source:         
https://files.pythonhosted.org/packages/source/m/mutagen/mutagen-%{version}.tar.gz
-# PATCH-FIX-OPENSUSE fix-tests-tools-names.diff -- Undo the alternate-names of 
the tools when importing the modules so tests build successfully.
-Patch0:         fix-tests-tools-names.diff
-BuildRequires:  python-devel
-BuildRequires:  python-pytest
-BuildRequires:  python-setuptools
-Requires(post): update-alternatives
-Requires(preun): update-alternatives
+# PATCH-FIX-OPENSUSE reduce-test-length.diff alarr...@suse.com -- Reduce the 
number of iterations so tests don't take so long to finish
+Patch0:         reduce-test-length.diff
+BuildRequires:  %{python_module devel}
+BuildRequires:  %{python_module pytest}
+BuildRequires:  %{python_module setuptools}
+BuildRequires:  fdupes
+BuildRequires:  python-rpm-macros
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build
+BuildArch:      noarch
+%python_subpackages
 
 %description
 Mutagen is a Python module to handle audio metadata. It supports FLAC,
@@ -53,94 +51,45 @@
 # remove shebangs from library files
 find mutagen/ -name "*.py" -exec sed -i -e 
'/^#!\s\?\/usr\/bin\/\(env\s\)\?python$/d' {} ';'
 
-export LANG=en_US.UTF-8
-for i in mid3cp mid3iconv mid3v2 moggsplit mutagen-inspect mutagen-pony; do
-    j=`echo $i|tr '-' '_'`
-    sed -i "s/\"${i}\"/\"${i}-%{py_ver}\"/g" setup.py
-    sed -i "s/u\"${i}\"/u\"${i}-%{py_ver}\"/g" tests/test_tools_${j}.py
-    mv tools/${i} tools/${i}-%{py_ver}
-    mv man/${i}.1 man/${i}-%{py_ver}.1
-done
-
 %build
-python setup.py build
+%python_build
 
 %install
-python setup.py install --root=%{buildroot} --prefix="%{_prefix}"
+%python_install
 
-# Prepare for update-alternatives usage
-mkdir -p %{buildroot}%{_sysconfdir}/alternatives
-for p in mid3cp mid3iconv mid3v2 moggsplit mutagen-inspect mutagen-pony; do
-    ln -s -f %{_sysconfdir}/alternatives/$p %{buildroot}%{_bindir}/$p
-    ln -s -f %{_sysconfdir}/alternatives/$p.1.gz 
%{buildroot}%{_mandir}/man1/${p}.1.gz
+for i in mid3cp mid3iconv mid3v2 moggsplit mutagen-inspect mutagen-pony; do
+   %python_clone -a %{buildroot}%{_bindir}/${i}
+   %python_clone -a %{buildroot}%{_mandir}/man1/${i}.1
 done
+%python_expand %fdupes %{buildroot}%{$python_sitelib}/mutagen
 
 %post
-%{_sbindir}/update-alternatives \
-   --install %{_bindir}/mid3cp mid3cp %{_bindir}/mid3cp-%{py_ver} 30 \
-   --slave %{_bindir}/mid3iconv mid3iconv %{_bindir}/mid3iconv-%{py_ver} \
-   --slave %{_bindir}/mid3v2 mid3v2 %{_bindir}/mid3v2-%{py_ver} \
-   --slave %{_bindir}/moggsplit moggsplit %{_bindir}/moggsplit-%{py_ver} \
-   --slave %{_bindir}/mutagen-inspect mutagen-inspect 
%{_bindir}/mutagen-inspect-%{py_ver} \
-   --slave %{_bindir}/mutagen-pony mutagen-pony 
%{_bindir}/mutagen-pony-%{py_ver} \
-   --slave %{_mandir}/man1/mid3cp.1.gz mid3cp.1.gz 
%{_mandir}/man1/mid3cp-%{py_ver}.1.gz \
-   --slave %{_mandir}/man1/mid3iconv.1.gz mid3iconv.1.gz 
%{_mandir}/man1/mid3iconv-%{py_ver}.1.gz \
-   --slave %{_mandir}/man1/mid3v2.1.gz mid3v2.1.gz 
%{_mandir}/man1/mid3v2-%{py_ver}.1.gz \
-   --slave %{_mandir}/man1/moggsplit.1.gz moggsplit.1.gz 
%{_mandir}/man1/moggsplit-%{py_ver}.1.gz \
-   --slave %{_mandir}/man1/mutagen-inspect.1.gz mutagen-inspect.1.gz 
%{_mandir}/man1/mutagen-inspect-%{py_ver}.1.gz \
-   --slave %{_mandir}/man1/mutagen-pony.1.gz mutagen-pony.1.gz 
%{_mandir}/man1/mutagen-pony-%{py_ver}.1.gz
+%{python_install_alternative mid3cp mid3iconv mid3v2 moggsplit mutagen-inspect 
mutagen-pony mid3cp.1 mid3iconv.1 mid3v2.1 moggsplit.1 mutagen-inspect.1 
mutagen-pony.1}
 
 %preun
-if [ $1 -eq 0 ] ; then
-    %{_sbindir}/update-alternatives --remove mid3cp %{_bindir}/mid3cp-%{py_ver}
-fi
+%{python_uninstall_alternative mid3cp}
 
 %check
 export LANG=en_US.UTF-8
-export PATH="$PATH:%{buildroot}%{_bindir}"
-export PYTHONPATH="$PYTHONPATH:%{buildroot}%{python_sitelib}"
-python setup.py test
+#export PATH="$PATH:%%{buildroot}%%{_bindir}"
+%python_exec setup.py test
 
-%files
+%files %{python_files}
 %defattr(-, root, root, 0755)
 %doc COPYING NEWS README.rst
-%{_bindir}/mid3cp
-%{_bindir}/mid3iconv
-%{_bindir}/mid3v2
-%{_bindir}/moggsplit
-%{_bindir}/mutagen-inspect
-%{_bindir}/mutagen-pony
-%{_bindir}/mid3cp-%{py_ver}
-%{_bindir}/mid3iconv-%{py_ver}
-%{_bindir}/mid3v2-%{py_ver}
-%{_bindir}/moggsplit-%{py_ver}
-%{_bindir}/mutagen-inspect-%{py_ver}
-%{_bindir}/mutagen-pony-%{py_ver}
-%ghost %{_sysconfdir}/alternatives/mid3cp
-%ghost %{_sysconfdir}/alternatives/mid3iconv
-%ghost %{_sysconfdir}/alternatives/mid3v2
-%ghost %{_sysconfdir}/alternatives/moggsplit
-%ghost %{_sysconfdir}/alternatives/mutagen-inspect
-%ghost %{_sysconfdir}/alternatives/mutagen-pony
-%{_mandir}/man1/mid3cp.1%{ext_man}
-%{_mandir}/man1/mid3iconv.1%{ext_man}
-%{_mandir}/man1/mid3v2.1%{ext_man}
-%{_mandir}/man1/moggsplit.1%{ext_man}
-%{_mandir}/man1/mutagen-inspect.1%{ext_man}
-%{_mandir}/man1/mutagen-pony.1%{ext_man}
-%{_mandir}/man1/mid3cp-%{py_ver}.1%{ext_man}
-%{_mandir}/man1/mid3iconv-%{py_ver}.1%{ext_man}
-%{_mandir}/man1/mid3v2-%{py_ver}.1%{ext_man}
-%{_mandir}/man1/moggsplit-%{py_ver}.1%{ext_man}
-%{_mandir}/man1/mutagen-inspect-%{py_ver}.1%{ext_man}
-%{_mandir}/man1/mutagen-pony-%{py_ver}.1%{ext_man}
-%ghost %{_sysconfdir}/alternatives/mid3cp.1.gz
-%ghost %{_sysconfdir}/alternatives/mid3iconv.1.gz
-%ghost %{_sysconfdir}/alternatives/mid3v2.1.gz
-%ghost %{_sysconfdir}/alternatives/moggsplit.1.gz
-%ghost %{_sysconfdir}/alternatives/mutagen-inspect.1.gz
-%ghost %{_sysconfdir}/alternatives/mutagen-pony.1.gz
+%python_alternative %{_bindir}/mid3cp
+%python_alternative %{_bindir}/mid3iconv
+%python_alternative %{_bindir}/mid3v2
+%python_alternative %{_bindir}/moggsplit
+%python_alternative %{_bindir}/mutagen-inspect
+%python_alternative %{_bindir}/mutagen-pony
+%python_alternative %{_mandir}/man1/mid3cp.1%{ext_man}
+%python_alternative %{_mandir}/man1/mid3iconv.1%{ext_man}
+%python_alternative %{_mandir}/man1/mid3v2.1%{ext_man}
+%python_alternative %{_mandir}/man1/moggsplit.1%{ext_man}
+%python_alternative %{_mandir}/man1/mutagen-inspect.1%{ext_man}
+%python_alternative %{_mandir}/man1/mutagen-pony.1%{ext_man}
 %{python_sitelib}/mutagen
-%{python_sitelib}/mutagen-%{version}-py*.egg-info
+%{python_sitelib}/mutagen-%{version}-py%{python_version}.egg-info
 
 %changelog

++++++ reduce-test-length.diff ++++++
Index: mutagen-1.37/tests/test___init__.py
===================================================================
--- mutagen-1.37.orig/tests/test___init__.py
+++ mutagen-1.37/tests/test___init__.py
@@ -270,7 +270,7 @@ def iter_test_file_objects(fileobj):
     # first figure out how much a successful attempt reads and how many
     # file object operations it executes.
     yield t
-    for i in xrange(t.dataread):
+    for i in xrange(min(t.dataread, 10)):
         yield _TestFileObj(fileobj, stop_after=i)
     for i in xrange(t.operations):
         yield _TestFileObj(fileobj, fail_after=i)

Reply via email to