Author: hobbes1069
Update of /cvs/free/rpms/mythtv/devel
In directory old02.ovh.rpmfusion.lan:/tmp/cvs-serv25576
Modified Files:
ChangeLog mythtv-0.27-fixes.patch mythtv.spec
Log Message:
* Mon Jul 6 2015 Richard Shaw <hobbes1069(a)gmail.com> - 0.27.5-1
- Update to latest upstream release.
- Move udisks requirement to the libs package where it's actually used.
- Add systemd mythtv database optimization service and timer.
Index: ChangeLog
===================================================================
RCS file: /cvs/free/rpms/mythtv/devel/ChangeLog,v
retrieving revision 1.23
retrieving revision 1.24
diff -u -r1.23 -r1.24
--- ChangeLog 21 Jul 2015 19:38:41 -0000 1.23
+++ ChangeLog 2 Nov 2015 16:14:54 -0000 1.24
@@ -1,3 +1,198 @@
+commit 3682a9a14783e81685af1f838ba7f3c9916e1746
+Merge: e5e095b 9ac80fb
+Author: Karl Dietz <dekarl(a)mythtv.org>
+Date: Fri Oct 9 11:16:34 2015 +0200
+
+ Merge branch 'devel/027candidates' into fixes/0.27
+
+commit e5e095bcb6d03f1edd107c04a8cd14c90145c079
+Author: Karl Dietz <dekarl(a)mythtv.org>
+Date: Sat Oct 3 12:48:34 2015 +0200
+
+ Fiddle with the theme template regular expression for #12003
+
+ It appears that \w worked for a long time. But does not match #
+ so it was changed to \S which matches everything but white space.
+
+ Now try with \w and explicit #.
+
+ The regexp is tested with online tools.
+ (I couldn't get QRegExp-Editor to build and refactoring to suit unit
+ tests didn't look easy)
+
+ Fixes #12003
+
+ (cherry picked from commit bb6fe50f70e47b836bcc9752af32996fd114a15e)
+
+commit 2ad315894af9a7770b29dbec5d0ca56a84534f49
+Author: Stuart Auchterlonie <stuarta(a)squashedfrog.net>
+Date: Fri May 1 18:09:57 2015 +0100
+
+ Re-Enable screensaver-x11 after the dbus screensaver support was added.
+
+ This now utilizes the dbus screensaver first, and then the previously
+ existing screensaver methods. This should resolve the issues seen by
+ those using only DPMS or xscreensaver.
+
+ (cherry picked from commit 8ea5911f066fe406deeddb8ba92b629be4f47cd1)
+
+ Backport to fixes/0.27. Fixes #12511
+
+commit 156c30034f6d0c2c22c3b61f59da075f50938269
+Author: Stuart Auchterlonie <stuarta(a)squashedfrog.net>
+Date: Fri May 1 18:09:30 2015 +0100
+
+ Move failure to connect to the different dbus services to LOG_WARNING level #2
+
+ (cherry picked from commit e731ebc0d31d20afa29a95a3934be0149c2e0383)
+
+ Backport to fixes/0.27. Refs #12511
+
+commit 05016ef186d113a0058babe4002a429ffc2f035e
+Author: Stuart Auchterlonie <stuarta(a)squashedfrog.net>
+Date: Fri May 1 16:03:36 2015 +0100
+
+ Move failure to connect to the different dbus services to LOG_WARNING level
+
+ (cherry picked from commit 348ed663810ffa6860f380733a677e0aa6d729d1)
+
+ Backport to fixes/0.27. Refs #12511
+
+commit 43312ef43893b0a720b9c49c6b1d1112c34c79e9
+Author: Stuart Auchterlonie <stuarta(a)squashedfrog.net>
+Date: Fri May 1 11:44:04 2015 +0100
+
+ Separate the ScreenSaver base class from the ScreenSaverController.
+
+ This is a preliminary step to allow multiple screen saver control
+ methods to be utilized at the same time.
+
+ (cherry picked from commit b1c3c35a99fbd3498a01dc06888801b553604927)
+
+ Backport to fixes/0.27. Refs #12511
+
+commit 1b02deb1b9fd89ed27d2f98bb00137ff48d60bf7
+Author: Stuart Auchterlonie <stuarta(a)squashedfrog.net>
+Date: Wed Apr 29 22:28:00 2015 +0100
+
+ Fix lirc being ignored after dbus screen saver changes.
+
+ If the Screensaver is Asleep() we ignore all keypresses
+ generated via the remote. This is clearly so that a button
+ pressed on the remote while the screen is asleep only wakes
+ up the screen, rather than triggering an action.
+
+ This swaps the logic around in the dbus screensaver so that
+ it satisfies the Asleep() check.
+
+ We may need to revist this in the future if we find that
+ when using the dbus screensaver we are not ignoring the
+ remote keypress which is used to bring us out of screensave.
+
+ (cherry picked from commit 70ae25deab026238250cbe0ca108fb6ceb41e188)
+
+ Backport to fixes/0.27. Refs #12511
+
+commit 42939f201a653b8e66876ba88b2bcbc4b57511a2
+Author: Stuart Auchterlonie <stuarta(a)squashedfrog.net>
+Date: Tue Apr 21 09:04:10 2015 +0100
+
+ Refs #12414. Removes some old commented out code
+
+ (cherry picked from commit 7c18c182e693302915bfcdd483f95192c95c04f1)
+
+ Backport to fixes/0.27. Refs #12511
+
+commit 31bd913580153c7b7ab4ce32850d8bc0c4298634
+Author: Stuart Auchterlonie <stuarta(a)squashedfrog.net>
+Date: Tue Apr 21 00:11:12 2015 +0100
+
+ lost a void along the way
+
+ (cherry picked from commit b316010a65a70561852f34ae2891825c8189d76b)
+
+ Backport to fixes/0.27. Refs #12511
+
+commit 7c7c4e5dd0ea7795414e44da5170662d283c81a5
+Author: Stuart Auchterlonie <stuarta(a)squashedfrog.net>
+Date: Mon Apr 20 23:41:14 2015 +0100
+
+ Attempt to use 4 different known screensaver dbus services
+
+ (cherry picked from commit eb68676d8ea4dae3cc2d823d2ba10183b00a4680)
+
+ Backport to fixes/0.27. Refs #12511
+
+commit ac595a7e69cb8cb13d9d43cab0cb2fef36ec8dbf
+Author: Stuart Auchterlonie <stuarta(a)squashedfrog.net>
+Date: Thu Mar 19 21:07:47 2015 +0000
+
+ Initial version of dbus based screensaver
+
+ (cherry picked from commit 35564d70e71ee0fe3ccea7dfa53a1ffa21117057)
+
+ Backport to fixes/0.27. Refs #12511
+
+commit fbd5ef3122abff438d4d706b4ccc046213f47f22
+Author: Karl Dietz <dekarl(a)mythtv.org>
+Date: Tue Sep 15 12:00:00 2015 +0200
+
+ handle RTP packets with header extensions and/or less then 7 TS packets
+
+ 1328 is a magic number of 12 (minimum RTP header size) plus
+ 7 times 188 (length of a plain TS packet)
+
+ Fix handling of padding length calculation while here.
+ from RFC 1889, page 11:
+ The last octet of the padding contains a count of how many padding
+ octets should be ignored.
+
+ Refs #11852
+
+ (cherry picked from commit 90b98524e04e5a37112e038bd9c5da6958fbf4f1)
+
+commit ec7116540f7bca2007f3d74cbd30321d5123993d
+Author: Karl Dietz <dekarl(a)mythtv.org>
+Date: Sat Sep 19 23:07:15 2015 +0200
+
+ Make the comparison of magic card type strings case insensitive
+
+ Fixes #12481
+
+ (cherry picked from commit 7126654f1ae8cdec1708cb20088362d6c9c87b27)
+
+commit e9b577d3e9865fd51ffb385c3317448ac3771124
+Author: Michael Niedermayer <michaelni(a)gmx.at>
+Date: Wed Sep 9 18:10:51 2015 +0100
+
+ avcodec/aacdec: Fix storing state before PCE decode
+
+ Signed-off-by: Paul Harrison <pharrison(a)mythtv.org>
+ (cherry picked from commit fdbe56014caac49e617736b18bf0ffc27bad7386)
+
+commit 32fd3968acea905d71d9769996487eff280233ea
+Author: David Engel <dengel(a)mythtv.org>
+Date: Fri Sep 4 09:58:37 2015 -0500
+
+ Only use visible channels to mark first/last showings.
+
+ If a first or last showing is only on an invisible channel, it will
+ cause a recording rule using that feature to miss a showing on another
+ visible channel.
+
+ Cherry picked from commit 97aface5.
+
+commit e2a11c915058c6876a25d8188f02bc1d99fdad02
+Author: Hika van den Hoven <hikavdh(a)gmail.com>
+Date: Sun Aug 2 12:32:37 2015 +0200
+
+ Internet Content: Only use the YouTube region preference if it is nonempty
+
+ Fixes #12475
+
+ Signed-off-by: Jonatan Lindblad <jlindblad(a)mythtv.org>
+ (cherry picked from commit a8dcf35fe25dfd9f0501b8f0bd4d08e770f415e0)
+
commit 9498257571e8158926b60a0eefc74568c4436823
Author: Mario Limonciello <superm1(a)ubuntu.com>
Date: Wed Oct 9 07:21:38 2013 -0500
@@ -42,3 +237,86 @@
This bumps the ABI version.
(cherry picked from commit 9527d3d0c9b71bb088b3869319a11f5c1ea9bb57)
+
+commit 9ac80fbb52a5c8022d5cb4374cf6b455785a3990
+Author: Jonatan Lindblad <jlindblad(a)mythtv.org>
+Date: Sun Apr 19 23:41:00 2015 +0200
+
+ Video output: Fix OpenGL 1 output after b9971146
+
+ (cherry picked from commit 2b01ed3894be8374b6c143449fa563fbd945da5a)
+
+ Refs #12421
+
+commit cd9762c6acaa1fa26f4c5e29f2bc83d4e7e2353e
+Author: Jonatan Lindblad <jlindblad(a)mythtv.org>
+Date: Mon Mar 23 23:46:13 2015 +0100
+
+ Video output: Add default fragment shader for OpenGL 2
+
+ When there were no color conversions with the YUV->RGB shader, there was no
+ other fragment shader active and because of that the video was black.
+
+ (cherry picked from commit b997114683759562dbaf6b80a651070d099195ac)
+
+ Refs #12421
+
+commit fbe2c3c1215a4fa0e9aa4df815e86d7d7a42ef4b
+Merge: fd0f283 7962008
+Author: Stuart Auchterlonie <stuarta(a)squashedfrog.net>
+Date: Mon May 4 21:52:03 2015 +0100
+
+ Merge remote-tracking branch 'origin/fixes/0.27' into devel/027candidates
+
+commit fd0f2831f936b55512d9ff68f70aa3032f20d451
+Merge: c4bbf71 628183a
+Author: Stuart Auchterlonie <stuarta(a)squashedfrog.net>
+Date: Fri Apr 10 11:36:41 2015 +0100
+
+ Merge branch 'fixes/0.27' into devel/027candidates
+
+ Pull in various fixes that have been pushed to 0.27,
+ but aren't in devel/027candidates
+
+commit c4bbf713ac4c4b51fd9125d1c57a4aa0e70b0c44
+Author: Stuart Auchterlonie <stuarta(a)squashedfrog.net>
+Date: Wed Feb 11 16:58:49 2015 +0000
+
+ Enable pic by default on linux systems.
+ Should fix building on 32bit based systems with Qt5
+
+ (cherry picked from commit 0e5961e41dd6867772b74c051a96dc219181c6a5)
+
+commit 920097d8a8ad8a7fdcfc8357ee0a9744a29976e4
+Author: Stuart Auchterlonie <stuarta(a)squashedfrog.net>
+Date: Fri Jan 2 11:52:58 2015 +0000
+
+ Add missing QObject include. Should resolve Qt5 build error
+
+ (cherry picked from commit f063b19facd153c2b2844e9643d570b9466b4b6f)
+
+commit f88acbe3648495f211ad22e9dbf90ecc3ae99a69
+Merge: 2fb2643 b97ea66
+Author: Jean-Yves Avenard <jyavenard(a)mythtv.org>
+Date: Tue Oct 14 19:28:45 2014 +1100
+
+ Merge branch 'fixes/0.27' into devel/027candidates
+
+commit 2fb26439867aea9bbd2f2b4808f780c6fd477e41
+Author: John Poet <jpoet(a)mythtv.org>
+Date: Tue Sep 23 12:58:15 2014 -0600
+
+ MythMainWindow::Norm: With very small values of x, scaling down can cause
+ the 'normalized' value to go to zero. Rounding the result fixes this, and
+ is probably more desireable anyway.
+
+ (cherry picked from commit 42bae47be8794eac2dadff3b4fd1a7fa3c547b82)
+
+commit 4c29a5e2d79f180a0684c91f4867793ed561e9ed
+Author: John Poet <jpoet(a)mythtv.org>
+Date: Fri Sep 19 16:15:09 2014 -0600
+
+ MythUIScrollBar: Initialize maximum to zero until it is actually known,
+ otherwise the scrollbar is drawn prematurely.
+
+ (cherry picked from commit 899f3d3185c994715c86cd42bf56e011266e4c9c)
mythtv-0.27-fixes.patch:
mythplugins/mythnetvision/mythnetvision/netcommon.cpp
| 4
mythplugins/mythnetvision/mythnetvision/netcommon.h
| 2
mythplugins/mythnetvision/mythnetvision/netsearch.cpp
| 23
mythplugins/mythnetvision/mythnetvision/netsearch.h
| 3
mythtv/external/FFmpeg/libavcodec/aacdec.c
| 2
mythtv/libs/libmyth/netgrabbermanager.cpp
| 26
mythtv/libs/libmyth/netgrabbermanager.h
| 7
mythtv/libs/libmythbase/mythversion.h
| 2
mythtv/libs/libmythtv/profilegroup.cpp
| 3
mythtv/libs/libmythtv/recorders/rtp/rtpdatapacket.h
| 8
mythtv/libs/libmythtv/recorders/rtp/rtptsdatapacket.h
| 2
mythtv/libs/libmythui/libmythui.pro
| 7
mythtv/libs/libmythui/mythuibuttonlist.cpp
| 2
mythtv/libs/libmythui/mythuihelper.cpp
| 2
mythtv/libs/libmythui/mythuitext.cpp
| 4
mythtv/libs/libmythui/screensaver-dbus.cpp
| 171 ++
mythtv/libs/libmythui/screensaver-dbus.h
| 25
mythtv/libs/libmythui/screensaver-null.h
| 2
mythtv/libs/libmythui/screensaver-osx.h
| 2
mythtv/libs/libmythui/screensaver-x11.h
| 2
mythtv/libs/libmythui/screensaver.cpp
| 68
mythtv/libs/libmythui/screensaver.h
| 27
mythtv/programs/mythbackend/internetContent.cpp
| 10
mythtv/programs/mythfilldatabase/main.cpp
| 44
mythtv/programs/scripts/internetcontent/nv_python_libs/common/common_api.py
| 9
mythtv/programs/scripts/internetcontent/nv_python_libs/configs/XML/defaultUserPrefs/youtube.xml
| 10
mythtv/programs/scripts/internetcontent/nv_python_libs/mainProcess.py
| 17
mythtv/programs/scripts/internetcontent/nv_python_libs/vimeo/vimeo_data.py
| 21
mythtv/programs/scripts/internetcontent/nv_python_libs/youtube/youtube_api.py
| 734 +++-------
mythtv/programs/scripts/internetcontent/nv_python_libs/youtube/youtube_data.py
| 20
mythtv/programs/scripts/internetcontent/youtube.py
| 31
31 files changed, 666 insertions(+), 624 deletions(-)
Index: mythtv-0.27-fixes.patch
===================================================================
RCS file: /cvs/free/rpms/mythtv/devel/mythtv-0.27-fixes.patch,v
retrieving revision 1.12
retrieving revision 1.13
diff -u -r1.12 -r1.13
--- mythtv-0.27-fixes.patch 21 Jul 2015 19:38:41 -0000 1.12
+++ mythtv-0.27-fixes.patch 2 Nov 2015 16:14:54 -0000 1.13
@@ -2,10 +2,26 @@
.../mythnetvision/mythnetvision/netcommon.h | 2 +-
.../mythnetvision/mythnetvision/netsearch.cpp | 23 +-
.../mythnetvision/mythnetvision/netsearch.h | 3 +
+ mythtv/external/FFmpeg/libavcodec/aacdec.c | 2 +-
mythtv/libs/libmyth/netgrabbermanager.cpp | 26 +-
mythtv/libs/libmyth/netgrabbermanager.h | 7 +-
mythtv/libs/libmythbase/mythversion.h | 2 +-
+ mythtv/libs/libmythtv/profilegroup.cpp | 3 +-
+ .../libs/libmythtv/recorders/rtp/rtpdatapacket.h | 8 +-
+ .../libs/libmythtv/recorders/rtp/rtptsdatapacket.h | 2 +-
+ mythtv/libs/libmythui/libmythui.pro | 7 +
+ mythtv/libs/libmythui/mythuibuttonlist.cpp | 2 +-
+ mythtv/libs/libmythui/mythuihelper.cpp | 2 +-
+ mythtv/libs/libmythui/mythuitext.cpp | 4 +-
+ mythtv/libs/libmythui/screensaver-dbus.cpp | 171 +++++
+ mythtv/libs/libmythui/screensaver-dbus.h | 25 +
+ mythtv/libs/libmythui/screensaver-null.h | 2 +-
+ mythtv/libs/libmythui/screensaver-osx.h | 2 +-
+ mythtv/libs/libmythui/screensaver-x11.h | 2 +-
+ mythtv/libs/libmythui/screensaver.cpp | 68 +-
+ mythtv/libs/libmythui/screensaver.h | 27 +-
mythtv/programs/mythbackend/internetContent.cpp | 10 +-
+ mythtv/programs/mythfilldatabase/main.cpp | 44 +-
.../nv_python_libs/common/common_api.py | 9 +-
.../configs/XML/defaultUserPrefs/youtube.xml | 10 +
.../internetcontent/nv_python_libs/mainProcess.py | 17 +-
@@ -13,7 +29,7 @@
.../nv_python_libs/youtube/youtube_api.py | 734 +++++++--------------
.../nv_python_libs/youtube/youtube_data.py | 20 +
mythtv/programs/scripts/internetcontent/youtube.py | 31 +-
- 16 files changed, 349 insertions(+), 570 deletions(-)
+ 32 files changed, 666 insertions(+), 624 deletions(-)
diff --git a/mythplugins/mythnetvision/mythnetvision/netcommon.cpp
b/mythplugins/mythnetvision/mythnetvision/netcommon.cpp
index 1397347..296d923 100644
@@ -114,6 +130,19 @@
private slots:
void streamWebVideo(void);
void showWebVideo(void);
+diff --git a/mythtv/external/FFmpeg/libavcodec/aacdec.c
b/mythtv/external/FFmpeg/libavcodec/aacdec.c
+index c9eb798..66c7b3b 100644
+--- a/mythtv/external/FFmpeg/libavcodec/aacdec.c
++++ b/mythtv/external/FFmpeg/libavcodec/aacdec.c
+@@ -399,7 +399,7 @@ static uint64_t sniff_channel_order(uint8_t (*layout_map)[3], int
tags)
+ * Save current output configuration if and only if it has been locked.
+ */
+ static void push_output_configuration(AACContext *ac) {
+- if (ac->oc[1].status == OC_LOCKED) {
++ if (ac->oc[1].status == OC_LOCKED || ac->oc[0].status == OC_NONE) {
+ ac->oc[0] = ac->oc[1];
+ }
+ ac->oc[1].status = OC_NONE;
diff --git a/mythtv/libs/libmyth/netgrabbermanager.cpp
b/mythtv/libs/libmyth/netgrabbermanager.cpp
index 15d876a..6b1b38d 100644
--- a/mythtv/libs/libmyth/netgrabbermanager.cpp
@@ -218,6 +247,513 @@
/** \brief Increment this whenever the MythTV network protocol changes.
*
+diff --git a/mythtv/libs/libmythtv/profilegroup.cpp
b/mythtv/libs/libmythtv/profilegroup.cpp
+index 72e8d33..f6b0f06 100644
+--- a/mythtv/libs/libmythtv/profilegroup.cpp
++++ b/mythtv/libs/libmythtv/profilegroup.cpp
+@@ -86,7 +86,8 @@ void ProfileGroup::fillSelections(SelectSetting* setting)
+ QString cardtype = result.value(4).toString();
+
+ // Only show default profiles that match installed cards
+- bool have_cardtype = cardtypes.contains(cardtype);
++ // Workaround for #12481 in fixes/0.27
++ bool have_cardtype = cardtypes.contains(cardtype, Qt::CaseInsensitive);
+ if (is_default && (cardtype == "TRANSCODE") &&
!have_cardtype)
+ {
+ tid = id;
+diff --git a/mythtv/libs/libmythtv/recorders/rtp/rtpdatapacket.h
b/mythtv/libs/libmythtv/recorders/rtp/rtpdatapacket.h
+index 6586cc0..e8b8d94 100644
+--- a/mythtv/libs/libmythtv/recorders/rtp/rtpdatapacket.h
++++ b/mythtv/libs/libmythtv/recorders/rtp/rtpdatapacket.h
+@@ -43,12 +43,6 @@ class RTPDataPacket : public UDPPacket
+ .arg(GetVersion()));
+ return false;
+ }
+- if (HasPadding() && (m_data.size() < 1328))
+- {
+- LOG(VB_GENERAL, LOG_INFO, QString("HasPadding && %1 <
1328")
+- .arg(m_data.size()));
+- return false;
+- }
+
+ int off = 12 + 4 * GetCSRCCount();
+ if (off > m_data.size())
+@@ -120,7 +114,7 @@ class RTPDataPacket : public UDPPacket
+ {
+ if (!HasPadding())
+ return 0;
+- return m_data[1328];
++ return m_data[m_data.size()-1];
+ }
+
+ protected:
+diff --git a/mythtv/libs/libmythtv/recorders/rtp/rtptsdatapacket.h
b/mythtv/libs/libmythtv/recorders/rtp/rtptsdatapacket.h
+index 95cf684..ead472d 100644
+--- a/mythtv/libs/libmythtv/recorders/rtp/rtptsdatapacket.h
++++ b/mythtv/libs/libmythtv/recorders/rtp/rtptsdatapacket.h
+@@ -29,7 +29,7 @@ class RTPTSDataPacket : public RTPDataPacket
+
+ unsigned int GetTSDataSize(void) const
+ {
+- return max(1328 - (int)GetTSOffset() - (int)GetPaddingSize(), 0);
++ return max(m_data.size() - (int)GetTSOffset() - (int)GetPaddingSize(), 0);
+ }
+
+ private:
+diff --git a/mythtv/libs/libmythui/libmythui.pro b/mythtv/libs/libmythui/libmythui.pro
+index 589639c..8143126 100644
+--- a/mythtv/libs/libmythui/libmythui.pro
++++ b/mythtv/libs/libmythui/libmythui.pro
+@@ -112,6 +112,13 @@ using_x11 {
+ POST_TARGETDEPS += ../libmythnvctrl/libmythnvctrl-$${MYTH_LIB_EXT}
+ }
+
++using_qtdbus {
++ QT += dbus
++ DEFINES += USING_DBUS
++ HEADERS += screensaver-dbus.h
++ SOURCES += screensaver-dbus.cpp
++}
++
+ macx {
+ HEADERS += screensaver-osx.h DisplayResOSX.h util-osx.h
+ SOURCES += screensaver-osx.cpp DisplayResOSX.cpp util-osx.cpp
+diff --git a/mythtv/libs/libmythui/mythuibuttonlist.cpp
b/mythtv/libs/libmythui/mythuibuttonlist.cpp
+index ea0d634..8b13eef 100644
+--- a/mythtv/libs/libmythui/mythuibuttonlist.cpp
++++ b/mythtv/libs/libmythui/mythuibuttonlist.cpp
+@@ -3518,7 +3518,7 @@ void MythUIButtonListItem::SetToRealButton(MythUIStateType *button,
bool selecte
+
+ QString newText = text->GetTemplateText();
+
+- QRegExp regexp("%(([^\\|%]+)?\\||\\|(.))?(\\S+)(\\|(.+))?%");
++ QRegExp regexp("%(([^\\|%]+)?\\||\\|(.))?([\\w#]+)(\\|(.+))?%");
+ regexp.setMinimal(true);
+
+ if (!newText.isEmpty() && newText.contains(regexp))
+diff --git a/mythtv/libs/libmythui/mythuihelper.cpp
b/mythtv/libs/libmythui/mythuihelper.cpp
+index 19fcde4..0520be5 100644
+--- a/mythtv/libs/libmythui/mythuihelper.cpp
++++ b/mythtv/libs/libmythui/mythuihelper.cpp
+@@ -197,7 +197,7 @@ MythUIHelperPrivate::~MythUIHelperPrivate()
+
+ void MythUIHelperPrivate::Init(void)
+ {
+- screensaver = ScreenSaverControl::get();
++ screensaver = new ScreenSaverControl();
+ GetScreenBounds();
+ StoreGUIsettings();
+ screenSetup = true;
+diff --git a/mythtv/libs/libmythui/mythuitext.cpp b/mythtv/libs/libmythui/mythuitext.cpp
+index 60fa71f..b6fcfcb 100644
+--- a/mythtv/libs/libmythui/mythuitext.cpp
++++ b/mythtv/libs/libmythui/mythuitext.cpp
+@@ -132,7 +132,7 @@ void MythUIText::ResetMap(const InfoMap &map)
+ if (newText.isEmpty())
+ newText = GetDefaultText();
+
+- QRegExp regexp("%(([^\\|%]+)?\\||\\|(.))?(\\w+)(\\|(.+))?%");
++ QRegExp regexp("%(([^\\|%]+)?\\||\\|(.))?([\\w#]+)(\\|(.+))?%");
+ regexp.setMinimal(true);
+
+ bool replaced = map.contains(objectName());
+@@ -196,7 +196,7 @@ void MythUIText::SetTextFromMap(const InfoMap &map)
+ if (newText.isEmpty())
+ newText = GetDefaultText();
+
+- QRegExp regexp("%(([^\\|%]+)?\\||\\|(.))?(\\S+)(\\|(.+))?%");
++ QRegExp regexp("%(([^\\|%]+)?\\||\\|(.))?([\\w#]+)(\\|(.+))?%");
+ regexp.setMinimal(true);
+
+ if (!newText.isEmpty() && newText.contains(regexp))
+diff --git a/mythtv/libs/libmythui/screensaver-dbus.cpp
b/mythtv/libs/libmythui/screensaver-dbus.cpp
+new file mode 100644
+index 0000000..b099c46
+--- /dev/null
++++ b/mythtv/libs/libmythui/screensaver-dbus.cpp
+@@ -0,0 +1,171 @@
++#include <stdint.h>
++#include "screensaver-dbus.h"
++#include <QDBusConnection>
++#include <QDBusInterface>
++#include <QDBusReply>
++#include <QString>
++
++#include "mythlogging.h"
++
++#define LOC QString("ScreenSaverDBus: ")
++
++const char m_app[] = "MythTV";
++const char m_reason[] = "Watching TV";
++const char m_dbusInhibit[] = "Inhibit";
++
++#define NUM_DBUS_METHODS 4
++// Thanks to vlc for the set of dbus services to use.
++const char m_dbusService[][40] = {
++ "org.freedesktop.ScreenSaver", /**< KDE >= 4 and GNOME >= 3.10
*/
++ "org.freedesktop.PowerManagement.Inhibit", /**< KDE and GNOME <=
2.26 */
++ "org.mate.SessionManager", /**< >= 1.0 */
++ "org.gnome.SessionManager", /**< GNOME 2.26..3.4 */
++};
++
++const char m_dbusPath[][33] = {
++ "/ScreenSaver",
++ "/org/freedesktop/PowerManagement",
++ "/org/mate/SessionManager",
++ "/org/gnome/SessionManager",
++};
++
++// Service name is also the interface name in all cases
++
++const char m_dbusUnInhibit[][10] = {
++ "UnInhibit",
++ "UnInhibit",
++ "Uninhibit",
++ "Uninhibit",
++};
++
++class ScreenSaverDBusPrivate
++{
++ friend class ScreenSaverDBus;
++
++ public:
++ ScreenSaverDBusPrivate(QString dbusService, QString dbusPath, QString dbusInterface,
QDBusConnection *bus) :
++ m_inhibited(false),
++ m_cookie(0),
++ m_bus(bus),
++ m_interface(new QDBusInterface(dbusService, dbusPath , dbusInterface, *m_bus)),
++ m_unInhibit(""),
++ m_serviceUsed(dbusService)
++ {
++ if (!m_interface->isValid())
++ {
++ LOG(VB_GENERAL, LOG_WARNING, LOC + "Could not connect to dbus: "
+
++ m_interface->lastError().message());
++ }
++ else
++ {
++ LOG(VB_GENERAL, LOG_INFO, LOC + "Created for DBus service: " +
dbusService);
++ }
++ }
++ ~ScreenSaverDBusPrivate()
++ {
++ delete m_interface;
++ }
++ void Inhibit(void)
++ {
++ if (m_interface->isValid())
++ {
++ // method uint org.freedesktop.ScreenSaver.Inhibit(QString application_name,
QString reason_for_inhibit)
++ QDBusMessage msg = m_interface->call(QDBus::Block, m_dbusInhibit , m_app,
m_reason);
++ if (msg.type() == QDBusMessage::ReplyMessage)
++ {
++ QList<QVariant> replylist = msg.arguments();
++ QVariant reply = replylist.first();
++ m_cookie = reply.toUInt();
++ m_inhibited = true;
++ LOG(VB_GENERAL, LOG_INFO, LOC +
++ QString("Successfully inhibited screensaver via %1. cookie %2.
nom nom")
++ .arg(m_serviceUsed).arg(m_cookie));
++ }
++ else // msg.type() == QDBusMessage::ErrorMessage
++ {
++ LOG(VB_GENERAL, LOG_WARNING, LOC + "Failed to disable screensaver:
" +
++ msg.errorMessage());
++ }
++ }
++ }
++ void UnInhibit(void)
++ {
++ if (m_interface->isValid())
++ {
++ // Don't block waiting for the reply, there isn't one
++ // method void org.freedesktop.ScreenSaver.UnInhibit(uint cookie) (or
equivalent)
++ if (m_cookie != 0) {
++ m_interface->call(QDBus::NoBlock, m_unInhibit , m_cookie);
++ m_cookie = 0;
++ m_inhibited = false;
++ LOG(VB_GENERAL, LOG_INFO, LOC + QString("Screensaver uninhibited
via %1")
++ .arg(m_serviceUsed));
++ }
++ }
++ }
++ void SetUnInhibit(QString method) { m_unInhibit = method; }
++
++ protected:
++ bool m_inhibited;
++ uint32_t m_cookie;
++ QDBusConnection *m_bus;
++ QDBusInterface *m_interface;
++ private:
++ QString m_unInhibit;
++ QString m_serviceUsed;
++};
++
++ScreenSaverDBus::ScreenSaverDBus() :
++ m_bus(QDBusConnection::sessionBus()),
++ d(NULL),
++ m_dbusPrivateInterfaces(QList<ScreenSaverDBusPrivate *>())
++{
++ // service, path, interface, bus - note that interface = service, hence it is used
twice
++ for (uint i=0; i < NUM_DBUS_METHODS; i++) {
++ ScreenSaverDBusPrivate *ssdbp =
++ new ScreenSaverDBusPrivate(m_dbusService[i], m_dbusPath[i],
m_dbusService[i], &m_bus);
++ ssdbp->SetUnInhibit(m_dbusUnInhibit[i]);
++ m_dbusPrivateInterfaces.push_back(ssdbp);
++ }
++}
++
++ScreenSaverDBus::~ScreenSaverDBus()
++{
++ ScreenSaverDBus::Restore();
++ while (!m_dbusPrivateInterfaces.isEmpty()) {
++ ScreenSaverDBusPrivate *ssdbp = m_dbusPrivateInterfaces.takeLast();
++ delete ssdbp;
++ }
++}
++
++void ScreenSaverDBus::Disable(void)
++{
++ QList<ScreenSaverDBusPrivate *>::iterator i;
++ for (i = m_dbusPrivateInterfaces.begin(); i != m_dbusPrivateInterfaces.end(); ++i)
{
++ (*i)->Inhibit();
++ }
++}
++
++void ScreenSaverDBus::Restore(void)
++{
++ QList<ScreenSaverDBusPrivate *>::iterator i;
++ for (i = m_dbusPrivateInterfaces.begin(); i != m_dbusPrivateInterfaces.end(); ++i)
{
++ (*i)->UnInhibit();
++ }
++}
++
++void ScreenSaverDBus::Reset(void)
++{
++ Restore();
++}
++
++bool ScreenSaverDBus::Asleep(void)
++{
++ QList<ScreenSaverDBusPrivate *>::iterator i;
++ for (i = m_dbusPrivateInterfaces.begin(); i != m_dbusPrivateInterfaces.end(); ++i)
{
++ if((*i)->m_inhibited) {
++ return true;
++ }
++ }
++ return false;
++}
+diff --git a/mythtv/libs/libmythui/screensaver-dbus.h
b/mythtv/libs/libmythui/screensaver-dbus.h
+new file mode 100644
+index 0000000..f22252b
+--- /dev/null
++++ b/mythtv/libs/libmythui/screensaver-dbus.h
+@@ -0,0 +1,25 @@
++#ifndef MYTH_SCREENSAVER_DBUS_H
++#define MYTH_SCREENSAVER_DBUS_H
++
++#include "screensaver.h"
++#include "QDBusConnection"
++
++class ScreenSaverDBus : public ScreenSaver
++{
++ public:
++ ScreenSaverDBus();
++ ~ScreenSaverDBus();
++
++ void Disable(void);
++ void Restore(void);
++ void Reset(void);
++
++ bool Asleep(void);
++ protected:
++ QDBusConnection m_bus;
++ class ScreenSaverDBusPrivate *d;
++ QList<ScreenSaverDBusPrivate *> m_dbusPrivateInterfaces;
++};
++
++#endif // MYTH_SCREENSAVER_DBUS_H
++
+diff --git a/mythtv/libs/libmythui/screensaver-null.h
b/mythtv/libs/libmythui/screensaver-null.h
+index 60119dd..1267324 100644
+--- a/mythtv/libs/libmythui/screensaver-null.h
++++ b/mythtv/libs/libmythui/screensaver-null.h
+@@ -3,7 +3,7 @@
+
+ #include "screensaver.h"
+
+-class ScreenSaverNull : public ScreenSaverControl
++class ScreenSaverNull : public ScreenSaver
+ {
+ public:
+ ScreenSaverNull();
+diff --git a/mythtv/libs/libmythui/screensaver-osx.h
b/mythtv/libs/libmythui/screensaver-osx.h
+index dae5622..69413a7 100644
+--- a/mythtv/libs/libmythui/screensaver-osx.h
++++ b/mythtv/libs/libmythui/screensaver-osx.h
+@@ -3,7 +3,7 @@
+
+ #include "screensaver.h"
+
+-class ScreenSaverOSX : public ScreenSaverControl
++class ScreenSaverOSX : public ScreenSaver
+ {
+ public:
+ ScreenSaverOSX();
+diff --git a/mythtv/libs/libmythui/screensaver-x11.h
b/mythtv/libs/libmythui/screensaver-x11.h
+index 0fa7956..5945f9e 100644
+--- a/mythtv/libs/libmythui/screensaver-x11.h
++++ b/mythtv/libs/libmythui/screensaver-x11.h
+@@ -5,7 +5,7 @@
+
+ #include "screensaver.h"
+
+-class ScreenSaverX11 : public QObject, public ScreenSaverControl
++class ScreenSaverX11 : public QObject, public ScreenSaver
+ {
+ Q_OBJECT
+
+diff --git a/mythtv/libs/libmythui/screensaver.cpp
b/mythtv/libs/libmythui/screensaver.cpp
+index a9e480a..de4d148 100644
+--- a/mythtv/libs/libmythui/screensaver.cpp
++++ b/mythtv/libs/libmythui/screensaver.cpp
+@@ -2,6 +2,10 @@
+ #include "screensaver.h"
+ #include "screensaver-null.h"
+
++#ifdef USING_DBUS
++#include "screensaver-dbus.h"
++#endif // USING_DBUS
++
+ #ifdef USING_X11
+ #include "screensaver-x11.h"
+ #endif // USING_X11
+@@ -13,21 +17,61 @@
+ QEvent::Type ScreenSaverEvent::kEventType =
+ (QEvent::Type) QEvent::registerEventType();
+
+-ScreenSaverControl* ScreenSaverSingleton = NULL;
+-
+-ScreenSaverControl* ScreenSaverControl::get(void)
++ScreenSaverControl::ScreenSaverControl() :
++ m_screenSavers(QList<ScreenSaver *>())
+ {
+- if (!ScreenSaverSingleton)
+- {
+-
++ ScreenSaver * tmp;
++#if defined(USING_DBUS)
++ tmp = new ScreenSaverDBus();
++ m_screenSavers.push_back(tmp);
++#endif
+ #if defined(USING_X11)
+- ScreenSaverSingleton = new ScreenSaverX11();
++ tmp = new ScreenSaverX11();
++ m_screenSavers.push_back(tmp);
+ #elif CONFIG_DARWIN
+- ScreenSaverSingleton = new ScreenSaverOSX();
+-#else
+- ScreenSaverSingleton = new ScreenSaverNull();
++ tmp = new ScreenSaverOSX();
++ m_screenSavers.push_back(tmp);
+ #endif
++#if not (defined(USING_DBUS) || defined(USING_X11) || CONFIG_DARWIN)
++ tmp = new ScreenSaverNull();
++ m_screenSavers.push_back(tmp);
++#endif
++}
++
++ScreenSaverControl::~ScreenSaverControl() {
++ while (!m_screenSavers.isEmpty()) {
++ ScreenSaver *tmp = m_screenSavers.takeLast();
++ delete tmp;
++ }
++}
++
++void ScreenSaverControl::Disable(void) {
++ QList<ScreenSaver *>::iterator i;
++ for (i = m_screenSavers.begin(); i != m_screenSavers.end(); ++i) {
++ (*i)->Disable();
++ }
++}
++
++void ScreenSaverControl::Restore(void) {
++ QList<ScreenSaver *>::iterator i;
++ for (i = m_screenSavers.begin(); i != m_screenSavers.end(); ++i) {
++ (*i)->Restore();
++ }
++}
++
++void ScreenSaverControl::Reset(void) {
++ QList<ScreenSaver *>::iterator i;
++ for (i = m_screenSavers.begin(); i != m_screenSavers.end(); ++i) {
++ (*i)->Reset();
++ }
++}
++
++bool ScreenSaverControl::Asleep(void) {
++ QList<ScreenSaver *>::iterator i;
++ for (i = m_screenSavers.begin(); i != m_screenSavers.end(); ++i) {
++ if((*i)->Asleep()) {
++ return true;
++ }
+ }
+-
+- return ScreenSaverSingleton;
++ return false;
+ }
+diff --git a/mythtv/libs/libmythui/screensaver.h b/mythtv/libs/libmythui/screensaver.h
+index 018ff06..0c45e16 100644
+--- a/mythtv/libs/libmythui/screensaver.h
++++ b/mythtv/libs/libmythui/screensaver.h
+@@ -2,6 +2,7 @@
+ #define MYTH_SCREENSAVER_H
+
+ #include <QEvent>
++#include <QList>
+
+ class ScreenSaverEvent : public QEvent
+ {
+@@ -24,20 +25,32 @@ protected:
+ ScreenSaverEventKind sset;
+ };
+
+-class ScreenSaverControl
++/// Base Class for screensavers
++class ScreenSaver
+ {
+ public:
+- // creates one of the concrete subsclasses
+- static ScreenSaverControl* get(void);
+-
+- ScreenSaverControl() { };
+- virtual ~ScreenSaverControl() { };
++ ScreenSaver() { };
++ virtual ~ScreenSaver() { };
+
+ virtual void Disable(void) = 0;
+ virtual void Restore(void) = 0;
+ virtual void Reset(void) = 0;
+-
+ virtual bool Asleep(void) = 0;
+ };
+
++/// Controls all instances of the screensaver
++class ScreenSaverControl
++{
++ public:
++ ScreenSaverControl();
++ ~ScreenSaverControl();
++
++ void Disable(void);
++ void Restore(void);
++ void Reset(void);
++ bool Asleep(void);
++ private:
++ QList<ScreenSaver *> m_screenSavers;
++};
++
+ #endif // MYTH_SCREENSAVER_H
diff --git a/mythtv/programs/mythbackend/internetContent.cpp
b/mythtv/programs/mythbackend/internetContent.cpp
index 0701cc8..cbfa278 100644
--- a/mythtv/programs/mythbackend/internetContent.cpp
@@ -255,6 +791,82 @@
loop.exec();
search->process();
+diff --git a/mythtv/programs/mythfilldatabase/main.cpp
b/mythtv/programs/mythfilldatabase/main.cpp
+index d936e9b..e5f9874 100644
+--- a/mythtv/programs/mythfilldatabase/main.cpp
++++ b/mythtv/programs/mythfilldatabase/main.cpp
+@@ -607,10 +607,12 @@ int main(int argc, char *argv[])
+
+ LOG(VB_GENERAL, LOG_INFO, "Marking episode first showings.");
+ updt.prepare("UPDATE program "
+- "JOIN (SELECT MIN(starttime) AS starttime, programid "
+- " FROM program "
+- " WHERE programid <> '' "
+- " GROUP BY programid "
++ "JOIN (SELECT MIN(p.starttime) AS starttime, p.programid
"
++ " FROM program p, channel c "
++ " WHERE p.programid <> '' "
++ " AND p.chanid = c.chanid "
++ " AND c.visible = 1 "
++ " GROUP BY p.programid "
+ " ) AS firsts "
+ "ON program.programid = firsts.programid "
+ " AND program.starttime = firsts.starttime "
+@@ -620,11 +622,13 @@ int main(int argc, char *argv[])
+ found = updt.numRowsAffected();
+
+ updt.prepare("UPDATE program "
+- "JOIN (SELECT MIN(starttime) AS starttime, title,
subtitle,"
+- " LEFT(description, 1024) AS partdesc "
+- " FROM program "
+- " WHERE programid = '' "
+- " GROUP BY title, subtitle, partdesc "
++ "JOIN (SELECT MIN(p.starttime) AS starttime, p.title,
p.subtitle, "
++ " LEFT(p.description, 1024) AS partdesc "
++ " FROM program p, channel c "
++ " WHERE p.programid = '' "
++ " AND p.chanid = c.chanid "
++ " AND c.visible = 1 "
++ " GROUP BY p.title, p.subtitle, partdesc "
+ " ) AS firsts "
+ "ON program.starttime = firsts.starttime "
+ " AND program.title = firsts.title "
+@@ -639,10 +643,12 @@ int main(int argc, char *argv[])
+
+ LOG(VB_GENERAL, LOG_INFO, "Marking episode last showings.");
+ updt.prepare("UPDATE program "
+- "JOIN (SELECT MAX(starttime) AS starttime, programid "
+- " FROM program "
+- " WHERE programid <> '' "
+- " GROUP BY programid "
++ "JOIN (SELECT MAX(p.starttime) AS starttime, p.programid
"
++ " FROM program p, channel c "
++ " WHERE p.programid <> '' "
++ " AND p.chanid = c.chanid "
++ " AND c.visible = 1 "
++ " GROUP BY p.programid "
+ " ) AS lasts "
+ "ON program.programid = lasts.programid "
+ " AND program.starttime = lasts.starttime "
+@@ -652,11 +658,13 @@ int main(int argc, char *argv[])
+ found = updt.numRowsAffected();
+
+ updt.prepare("UPDATE program "
+- "JOIN (SELECT MAX(starttime) AS starttime, title,
subtitle,"
+- " LEFT(description, 1024) AS partdesc "
+- " FROM program "
+- " WHERE programid = '' "
+- " GROUP BY title, subtitle, partdesc "
++ "JOIN (SELECT MAX(p.starttime) AS starttime, p.title,
p.subtitle, "
++ " LEFT(p.description, 1024) AS partdesc "
++ " FROM program p, channel c "
++ " WHERE p.programid = '' "
++ " AND p.chanid = c.chanid "
++ " AND c.visible = 1 "
++ " GROUP BY p.title, p.subtitle, partdesc "
+ " ) AS lasts "
+ "ON program.starttime = lasts.starttime "
+ " AND program.title = lasts.title "
diff --git a/mythtv/programs/scripts/internetcontent/nv_python_libs/common/common_api.py
b/mythtv/programs/scripts/internetcontent/nv_python_libs/common/common_api.py
index 643fcb1..0334124 100644
--- a/mythtv/programs/scripts/internetcontent/nv_python_libs/common/common_api.py
@@ -370,7 +982,7 @@
+ total.append(char)
+ return "".join(total)
diff --git
a/mythtv/programs/scripts/internetcontent/nv_python_libs/youtube/youtube_api.py
b/mythtv/programs/scripts/internetcontent/nv_python_libs/youtube/youtube_api.py
-index f6f967f..f8b3121 100644
+index f6f967f..62fde93 100644
--- a/mythtv/programs/scripts/internetcontent/nv_python_libs/youtube/youtube_api.py
+++ b/mythtv/programs/scripts/internetcontent/nv_python_libs/youtube/youtube_api.py
@@ -19,7 +19,7 @@ meta data, video and image URLs from youtube. These routines are based
on the ap
@@ -600,7 +1212,7 @@
- }
+ # Read region code from user preferences, used by tree view
+ region = self.userPrefs.find("region")
-+ if region != None:
++ if region != None and region.text:
+ self.config['region'] = region.text
+ else:
+ self.config['region'] = u'us'
Index: mythtv.spec
===================================================================
RCS file: /cvs/free/rpms/mythtv/devel/mythtv.spec,v
retrieving revision 1.152
retrieving revision 1.153
diff -u -r1.152 -r1.153
--- mythtv.spec 21 Jul 2015 19:38:42 -0000 1.152
+++ mythtv.spec 2 Nov 2015 16:14:55 -0000 1.153
@@ -61,7 +61,7 @@
%define desktop_vendor RPMFusion
# MythTV Version string -- preferably the output from git describe
-%define vers_string v0.27.5-3-g9498257
+%define vers_string v0.27.5-28-g3682a9a
%define branch fixes/0.27
# Git revision and branch ID
@@ -82,7 +82,7 @@
%if "%{branch}" == "master"
Release: 0.1.git.%{_gitrev}%{?dist}
%else
-Release: 1%{?dist}
+Release: 2%{?dist}
%endif
# The primary license is GPLv2+, but bits are borrowed from a number of
@@ -131,7 +131,7 @@
################################################################################
#
https://github.com/MythTV/mythtv/tarball/v0.26
-Source0: %{name}-%{version}.tar.gz
+Source0:
https://github.com/MythTV/%{name}/archive/v%{version}.tar.gz#/%{name}-%{v...
# From the mythtv git repository with the appropriate branch checked out:
# git diff -p --stat v0.26.0 > mythtv-0.26-fixes.patch
@@ -795,7 +795,7 @@
%prep
%setup -q -n %{name}-%{version}
-# Replace static lib paths with %{_lib} so we build properly on x86_64
+# Replace static lib paths with %%{_lib} so we build properly on x86_64
# systems, where the libs are actually in lib64.
if [ "%{_lib}" != "lib" ]; then
find \( -name 'configure' -o -name '*pro' -o -name
'Makefile' \) -exec sed -r -i -e 's,/lib\b,/%{_lib},g' {} \+
@@ -820,7 +820,7 @@
BRANCH=%{branch}
EOF
-# Drop execute permissions on contrib bits, since they'll be %doc
+# Drop execute permissions on contrib bits, since they'll be %%doc
find contrib/ -type f -exec chmod -x "{}" \;
# And drop execute bit on theme html files
chmod -x themes/default/htmls/*.html
@@ -877,10 +877,10 @@
--enable-vdpau \
%endif
%if %{with_vaapi}
- --enable-vaapi \
+ --enable-vaapi \
%endif
%if !%{with_crystalhd}
- --disable-crystalhd \
+ --disable-crystalhd \
%endif
%if !%{with_perl}
--without-bindings=perl \
@@ -1022,9 +1022,6 @@
mkdir -p %{buildroot}%{_sysconfdir}/mythtv
-# Fix permissions on executable python bindings
-# chmod +x %{buildroot}%{python_sitelib}/MythTV/Myth*.py
-
# config/init files
echo "# to be filled in by mythtv-setup" >
%{buildroot}%{_sysconfdir}/mythtv/config.xml
@@ -1093,7 +1090,6 @@
%if %{with_mythgame}
mkdir -p %{buildroot}%{_datadir}/mythtv/games/nes/{roms,screens}
mkdir -p %{buildroot}%{_datadir}/mythtv/games/snes/{roms,screens}
-# mkdir -p %{buildroot}%{_datadir}/mythtv/games/mame/{roms,screens,flyers,cabs}
mkdir -p %{buildroot}%{_datadir}/mythtv/games/PC/screens
mkdir -p %{buildroot}%{_datadir}/mame
ln -s ../../mame %{buildroot}%{_datadir}/mythtv/games/xmame
@@ -1193,8 +1189,8 @@
%doc mythtv/FAQ
%doc mythtv/database mythtv/keys.txt
# Do we really need the API documentation?
-#%doc mythtv/docs/*.html mythtv/docs/*.png
-#%doc mythtv/docs/*.txt
+#%%doc mythtv/docs/*.html mythtv/docs/*.png
+#%%doc mythtv/docs/*.txt
%doc mythtv/contrib
%files common
@@ -1220,7 +1216,7 @@
%{_bindir}/mythmediaserver
%{_bindir}/mythreplex
%{_bindir}/mythhdhomerun_config
-%{_bindir}/mythdb_optimize
+%{_bindir}/optimize_mythdb
%{_datadir}/mythtv/MXML_scpd.xml
%{_datadir}/mythtv/backend-config/
%attr(-,mythtv,mythtv) %dir %{_localstatedir}/lib/mythtv
@@ -1297,8 +1293,6 @@
%{perl_vendorlib}/MythTV.pm
%dir %{perl_vendorlib}/MythTV
%{perl_vendorlib}/MythTV/*.pm
-#%dir %{perl_vendorlib}/IO/Socket
-#%dir %{perl_vendorlib}/IO/Socket/INET
%{perl_vendorlib}/IO/Socket/INET/MythTV.pm
%exclude %{perl_vendorarch}/auto/MythTV/.packlist
%endif