openSUSE Commits
Threads by month
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2009 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2008 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2007 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2006 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
February 2017
- 1 participants
- 1918 discussions
Hello community,
here is the log from the commit of package picard for openSUSE:Factory checked in at 2017-02-28 23:50:08
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/picard (Old)
and /work/SRC/openSUSE:Factory/.picard.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "picard"
Tue Feb 28 23:50:08 2017 rev:26 rq:458661 version:1.4.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/picard/picard.changes 2016-07-07 15:10:32.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.picard.new/picard.changes 2017-02-28 23:50:09.844706815 +0100
@@ -1,0 +2,193 @@
+Fri Feb 17 10:16:22 UTC 2017 - olaf(a)aepfle.de
+
+- Drop bonusdisc.py, URL disappeared
+
+-------------------------------------------------------------------
+Tue Feb 14 12:34:42 UTC 2017 - alarrosa(a)suse.com
+
+- Update to version 1.4.0
+ * Bugfix: AcoustID submission fails with code 299 (PICARD-82)
+ * Bugfix: Ignoring "hip hop rap" folksonomy tags also ignores "rap", "hip hop", etc. (PICARD-335)
+ * Bugfix: Picard downloads multiple 'front' images instead of just first one. (PICARD-350)
+ * Bugfix: Saving hidden file with only an extension drops the extension (PICARD-357)
+ * Bugfix: Add directory opens in "wrong" dir (PICARD-366)
+ * Bugfix: Picard should de-duplicate work lists (PICARD-375)
+ * Bugfix: Tree selector in Options window is partially obscured, pane too narrow (PICARD-408)
+ * Bugfix: tag acoustid_id can not be removed or deleted in script, renaming or plugin (PICARD-419)
+ * Bugfix: Can't remove value from field (PICARD-546)
+ * Bugfix: Can't open Options (PICARD-592)
+ * Bugfix: "Tags from filenames" action stays enabled even if it is unavailable. (PICARD-688)
+ * Bugfix: Using the first image type as filename changes the name of front images (PICARD-701)
+ * Bugfix: Fingerprint Submission Failes if AcoustID tags are present and/or invalid (PICARD-706)
+ * Bugfix: Picard moves into the selected folder (PICARD-726)
+ * Bugfix: Picard does not support (recording) relationship credits (PICARD-730)
+ * Bugfix: Picard repeats/duplicates field data (PICARD-748)
+ * Bugfix: Number of pending web requests is not decremented on exceptions in the handler (PICARD-751)
+ * Bugfix: Divide by zero error in _convert_folksonomy_tags_to_genre when no tag at the release/release group level ( PICARD-753)
+ * Bugfix: Directory tree (file browser) not sorted for non-system drives under Windows (PICARD-754)
+ * Bugfix: Crash when loading release with only zero count tags (PICARD-759)
+ * Bugfix: No name and no window grouping in gnome-shell Alt-Tab app switcher (PICARD-761)
+ * Bugfix: Lookup in Browser does not and can not load HTTPS version of musicbrainz.org (PICARD-764)
+ * Bugfix: Unable to login using oauth via Picard options with Server Port set to 443 (PICARD-766)
+ * Bugfix: "AttributeError: 'MetadataBox' object has no attribute 'resize_columns'" when enabling the cover art box ( PICARD-775)
+ * Bugfix: Pre-gap tracks are not counted in absolutetracknumber (PICARD-778)
+ * Bugfix: CAA cover art provider runs even if cover art has already been loaded (PICARD-780)
+ * Bugfix: Toggling Embed Cover Art in Tags and restarting doesn't have the expected behavior (PICARD-782)
+ * Bugfix: XMLWS redirects incorrectly (PICARD-788)
+ * Bugfix: Handle empty collection-list in web server response (PICARD-798)
+ * Bugfix: Amazon Cover Art provider does not work (and does not have a lot of debug logging enabled) (PICARD-799)
+ * Bugfix: Cover Art from CAA release group is skipped even though it exists (PICARD-801)
+ * Bugfix: Multiple instances of history and log dialogs (PICARD-804)
+ * Bugfix: Empty string lookup (PICARD-805)
+ * Bugfix: Will not load album information on any albums (PICARD-811)
+ * Bugfix: Redirect URL is not encoded which leads to http 400 error. (PICARD-814)
+ * Bugfix: Not compatible with latest Mutagen (PICARD-833)
+ * Bugfix: Can't save any files. Get: "error: invalid literal for int() with base 10" (PICARD-834)
+ * Bugfix: Picard 1.3.2 shows cleartext username & password on status line when errors occur (PICARD-839)
+ * Bugfix: Cannot fetch cover art from amazon link contains https scheme. (PICARD-848)
+ * Bugfix: media-optical-modified.png icon still displayed after release save when two files match one track (PICARD-851)
+ * Bugfix: Release that Picard will not load (due to disc with just data track?) (PICARD-853)
+ * Bugfix: ValueError in metadata.py (PICARD-855)
+ * Bugfix: Improper detection of Gnome as a desktop environment and no support for gnome 3 (PICARD-857)
+ * Bugfix: Apparent non-functional tagger button (PICARD-858)
+ * Bugfix: Picard does not read Ogg/Opus files with an ".ogg" file exension (PICARD-859)
+ * Bugfix: Setting a large value in in $num function as length causes picard to become unresponsive (PICARD-865)
+ * Bugfix: id3 deletion needs to be improved (PICARD-867)
+ * Bugfix: id3v2.3 does not properly handle TMOO ( mood tag) (PICARD-868)
+ * Bugfix: Coverart providers duplicates on reset (PICARD-870)
+ * Bugfix: Restore defaults broken for plugins page and tagger scripts page (PICARD-873)
+ * Bugfix: Coverart providers erroneous save (PICARD-874)
+ * Bugfix: The metadatabox doesn't correctly show the tag selected (PICARD-876)
+ * Bugfix: Length tag for ID3 is no longer displayed in the metadata box (PICARD-881)
+ * Bugfix: Removed tags are not removed from the metadatabox after saving the file (PICARD-882)
+ * Bugfix: File Browser pane doesn't check for path type( file or folder) when setting home path/move files here ( PICARD-884)
+ * Bugfix: mov files return a +ve score for mp4 container leading to errors (PICARD-885)
+ * Bugfix: "Restore defaults" doesn't log out the user (PICARD-888)
+ * Bugfix: Broken 'Restore Defaults' (PICARD-907)
+ * Bugfix: Messagebox wraps and displays title inappropriately (PICARD-911)
+ * Bugfix: An “empty” track shouldn’t get an “excellent match” tooltip. (PICARD-914)
+ * Bugfix: In plugins list, some plugins don't show description (PICARD-915)
+ * Bugfix: Plugin restore defaults broken (PICARD-916)
+ * Bugfix: Does not use UI language but locale on Windows (PICARD-917)
+ * Bugfix: Preserve scripting splitter position (PICARD-925)
+ * Bugfix: Having trouble submitting AcoustIDs (PICARD-926)
+ * Bugfix: Cluster double‐click opens the Info… panel (PICARD-931)
+ * Bugfix: Status bar not cleared when selection changed (PICARD-937)
+ * Bugfix: Open containing folder not working for shared files over network (PICARD-942)
+ * Bugfix: Warning: Plugin directory '…/python2.7/site-packages/contrib/plugins' doesn't exist (PICARD-945)
+ * Bugfix: Additionnal files aren't moved anymore (PICARD-946)
+ * Bugfix: Search window error message does not appear translated (PICARD-947)
+ * Bugfix: Open Containing Folder duplicates (PICARD-950)
+ * Bugfix: Errors when directory / file names contain unicode characters (PICARD-958)
+ * New Feature: AIF support (ID3) (PICARD-42)
+ * New Feature: Test and integrate support for "local" cover art into Picard (PICARD-137)
+ * New Feature: Display infos (album, artist, tracklist) for clusters without release match (PICARD-680)
+ * New Feature: Add download plugin functionality to existing UI (PICARD-691)
+ * New Feature: Fallback on album artist's tags if no tags are found for album (PICARD-738)
+ * New Feature: Add m2a as a supported extension (PICARD-743)
+ * New Feature: MusicBrainz/AcoustID entities should be hyperlinked in Picard (PICARD-756)
+ * New Feature: Support key tag (PICARD-769)
+ * New Feature: Export / import settings (PICARD-901)
+ * New Feature: Search releases from within a Picard dialog (PICARD-927)
+ * New Feature: Searching tracks and displaying similar tracks in a dialog box (PICARD-928)
+ * New Feature: Search for artists from dialog (PICARD-929)
+ * Task: Picard default name files script refinement (PICARD-717)
+ * Task: Update Picard logo/icons (PICARD-760)
+ * Task: Link to the Scripting documentation on the Scripting options page (PICARD-779)
+ * Task: Remove contrib/plugins from the repository (PICARD-835)
+ * Task: Raise the required mutagen version to 1.22 (PICARD-841)
+ * Task: Renaming save_only_front_images_to_tags option to something more appropriate (PICARD-861)
+ * Task: Allow translators to finalize translations before releasing Picard 1.4 (PICARD-895)
+ * Task: Raise the required Python version to 2.7. (PICARD-904)
+ * Task: Bump Picard’s copyright date (PICARD-912)
+ * Task: Add Norwegian to UI languages (PICARD-982)
+ * Task: Provide ~video variable for video tracks (PICARD-652)
+ * Task: Improve error logging on AcoustId submission (PICARD-708)
+ * Improvement: Link to Picard Scripting page under 'File Naming' (PICARD-22)
+ * Improvement: Restore default settings button/s (PICARD-116)
+ * Improvement: Speed of Ogg tag writing/updating (PICARD-133)
+ * Improvement: Allow adding/removing tags to be preserved from context menu in the tag diff pane (PICARD-207)
+ * Improvement: Make it easier to remove everything currently loaded in Picard (PICARD-210)
+ * Improvement: Bring back keyboard shortcuts for editing tags (PICARD-222)
+ * Improvement: Case sensitivity for "Move additional files" option (PICARD-229)
+ * Improvement: Metadata comparison box shows that it intends to write (and has written) tags unsupported by underlyingfile format (PICARD-253)
+ * Improvement: Add more descriptive tooltips to buttons (PICARD-267)
+ * Improvement: Allow musicip_puid and acoustid_id to be cleared from tags (PICARD-268)
+ * Improvement: Make it possible to remove existing tags without clearing all tags (PICARD-287)
+ * Improvement: Disable recurse subdirectories should be added (PICARD-291)
+ * Improvement: display how many "pending files" left on lookup (PICARD-305)
+ * Improvement: Handle MP3 TSST/TIT3 (subtitle) tags better with ID3v2.3 (PICARD-307)
+ * Improvement: Customisable toolbars (PICARD-353)
+ * Improvement: Ignore file extension and try to read anyway (PICARD-359)
+ * Improvement: Make it possible to unset all performer (etc) tags (PICARD-384)
+ * Improvement: Progress tracking (PICARD-388)
+ * Improvement: Add ability to handle multiple tagger scripts (PICARD-404)
+ * Improvement: the option "select all" to save (PICARD-476)
+ * Improvement: Option to load only audio tracks, i.e. not DVD-Video, CD-ROM tracks (PICARD-514)
+ * Improvement: Picard should use OAuth for authentication (PICARD-615)
+ * Improvement: Improvements to WMA tags (PICARD-648)
+ * Improvement: Only ask to "log in now" once per session (PICARD-678)
+ * Improvement: Show codec info for MP4 files (PICARD-683)
+ * Improvement: "Play File" button should be renamed to "Open in Player" (PICARD-692)
+ * Improvement: ID3 padding not reduced can result in large files (PICARD-695)
+ * Improvement: Set option 'caa_approved_only' disabled by default (PICARD-705)
+ * Improvement: Validate fpcalc executable in options (PICARD-707)
+ * Improvement: Improve File Naming options (PICARD-733)
+ * Improvement: Add --long-version/-V option, outputting third parties libs versions as well as Picard version PICARD-734)
+ * Improvement: missing info in the help file (PICARD-740)
+ * Improvement: Pass command-line arguments to QtApplication (PICARD-773)
+ * Improvement: Use the more detailed icons in more places on windows (PICARD-777)
+ * Improvement: Use .ini configuration file on all platforms (PICARD-794)
+ * Improvement: Use python2 shebang as of PEP 0394 (PICARD-806)
+ * Improvement: Display existing covers in File Info dialog (PICARD-808)
+ * Improvement: Use HTTPS for external links (PICARD-818)
+ * Improvement: Install a scalable icon (PICARD-838)
+ * Improvement: Use HTTPS for requests to the plugins API on picard.musicbrainz.org (PICARD-852)
+ * Improvement: Use magic numbers to determine the audio file types instead of relying on extensions (PICARD-864)
+ * Improvement: Multi-scripting UI is very basic (PICARD-883)
+ * Improvement: Allow scripting functions to have arbitrary number of arguments (PICARD-887)
+ * Improvement: The "Restore defaults" confirmation buttons should follow the quit confirmation dialog in style PICARD-890)
+ * Improvement: Replace submit icon with AcoustID logo (PICARD-896)
+ * Improvement: Rename "Submit" button to "Submit AcoustIDs" (PICARD-897)
+ * Improvement: Use UTF-8 for ID3v2.4 by default instead of UTF-16 (PICARD-898)
+ * Improvement: Restore defaults is slightly broken for tags option page (PICARD-902)
+ * Improvement: Rearrange the action toolbar icons from left to right according to the expected user-flow (PICARD-908)
+ * Improvement: Add tooltips to “Restore all Defaults” and “Restore Defaults” (PICARD-913)
+ * Improvement: Make PICARD-883 UI have adjustable widths for list of scripts and script content (PICARD-918)
+ * Improvement: Move Options/Advanced/Scripting to Options/Scripting (PICARD-919)
+ * Improvement: Move UI options page up the options tree (PICARD-921)
+ * Improvement: Add $startswith and $endswith string functions (PICARD-923)
+ * Improvement: Make list of scripts smaller than script text by default (PICARD-924)
+ * Improvement: Wait for save thread pool to be finished before exit (PICARD-944)
+ * Improvement: New guess format functionality should use explicit buffer size (PICARD-970)
+
+-------------------------------------------------------------------
+Tue Feb 14 11:33:53 UTC 2017 - alarrosa(a)suse.com
+
+- Fix the source urls for the plugins.
+
+-------------------------------------------------------------------
+Sun Feb 12 11:28:08 UTC 2017 - alarrosa(a)suse.com
+
+- Add 0001-Introduce-new-cover-art-thumbnail-class.patch
+ 0002-Connect-events-for-CoverArtThumbnail-class.patch
+ 0003-Update-coverartbox-class-to-include-new-and-original.patch
+ 0004-Update-labels-in-_show-method.patch
+ 0005-Update-mainwindow-to-display-original-coverart.patch
+ 0006-Implement-__eq__-method-for-CoverArtThumbnail-and-up.patch
+ 0007-Add-i18n-support-to-coverart-labels.patch
+ 0008-Add-view-coverart-changes-button.patch
+ 0009-Add-spacer-item-to-push-coverartbox-items-to-top.patch
+ which are part of pull request 586, which fixes PICARD-258.
+ This pull request was already approved upstream but will be merged
+ after 1.4.0 is released.
+- This makes picard show visual feedback in the main window
+ for coverart changes in tracks.
+
+-------------------------------------------------------------------
+Sat Feb 11 09:13:52 UTC 2017 - alarrosa(a)suse.com
+
+- Add fix-cover-art-downloads.diff, which fixes drag&drop issues with
+ cover art images from amazon/google images/urls using https.
+
+-------------------------------------------------------------------
Old:
----
bonusdisc.py
picard-1.3.2.tar.gz
New:
----
0001-Introduce-new-cover-art-thumbnail-class.patch
0002-Connect-events-for-CoverArtThumbnail-class.patch
0003-Update-coverartbox-class-to-include-new-and-original.patch
0004-Update-labels-in-_show-method.patch
0005-Update-mainwindow-to-display-original-coverart.patch
0006-Implement-__eq__-method-for-CoverArtThumbnail-and-up.patch
0007-Add-i18n-support-to-coverart-labels.patch
0008-Add-view-coverart-changes-button.patch
0009-Add-spacer-item-to-push-coverartbox-items-to-top.patch
fix-cover-art-downloads.diff
picard-1.4.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ picard.spec ++++++
--- /var/tmp/diff_new_pack.d3FSQI/_old 2017-02-28 23:50:11.360492870 +0100
+++ /var/tmp/diff_new_pack.d3FSQI/_new 2017-02-28 23:50:11.364492306 +0100
@@ -1,7 +1,7 @@
#
# spec file for package picard
#
-# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -17,25 +17,37 @@
Name: picard
-Version: 1.3.2
+Version: 1.4.0
Release: 0
Summary: The Next Generation MusicBrainz Tagger
License: GPL-2.0+
Group: Productivity/Multimedia/Sound/Utilities
Url: http://musicbrainz.org/doc/PicardTagger
-Source0: http://ftp.musicbrainz.org/pub/musicbrainz/picard/%{name}-%{version}.tar.gz
+Source0: ftp://ftp.musicbrainz.org/pub/musicbrainz/picard/%{name}-1.4.tar.gz
+Patch0: fix-cover-art-downloads.diff
+Patch1: 0001-Introduce-new-cover-art-thumbnail-class.patch
+Patch2: 0002-Connect-events-for-CoverArtThumbnail-class.patch
+Patch3: 0003-Update-coverartbox-class-to-include-new-and-original.patch
+Patch4: 0004-Update-labels-in-_show-method.patch
+Patch5: 0005-Update-mainwindow-to-display-original-coverart.patch
+Patch6: 0006-Implement-__eq__-method-for-CoverArtThumbnail-and-up.patch
+Patch7: 0007-Add-i18n-support-to-coverart-labels.patch
+Patch8: 0008-Add-view-coverart-changes-button.patch
+Patch9: 0009-Add-spacer-item-to-push-coverartbox-items-to-top.patch
# http://wiki.musicbrainz.org/Picard_Plugins
-Source2: http://dispuutivv.nl/~jan/bonusdisc.py
-Source8: http://users.musicbrainz.org/~brianfreud/SearchAmazon3.py
-Source9: http://users.musicbrainz.org/~brianfreud/SearchAMG.py
-Source10: http://users.musicbrainz.org/~brianfreud/SearchCastAlbums3.py
-Source11: http://users.musicbrainz.org/~brianfreud/SearchDiscogs3.py
-Source12: http://users.musicbrainz.org/~brianfreud/SearchFilmMusziek3.py
-Source13: http://users.musicbrainz.org/~brianfreud/SearchGMR.py
-Source14: http://users.musicbrainz.org/~brianfreud/SearchGoogle3.py
-Source15: http://users.musicbrainz.org/~brianfreud/SearchLortelArchives3.py
-Source16: http://users.musicbrainz.org/~brianfreud/SearchSoundtrackCollector3.py
-Source17: http://users.musicbrainz.org/~brianfreud/SearchSoundtrackINFO3.py
+# All of the Search*.py files come from https://github.com/brianfreud/Picard-plugins
+# The full URL can not be part of this specfile because download corrupts line endings
+Source8: SearchAmazon3.py
+Source9: SearchAMG.py
+Source10: SearchCastAlbums3.py
+Source11: SearchDiscogs3.py
+Source12: SearchFilmMusziek3.py
+Source13: SearchGMR.py
+Source14: SearchGoogle3.py
+Source15: SearchLortelArchives3.py
+Source16: SearchSoundtrackCollector3.py
+Source17: SearchSoundtrackINFO3.py
+#
BuildRequires: desktop-file-utils
BuildRequires: gcc-c++
BuildRequires: libofa-devel
@@ -58,7 +70,17 @@
%lang_package
%prep
-%setup -q -n %{name}-release-%{version}
+%setup -q -n %{name}-release-1.4
+%patch0 -p1
+%patch1 -p1
+%patch2 -p1
+%patch3 -p1
+%patch4 -p1
+%patch5 -p1
+%patch6 -p1
+%patch7 -p1
+%patch8 -p1
+%patch9 -p1
%build
python setup.py config
@@ -69,7 +91,6 @@
# install plugins
PLUGINDIR=%{buildroot}%{py_sitedir}/picard/plugins/
-install -m 0644 %{SOURCE2} ${PLUGINDIR}
install -m 0644 %{SOURCE8} ${PLUGINDIR}
install -m 0644 %{SOURCE9} ${PLUGINDIR}
install -m 0644 %{SOURCE10} ${PLUGINDIR}
@@ -102,6 +123,7 @@
%{_datadir}/applications/%{name}.desktop
%{python_sitearch}/picard*
%{_datadir}/icons/hicolor/*/apps/picard.png
+%{_datadir}/icons/hicolor/*/apps/picard.svg
%files lang -f %{name}.lang
%defattr(-,root,root)
++++++ 0001-Introduce-new-cover-art-thumbnail-class.patch ++++++
>From b56a1ac307c2183052334926114cb71da41f3956 Mon Sep 17 00:00:00 2001
From: Sambhav Kothari <sambhavs.email(a)gmail.com>
Date: Sun, 22 Jan 2017 18:49:00 +0530
Subject: [PATCH 1/9] Introduce new cover-art thumbnail class
---
picard/ui/coverartbox.py | 64 ++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 64 insertions(+)
diff --git a/picard/ui/coverartbox.py b/picard/ui/coverartbox.py
index fc515877..a2ca057f 100644
--- a/picard/ui/coverartbox.py
+++ b/picard/ui/coverartbox.py
@@ -67,6 +67,70 @@ class ActiveLabel(QtGui.QLabel):
if accepted:
event.acceptProposedAction()
+class CoverArtThumbnail(ActiveLabel):
+
+ def __init__(self, active=False, drops=False, *args, **kwargs):
+ super(CoverArtThumbnail, self).__init__(active, drops, *args, **kwargs)
+ self.data = None
+ self.shadow = QtGui.QPixmap(":/images/CoverArtShadow.png")
+ self.release = None
+ self.setPixmap(self.shadow)
+ self.setAlignment(QtCore.Qt.AlignTop | QtCore.Qt.AlignHCenter)
+ self.clicked.connect(self.open_release_page)
+ self.imageDropped.connect(self.fetch_remote_image)
+
+ def show(self):
+ self.set_data(self.data, True)
+
+ def set_data(self, data, force=False, pixmap=None):
+ if not force and self.data == data:
+ return
+
+ self.data = data
+ if not force and self.parent().isHidden():
+ return
+
+ cover = self.shadow
+ if self.data:
+ if pixmap is None:
+ pixmap = QtGui.QPixmap()
+ pixmap.loadFromData(self.data.data)
+ if not pixmap.isNull():
+ offx, offy, w, h = (1, 1, 121, 121)
+ cover = QtGui.QPixmap(self.shadow)
+ pixmap = pixmap.scaled(w, h, QtCore.Qt.KeepAspectRatio, QtCore.Qt.SmoothTransformation)
+ painter = QtGui.QPainter(cover)
+ bgcolor = QtGui.QColor.fromRgb(0, 0, 0, 128)
+ painter.fillRect(QtCore.QRectF(offx, offy, w, h), bgcolor)
+ x = offx + (w - pixmap.width()) / 2
+ y = offy + (h - pixmap.height()) / 2
+ painter.drawPixmap(x, y, pixmap)
+ painter.end()
+ self.setPixmap(cover)
+
+ def set_metadata(self, metadata):
+ data = None
+ if metadata and metadata.images:
+ for image in metadata.images:
+ if image.is_front_image():
+ data = image
+ break
+ else:
+ # There's no front image, choose the first one available
+ data = metadata.images[0]
+ self.set_data(data)
+ release = None
+ if metadata:
+ release = metadata.get("musicbrainz_albumid", None)
+ if release:
+ self.setActive(True)
+ self.setToolTip(_(u"View release on MusicBrainz"))
+ else:
+ self.setActive(False)
+ self.setToolTip("")
+ self.release = release
+
+
class CoverArtBox(QtGui.QGroupBox):
--
2.11.0
++++++ 0002-Connect-events-for-CoverArtThumbnail-class.patch ++++++
>From 908c6d73ed340dfba5da5de888e868aa9b211179 Mon Sep 17 00:00:00 2001
From: Sambhav Kothari <sambhavs.email(a)gmail.com>
Date: Sun, 22 Jan 2017 18:49:48 +0530
Subject: [PATCH 2/9] Connect events for CoverArtThumbnail class
---
picard/ui/coverartbox.py | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/picard/ui/coverartbox.py b/picard/ui/coverartbox.py
index a2ca057f..b7e4b21c 100644
--- a/picard/ui/coverartbox.py
+++ b/picard/ui/coverartbox.py
@@ -130,6 +130,12 @@ class CoverArtThumbnail(ActiveLabel):
self.setToolTip("")
self.release = release
+ def open_release_page(self):
+ lookup = self.tagger.get_file_lookup()
+ lookup.albumLookup(self.release)
+
+ def fetch_remote_image(self, url):
+ return self.parent().fetch_remote_image(url)
class CoverArtBox(QtGui.QGroupBox):
--
2.11.0
++++++ 0003-Update-coverartbox-class-to-include-new-and-original.patch ++++++
>From 569510e9761b80db9e9aac60dffdd207f59a1647 Mon Sep 17 00:00:00 2001
From: Sambhav Kothari <sambhavs.email(a)gmail.com>
Date: Sun, 22 Jan 2017 18:50:52 +0530
Subject: [PATCH 3/9] Update coverartbox class to include new and original
coverart
---
picard/ui/coverartbox.py | 101 +++++++++++++++--------------------------------
1 file changed, 32 insertions(+), 69 deletions(-)
diff --git a/picard/ui/coverartbox.py b/picard/ui/coverartbox.py
index b7e4b21c..f09326ab 100644
--- a/picard/ui/coverartbox.py
+++ b/picard/ui/coverartbox.py
@@ -137,88 +137,50 @@ class CoverArtThumbnail(ActiveLabel):
def fetch_remote_image(self, url):
return self.parent().fetch_remote_image(url)
-
class CoverArtBox(QtGui.QGroupBox):
def __init__(self, parent):
QtGui.QGroupBox.__init__(self, "")
self.layout = QtGui.QVBoxLayout()
- self.layout.setSpacing(0)
+ self.layout.setSpacing(6)
# Kills off any borders
self.setStyleSheet('''QGroupBox{background-color:none;border:1px;}''')
self.setFlat(True)
- self.release = None
- self.data = None
self.item = None
- self.shadow = QtGui.QPixmap(":/images/CoverArtShadow.png")
- self.coverArt = ActiveLabel(False, parent)
- self.coverArt.setPixmap(self.shadow)
- self.coverArt.setAlignment(QtCore.Qt.AlignTop | QtCore.Qt.AlignHCenter)
- self.coverArt.clicked.connect(self.open_release_page)
- self.coverArt.imageDropped.connect(self.fetch_remote_image)
- self.layout.addWidget(self.coverArt, 0)
+ self.cover_art_label = QtGui.QLabel('Cover-Art')
+ self.cover_art_label.setAlignment(QtCore.Qt.AlignTop | QtCore.Qt.AlignHCenter)
+ self.cover_art = CoverArtThumbnail(False, True, parent)
+ self.orig_cover_art_label = QtGui.QLabel('')
+ self.orig_cover_art = CoverArtThumbnail(False, False, parent)
+ self.orig_cover_art_label.setAlignment(QtCore.Qt.AlignTop | QtCore.Qt.AlignHCenter)
+ self.orig_cover_art.setHidden(True)
+ self.layout.addWidget(self.cover_art_label)
+ self.layout.addWidget(self.cover_art)
+ self.layout.addWidget(self.orig_cover_art_label)
+ self.layout.addWidget(self.orig_cover_art)
self.setLayout(self.layout)
+ def _show(self):
+ if self.cover_art.data == self.orig_cover_art.data:
+ self.orig_cover_art.setHidden(True)
+ else:
+ self.orig_cover_art.setHidden(False)
+ self.cover_art_label.setText('New Cover-Art')
+ self.orig_cover_art_label.setText('Original Cover-Art')
+
def show(self):
- self.__set_data(self.data, True)
+ self.cover_art.show()
+ if self.orig_cover_art.data:
+ self.orig_cover_art.show()
+ self._show()
QtGui.QGroupBox.show(self)
- def __set_data(self, data, force=False, pixmap=None):
- if not force and self.data == data:
- return
-
- self.data = data
- if not force and self.isHidden():
- return
-
- cover = self.shadow
- if self.data:
- if pixmap is None:
- pixmap = QtGui.QPixmap()
- pixmap.loadFromData(self.data.data)
- if not pixmap.isNull():
- offx, offy, w, h = (1, 1, 121, 121)
- cover = QtGui.QPixmap(self.shadow)
- pixmap = pixmap.scaled(w, h, QtCore.Qt.KeepAspectRatio, QtCore.Qt.SmoothTransformation)
- painter = QtGui.QPainter(cover)
- bgcolor = QtGui.QColor.fromRgb(0, 0, 0, 128)
- painter.fillRect(QtCore.QRectF(offx, offy, w, h), bgcolor)
- x = offx + (w - pixmap.width()) / 2
- y = offy + (h - pixmap.height()) / 2
- painter.drawPixmap(x, y, pixmap)
- painter.end()
- self.coverArt.setPixmap(cover)
-
- def set_metadata(self, metadata, item):
- self.item = item
- data = None
- if metadata and metadata.images:
- for image in metadata.images:
- if image.is_front_image():
- data = image
- break
- else:
- # There's no front image, choose the first one available
- data = metadata.images[0]
- self.__set_data(data)
- if item and metadata:
- self.coverArt.setAcceptDrops(True)
- else:
- self.coverArt.setAcceptDrops(False)
- release = None
- if metadata:
- release = metadata.get("musicbrainz_albumid", None)
- if release:
- self.coverArt.setActive(True)
- self.coverArt.setToolTip(_(u"View release on MusicBrainz"))
- else:
- self.coverArt.setActive(False)
- self.coverArt.setToolTip("")
- self.release = release
-
- def open_release_page(self):
- lookup = self.tagger.get_file_lookup()
- lookup.albumLookup(self.release)
+ def set_metadata(self, metadata, orig_metadata, item):
+ self.cover_art.set_metadata(metadata)
+ self.orig_cover_art.set_metadata(orig_metadata)
+ self._show()
+ if item:
+ self.item = item
def fetch_remote_image(self, url):
if self.item is None:
@@ -261,7 +223,8 @@ class CoverArtBox(QtGui.QGroupBox):
return
pixmap = QtGui.QPixmap()
pixmap.loadFromData(data)
- self.__set_data([mime, data], pixmap=pixmap)
+ self.cover_art.set_data([mime, data], pixmap=pixmap)
+ self._show()
if isinstance(self.item, Album):
album = self.item
album.metadata.append_image(coverartimage)
--
2.11.0
++++++ 0004-Update-labels-in-_show-method.patch ++++++
>From a2df06a4d9cbaf6cc5220fad42751bbb9f269c54 Mon Sep 17 00:00:00 2001
From: Sambhav Kothari <sambhavs.email(a)gmail.com>
Date: Sun, 22 Jan 2017 18:53:26 +0530
Subject: [PATCH 4/9] Update labels in _show method
---
picard/ui/coverartbox.py | 10 +++++++---
1 file changed, 7 insertions(+), 3 deletions(-)
diff --git a/picard/ui/coverartbox.py b/picard/ui/coverartbox.py
index f09326ab..2ec1719e 100644
--- a/picard/ui/coverartbox.py
+++ b/picard/ui/coverartbox.py
@@ -35,11 +35,11 @@ class ActiveLabel(QtGui.QLabel):
clicked = QtCore.pyqtSignal()
imageDropped = QtCore.pyqtSignal(QtCore.QUrl)
- def __init__(self, active=True, *args):
+ def __init__(self, active=True, drops=False, *args):
QtGui.QLabel.__init__(self, *args)
self.setMargin(0)
self.setActive(active)
- self.setAcceptDrops(False)
+ self.setAcceptDrops(drops)
def setActive(self, active):
self.active = active
@@ -67,6 +67,7 @@ class ActiveLabel(QtGui.QLabel):
if accepted:
event.acceptProposedAction()
+
class CoverArtThumbnail(ActiveLabel):
def __init__(self, active=False, drops=False, *args, **kwargs):
@@ -137,6 +138,7 @@ class CoverArtThumbnail(ActiveLabel):
def fetch_remote_image(self, url):
return self.parent().fetch_remote_image(url)
+
class CoverArtBox(QtGui.QGroupBox):
def __init__(self, parent):
@@ -147,7 +149,7 @@ class CoverArtBox(QtGui.QGroupBox):
self.setStyleSheet('''QGroupBox{background-color:none;border:1px;}''')
self.setFlat(True)
self.item = None
- self.cover_art_label = QtGui.QLabel('Cover-Art')
+ self.cover_art_label = QtGui.QLabel('')
self.cover_art_label.setAlignment(QtCore.Qt.AlignTop | QtCore.Qt.AlignHCenter)
self.cover_art = CoverArtThumbnail(False, True, parent)
self.orig_cover_art_label = QtGui.QLabel('')
@@ -163,6 +165,8 @@ class CoverArtBox(QtGui.QGroupBox):
def _show(self):
if self.cover_art.data == self.orig_cover_art.data:
self.orig_cover_art.setHidden(True)
+ self.cover_art_label.setText('')
+ self.orig_cover_art_label.setText('')
else:
self.orig_cover_art.setHidden(False)
self.cover_art_label.setText('New Cover-Art')
--
2.11.0
++++++ 0005-Update-mainwindow-to-display-original-coverart.patch ++++++
>From 5eadc2556046fef1a5d25d4735493db90551c3f2 Mon Sep 17 00:00:00 2001
From: Sambhav Kothari <sambhavs.email(a)gmail.com>
Date: Sun, 22 Jan 2017 18:54:15 +0530
Subject: [PATCH 5/9] Update mainwindow to display original coverart
---
picard/ui/mainwindow.py | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/picard/ui/mainwindow.py b/picard/ui/mainwindow.py
index 3229f6b7..e34e24ce 100644
--- a/picard/ui/mainwindow.py
+++ b/picard/ui/mainwindow.py
@@ -892,15 +892,17 @@ class MainWindow(QtGui.QMainWindow):
self.update_actions()
metadata = None
+ orig_metadata = None
obj = None
# Clear any existing status bar messages
self.set_statusbar_message("")
if len(objects) == 1:
obj = list(objects)[0]
if isinstance(obj, File):
metadata = obj.metadata
+ orig_metadata = obj.orig_metadata
if obj.state == obj.ERROR:
msg = N_("%(filename)s (error: %(error)s)")
mparms = {
@@ -914,6 +916,7 @@ class MainWindow(QtGui.QMainWindow):
metadata = obj.metadata
if obj.num_linked_files == 1:
file = obj.linked_files[0]
+ orig_metadata = file.orig_metadata
if file.state == File.ERROR:
msg = N_("%(filename)s (%(similarity)d%%) (error: %(error)s)")
mparms = {
@@ -934,7 +937,7 @@ class MainWindow(QtGui.QMainWindow):
self.metadata_box.selection_dirty = True
self.metadata_box.update()
- self.cover_art_box.set_metadata(metadata, obj)
+ self.cover_art_box.set_metadata(metadata, orig_metadata, obj)
self.selection_updated.emit(objects)
def show_cover_art(self):
--
2.11.0
++++++ 0006-Implement-__eq__-method-for-CoverArtThumbnail-and-up.patch ++++++
>From 623dde46e633ea26338293823ab1b8ebcc78e740 Mon Sep 17 00:00:00 2001
From: Sambhav Kothari <sambhavs.email(a)gmail.com>
Date: Sun, 22 Jan 2017 19:20:35 +0530
Subject: [PATCH 6/9] Implement __eq__ method for CoverArtThumbnail and update
_show() method
---
picard/ui/coverartbox.py | 10 +++++++++-
1 file changed, 9 insertions(+), 1 deletion(-)
diff --git a/picard/ui/coverartbox.py b/picard/ui/coverartbox.py
index 2ec1719e..03bcdc57 100644
--- a/picard/ui/coverartbox.py
+++ b/picard/ui/coverartbox.py
@@ -80,6 +80,12 @@ class CoverArtThumbnail(ActiveLabel):
self.clicked.connect(self.open_release_page)
self.imageDropped.connect(self.fetch_remote_image)
+ def __eq__(self, other):
+ if self.data and other.data:
+ return self.data.data == other.data.data
+ else:
+ return False
+
def show(self):
self.set_data(self.data, True)
@@ -163,7 +169,9 @@ class CoverArtBox(QtGui.QGroupBox):
self.setLayout(self.layout)
def _show(self):
- if self.cover_art.data == self.orig_cover_art.data:
+ # We want to show the 2 coverarts only if they are different
+ # and orig_cover_art is not None
+ if getattr(self.orig_cover_art, 'data', None) is None or self.cover_art == self.orig_cover_art:
self.orig_cover_art.setHidden(True)
self.cover_art_label.setText('')
self.orig_cover_art_label.setText('')
--
2.11.0
++++++ 0007-Add-i18n-support-to-coverart-labels.patch ++++++
>From 1241e13c11e2ad2b441f4f6c5852986145f1ddc7 Mon Sep 17 00:00:00 2001
From: Sambhav Kothari <sambhavs.email(a)gmail.com>
Date: Sun, 22 Jan 2017 19:35:40 +0530
Subject: [PATCH 7/9] Add i18n support to coverart labels
---
picard/ui/coverartbox.py | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/picard/ui/coverartbox.py b/picard/ui/coverartbox.py
index 03bcdc57..fb1e6e37 100644
--- a/picard/ui/coverartbox.py
+++ b/picard/ui/coverartbox.py
@@ -177,8 +177,8 @@ class CoverArtBox(QtGui.QGroupBox):
self.orig_cover_art_label.setText('')
else:
self.orig_cover_art.setHidden(False)
- self.cover_art_label.setText('New Cover-Art')
- self.orig_cover_art_label.setText('Original Cover-Art')
+ self.cover_art_label.setText(_(u'New Cover-Art'))
+ self.orig_cover_art_label.setText(_(u'Original Cover-Art'))
def show(self):
self.cover_art.show()
--
2.11.0
++++++ 0008-Add-view-coverart-changes-button.patch ++++++
>From 6d0f24b91a472519c85fb2b93fb60b0809ca4c1c Mon Sep 17 00:00:00 2001
From: Sambhav Kothari <sambhavs.email(a)gmail.com>
Date: Sun, 22 Jan 2017 20:31:57 +0530
Subject: [PATCH 8/9] Add view coverart changes button
---
picard/ui/coverartbox.py | 10 ++++++++++
picard/ui/mainwindow.py | 3 ++-
2 files changed, 12 insertions(+), 1 deletion(-)
diff --git a/picard/ui/coverartbox.py b/picard/ui/coverartbox.py
index fb1e6e37..2b3b4cfa 100644
--- a/picard/ui/coverartbox.py
+++ b/picard/ui/coverartbox.py
@@ -151,6 +151,7 @@ class CoverArtBox(QtGui.QGroupBox):
QtGui.QGroupBox.__init__(self, "")
self.layout = QtGui.QVBoxLayout()
self.layout.setSpacing(6)
+ self.parent = parent
# Kills off any borders
self.setStyleSheet('''QGroupBox{background-color:none;border:1px;}''')
self.setFlat(True)
@@ -162,20 +163,29 @@ class CoverArtBox(QtGui.QGroupBox):
self.orig_cover_art = CoverArtThumbnail(False, False, parent)
self.orig_cover_art_label.setAlignment(QtCore.Qt.AlignTop | QtCore.Qt.AlignHCenter)
self.orig_cover_art.setHidden(True)
+ self.view_changes_button = QtGui.QPushButton(_(u'View all changes'), self)
+ self.view_changes_button.setHidden(True)
self.layout.addWidget(self.cover_art_label)
self.layout.addWidget(self.cover_art)
self.layout.addWidget(self.orig_cover_art_label)
self.layout.addWidget(self.orig_cover_art)
+ self.layout.addWidget(self.view_changes_button)
self.setLayout(self.layout)
+ self.view_changes_button.clicked.connect(self.show_cover_art_info)
+
+ def show_cover_art_info(self):
+ self.parent.view_info(default_tab=1)
def _show(self):
# We want to show the 2 coverarts only if they are different
# and orig_cover_art is not None
if getattr(self.orig_cover_art, 'data', None) is None or self.cover_art == self.orig_cover_art:
+ self.view_changes_button.setHidden(True)
self.orig_cover_art.setHidden(True)
self.cover_art_label.setText('')
self.orig_cover_art_label.setText('')
else:
+ self.view_changes_button.setHidden(False)
self.orig_cover_art.setHidden(False)
self.cover_art_label.setText(_(u'New Cover-Art'))
self.orig_cover_art_label.setText(_(u'Original Cover-Art'))
diff --git a/picard/ui/mainwindow.py b/picard/ui/mainwindow.py
index e34e24ce..4c89dfe2 100644
--- a/picard/ui/mainwindow.py
+++ b/picard/ui/mainwindow.py
@@ -818,7 +818,7 @@ class MainWindow(QtGui.QMainWindow):
dialog.show_similar_albums(obj)
dialog.exec_()
- def view_info(self):
+ def view_info(self, default_tab=0):
if isinstance(self.selected_objects[0], Album):
album = self.selected_objects[0]
dialog = AlbumInfoDialog(album, self)
@@ -828,6 +828,7 @@ class MainWindow(QtGui.QMainWindow):
else:
file = self.tagger.get_files_from_objects(self.selected_objects)[0]
dialog = FileInfoDialog(file, self)
+ dialog.ui.tabWidget.setCurrentIndex(default_tab)
dialog.exec_()
def cluster(self):
--
2.11.0
++++++ 0009-Add-spacer-item-to-push-coverartbox-items-to-top.patch ++++++
>From de61907483452dc6c85c1b7f596ccbbae8fe8fea Mon Sep 17 00:00:00 2001
From: Sambhav Kothari <sambhavs.email(a)gmail.com>
Date: Sun, 22 Jan 2017 20:33:01 +0530
Subject: [PATCH 9/9] Add spacer item to push coverartbox items to top
---
picard/ui/coverartbox.py | 2 ++
1 file changed, 2 insertions(+)
diff --git a/picard/ui/coverartbox.py b/picard/ui/coverartbox.py
index 2b3b4cfa..3acb23f6 100644
--- a/picard/ui/coverartbox.py
+++ b/picard/ui/coverartbox.py
@@ -159,6 +159,7 @@ class CoverArtBox(QtGui.QGroupBox):
self.cover_art_label = QtGui.QLabel('')
self.cover_art_label.setAlignment(QtCore.Qt.AlignTop | QtCore.Qt.AlignHCenter)
self.cover_art = CoverArtThumbnail(False, True, parent)
+ spacerItem = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding)
self.orig_cover_art_label = QtGui.QLabel('')
self.orig_cover_art = CoverArtThumbnail(False, False, parent)
self.orig_cover_art_label.setAlignment(QtCore.Qt.AlignTop | QtCore.Qt.AlignHCenter)
@@ -170,6 +171,7 @@ class CoverArtBox(QtGui.QGroupBox):
self.layout.addWidget(self.orig_cover_art_label)
self.layout.addWidget(self.orig_cover_art)
self.layout.addWidget(self.view_changes_button)
+ self.layout.addSpacerItem(spacerItem)
self.setLayout(self.layout)
self.view_changes_button.clicked.connect(self.show_cover_art_info)
--
2.11.0
++++++ fix-cover-art-downloads.diff ++++++
diff --git a/picard/ui/coverartbox.py b/picard/ui/coverartbox.py
index fc515877..f381fe77 100644
--- a/picard/ui/coverartbox.py
+++ b/picard/ui/coverartbox.py
@@ -54,14 +54,14 @@ class ActiveLabel(QtGui.QLabel):
def dragEnterEvent(self, event):
for url in event.mimeData().urls():
- if url.scheme() in ('http', 'file'):
+ if url.scheme() in ('https', 'http', 'file'):
event.acceptProposedAction()
break
def dropEvent(self, event):
accepted = False
for url in event.mimeData().urls():
- if url.scheme() in ('http', 'file'):
+ if url.scheme() in ('https', 'http', 'file'):
accepted = True
self.imageDropped.emit(url)
if accepted:
@@ -153,11 +153,15 @@ class CoverArtBox(QtGui.QGroupBox):
def fetch_remote_image(self, url):
if self.item is None:
return
- if url.scheme() == 'http':
+ if url.scheme() in ('https', 'http'):
path = url.encodedPath()
if url.hasQuery():
path += '?' + url.encodedQuery()
- self.tagger.xmlws.get(url.encodedHost(), url.port(80), path,
+ if url.scheme() == 'https':
+ port = 443
+ else:
+ port = 80
+ self.tagger.xmlws.get(str(url.encodedHost()), url.port(port), str(path),
partial(self.on_remote_image_fetched, url),
xml=False,
priority=True, important=True)
@@ -173,13 +177,14 @@ class CoverArtBox(QtGui.QGroupBox):
mime = reply.header(QtNetwork.QNetworkRequest.ContentTypeHeader)
if mime in ('image/jpeg', 'image/png'):
self.load_remote_image(url, mime, data)
- elif reply.url().hasQueryItem("imgurl"):
+ elif url.hasQueryItem("imgurl"):
# This may be a google images result, try to get the URL which is encoded in the query
- url = QtCore.QUrl(reply.url().queryItemValue("imgurl"))
+ url = QtCore.QUrl(url.queryItemValue("imgurl"))
self.fetch_remote_image(url)
else:
log.warning("Can't load image with MIME-Type %s", mime)
+
def load_remote_image(self, url, mime, data):
try:
coverartimage = CoverArtImage(
++++++ picard-1.3.2.tar.gz -> picard-1.4.tar.gz ++++++
++++ 295750 lines of diff (skipped)
1
0
Hello community,
here is the log from the commit of package HaXml for openSUSE:Factory checked in at 2017-02-28 23:49:31
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/HaXml (Old)
and /work/SRC/openSUSE:Factory/.HaXml.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "HaXml"
Tue Feb 28 23:49:31 2017 rev:1 rq:456414 version:1.25.3
Changes:
--------
New Changes file:
--- /dev/null 2017-01-26 09:49:33.150892021 +0100
+++ /work/SRC/openSUSE:Factory/.HaXml.new/HaXml.changes 2017-02-28 23:49:31.894063348 +0100
@@ -0,0 +1,5 @@
+-------------------------------------------------------------------
+Tue Jul 19 16:10:44 UTC 2016 - psimons(a)suse.com
+
+- Update to version 1.25.3 revision 0 with cabal2obs.
+
New:
----
HaXml-1.25.3.tar.gz
HaXml.changes
HaXml.spec
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ HaXml.spec ++++++
#
# spec file for package HaXml
#
# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via http://bugs.opensuse.org/
#
%global pkg_name HaXml
Name: %{pkg_name}
Version: 1.25.3
Release: 0
Summary: Utilities for manipulating XML documents
License: GPL-2.0 AND LGPL-2.1
Group: Development/Languages/Other
Url: https://hackage.haskell.org/package/%{name}
Source0: https://hackage.haskell.org/package/%{name}-%{version}/%{name}-%{version}.t…
BuildRequires: chrpath
BuildRequires: ghc-Cabal-devel
BuildRequires: ghc-bytestring-devel
BuildRequires: ghc-containers-devel
BuildRequires: ghc-directory-devel
BuildRequires: ghc-filepath-devel
BuildRequires: ghc-polyparse-devel
BuildRequires: ghc-pretty-devel
BuildRequires: ghc-random-devel
BuildRequires: ghc-rpm-macros
BuildRoot: %{_tmppath}/%{name}-%{version}-build
%description
Haskell utilities for parsing, filtering, transforming and generating XML
documents.
%package -n ghc-%{name}
Summary: Haskell %{name} library
Group: System/Libraries
%description -n ghc-%{name}
This package provides the Haskell %{name} shared library.
%package -n ghc-%{name}-devel
Summary: Haskell %{name} library development files
Group: Development/Libraries/Other
Requires: ghc-%{name} = %{version}-%{release}
Requires: ghc-compiler = %{ghc_version}
Requires(post): ghc-compiler = %{ghc_version}
Requires(postun): ghc-compiler = %{ghc_version}
%description -n ghc-%{name}-devel
This package provides the Haskell %{name} library development files.
%prep
%setup -q
%build
%ghc_lib_build
%install
%ghc_lib_install
%ghc_fix_rpath %{pkg_name}-%{version}
%post -n ghc-%{name}-devel
%ghc_pkg_recache
%postun -n ghc-%{name}-devel
%ghc_pkg_recache
%files
%defattr(-,root,root,-)
%doc COPYRIGHT
%doc LICENCE-GPL LICENCE-LGPL
%{_bindir}/Canonicalise
%{_bindir}/CanonicaliseLazy
%{_bindir}/DtdToHaskell
%{_bindir}/FpMLToHaskell
%{_bindir}/MkOneOf
%{_bindir}/Validate
%{_bindir}/XsdToHaskell
%{_bindir}/Xtract
%files -n ghc-%{name} -f ghc-%{name}.files
%defattr(-,root,root,-)
%doc COPYRIGHT
%files -n ghc-%{name}-devel -f ghc-%{name}-devel.files
%defattr(-,root,root,-)
%doc LICENCE-GPL LICENCE-LGPL
%changelog
1
0
28 Feb '17
Hello community,
here is the log from the commit of package python-ruamel.ordereddict for openSUSE:Factory checked in at 2017-02-28 23:48:54
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-ruamel.ordereddict (Old)
and /work/SRC/openSUSE:Factory/.python-ruamel.ordereddict.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-ruamel.ordereddict"
Tue Feb 28 23:48:54 2017 rev:1 rq:455828 version:0.4.9
Changes:
--------
New Changes file:
--- /dev/null 2017-01-26 09:49:33.150892021 +0100
+++ /work/SRC/openSUSE:Factory/.python-ruamel.ordereddict.new/python-ruamel.ordereddict.changes 2017-02-28 23:48:54.815296838 +0100
@@ -0,0 +1,7 @@
+-------------------------------------------------------------------
+Tue Oct 11 21:03:53 UTC 2016 - rjschwei(a)suse.com
+
+- Initial build (FATE#321630, bsc#1002895)
+ + Include in SLES 12
+ + Version 0.4.9
+
New:
----
LICENSE
python-ruamel.ordereddict.changes
python-ruamel.ordereddict.spec
ruamel.ordereddict-0.4.9.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-ruamel.ordereddict.spec ++++++
#
# spec file for package python-ruamel.ordereddict
#
# Copyright (c) 2016 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
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via http://bugs.opensuse.org/
#
Name: python-ruamel.ordereddict
Version: 0.4.9
Release: 0
Url: https://bitbucket.org/ruamel/ordereddict
Summary: Ordered dictionary
License: MIT
Group: Development/Languages/Python
Source: ruamel.ordereddict-%{version}.tar.gz
Source1: LICENSE
Requires: python-ruamel.base
BuildRequires: python-devel
BuildRequires: python-ruamel.base
BuildRequires: python-setuptools
BuildRequires: python-nose
BuildRequires: python-pytest
%description
This is an implementation of an ordered dictionary with Key Insertion Order
(KIO: updates of values do not affect the position of the key), Key Value
Insertion Order (KVIO, an existing key’s position is removed and put at the
back). The standard library module OrderedDict, implemented later, implements
a subset of ordereddict functionality.
Sorted dictionaries are also provided. Currently only with Key Sorted Order
(KSO, no sorting function can be specified, but you can specify a transform to
apply on the key before comparison (e.g. string.lower)).
%prep
%setup -q -n ruamel.ordereddict-%{version}
rm -rf *egg-info
cp %{SOURCE1} .
%build
python setup.py build
%install
python setup.py install --prefix=%{_prefix} --root=%{buildroot}
# Cannot find the shared library even with the path set??
#%check
#export PYTHON_PATH=%{buildroot}%{python_sitearch}
#nosetests
%files
%defattr(-,root,root,-)
%doc LICENSE README.rst
%{python_sitearch}/*
++++++ LICENSE ++++++
The MIT License (MIT)
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
1
0
Hello community,
here is the log from the commit of package libstaroffice for openSUSE:Factory checked in at 2017-02-28 23:46:52
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/libstaroffice (Old)
and /work/SRC/openSUSE:Factory/.libstaroffice.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "libstaroffice"
Tue Feb 28 23:46:52 2017 rev:3 rq:460706 version:0.0.3
Changes:
--------
--- /work/SRC/openSUSE:Factory/libstaroffice/libstaroffice.changes 2016-12-26 21:45:39.165485543 +0100
+++ /work/SRC/openSUSE:Factory/.libstaroffice.new/libstaroffice.changes 2017-02-28 23:46:53.392435219 +0100
@@ -1,0 +2,9 @@
+Mon Feb 27 13:35:34 UTC 2017 - tchvatal(a)suse.com
+
+- Version update to 0.0.3:
+ * add conversion of .sdd file for files created by StarImpress,
+ * try to retrieve the table's formatting in .sdw file,
+ * try to retrieve more pictures (native format, ...),
+ * try to read more attributes, text frames' rotations, text rotation in cell, line spacings, ...
+
+-------------------------------------------------------------------
Old:
----
libstaroffice-0.0.2.tar.xz
New:
----
libstaroffice-0.0.3.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ libstaroffice.spec ++++++
--- /var/tmp/diff_new_pack.ldDG5F/_old 2017-02-28 23:46:54.060340946 +0100
+++ /var/tmp/diff_new_pack.ldDG5F/_new 2017-02-28 23:46:54.060340946 +0100
@@ -1,7 +1,7 @@
#
# spec file for package libstaroffice
#
-# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -18,7 +18,7 @@
%define libname libstaroffice-0_0-0
Name: libstaroffice
-Version: 0.0.2
+Version: 0.0.3
Release: 0
Summary: A library for import of StarOffice documents
License: LGPL-2.1+ and MPL-2.0+
++++++ libstaroffice-0.0.2.tar.xz -> libstaroffice-0.0.3.tar.xz ++++++
++++ 7465 lines of diff (skipped)
1
0
Hello community,
here is the log from the commit of package ant for openSUSE:Factory checked in at 2017-02-28 23:46:40
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/ant (Old)
and /work/SRC/openSUSE:Factory/.ant.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "ant"
Tue Feb 28 23:46:40 2017 rev:58 rq:460670 version:1.9.6
Changes:
--------
--- /work/SRC/openSUSE:Factory/ant/ant-antlr.changes 2016-02-03 10:17:57.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.ant.new/ant-antlr.changes 2017-02-28 23:46:41.318139471 +0100
@@ -1,0 +2,11 @@
+Mon Feb 20 10:12:01 UTC 2017 - tchvatal(a)suse.com
+
+- Revert the previous change as it broke the build of most java
+ software stack
+
+-------------------------------------------------------------------
+Mon Feb 13 15:54:30 UTC 2017 - guoyunhebrave(a)gmail.com
+
+- Add profile.d scripts to set ANT_HOME
+
+-------------------------------------------------------------------
ant-junit.changes: same change
ant.changes: same change
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ ant-antlr.spec ++++++
--- /var/tmp/diff_new_pack.2IXD2S/_old 2017-02-28 23:46:42.433981973 +0100
+++ /var/tmp/diff_new_pack.2IXD2S/_new 2017-02-28 23:46:42.437981408 +0100
@@ -1,7 +1,7 @@
#
# spec file for package ant-antlr
#
-# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany.
# Copyright (c) 2000-2009, JPackage Project
# All rights reserved.
#
ant-junit.spec: same change
ant.spec: same change
1
0
Hello community,
here is the log from the commit of package plasma5-openSUSE for openSUSE:Factory checked in at 2017-02-28 23:46:10
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/plasma5-openSUSE (Old)
and /work/SRC/openSUSE:Factory/.plasma5-openSUSE.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "plasma5-openSUSE"
Tue Feb 28 23:46:10 2017 rev:46 rq:460656 version:42.1.1
Changes:
--------
--- /work/SRC/openSUSE:Factory/plasma5-openSUSE/plasma5-openSUSE.changes 2017-02-19 01:13:25.639050231 +0100
+++ /work/SRC/openSUSE:Factory/.plasma5-openSUSE.new/plasma5-openSUSE.changes 2017-02-28 23:46:12.278238378 +0100
@@ -1,0 +2,7 @@
+Sun Feb 26 10:00:17 UTC 2017 - fabian(a)ritter-vogt.de
+
+- Add default fonts to /etc/xdg/kdeglobals to make KDE4 applications
+ use the Plasma5 fonts as well (same as set by plasma5-integration)
+ * boo#1026970
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ plasma5-openSUSE.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/plasma5-openSUSE/config-files/etc/xdg/kdeglobals new/plasma5-openSUSE/config-files/etc/xdg/kdeglobals
--- old/plasma5-openSUSE/config-files/etc/xdg/kdeglobals 2016-03-25 11:56:16.000000000 +0100
+++ new/plasma5-openSUSE/config-files/etc/xdg/kdeglobals 2017-02-26 11:00:02.535159866 +0100
@@ -5,6 +5,13 @@
[General]
shadeSortColumn=true
BrowserApplication=firefox
+desktopFont=Noto Sans,10,-1,5,50,0,0,0,0,0
+fixed=Hack,9,-1,5,50,0,0,0,0,0
+font=Noto Sans,10,-1,5,50,0,0,0,0,0
+menuFont=Noto Sans,10,-1,5,50,0,0,0,0,0
+smallestReadableFont=Noto Sans,8,-1,5,50,0,0,0,0,0
+taskbarFont=Noto Sans,10,-1,5,50,0,0,0,0,0
+toolBarFont=Noto Sans,9,-1,5,50,0,0,0,0,0
[Icons]
Theme=breeze
1
0
Hello community,
here is the log from the commit of package spamassassin for openSUSE:Factory checked in at 2017-02-28 23:43:15
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/spamassassin (Old)
and /work/SRC/openSUSE:Factory/.spamassassin.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "spamassassin"
Tue Feb 28 23:43:15 2017 rev:68 rq:460544 version:unknown
Changes:
--------
--- /work/SRC/openSUSE:Factory/spamassassin/spamassassin.changes 2017-02-21 13:31:14.438032136 +0100
+++ /work/SRC/openSUSE:Factory/.spamassassin.new/spamassassin.changes 2017-02-28 23:43:16.375066899 +0100
@@ -1,0 +2,6 @@
+Sun Feb 26 13:38:51 UTC 2017 - opensuse(a)dstoecker.de
+
+- SPAMPD: add spampd-2.42_git_20170226.patch - support IPv6 with IO::Socket::IP
+- Drop old init system support (systems before 12.x)
+
+-------------------------------------------------------------------
Old:
----
init.spamd
init.spampd
New:
----
spampd-2.42_git_20170226.patch
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ spamassassin.spec ++++++
--- /var/tmp/diff_new_pack.9saUH1/_old 2017-02-28 23:43:17.266941011 +0100
+++ /var/tmp/diff_new_pack.9saUH1/_new 2017-02-28 23:43:17.266941011 +0100
@@ -37,9 +37,7 @@
Source2: %{IXHASH}.tar.gz
Source3: %{SPAMPD}.tar.bz2
Source10: local.cf
-Source11: init.spamd
Source12: sysconfig.spamd
-Source13: init.spampd
Source14: sysconfig.spampd
Source15: suse.cron-sa-update
Source16: spamd.service
@@ -48,12 +46,10 @@
Patch2: patch-URIDNSBL
Patch3: patch-SQL_ASCII_SORT
Patch6: bnc#582111.diff
+Patch7: spampd-2.42_git_20170226.patch
Patch10: iXhash2-meta-rules.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-build
%{perl_requires}
-%if %suse_version <= 1140
-PreReq: %insserv_prereq
-%endif
PreReq: %fillup_prereq
BuildRequires: dos2unix
BuildRequires: openssl-devel
@@ -63,10 +59,8 @@
Requires: perl-Mail-SpamAssassin = %version
Requires: re2c
Requires: perl(Net::Server::PreForkSimple)
-%if 0%{?suse_version} > 1140
BuildRequires: systemd
%{?systemd_requires}
-%endif
%description
spamassassin adds a header line that shows if the mail has been
@@ -83,9 +77,6 @@
Group: Development/Libraries/Perl
BuildRequires: perl
BuildRequires: perl-Error
-%if 0%{?suse_version} && 0%{?suse_version} <= 1210
-BuildRequires: perl-macros
-%endif
BuildRequires: perl(Archive::Tar) >= 1.23
BuildRequires: perl(Digest::SHA1)
BuildRequires: perl(Errno)
@@ -101,14 +92,12 @@
BuildRequires: perl(Time::HiRes)
BuildRequires: perl(Time::Local)
# optional, but want them for build (test)
-%if 0%{?suse_version} >= 1100
-BuildRequires: perl(Mail::SPF)
-%endif
BuildRequires: perl(DBI)
BuildRequires: perl(Encode::Detect)
BuildRequires: perl(IO::Socket::INET6)
BuildRequires: perl(IO::Socket::SSL)
BuildRequires: perl(IP::Country)
+BuildRequires: perl(Mail::SPF)
BuildRequires: perl(Net::Ident)
BuildRequires: perl(Razor2::Client::Agent) >= 2.61
#
@@ -119,10 +108,7 @@
Requires: perl(File::Copy) >= 2.02
Requires: perl(File::Spec) >= 0.8
Requires: perl(HTML::Parser) >= 3.43
-%if 0%{?suse_version} > 1210
-# Required perl(Socket) version 1.97+ is only available in 12.2+
Requires: perl(IO::Socket::IP)
-%endif
Requires: perl(IO::Zlib) >= 1.04
Requires: perl(Mail::DKIM) >= 0.37
Requires: perl(Net::DNS) >= 0.34
@@ -132,9 +118,7 @@
Requires: perl(Time::HiRes)
Requires: perl(Time::Local)
# optional
-%if 0%{?suse_version} >= 1100
Recommends: perl(Mail::SPF)
-%endif
Recommends: perl(Net::Patricia)
Recommends: perl(Razor2::Client::Agent) >= 2.61
Recommends: perl(IO::Socket::INET6)
@@ -177,6 +161,7 @@
%patch2 -p1
%patch3 -p0
%patch6 -p0
+%patch7 -p0
%patch10 -p0
%build
@@ -222,15 +207,8 @@
%{__install} -D -m0755 %{SPAMPD}/spampd.pl $RPM_BUILD_ROOT%{_sbindir}/spampd
mv $RPM_BUILD_ROOT%{_bindir}/spamd $RPM_BUILD_ROOT%{_sbindir}/
%{__install} -m 0644 %{S:10} $RPM_BUILD_ROOT/etc/mail/spamassassin/local.cf
-%if 0%{?suse_version} > 1140
%{__ln_s} %{_sbindir}/service %{buildroot}%{_sbindir}/rcspamd
%{__ln_s} %{_sbindir}/service %{buildroot}%{_sbindir}/rcspampd
-%else
-%{__install} -D -m 0755 %{S:11} $RPM_BUILD_ROOT/etc/init.d/spamd
-%{__install} -m 0755 %{S:13} $RPM_BUILD_ROOT/etc/init.d/spampd
-%{__ln_s} ../../etc/init.d/spamd $RPM_BUILD_ROOT/usr/sbin/rcspamd
-%{__ln_s} ../../etc/init.d/spampd $RPM_BUILD_ROOT/usr/sbin/rcspampd
-%endif
echo "Most of the documentation is at ../perl-Mail-SpamAssassin/." > README.SUSE
%{__install} -D -m 0640 %{S:12} $RPM_BUILD_ROOT/var/adm/fillup-templates/sysconfig.spamd
%{__install} -m 0640 %{S:14} $RPM_BUILD_ROOT/var/adm/fillup-templates/
@@ -241,46 +219,28 @@
%{__install} -d $RPM_BUILD_ROOT/usr/share/spamassassin
pushd $RPM_BUILD_ROOT/usr/share/spamassassin && tar -xjf %{S:1} && popd
-%if 0%{?suse_version} > 1140
## systemd stuff
mkdir -p %{buildroot}/%{_unitdir}
%{__install} -D -m 644 %{S:16} %{buildroot}/%{_unitdir}
%{__install} -D -m 644 %{S:17} %{buildroot}/%{_unitdir}
-%endif
%post
-%if %suse_version > 1140
%service_add_post spamd.service
%service_add_post spampd.service
%{fillup_only -n spamd}
%{fillup_only -n spampd}
-%else
-%{fillup_and_insserv -n spamd}
-%{fillup_and_insserv -n spampd}
-%endif
%pre
-%if %suse_version > 1140
%service_add_pre spamd.service
%service_add_pre spampd.service
-%endif
%preun
-%if %suse_version > 1140
%service_del_preun spamd.service
%service_del_preun spampd.service
-%else
-%stop_on_removal spamd
-%endif
%postun
-%if %suse_version > 1140
%service_del_postun spamd.service
%service_del_postun spampd.service
-%else
-%restart_on_update spamd
-%insserv_cleanup
-%endif
%files
%defattr(-,root,root)
@@ -290,13 +250,8 @@
%{_sbindir}/*
/var/adm/fillup-templates/sysconfig.spamd
/var/adm/fillup-templates/sysconfig.spampd
-%if 0%{?suse_version} > 1140
%{_unitdir}/spamd.service
%{_unitdir}/spampd.service
-%else
-%config %attr(744,root,root) /etc/init.d/spamd
-%config %attr(744,root,root) /etc/init.d/spampd
-%endif
%files -n perl-Mail-SpamAssassin -f %{name}.files
%defattr(-,root,root)
++++++ spampd-2.42_git_20170226.patch ++++++
diff -ur spampd-2.42/spampd.html spampd-2.42_20170226/spampd.html
--- spampd-2.42.orig/spampd.html 2013-12-08 12:34:02.000000000 +0100
+++ spampd-2.42/spampd.html 2015-10-18 01:22:58.000000000 +0200
@@ -96,7 +96,7 @@
<DD>
<DT><STRONG><A NAME="item_IO%3A%3AFile"><STRONG>IO::File</STRONG></A></STRONG><BR>
<DD>
-<DT><STRONG><A NAME="item_IO%3A%3ASocket"><STRONG>IO::Socket</STRONG></A></STRONG><BR>
+<DT><STRONG><A NAME="item_IO%3A%3ASocket"><STRONG>IO::Socket::IP</STRONG></A></STRONG><BR>
<DD>
<DT><STRONG><A NAME="item_HiRes"><STRONG>Time::HiRes</STRONG> (not actually required but recommended)</A></STRONG><BR>
<DD>
diff -ur spampd-2.42/spampd.pl spampd-2.42_20170226/spampd.pl
--- spampd-2.42/spampd.pl 2013-12-08 12:34:02.000000000 +0100
+++ spampd-2.42_20170226/spampd.pl 2015-10-18 01:22:58.000000000 +0200
@@ -307,19 +307,19 @@
# =cut
use strict;
-use IO::Socket;
+use IO::Socket::IP;
# =item new(interface => $interface, port => $port[, timeout = 300]);
#
# The interface and port to talk to must be specified. The interface
# must be a valid numeric IP address; the port must be numeric. If
# this call succeeds, it returns a client structure with an open
-# IO::Socket::INET in it, ready to talk to. If it fails it dies,
+# IO::Socket::IP in it, ready to talk to. If it fails it dies,
# so if you want anything other than an exit with an explanatory
# error message, wrap the constructor call in an eval block and pull
# the error out of $@ as usual. This is also the case for all other
# methods; they succeed or they die. The timeout parameter is passed
-# on into the IO::Socket::INET constructor.
+# on into the IO::Socket::IP constructor.
#
# =cut
@@ -327,7 +327,7 @@
my ($this, @opts) = @_;
my $class = ref($this) || $this;
my $self = bless { timeout => 300, @opts }, $class;
- $self->{sock} = IO::Socket::INET->new(
+ $self->{sock} = IO::Socket::IP->new(
PeerAddr => $self->{interface},
PeerPort => $self->{port},
Timeout => $self->{timeout},
@@ -1171,7 +1171,7 @@
=item B<IO::File>
-=item B<IO::Socket>
+=item B<IO::Socket::IP>
=item B<Time::HiRes> (not actually required but recommended)
1
0
Hello community,
here is the log from the commit of package ModemManager for openSUSE:Factory checked in at 2017-02-28 23:42:57
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/ModemManager (Old)
and /work/SRC/openSUSE:Factory/.ModemManager.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "ModemManager"
Tue Feb 28 23:42:57 2017 rev:68 rq:460535 version:1.6.4
Changes:
--------
--- /work/SRC/openSUSE:Factory/ModemManager/ModemManager.changes 2017-01-10 10:39:50.438143411 +0100
+++ /work/SRC/openSUSE:Factory/.ModemManager.new/ModemManager.changes 2017-02-28 23:42:58.613573936 +0100
@@ -1,0 +2,18 @@
+Sun Feb 26 10:26:10 UTC 2017 - mailaender(a)opensuse.org
+
+- Update to version 1.6.4:
+ + Blacklist:
+ - Ignored new Infineon flashloader devices.
+ - Ignored Sigma Sport docking stations.
+ + Core:
+ - USSD: don't rely on lock status to allow actions.
+ - 3GPP: always use 300s by default in the network scan
+ operation.
+ - Build: limit the available glib functionality to the version
+ supported.
+ + Plugins:
+ - telit: add support for the Telit GE910.
+ - zte: fix SUBSYSTEMS and ATTRS{idVendor} checks.
+ + Other minor fixes.
+
+-------------------------------------------------------------------
Old:
----
ModemManager-1.6.2.tar.xz
New:
----
ModemManager-1.6.4.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ ModemManager.spec ++++++
--- /var/tmp/diff_new_pack.UhyWkD/_old 2017-02-28 23:42:59.441457080 +0100
+++ /var/tmp/diff_new_pack.UhyWkD/_new 2017-02-28 23:42:59.445456516 +0100
@@ -18,7 +18,7 @@
%define _udevdir %(pkg-config --variable udevdir udev)
Name: ModemManager
-Version: 1.6.2
+Version: 1.6.4
Release: 0
Summary: DBus interface for modem handling
License: GPL-2.0+ and GPL-3.0+
++++++ ModemManager-1.6.2.tar.xz -> ModemManager-1.6.4.tar.xz ++++++
++++ 5019 lines of diff (skipped)
1
0
Hello community,
here is the log from the commit of package kernel-source for openSUSE:Factory checked in at 2017-02-27 18:56:26
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/kernel-source (Old)
and /work/SRC/openSUSE:Factory/.kernel-source.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "kernel-source"
Changes:
--------
--- /work/SRC/openSUSE:Factory/kernel-source/dtb-aarch64.changes 2017-02-25 00:48:10.729776118 +0100
+++ /work/SRC/openSUSE:Factory/.kernel-source.new/dtb-aarch64.changes 2017-02-27 18:56:28.124706129 +0100
@@ -1,0 +2,6 @@
+Sun Feb 26 13:43:10 CET 2017 - jslaby(a)suse.cz
+
+- Linux 4.10.1 (bnc#1012628).
+- commit 1ecd5af
+
+-------------------------------------------------------------------
dtb-armv6l.changes: same change
dtb-armv7l.changes: same change
kernel-64kb.changes: same change
kernel-debug.changes: same change
kernel-default.changes: same change
kernel-docs.changes: same change
kernel-lpae.changes: same change
kernel-obs-build.changes: same change
kernel-obs-qa.changes: same change
kernel-pae.changes: same change
kernel-source.changes: same change
kernel-syms.changes: same change
kernel-syzkaller.changes: same change
kernel-vanilla.changes: same change
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ dtb-aarch64.spec ++++++
--- /var/tmp/diff_new_pack.7SmEXN/_old 2017-02-27 18:56:42.182720955 +0100
+++ /var/tmp/diff_new_pack.7SmEXN/_new 2017-02-27 18:56:42.186720390 +0100
@@ -16,15 +16,15 @@
#
-%define patchversion 4.10.0
+%define patchversion 4.10.1
%define vanilla_only 0
%include %_sourcedir/kernel-spec-macros
Name: dtb-aarch64
-Version: 4.10.0
+Version: 4.10.1
%if 0%{?is_kotd}
-Release: <RELEASE>.g81ace5a
+Release: <RELEASE>.g1ecd5af
%else
Release: 0
%endif
dtb-armv6l.spec: same change
dtb-armv7l.spec: same change
++++++ kernel-64kb.spec ++++++
--- /var/tmp/diff_new_pack.7SmEXN/_old 2017-02-27 18:56:42.274707965 +0100
+++ /var/tmp/diff_new_pack.7SmEXN/_new 2017-02-27 18:56:42.278707400 +0100
@@ -18,7 +18,7 @@
%define srcversion 4.10
-%define patchversion 4.10.0
+%define patchversion 4.10.1
%define variant %{nil}
%define vanilla_only 0
@@ -58,9 +58,9 @@
Summary: Kernel with 64kb PAGE_SIZE
License: GPL-2.0
Group: System/Kernel
-Version: 4.10.0
+Version: 4.10.1
%if 0%{?is_kotd}
-Release: <RELEASE>.g81ace5a
+Release: <RELEASE>.g1ecd5af
%else
Release: 0
%endif
kernel-debug.spec: same change
kernel-default.spec: same change
++++++ kernel-docs.spec ++++++
--- /var/tmp/diff_new_pack.7SmEXN/_old 2017-02-27 18:56:42.354696669 +0100
+++ /var/tmp/diff_new_pack.7SmEXN/_new 2017-02-27 18:56:42.358696105 +0100
@@ -16,7 +16,7 @@
#
-%define patchversion 4.10.0
+%define patchversion 4.10.1
%define variant %{nil}
%include %_sourcedir/kernel-spec-macros
@@ -42,9 +42,9 @@
Summary: Kernel Documentation (man pages)
License: GPL-2.0
Group: Documentation/Man
-Version: 4.10.0
+Version: 4.10.1
%if 0%{?is_kotd}
-Release: <RELEASE>.g81ace5a
+Release: <RELEASE>.g1ecd5af
%else
Release: 0
%endif
++++++ kernel-lpae.spec ++++++
--- /var/tmp/diff_new_pack.7SmEXN/_old 2017-02-27 18:56:42.386692151 +0100
+++ /var/tmp/diff_new_pack.7SmEXN/_new 2017-02-27 18:56:42.390691587 +0100
@@ -18,7 +18,7 @@
%define srcversion 4.10
-%define patchversion 4.10.0
+%define patchversion 4.10.1
%define variant %{nil}
%define vanilla_only 0
@@ -58,9 +58,9 @@
Summary: Kernel for LPAE enabled systems
License: GPL-2.0
Group: System/Kernel
-Version: 4.10.0
+Version: 4.10.1
%if 0%{?is_kotd}
-Release: <RELEASE>.g81ace5a
+Release: <RELEASE>.g1ecd5af
%else
Release: 0
%endif
++++++ kernel-obs-build.spec ++++++
--- /var/tmp/diff_new_pack.7SmEXN/_old 2017-02-27 18:56:42.414688198 +0100
+++ /var/tmp/diff_new_pack.7SmEXN/_new 2017-02-27 18:56:42.418687634 +0100
@@ -19,7 +19,7 @@
#!BuildIgnore: post-build-checks
-%define patchversion 4.10.0
+%define patchversion 4.10.1
%define variant %{nil}
%define vanilla_only 0
@@ -57,9 +57,9 @@
Summary: package kernel and initrd for OBS VM builds
License: GPL-2.0
Group: SLES
-Version: 4.10.0
+Version: 4.10.1
%if 0%{?is_kotd}
-Release: <RELEASE>.g81ace5a
+Release: <RELEASE>.g1ecd5af
%else
Release: 0
%endif
++++++ kernel-obs-qa.spec ++++++
--- /var/tmp/diff_new_pack.7SmEXN/_old 2017-02-27 18:56:42.454682550 +0100
+++ /var/tmp/diff_new_pack.7SmEXN/_new 2017-02-27 18:56:42.454682550 +0100
@@ -17,7 +17,7 @@
# needsrootforbuild
-%define patchversion 4.10.0
+%define patchversion 4.10.1
%define variant %{nil}
%include %_sourcedir/kernel-spec-macros
@@ -36,9 +36,9 @@
Summary: Basic QA tests for the kernel
License: GPL-2.0
Group: SLES
-Version: 4.10.0
+Version: 4.10.1
%if 0%{?is_kotd}
-Release: <RELEASE>.g81ace5a
+Release: <RELEASE>.g1ecd5af
%else
Release: 0
%endif
++++++ kernel-pae.spec ++++++
--- /var/tmp/diff_new_pack.7SmEXN/_old 2017-02-27 18:56:42.482678597 +0100
+++ /var/tmp/diff_new_pack.7SmEXN/_new 2017-02-27 18:56:42.486678032 +0100
@@ -18,7 +18,7 @@
%define srcversion 4.10
-%define patchversion 4.10.0
+%define patchversion 4.10.1
%define variant %{nil}
%define vanilla_only 0
@@ -58,9 +58,9 @@
Summary: Kernel with PAE Support
License: GPL-2.0
Group: System/Kernel
-Version: 4.10.0
+Version: 4.10.1
%if 0%{?is_kotd}
-Release: <RELEASE>.g81ace5a
+Release: <RELEASE>.g1ecd5af
%else
Release: 0
%endif
++++++ kernel-source.spec ++++++
--- /var/tmp/diff_new_pack.7SmEXN/_old 2017-02-27 18:56:42.514674079 +0100
+++ /var/tmp/diff_new_pack.7SmEXN/_new 2017-02-27 18:56:42.518673514 +0100
@@ -18,7 +18,7 @@
%define srcversion 4.10
-%define patchversion 4.10.0
+%define patchversion 4.10.1
%define variant %{nil}
%define vanilla_only 0
@@ -30,9 +30,9 @@
Summary: The Linux Kernel Sources
License: GPL-2.0
Group: Development/Sources
-Version: 4.10.0
+Version: 4.10.1
%if 0%{?is_kotd}
-Release: <RELEASE>.g81ace5a
+Release: <RELEASE>.g1ecd5af
%else
Release: 0
%endif
++++++ kernel-syms.spec ++++++
--- /var/tmp/diff_new_pack.7SmEXN/_old 2017-02-27 18:56:42.542670125 +0100
+++ /var/tmp/diff_new_pack.7SmEXN/_new 2017-02-27 18:56:42.542670125 +0100
@@ -24,10 +24,10 @@
Summary: Kernel Symbol Versions (modversions)
License: GPL-2.0
Group: Development/Sources
-Version: 4.10.0
+Version: 4.10.1
%if %using_buildservice
%if 0%{?is_kotd}
-Release: <RELEASE>.g81ace5a
+Release: <RELEASE>.g1ecd5af
%else
Release: 0
%endif
++++++ kernel-syzkaller.spec ++++++
--- /var/tmp/diff_new_pack.7SmEXN/_old 2017-02-27 18:56:42.566666737 +0100
+++ /var/tmp/diff_new_pack.7SmEXN/_new 2017-02-27 18:56:42.570666172 +0100
@@ -18,7 +18,7 @@
%define srcversion 4.10
-%define patchversion 4.10.0
+%define patchversion 4.10.1
%define variant %{nil}
%define vanilla_only 0
@@ -58,9 +58,9 @@
Summary: Kernel used for fuzzing by syzkaller
License: GPL-2.0
Group: System/Kernel
-Version: 4.10.0
+Version: 4.10.1
%if 0%{?is_kotd}
-Release: <RELEASE>.g81ace5a
+Release: <RELEASE>.g1ecd5af
%else
Release: 0
%endif
kernel-vanilla.spec: same change
++++++ patches.kernel.org.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.kernel.org/patch-4.10.1 new/patches.kernel.org/patch-4.10.1
--- old/patches.kernel.org/patch-4.10.1 1970-01-01 01:00:00.000000000 +0100
+++ new/patches.kernel.org/patch-4.10.1 2017-02-26 13:43:10.000000000 +0100
@@ -0,0 +1,688 @@
+From: Jiri Slaby <jslaby(a)suse.cz>
+Subject: Linux 4.10.1
+References: bnc#1012628
+Patch-mainline: 4.10.1
+Git-commit: fa7f138ac4c70dc00519c124cf7cd4862a0a5b0e
+Git-commit: 575ddce0507789bf9830d089557d2199d2f91865
+Git-commit: 5f478e4ea5c5560b4e40eb136991a09f9389f331
+Git-commit: ffab9188e444854882dbc291500d576d6bad7b7b
+Git-commit: dfe75ff8ca74f54b0fa5a326a1aa9afa485ed802
+Git-commit: 6cf18e6927c0b224f972e3042fb85770d63cb9f8
+Git-commit: 47512cfd0d7a8bd6ab71d01cd89fca19eb2093eb
+Git-commit: 14816b16fa0adac24f82492f18fa62c55acabbbe
+Git-commit: 9fef37d7cf170522fb354d6d0ea6de09b9b16678
+Git-commit: 2eee05020a0e7ee7c04422cbacdb07859e45dce6
+Git-commit: 5ed8d41023751bdd3546f2fe4118304357efe8d2
+Git-commit: a6bb1e17a39818b01b55d8e6238b4b5f06d55038
+Git-commit: c6dce2626606ef16434802989466636bc28c1419
+Git-commit: 427c3a95e3e29e65f59d99aaf320d7506f3eed57
+Git-commit: 9a593656def0dc2f6c227851e8e602077267a5f1
+Git-commit: 5182c2cf2a9bfb7f066ef0bdd2bb6330b94dd74e
+Git-commit: abe81f3b8ed2996e1712d26d38ff6b73f582c616
+Git-commit: e623a9e9dec29ae811d11f83d0074ba254aba374
+Git-commit: ca4ef4574f1ee5252e2cd365f8f5d5bafd048f32
+Git-commit: e71695307114335be1ed912f4a347396c2ed0e69
+
+Signed-off-by: Jiri Slaby <jslaby(a)suse.cz>
+---
+diff --git a/Documentation/admin-guide/kernel-parameters.txt b/Documentation/admin-guide/kernel-parameters.txt
+index be7c0d9506b1..18eefa860f76 100644
+--- a/Documentation/admin-guide/kernel-parameters.txt
++++ b/Documentation/admin-guide/kernel-parameters.txt
+@@ -1201,6 +1201,10 @@
+ When zero, profiling data is discarded and associated
+ debugfs files are removed at module unload time.
+
++ goldfish [X86] Enable the goldfish android emulator platform.
++ Don't use this when you are not running on the
++ android emulator
++
+ gpt [EFI] Forces disk with valid GPT signature but
+ invalid Protective MBR to be treated as GPT. If the
+ primary GPT is corrupted, it enables the backup/alternate
+diff --git a/Makefile b/Makefile
+index f1e6a02a0c19..09eccff4f569 100644
+--- a/Makefile
++++ b/Makefile
+@@ -1,6 +1,6 @@
+ VERSION = 4
+ PATCHLEVEL = 10
+-SUBLEVEL = 0
++SUBLEVEL = 1
+ EXTRAVERSION =
+ NAME = Fearless Coyote
+
+diff --git a/arch/x86/platform/goldfish/goldfish.c b/arch/x86/platform/goldfish/goldfish.c
+index 1693107a518e..0d17c0aafeb1 100644
+--- a/arch/x86/platform/goldfish/goldfish.c
++++ b/arch/x86/platform/goldfish/goldfish.c
+@@ -42,10 +42,22 @@ static struct resource goldfish_pdev_bus_resources[] = {
+ }
+ };
+
++static bool goldfish_enable __initdata;
++
++static int __init goldfish_setup(char *str)
++{
++ goldfish_enable = true;
++ return 0;
++}
++__setup("goldfish", goldfish_setup);
++
+ static int __init goldfish_init(void)
+ {
++ if (!goldfish_enable)
++ return -ENODEV;
++
+ platform_device_register_simple("goldfish_pdev_bus", -1,
+- goldfish_pdev_bus_resources, 2);
++ goldfish_pdev_bus_resources, 2);
+ return 0;
+ }
+ device_initcall(goldfish_init);
+diff --git a/drivers/net/wireless/realtek/rtlwifi/usb.c b/drivers/net/wireless/realtek/rtlwifi/usb.c
+index 49015b05f3d1..abdaf203835c 100644
+--- a/drivers/net/wireless/realtek/rtlwifi/usb.c
++++ b/drivers/net/wireless/realtek/rtlwifi/usb.c
+@@ -827,12 +827,30 @@ static void rtl_usb_stop(struct ieee80211_hw *hw)
+ struct rtl_priv *rtlpriv = rtl_priv(hw);
+ struct rtl_hal *rtlhal = rtl_hal(rtl_priv(hw));
+ struct rtl_usb *rtlusb = rtl_usbdev(rtl_usbpriv(hw));
++ struct urb *urb;
+
+ /* should after adapter start and interrupt enable. */
+ set_hal_stop(rtlhal);
+ cancel_work_sync(&rtlpriv->works.fill_h2c_cmd);
+ /* Enable software */
+ SET_USB_STOP(rtlusb);
++
++ /* free pre-allocated URBs from rtl_usb_start() */
++ usb_kill_anchored_urbs(&rtlusb->rx_submitted);
++
++ tasklet_kill(&rtlusb->rx_work_tasklet);
++ cancel_work_sync(&rtlpriv->works.lps_change_work);
++
++ flush_workqueue(rtlpriv->works.rtl_wq);
++
++ skb_queue_purge(&rtlusb->rx_queue);
++
++ while ((urb = usb_get_from_anchor(&rtlusb->rx_cleanup_urbs))) {
++ usb_free_coherent(urb->dev, urb->transfer_buffer_length,
++ urb->transfer_buffer, urb->transfer_dma);
++ usb_free_urb(urb);
++ }
++
+ rtlpriv->cfg->ops->hw_disable(hw);
+ }
+
+diff --git a/drivers/platform/goldfish/pdev_bus.c b/drivers/platform/goldfish/pdev_bus.c
+index 1f52462f4cdd..dd9ea463c2a4 100644
+--- a/drivers/platform/goldfish/pdev_bus.c
++++ b/drivers/platform/goldfish/pdev_bus.c
+@@ -157,23 +157,26 @@ static int goldfish_new_pdev(void)
+ static irqreturn_t goldfish_pdev_bus_interrupt(int irq, void *dev_id)
+ {
+ irqreturn_t ret = IRQ_NONE;
++
+ while (1) {
+ u32 op = readl(pdev_bus_base + PDEV_BUS_OP);
+- switch (op) {
+- case PDEV_BUS_OP_DONE:
+- return IRQ_NONE;
+
++ switch (op) {
+ case PDEV_BUS_OP_REMOVE_DEV:
+ goldfish_pdev_remove();
++ ret = IRQ_HANDLED;
+ break;
+
+ case PDEV_BUS_OP_ADD_DEV:
+ goldfish_new_pdev();
++ ret = IRQ_HANDLED;
+ break;
++
++ case PDEV_BUS_OP_DONE:
++ default:
++ return ret;
+ }
+- ret = IRQ_HANDLED;
+ }
+- return ret;
+ }
+
+ static int goldfish_pdev_bus_probe(struct platform_device *pdev)
+diff --git a/drivers/tty/serial/msm_serial.c b/drivers/tty/serial/msm_serial.c
+index 7312e7e01b7e..6788e7532dff 100644
+--- a/drivers/tty/serial/msm_serial.c
++++ b/drivers/tty/serial/msm_serial.c
+@@ -1809,6 +1809,7 @@ static const struct of_device_id msm_match_table[] = {
+ { .compatible = "qcom,msm-uartdm" },
+ {}
+ };
++MODULE_DEVICE_TABLE(of, msm_match_table);
+
+ static struct platform_driver msm_platform_driver = {
+ .remove = msm_serial_remove,
+diff --git a/drivers/usb/serial/ark3116.c b/drivers/usb/serial/ark3116.c
+index 1532cde8a437..7812052dc700 100644
+--- a/drivers/usb/serial/ark3116.c
++++ b/drivers/usb/serial/ark3116.c
+@@ -99,10 +99,17 @@ static int ark3116_read_reg(struct usb_serial *serial,
+ usb_rcvctrlpipe(serial->dev, 0),
+ 0xfe, 0xc0, 0, reg,
+ buf, 1, ARK_TIMEOUT);
+- if (result < 0)
++ if (result < 1) {
++ dev_err(&serial->interface->dev,
++ "failed to read register %u: %d\n",
++ reg, result);
++ if (result >= 0)
++ result = -EIO;
++
+ return result;
+- else
+- return buf[0];
++ }
++
++ return buf[0];
+ }
+
+ static inline int calc_divisor(int bps)
+diff --git a/drivers/usb/serial/console.c b/drivers/usb/serial/console.c
+index 8967715fe6fc..b6f1adefb758 100644
+--- a/drivers/usb/serial/console.c
++++ b/drivers/usb/serial/console.c
+@@ -143,6 +143,7 @@ static int usb_console_setup(struct console *co, char *options)
+ tty->driver = usb_serial_tty_driver;
+ tty->index = co->index;
+ init_ldsem(&tty->ldisc_sem);
++ spin_lock_init(&tty->files_lock);
+ INIT_LIST_HEAD(&tty->tty_files);
+ kref_get(&tty->driver->kref);
+ __module_get(tty->driver->owner);
+diff --git a/drivers/usb/serial/cp210x.c b/drivers/usb/serial/cp210x.c
+index fff718352e0c..fbe69465eefa 100644
+--- a/drivers/usb/serial/cp210x.c
++++ b/drivers/usb/serial/cp210x.c
+@@ -178,6 +178,8 @@ static const struct usb_device_id id_table[] = {
+ { USB_DEVICE(0x1901, 0x0190) }, /* GE B850 CP2105 Recorder interface */
+ { USB_DEVICE(0x1901, 0x0193) }, /* GE B650 CP2104 PMC interface */
+ { USB_DEVICE(0x1901, 0x0194) }, /* GE Healthcare Remote Alarm Box */
++ { USB_DEVICE(0x1901, 0x0195) }, /* GE B850/B650/B450 CP2104 DP UART interface */
++ { USB_DEVICE(0x1901, 0x0196) }, /* GE B850 CP2105 DP UART interface */
+ { USB_DEVICE(0x19CF, 0x3000) }, /* Parrot NMEA GPS Flight Recorder */
+ { USB_DEVICE(0x1ADB, 0x0001) }, /* Schweitzer Engineering C662 Cable */
+ { USB_DEVICE(0x1B1C, 0x1C00) }, /* Corsair USB Dongle */
+diff --git a/drivers/usb/serial/ftdi_sio.c b/drivers/usb/serial/ftdi_sio.c
+index 23d14b98ae2a..7d863fda1f18 100644
+--- a/drivers/usb/serial/ftdi_sio.c
++++ b/drivers/usb/serial/ftdi_sio.c
+@@ -1802,8 +1802,6 @@ static int ftdi_sio_port_probe(struct usb_serial_port *port)
+
+ mutex_init(&priv->cfg_lock);
+
+- priv->flags = ASYNC_LOW_LATENCY;
+-
+ if (quirk && quirk->port_probe)
+ quirk->port_probe(priv);
+
+@@ -2067,6 +2065,20 @@ static int ftdi_process_packet(struct usb_serial_port *port,
+ priv->prev_status = status;
+ }
+
++ /* save if the transmitter is empty or not */
++ if (packet[1] & FTDI_RS_TEMT)
++ priv->transmit_empty = 1;
++ else
++ priv->transmit_empty = 0;
++
++ len -= 2;
++ if (!len)
++ return 0; /* status only */
++
++ /*
++ * Break and error status must only be processed for packets with
++ * data payload to avoid over-reporting.
++ */
+ flag = TTY_NORMAL;
+ if (packet[1] & FTDI_RS_ERR_MASK) {
+ /* Break takes precedence over parity, which takes precedence
+@@ -2089,15 +2101,6 @@ static int ftdi_process_packet(struct usb_serial_port *port,
+ }
+ }
+
+- /* save if the transmitter is empty or not */
+- if (packet[1] & FTDI_RS_TEMT)
+- priv->transmit_empty = 1;
+- else
+- priv->transmit_empty = 0;
+-
+- len -= 2;
+- if (!len)
+- return 0; /* status only */
+ port->icount.rx += len;
+ ch = packet + 2;
+
+@@ -2428,8 +2431,12 @@ static int ftdi_get_modem_status(struct usb_serial_port *port,
+ FTDI_SIO_GET_MODEM_STATUS_REQUEST_TYPE,
+ 0, priv->interface,
+ buf, len, WDR_TIMEOUT);
+- if (ret < 0) {
++
++ /* NOTE: We allow short responses and handle that below. */
++ if (ret < 1) {
+ dev_err(&port->dev, "failed to get modem status: %d\n", ret);
++ if (ret >= 0)
++ ret = -EIO;
+ ret = usb_translate_errors(ret);
+ goto out;
+ }
+diff --git a/drivers/usb/serial/mos7840.c b/drivers/usb/serial/mos7840.c
+index ea27fb23967a..e536ac8a080b 100644
+--- a/drivers/usb/serial/mos7840.c
++++ b/drivers/usb/serial/mos7840.c
+@@ -1023,6 +1023,7 @@ static int mos7840_open(struct tty_struct *tty, struct usb_serial_port *port)
+ * (can't set it up in mos7840_startup as the structures *
+ * were not set up at that time.) */
+ if (port0->open_ports == 1) {
++ /* FIXME: Buffer never NULL, so URB is not submitted. */
+ if (serial->port[0]->interrupt_in_buffer == NULL) {
+ /* set up interrupt urb */
+ usb_fill_int_urb(serial->port[0]->interrupt_in_urb,
+@@ -2106,7 +2107,8 @@ static int mos7840_calc_num_ports(struct usb_serial *serial)
+ static int mos7840_attach(struct usb_serial *serial)
+ {
+ if (serial->num_bulk_in < serial->num_ports ||
+- serial->num_bulk_out < serial->num_ports) {
++ serial->num_bulk_out < serial->num_ports ||
++ serial->num_interrupt_in < 1) {
+ dev_err(&serial->interface->dev, "missing endpoints\n");
+ return -ENODEV;
+ }
+diff --git a/drivers/usb/serial/opticon.c b/drivers/usb/serial/opticon.c
+index 5ded6f524d59..b3c64f557d60 100644
+--- a/drivers/usb/serial/opticon.c
++++ b/drivers/usb/serial/opticon.c
+@@ -142,7 +142,7 @@ static int opticon_open(struct tty_struct *tty, struct usb_serial_port *port)
+ usb_clear_halt(port->serial->dev, port->read_urb->pipe);
+
+ res = usb_serial_generic_open(tty, port);
+- if (!res)
++ if (res)
+ return res;
+
+ /* Request CTS line state, sometimes during opening the current
+diff --git a/drivers/usb/serial/spcp8x5.c b/drivers/usb/serial/spcp8x5.c
+index 475e6c31b266..ddfd787c461c 100644
+--- a/drivers/usb/serial/spcp8x5.c
++++ b/drivers/usb/serial/spcp8x5.c
+@@ -232,11 +232,17 @@ static int spcp8x5_get_msr(struct usb_serial_port *port, u8 *status)
+ ret = usb_control_msg(dev, usb_rcvctrlpipe(dev, 0),
+ GET_UART_STATUS, GET_UART_STATUS_TYPE,
+ 0, GET_UART_STATUS_MSR, buf, 1, 100);
+- if (ret < 0)
++ if (ret < 1) {
+ dev_err(&port->dev, "failed to get modem status: %d\n", ret);
++ if (ret >= 0)
++ ret = -EIO;
++ goto out;
++ }
+
+ dev_dbg(&port->dev, "0xc0:0x22:0:6 %d - 0x02%x\n", ret, *buf);
+ *status = *buf;
++ ret = 0;
++out:
+ kfree(buf);
+
+ return ret;
+diff --git a/fs/xfs/xfs_iomap.c b/fs/xfs/xfs_iomap.c
+index 1aa3abd67b36..fdecf79d2fa4 100644
+--- a/fs/xfs/xfs_iomap.c
++++ b/fs/xfs/xfs_iomap.c
+@@ -1102,7 +1102,15 @@ xfs_file_iomap_end_delalloc(
+ xfs_fileoff_t end_fsb;
+ int error = 0;
+
+- start_fsb = XFS_B_TO_FSB(mp, offset + written);
++ /*
++ * start_fsb refers to the first unused block after a short write. If
++ * nothing was written, round offset down to point at the first block in
++ * the range.
++ */
++ if (unlikely(!written))
++ start_fsb = XFS_B_TO_FSBT(mp, offset);
++ else
++ start_fsb = XFS_B_TO_FSB(mp, offset + written);
+ end_fsb = XFS_B_TO_FSB(mp, offset + length);
+
+ /*
+@@ -1114,6 +1122,9 @@ xfs_file_iomap_end_delalloc(
+ * blocks in the range, they are ours.
+ */
+ if (start_fsb < end_fsb) {
++ truncate_pagecache_range(VFS_I(ip), XFS_FSB_TO_B(mp, start_fsb),
++ XFS_FSB_TO_B(mp, end_fsb) - 1);
++
+ xfs_ilock(ip, XFS_ILOCK_EXCL);
+ error = xfs_bmap_punch_delalloc_range(ip, start_fsb,
+ end_fsb - start_fsb);
+diff --git a/include/acpi/platform/acenv.h b/include/acpi/platform/acenv.h
+index 34cce729109c..fca15390a42c 100644
+--- a/include/acpi/platform/acenv.h
++++ b/include/acpi/platform/acenv.h
+@@ -177,7 +177,7 @@
+ #include "acmsvc.h"
+
+ #elif defined(__INTEL_COMPILER)
+-#include "acintel.h"
++#include <acpi/platform/acintel.h>
+
+ #endif
+
+diff --git a/include/acpi/platform/acintel.h b/include/acpi/platform/acintel.h
+new file mode 100644
+index 000000000000..17bd3b7b4e5a
+--- /dev/null
++++ b/include/acpi/platform/acintel.h
+@@ -0,0 +1,87 @@
++/******************************************************************************
++ *
++ * Name: acintel.h - VC specific defines, etc.
++ *
++ *****************************************************************************/
++
++/*
++ * Copyright (C) 2000 - 2017, Intel Corp.
++ * All rights reserved.
++ *
++ * Redistribution and use in source and binary forms, with or without
++ * modification, are permitted provided that the following conditions
++ * are met:
++ * 1. Redistributions of source code must retain the above copyright
++ * notice, this list of conditions, and the following disclaimer,
++ * without modification.
++ * 2. Redistributions in binary form must reproduce at minimum a disclaimer
++ * substantially similar to the "NO WARRANTY" disclaimer below
++ * ("Disclaimer") and any redistribution must be conditioned upon
++ * including a substantially similar Disclaimer requirement for further
++ * binary redistribution.
++ * 3. Neither the names of the above-listed copyright holders nor the names
++ * of any contributors may be used to endorse or promote products derived
++ * from this software without specific prior written permission.
++ *
++ * Alternatively, this software may be distributed under the terms of the
++ * GNU General Public License ("GPL") version 2 as published by the Free
++ * Software Foundation.
++ *
++ * NO WARRANTY
++ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
++ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
++ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR
++ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
++ * HOLDERS OR CONTRIBUTORS BE LIABLE FOR SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
++ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
++ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
++ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
++ * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
++ * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
++ * POSSIBILITY OF SUCH DAMAGES.
++ */
++
++#ifndef __ACINTEL_H__
++#define __ACINTEL_H__
++
++/*
++ * Use compiler specific <stdarg.h> is a good practice for even when
++ * -nostdinc is specified (i.e., ACPI_USE_STANDARD_HEADERS undefined.
++ */
++#include <stdarg.h>
++
++/* Configuration specific to Intel 64-bit C compiler */
++
++#define COMPILER_DEPENDENT_INT64 __int64
++#define COMPILER_DEPENDENT_UINT64 unsigned __int64
++#define ACPI_INLINE __inline
++
++/*
++ * Calling conventions:
++ *
++ * ACPI_SYSTEM_XFACE - Interfaces to host OS (handlers, threads)
++ * ACPI_EXTERNAL_XFACE - External ACPI interfaces
++ * ACPI_INTERNAL_XFACE - Internal ACPI interfaces
++ * ACPI_INTERNAL_VAR_XFACE - Internal variable-parameter list interfaces
++ */
++#define ACPI_SYSTEM_XFACE
++#define ACPI_EXTERNAL_XFACE
++#define ACPI_INTERNAL_XFACE
++#define ACPI_INTERNAL_VAR_XFACE
++
++/* remark 981 - operands evaluated in no particular order */
++#pragma warning(disable:981)
++
++/* warn C4100: unreferenced formal parameter */
++#pragma warning(disable:4100)
++
++/* warn C4127: conditional expression is constant */
++#pragma warning(disable:4127)
++
++/* warn C4706: assignment within conditional expression */
++#pragma warning(disable:4706)
++
++/* warn C4214: bit field types other than int */
++#pragma warning(disable:4214)
++
++#endif /* __ACINTEL_H__ */
+diff --git a/include/linux/ptr_ring.h b/include/linux/ptr_ring.h
+index 2052011bf9fb..6c70444da3b9 100644
+--- a/include/linux/ptr_ring.h
++++ b/include/linux/ptr_ring.h
+@@ -111,6 +111,11 @@ static inline int __ptr_ring_produce(struct ptr_ring *r, void *ptr)
+ return 0;
+ }
+
++/*
++ * Note: resize (below) nests producer lock within consumer lock, so if you
++ * consume in interrupt or BH context, you must disable interrupts/BH when
++ * calling this.
++ */
+ static inline int ptr_ring_produce(struct ptr_ring *r, void *ptr)
+ {
+ int ret;
+@@ -242,6 +247,11 @@ static inline void *__ptr_ring_consume(struct ptr_ring *r)
+ return ptr;
+ }
+
++/*
++ * Note: resize (below) nests producer lock within consumer lock, so if you
++ * call this in interrupt or BH context, you must disable interrupts/BH when
++ * producing.
++ */
+ static inline void *ptr_ring_consume(struct ptr_ring *r)
+ {
+ void *ptr;
+@@ -357,7 +367,7 @@ static inline void **__ptr_ring_swap_queue(struct ptr_ring *r, void **queue,
+ void **old;
+ void *ptr;
+
+- while ((ptr = ptr_ring_consume(r)))
++ while ((ptr = __ptr_ring_consume(r)))
+ if (producer < size)
+ queue[producer++] = ptr;
+ else if (destroy)
+@@ -372,6 +382,12 @@ static inline void **__ptr_ring_swap_queue(struct ptr_ring *r, void **queue,
+ return old;
+ }
+
++/*
++ * Note: producer lock is nested within consumer lock, so if you
++ * resize you must make sure all uses nest correctly.
++ * In particular if you consume ring in interrupt or BH context, you must
++ * disable interrupts/BH when doing so.
++ */
+ static inline int ptr_ring_resize(struct ptr_ring *r, int size, gfp_t gfp,
+ void (*destroy)(void *))
+ {
+@@ -382,17 +398,25 @@ static inline int ptr_ring_resize(struct ptr_ring *r, int size, gfp_t gfp,
+ if (!queue)
+ return -ENOMEM;
+
+- spin_lock_irqsave(&(r)->producer_lock, flags);
++ spin_lock_irqsave(&(r)->consumer_lock, flags);
++ spin_lock(&(r)->producer_lock);
+
+ old = __ptr_ring_swap_queue(r, queue, size, gfp, destroy);
+
+- spin_unlock_irqrestore(&(r)->producer_lock, flags);
++ spin_unlock(&(r)->producer_lock);
++ spin_unlock_irqrestore(&(r)->consumer_lock, flags);
+
+ kfree(old);
+
+ return 0;
+ }
+
++/*
++ * Note: producer lock is nested within consumer lock, so if you
++ * resize you must make sure all uses nest correctly.
++ * In particular if you consume ring in interrupt or BH context, you must
++ * disable interrupts/BH when doing so.
++ */
+ static inline int ptr_ring_resize_multiple(struct ptr_ring **rings, int nrings,
+ int size,
+ gfp_t gfp, void (*destroy)(void *))
+@@ -412,10 +436,12 @@ static inline int ptr_ring_resize_multiple(struct ptr_ring **rings, int nrings,
+ }
+
+ for (i = 0; i < nrings; ++i) {
+- spin_lock_irqsave(&(rings[i])->producer_lock, flags);
++ spin_lock_irqsave(&(rings[i])->consumer_lock, flags);
++ spin_lock(&(rings[i])->producer_lock);
+ queues[i] = __ptr_ring_swap_queue(rings[i], queues[i],
+ size, gfp, destroy);
+- spin_unlock_irqrestore(&(rings[i])->producer_lock, flags);
++ spin_unlock(&(rings[i])->producer_lock);
++ spin_unlock_irqrestore(&(rings[i])->consumer_lock, flags);
+ }
+
+ for (i = 0; i < nrings; ++i)
+diff --git a/mm/backing-dev.c b/mm/backing-dev.c
+index 3bfed5ab2475..61b34071e3ee 100644
+--- a/mm/backing-dev.c
++++ b/mm/backing-dev.c
+@@ -758,15 +758,20 @@ static int cgwb_bdi_init(struct backing_dev_info *bdi)
+ if (!bdi->wb_congested)
+ return -ENOMEM;
+
++ atomic_set(&bdi->wb_congested->refcnt, 1);
++
+ err = wb_init(&bdi->wb, bdi, 1, GFP_KERNEL);
+ if (err) {
+- kfree(bdi->wb_congested);
++ wb_congested_put(bdi->wb_congested);
+ return err;
+ }
+ return 0;
+ }
+
+-static void cgwb_bdi_destroy(struct backing_dev_info *bdi) { }
++static void cgwb_bdi_destroy(struct backing_dev_info *bdi)
++{
++ wb_congested_put(bdi->wb_congested);
++}
+
+ #endif /* CONFIG_CGROUP_WRITEBACK */
+
+diff --git a/net/ipv4/ip_sockglue.c b/net/ipv4/ip_sockglue.c
+index 900011709e3b..fc4bf4d54158 100644
+--- a/net/ipv4/ip_sockglue.c
++++ b/net/ipv4/ip_sockglue.c
+@@ -116,10 +116,10 @@ static void ip_cmsg_recv_checksum(struct msghdr *msg, struct sk_buff *skb,
+ if (skb->ip_summed != CHECKSUM_COMPLETE)
+ return;
+
+- if (offset != 0)
+- csum = csum_sub(csum,
+- csum_partial(skb_transport_header(skb) + tlen,
+- offset, 0));
++ if (offset != 0) {
++ int tend_off = skb_transport_offset(skb) + tlen;
++ csum = csum_sub(csum, skb_checksum(skb, tend_off, offset, 0));
++ }
+
+ put_cmsg(msg, SOL_IP, IP_CHECKSUM, sizeof(__wsum), &csum);
+ }
+diff --git a/net/netfilter/nf_conntrack_helper.c b/net/netfilter/nf_conntrack_helper.c
+index 7341adf7059d..6dc44d9b4190 100644
+--- a/net/netfilter/nf_conntrack_helper.c
++++ b/net/netfilter/nf_conntrack_helper.c
+@@ -188,6 +188,26 @@ nf_ct_helper_ext_add(struct nf_conn *ct,
+ }
+ EXPORT_SYMBOL_GPL(nf_ct_helper_ext_add);
+
++static struct nf_conntrack_helper *
++nf_ct_lookup_helper(struct nf_conn *ct, struct net *net)
++{
++ if (!net->ct.sysctl_auto_assign_helper) {
++ if (net->ct.auto_assign_helper_warned)
++ return NULL;
++ if (!__nf_ct_helper_find(&ct->tuplehash[IP_CT_DIR_REPLY].tuple))
++ return NULL;
++ pr_info("nf_conntrack: default automatic helper assignment "
++ "has been turned off for security reasons and CT-based "
++ " firewall rule not found. Use the iptables CT target "
++ "to attach helpers instead.\n");
++ net->ct.auto_assign_helper_warned = 1;
++ return NULL;
++ }
++
++ return __nf_ct_helper_find(&ct->tuplehash[IP_CT_DIR_REPLY].tuple);
++}
++
++
+ int __nf_ct_try_assign_helper(struct nf_conn *ct, struct nf_conn *tmpl,
+ gfp_t flags)
+ {
+@@ -213,21 +233,14 @@ int __nf_ct_try_assign_helper(struct nf_conn *ct, struct nf_conn *tmpl,
+ }
+
+ help = nfct_help(ct);
+- if (net->ct.sysctl_auto_assign_helper && helper == NULL) {
+- helper = __nf_ct_helper_find(&ct->tuplehash[IP_CT_DIR_REPLY].tuple);
+- if (unlikely(!net->ct.auto_assign_helper_warned && helper)) {
+- pr_info("nf_conntrack: automatic helper "
+- "assignment is deprecated and it will "
+- "be removed soon. Use the iptables CT target "
+- "to attach helpers instead.\n");
+- net->ct.auto_assign_helper_warned = true;
+- }
+- }
+
+ if (helper == NULL) {
+- if (help)
+- RCU_INIT_POINTER(help->helper, NULL);
+- return 0;
++ helper = nf_ct_lookup_helper(ct, net);
++ if (helper == NULL) {
++ if (help)
++ RCU_INIT_POINTER(help->helper, NULL);
++ return 0;
++ }
+ }
+
+ if (help == NULL) {
+diff --git a/net/socket.c b/net/socket.c
+index 0758e13754e2..02bd9249e295 100644
+--- a/net/socket.c
++++ b/net/socket.c
+@@ -2228,8 +2228,10 @@ int __sys_recvmmsg(int fd, struct mmsghdr __user *mmsg, unsigned int vlen,
+ return err;
+
+ err = sock_error(sock->sk);
+- if (err)
++ if (err) {
++ datagrams = err;
+ goto out_put;
++ }
+
+ entry = mmsg;
+ compat_entry = (struct compat_mmsghdr __user *)mmsg;
++++++ series.conf ++++++
--- /var/tmp/diff_new_pack.7SmEXN/_old 2017-02-27 18:56:43.590522155 +0100
+++ /var/tmp/diff_new_pack.7SmEXN/_new 2017-02-27 18:56:43.594521591 +0100
@@ -27,6 +27,7 @@
# DO NOT MODIFY THEM!
# Send separate patches upstream if you find a problem...
########################################################
+ patches.kernel.org/patch-4.10.1
########################################################
# Build fixes that apply to the vanilla kernel too.
++++++ source-timestamp ++++++
--- /var/tmp/diff_new_pack.7SmEXN/_old 2017-02-27 18:56:43.630516508 +0100
+++ /var/tmp/diff_new_pack.7SmEXN/_new 2017-02-27 18:56:43.630516508 +0100
@@ -1,3 +1,3 @@
-2017-02-20 17:47:26 +0100
-GIT Revision: 81ace5a7f749b84cf86ee1d200b2561de377319f
+2017-02-26 13:43:10 +0100
+GIT Revision: 1ecd5afe5e60593ba814ba88b0728a4efae7724c
GIT Branch: stable
1
0
Hello community,
here is the log from the commit of package gstreamer-plugins-bad for openSUSE:Factory checked in at 2017-02-27 18:54:33
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/gstreamer-plugins-bad (Old)
and /work/SRC/openSUSE:Factory/.gstreamer-plugins-bad.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "gstreamer-plugins-bad"
Changes:
--------
--- /work/SRC/openSUSE:Factory/gstreamer-plugins-bad/gstreamer-plugins-bad.changes 2017-02-08 10:52:06.481783662 +0100
+++ /work/SRC/openSUSE:Factory/.gstreamer-plugins-bad.new/gstreamer-plugins-bad.changes 2017-02-27 18:54:51.722319724 +0100
@@ -1,0 +2,11 @@
+Thu Feb 23 19:05:58 UTC 2017 - zaitor(a)opensuse.org
+
+- Update to version 1.10.4 (CVE-2017-5848):
+ + Bugs fixed: bgo#776612, bgo#777841, bgo#777957, bgo#777979,
+ bgo#778297, bgo#778434, bgo#778452, bgo#778828.
+- Drop gstreamer-plugins-bad-CVE-2017-5848.patch: Fixed upstream.
+- Drop pkgconfig(libtimidity) BuildRequires: Not needed as plugin
+ is not ported to 1.0 branch, and even dropped entirely in
+ upcomming 1.12.0 release.
+
+-------------------------------------------------------------------
Old:
----
gst-plugins-bad-1.10.3-patched.tar.xz
gst-plugins-bad-1.10.3.tar.xz
gstreamer-plugins-bad-CVE-2017-5848.patch
New:
----
gst-plugins-bad-1.10.4-patched.tar.xz
gst-plugins-bad-1.10.4.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ gstreamer-plugins-bad.spec ++++++
--- /var/tmp/diff_new_pack.SErfAk/_old 2017-02-27 18:54:52.438218626 +0100
+++ /var/tmp/diff_new_pack.SErfAk/_new 2017-02-27 18:54:52.442218061 +0100
@@ -27,7 +27,7 @@
# Use rpmbuild -D 'BUILD_ORIG 1' -D 'BUILD_ORIG_ADDON 1' to build patched build plus original as addon.
%define _name gst-plugins-bad
# FIXME: re-enable opencv BuildRequires once bnc#748666 is fixed (we don't want to depend on libxine!)
-Version: 1.10.3
+Version: 1.10.4
Release: 0
%define gst_branch 1.0
Summary: GStreamer Streaming-Media Framework Plug-Ins
@@ -47,8 +47,6 @@
Source99: baselibs.conf
# PATCH-FIX-UPSTREAM gstreamer-revert-bogus-automake-version.patch bgo# zaitor(a)opensuse.org --
Patch1: gstreamer-revert-bogus-automake-version.patch
-# PATCH-FIX-UPSTREAM gstreamer-plugins-bad-CVE-2017-5848.patch CVE-2017-5848 zaitor(a)opensuse.org -- Fix boo#1023259
-Patch2: gstreamer-plugins-bad-CVE-2017-5848.patch
# Not ported yet
#BuildRequires: SDL-devel
BuildRequires: fdupes
@@ -116,7 +114,6 @@
BuildRequires: pkgconfig(libpng) >= 1.2
BuildRequires: pkgconfig(librsvg-2.0) >= 2.14
BuildRequires: pkgconfig(libssh2) >= 1.4.3
-BuildRequires: pkgconfig(libtimidity)
BuildRequires: pkgconfig(libusb-1.0)
BuildRequires: pkgconfig(libwebp)
BuildRequires: pkgconfig(libxml-2.0)
@@ -448,7 +445,6 @@
%prep
%setup -q -n %{_name}-%{version}
%patch1 -p1 -R
-%patch2 -p1
%build
NOCONFIGURE=1 ./autogen.sh
@@ -681,7 +677,6 @@
%{_libdir}/gstreamer-%{gst_branch}/libgstsubenc.so
%{_libdir}/gstreamer-%{gst_branch}/libgstteletextdec.so
%{_libdir}/gstreamer-%{gst_branch}/libgsttimecode.so
-#%%{_libdir}/gstreamer-%%{gst_branch}/libgsttimidity.so
#%%{_libdir}/gstreamer-%%{gst_branch}/libgsttrm.so
#%%{_libdir}/gstreamer-%%{gst_branch}/libgsttta.so
%{_libdir}/gstreamer-%{gst_branch}/libgstvcdsrc.so
++++++ gst-plugins-bad-1.10.3-patched.tar.xz -> gst-plugins-bad-1.10.4-patched.tar.xz ++++++
++++ 5684 lines of diff (skipped)
++++++ gst-plugins-bad-1.10.3-patched.tar.xz -> gst-plugins-bad-1.10.4.tar.xz ++++++
++++ 170375 lines of diff (skipped)
1
0