openSUSE Commits
Threads by month
- ----- 2025 -----
- February
- January
- ----- 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 2015
- 1 participants
- 1349 discussions
Hello community,
here is the log from the commit of package python3-bpython for openSUSE:Factory checked in at 2015-08-03 17:21:22
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python3-bpython (Old)
and /work/SRC/openSUSE:Factory/.python3-bpython.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python3-bpython"
Changes:
--------
--- /work/SRC/openSUSE:Factory/python3-bpython/…
[View More]python3-bpython.changes 2015-06-30 10:19:49.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.python3-bpython.new/python3-bpython.changes 2015-08-03 17:21:43.000000000 +0200
@@ -1,0 +2,5 @@
+Mon Jul 27 15:46:40 UTC 2015 - toddrme2178(a)gmail.com
+
+- Fix unicode issue
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python3-bpython.spec ++++++
--- /var/tmp/diff_new_pack.kMHp42/_old 2015-08-03 17:21:44.000000000 +0200
+++ /var/tmp/diff_new_pack.kMHp42/_new 2015-08-03 17:21:44.000000000 +0200
@@ -75,10 +75,12 @@
-e "s/, 'bpython-config'/, 'bpython-config-%{py3_ver}'/" doc/sphinx/source/conf.py
%build
+export LC_ALL=en_US.utf8
python3 setup.py build
python3 setup.py build_sphinx && rm build/sphinx/html/.buildinfo # HTML documentation
%install
+export LC_ALL=en_US.utf8
python3 setup.py install --prefix=%{_prefix} --root=%{buildroot}
ln -s %{_bindir}/bpbd-%{py3_ver} %{buildroot}%{_bindir}/bpbd
ln -s %{_bindir}/bpython-%{py3_ver} %{buildroot}%{_bindir}/bpython
[View Less]
1
0
Hello community,
here is the log from the commit of package python3-alembic for openSUSE:Factory checked in at 2015-08-03 17:21:21
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python3-alembic (Old)
and /work/SRC/openSUSE:Factory/.python3-alembic.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python3-alembic"
Changes:
--------
--- /work/SRC/openSUSE:Factory/python3-alembic/…
[View More]python3-alembic.changes 2015-05-11 19:49:14.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.python3-alembic.new/python3-alembic.changes 2015-08-03 17:21:42.000000000 +0200
@@ -1,0 +2,27 @@
+Mon Jul 27 15:43:36 UTC 2015 - toddrme2178(a)gmail.com
+
+- Update to 0.7.7
+ * Features
+ -Implemented support for :meth:`.BatchOperations.create_primary_key`
+ and :meth:`.BatchOperations.create_check_constraint`. Additionally,
+ table keyword arguments are copied from the original reflected table,
+ such as the "mysql_engine" keyword argument.
+ * Bugfixes
+ - Fixed critical issue where a complex series of branches/merges would
+ bog down the iteration algorithm working over redundant nodes for
+ millions of cycles. An internal adjustment has been
+ made so that duplicate nodes are skipped within this iteration.
+ - The :meth:`.MigrationContext.stamp` method, added as part of the
+ versioning refactor in 0.7 as a more granular version of
+ :func:`.command.stamp`, now includes the "create the alembic_version
+ table if not present" step in the same way as the command version,
+ which was previously omitted.
+ - Fixed bug where foreign key options including "onupdate",
+ "ondelete" would not render within the ``op.create_foreign_key()``
+ directive, even though they render within a full
+ ``ForeignKeyConstraint`` directive.
+ - Repaired warnings that occur when running unit tests against
+ SQLAlchemy 1.0.5 or greater involving the "legacy_schema_aliasing"
+ flag.
+
+-------------------------------------------------------------------
Old:
----
alembic-0.7.6.tar.gz
New:
----
alembic-0.7.7.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python3-alembic.spec ++++++
--- /var/tmp/diff_new_pack.b1jQaV/_old 2015-08-03 17:21:43.000000000 +0200
+++ /var/tmp/diff_new_pack.b1jQaV/_new 2015-08-03 17:21:43.000000000 +0200
@@ -17,7 +17,7 @@
Name: python3-alembic
-Version: 0.7.6
+Version: 0.7.7
Release: 0
Url: https://pypi.python.org/pypi/alembic
Summary: A database migration tool for SQLAlchemy
++++++ alembic-0.7.6.tar.gz -> alembic-0.7.7.tar.gz ++++++
++++ 21229 lines of diff (skipped)
[View Less]
1
0
Hello community,
here is the log from the commit of package python3-scipy for openSUSE:Factory checked in at 2015-08-03 17:21:18
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python3-scipy (Old)
and /work/SRC/openSUSE:Factory/.python3-scipy.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python3-scipy"
Changes:
--------
--- /work/SRC/openSUSE:Factory/python3-scipy/python3-…
[View More]scipy.changes 2015-01-25 21:15:05.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.python3-scipy.new/python3-scipy.changes 2015-08-03 17:21:38.000000000 +0200
@@ -1,0 +2,132 @@
+Mon Jul 27 15:24:02 UTC 2015 - toddrme2178(a)gmail.com
+
+- Remove Cython subpackage. The sources are not as cleanly
+ separated as the changelog implied.
+
+-------------------------------------------------------------------
+Mon Jul 27 09:26:20 UTC 2015 - toddrme2178(a)gmail.com
+
+- Update to 0.16.0
+ * Highlights of this release include:
+ - A Cython API for BLAS/LAPACK in scipy.linalg
+ - A new benchmark suite. It's now straightforward to add new benchmarks,
+ and they're routinely included with performance enhancement PRs.
+ - Support for the second order sections (SOS) format in scipy.signal.
+ * New features
+ - Benchmark suite
+ + The benchmark suite has switched to using Airspeed Velocity
+ for benchmarking.
+ - scipy.linalg improvements
+ + A full set of Cython wrappers for BLAS and LAPACK has been added in
+ the modules scipy.linalg.cython_blas and scipy.linalg.cython_lapack.
+ In Cython, these wrappers can now be cimported from their
+ corresponding modules and used without linking directly against BLAS
+ or LAPACK.
+ + The functions scipy.linalg.qr_delete, scipy.linalg.qr_insert and
+ scipy.linalg.qr_update for updating QR decompositions were added.
+ + The function scipy.linalg.solve_circulant solves a linear system with
+ a circulant coefficient matrix.
+ + The function scipy.linalg.invpascal computes the inverse of a Pascal matrix.
+ + The function scipy.linalg.solve_toeplitz, a Levinson-Durbin Toeplitz solver,
+ was added.
+ + Added wrapper for potentially useful LAPACK function *lasd4. It computes
+ the square root of the i-th updated eigenvalue of a positive symmetric rank-one
+ modification to a positive diagonal matrix. See its LAPACK documentation and
+ unit tests for it to get more info.
+ + Added two extra wrappers for LAPACK least-square solvers. Namely, they are
+ *gelsd and *gelsy.
+ + Wrappers for the LAPACK *lange functions, which calculate various matrix
+ norms, were added.
+ + Wrappers for *gtsv and *ptsv, which solve A*X = B for tri-diagonal
+ matrix A, were added.
+ - scipy.signal improvements
+ + Support for second order sections (SOS) as a format for IIR filters
+ was added. The new functions are:
+ * scipy.signal.sosfilt
+ * scipy.signal.sosfilt_zi,
+ * scipy.signal.sos2tf
+ * scipy.signal.sos2zpk
+ * scipy.signal.tf2sos
+ * scipy.signal.zpk2sos.
+ + Additionally, the filter design functions iirdesign, iirfilter, butter,
+ cheby1, cheby2, ellip, and bessel can return the filter in the SOS
+ format.
+ + The function scipy.signal.place_poles, which provides two methods to place
+ poles for linear systems, was added.
+ + The option to use Gustafsson's method for choosing the initial conditions
+ of the forward and backward passes was added to scipy.signal.filtfilt.
+ + New classes TransferFunction, StateSpace and ZerosPolesGain were
+ added. These classes are now returned when instantiating scipy.signal.lti.
+ Conversion between those classes can be done explicitly now.
+ + An exponential (Poisson) window was added as scipy.signal.exponential, and a
+ Tukey window was added as scipy.signal.tukey.
+ + The function for computing digital filter group delay was added as
+ scipy.signal.group_delay.
+ + The functionality for spectral analysis and spectral density estimation has
+ been significantly improved: scipy.signal.welch became ~8x faster and the
+ functions scipy.signal.spectrogram, scipy.signal.coherence and
+ scipy.signal.csd (cross-spectral density) were added.
+ + scipy.signal.lsim was rewritten - all known issues are fixed, so this
+ function can now be used instead of lsim2; lsim is orders of magnitude
+ faster than lsim2 in most cases.
+ - scipy.sparse improvements
+ + The function scipy.sparse.norm, which computes sparse matrix norms, was
+ added.
+ + The function scipy.sparse.random, which allows to draw random variates from
+ an arbitrary distribution, was added.
+ - scipy.spatial improvements
+ + scipy.spatial.cKDTree has seen a major rewrite, which improved the
+ performance of the query method significantly, added support for parallel
+ queries, pickling, and options that affect the tree layout. See pull request
+ 4374 for more details.
+ + The function scipy.spatial.procrustes for Procrustes analysis (statistical
+ shape analysis) was added.
+ - scipy.stats improvements
+ + The Wishart distribution and its inverse have been added, as
+ scipy.stats.wishart and scipy.stats.invwishart.
+ + The Exponentially Modified Normal distribution has been
+ added as scipy.stats.exponnorm.
+ + The Generalized Normal distribution has been added as scipy.stats.gennorm.
+ + All distributions now contain a random_state property and allow specifying a
+ specific numpy.random.RandomState random number generator when generating
+ random variates.
+ + Many statistical tests and other scipy.stats functions that have multiple
+ return values now return namedtuples. See pull request 4709 for details.
+ - scipy.optimize improvements
+ + A new derivative-free method DF-SANE has been added to the nonlinear equation
+ system solving function scipy.optimize.root.
+ * Deprecated features
+ - scipy.stats.pdf_fromgamma is deprecated. This function was undocumented,
+ untested and rarely used. Statsmodels provides equivalent functionality
+ with statsmodels.distributions.ExpandedNormal.
+ - scipy.stats.fastsort is deprecated. This function is unnecessary,
+ numpy.argsort can be used instead.
+ - scipy.stats.signaltonoise and scipy.stats.mstats.signaltonoise are
+ deprecated. These functions did not belong in scipy.stats and are rarely
+ used. See issue #609 for details.
+ - scipy.stats.histogram2 is deprecated. This function is unnecessary,
+ numpy.histogram2d can be used instead.
+ * Backwards incompatible changes
+ - The deprecated global optimizer scipy.optimize.anneal was removed.
+ - The following deprecated modules have been removed. They had been deprecated
+ since Scipy 0.12.0, the functionality should be accessed as scipy.linalg.blas
+ and scipy.linalg.lapack.
+ + scipy.lib.blas
+ + scipy.lib.lapack
+ + scipy.linalg.cblas
+ + scipy.linalg.fblas
+ + scipy.linalg.clapack
+ + scipy.linalg.flapack.
+ - The deprecated function scipy.special.all_mat has been removed.
+ - These deprecated functions have been removed from scipy.stats:
+ + scipy.stats.fprob
+ + scipy.stats.ksprob
+ + scipy.stats.zprob
+ + scipy.stats.randwcdf
+ + scipy.stats.randwppf
+ * Other changes
+ - The version numbering for development builds has been updated to comply with PEP 440.
+ - Building with python setup.py develop is now supported.
+- Move Cython imports to another package
+
+-------------------------------------------------------------------
Old:
----
scipy-0.15.1.tar.gz
New:
----
scipy-0.16.0.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python3-scipy.spec ++++++
--- /var/tmp/diff_new_pack.yJ7bCG/_old 2015-08-03 17:21:41.000000000 +0200
+++ /var/tmp/diff_new_pack.yJ7bCG/_new 2015-08-03 17:21:41.000000000 +0200
@@ -19,7 +19,7 @@
%define with_atlas 0
Name: python3-scipy
-Version: 0.15.1
+Version: 0.16.0
Release: 0
Summary: Scientific Tools for Python
License: BSD-3-Clause and LGPL-2.0+
@@ -55,23 +55,6 @@
use, but powerful enough to be depended upon by some of the world's
leading scientists and engineers.
-%package weave
-Summary: Scientific Tools for Python - Weave
-Group: Development/Libraries/Python
-Requires: %{name} = %{version}
-Provides: python3-scipy-devel = %{version}
-
-%description weave
-Scipy is open-source software for mathematics, science, and
-engineering. The core library is NumPy which provides convenient and
-fast N-dimensional array manipulation. The SciPy library is built to
-work with NumPy arrays, and provides many user-friendly and efficient
-numerical routines such as routines for numerical integration and
-optimization. Together, they run on all popular operating systems, are
-quick to install, and are free of charge. NumPy and SciPy are easy to
-use, but powerful enough to be depended upon by some of the world's
-leading scientists and engineers.
-
%prep
%setup -q -n scipy-%{version}
find . -type f -name "*.py" -exec sed -i "s|#!/usr/bin/env python||" {} \;
@@ -114,12 +97,6 @@
%doc LICENSE.txt
%{python3_sitearch}/scipy/
%{python3_sitearch}/scipy-%{version}-py*.egg-info
-# %exclude %{python3_sitearch}/scipy/weave
-# not available for python 3 yet
-# %files weave
-# %defattr(-,root,root,-)
-# %doc scipy/weave/examples
-# %{python3_sitearch}/scipy/weave
%changelog
++++++ scipy-0.15.1.tar.gz -> scipy-0.16.0.tar.gz ++++++
/work/SRC/openSUSE:Factory/python3-scipy/scipy-0.15.1.tar.gz /work/SRC/openSUSE:Factory/.python3-scipy.new/scipy-0.16.0.tar.gz differ: char 5, line 1
[View Less]
1
0
Hello community,
here is the log from the commit of package python-tablib for openSUSE:Factory checked in at 2015-08-03 17:21:16
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-tablib (Old)
and /work/SRC/openSUSE:Factory/.python-tablib.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-tablib"
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-tablib/python-…
[View More]tablib.changes 2015-05-19 23:42:34.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.python-tablib.new/python-tablib.changes 2015-08-03 17:21:37.000000000 +0200
@@ -1,0 +2,5 @@
+Fri Jul 24 21:47:30 UTC 2015 - seife+obs(a)b1-systems.com
+
+- fix RHEL build by ignoring bytecompile-errors
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-tablib.spec ++++++
--- /var/tmp/diff_new_pack.eCDMHV/_old 2015-08-03 17:21:38.000000000 +0200
+++ /var/tmp/diff_new_pack.eCDMHV/_new 2015-08-03 17:21:38.000000000 +0200
@@ -16,6 +16,11 @@
#
+%if 0%{?rhel}
+# I get syntax errors in the brp-python-bytecompile step...
+%define _python_bytecompile_errors_terminate_build 0
+%endif
+
Name: python-tablib
Version: 0.10.0
Release: 0
[View Less]
1
0
Hello community,
here is the log from the commit of package python-python-subunit for openSUSE:Factory checked in at 2015-08-03 17:21:14
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-python-subunit (Old)
and /work/SRC/openSUSE:Factory/.python-python-subunit.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-python-subunit"
Changes:
--------
--- /work/SRC/openSUSE:…
[View More]Factory/python-python-subunit/python-python-subunit.changes 2014-12-30 00:51:06.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.python-python-subunit.new/python-python-subunit.changes 2015-08-03 17:21:37.000000000 +0200
@@ -1,0 +2,5 @@
+Mon Jul 27 08:59:17 UTC 2015 - seife+obs(a)b1-systems.com
+
+- fix RHEL7 build by disabling %py_compile (done by rpmbuild anyway)
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-python-subunit.spec ++++++
--- /var/tmp/diff_new_pack.dndCuV/_old 2015-08-03 17:21:37.000000000 +0200
+++ /var/tmp/diff_new_pack.dndCuV/_new 2015-08-03 17:21:37.000000000 +0200
@@ -1,7 +1,7 @@
#
# spec file for package python-python-subunit
#
-# Copyright (c) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -78,7 +78,9 @@
PYTHONPATH=%{buildroot}%{python_sitelib} python -m testtools.run subunit.test_suite
sed -i "s|'%{buildroot}',|'/',|" %{buildroot}%{python_sitelib}/subunit/tests/test_subunit_filter.py
# Fixup compiled python module afterwards:
+%if 0%{?suse_version}
%py_compile %{buildroot}%{python_sitelib}/subunit/tests
+%endif
%post
update-alternatives \
[View Less]
1
0

03 Aug '15
Hello community,
here is the log from the commit of package obs-service-download_files for openSUSE:Factory checked in at 2015-08-03 17:21:10
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/obs-service-download_files (Old)
and /work/SRC/openSUSE:Factory/.obs-service-download_files.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "obs-service-download_files"
Changes:
--------
--- /…
[View More]work/SRC/openSUSE:Factory/obs-service-download_files/obs-service-download_files.changes 2015-03-25 21:33:18.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.obs-service-download_files.new/obs-service-download_files.changes 2015-08-03 17:21:34.000000000 +0200
@@ -1,0 +2,15 @@
+Fri Jul 24 09:05:03 UTC 2015 - hib(a)hiberis.nl
+
+- Add debian.dsc
+
+-------------------------------------------------------------------
+Fri Jul 24 05:34:02 UTC 2015 - adrian(a)suse.de
+
+- Update to version 0.5.1.git.1437716073.690c01e:
+ + Fix grammar
+ + Add GPL2+ license
+ + Add Makefile with install target
+ + Debianization
+ + Stricter change filename check
+
+-------------------------------------------------------------------
Old:
----
obs-service-download_files-0.5.1.git.1426665567.a5a06e5.tar.gz
New:
----
debian.dsc
obs-service-download_files-0.5.1.git.1437716073.690c01e.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ obs-service-download_files.spec ++++++
--- /var/tmp/diff_new_pack.gLSqlV/_old 2015-08-03 17:21:35.000000000 +0200
+++ /var/tmp/diff_new_pack.gLSqlV/_new 2015-08-03 17:21:35.000000000 +0200
@@ -18,7 +18,7 @@
%define service download_files
Name: obs-service-%{service}
-Version: 0.5.1.git.1426665567.a5a06e5
+Version: 0.5.1.git.1437716073.690c01e
Release: 0
Summary: An OBS source service: download files
License: GPL-2.0+
@@ -42,12 +42,7 @@
%build
%install
-mkdir -p %{buildroot}%{_prefix}/lib/obs/service
-install -m 0755 download_files %{buildroot}%{_prefix}/lib/obs/service
-install -m 0644 download_files.service %{buildroot}%{_prefix}/lib/obs/service
-mkdir -p %{buildroot}%{_sysconfdir}/obs/services
-install -m 0644 download_files.rc %{buildroot}%{_sysconfdir}/obs/services/download_files
-mkdir -p %{buildroot}%{_localstatedir}/cache/obs/download_files/file{,name}
+%makeinstall
%pre
%{_sbindir}/groupadd -r obsrun 2> /dev/null || :
++++++ PKGBUILD ++++++
--- /var/tmp/diff_new_pack.gLSqlV/_old 2015-08-03 17:21:35.000000000 +0200
+++ /var/tmp/diff_new_pack.gLSqlV/_new 2015-08-03 17:21:35.000000000 +0200
@@ -1,5 +1,5 @@
pkgname=obs-service-download_files
-pkgver=0.5.1.git.1426665567.a5a06e5
+pkgver=0.5.1.git.1437716073.690c01e
pkgrel=0
pkgdesc="An OBS source service: download files"
arch=(any)
++++++ _servicedata ++++++
--- /var/tmp/diff_new_pack.gLSqlV/_old 2015-08-03 17:21:35.000000000 +0200
+++ /var/tmp/diff_new_pack.gLSqlV/_new 2015-08-03 17:21:35.000000000 +0200
@@ -1,6 +1,6 @@
<servicedata>
<service name="tar_scm">
<param name="url">git@github.com:openSUSE/obs-service-download_files.git</param>
- <param name="changesrevision">a5a06e5be20f93e34b562024325e46585864653b</param>
+ <param name="changesrevision">690c01ed7eb7913c3e16eccd16203cba3691648a</param>
</service>
</servicedata>
\ No newline at end of file
++++++ debian.dsc ++++++
Format: 1.0
Source: obs-service-download-files
Version: 0.5.1.git.1437716073.690c01e
Binary: obs-service-download-files
Maintainer: Hib Eris <hib(a)hiberis.nl>
Architecture: all
Standards-Version: 3.9.6
Build-Depends: debhelper (>= 7)
++++++ obs-service-download_files-0.5.1.git.1426665567.a5a06e5.tar.gz -> obs-service-download_files-0.5.1.git.1437716073.690c01e.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/obs-service-download_files-0.5.1.git.1426665567.a5a06e5/COPYING new/obs-service-download_files-0.5.1.git.1437716073.690c01e/COPYING
--- old/obs-service-download_files-0.5.1.git.1426665567.a5a06e5/COPYING 1970-01-01 01:00:00.000000000 +0100
+++ new/obs-service-download_files-0.5.1.git.1437716073.690c01e/COPYING 2015-07-24 07:34:02.000000000 +0200
@@ -0,0 +1,340 @@
+ GNU GENERAL PUBLIC LICENSE
+ Version 2, June 1991
+
+ Copyright (C) 1989, 1991 Free Software Foundation, Inc.,
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+ Preamble
+
+ The licenses for most software are designed to take away your
+freedom to share and change it. By contrast, the GNU General Public
+License is intended to guarantee your freedom to share and change free
+software--to make sure the software is free for all its users. This
+General Public License applies to most of the Free Software
+Foundation's software and to any other program whose authors commit to
+using it. (Some other Free Software Foundation software is covered by
+the GNU Lesser General Public License instead.) You can apply it to
+your programs, too.
+
+ When we speak of free software, we are referring to freedom, not
+price. Our General Public Licenses are designed to make sure that you
+have the freedom to distribute copies of free software (and charge for
+this service if you wish), that you receive source code or can get it
+if you want it, that you can change the software or use pieces of it
+in new free programs; and that you know you can do these things.
+
+ To protect your rights, we need to make restrictions that forbid
+anyone to deny you these rights or to ask you to surrender the rights.
+These restrictions translate to certain responsibilities for you if you
+distribute copies of the software, or if you modify it.
+
+ For example, if you distribute copies of such a program, whether
+gratis or for a fee, you must give the recipients all the rights that
+you have. You must make sure that they, too, receive or can get the
+source code. And you must show them these terms so they know their
+rights.
+
+ We protect your rights with two steps: (1) copyright the software, and
+(2) offer you this license which gives you legal permission to copy,
+distribute and/or modify the software.
+
+ Also, for each author's protection and ours, we want to make certain
+that everyone understands that there is no warranty for this free
+software. If the software is modified by someone else and passed on, we
+want its recipients to know that what they have is not the original, so
+that any problems introduced by others will not reflect on the original
+authors' reputations.
+
+ Finally, any free program is threatened constantly by software
+patents. We wish to avoid the danger that redistributors of a free
+program will individually obtain patent licenses, in effect making the
+program proprietary. To prevent this, we have made it clear that any
+patent must be licensed for everyone's free use or not licensed at all.
+
+ The precise terms and conditions for copying, distribution and
+modification follow.
+
+ GNU GENERAL PUBLIC LICENSE
+ TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+ 0. This License applies to any program or other work which contains
+a notice placed by the copyright holder saying it may be distributed
+under the terms of this General Public License. The "Program", below,
+refers to any such program or work, and a "work based on the Program"
+means either the Program or any derivative work under copyright law:
+that is to say, a work containing the Program or a portion of it,
+either verbatim or with modifications and/or translated into another
+language. (Hereinafter, translation is included without limitation in
+the term "modification".) Each licensee is addressed as "you".
+
+Activities other than copying, distribution and modification are not
+covered by this License; they are outside its scope. The act of
+running the Program is not restricted, and the output from the Program
+is covered only if its contents constitute a work based on the
+Program (independent of having been made by running the Program).
+Whether that is true depends on what the Program does.
+
+ 1. You may copy and distribute verbatim copies of the Program's
+source code as you receive it, in any medium, provided that you
+conspicuously and appropriately publish on each copy an appropriate
+copyright notice and disclaimer of warranty; keep intact all the
+notices that refer to this License and to the absence of any warranty;
+and give any other recipients of the Program a copy of this License
+along with the Program.
+
+You may charge a fee for the physical act of transferring a copy, and
+you may at your option offer warranty protection in exchange for a fee.
+
+ 2. You may modify your copy or copies of the Program or any portion
+of it, thus forming a work based on the Program, and copy and
+distribute such modifications or work under the terms of Section 1
+above, provided that you also meet all of these conditions:
+
+ a) You must cause the modified files to carry prominent notices
+ stating that you changed the files and the date of any change.
+
+ b) You must cause any work that you distribute or publish, that in
+ whole or in part contains or is derived from the Program or any
+ part thereof, to be licensed as a whole at no charge to all third
+ parties under the terms of this License.
+
+ c) If the modified program normally reads commands interactively
+ when run, you must cause it, when started running for such
+ interactive use in the most ordinary way, to print or display an
+ announcement including an appropriate copyright notice and a
+ notice that there is no warranty (or else, saying that you provide
+ a warranty) and that users may redistribute the program under
+ these conditions, and telling the user how to view a copy of this
+ License. (Exception: if the Program itself is interactive but
+ does not normally print such an announcement, your work based on
+ the Program is not required to print an announcement.)
+
+These requirements apply to the modified work as a whole. If
+identifiable sections of that work are not derived from the Program,
+and can be reasonably considered independent and separate works in
+themselves, then this License, and its terms, do not apply to those
+sections when you distribute them as separate works. But when you
+distribute the same sections as part of a whole which is a work based
+on the Program, the distribution of the whole must be on the terms of
+this License, whose permissions for other licensees extend to the
+entire whole, and thus to each and every part regardless of who wrote it.
+
+Thus, it is not the intent of this section to claim rights or contest
+your rights to work written entirely by you; rather, the intent is to
+exercise the right to control the distribution of derivative or
+collective works based on the Program.
+
+In addition, mere aggregation of another work not based on the Program
+with the Program (or with a work based on the Program) on a volume of
+a storage or distribution medium does not bring the other work under
+the scope of this License.
+
+ 3. You may copy and distribute the Program (or a work based on it,
+under Section 2) in object code or executable form under the terms of
+Sections 1 and 2 above provided that you also do one of the following:
+
+ a) Accompany it with the complete corresponding machine-readable
+ source code, which must be distributed under the terms of Sections
+ 1 and 2 above on a medium customarily used for software interchange; or,
+
+ b) Accompany it with a written offer, valid for at least three
+ years, to give any third party, for a charge no more than your
+ cost of physically performing source distribution, a complete
+ machine-readable copy of the corresponding source code, to be
+ distributed under the terms of Sections 1 and 2 above on a medium
+ customarily used for software interchange; or,
+
+ c) Accompany it with the information you received as to the offer
+ to distribute corresponding source code. (This alternative is
+ allowed only for noncommercial distribution and only if you
+ received the program in object code or executable form with such
+ an offer, in accord with Subsection b above.)
+
+The source code for a work means the preferred form of the work for
+making modifications to it. For an executable work, complete source
+code means all the source code for all modules it contains, plus any
+associated interface definition files, plus the scripts used to
+control compilation and installation of the executable. However, as a
+special exception, the source code distributed need not include
+anything that is normally distributed (in either source or binary
+form) with the major components (compiler, kernel, and so on) of the
+operating system on which the executable runs, unless that component
+itself accompanies the executable.
+
+If distribution of executable or object code is made by offering
+access to copy from a designated place, then offering equivalent
+access to copy the source code from the same place counts as
+distribution of the source code, even though third parties are not
+compelled to copy the source along with the object code.
+
+ 4. You may not copy, modify, sublicense, or distribute the Program
+except as expressly provided under this License. Any attempt
+otherwise to copy, modify, sublicense or distribute the Program is
+void, and will automatically terminate your rights under this License.
+However, parties who have received copies, or rights, from you under
+this License will not have their licenses terminated so long as such
+parties remain in full compliance.
+
+ 5. You are not required to accept this License, since you have not
+signed it. However, nothing else grants you permission to modify or
+distribute the Program or its derivative works. These actions are
+prohibited by law if you do not accept this License. Therefore, by
+modifying or distributing the Program (or any work based on the
+Program), you indicate your acceptance of this License to do so, and
+all its terms and conditions for copying, distributing or modifying
+the Program or works based on it.
+
+ 6. Each time you redistribute the Program (or any work based on the
+Program), the recipient automatically receives a license from the
+original licensor to copy, distribute or modify the Program subject to
+these terms and conditions. You may not impose any further
+restrictions on the recipients' exercise of the rights granted herein.
+You are not responsible for enforcing compliance by third parties to
+this License.
+
+ 7. If, as a consequence of a court judgment or allegation of patent
+infringement or for any other reason (not limited to patent issues),
+conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License. If you cannot
+distribute so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you
+may not distribute the Program at all. For example, if a patent
+license would not permit royalty-free redistribution of the Program by
+all those who receive copies directly or indirectly through you, then
+the only way you could satisfy both it and this License would be to
+refrain entirely from distribution of the Program.
+
+If any portion of this section is held invalid or unenforceable under
+any particular circumstance, the balance of the section is intended to
+apply and the section as a whole is intended to apply in other
+circumstances.
+
+It is not the purpose of this section to induce you to infringe any
+patents or other property right claims or to contest validity of any
+such claims; this section has the sole purpose of protecting the
+integrity of the free software distribution system, which is
+implemented by public license practices. Many people have made
+generous contributions to the wide range of software distributed
+through that system in reliance on consistent application of that
+system; it is up to the author/donor to decide if he or she is willing
+to distribute software through any other system and a licensee cannot
+impose that choice.
+
+This section is intended to make thoroughly clear what is believed to
+be a consequence of the rest of this License.
+
+ 8. If the distribution and/or use of the Program is restricted in
+certain countries either by patents or by copyrighted interfaces, the
+original copyright holder who places the Program under this License
+may add an explicit geographical distribution limitation excluding
+those countries, so that distribution is permitted only in or among
+countries not thus excluded. In such case, this License incorporates
+the limitation as if written in the body of this License.
+
+ 9. The Free Software Foundation may publish revised and/or new versions
+of the General Public License from time to time. Such new versions will
+be similar in spirit to the present version, but may differ in detail to
+address new problems or concerns.
+
+Each version is given a distinguishing version number. If the Program
+specifies a version number of this License which applies to it and "any
+later version", you have the option of following the terms and conditions
+either of that version or of any later version published by the Free
+Software Foundation. If the Program does not specify a version number of
+this License, you may choose any version ever published by the Free Software
+Foundation.
+
+ 10. If you wish to incorporate parts of the Program into other free
+programs whose distribution conditions are different, write to the author
+to ask for permission. For software which is copyrighted by the Free
+Software Foundation, write to the Free Software Foundation; we sometimes
+make exceptions for this. Our decision will be guided by the two goals
+of preserving the free status of all derivatives of our free software and
+of promoting the sharing and reuse of software generally.
+
+ NO WARRANTY
+
+ 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
+FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
+OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
+PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
+OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
+TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
+PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
+REPAIR OR CORRECTION.
+
+ 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
+REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
+INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
+OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
+TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
+YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
+PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGES.
+
+ END OF TERMS AND CONDITIONS
+
+ How to Apply These Terms to Your New Programs
+
+ If you develop a new program, and you want it to be of the greatest
+possible use to the public, the best way to achieve this is to make it
+free software which everyone can redistribute and change under these terms.
+
+ To do so, attach the following notices to the program. It is safest
+to attach them to the start of each source file to most effectively
+convey the exclusion of warranty; and each file should have at least
+the "copyright" line and a pointer to where the full notice is found.
+
+ <one line to give the program's name and a brief idea of what it does.>
+ Copyright (C) <year> <name of author>
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License along
+ with this program; if not, write to the Free Software Foundation, Inc.,
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+
+Also add information on how to contact you by electronic and paper mail.
+
+If the program is interactive, make it output a short notice like this
+when it starts in an interactive mode:
+
+ Gnomovision version 69, Copyright (C) year name of author
+ Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
+ This is free software, and you are welcome to redistribute it
+ under certain conditions; type `show c' for details.
+
+The hypothetical commands `show w' and `show c' should show the appropriate
+parts of the General Public License. Of course, the commands you use may
+be called something other than `show w' and `show c'; they could even be
+mouse-clicks or menu items--whatever suits your program.
+
+You should also get your employer (if you work as a programmer) or your
+school, if any, to sign a "copyright disclaimer" for the program, if
+necessary. Here is a sample; alter the names:
+
+ Yoyodyne, Inc., hereby disclaims all copyright interest in the program
+ `Gnomovision' (which makes passes at compilers) written by James Hacker.
+
+ <signature of Ty Coon>, 1 April 1989
+ Ty Coon, President of Vice
+
+This General Public License does not permit incorporating your program into
+proprietary programs. If your program is a subroutine library, you may
+consider it more useful to permit linking proprietary applications with the
+library. If this is what you want to do, use the GNU Lesser General
+Public License instead of this License.
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/obs-service-download_files-0.5.1.git.1426665567.a5a06e5/Makefile new/obs-service-download_files-0.5.1.git.1437716073.690c01e/Makefile
--- old/obs-service-download_files-0.5.1.git.1426665567.a5a06e5/Makefile 1970-01-01 01:00:00.000000000 +0100
+++ new/obs-service-download_files-0.5.1.git.1437716073.690c01e/Makefile 2015-07-24 07:34:02.000000000 +0200
@@ -0,0 +1,20 @@
+prefix = /usr
+localstatedir = /var
+sysconfdir = /etc
+
+servicedir = ${prefix}/lib/obs/service
+serviceconfdir = ${sysconfdir}/obs/services
+servicecachedir = ${localstatedir}/cache/obs
+
+all:
+
+install:
+ install -d $(DESTDIR)$(servicedir)
+ install -m 0755 download_files $(DESTDIR)$(servicedir)
+ install -m 0644 download_files.service $(DESTDIR)$(servicedir)
+ install -d $(DESTDIR)$(serviceconfdir)
+ install -m 0644 download_files.rc $(DESTDIR)$(serviceconfdir)/download_files
+ install -d $(DESTDIR)$(servicecachedir)/download_files/file
+ install -d $(DESTDIR)$(servicecachedir)/download_files/filename
+
+.PHONY: all install
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/obs-service-download_files-0.5.1.git.1426665567.a5a06e5/debian/changelog new/obs-service-download_files-0.5.1.git.1437716073.690c01e/debian/changelog
--- old/obs-service-download_files-0.5.1.git.1426665567.a5a06e5/debian/changelog 1970-01-01 01:00:00.000000000 +0100
+++ new/obs-service-download_files-0.5.1.git.1437716073.690c01e/debian/changelog 2015-07-24 07:34:02.000000000 +0200
@@ -0,0 +1,5 @@
+obs-service-download-files (0.5.1) stable; urgency=medium
+
+ * Initial release.
+
+ -- Hib Eris <hib(a)hiberis.nl> Sun, 07 Jun 2015 15:20:41 +0200
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/obs-service-download_files-0.5.1.git.1426665567.a5a06e5/debian/compat new/obs-service-download_files-0.5.1.git.1437716073.690c01e/debian/compat
--- old/obs-service-download_files-0.5.1.git.1426665567.a5a06e5/debian/compat 1970-01-01 01:00:00.000000000 +0100
+++ new/obs-service-download_files-0.5.1.git.1437716073.690c01e/debian/compat 2015-07-24 07:34:02.000000000 +0200
@@ -0,0 +1 @@
+9
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/obs-service-download_files-0.5.1.git.1426665567.a5a06e5/debian/control new/obs-service-download_files-0.5.1.git.1437716073.690c01e/debian/control
--- old/obs-service-download_files-0.5.1.git.1426665567.a5a06e5/debian/control 1970-01-01 01:00:00.000000000 +0100
+++ new/obs-service-download_files-0.5.1.git.1437716073.690c01e/debian/control 2015-07-24 07:34:02.000000000 +0200
@@ -0,0 +1,15 @@
+Source: obs-service-download-files
+Maintainer: Hib Eris <hib(a)hiberis.nl>
+Section: devel
+Priority: extra
+Build-Depends: debhelper (>= 7)
+Standards-Version: 3.9.6
+Homepage: https://github.com/openSUSE/obs-service-download_files
+
+Package: obs-service-download-files
+Architecture: all
+Description: An OBS source service: download files
+ This is a source service for openSUSE Build Service.
+ .
+ This service is parsing all spec files and downloads all Source files which
+ are specified via a http, https or ftp url.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/obs-service-download_files-0.5.1.git.1426665567.a5a06e5/debian/copyright new/obs-service-download_files-0.5.1.git.1437716073.690c01e/debian/copyright
--- old/obs-service-download_files-0.5.1.git.1426665567.a5a06e5/debian/copyright 1970-01-01 01:00:00.000000000 +0100
+++ new/obs-service-download_files-0.5.1.git.1437716073.690c01e/debian/copyright 2015-07-24 07:34:02.000000000 +0200
@@ -0,0 +1,29 @@
+Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
+Upstream-Name: obs-service-download_files
+Source: https://github.com/openSUSE/obs-service-download_files
+License: GPL-2.0+
+
+Files: *
+Copyright: 2015, Adrian Schröter <adrian(a)suse.de>
+ 2015, Dirk Mueller <dmueller(a)suse.com>
+ 2015, Hib Eris <hib(a)hiberis.nl>
+ 2014, Sascha Peilicke <saschpe(a)gmx.de>
+ 2015, Thomas Bechtold <tbechtold(a)suse.com>
+License: GPL-2.0+
+
+License: GPL-2.0+
+ This package is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+ .
+ This package is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+ .
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>
+ .
+ On Debian systems, the complete text of the GNU General
+ Public License version 2 can be found in "/usr/share/common-licenses/GPL-2".
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/obs-service-download_files-0.5.1.git.1426665567.a5a06e5/debian/rules new/obs-service-download_files-0.5.1.git.1437716073.690c01e/debian/rules
--- old/obs-service-download_files-0.5.1.git.1426665567.a5a06e5/debian/rules 1970-01-01 01:00:00.000000000 +0100
+++ new/obs-service-download_files-0.5.1.git.1437716073.690c01e/debian/rules 2015-07-24 07:34:02.000000000 +0200
@@ -0,0 +1,7 @@
+#!/usr/bin/make -f
+# -*- makefile -*-
+#
+export DH_VERBOSE=1
+
+%:
+ dh $@
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/obs-service-download_files-0.5.1.git.1426665567.a5a06e5/debian/source/format new/obs-service-download_files-0.5.1.git.1437716073.690c01e/debian/source/format
--- old/obs-service-download_files-0.5.1.git.1426665567.a5a06e5/debian/source/format 1970-01-01 01:00:00.000000000 +0100
+++ new/obs-service-download_files-0.5.1.git.1437716073.690c01e/debian/source/format 2015-07-24 07:34:02.000000000 +0200
@@ -0,0 +1 @@
+3.0 (native)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/obs-service-download_files-0.5.1.git.1426665567.a5a06e5/download_files new/obs-service-download_files-0.5.1.git.1437716073.690c01e/download_files
--- old/obs-service-download_files-0.5.1.git.1426665567.a5a06e5/download_files 2015-03-18 09:04:23.000000000 +0100
+++ new/obs-service-download_files-0.5.1.git.1437716073.690c01e/download_files 2015-07-24 07:34:02.000000000 +0200
@@ -88,6 +88,12 @@
echo $basename
}
+function changes_filename()
+{
+ # Check old tarball if there are any changes files present, take the first one (if any)
+ tar -tf "$@" 2>/dev/null | grep -iE "/changelog|/news|/changes" | head -n1
+}
+
function write_changes() {
spec_file_name=$1
@@ -161,9 +167,7 @@
if [ "$CHANGES_GENERATE" == "enable" ]; then
- # Check old tarball if there are any changes files present, take the first one (if any)
- #changes_filename=$(tar -tf $BN* 2>/dev/null | sed -e "s|[^/]*/||" | grep -iE 'changelog$|news$|changes$' | head -n1)
- OLD_CHANGES_FILENAME=$(tar -tf $BN* 2>/dev/null | grep -iE "/changelog|news|changes" | head -n1)
+ OLD_CHANGES_FILENAME=$(changes_filename $BN*)
if [ -n "$OLD_CHANGES_FILENAME" ] ; then
OLD_CHANGES_FILE=$(tar -xvf $BN* $OLD_CHANGES_FILENAME)
OLD_CHANGES_BASEDIR=$(echo $OLD_CHANGES_FILE | sed -e "s|/.*||")
@@ -216,7 +220,7 @@
if [ "$CHANGES_GENERATE" == "enable" -a -n "$OLD_CHANGES_FILE" ]; then
# Try to find the same changes file in the new tarball
- CHANGES_FILENAME=$(tar -tf $BN* 2>/dev/null | grep -iE "/changelog|news|changes" | head -n1)
+ CHANGES_FILENAME=$(changes_filename $BN*)
if [ -n "$CHANGES_FILENAME" ] ; then
CHANGES_FILE=$(tar -xvf $BN* $CHANGES_FILENAME)
CHANGES_BASEDIR=$(echo $CHANGES_FILE | sed -e "s|/.*||")
@@ -282,7 +286,7 @@
if cmp "$FILE" "$OLDPWD/$FILE"; then
rm "$FILE"
elif [ -n "$ENFORCEUPSTREAM" ]; then
- echo "ERROR: download_files is configured to fail when the upstream file is different then the committed file... this is the case!"
+ echo "ERROR: download_files is configured to fail when the upstream file is different than the committed file... this is the case!"
exit 1
fi
fi
[View Less]
1
0
Hello community,
here is the log from the commit of package rubygem-byebug for openSUSE:Factory checked in at 2015-08-03 17:21:04
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/rubygem-byebug (Old)
and /work/SRC/openSUSE:Factory/.rubygem-byebug.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "rubygem-byebug"
Changes:
--------
--- /work/SRC/openSUSE:Factory/rubygem-byebug/rubygem-…
[View More]byebug.changes 2015-07-02 22:47:12.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.rubygem-byebug.new/rubygem-byebug.changes 2015-08-03 17:21:32.000000000 +0200
@@ -1,0 +2,5 @@
+Thu Jul 23 09:16:04 UTC 2015 - mmeister(a)suse.com
+
+- make it possible to use this gem on SLE 11 too.
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ gem2rpm.yml ++++++
--- /var/tmp/diff_new_pack.wExRLh/_old 2015-08-03 17:21:32.000000000 +0200
+++ /var/tmp/diff_new_pack.wExRLh/_new 2015-08-03 17:21:32.000000000 +0200
@@ -73,3 +73,8 @@
:sources:
- rubygem-byebug-rpmlintrc
+
+:preamble: |-
+ %if 0%{?suse_version} == 1110
+ %define rb_build_versions ruby21
+ %endif
[View Less]
1
0
Hello community,
here is the log from the commit of package QMPlay2 for openSUSE:Factory checked in at 2015-08-03 17:20:58
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/QMPlay2 (Old)
and /work/SRC/openSUSE:Factory/.QMPlay2.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "QMPlay2"
Changes:
--------
--- /work/SRC/openSUSE:Factory/QMPlay2/QMPlay2.changes 2015-07-12 22:52:30.…
[View More]000000000 +0200
+++ /work/SRC/openSUSE:Factory/.QMPlay2.new/QMPlay2.changes 2015-08-03 17:21:29.000000000 +0200
@@ -1,0 +2,7 @@
+Mon Jul 13 18:06:19 UTC 2015 - dap.darkness(a)gmail.com
+
+- Update to 15.07.13 (changes since 15.06.26):
+ * fixed problem with playing video
+ (sometimes video plays at maximum speed).
+
+-------------------------------------------------------------------
Old:
----
QMPlay2-src-15.06.26.tar.bz2
New:
----
QMPlay2-src-15.07.13.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ QMPlay2.spec ++++++
--- /var/tmp/diff_new_pack.Ys3e0U/_old 2015-08-03 17:21:29.000000000 +0200
+++ /var/tmp/diff_new_pack.Ys3e0U/_new 2015-08-03 17:21:29.000000000 +0200
@@ -17,7 +17,7 @@
Name: QMPlay2
-Version: 15.06.26
+Version: 15.07.13
Release: 0
Summary: A Qt based media player, streamer and downloader
License: LGPL-3.0+
@@ -63,7 +63,6 @@
%prep
%setup -q -n %{name}-src
-
%build
export QT_SUFFIX="-qt5"
NOTERM=1 SYSTEM_BUILD=1 ./compile_unix `echo "%{?_smp_mflags}" | grep -o '[0-9]*'`
@@ -88,12 +87,10 @@
# Setting icon to 'pixmaps' instead of 'icons'.
mv %{buildroot}/%{_datadir}/{icons,pixmaps}
-
%post -p /sbin/ldconfig
%postun -p /sbin/ldconfig
-
%files
%defattr(-,root,root)
%doc COPYING TODO
++++++ QMPlay2-src-15.06.26.tar.bz2 -> QMPlay2-src-15.07.13.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/QMPlay2-src/ChangeLog new/QMPlay2-src/ChangeLog
--- old/QMPlay2-src/ChangeLog 2015-06-26 15:43:44.000000000 +0200
+++ new/QMPlay2-src/ChangeLog 2015-07-12 23:27:07.000000000 +0200
@@ -1,3 +1,14 @@
+Changes in QMPlay2 build 15.07.13:
+ - fixed problem from previous release with playing video (sometimes video plays at maximum speed),
+
+Changes in QMPlay2 build 15.07.12:
+ - keyboard shortcut (Shift+L) for locking widgets,
+ - fixed seeking by searching key frames in buffer,
+ - aspect ratio is now correctly updated,
+ - fixed playback in live streams,
+ - small fixes in video playback,
+ - VAApi bugfix,
+
Changes in QMPlay2 build 15.06.26:
- better VSync support for OpenGL video output,
- OpenSLES audio output (for Android),
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/QMPlay2-src/TODO new/QMPlay2-src/TODO
--- old/QMPlay2-src/TODO 2015-06-05 14:17:33.000000000 +0200
+++ new/QMPlay2-src/TODO 2015-07-11 13:55:16.000000000 +0200
@@ -1,3 +1,4 @@
+HEVC (H.265) on VA-API and VDPAU
Touch screen support: scrolling
Better radio stations
YouTube playlists
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/QMPlay2-src/compile_unix new/QMPlay2-src/compile_unix
--- old/QMPlay2-src/compile_unix 2015-06-04 17:36:29.000000000 +0200
+++ new/QMPlay2-src/compile_unix 2015-07-11 14:07:07.000000000 +0200
@@ -25,7 +25,7 @@
fi
fi
-# lupdate$QT_SUFFIX -locations none QMPlay2.pro
+# lupdate-qt4 -locations none QMPlay2.pro
lrelease$QT_SUFFIX QMPlay2.pro
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/QMPlay2-src/lang/de.ts new/QMPlay2-src/lang/de.ts
--- old/QMPlay2-src/lang/de.ts 2015-06-25 01:24:35.000000000 +0200
+++ new/QMPlay2-src/lang/de.ts 2015-07-11 14:07:10.000000000 +0200
@@ -2414,8 +2414,8 @@
<translation>Nicht unterstützter De-Interlacing-Algorithmus</translation>
</message>
<message>
- <source>Nie można otworzyć filtrów usuwających przeplot</source>
- <translation>Kann den Filter zum Entfernen von Zeilensprung nicht öffnen</translation>
+ <source>Nie można otworzyć filtrów obrazu</source>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/QMPlay2-src/lang/en.ts new/QMPlay2-src/lang/en.ts
--- old/QMPlay2-src/lang/en.ts 2015-06-25 01:24:42.000000000 +0200
+++ new/QMPlay2-src/lang/en.ts 2015-07-11 14:07:10.000000000 +0200
@@ -2400,8 +2400,8 @@
<translation>Not supported deinterlacing algorithm</translation>
</message>
<message>
- <source>Nie można otworzyć filtrów usuwających przeplot</source>
- <translation>Cannot open deinterlacing filters</translation>
+ <source>Nie można otworzyć filtrów obrazu</source>
+ <translation>Cannot open video filters</translation>
</message>
</context>
<context>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/QMPlay2-src/lang/fr.ts new/QMPlay2-src/lang/fr.ts
--- old/QMPlay2-src/lang/fr.ts 2015-06-25 01:24:55.000000000 +0200
+++ new/QMPlay2-src/lang/fr.ts 2015-07-11 14:07:10.000000000 +0200
@@ -2400,8 +2400,8 @@
<translation>Algorithme de désentrelacement non supporté</translation>
</message>
<message>
- <source>Nie można otworzyć filtrów usuwających przeplot</source>
- <translation>Ne peut ouvrir les filtres de désentrelacement</translation>
+ <source>Nie można otworzyć filtrów obrazu</source>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/QMPlay2-src/lang/ru.ts new/QMPlay2-src/lang/ru.ts
--- old/QMPlay2-src/lang/ru.ts 2015-06-25 01:24:50.000000000 +0200
+++ new/QMPlay2-src/lang/ru.ts 2015-07-11 14:07:10.000000000 +0200
@@ -2400,8 +2400,8 @@
<translation>Алгоритм деинтерлейсинга не поддерживается</translation>
</message>
<message>
- <source>Nie można otworzyć filtrów usuwających przeplot</source>
- <translation>Не удалось открыть фильтры деинтерлейсинга</translation>
+ <source>Nie można otworzyć filtrów obrazu</source>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/QMPlay2-src/src/gui/AVThread.cpp new/QMPlay2-src/src/gui/AVThread.cpp
--- old/QMPlay2-src/src/gui/AVThread.cpp 2015-06-04 17:36:29.000000000 +0200
+++ new/QMPlay2-src/src/gui/AVThread.cpp 2015-07-12 23:15:11.000000000 +0200
@@ -39,19 +39,28 @@
if ( !mutex.tryLock( MUTEXWAIT_TIMEOUT ) )
{
emit QMPlay2Core.waitCursor();
- bool ret = mutex.tryLock( MUTEXWAIT_TIMEOUT );
+ const bool ret = mutex.tryLock( MUTEXWAIT_TIMEOUT );
emit QMPlay2Core.restoreCursor();
- return ret;
+ if ( !ret )
+ {
+ br2 = false;
+ return false;
+ }
}
return true;
}
+void AVThread::unlock()
+{
+ br2 = false;
+ mutex.unlock();
+}
void AVThread::stop( bool _terminate )
{
if ( _terminate )
return terminate();
- br = br2 = true;
+ br = true;
mutex.unlock();
playC.emptyBufferCond.wakeAll();
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/QMPlay2-src/src/gui/AVThread.hpp new/QMPlay2-src/src/gui/AVThread.hpp
--- old/QMPlay2-src/src/gui/AVThread.hpp 2015-06-04 17:36:29.000000000 +0200
+++ new/QMPlay2-src/src/gui/AVThread.hpp 2015-07-12 19:27:28.000000000 +0200
@@ -20,10 +20,7 @@
}
bool lock();
- inline void unlock()
- {
- mutex.unlock();
- }
+ void unlock();
inline bool isWaiting() const
{
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/QMPlay2-src/src/gui/AudioThr.cpp new/QMPlay2-src/src/gui/AudioThr.cpp
--- old/QMPlay2-src/src/gui/AudioThr.cpp 2015-06-21 00:01:00.000000000 +0200
+++ new/QMPlay2-src/src/gui/AudioThr.cpp 2015-07-12 19:50:35.000000000 +0200
@@ -221,7 +221,6 @@
int decodedSize = decoded.size();
int decodedPos = 0;
- br2 = false;
while ( decodedSize > 0 && !playC.paused && !br && !br2 )
{
const double max_len = 0.02; //TODO: zrobić opcje?
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/QMPlay2-src/src/gui/DemuxerThr.cpp new/QMPlay2-src/src/gui/DemuxerThr.cpp
--- old/QMPlay2-src/src/gui/DemuxerThr.cpp 2015-06-05 01:49:53.000000000 +0200
+++ new/QMPlay2-src/src/gui/DemuxerThr.cpp 2015-07-12 23:24:59.000000000 +0200
@@ -445,7 +445,7 @@
Packet packet;
int streamIdx = -1;
- if ( demuxer->read( packet, streamIdx, packet.ts, packet.duration ) )
+ if ( demuxer->read( packet, streamIdx ) )
{
qApp->processEvents();
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/QMPlay2-src/src/gui/MainWidget.cpp new/QMPlay2-src/src/gui/MainWidget.cpp
--- old/QMPlay2-src/src/gui/MainWidget.cpp 2015-06-25 00:02:59.000000000 +0200
+++ new/QMPlay2-src/src/gui/MainWidget.cpp 2015-07-12 14:18:58.000000000 +0200
@@ -259,7 +259,16 @@
if ( QMPlay2Core.getSettings().getBool( "MainWidget/TabPositionNorth" ) )
setTabPosition( Qt::AllDockWidgetAreas, QTabWidget::North );
- lockWidgets( QMPlay2Core.getSettings().getBool( "MainWidget/WidgetsLocked", false ) );
+
+ const bool widgetsLocked = QMPlay2Core.getSettings().getBool( "MainWidget/WidgetsLocked", false ) ;
+ lockWidgets( widgetsLocked );
+ lockWidgetsAct = new QAction( tr( "&Zablokuj widgety" ), menuBar );
+ lockWidgetsAct->setCheckable( true );
+ lockWidgetsAct->setAutoRepeat( false );
+ lockWidgetsAct->setChecked( widgetsLocked );
+ lockWidgetsAct->setShortcut( QKeySequence( "Shift+L" ) );
+ connect( lockWidgetsAct, SIGNAL( triggered( bool ) ), this, SLOT( lockWidgets( bool ) ) );
+ addAction( lockWidgetsAct );
fullScreenDockWidgetState = QMPlay2Core.getSettings().getByteArray( "MainWidget/FullScreenDockWidgetState" );
#if defined Q_OS_MAC || defined Q_OS_ANDROID
@@ -1003,18 +1012,23 @@
void MainWidget::lockWidgets( bool l )
{
- foreach ( QObject *o, children() )
+ if ( fullScreen || isCompactView )
+ qobject_cast< QAction * >( sender() )->setChecked( !l );
+ else
{
- DockWidget *dW = dynamic_cast< DockWidget * >( o );
- if ( dW )
+ foreach ( QObject *o, children() )
{
- if ( dW->isFloating() )
- dW->setFloating( false );
- dW->setGlobalTitleBarVisible( !l );
+ DockWidget *dW = dynamic_cast< DockWidget * >( o );
+ if ( dW )
+ {
+ if ( dW->isFloating() )
+ dW->setFloating( false );
+ dW->setGlobalTitleBarVisible( !l );
+ }
}
+ mainTB->setMovable( !l );
+ QMPlay2Core.getSettings().set( "MainWidget/WidgetsLocked", l );
}
- mainTB->setMovable( !l );
- QMPlay2Core.getSettings().set( "MainWidget/WidgetsLocked", l );
}
void MainWidget::hideDocksSlot()
@@ -1053,12 +1067,12 @@
QMenu *MainWidget::createPopupMenu()
{
QMenu *popupMenu = QMainWindow::createPopupMenu();
- popupMenu->addSeparator();
- QAction *act = popupMenu->addAction( tr( "&Zablokuj widgety" ) );
- act->setCheckable( true );
- act->setChecked( QMPlay2Core.getSettings().getBool( "MainWidget/WidgetsLocked" ) );
- connect( act, SIGNAL( triggered( bool ) ), this, SLOT( lockWidgets( bool ) ) );
- foreach ( act, popupMenu->actions() )
+ if ( !fullScreen && !isCompactView )
+ {
+ popupMenu->addSeparator();
+ popupMenu->addAction( lockWidgetsAct );
+ }
+ foreach ( QAction *act, popupMenu->actions() )
act->setEnabled( isVisible() && !fullScreen && !isCompactView );
return popupMenu;
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/QMPlay2-src/src/gui/MainWidget.hpp new/QMPlay2-src/src/gui/MainWidget.hpp
--- old/QMPlay2-src/src/gui/MainWidget.hpp 2015-06-24 20:12:47.000000000 +0200
+++ new/QMPlay2-src/src/gui/MainWidget.hpp 2015-07-12 13:41:50.000000000 +0200
@@ -137,6 +137,8 @@
AboutWidget *aboutW;
bool isCompactView, wasShow, fullScreen;
+ QAction *lockWidgetsAct;
+
#ifdef UPDATER
Updater updater;
#endif
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/QMPlay2-src/src/gui/PacketBuffer.cpp new/QMPlay2-src/src/gui/PacketBuffer.cpp
--- old/QMPlay2-src/src/gui/PacketBuffer.cpp 2015-06-04 17:36:29.000000000 +0200
+++ new/QMPlay2-src/src/gui/PacketBuffer.cpp 2015-07-12 23:19:59.000000000 +0200
@@ -30,7 +30,7 @@
durationToChange += pkt.duration;
sizeToChange += pkt.size();
}
- else
+ else if ( pkt.hasKeyFrame )
{
remaining_duration -= durationToChange;
backward_duration += durationToChange;
@@ -46,7 +46,7 @@
const Packet &pkt = at( i );
durationToChange += pkt.duration;
sizeToChange += pkt.size();
- if ( pkt.ts <= seek_pos )
+ if ( pkt.hasKeyFrame && pkt.ts <= seek_pos )
{
remaining_duration += durationToChange;
backward_duration -= durationToChange;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/QMPlay2-src/src/gui/PlayClass.cpp new/QMPlay2-src/src/gui/PlayClass.cpp
--- old/QMPlay2-src/src/gui/PlayClass.cpp 2015-06-26 00:22:11.000000000 +0200
+++ new/QMPlay2-src/src/gui/PlayClass.cpp 2015-07-11 20:55:58.000000000 +0200
@@ -103,7 +103,7 @@
Brightness = Saturation = Contrast = Hue = 0;
connect( &timTerminate, SIGNAL( timeout() ), this, SLOT( timTerminateFinished() ) );
- connect( this, SIGNAL( aRatioUpdate() ), this, SLOT( aRatioUpdated() ) );
+ connect( this, SIGNAL( aRatioUpdate( double ) ), this, SLOT( aRatioUpdated( double ) ) );
}
void PlayClass::play( const QString &_url )
@@ -829,13 +829,15 @@
}
}
-void PlayClass::aRatioUpdated() //jeżeli współczynnik proporcji zmieni się podczas odtwarzania
+void PlayClass::aRatioUpdated( double aRatio ) //jeżeli współczynnik proporcji zmieni się podczas odtwarzania
{
if ( aRatioName == "auto" && vThr && demuxThr && demuxThr->demuxer && videoStream > -1 )
{
+ demuxThr->demuxer->streamsInfo()[ videoStream ]->aspect_ratio = aRatio;
double aspect_ratio = getARatio();
if ( ass )
ass->setARatio( aspect_ratio );
+ vThr->setDeleteOSD();
vThr->setARatio( aspect_ratio );
vThr->processParams();
demuxThr->emitInfo();
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/QMPlay2-src/src/gui/PlayClass.hpp new/QMPlay2-src/src/gui/PlayClass.hpp
--- old/QMPlay2-src/src/gui/PlayClass.hpp 2015-06-24 19:30:52.000000000 +0200
+++ new/QMPlay2-src/src/gui/PlayClass.hpp 2015-07-11 20:01:48.000000000 +0200
@@ -156,7 +156,7 @@
void screenShot();
void nextFrame();
- void aRatioUpdated();
+ void aRatioUpdated( double aRatio );
void demuxThrFinished();
@@ -164,7 +164,7 @@
void load( Demuxer * );
signals:
- void aRatioUpdate();
+ void aRatioUpdate( double aRatio );
void chText( const QString & );
void updateLength( int );
void updatePos( int );
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/QMPlay2-src/src/gui/VideoThr.cpp new/QMPlay2-src/src/gui/VideoThr.cpp
--- old/QMPlay2-src/src/gui/VideoThr.cpp 2015-06-26 12:14:20.000000000 +0200
+++ new/QMPlay2-src/src/gui/VideoThr.cpp 2015-07-12 23:18:29.000000000 +0200
@@ -15,6 +15,7 @@
using Functions::gettime;
using Functions::s_wait;
+#include <QDebug>
#include <QImage>
#include <QDir>
@@ -94,7 +95,7 @@
Settings &QMPSettings = QMPlay2Core.getSettings();
if ( processParams )
- lock();
+ filtersMutex.lock();
filters.clear();
@@ -149,7 +150,7 @@
if ( processParams )
{
- unlock();
+ filtersMutex.unlock();
if ( writer && writer->hasParam( "Deinterlace" ) )
writer->processParams();
}
@@ -157,7 +158,12 @@
bool VideoThr::processParams()
{
- return writer ? writer->processParams() : false;
+ if ( writer )
+ {
+ lastSampleAspectRatio = writer->getParam( "AspectRatio" ).toDouble() / ( double )W * ( double )H;
+ return writer->processParams();
+ }
+ return false;
}
void VideoThr::updateSubs()
@@ -174,7 +180,7 @@
void VideoThr::run()
{
bool skip = false, paused = false, oneFrame = false, useLastDelay = false, lastOSDListEmpty = true;
- double tmp_time = 0.0, sync_last_pts = 0.0, frame_timer = 0.0, sync_timer = 0.0;
+ double tmp_time = 0.0, sync_last_pts = 0.0, frame_timer = -1.0, sync_timer = 0.0;
QMutex emptyBufferMutex;
QByteArray frame;
unsigned fast = 0;
@@ -186,6 +192,7 @@
if ( deleteFrame )
{
VideoFrame::unref( frame );
+ frame_timer = -1.0;
deleteFrame = false;
}
@@ -205,6 +212,7 @@
{
emit pause();
paused = true;
+ frame_timer = -1.0;
}
playC.vPackets.unlock();
@@ -218,7 +226,10 @@
emptyBufferMutex.lock();
playC.emptyBufferCond.wait( &emptyBufferMutex, MUTEXWAIT_TIMEOUT );
emptyBufferMutex.unlock();
- frame_timer = gettime();
+
+ if ( frame_timer != -1.0 )
+ frame_timer = gettime();
+
continue;
}
paused = waiting = false;
@@ -312,8 +323,12 @@
deleteSubs = deleteOSD = false;
/**/
+ filtersMutex.lock();
if ( playC.flushVideo )
+ {
filters.clearBuffers();
+ frame_timer = -1.0;
+ }
if ( !packet.isEmpty() )
{
@@ -332,10 +347,15 @@
}
const bool ptsIsValid = filters.getFrame( frame, packet.ts );
+ filtersMutex.unlock();
+
if ( packet.ts.isValid() )
{
- if ( dec->aspectRatioChanged() )
- emit playC.aRatioUpdate();
+ if ( packet.sampleAspectRatio && lastSampleAspectRatio != -1.0 && fabs( lastSampleAspectRatio - packet.sampleAspectRatio ) >= 0.000001 ) //zmiana współczynnika proporcji
+ {
+ lastSampleAspectRatio = -1.0; //Needs to be updated later
+ emit playC.aRatioUpdate( packet.sampleAspectRatio * ( double )W / ( double )H ); //Sets lastSampleAspectRatio because it calls processParams()
+ }
if ( ptsIsValid || packet.ts > playC.pos )
playC.chPos( packet.ts );
@@ -422,36 +442,34 @@
fast = 0;
}
- mutex.unlock();
-
if ( !frame.isEmpty() )
{
+ if ( frame_timer != -1.0 )
+ {
+ const double delay_diff = gettime() - frame_timer;
+ if ( syncVtoA && true_delay > 0.0 && delay_diff > true_delay )
+ ++fast;
+ delay -= delay_diff;
+ while ( delay > 0.0 && !playC.paused && !br && !br2 )
+ {
+ const double sleepTime = qMin( delay, 0.1 );
+ s_wait( sleepTime );
+ delay -= sleepTime;
+ }
+ }
if ( !skip && canWrite )
{
oneFrame = canWrite = false;
VideoFrame::ref( frame );
emit write( frame );
}
-
- const double delay_diff = gettime() - frame_timer;
- if ( syncVtoA && true_delay > 0.0 && delay_diff > true_delay )
- ++fast;
-
- delay -= delay_diff;
- while ( delay > 0.25 )
- {
- s_wait( 0.25 );
- if ( br || playC.flushVideo || br2 )
- delay = 0.0;
- else
- delay -= 0.25;
- }
- s_wait( delay );
+ frame_timer = gettime();
}
- frame_timer = gettime();
+ else if ( frame_timer != -1.0 )
+ frame_timer = gettime();
}
- else
- mutex.unlock();
+
+ mutex.unlock();
}
VideoFrame::unref( frame );
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/QMPlay2-src/src/gui/VideoThr.hpp new/QMPlay2-src/src/gui/VideoThr.hpp
--- old/QMPlay2-src/src/gui/VideoThr.hpp 2015-06-26 12:14:20.000000000 +0200
+++ new/QMPlay2-src/src/gui/VideoThr.hpp 2015-07-12 19:37:51.000000000 +0200
@@ -25,6 +25,10 @@
{
syncVtoA = b;
}
+ inline void setDeleteOSD()
+ {
+ deleteOSD = true;
+ }
void destroySubtitlesDecoder();
inline void setSubtitlesDecoder( Decoder *dec )
@@ -50,11 +54,13 @@
void run();
bool deleteSubs, syncVtoA, doScreenshot, canWrite, HWAccel, deleteOSD, deleteFrame;
+ double lastSampleAspectRatio;
int W, H;
Decoder *sDec;
QMPlay2_OSD *subtitles;
VideoFilters filters;
+ QMutex filtersMutex;
private slots:
void write_slot( const QByteArray & );
void screenshot_slot( const QByteArray & );
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/QMPlay2-src/src/modules/AudioCD/AudioCD.cpp new/QMPlay2-src/src/modules/AudioCD/AudioCD.cpp
--- old/QMPlay2-src/src/modules/AudioCD/AudioCD.cpp 2015-06-05 12:35:39.000000000 +0200
+++ new/QMPlay2-src/src/modules/AudioCD/AudioCD.cpp 2015-07-11 11:49:51.000000000 +0200
@@ -17,7 +17,7 @@
AudioCD::AudioCD() :
Module( "AudioCD" ),
cdioDestroyTimer( new CDIODestroyTimer ),
- AudioCDPlaylist( QDir::tempPath() + "/"AudioCDName".pls" )
+ AudioCDPlaylist( QDir::tempPath() + "/" AudioCDName".pls" )
{
moduleImg = QImage( ":/AudioCD" );
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/QMPlay2-src/src/modules/AudioCD/AudioCD.pro new/QMPlay2-src/src/modules/AudioCD/AudioCD.pro
--- old/QMPlay2-src/src/modules/AudioCD/AudioCD.pro 2015-06-22 22:52:24.000000000 +0200
+++ new/QMPlay2-src/src/modules/AudioCD/AudioCD.pro 2015-07-12 21:32:25.000000000 +0200
@@ -12,7 +12,7 @@
QMAKE_LIBDIR += ../../../app/lib
}
-win32: LIBS += -Wl,-Bstatic -lcdio -lcddb -lregex -Wl,-Bdynamic -lwinmm -lws2_32
+win32: LIBS += -Wl,-Bstatic -lcdio -liconv -lcddb -lregex -Wl,-Bdynamic -lwinmm -lws2_32
else {
macx: QT_CONFIG -= no-pkg-config
CONFIG += link_pkgconfig
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/QMPlay2-src/src/modules/AudioCD/AudioCDDemux.cpp new/QMPlay2-src/src/modules/AudioCD/AudioCDDemux.cpp
--- old/QMPlay2-src/src/modules/AudioCD/AudioCDDemux.cpp 2015-06-05 13:58:58.000000000 +0200
+++ new/QMPlay2-src/src/modules/AudioCD/AudioCDDemux.cpp 2015-07-12 23:33:16.000000000 +0200
@@ -1,5 +1,7 @@
#include <AudioCDDemux.hpp>
+#include <Packet.hpp>
+
#ifdef Q_OS_WIN
#include <QDir>
#else
@@ -155,7 +157,7 @@
{
return ( sector = s / duration ) < numSectors;
}
-bool AudioCDDemux::read( QByteArray &decoded, int &idx, TimeStamp &ts, double &duration )
+bool AudioCDDemux::read( Packet &decoded, int &idx )
{
if ( aborted || numSectors <= sector || isData )
return false;
@@ -169,8 +171,8 @@
decoded_data[ i ] = cd_samples[ i ] / 32768.0f;
idx = 0;
- duration = this->duration;
- ts = sector * duration;
+ decoded.ts = sector * duration;
+ decoded.duration = duration;
++sector;
return true;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/QMPlay2-src/src/modules/AudioCD/AudioCDDemux.hpp new/QMPlay2-src/src/modules/AudioCD/AudioCDDemux.hpp
--- old/QMPlay2-src/src/modules/AudioCD/AudioCDDemux.hpp 2015-06-05 02:49:46.000000000 +0200
+++ new/QMPlay2-src/src/modules/AudioCD/AudioCDDemux.hpp 2015-07-11 00:49:02.000000000 +0200
@@ -51,7 +51,7 @@
int bitrate() const;
bool seek( int, bool );
- bool read( QByteArray &, int &, TimeStamp &, double & );
+ bool read( Packet &, int & );
void abort();
bool open( const QString & );
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/QMPlay2-src/src/modules/FFMpeg/FFCommon.cpp new/QMPlay2-src/src/modules/FFMpeg/FFCommon.cpp
--- old/QMPlay2-src/src/modules/FFMpeg/FFCommon.cpp 2015-06-04 17:36:29.000000000 +0200
+++ new/QMPlay2-src/src/modules/FFMpeg/FFCommon.cpp 2015-07-11 11:49:47.000000000 +0200
@@ -25,7 +25,7 @@
if ( url.left( 4 ) == "http" )
av_dict_set( &options, "icy", "1", 0 );
#endif
- av_dict_set( &options, "user-agent", "QMPlay2/"QMPlay2Version, 0 );
+ av_dict_set( &options, "user-agent", "QMPlay2/" QMPlay2Version, 0 );
if ( isLocal )
*isLocal = false;
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/QMPlay2-src/src/modules/FFMpeg/FFDec.cpp new/QMPlay2-src/src/modules/FFMpeg/FFDec.cpp
--- old/QMPlay2-src/src/modules/FFMpeg/FFDec.cpp 2015-06-04 17:36:29.000000000 +0200
+++ new/QMPlay2-src/src/modules/FFMpeg/FFDec.cpp 2015-07-12 01:12:21.000000000 +0200
@@ -1,4 +1,6 @@
#include <FFDec.hpp>
+#include <FFCommon.hpp>
+
#include <StreamInfo.hpp>
extern "C"
@@ -24,18 +26,6 @@
av_free( codec_ctx );
}
-bool FFDec::aspectRatioChanged() const
-{
- if ( codec_ctx->codec_type == AVMEDIA_TYPE_VIDEO )
- {
- const int aspect_ratio = av_q2d( codec_ctx->sample_aspect_ratio ) * 1000;
- const bool b = last_aspect_ratio != aspect_ratio;
- last_aspect_ratio = aspect_ratio;
- return b;
- }
- return false;
-}
-
AVCodec *FFDec::init( StreamInfo *_streamInfo )
{
@@ -53,7 +43,7 @@
codec_ctx->pix_fmt = ( AVPixelFormat )streamInfo->img_fmt;
codec_ctx->coded_width = codec_ctx->width = streamInfo->W;
codec_ctx->coded_height = codec_ctx->height = streamInfo->H;
- // codec_ctx->debug_mv = FF_DEBUG_VIS_MV_P_FOR | FF_DEBUG_VIS_MV_B_FOR || FF_DEBUG_VIS_MV_B_BACK;
+// codec_ctx->debug_mv = FF_DEBUG_VIS_MV_P_FOR | FF_DEBUG_VIS_MV_B_FOR || FF_DEBUG_VIS_MV_B_BACK;
if ( codec->type != AVMEDIA_TYPE_SUBTITLE && !streamInfo->data.isEmpty() )
{
codec_ctx->extradata = ( uint8_t * )streamInfo->data.data();
@@ -75,7 +65,6 @@
switch ( codec_ctx->codec_type )
{
case AVMEDIA_TYPE_VIDEO:
- last_aspect_ratio = av_q2d( codec_ctx->sample_aspect_ratio ) * 1000.0;
case AVMEDIA_TYPE_AUDIO:
frame = av_frame_alloc();
break;
@@ -94,4 +83,17 @@
packet.pts = round( encodedPacket.ts.pts() / time_base );
if ( flush )
avcodec_flush_buffers( codec_ctx );
+ codec_ctx->reordered_opaque = ( int64_t & )encodedPacket.sampleAspectRatio;
+}
+void FFDec::decodeLastStep( Packet &encodedPacket, AVFrame *frame )
+{
+ const int64_t ts = av_frame_get_best_effort_timestamp( frame );
+ if ( ts != QMPLAY2_NOPTS_VALUE )
+ encodedPacket.ts = ts * time_base;
+ if ( codec_ctx->codec_type == AVMEDIA_TYPE_VIDEO )
+ {
+ double &sampleAspectRatio = ( double & )frame->reordered_opaque;
+ if ( !sampleAspectRatio && frame->sample_aspect_ratio.num )
+ encodedPacket.sampleAspectRatio = av_q2d( frame->sample_aspect_ratio );
+ }
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/QMPlay2-src/src/modules/FFMpeg/FFDec.hpp new/QMPlay2-src/src/modules/FFMpeg/FFDec.hpp
--- old/QMPlay2-src/src/modules/FFMpeg/FFDec.hpp 2015-06-04 17:36:29.000000000 +0200
+++ new/QMPlay2-src/src/modules/FFMpeg/FFDec.hpp 2015-07-11 19:47:01.000000000 +0200
@@ -18,19 +18,17 @@
FFDec( QMutex & );
virtual ~FFDec();
- bool aspectRatioChanged() const;
-
/**/
AVCodec *init( StreamInfo *streamInfo );
bool openCodec( AVCodec *codec );
void decodeFirstStep( AVPacket &packet, const Packet &encodedPacket, bool flush );
+ void decodeLastStep( Packet &encodedPacket, AVFrame *frame );
AVCodecContext *codec_ctx;
AVFrame *frame;
double time_base;
- mutable int last_aspect_ratio;
bool codecIsOpen;
QMutex &avcodec_mutex;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/QMPlay2-src/src/modules/FFMpeg/FFDecHWAccel.cpp new/QMPlay2-src/src/modules/FFMpeg/FFDecHWAccel.cpp
--- old/QMPlay2-src/src/modules/FFMpeg/FFDecHWAccel.cpp 2015-06-10 21:02:50.000000000 +0200
+++ new/QMPlay2-src/src/modules/FFMpeg/FFDecHWAccel.cpp 2015-07-11 19:46:30.000000000 +0200
@@ -46,8 +46,7 @@
if ( frameFinished )
{
VideoFrame::create( decoded, frame->data, frame->linesize, frame->interlaced_frame, frame->top_field_first );
- if ( frame->best_effort_timestamp != QMPLAY2_NOPTS_VALUE )
- encodedPacket.ts = frame->best_effort_timestamp * time_base;
+ decodeLastStep( encodedPacket, frame );
}
else
encodedPacket.ts.setInvalid();
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/QMPlay2-src/src/modules/FFMpeg/FFDecSW.cpp new/QMPlay2-src/src/modules/FFMpeg/FFDecSW.cpp
--- old/QMPlay2-src/src/modules/FFMpeg/FFDecSW.cpp 2015-06-04 17:36:29.000000000 +0200
+++ new/QMPlay2-src/src/modules/FFMpeg/FFDecSW.cpp 2015-07-12 01:14:26.000000000 +0200
@@ -5,8 +5,6 @@
#include <VideoFrame.hpp>
#include <StreamInfo.hpp>
-#include <QThread> //to detect number of CPUs or CPU cores
-
extern "C"
{
#include <libavformat/avformat.h>
@@ -55,13 +53,9 @@
}
int _threads = sets().getInt( "Threads" );
- if ( _threads <= 0 )
- {
- _threads = QThread::idealThreadCount();
- if ( _threads < 1 )
- _threads = 1;
- }
- if ( _threads > 16 )
+ if ( _threads < 0 )
+ _threads = 0; //Autodetect by FFMpeg
+ else if ( _threads > 16 )
_threads = 16;
if ( threads != _threads )
{
@@ -204,10 +198,7 @@
}
if ( frameFinished )
- {
- if ( frame->best_effort_timestamp != QMPLAY2_NOPTS_VALUE )
- encodedPacket.ts = frame->best_effort_timestamp * time_base;
- }
+ decodeLastStep( encodedPacket, frame );
else
encodedPacket.ts.setInvalid();
@@ -289,8 +280,8 @@
if ( codec_ctx->pix_fmt == AV_PIX_FMT_NONE || streamInfo->W <= 0 || streamInfo->H <= 0 )
return false;
if ( codec->capabilities & CODEC_CAP_DR1 )
- codec_ctx->flags |= CODEC_FLAG_EMU_EDGE;
- if ( ( codec_ctx->thread_count = threads ) > 1 )
+ codec_ctx->flags |= CODEC_FLAG_EMU_EDGE; //Does nothing since FFMpeg 2.2
+ if ( ( codec_ctx->thread_count = threads ) != 1 )
{
if ( !thread_type_slice )
codec_ctx->thread_type = FF_THREAD_FRAME;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/QMPlay2-src/src/modules/FFMpeg/FFDemux.cpp new/QMPlay2-src/src/modules/FFMpeg/FFDemux.cpp
--- old/QMPlay2-src/src/modules/FFMpeg/FFDemux.cpp 2015-06-22 18:12:41.000000000 +0200
+++ new/QMPlay2-src/src/modules/FFMpeg/FFDemux.cpp 2015-07-11 21:07:10.000000000 +0200
@@ -1,6 +1,8 @@
#include <FFDemux.hpp>
#include <FFCommon.hpp>
+#include <Packet.hpp>
+
#include <QDebug>
extern "C"
@@ -292,7 +294,7 @@
}
return false;
}
-bool FFDemux::read( QByteArray &encoded, int &idx, TimeStamp &ts, double &duration )
+bool FFDemux::read( Packet &encoded, int &idx )
{
if ( aborted )
return false;
@@ -303,14 +305,14 @@
av_read_play( formatCtx );
}
- class Packet : public AVPacket
+ class AvQMPlay2Packet : public AVPacket
{
public:
- inline Packet()
+ inline AvQMPlay2Packet()
{
data = NULL;
}
- inline ~Packet()
+ inline ~AvQMPlay2Packet()
{
if ( data )
av_free_packet( this );
@@ -387,24 +389,28 @@
const double time_base = av_q2d( streams[ ff_idx ]->time_base );
if ( seekByByteOffset < 0 )
- ts.set( packet.dts * time_base, packet.pts * time_base, start_time );
+ encoded.ts.set( packet.dts * time_base, packet.pts * time_base, start_time );
else if ( packet.pos > -1 && length() > 0.0 )
- lastTime = ts = ( ( packet.pos - seekByByteOffset ) * length() ) / ( avio_size( formatCtx->pb ) - seekByByteOffset );
+ lastTime = encoded.ts = ( ( packet.pos - seekByByteOffset ) * length() ) / ( avio_size( formatCtx->pb ) - seekByByteOffset );
else
- ts = lastTime;
+ encoded.ts = lastTime;
if ( packet.duration > 0 )
- duration = packet.duration * time_base;
- else if ( !ts || ( duration = ts - lastTS ) < 0.0 /* Calculate packet duration if doesn't exists */ )
- duration = 0.0;
- lastTS = ts;
+ encoded.duration = packet.duration * time_base;
+ else if ( !encoded.ts || ( encoded.duration = encoded.ts - lastTS ) < 0.0 /* Calculate packet duration if doesn't exists */ )
+ encoded.duration = 0.0;
+ lastTS = encoded.ts;
- if ( isStreamed )
+ if ( isStreamed && isOneStreamOgg )
{
- ts = lastTime;
- lastTime += duration;
+ encoded.ts = lastTime;
+ lastTime += encoded.duration;
}
+ encoded.hasKeyFrame = packet.flags & AV_PKT_FLAG_KEY;
+ if ( streams[ ff_idx ]->sample_aspect_ratio.num )
+ encoded.sampleAspectRatio = av_q2d( streams[ ff_idx ]->sample_aspect_ratio );
+
idx = index_map.at( ff_idx );
return true;
@@ -463,6 +469,8 @@
if ( seekByByteOffset > -1 && ( isStreamed || name() != "mp3" ) )
seekByByteOffset = -1;
+ isOneStreamOgg = name() == "ogg" && formatCtx->nb_streams == 1;
+
if ( ( start_time = formatCtx->start_time / ( double )AV_TIME_BASE ) < 0.0 )
start_time = 0.0;
@@ -523,7 +531,6 @@
const AVCodecID codecID = stream->codec->codec_id;
if
(
- !stream ||
( stream->disposition & AV_DISPOSITION_ATTACHED_PIC ) ||
( stream->codec->codec_type == AVMEDIA_TYPE_DATA ) ||
( stream->codec->codec_type == AVMEDIA_TYPE_ATTACHMENT && codecID != AV_CODEC_ID_TTF && codecID != AV_CODEC_ID_OTF )
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/QMPlay2-src/src/modules/FFMpeg/FFDemux.hpp new/QMPlay2-src/src/modules/FFMpeg/FFDemux.hpp
--- old/QMPlay2-src/src/modules/FFMpeg/FFDemux.hpp 2015-06-22 18:10:39.000000000 +0200
+++ new/QMPlay2-src/src/modules/FFMpeg/FFDemux.hpp 2015-07-11 21:07:10.000000000 +0200
@@ -1,5 +1,7 @@
#include <Demuxer.hpp>
+#include <TimeStamp.hpp>
+
extern "C"
{
#include <libavformat/version.h>
@@ -34,7 +36,7 @@
bool localStream() const;
bool seek( int, bool );
- bool read( QByteArray &, int &, TimeStamp &, double & );
+ bool read( Packet &, int & );
void pause();
void abort();
@@ -44,7 +46,7 @@
StreamInfo *getStreamInfo( AVStream *stream ) const;
AVDictionary *getMetadata() const;
-private:
+
QVector< int > index_map;
QList< AVStream * > streams;
AVFormatContext *formatCtx;
@@ -54,6 +56,7 @@
mutable bool isMetadataChanged;
double lastTime, start_time;
qint64 seekByByteOffset;
+ bool isOneStreamOgg;
int lastErr;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/QMPlay2-src/src/modules/FFMpeg/FFMpeg.cpp new/QMPlay2-src/src/modules/FFMpeg/FFMpeg.cpp
--- old/QMPlay2-src/src/modules/FFMpeg/FFMpeg.cpp 2015-06-04 17:36:29.000000000 +0200
+++ new/QMPlay2-src/src/modules/FFMpeg/FFMpeg.cpp 2015-07-11 16:54:27.000000000 +0200
@@ -57,7 +57,9 @@
static bool firstTime = true;
if ( firstTime )
{
+#ifndef QT_DEBUG
av_log_set_level( AV_LOG_FATAL );
+#endif
av_register_all();
firstTime = false;
}
@@ -98,7 +100,7 @@
void *FFMpeg::createInstance( const QString &name )
{
if ( name == DemuxerName && getBool( "DemuxerEnabled" ) )
- return static_cast< Demuxer * >( new FFDemux( mutex, *this ) );
+ return new FFDemux( mutex, *this );
else if ( name == DecoderName && getBool( "DecoderEnabled" ) )
return new FFDecSW( mutex, *this );
#ifdef QMPlay2_VDPAU
@@ -114,7 +116,7 @@
return new FFDecVAAPI( mutex, *this );
#endif
else if ( name == FFReaderName )
- return new FFReader( *this );
+ return new FFReader;
return NULL;
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/QMPlay2-src/src/modules/FFMpeg/FFReader.cpp new/QMPlay2-src/src/modules/FFMpeg/FFReader.cpp
--- old/QMPlay2-src/src/modules/FFMpeg/FFReader.cpp 2015-06-04 17:36:29.000000000 +0200
+++ new/QMPlay2-src/src/modules/FFMpeg/FFReader.cpp 2015-07-11 16:54:22.000000000 +0200
@@ -13,12 +13,10 @@
/**/
-FFReader::FFReader( Module &module ) :
+FFReader::FFReader() :
avioCtx( NULL ),
aborted( false ), paused( false ), canRead( false )
-{
- SetModule( module );
-}
+{}
bool FFReader::readyRead() const
{
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/QMPlay2-src/src/modules/FFMpeg/FFReader.hpp new/QMPlay2-src/src/modules/FFMpeg/FFReader.hpp
--- old/QMPlay2-src/src/modules/FFMpeg/FFReader.hpp 2015-06-04 17:36:29.000000000 +0200
+++ new/QMPlay2-src/src/modules/FFMpeg/FFReader.hpp 2015-07-11 16:54:15.000000000 +0200
@@ -8,7 +8,7 @@
class FFReader : public Reader
{
public:
- FFReader( Module &module );
+ FFReader();
private:
bool readyRead() const;
bool canSeek() const;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/QMPlay2-src/src/modules/FFMpeg/VAApiWriter.cpp new/QMPlay2-src/src/modules/FFMpeg/VAApiWriter.cpp
--- old/QMPlay2-src/src/modules/FFMpeg/VAApiWriter.cpp 2015-06-26 11:54:47.000000000 +0200
+++ new/QMPlay2-src/src/modules/FFMpeg/VAApiWriter.cpp 2015-07-11 14:06:52.000000000 +0200
@@ -142,7 +142,7 @@
#ifdef HAVE_VPP
if ( use_vpp )
{
- const bool do_vpp_deint = field != 0 && vpp_deint != VA_INVALID_ID;
+ const bool do_vpp_deint = field != 0 && vpp_buffers[ VAProcFilterDeinterlacing ] != VA_INVALID_ID;
bool vpp_ok = false;
if ( !do_vpp_deint )
@@ -159,10 +159,10 @@
if ( do_vpp_deint && !vpp_second )
{
VAProcFilterParameterBufferDeinterlacing *deint_params = NULL;
- if ( vaMapBuffer( VADisp, vpp_deint, ( void ** )&deint_params ) == VA_STATUS_SUCCESS )
+ if ( vaMapBuffer( VADisp, vpp_buffers[ VAProcFilterDeinterlacing ], ( void ** )&deint_params ) == VA_STATUS_SUCCESS )
{
deint_params->flags = field == VA_TOP_FIELD ? VPP_TFF : VPP_BFF;
- vaUnmapBuffer( VADisp, vpp_deint );
+ vaUnmapBuffer( VADisp, vpp_buffers[ VAProcFilterDeinterlacing ] );
}
}
@@ -175,13 +175,17 @@
memset( pipeline_param, 0, sizeof *pipeline_param );
pipeline_param->surface = curr_id;
pipeline_param->output_background_color = 0xFF000000;
- if ( do_vpp_deint )
+
+ pipeline_param->num_filters = 1;
+ if ( !do_vpp_deint )
+ pipeline_param->filters = &vpp_buffers[ VAProcFilterNone ];
+ else
{
- pipeline_param->num_filters = 1;
- pipeline_param->filters = &vpp_deint;
+ pipeline_param->filters = &vpp_buffers[ VAProcFilterDeinterlacing ];
pipeline_param->num_forward_references = 1;
pipeline_param->forward_references = &forward_reference;
}
+
vaUnmapBuffer( VADisp, pipeline_buf );
if ( vaBeginPicture( VADisp, context_vpp, id_vpp ) == VA_STATUS_SUCCESS )
{
@@ -498,6 +502,11 @@
num_filters = 0;
if ( num_filters )
{
+ /* Creating dummy filter (some drivers/api versions crashes without any filter) */
+ VAProcFilterParameterBufferBase none_params = { VAProcFilterNone };
+ if ( vaCreateBuffer( VADisp, context_vpp, VAProcFilterParameterBufferType, sizeof none_params, 1, &none_params, &vpp_buffers[ VAProcFilterNone ] ) != VA_STATUS_SUCCESS )
+ vpp_buffers[ VAProcFilterNone ] = VA_INVALID_ID;
+ /* Searching deinterlacing filter */
if ( vpp_deint_type != VAProcDeinterlacingNone )
for ( unsigned i = 0 ; i < num_filters ; ++i )
if ( filters[ i ] == VAProcFilterDeinterlacing )
@@ -534,16 +543,16 @@
if ( vpp_deint_type != VAProcDeinterlacingNone )
{
VAProcFilterParameterBufferDeinterlacing deint_params = { VAProcFilterDeinterlacing, vpp_deint_type, VPP_TFF };
- if ( vaCreateBuffer( VADisp, context_vpp, VAProcFilterParameterBufferType, sizeof deint_params, 1, &deint_params, &vpp_deint ) != VA_STATUS_SUCCESS )
- vpp_deint = VA_INVALID_ID;
+ if ( vaCreateBuffer( VADisp, context_vpp, VAProcFilterParameterBufferType, sizeof deint_params, 1, &deint_params, &vpp_buffers[ VAProcFilterDeinterlacing ] ) != VA_STATUS_SUCCESS )
+ vpp_buffers[ VAProcFilterDeinterlacing ] = VA_INVALID_ID;
}
break;
}
return;
}
}
- if ( vpp_deint_type != VAProcDeinterlacingNone )
- QMPlay2Core.log( tr( "Nie można otworzyć filtrów usuwających przeplot" ), ErrorLog | LogOnce );
+ if ( vpp_deint_type != VAProcDeinterlacingNone ) //Show error only when filter is required
+ QMPlay2Core.log( "VA-API :: " + tr( "Nie można otworzyć filtrów obrazu" ), ErrorLog | LogOnce );
clr_vpp();
#endif
}
@@ -696,8 +705,9 @@
#ifdef HAVE_VPP
if ( use_vpp )
{
- if ( vpp_deint != VA_INVALID_ID )
- vaDestroyBuffer( VADisp, vpp_deint );
+ for ( int i = 0 ; i < VAProcFilterCount ; ++i )
+ if ( vpp_buffers[ i ] != VA_INVALID_ID )
+ vaDestroyBuffer( VADisp, vpp_buffers[ i ] );
if ( id_vpp != VA_INVALID_SURFACE )
vaDestroySurfaces( VADisp, &id_vpp, 1 );
if ( context_vpp )
@@ -707,7 +717,8 @@
use_vpp = false;
}
id_vpp = forward_reference = VA_INVALID_SURFACE;
- vpp_deint = VA_INVALID_ID;
+ for ( int i = 0 ; i < VAProcFilterCount ; ++i )
+ vpp_buffers[ i ] = VA_INVALID_ID;
vpp_second = false;
context_vpp = 0;
config_vpp = 0;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/QMPlay2-src/src/modules/FFMpeg/VAApiWriter.hpp new/QMPlay2-src/src/modules/FFMpeg/VAApiWriter.hpp
--- old/QMPlay2-src/src/modules/FFMpeg/VAApiWriter.hpp 2015-06-10 21:07:48.000000000 +0200
+++ new/QMPlay2-src/src/modules/FFMpeg/VAApiWriter.hpp 2015-07-11 13:52:38.000000000 +0200
@@ -113,7 +113,7 @@
#ifdef HAVE_VPP //Postprocessing
VAContextID context_vpp;
VAConfigID config_vpp;
- VABufferID vpp_deint;
+ VABufferID vpp_buffers[ VAProcFilterCount ]; //TODO implement all filters
VAProcDeinterlacingType vpp_deint_type;
VASurfaceID id_vpp, forward_reference;
bool use_vpp, vpp_second;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/QMPlay2-src/src/modules/Inputs/PCM.cpp new/QMPlay2-src/src/modules/Inputs/PCM.cpp
--- old/QMPlay2-src/src/modules/Inputs/PCM.cpp 2015-06-04 17:36:29.000000000 +0200
+++ new/QMPlay2-src/src/modules/Inputs/PCM.cpp 2015-07-11 17:41:04.000000000 +0200
@@ -1,6 +1,7 @@
#include <PCM.hpp>
#include <ByteArray.hpp>
+#include <Packet.hpp>
#include <Reader.hpp>
/**/
@@ -61,12 +62,12 @@
int filePos = offset + s * srate * chn * bytes[ fmt ];
return reader->seek( filePos );
}
-bool PCM::read( QByteArray &decoded, int &idx, TimeStamp &ts, double &duration )
+bool PCM::read( Packet &decoded, int &idx )
{
if ( reader.isAborted() )
return false;
- ts = ( reader->pos() - offset ) / ( double )bytes[ fmt ] / chn / srate;
+ decoded.ts = ( reader->pos() - offset ) / ( double )bytes[ fmt ] / chn / srate;
QByteArray dataBA = reader->read( chn * bytes[ fmt ] * 256 );
const int samples_with_channels = dataBA.size() / bytes[ fmt ];
@@ -104,7 +105,7 @@
}
idx = 0;
- duration = decoded.size() / chn / sizeof( float ) / ( double )srate;
+ decoded.duration = decoded.size() / chn / sizeof( float ) / ( double )srate;
return decoded.size();
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/QMPlay2-src/src/modules/Inputs/PCM.hpp new/QMPlay2-src/src/modules/Inputs/PCM.hpp
--- old/QMPlay2-src/src/modules/Inputs/PCM.hpp 2015-06-04 17:36:29.000000000 +0200
+++ new/QMPlay2-src/src/modules/Inputs/PCM.hpp 2015-07-11 00:48:37.000000000 +0200
@@ -19,7 +19,7 @@
int bitrate() const;
bool seek( int, bool );
- bool read( QByteArray &, int &, TimeStamp &, double & );
+ bool read( Packet &, int & );
void abort();
bool open( const QString & );
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/QMPlay2-src/src/modules/Inputs/Rayman2.cpp new/QMPlay2-src/src/modules/Inputs/Rayman2.cpp
--- old/QMPlay2-src/src/modules/Inputs/Rayman2.cpp 2015-06-20 23:45:05.000000000 +0200
+++ new/QMPlay2-src/src/modules/Inputs/Rayman2.cpp 2015-07-11 17:41:04.000000000 +0200
@@ -1,6 +1,7 @@
#include <Rayman2.hpp>
#include <ByteArray.hpp>
+#include <Packet.hpp>
#include <Reader.hpp>
/**/
@@ -104,12 +105,12 @@
}
return true;
}
-bool Rayman2::read( QByteArray &decoded, int &idx, TimeStamp &ts, double &duration )
+bool Rayman2::read( Packet &decoded, int &idx )
{
if ( reader.isAborted() )
return false;
- ts = ( reader->pos() - 0x64 ) * 2.0 / chn / srate;
+ decoded.ts = ( reader->pos() - 0x64 ) * 2.0 / chn / srate;
QByteArray sampleCodes = reader->read( chn * 256 );
for ( int i = 0 ; !reader.isAborted() && i + chn <= sampleCodes.size() ; i += chn )
@@ -124,7 +125,7 @@
return false;
idx = 0;
- duration = decoded.size() / chn / sizeof( float ) / ( double )srate;
+ decoded.duration = decoded.size() / chn / sizeof( float ) / ( double )srate;
return !reader.isAborted();
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/QMPlay2-src/src/modules/Inputs/Rayman2.hpp new/QMPlay2-src/src/modules/Inputs/Rayman2.hpp
--- old/QMPlay2-src/src/modules/Inputs/Rayman2.hpp 2015-06-04 17:36:29.000000000 +0200
+++ new/QMPlay2-src/src/modules/Inputs/Rayman2.hpp 2015-07-11 00:49:11.000000000 +0200
@@ -17,7 +17,7 @@
int bitrate() const;
bool seek( int, bool );
- bool read( QByteArray &, int &, TimeStamp &, double & );
+ bool read( Packet &, int & );
void abort();
bool open( const QString & );
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/QMPlay2-src/src/modules/Inputs/ToneGenerator.cpp new/QMPlay2-src/src/modules/Inputs/ToneGenerator.cpp
--- old/QMPlay2-src/src/modules/Inputs/ToneGenerator.cpp 2015-06-05 13:38:52.000000000 +0200
+++ new/QMPlay2-src/src/modules/Inputs/ToneGenerator.cpp 2015-07-11 17:41:04.000000000 +0200
@@ -1,5 +1,7 @@
#include <ToneGenerator.hpp>
+#include <Packet.hpp>
+
#include <QUrl>
#if QT_VERSION < 0x050000
#define QUrlQuery( url ) url
@@ -76,7 +78,7 @@
{
return false;
}
-bool ToneGenerator::read( QByteArray &decoded, int &idx, TimeStamp &ts, double &duration )
+bool ToneGenerator::read( Packet &decoded, int &idx )
{
if ( aborted )
return false;
@@ -91,9 +93,9 @@
samples[ i+c ] = sin( 2.0 * M_PI * freqs[ c ] * i / srate / chn ); //don't use sinf()!
idx = 0;
- ts = pos;
- duration = 1.0;
- pos += duration;
+ decoded.ts = pos;
+ decoded.duration = 1.0;
+ pos += decoded.duration;
return true;
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/QMPlay2-src/src/modules/Inputs/ToneGenerator.hpp new/QMPlay2-src/src/modules/Inputs/ToneGenerator.hpp
--- old/QMPlay2-src/src/modules/Inputs/ToneGenerator.hpp 2015-06-04 17:36:29.000000000 +0200
+++ new/QMPlay2-src/src/modules/Inputs/ToneGenerator.hpp 2015-07-11 00:47:46.000000000 +0200
@@ -20,7 +20,7 @@
bool dontUseBuffer() const;
bool seek( int, bool );
- bool read( QByteArray &, int &, TimeStamp &, double & );
+ bool read( Packet &, int & );
void abort();
bool open( const QString & );
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/QMPlay2-src/src/modules/Modplug/MPDemux.cpp new/QMPlay2-src/src/modules/Modplug/MPDemux.cpp
--- old/QMPlay2-src/src/modules/Modplug/MPDemux.cpp 2015-06-20 23:55:58.000000000 +0200
+++ new/QMPlay2-src/src/modules/Modplug/MPDemux.cpp 2015-07-11 17:41:04.000000000 +0200
@@ -1,6 +1,8 @@
#include <MPDemux.hpp>
-#include <Reader.hpp>
+
#include <Functions.hpp>
+#include <Packet.hpp>
+#include <Reader.hpp>
#include <libmodplug/modplug.h>
@@ -110,7 +112,7 @@
pos = val;
return true;
}
-bool MPDemux::read( QByteArray &decoded, int &idx, TimeStamp &ts, double &duration )
+bool MPDemux::read( Packet &decoded, int &idx )
{
if ( aborted )
return false;
@@ -127,9 +129,9 @@
decodedFloat[ i ] = decodedInt[ i ] / 2147483648.0;
idx = 0;
- ts = pos;
- duration = ( double )decoded.size() / ( 44100*2*4 ); //SRATE * CHN * BITS/8
- pos += duration;
+ decoded.ts = pos;
+ decoded.duration = ( double )decoded.size() / ( 44100*2*4 ); //SRATE * CHN * BITS/8
+ pos += decoded.duration;
return true;
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/QMPlay2-src/src/modules/Modplug/MPDemux.hpp new/QMPlay2-src/src/modules/Modplug/MPDemux.hpp
--- old/QMPlay2-src/src/modules/Modplug/MPDemux.hpp 2015-06-04 17:36:29.000000000 +0200
+++ new/QMPlay2-src/src/modules/Modplug/MPDemux.hpp 2015-07-11 00:47:25.000000000 +0200
@@ -23,7 +23,7 @@
int bitrate() const;
bool seek( int, bool );
- bool read( QByteArray &, int &, TimeStamp &, double & );
+ bool read( Packet &, int & );
void abort();
bool open( const QString & );
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/QMPlay2-src/src/qmplay2/headers/Decoder.hpp new/QMPlay2-src/src/qmplay2/headers/Decoder.hpp
--- old/QMPlay2-src/src/qmplay2/headers/Decoder.hpp 2015-06-04 17:36:29.000000000 +0200
+++ new/QMPlay2-src/src/qmplay2/headers/Decoder.hpp 2015-07-11 16:34:34.000000000 +0200
@@ -19,7 +19,6 @@
virtual QString name() const = 0;
- virtual bool aspectRatioChanged() const { return false; }
virtual Writer *HWAccel() const { return NULL; }
/*
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/QMPlay2-src/src/qmplay2/headers/Demuxer.hpp new/QMPlay2-src/src/qmplay2/headers/Demuxer.hpp
--- old/QMPlay2-src/src/qmplay2/headers/Demuxer.hpp 2015-06-04 17:36:29.000000000 +0200
+++ new/QMPlay2-src/src/qmplay2/headers/Demuxer.hpp 2015-07-11 00:50:07.000000000 +0200
@@ -4,10 +4,11 @@
#include <ModuleCommon.hpp>
#include <IOController.hpp>
#include <StreamInfo.hpp>
-#include <TimeStamp.hpp>
#include <QString>
+struct Packet;
+
class Demuxer : protected ModuleCommon, public BasicIO
{
public:
@@ -70,7 +71,7 @@
}
virtual bool seek( int, bool backward = false ) = 0;
- virtual bool read( QByteArray &, int &, TimeStamp &, double & ) = 0;
+ virtual bool read( Packet &, int & ) = 0;
virtual ~Demuxer() {}
private:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/QMPlay2-src/src/qmplay2/headers/Packet.hpp new/QMPlay2-src/src/qmplay2/headers/Packet.hpp
--- old/QMPlay2-src/src/qmplay2/headers/Packet.hpp 2015-06-04 17:36:29.000000000 +0200
+++ new/QMPlay2-src/src/qmplay2/headers/Packet.hpp 2015-07-11 19:57:53.000000000 +0200
@@ -7,13 +7,19 @@
struct Packet : public QByteArray
{
+ inline Packet() :
+ sampleAspectRatio( 0.0 ),
+ hasKeyFrame( true )
+ {}
+
inline void reset()
{
*this = Packet();
}
TimeStamp ts;
- double duration;
+ double duration, sampleAspectRatio;
+ bool hasKeyFrame;
};
#endif
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/QMPlay2-src/src/qmplay2/headers/QMPlay2Core.hpp new/QMPlay2-src/src/qmplay2/headers/QMPlay2Core.hpp
--- old/QMPlay2-src/src/qmplay2/headers/QMPlay2Core.hpp 2015-06-26 15:43:37.000000000 +0200
+++ new/QMPlay2-src/src/qmplay2/headers/QMPlay2Core.hpp 2015-07-12 23:02:39.000000000 +0200
@@ -1,7 +1,7 @@
#ifndef QMPLAY2CORE_HPP
#define QMPLAY2CORE_HPP
-#define QMPlay2Version "15.06.26"
+#define QMPlay2Version "15.07.13"
#if defined(__i386) || defined(__i386__) || defined(_M_IX86) || (__x86_64) || defined(__x86_64__) || defined(__amd64) || defined(_M_X64)
#define QMPLAY2_CPU_X86
[View Less]
1
0
Hello community,
here is the log from the commit of package libreoffice for openSUSE:Factory checked in at 2015-08-03 17:20:52
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/libreoffice (Old)
and /work/SRC/openSUSE:Factory/.libreoffice.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "libreoffice"
Changes:
--------
--- /work/SRC/openSUSE:Factory/libreoffice/libreoffice.changes …
[View More]2015-05-30 12:33:18.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.libreoffice.new/libreoffice.changes 2015-08-03 17:21:05.000000000 +0200
@@ -1,0 +2,78 @@
+Wed Jul 22 12:12:07 UTC 2015 - tchvatal(a)suse.com
+
+- Add explicit requires over libmysqlclient_r18, should cover bnc#829430
+
+-------------------------------------------------------------------
+Tue Jul 14 14:56:11 UTC 2015 - tchvatal(a)suse.com
+
+- Add patch to build with old cairo (sle11):
+ * old-cairo.patch
+
+-------------------------------------------------------------------
+Tue Jul 14 09:00:37 UTC 2015 - tchvatal(a)suse.com
+
+- Version bump to 5.0 rc3:
+ * Various more fixes closing on the 5.0 release
+- Removed upstreamed patches:
+ * fix-old-poppler.patch
+ * mdds-old-gcc.patch
+
+-------------------------------------------------------------------
+Fri Jul 3 07:04:45 UTC 2015 - tchvatal(a)suse.com
+
+- Try to fix build on SLE11 and remove obsolete patch:
+ * A mdds-old-gcc.patch
+ * D pack-desktop-files-for-optional-filters.diff
+
+-------------------------------------------------------------------
+Wed Jul 1 08:55:34 UTC 2015 - tchvatal(a)suse.com
+
+- Update to 5.0 rc2:
+ * Few small fixes and updates in internal libraries
+
+-------------------------------------------------------------------
+Tue Jun 23 13:21:48 UTC 2015 - tchvatal(a)suse.com
+
+- Version bump to 5.0 rc1, remove obsolete patches:
+ * 0001-Fix-could-not-convert-.-const-char-to-const-rtl-OUSt.patch
+ * 0001-writerperfect-fix-gcc-4.7-build.patch
+
+-------------------------------------------------------------------
+Mon Jun 22 09:15:38 UTC 2015 - tchvatal(a)suse.com
+
+- More chrpat love for sle11
+
+-------------------------------------------------------------------
+Fri Jun 19 10:33:12 UTC 2015 - tchvatal(a)suse.com
+
+- Add python-importlib to build/requirements on py2 distros
+
+-------------------------------------------------------------------
+Fri Jun 19 09:40:37 UTC 2015 - tchvatal(a)suse.com
+
+- Provide/obsolete crystal icons so they are purged and not left over
+- Add few patch to get LO in more buildable state on SLE11, all
+ upstreamed:
+ * 0001-Fix-could-not-convert-.-const-char-to-const-rtl-OUSt.patch
+ * 0001-writerperfect-fix-gcc-4.7-build.patch
+ * fix-old-poppler.patch
+
+-------------------------------------------------------------------
+Wed Jun 17 06:54:47 UTC 2015 - tchvatal(a)suse.com
+
+- Fix breeze icons handling, drop crystal icons.
+
+-------------------------------------------------------------------
+Sat Jun 13 13:23:20 UTC 2015 - tchvatal(a)suse.com
+
+- Version bump to 5.0.0.beta3:
+ * Drop merged patch 0001-Make-cpp-poppler-version.h-header-optional.patch
+ * Update some internal tarballs so we keep building
+ - based on these bumps update the buildrequires too
+
+-------------------------------------------------------------------
+Wed Jun 3 12:08:54 UTC 2015 - tchvatal(a)suse.com
+
+- Generate python cache files wrt bnc#929793
+
+-------------------------------------------------------------------
Old:
----
0001-Make-cpp-poppler-version.h-header-optional.patch
b73baa6fbdfef197608d1f69300919b9-icu4c-53_1-src.tgz
cb4207cb913c7a5a8bfa5b91234618ee-mdds_0.11.2.tar.bz2
ea570af93c284aa9e5621cd563f54f4d-bsh-2.0b1-src.tar.gz
harfbuzz-0.9.23.tar.bz2
language-subtag-registry-2014-12-03.tar.bz2
libetonyek-0.1.1.tar.bz2
libfreehand-0.1.0.tar.bz2
libmwaw-0.3.4.tar.bz2
libodfgen-0.1.3.tar.bz2
libreoffice-4.4.3.2.tar.xz
libreoffice-help-4.4.3.2.tar.xz
libreoffice-translations-4.4.3.2.tar.xz
libwps-0.3.1.tar.bz2
pack-desktop-files-for-optional-filters.diff
New:
----
e844caed8f2ca24c088505b0d6271bc0-icu4c-54_1-src.tgz
ec1941a74d3ef513c4ce57a9092b74e1-bsh-2.0b5-src.zip
harfbuzz-0.9.40.tar.bz2
language-subtag-registry-2015-06-08.tar.bz2
libetonyek-0.1.3.tar.bz2
libfreehand-0.1.1.tar.bz2
libmwaw-0.3.5.tar.bz2
libodfgen-0.1.4.tar.bz2
libreoffice-5.0.0.3.tar.xz
libreoffice-help-5.0.0.3.tar.xz
libreoffice-translations-5.0.0.3.tar.xz
libwps-0.4.0.tar.bz2
mdds_0.12.1.tar.bz2
old-cairo.patch
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ libreoffice.spec ++++++
--- /var/tmp/diff_new_pack.HG4Baz/_old 2015-08-03 17:21:22.000000000 +0200
+++ /var/tmp/diff_new_pack.HG4Baz/_new 2015-08-03 17:21:22.000000000 +0200
@@ -23,7 +23,7 @@
%define numbertext_version 0.9.5
# Urls
%define external_url http://dev-www.libreoffice.org/src/
-%define tarball_url http://download.documentfoundation.org/libreoffice/src/4.4.3
+%define tarball_url http://download.documentfoundation.org/libreoffice/src/5.0.0
# Old Make and bundle or not
%if 0%{?suse_version} > 1230
%bcond_with oldmake
@@ -60,10 +60,12 @@
%else
%global python_type python
%global python3_sitelib %(python -c "from distutils.sysconfig import get_python_lib; print get_python_lib()")
+BuildRequires: python-importlib
+Requires: python-importlib
%endif
# This is used due to the need for beta releases
Name: libreoffice
-Version: 4.4.3.2
+Version: 5.0.0.3
Release: 0
Summary: A Free Office Suite (Framework)
License: Apache-2.0 and Artistic-1.0 and BSD-3-Clause and BSD-4-Clause and GPL-2.0+ and LPPL-1.3c and LGPL-2.1+ and LGPL-3.0 and MPL-1.1 and MIT and SUSE-Public-Domain and W3C
@@ -98,36 +100,36 @@
Source2006: %{external_url}/48d647fbd8ef8889e5a7f422c1bfda94-clucene-core-2.3.3.4.tar.gz
Source2007: %{external_url}/librevenge-0.0.2.tar.bz2
Source2008: %{external_url}/0168229624cfac409e766913506961a8-ucpp-1.3.2.tar.gz
-Source2009: %{external_url}/libetonyek-0.1.1.tar.bz2
+Source2009: %{external_url}/libetonyek-0.1.3.tar.bz2
Source2010: %{external_url}/libe-book-0.1.2.tar.bz2
-Source2011: %{external_url}/libfreehand-0.1.0.tar.bz2
-Source2012: %{external_url}/libodfgen-0.1.3.tar.bz2
+Source2011: %{external_url}/libfreehand-0.1.1.tar.bz2
+Source2012: %{external_url}/libodfgen-0.1.4.tar.bz2
Source2013: %{external_url}/libcdr-0.1.1.tar.bz2
Source2014: %{external_url}/libmspub-0.1.2.tar.bz2
-Source2015: %{external_url}/libmwaw-0.3.4.tar.bz2
+Source2015: %{external_url}/libmwaw-0.3.5.tar.bz2
Source2016: %{external_url}/libpagemaker-0.0.2.tar.bz2
Source2017: %{external_url}/libvisio-0.1.1.tar.bz2
Source2018: %{external_url}/5821b806a98e6c38370970e682ce76e8-libcmis-0.5.0.tar.gz
Source2019: %{external_url}/libwpd-0.10.0.tar.bz2
Source2020: %{external_url}/libwpg-0.3.0.tar.bz2
-Source2021: %{external_url}/libwps-0.3.1.tar.bz2
+Source2021: %{external_url}/libwps-0.4.0.tar.bz2
Source2022: %{external_url}/libabw-0.1.1.tar.bz2
Source2023: %{external_url}/lcms2-2.6.tar.gz
Source2024: %{external_url}/17410483b5b5f267aa18b7e00b65e6e0-hsqldb_1_8_0.zip
-Source2025: %{external_url}/cb4207cb913c7a5a8bfa5b91234618ee-mdds_0.11.2.tar.bz2
+Source2025: %{external_url}/mdds_0.12.1.tar.bz2
Source2026: %{external_url}/a233181e03d3c307668b4c722d881661-mariadb_client-2.0.0-src.tar.gz
Source2027: %{external_url}/7239a4430efd4d0189c4f24df67f08e5-mysql-connector-c++-1.1.4.tar.gz
Source2028: %{external_url}/d6eef4b4cacb2183f2bf265a5a03a354-boost_1_55_0.tar.bz2
Source2029: %{external_url}/594eb47b4b1210e25438d51825404d5a-glew-1.10.0.zip
Source2030: %{external_url}/bae83fa5dc7f081768daace6e199adc3-glm-0.9.4.6-libreoffice.zip
-Source2031: %{external_url}/b73baa6fbdfef197608d1f69300919b9-icu4c-53_1-src.tgz
+Source2031: %{external_url}/e844caed8f2ca24c088505b0d6271bc0-icu4c-54_1-src.tgz
Source2032: %{external_url}/graphite2-1.2.4.tgz
Source2033: %{external_url}/7681383be6ce489d84c1c74f4e7f9643-liborcus-0.7.0.tar.bz2
-Source2034: %{external_url}/harfbuzz-0.9.23.tar.bz2
+Source2034: %{external_url}/harfbuzz-0.9.40.tar.bz2
Source2035: %{external_url}/32f8e1417a64d3c6f2c727f9053f55ea-redland-1.0.16.tar.gz
Source2036: %{external_url}/10d61fbaa6a06348823651b1bd7940fe-libexttextcat-3.4.4.tar.bz2
Source2037: %{external_url}/26b3e95ddf3d9c077c480ea45874b3b8-lp_solve_5.5.tar.gz
-Source2038: %{external_url}/ea570af93c284aa9e5621cd563f54f4d-bsh-2.0b1-src.tar.gz
+Source2038: %{external_url}/ec1941a74d3ef513c4ce57a9092b74e1-bsh-2.0b5-src.zip
Source2039: %{external_url}/798b2ffdc8bcfe7bca2cf92b62caf685-rhino1_5R5.zip
Source2040: %{external_url}/Firebird-2.5.2.26540-0.tar.bz2
Source2041: %{external_url}/d62650a6f908e85643e557a236ea989c-vigra1.6.0.tar.gz
@@ -151,25 +153,23 @@
Source2059: %{external_url}/c0b4799ea9850eae3ead14f0a60e9418-postgresql-9.2.1.tar.bz2
Source2060: %{external_url}/2e482c7567908d334785ce7d69ddfff7-commons-codec-1.6-src.tar.gz
Source2061: %{external_url}/b12c5f9cfdb6b04efce5a4a186b8416b-rasqal-0.9.30.tar.gz
-Source2062: %{external_url}/language-subtag-registry-2014-12-03.tar.bz2
+Source2062: %{external_url}/language-subtag-registry-2015-06-08.tar.bz2
# Make for old distros where too old gnumake resides
Source3000: http://ftp.gnu.org/gnu/make/make-4.1.tar.bz2
# change user config dir name from ~/.libreoffice/3 to ~/.libreoffice/3-suse
# to avoid BerkleyDB incompatibility with the plain build
# FIXME: make it configurable and push upstream
Patch1: scp2-user-config-suse.diff
-# pack new desktop files
-Patch2: pack-desktop-files-for-optional-filters.diff
-# correctly bootstrap python stuff with system python (deb#501028, i#90701)
+# correctly bootstrap python stuff with system python (deb#501028, bnc#90701)
Patch3: system-pyuno.diff
# do not use the broken help; unopkg complained about it when registering extensions
# FIXME: the right fix is to compile the help and produce the .db_, .ht_, and other files
Patch4: nlpsolver-no-broken-help.diff
Patch5: mediawiki-no-broken-help.diff
-# PATCH-FIX-UPSTREAM: patch to build with older poppler, will be in 5.0
-Patch6: 0001-Make-cpp-poppler-version.h-header-optional.patch
# PATCH-FIX-SUSE: do not declare java6 available for without system libs build
Patch7: 0001-Make-HAVE_JAVA6-be-always-false.patch
+# PATCH-FIX-UPSTREAM: build with old sle11 cairo
+Patch8: old-cairo.patch
# try to save space by using hardlinks
Patch990: install-with-hardlinks.diff
BuildRequires: %{name}-share-linker
@@ -248,6 +248,8 @@
Obsoletes: %{name}-l10n-prebuild < %{version}
Provides: %{name}-ure = %{version}
Obsoletes: %{name}-ure < %{version}
+Provides: %{name}-icon-theme-crystal = %{version}
+Obsoletes: %{name}-icon-theme-crystal < %{version}
BuildRoot: %{_tmppath}/%{name}-%{version}-build
ExclusiveArch: %arm %ix86 x86_64 ppc ppc64
%if %{with systemlibs}
@@ -271,7 +273,7 @@
BuildRequires: libcdr-devel >= 0.1
BuildRequires: libcmis-devel >= 0.5.0
BuildRequires: libe-book-devel >= 0.1.1
-BuildRequires: libetonyek-devel >= 0.1.1
+BuildRequires: libetonyek-devel >= 0.1.2
BuildRequires: libexif
BuildRequires: libexttextcat-devel >= 3.1.1
BuildRequires: libfbembed-devel
@@ -284,10 +286,10 @@
BuildRequires: liblcms2-devel
BuildRequires: libloader
BuildRequires: libmspub-devel >= 0.1
-BuildRequires: libmwaw-devel >= 0.3.4
+BuildRequires: libmwaw-devel >= 0.3.5
BuildRequires: libmysqlclient-devel
BuildRequires: libmysqlcppconn-devel >= 1.0.6
-BuildRequires: libodfgen-devel >= 0.1
+BuildRequires: libodfgen-devel >= 0.1.4
BuildRequires: liborcus-devel >= 0.7.0
BuildRequires: libpagemaker-devel
BuildRequires: libredland-devel
@@ -298,11 +300,11 @@
BuildRequires: libvisio-devel >= 0.1
BuildRequires: libwpd-devel >= 0.10
BuildRequires: libwpg-devel
-BuildRequires: libwps-devel
+BuildRequires: libwps-devel >= 0.4.0
BuildRequires: libxml2-devel
BuildRequires: libxslt-devel
BuildRequires: lpsolve-devel
-BuildRequires: mdds-devel >= 0.11.2
+BuildRequires: mdds-devel >= 0.12.0
BuildRequires: npapi-sdk
BuildRequires: pentaho-libxml
BuildRequires: pentaho-reporting-flow-engine
@@ -379,20 +381,22 @@
%description branding-upstream
This package includes the original branding for the LibreOffice office suite.
-%package icon-theme-crystal
-Summary: Crystal LibreOffice Icon Theme (KDE3 default)
+%package icon-theme-breeze
+Summary: Breeze LibreOffice Icon Theme (KDE Frameworks default)
License: LGPL-2.1
Group: Productivity/Office/Suite
Requires(post): %{name}-share-linker
Requires(postun): %{name}-share-linker
+Supplements: packageand(libreoffice:plasma5-workspace)
Provides: libreoffice-icon-themes = %{version}
Obsoletes: libreoffice-icon-themes < %{version}
%if %{with noarch_subpkgs}
BuildArch: noarch
%endif
-%description icon-theme-crystal
-This package provides Crystal LibreOffice icon theme. It is used in KDE3 by default.
+%description icon-theme-breeze
+This package provides Breeze LibreOffice icon theme. It is used in KDE
+Frameworks by default.
%package icon-theme-galaxy
Summary: Galaxy LibreOffice Icon Theme (OOo-3.x default)
@@ -684,6 +688,9 @@
License: GPL-2.0 and LGPL-3.0
Group: Productivity/Office/Suite
Requires: libreoffice-base = %{version}
+# This mysql thing is just dlopened
+# WARNING: the soname might change!
+Requires: libmysqlclient_r18
Requires(pre): libreoffice = %{version}
Supplements: packageand(libreoffice-base:mysql-client)
@@ -756,7 +763,7 @@
fi \
\
%postun %{1} \
-if [ "$1" = "0" -a -f %{_datadir}/libreoffice/%{1}_list.txt -a -f %{_bindir}/libreoffice-share-linker ]; then \
+if [ "$1" = "0" -a -f %{_datadir}/libreoffice/%{1}_list.txt -a -x %{_bindir}/libreoffice-share-linker ]; then \
%{_bindir}/libreoffice-share-linker --unlink %{_datadir}/libreoffice/%{1}_list.txt || true \
rm -f %{_datadir}/libreoffice/%{1}_list.txt 2> /dev/null || true \
fi \
@@ -960,14 +967,13 @@
%prep
%setup -q -b1 -b2
%patch1
-%patch2 -p1
%patch3 -p1
%patch4
%patch5
-%patch6 -p1
%if !%{with systemlibs}
%patch7 -p1
%endif
+%patch8 -p1
%patch990 -p1
# 256x256 icons
tar -xjf %{SOURCE20}
@@ -1278,13 +1284,6 @@
echo "%{_libdir}/%{name}/share/autocorr/$file" >> file-lists/common_list.txt
done
-# Symlink uno.py and unohelper.py so that python can find them
-mkdir -p %{buildroot}%{python3_sitelib}
-ln -s %{_libdir}/libreoffice/program/uno.py %{buildroot}%{python3_sitelib}/uno.py
-ln -s %{_libdir}/libreoffice/program/unohelper.py %{buildroot}%{python3_sitelib}/unohelper.py
-echo "%{python3_sitelib}/uno.py" >> file-lists/pyuno_list.txt
-echo "%{python3_sitelib}/unohelper.py" >> file-lists/pyuno_list.txt
-
# Install appdata files, so we're shown in gnome-software (and other, future app stores)
# upstream ships the files called libreoffice-{base,writer,...}, but the destop files are called base.destop [...]
# fixup the appdata files internal reference to the .desktop file and rename them on the go to match the name
@@ -1306,13 +1305,57 @@
# Remove RPATH on some 3rd party bundled libs
%if !%{with systemlibs}
+chrpath --delete %{buildroot}%{_libdir}/%{name}/program/libwpd-0.10.so.10
+chrpath --delete %{buildroot}%{_libdir}/%{name}/program/libwpg-0.3.so.3
+chrpath --delete %{buildroot}%{_libdir}/%{name}/program/libetonyek-0.1.so.1
chrpath --delete %{buildroot}%{_libdir}/%{name}/program/libmwaw-0.3.so.3
-chrpath --delete %{buildroot}%{_libdir}/%{name}/program/libwps-0.3.so.3
+chrpath --delete %{buildroot}%{_libdir}/%{name}/program/libwps-0.4.so.4
chrpath --delete %{buildroot}%{_libdir}/%{name}/program/libodfgen-0.1.so.1
chrpath --delete %{buildroot}%{_libdir}/%{name}/program/librdf-lo.so.0
chrpath --delete %{buildroot}%{_libdir}/%{name}/program/librasqal-lo.so.3
%endif
+# Generate python cache files
+%if 0%{?suse_version} > 1130
+%py3_compile %{buildroot}/%{_libdir}/libreoffice/program/
+%py3_compile %{buildroot}/%{_libdir}/libreoffice/share/extensions/
+%py3_compile %{buildroot}/%{_libdir}/libreoffice/share/Scripts/python/
+%py3_compile %{buildroot}/%{_libdir}/libreoffice/sdk/examples/python/
+%else
+%py_compile %{buildroot}/%{_libdir}/libreoffice/program/
+%py_compile %{buildroot}/%{_libdir}/libreoffice/share/extensions/
+%py_compile %{buildroot}/%{_libdir}/libreoffice/share/Scripts/python/
+%py_compile %{buildroot}/%{_libdir}/libreoffice/sdk/examples/python/
+%endif
+
+# Move python cache to respective filelist
+for i in file-lists/*.txt; do
+ if [ `cat "${i}" | grep '\.py$' |wc -l` -gt 0 ]; then
+ cat "${i}" | grep '\.py$' > pyfiles.txt
+ for j in `cat pyfiles.txt`; do
+ # python3 has __pycache__ dir while py2 does not
+ %if %{with newmedia}
+ pydir="${j%/*}"
+ pyname="${j##*/}"
+ echo "%dir ${pydir}/__pycache__/" >> "${i}"
+ echo "${pydir}/__pycache__/${pyname%.*}*.pyc" >> "${i}"
+ %else
+ # just add c to state pyc
+ echo "${j}c" >> "${i}"
+ %endif
+ done
+ fi
+done
+rm pyfiles.txt
+
+# Symlink uno.py and unohelper.py so that python can find them
+# This is done after the cache files generating on purpose
+mkdir -p %{buildroot}%{python3_sitelib}
+ln -s %{_libdir}/libreoffice/program/uno.py %{buildroot}%{python3_sitelib}/uno.py
+ln -s %{_libdir}/libreoffice/program/unohelper.py %{buildroot}%{python3_sitelib}/unohelper.py
+echo "%{python3_sitelib}/uno.py" >> file-lists/pyuno_list.txt
+echo "%{python3_sitelib}/unohelper.py" >> file-lists/pyuno_list.txt
+
# We have ton of duped files so run over it
%fdupes %{buildroot}%{_prefix}
@@ -1445,7 +1488,7 @@
test -f /sbin/conf.d/SuSEconfig.glib2 && SuSEconfig --module glib2 > /dev/null || :
%endif
-%_link_noarch_files icon-theme-crystal
+%_link_noarch_files icon-theme-breeze
%_link_noarch_files icon-theme-galaxy
%_link_noarch_files icon-theme-hicontrast
%_link_noarch_files icon-theme-oxygen
@@ -1524,12 +1567,12 @@
%defattr(-,root,root)
%{_libdir}/%{name}/share/extensions/wiki-publisher
-%files icon-theme-crystal
+%files icon-theme-breeze
%defattr(-,root,root)
%dir %{_datadir}/%{name}
%dir %{_datadir}/%{name}/share
%dir %{_datadir}/%{name}/share/config
-%{_datadir}/%{name}/share/config/images_crystal.zip
+%{_datadir}/%{name}/share/config/images_breeze.zip
%files icon-theme-galaxy
%defattr(-,root,root)
++++++ b73baa6fbdfef197608d1f69300919b9-icu4c-53_1-src.tgz -> e844caed8f2ca24c088505b0d6271bc0-icu4c-54_1-src.tgz ++++++
/work/SRC/openSUSE:Factory/libreoffice/b73baa6fbdfef197608d1f69300919b9-icu4c-53_1-src.tgz /work/SRC/openSUSE:Factory/.libreoffice.new/e844caed8f2ca24c088505b0d6271bc0-icu4c-54_1-src.tgz differ: char 4, line 1
++++++ harfbuzz-0.9.23.tar.bz2 -> harfbuzz-0.9.40.tar.bz2 ++++++
++++ 93312 lines of diff (skipped)
++++++ language-subtag-registry-2014-12-03.tar.bz2 -> language-subtag-registry-2015-06-08.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/data/language-subtag-registry new/data/language-subtag-registry
--- old/data/language-subtag-registry 2014-12-03 21:09:00.000000000 +0100
+++ new/data/language-subtag-registry 2015-06-08 21:00:00.000000000 +0200
@@ -1,4 +1,4 @@
-File-Date: 2014-12-03
+File-Date: 2015-06-08
%%
Type: language
Subtag: aa
@@ -1214,6 +1214,8 @@
Subtag: aam
Description: Aramanik
Added: 2009-07-29
+Deprecated: 2015-02-12
+Preferred-Value: aas
%%
Type: language
Subtag: aan
@@ -1580,6 +1582,8 @@
Subtag: adp
Description: Adap
Added: 2009-07-29
+Deprecated: 2015-02-12
+Preferred-Value: dz
%%
Type: language
Subtag: adq
@@ -1651,6 +1655,7 @@
%%
Type: language
Subtag: aee
+Description: Northeast Pashai
Description: Northeast Pashayi
Added: 2009-07-29
%%
@@ -2735,6 +2740,7 @@
%%
Type: language
Subtag: aot
+Description: Atong (India)
Description: A'tong
Added: 2009-07-29
%%
@@ -3258,7 +3264,7 @@
%%
Type: language
Subtag: ato
-Description: Atong
+Description: Atong (Cameroon)
Added: 2009-07-29
%%
Type: language
@@ -3340,6 +3346,8 @@
Subtag: aue
Description: =/Kx'au//'ein
Added: 2009-07-29
+Deprecated: 2015-02-12
+Preferred-Value: ktz
%%
Type: language
Subtag: auf
@@ -5470,6 +5478,7 @@
Subtag: bmy
Description: Bemba (Democratic Republic of Congo)
Added: 2009-07-29
+Deprecated: 2015-02-12
%%
Type: language
Subtag: bmz
@@ -6839,6 +6848,7 @@
Subtag: bxx
Description: Borna (Democratic Republic of Congo)
Added: 2009-07-29
+Deprecated: 2015-02-12
%%
Type: language
Subtag: bxz
@@ -6966,6 +6976,7 @@
Subtag: byy
Description: Buya
Added: 2009-07-29
+Deprecated: 2015-02-12
%%
Type: language
Subtag: byz
@@ -7299,6 +7310,12 @@
Added: 2009-07-29
%%
Type: language
+Subtag: cbq
+Description: Tsucuba
+Description: Cuba
+Added: 2015-02-12
+%%
+Type: language
Subtag: cbr
Description: Cashibo-Cacataibo
Added: 2009-07-29
@@ -10327,6 +10344,7 @@
Subtag: dzd
Description: Daza
Added: 2009-07-29
+Deprecated: 2015-02-12
%%
Type: language
Subtag: dze
@@ -11943,6 +11961,8 @@
Subtag: gfx
Description: Mangetti Dune !Xung
Added: 2012-08-12
+Deprecated: 2015-02-12
+Preferred-Value: vaj
%%
Type: language
Subtag: gga
@@ -12224,6 +12244,12 @@
Macrolanguage: kpe
%%
Type: language
+Subtag: gku
+Description: ǂUngkue
+Description: =/Ungkue
+Added: 2015-02-12
+%%
+Type: language
Subtag: glc
Description: Bon Gula
Added: 2009-07-29
@@ -12235,6 +12261,7 @@
%%
Type: language
Subtag: glh
+Description: Northwest Pashai
Description: Northwest Pashayi
Added: 2009-07-29
%%
@@ -12410,6 +12437,7 @@
Type: language
Subtag: gnk
Description: //Gana
+Description: ǁGana
Added: 2009-07-29
%%
Type: language
@@ -12799,6 +12827,8 @@
Subtag: gti
Description: Gbati-ri
Added: 2009-07-29
+Deprecated: 2015-02-12
+Preferred-Value: nyc
%%
Type: language
Subtag: gtu
@@ -13037,6 +13067,7 @@
Type: language
Subtag: gwj
Description: /Gwi
+Description: ǀGwi
Added: 2009-07-29
%%
Type: language
@@ -13364,6 +13395,7 @@
Type: language
Subtag: hgm
Description: Hai//om
+Description: Haiǁom
Added: 2009-07-29
%%
Type: language
@@ -13702,6 +13734,7 @@
Type: language
Subtag: hnh
Description: //Ani
+Description: ǁAni
Added: 2009-07-29
%%
Type: language
@@ -13981,6 +14014,7 @@
Type: language
Subtag: huc
Description: =/Hua
+Description: ǂHua
Added: 2009-07-29
%%
Type: language
@@ -14487,6 +14521,11 @@
Added: 2013-09-10
%%
Type: language
+Subtag: iks
+Description: Inuit Sign Language
+Added: 2015-02-12
+%%
+Type: language
Subtag: ikt
Description: Inuinnaqtun
Description: Western Canadian Inuktitut
@@ -14579,6 +14618,7 @@
Subtag: ime
Description: Imeraguen
Added: 2009-07-29
+Deprecated: 2015-02-12
%%
Type: language
Subtag: imi
@@ -15366,6 +15406,11 @@
Added: 2009-07-29
%%
Type: language
+Subtag: jje
+Description: Jejueo
+Added: 2015-02-12
+%%
+Type: language
Subtag: jjr
Description: Bankal
Added: 2012-08-12
@@ -15506,6 +15551,11 @@
Added: 2009-07-29
%%
Type: language
+Subtag: jog
+Description: Jogi
+Added: 2015-05-27
+%%
+Type: language
Subtag: jor
Description: Jorá
Added: 2009-07-29
@@ -15824,6 +15874,7 @@
Subtag: kbf
Description: Kakauhua
Added: 2009-07-29
+Deprecated: 2015-02-12
%%
Type: language
Subtag: kbg
@@ -16925,6 +16976,11 @@
Added: 2009-07-29
%%
Type: language
+Subtag: kjv
+Description: Kaikavian Literary Language
+Added: 2015-02-12
+%%
+Type: language
Subtag: kjx
Description: Ramopa
Added: 2009-07-29
@@ -17506,6 +17562,8 @@
Subtag: koj
Description: Sara Dunjo
Added: 2009-07-29
+Deprecated: 2015-02-12
+Preferred-Value: kwv
%%
Type: language
Subtag: kok
@@ -18219,6 +18277,7 @@
Type: language
Subtag: ktz
Description: Ju/'hoan
+Description: Juǀʼhoan
Added: 2009-07-29
%%
Type: language
@@ -18238,7 +18297,7 @@
%%
Type: language
Subtag: kue
-Description: Kuman
+Description: Kuman (Papua New Guinea)
Added: 2009-07-29
%%
Type: language
@@ -18560,6 +18619,8 @@
Subtag: kwq
Description: Kwak
Added: 2009-07-29
+Deprecated: 2015-02-12
+Preferred-Value: yam
%%
Type: language
Subtag: kwr
@@ -18633,6 +18694,8 @@
Subtag: kxe
Description: Kakihum
Added: 2009-07-29
+Deprecated: 2015-02-12
+Preferred-Value: tvd
%%
Type: language
Subtag: kxf
@@ -19661,6 +19724,8 @@
Subtag: lii
Description: Lingkhim
Added: 2009-07-29
+Deprecated: 2015-02-12
+Preferred-Value: raq
%%
Type: language
Subtag: lij
@@ -23536,6 +23601,8 @@
Subtag: mwj
Description: Maligo
Added: 2009-07-29
+Deprecated: 2015-02-12
+Preferred-Value: vaj
%%
Type: language
Subtag: mwk
@@ -24092,6 +24159,7 @@
%%
Type: language
Subtag: naq
+Description: Khoekhoe
Description: Nama (Namibia)
Added: 2009-07-29
%%
@@ -24107,6 +24175,7 @@
%%
Type: language
Subtag: nat
+Description: Ca̱hungwa̱rya̱
Description: Hungworo
Added: 2009-07-29
%%
@@ -24672,6 +24741,7 @@
Type: language
Subtag: ngh
Description: N/u
+Description: Nǀu
Added: 2009-07-29
%%
Type: language
@@ -25380,6 +25450,7 @@
Type: language
Subtag: nmn
Description: !Xóõ
+Description: ǃXóõ
Added: 2009-07-29
%%
Type: language
@@ -25425,6 +25496,7 @@
Type: language
Subtag: nmw
Description: Nimoa
+Description: Rifao
Added: 2009-07-29
%%
Type: language
@@ -25556,6 +25628,8 @@
Subtag: nnx
Description: Ngong
Added: 2009-07-29
+Deprecated: 2015-02-12
+Preferred-Value: ngv
%%
Type: language
Subtag: nny
@@ -25798,6 +25872,12 @@
Added: 2009-07-29
%%
Type: language
+Subtag: nrf
+Description: Jèrriais
+Description: Guernésiais
+Added: 2015-02-12
+%%
+Type: language
Subtag: nrg
Description: Narango
Added: 2009-07-29
@@ -26307,6 +26387,11 @@
Added: 2009-07-29
%%
Type: language
+Subtag: nxo
+Description: Ndambomo
+Added: 2015-02-12
+%%
+Type: language
Subtag: nxq
Description: Naxi
Added: 2011-08-16
@@ -27309,6 +27394,8 @@
Subtag: oun
Description: !O!ung
Added: 2009-07-29
+Deprecated: 2015-02-12
+Preferred-Value: vaj
%%
Type: language
Subtag: owi
@@ -27552,7 +27639,7 @@
%%
Type: language
Subtag: pby
-Description: Pyu
+Description: Pyu (Papua New Guinea)
Added: 2009-07-29
%%
Type: language
@@ -27808,6 +27895,11 @@
Macrolanguage: ar
%%
Type: language
+Subtag: pgd
+Description: Gāndhārī
+Added: 2015-02-12
+%%
+Type: language
Subtag: pgg
Description: Pangwali
Added: 2009-07-29
@@ -28202,6 +28294,7 @@
%%
Type: language
Subtag: pls
+Description: San Marcos Tlacoyalco Popoloca
Description: San Marcos Tlalcoyalco Popoloca
Added: 2009-07-29
%%
@@ -28330,6 +28423,8 @@
Subtag: pmu
Description: Mirpur Panjabi
Added: 2009-07-29
+Deprecated: 2015-02-12
+Preferred-Value: phr
Macrolanguage: lah
%%
Type: language
@@ -28824,11 +28919,13 @@
%%
Type: language
Subtag: psh
+Description: Southwest Pashai
Description: Southwest Pashayi
Added: 2009-07-29
%%
Type: language
Subtag: psi
+Description: Southeast Pashai
Description: Southeast Pashayi
Added: 2009-07-29
%%
@@ -30166,6 +30263,11 @@
Added: 2009-07-29
%%
Type: language
+Subtag: rts
+Description: Yurats
+Added: 2015-02-12
+%%
+Type: language
Subtag: rtw
Description: Rathawi
Added: 2009-07-29
@@ -30449,6 +30551,7 @@
%%
Type: language
Subtag: sbf
+Description: Chabu
Description: Shabo
Added: 2009-07-29
%%
@@ -30980,6 +31083,7 @@
Subtag: sgo
Description: Songa
Added: 2009-07-29
+Deprecated: 2015-02-12
%%
Type: language
Subtag: sgp
@@ -31439,6 +31543,7 @@
%%
Type: language
Subtag: skr
+Description: Saraiki
Description: Seraiki
Added: 2009-07-29
Macrolanguage: lah
@@ -32863,6 +32968,11 @@
Added: 2009-07-29
%%
Type: language
+Subtag: syx
+Description: Samay
+Added: 2015-02-12
+%%
+Type: language
Subtag: syy
Description: Al-Sayyid Bedouin Sign Language
Added: 2009-07-29
@@ -33753,6 +33863,8 @@
Subtag: thx
Description: The
Added: 2009-07-29
+Deprecated: 2015-02-12
+Preferred-Value: oyb
%%
Type: language
Subtag: thy
@@ -34860,6 +34972,8 @@
Subtag: tsf
Description: Southwestern Tamang
Added: 2009-07-29
+Deprecated: 2015-02-12
+Preferred-Value: taj
%%
Type: language
Subtag: tsg
@@ -35404,6 +35518,11 @@
Added: 2009-07-29
%%
Type: language
+Subtag: txj
+Description: Tarjumo
+Added: 2015-02-12
+%%
+Type: language
Subtag: txm
Description: Tomini
Added: 2009-07-29
@@ -35966,6 +36085,8 @@
Subtag: uok
Description: Uokha
Added: 2009-07-29
+Deprecated: 2015-02-12
+Preferred-Value: ema
%%
Type: language
Subtag: upi
@@ -36241,7 +36362,10 @@
%%
Type: language
Subtag: vaj
-Description: Vasekela Bushman
+Description: Sekele
+Description: Northwestern !Kung
+Description: Northwestern ǃKung
+Description: Vasekele
Added: 2009-07-29
%%
Type: language
@@ -37855,6 +37979,7 @@
Type: language
Subtag: xam
Description: /Xam
+Description: ǀXam
Added: 2009-07-29
%%
Type: language
@@ -38106,6 +38231,7 @@
Type: language
Subtag: xeg
Description: //Xegwi
+Description: ǁXegwi
Added: 2009-07-29
%%
Type: language
@@ -38965,6 +39091,8 @@
Subtag: xsj
Description: Subi
Added: 2009-07-29
+Deprecated: 2015-02-12
+Preferred-Value: suj
%%
Type: language
Subtag: xsl
@@ -39614,6 +39742,7 @@
Subtag: yds
Description: Yiddish Sign Language
Added: 2009-07-29
+Deprecated: 2015-02-12
%%
Type: language
Subtag: yea
@@ -39744,6 +39873,11 @@
Added: 2009-07-29
%%
Type: language
+Subtag: yhs
+Description: Yan-nhaŋu Sign Language
+Added: 2015-04-17
+%%
+Type: language
Subtag: yia
Description: Yinggarda
Added: 2009-07-29
@@ -40059,6 +40193,8 @@
Subtag: ymt
Description: Mator-Taygi-Karagas
Added: 2009-07-29
+Deprecated: 2015-02-12
+Preferred-Value: mtm
%%
Type: language
Subtag: ymx
@@ -40094,6 +40230,7 @@
Subtag: ynh
Description: Yangho
Added: 2009-07-29
+Deprecated: 2015-02-12
%%
Type: language
Subtag: ynk
@@ -42334,6 +42471,13 @@
Prefix: sgn
%%
Type: extlang
+Subtag: iks
+Description: Inuit Sign Language
+Added: 2015-02-12
+Preferred-Value: iks
+Prefix: sgn
+%%
+Type: extlang
Subtag: ils
Description: International Sign
Added: 2009-07-29
@@ -43238,7 +43382,7 @@
Subtag: yds
Description: Yiddish Sign Language
Added: 2009-07-29
-Preferred-Value: yds
+Deprecated: 2015-02-12
Prefix: sgn
%%
Type: extlang
@@ -43249,6 +43393,13 @@
Prefix: sgn
%%
Type: extlang
+Subtag: yhs
+Description: Yan-nhaŋu Sign Language
+Added: 2015-04-17
+Preferred-Value: yhs
+Prefix: sgn
+%%
+Type: extlang
Subtag: ysl
Description: Yugoslavian Sign Language
Added: 2009-07-29
@@ -43303,6 +43454,11 @@
Macrolanguage: ms
%%
Type: script
+Subtag: Adlm
+Description: Adlam
+Added: 2014-12-11
+%%
+Type: script
Subtag: Afak
Description: Afaka
Added: 2011-01-07
@@ -43324,6 +43480,11 @@
Added: 2005-10-16
%%
Type: script
+Subtag: Aran
+Description: Arabic (Nastaliq variant)
+Added: 2014-12-11
+%%
+Type: script
Subtag: Armi
Description: Imperial Aramaic
Added: 2007-12-05
@@ -43649,6 +43810,16 @@
Added: 2011-08-16
%%
Type: script
+Subtag: Kitl
+Description: Khitan large script
+Added: 2014-12-11
+%%
+Type: script
+Subtag: Kits
+Description: Khitan small script
+Added: 2014-12-11
+%%
+Type: script
Subtag: Knda
Description: Kannada
Added: 2005-10-16
@@ -43753,6 +43924,11 @@
Added: 2007-07-28
%%
Type: script
+Subtag: Marc
+Description: Marchen
+Added: 2014-12-11
+%%
+Type: script
Subtag: Maya
Description: Mayan hieroglyphs
Added: 2005-10-16
@@ -43874,6 +44050,11 @@
Added: 2005-10-16
%%
Type: script
+Subtag: Osge
+Description: Osage
+Added: 2014-12-11
+%%
+Type: script
Subtag: Osma
Description: Osmanya
Added: 2005-10-16
@@ -45774,6 +45955,15 @@
Prefix: de
%%
Type: variant
+Subtag: abl1943
+Description: Orthographic formulation of 1943 - Official in Brazil
+ (Formulário Ortográfico de 1943 - Oficial no Brasil)
+Added: 2015-05-06
+Prefix: pt-BR
+Comments: Denotes conventions established by the Academia Brasileira de
+ Letras in 1943 and generally used in Brazil until 2009
+%%
+Type: variant
Subtag: alalc97
Description: ALA-LC Romanization, 1997 edition
Added: 2009-12-09
@@ -45792,6 +45982,16 @@
continuum in Eastern Suriname and Western French Guiana
%%
Type: variant
+Subtag: ao1990
+Description: Portuguese Language Orthographic Agreement of 1990 (Acordo
+ Ortográfico da Língua Portuguesa de 1990)
+Added: 2015-05-06
+Prefix: pt
+Prefix: gl
+Comments: Portuguese orthography conventions established in 1990 but
+ not brought into effect until 2009
+%%
+Type: variant
Subtag: arevela
Description: Eastern Armenian
Added: 2006-09-18
@@ -45877,6 +46077,16 @@
Comments: Jargon embedded in American English
%%
Type: variant
+Subtag: colb1945
+Description: Portuguese-Brazilian Orthographic Convention of 1945
+ (Convenção Ortográfica Luso-Brasileira de 1945)
+Added: 2015-05-06
+Prefix: pt
+Comments: Portuguese orthography conventions established in 1945,
+ generally in effect until 2009. This reform was not ratified in
+ Brazil.
+%%
+Type: variant
Subtag: dajnko
Description: Slovene in Dajnko alphabet
Added: 2012-06-27
@@ -46072,6 +46282,12 @@
dialects of Resian
%%
Type: variant
+Subtag: oxendict
+Description: Oxford English Dictionary spelling
+Added: 2015-04-17
+Prefix: en
+%%
+Type: variant
Subtag: pamaka
Description: Pamaka dialect
Added: 2009-09-05
@@ -46265,11 +46481,15 @@
Tag: cel-gaulish
Description: Gaulish
Added: 2001-05-25
+Deprecated: 2015-03-29
+Comments: see xcg, xga, xtg
%%
Type: grandfathered
Tag: en-GB-oed
Description: English, Oxford English Dictionary spelling
Added: 2003-07-09
+Deprecated: 2015-04-17
+Preferred-Value: en-GB-oxendict
%%
Type: grandfathered
Tag: i-ami
@@ -46294,6 +46514,7 @@
Tag: i-enochian
Description: Enochian
Added: 2002-07-03
+Deprecated: 2015-03-29
%%
Type: grandfathered
Tag: i-hak
@@ -46410,6 +46631,7 @@
Description: Min, Fuzhou, Hokkien, Amoy, or Taiwanese
Added: 1999-12-18
Deprecated: 2009-07-29
+Comments: see cdo, cpx, czo, mnp, nan
%%
Type: grandfathered
Tag: zh-min-nan
++++++ libetonyek-0.1.1.tar.bz2 -> libetonyek-0.1.3.tar.bz2 ++++++
++++ 52760 lines of diff (skipped)
++++++ libfreehand-0.1.0.tar.bz2 -> libfreehand-0.1.1.tar.bz2 ++++++
++++ 54759 lines of diff (skipped)
++++++ libmwaw-0.3.4.tar.bz2 -> libmwaw-0.3.5.tar.bz2 ++++++
++++ 67074 lines of diff (skipped)
++++++ libodfgen-0.1.3.tar.bz2 -> libodfgen-0.1.4.tar.bz2 ++++++
++++ 33465 lines of diff (skipped)
++++++ libreoffice-4.4.3.2.tar.xz -> libreoffice-5.0.0.3.tar.xz ++++++
/work/SRC/openSUSE:Factory/libreoffice/libreoffice-4.4.3.2.tar.xz /work/SRC/openSUSE:Factory/.libreoffice.new/libreoffice-5.0.0.3.tar.xz differ: char 26, line 1
++++++ libreoffice-help-4.4.3.2.tar.xz -> libreoffice-help-5.0.0.3.tar.xz ++++++
++++ 8277 lines of diff (skipped)
++++++ libreoffice-translations-4.4.3.2.tar.xz -> libreoffice-translations-5.0.0.3.tar.xz ++++++
/work/SRC/openSUSE:Factory/libreoffice/libreoffice-translations-4.4.3.2.tar.xz /work/SRC/openSUSE:Factory/.libreoffice.new/libreoffice-translations-5.0.0.3.tar.xz differ: char 25, line 1
++++++ libwps-0.3.1.tar.bz2 -> libwps-0.4.0.tar.bz2 ++++++
++++ 28931 lines of diff (skipped)
++++++ old-cairo.patch ++++++
Index: libreoffice-5.0.0.3/vcl/headless/svpgdi.cxx
===================================================================
--- libreoffice-5.0.0.3.orig/vcl/headless/svpgdi.cxx
+++ libreoffice-5.0.0.3/vcl/headless/svpgdi.cxx
@@ -108,7 +108,7 @@ namespace
if (rBuffer->getScanlineFormat() != basebmp::FORMAT_THIRTYTWO_BIT_TC_MASK_BGRX)
return false;
-#if CAIRO_VERSION >= CAIRO_VERSION_ENCODE(1, 6, 0)
+#if CAIRO_VERSION >= CAIRO_VERSION_ENCODE(1, 10, 0)
basegfx::B2IVector size = rBuffer->getSize();
sal_Int32 nStride = rBuffer->getScanlineStride();
return (cairo_format_stride_for_width(CAIRO_FORMAT_RGB24, size.getX()) == nStride);
@@ -142,7 +142,7 @@ bool SvpSalGraphics::drawAlphaRect(long
bool bRet = false;
(void)nX; (void)nY; (void)nWidth; (void)nHeight; (void)nTransparency;
#if ENABLE_CAIRO_CANVAS
-#if CAIRO_VERSION >= CAIRO_VERSION_ENCODE(1, 6, 0)
+#if CAIRO_VERSION >= CAIRO_VERSION_ENCODE(1, 10, 0)
if (m_bUseLineColor || !m_bUseFillColor)
return bRet;
[View Less]
1
0
Hello community,
here is the log from the commit of package libwmf for openSUSE:Factory checked in at 2015-08-03 17:20:44
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/libwmf (Old)
and /work/SRC/openSUSE:Factory/.libwmf.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "libwmf"
Changes:
--------
--- /work/SRC/openSUSE:Factory/libwmf/libwmf.changes 2015-06-24 20:32:19.000000000 +…
[View More]0200
+++ /work/SRC/openSUSE:Factory/.libwmf.new/libwmf.changes 2015-08-03 17:20:46.000000000 +0200
@@ -1,0 +2,10 @@
+Tue Jun 30 08:51:41 UTC 2015 - fstrba(a)suse.com
+
+- Added patches:
+ * libwmf-0.2.8.4-CVE-2015-4695.patch
+ - Fix CVE-2015-4695: meta_pen_create heap buffer over read
+ (bsc#936058)
+ * libwmf-0.2.8.4-CVE-2015-4696.patch
+ - Fix CVE-2015-4696: wmf2gd/wmf2eps use after free (bsc#936062)
+
+-------------------------------------------------------------------
@@ -13 +23 @@
-Tue Aug 26 11:59:16 UTC 2014 - nadvornik(a)suse.com
+Wed Aug 20 13:09:41 UTC 2014 - nadvornik(a)suse.com
New:
----
libwmf-0.2.8.4-CVE-2015-4695.patch
libwmf-0.2.8.4-CVE-2015-4696.patch
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ libwmf.spec ++++++
--- /var/tmp/diff_new_pack.VDbgrv/_old 2015-08-03 17:20:47.000000000 +0200
+++ /var/tmp/diff_new_pack.VDbgrv/_new 2015-08-03 17:20:47.000000000 +0200
@@ -34,6 +34,8 @@
Patch5: libwmf-0.2.8.4-bnc495842.patch
Patch6: libwmf-0.2.8.4-CVE-2015-0848.patch
Patch7: libwmf-0.2.8.4-badrle.patch
+Patch8: libwmf-0.2.8.4-CVE-2015-4696.patch
+Patch9: libwmf-0.2.8.4-CVE-2015-4695.patch
BuildRequires: gd-devel
BuildRequires: gtk2-devel
BuildRequires: libjpeg-devel
@@ -108,6 +110,8 @@
%patch5
%patch6 -p1
%patch7 -p1
+%patch8 -p1
+%patch9 -p1
%build
%configure --prefix=%{_prefix} $RPM_ARCH-suse-linux --enable-magick --libdir=%{_libdir}
++++++ libwmf-0.2.8.4-CVE-2015-4695.patch ++++++
Index: libwmf-0.2.8.4/src/player/meta.h
===================================================================
--- libwmf-0.2.8.4.orig/src/player/meta.h
+++ libwmf-0.2.8.4/src/player/meta.h
@@ -1565,7 +1565,7 @@ static int meta_rgn_create (wmfAPI* API,
objects = P->objects;
i = 0;
- while (objects[i].type && (i < NUM_OBJECTS (API))) i++;
+ while ((i < NUM_OBJECTS (API)) && objects[i].type) i++;
if (i == NUM_OBJECTS (API))
{ WMF_ERROR (API,"Object out of range!");
@@ -2142,7 +2142,7 @@ static int meta_dib_brush (wmfAPI* API,w
objects = P->objects;
i = 0;
- while (objects[i].type && (i < NUM_OBJECTS (API))) i++;
+ while ((i < NUM_OBJECTS (API)) && objects[i].type) i++;
if (i == NUM_OBJECTS (API))
{ WMF_ERROR (API,"Object out of range!");
@@ -3067,7 +3067,7 @@ static int meta_pen_create (wmfAPI* API,
objects = P->objects;
i = 0;
- while (objects[i].type && (i < NUM_OBJECTS (API))) i++;
+ while ((i < NUM_OBJECTS (API)) && objects[i].type) i++;
if (i == NUM_OBJECTS (API))
{ WMF_ERROR (API,"Object out of range!");
@@ -3181,7 +3181,7 @@ static int meta_brush_create (wmfAPI* AP
objects = P->objects;
i = 0;
- while (objects[i].type && (i < NUM_OBJECTS (API))) i++;
+ while ((i < NUM_OBJECTS (API)) && objects[i].type) i++;
if (i == NUM_OBJECTS (API))
{ WMF_ERROR (API,"Object out of range!");
@@ -3288,7 +3288,7 @@ static int meta_font_create (wmfAPI* API
objects = P->objects;
i = 0;
- while (objects[i].type && (i < NUM_OBJECTS (API))) i++;
+ while ((i < NUM_OBJECTS (API)) && objects[i].type) i++;
if (i == NUM_OBJECTS (API))
{ WMF_ERROR (API,"Object out of range!");
@@ -3396,7 +3396,7 @@ static int meta_palette_create (wmfAPI*
objects = P->objects;
i = 0;
- while (objects[i].type && (i < NUM_OBJECTS (API))) i++;
+ while ((i < NUM_OBJECTS (API)) && objects[i].type) i++;
if (i == NUM_OBJECTS (API))
{ WMF_ERROR (API,"Object out of range!");
++++++ libwmf-0.2.8.4-CVE-2015-4696.patch ++++++
--- libwmf-0.2.8.4/src/player/meta.h
+++ libwmf-0.2.8.4/src/player/meta.h
+ if (FR->region_clip) FR->region_clip (API,&polyrect);
+
wmf_free (API,polyrect.TL);
wmf_free (API,polyrect.BR);
}
@@ -2593,9 +2595,10 @@
polyrect.BR = 0;
polyrect.count = 0;
+
+ if (FR->region_clip) FR->region_clip (API,&polyrect);
}
- if (FR->region_clip) FR->region_clip (API,&polyrect);
return (changed);
}
[View Less]
1
0