Author: hobbes1069
Update of /cvs/free/rpms/mythtv/devel
In directory se02.es.rpmfusion.net:/tmp/cvs-serv6944
Modified Files:
mythfrontend.desktop mythplugins-0.24.1-fixes.patch
mythtv-0.24.1-fixes.patch mythtv-setup.desktop mythtv.spec
Added Files:
mythbackend.service mythtv-0.24.1-glu_h_gluErrorString.patch
Log Message:
* Sun Oct 20 2011 Richard Shaw <hobbes1069(a)gmail.com> - 0.24.1-3
- Update to latest 0.24.1-fixes, git revision e89d6a9f7e.
- Fixes BZ#1993, FTBFS on Fedora 16.
- Moves from sysv init to systemd unit file for mythbackend on Fedora 16+
See
http://rpmfusion.org/Package/mythtv for additonal information.
- Changes default user for mythbackend from root to mythtv on
Fedora 16+. See
http://rpmfusion.org/Package/mythtv for additonal information.
--- NEW FILE mythbackend.service ---
[Unit]
Description=MythTV backend service
After=network.target mysqld.service
[Service]
Type=forking
PIDFile=/var/run/mythbackend.pid
Environment=MYTHCONFDIR=/etc/mythtv
Environment=HOME=/usr/share/mythtv
Environment=MYTHBACKEND_USER=root
EnvironmentFile=-/etc/sysconfig/mythbackend
User=mythtv
ExecStart=/usr/bin/mythbackend --daemon --logfile /var/log/mythtv/mythbackend.log
--pidfile /var/run/mythbackend.pid
[Install]
WantedBy=multi-user.target
mythtv-0.24.1-glu_h_gluErrorString.patch:
mythrender_opengl.cpp | 1 +
1 file changed, 1 insertion(+)
--- NEW FILE mythtv-0.24.1-glu_h_gluErrorString.patch ---
--- mythtv-0.24.1/libs/libmythui/mythrender_opengl.cpp.orig 2011-10-20 14:57:58.833908891
-0500
+++ mythtv-0.24.1/libs/libmythui/mythrender_opengl.cpp 2011-10-20 14:59:04.310744813
-0500
@@ -8,6 +8,7 @@
#if defined(Q_WS_X11)
#include <QX11Info>
#include <GL/glx.h>
+#include <GL/glu.h>
#endif
MYTH_GLXGETVIDEOSYNCSGIPROC MythRenderOpenGL::gMythGLXGetVideoSyncSGI = NULL;
Index: mythfrontend.desktop
===================================================================
RCS file: /cvs/free/rpms/mythtv/devel/mythfrontend.desktop,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- mythfrontend.desktop 3 Aug 2008 15:20:03 -0000 1.1
+++ mythfrontend.desktop 22 Oct 2011 17:38:17 -0000 1.2
@@ -2,7 +2,7 @@
Encoding=UTF-8
Name=mythTV frontend
Comment=Record, playback and watch TV.
-Icon=mythfrontend.png
+Icon=mythfrontend
Exec=mythfrontend
Terminal=false
Type=Application
mythplugins-0.24.1-fixes.patch:
mytharchive/i18n/mytharchive_da.qm |binary
mytharchive/i18n/mytharchive_da.ts | 20
mytharchive/i18n/mytharchive_en_gb.ts | 6
mythgallery/i18n/mythgallery_da.qm |binary
mythgallery/i18n/mythgallery_da.ts | 86 -
mythgallery/i18n/mythgallery_en_gb.qm |binary
mythgallery/i18n/mythgallery_en_gb.ts | 162 +-
mythgallery/i18n/mythgallery_es.qm |binary
mythgallery/i18n/mythgallery_es.ts | 20
mythgallery/mythgallery/gallerysettings.cpp | 4
mythgame/i18n/mythgame_en_gb.ts | 101 -
mythmusic/i18n/mythmusic_en_gb.ts | 327 ++--
mythmusic/i18n/mythmusic_es.qm |binary
mythmusic/i18n/mythmusic_es.ts | 1957 +++++++++++++++-------------
mythmusic/mythmusic/main.cpp | 8
mythnetvision/i18n/mythnetvision_en_gb.ts | 82 -
mythnetvision/i18n/mythnetvision_es.qm |binary
mythnetvision/i18n/mythnetvision_es.ts | 226 +--
mythvideo/mythvideo/scripts/jamu.py | 7
mythweather/i18n/mythweather_en_gb.ts | 2
mythzoneminder/i18n/mythzoneminder_en_gb.ts | 2
21 files changed, 1630 insertions(+), 1380 deletions(-)
View full diff with command:
/usr/bin/cvs -f diff -kk -u -N -r 1.1 -r 1.2 mythplugins-0.24.1-fixes.patch
Index: mythplugins-0.24.1-fixes.patch
===================================================================
RCS file: /cvs/free/rpms/mythtv/devel/mythplugins-0.24.1-fixes.patch,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- mythplugins-0.24.1-fixes.patch 17 May 2011 22:34:18 -0000 1.1
+++ mythplugins-0.24.1-fixes.patch 22 Oct 2011 17:38:17 -0000 1.2
@@ -0,0 +1,6639 @@
+diff --git a/mythplugins/mytharchive/i18n/mytharchive_da.qm
b/mythplugins/mytharchive/i18n/mytharchive_da.qm
+index b744be6..623eff6 100644
+Binary files a/mythplugins/mytharchive/i18n/mytharchive_da.qm and
b/mythplugins/mytharchive/i18n/mytharchive_da.qm differ
+diff --git a/mythplugins/mytharchive/i18n/mytharchive_da.ts
b/mythplugins/mytharchive/i18n/mytharchive_da.ts
+index f4ebe08..c6f4ca3 100644
+--- a/mythplugins/mytharchive/i18n/mytharchive_da.ts
++++ b/mythplugins/mytharchive/i18n/mytharchive_da.ts
+@@ -164,12 +164,12 @@
+ <message>
+ <location filename="../mytharchive/mythburn.cpp"
line="400"/>
+ <source>Retrieving File Information. Please Wait...</source>
+- <translation>Modtager information.for fil Vent
venligst...</translation>
++ <translation>Modtager information for fil. Vent
venligst...</translation>
+ </message>
+ <message>
+ <location filename="../mytharchive/mythburn.cpp"
line="466"/>
+ <source>Encoder: </source>
+- <translation>Encoder:</translation>
++ <translation>Encoder: </translation>
+ </message>
+ <message>
+ <location filename="../mytharchive/mythburn.cpp"
line="792"/>
+@@ -237,7 +237,7 @@
+ <message>
+ <location filename="../mytharchive/main.cpp"
line="304"/>
+ <source>View Archive Log</source>
+- <translation>Vis arkiv log</translation>
++ <translation>Vis arkivlog</translation>
+ </message>
+ <message>
+ <location filename="../mytharchive/main.cpp"
line="306"/>
+@@ -657,6 +657,13 @@ Indsæt en blank DVD i drevet og vælg en af mulighederne
nedenfor.</translation
+ <context>
+ <name>RecordingSelector</name>
+ <message>
++ <location filename="../mytharchive/recordingselector.cpp"
line="119"/>
++ <source>Retrieving Recording List.
++Please Wait...</source>
++ <translation>Modtager optagelseslisten.
++Vent venligst...</translation>
++ </message>
++ <message>
+ <location filename="../mytharchive/recordingselector.cpp"
line="199"/>
+ <source>Clear All</source>
+ <translation>Slet alt</translation>
+@@ -679,11 +686,6 @@ Indsæt en blank DVD i drevet og vælg en af mulighederne
nedenfor.</translation
+ <translation>Alle optagelser</translation>
+ </message>
+ <message>
+- <location filename="../mytharchive/recordingselector.cpp"
line="119"/>
+- <source>Retrieving Recording List. Please Wait...</source>
+- <translation>Modtager optagelseslisten. Vent
venligst...</translation>
+- </message>
+- <message>
+ <location filename="../mytharchive/recordingselector.cpp"
line="143"/>
+ <source>Either you don't have any recordings or no recordings are
available locally!</source>
+ <translation>Enten har du ikke nogen optagelser eller også er de ikke
lokalt tilgængelige!</translation>
+@@ -873,7 +875,7 @@ Indsæt en blank DVD i drevet og vælg en af mulighederne
nedenfor.</translation
+ <message>
+ <location filename="themestrings.h" line="53"/>
+ <source>Select Archive Items</source>
+- <translation>Vælg arkiv emner</translation>
++ <translation>Vælg arkivemner</translation>
+ </message>
+ <message>
+ <location filename="themestrings.h" line="55"/>
+diff --git a/mythplugins/mytharchive/i18n/mytharchive_en_gb.ts
b/mythplugins/mytharchive/i18n/mytharchive_en_gb.ts
+index 141b480..20b0cde 100644
+--- a/mythplugins/mytharchive/i18n/mytharchive_en_gb.ts
++++ b/mythplugins/mytharchive/i18n/mytharchive_en_gb.ts
+@@ -665,8 +665,10 @@ Place a blank DVD in the drive and select an option
below.</translation>
+ </message>
+ <message>
+ <location filename="../mytharchive/recordingselector.cpp"
line="119"/>
+- <source>Retrieving Recording List. Please Wait...</source>
+- <translation>Retrieving Recording List. Please
Wait...</translation>
++ <source>Retrieving Recording List.
++Please Wait...</source>
++ <translation>Retrieving Recording List.
++Please Wait...</translation>
+ </message>
+ <message>
+ <location filename="../mytharchive/recordingselector.cpp"
line="143"/>
+diff --git a/mythplugins/mythgallery/i18n/mythgallery_da.qm
b/mythplugins/mythgallery/i18n/mythgallery_da.qm
+index e622572..9d4aa05 100644
+Binary files a/mythplugins/mythgallery/i18n/mythgallery_da.qm and
b/mythplugins/mythgallery/i18n/mythgallery_da.qm differ
+diff --git a/mythplugins/mythgallery/i18n/mythgallery_da.ts
b/mythplugins/mythgallery/i18n/mythgallery_da.ts
+index 5ecee22..b43affc 100644
+--- a/mythplugins/mythgallery/i18n/mythgallery_da.ts
++++ b/mythplugins/mythgallery/i18n/mythgallery_da.ts
+@@ -216,112 +216,112 @@
+ <context>
+ <name>MythControls</name>
+ <message>
+- <location filename="../mythgallery/main.cpp"
line="69"/>
++ <location filename="../mythgallery/main.cpp"
line="71"/>
+ <source>Image viewer / slideshow</source>
+ <translation>Billedviser / slideshow</translation>
+ </message>
+ <message>
+- <location filename="../mythgallery/main.cpp"
line="72"/>
++ <location filename="../mythgallery/main.cpp"
line="74"/>
+ <source>Start/Stop Slideshow</source>
+ <translation>Start/stop slideshow</translation>
+ </message>
+ <message>
+- <location filename="../mythgallery/main.cpp"
line="74"/>
++ <location filename="../mythgallery/main.cpp"
line="76"/>
+ <source>Go to the first image in thumbnail view</source>
+ <translation>Gå til det første billede i
oversigtsvisning</translation>
+ </message>
+ <message>
+- <location filename="../mythgallery/main.cpp"
line="76"/>
++ <location filename="../mythgallery/main.cpp"
line="78"/>
+ <source>Go to the last image in thumbnail view</source>
+ <translation>Gå til det sidste billede i
oversigtsvisning</translation>
+ </message>
+ <message>
+- <location filename="../mythgallery/main.cpp"
line="78"/>
++ <location filename="../mythgallery/main.cpp"
line="80"/>
+ <source>Start Slideshow in thumbnail view</source>
+ <translation>Start slideshow i oversigtsvisning</translation>
+ </message>
+ <message>
+- <location filename="../mythgallery/main.cpp"
line="80"/>
++ <location filename="../mythgallery/main.cpp"
line="82"/>
+ <source>Start Random Slideshow in thumbnail view</source>
+ <translation>Start tilfældigt slideshow i
oversigtsvisning</translation>
+ </message>
+ <message>
+- <location filename="../mythgallery/main.cpp"
line="83"/>
++ <location filename="../mythgallery/main.cpp"
line="85"/>
+ <source>Rotate image right 90 degrees</source>
+ <translation>Roter billede 90 grader mod højre</translation>
+ </message>
+ <message>
+- <location filename="../mythgallery/main.cpp"
line="85"/>
++ <location filename="../mythgallery/main.cpp"
line="87"/>
+ <source>Rotate image left 90 degrees</source>
+ <translation>Roter billede 90 grader mod venstre</translation>
+ </message>
+ <message>
+- <location filename="../mythgallery/main.cpp"
line="87"/>
++ <location filename="../mythgallery/main.cpp"
line="89"/>
+ <source>Zoom image out</source>
+ <translation>Zoom ud</translation>
+ </message>
+ <message>
+- <location filename="../mythgallery/main.cpp"
line="89"/>
++ <location filename="../mythgallery/main.cpp"
line="91"/>
+ <source>Zoom image in</source>
+ <translation>Zoom ind</translation>
+ </message>
+ <message>
+- <location filename="../mythgallery/main.cpp"
line="91"/>
++ <location filename="../mythgallery/main.cpp"
line="93"/>
+ <source>Scroll image up</source>
+ <translation>Flyt billede op</translation>
+ </message>
+ <message>
+- <location filename="../mythgallery/main.cpp"
line="93"/>
++ <location filename="../mythgallery/main.cpp"
line="95"/>
+ <source>Scroll image left</source>
+ <translation>Flyt billede til venstre</translation>
+ </message>
+ <message>
+- <location filename="../mythgallery/main.cpp"
line="95"/>
++ <location filename="../mythgallery/main.cpp"
line="97"/>
+ <source>Scroll image right</source>
+ <translation>Flyt billede til venstre</translation>
+ </message>
+ <message>
+- <location filename="../mythgallery/main.cpp"
line="97"/>
++ <location filename="../mythgallery/main.cpp"
line="99"/>
+ <source>Scroll image down</source>
+ <translation>Flyt billede ned</translation>
+ </message>
+ <message>
+- <location filename="../mythgallery/main.cpp"
line="99"/>
++ <location filename="../mythgallery/main.cpp"
line="101"/>
+ <source>Recenter image</source>
+ <translation>Centrer billedet</translation>
+ </message>
+ <message>
+- <location filename="../mythgallery/main.cpp"
line="101"/>
++ <location filename="../mythgallery/main.cpp"
line="103"/>
+ <source>Full-size (un-zoom) image</source>
+ <translation>Vis billede i fuld størrelse</translation>
+ </message>
+ <message>
+- <location filename="../mythgallery/main.cpp"
line="103"/>
[...6248 lines suppressed...]
+ </message>
+ <message>
+ <location filename="themestrings.h" line="22"/>
+ <source>Unsubscribe</source>
+- <translation type="unfinished"></translation>
++ <translation>Desinscribirse</translation>
+ </message>
+ <message>
+ <location filename="themestrings.h" line="23"/>
+@@ -333,77 +338,78 @@ For new subscriptions, you can simply enter the URL and click
"Save."<
+ <message>
+ <location filename="themestrings.h" line="24"/>
+ <source>Search Term:</source>
+- <translation type="unfinished"></translation>
++ <translation>Buscar Palabra:</translation>
+ </message>
+ <message>
+ <location filename="themestrings.h" line="25"/>
+ <source>Size: %1</source>
+- <translation type="unfinished"></translation>
++ <translation>Tamaño: %1</translation>
+ </message>
+ <message>
+ <location filename="themestrings.h" line="26"/>
+ <source>Description: %1</source>
+- <translation type="unfinished"></translation>
++ <translation>Descripción: %1</translation>
+ </message>
+ <message>
+ <location filename="themestrings.h" line="27"/>
+ <source>Can't find any search scripts! This usually indicates
missing search script prerequisites. Try running a script from the command
line.</source>
+- <translation type="unfinished"></translation>
++ <translatorcomment>¿Cambiar prerequisitos por
archivo/dependencia/etc.?</translatorcomment>
++ <translation type="unfinished">¡No se encontraron scripts de
búsqueda! Esto suele indicar que faltan prerequisitos para los scripts de búsqueda.
Prueba a ejecutar un script desde la línea de comandos.</translation>
+ </message>
+ <message>
+ <location filename="themestrings.h" line="28"/>
+ <source>Manage Site Subscriptions</source>
+- <translation type="unfinished"></translation>
++ <translation>Administrar Suscripciones de Sitios</translation>
+ </message>
+ <message>
+ <location filename="themestrings.h" line="29"/>
+ <source>Edit</source>
+- <translation type="unfinished"></translation>
++ <translation>Editar</translation>
+ </message>
+ <message>
+ <location filename="themestrings.h" line="30"/>
+ <source>New</source>
+- <translation type="unfinished"></translation>
++ <translation>Nuevo</translation>
+ </message>
+ <message>
+ <location filename="themestrings.h" line="31"/>
+ <source>Remove</source>
+- <translation type="unfinished"></translation>
++ <translation>Eliminar</translation>
+ </message>
+ <message>
+ <location filename="themestrings.h" line="32"/>
+ <source>Manage RSS Subscriptions</source>
+- <translation type="unfinished"></translation>
++ <translation>Administrar Suscripciones RSS</translation>
+ </message>
+ <message>
+ <location filename="themestrings.h" line="33"/>
+ <source>Feed Name:</source>
+- <translation type="unfinished"></translation>
++ <translation>Nombre Canal:</translation>
+ </message>
+ <message>
+ <location filename="themestrings.h" line="34"/>
+ <source>Feed URL:</source>
+- <translation type="unfinished"></translation>
++ <translation>URL Canal:</translation>
+ </message>
+ <message>
+ <location filename="themestrings.h" line="35"/>
+ <source>Site Description:</source>
+- <translation type="unfinished"></translation>
++ <translation>Descripción del Sitio:</translation>
+ </message>
+ <message>
+ <location filename="themestrings.h" line="36"/>
+ <source>Feed Author:</source>
+- <translation type="unfinished"></translation>
++ <translation>Autor del Canal:</translation>
+ </message>
+ <message>
+ <location filename="themestrings.h" line="37"/>
+ <source>Download this feed automatically</source>
+- <translation type="unfinished"></translation>
++ <translation>Descargar este canal automáticamente</translation>
+ </message>
+ <message>
+ <location filename="themestrings.h" line="38"/>
+ <source>Choose Image</source>
+- <translation type="unfinished"></translation>
++ <translation>Elegir imagen</translation>
+ </message>
+ <message>
+ <location filename="themestrings.h" line="39"/>
+@@ -413,7 +419,7 @@ For new subscriptions, you can simply enter the URL and click
"Save."<
+ <message>
+ <location filename="themestrings.h" line="40"/>
+ <source>Posted: %1</source>
+- <translation type="unfinished"></translation>
++ <translation>Publicado: %1</translation>
+ </message>
+ <message>
+ <location filename="themestrings.h" line="41"/>
+@@ -423,22 +429,22 @@ For new subscriptions, you can simply enter the URL and click
"Save."<
+ <message>
+ <location filename="themestrings.h" line="42"/>
+ <source>Author</source>
+- <translation type="unfinished"></translation>
++ <translation>Autor</translation>
+ </message>
+ <message>
+ <location filename="themestrings.h" line="43"/>
+ <source>Rating</source>
+- <translation type="unfinished"></translation>
++ <translation>Puntuación</translation>
+ </message>
+ <message>
+ <location filename="themestrings.h" line="44"/>
+ <source>Search Internet Video</source>
+- <translation type="unfinished"></translation>
++ <translation type="unfinished">Buscar Videos de
Internet</translation>
+ </message>
+ <message>
+ <location filename="themestrings.h" line="45"/>
+ <source>Search popular video sites</source>
+- <translation type="unfinished"></translation>
++ <translation type="unfinished">Buscar sitios populares de
videos</translation>
+ </message>
+ <message>
+ <location filename="themestrings.h" line="46"/>
+diff --git a/mythplugins/mythvideo/mythvideo/scripts/jamu.py
b/mythplugins/mythvideo/mythvideo/scripts/jamu.py
+index 65a52d1..7213585 100755
+--- a/mythplugins/mythvideo/mythvideo/scripts/jamu.py
++++ b/mythplugins/mythvideo/mythvideo/scripts/jamu.py
+@@ -310,6 +310,7 @@ __version__=u"v0.7.8"
+ # Replace 'xml' module version check with generic Python version, to
correct failure in Python 2.7
+ # 0.7.8 Fixed a bug which caused jamu to crash due to an extra unicode conversion
introduced in 0.7.7.
+ # See also #9637.
++ # Removed unnecessary unicode character conversions when data comes from a
jamu.conf file
+
+
+ usage_txt=u'''
+@@ -1765,7 +1766,7 @@
http://www.pythonware.com/products/pil/\nError:(%s)\n""" % e)
+ else:
+ if self.config['series_name_override']:
+ if
self.config['series_name_override'].has_key(args[0].lower()):
+- self.config['sid'] =
unicode((self.config['series_name_override'][args[0].lower()]).strip(),
'utf8')
++ self.config['sid'] =
self.config['series_name_override'][args[0].lower()].strip()
+ else:
+ self.config['series_name'] = unicode(args[0].strip(),
'utf8')
+ else:
+@@ -1786,11 +1787,11 @@
http://www.pythonware.com/products/pil/\nError:(%s)\n""" % e)
+ else:
+ if self.config['ep_name_massage']:
+ if
self.config['ep_name_massage'].has_key(self.config['series_name']):
+- tmp_ep_name=args[1].strip()
++ tmp_ep_name=unicode(args[1].strip(), 'utf8')
+
tmp_array=self.config['ep_name_massage'][self.config['series_name']]
+ for pair in tmp_array:
+ tmp_ep_name = tmp_ep_name.replace(pair[0],pair[1])
+- self.config['episode_name'] = unicode(tmp_ep_name,
'utf8')
++ self.config['episode_name'] = tmp_ep_name
+ else:
+ self.config['episode_name'] =
unicode(args[1].strip(), 'utf8')
+ else:
+diff --git a/mythplugins/mythweather/i18n/mythweather_en_gb.ts
b/mythplugins/mythweather/i18n/mythweather_en_gb.ts
+index 137141b..1267780 100644
+--- a/mythplugins/mythweather/i18n/mythweather_en_gb.ts
++++ b/mythplugins/mythweather/i18n/mythweather_en_gb.ts
+@@ -220,7 +220,7 @@
+ <translation>Searching for scripts</translation>
+ </message>
+ <message>
+- <location filename="../mythweather/sourceManager.cpp"
line="301"/>
++ <location filename="../mythweather/sourceManager.cpp"
line="302"/>
+ <source>Script %1 is still running when trying to do update, Make sure it
isn't hanging, make sure timeout values are sane... Not running this time
around</source>
+ <translation>Script %1 is still running when trying to do update, Make
sure it isn't hanging, make sure timeout values are sane... Not running this time
around</translation>
+ </message>
+diff --git a/mythplugins/mythzoneminder/i18n/mythzoneminder_en_gb.ts
b/mythplugins/mythzoneminder/i18n/mythzoneminder_en_gb.ts
+index 978d6c8..b68412b 100644
+--- a/mythplugins/mythzoneminder/i18n/mythzoneminder_en_gb.ts
++++ b/mythplugins/mythzoneminder/i18n/mythzoneminder_en_gb.ts
+@@ -368,7 +368,7 @@
+ <context>
+ <name>ZMLivePlayer</name>
+ <message>
+- <location filename="../mythzoneminder/zmliveplayer.cpp"
line="127"/>
++ <location filename="../mythzoneminder/zmliveplayer.cpp"
line="123"/>
+ <source>Can't show live view.
+ You don't have any monitors defined!</source>
+ <translation>Can't show live view.
mythtv-0.24.1-fixes.patch:
b/mythtv/VERSION | 2
b/mythtv/bindings/perl/MythTV.pm | 39
b/mythtv/bindings/python/MythTV/database.py | 1
b/mythtv/bindings/python/MythTV/dataheap.py | 2
b/mythtv/bindings/python/MythTV/tmdb/tmdb_api.py | 11
b/mythtv/bindings/python/MythTV/ttvdb/XSLT/tvdbVideo.xsl | 23
b/mythtv/bindings/python/MythTV/ttvdb/tvdbXslt.py | 50
b/mythtv/bindings/python/MythTV/utility.py | 10
b/mythtv/configure | 3
b/mythtv/contrib/imports/mirobridge/mirobridge.py | 545 +
b/mythtv/contrib/imports/mirobridge/mirobridge/mirobridge_interpreter_4_0_2.py | 788 ++
b/mythtv/external/FFmpeg/libavcodec/dvbsubdec.c | 11
b/mythtv/external/FFmpeg/libavcodec/ppc/asm.S | 6
b/mythtv/i18n/mythfrontend_da.qm |binary
b/mythtv/i18n/mythfrontend_da.ts | 3445
++++----
b/mythtv/i18n/mythfrontend_en_gb.qm |binary
b/mythtv/i18n/mythfrontend_en_gb.ts | 3924
++++------
b/mythtv/libs/libmyth/audiooutput.cpp | 14
b/mythtv/libs/libmyth/audiooutputalsa.cpp | 24
b/mythtv/libs/libmyth/audiooutputbase.cpp | 33
b/mythtv/libs/libmyth/audiooutputbase.h | 9
b/mythtv/libs/libmyth/audiooutputjack.cpp | 15
b/mythtv/libs/libmyth/audiooutputsettings.cpp | 2
b/mythtv/libs/libmyth/libmyth.pro | 4
b/mythtv/libs/libmyth/mythterminal.cpp | 5
b/mythtv/libs/libmyth/netutils.cpp | 2
b/mythtv/libs/libmyth/programtypes.cpp | 5
b/mythtv/libs/libmythhdhomerun/hdhomerun_device.c | 5
b/mythtv/libs/libmythmetadata/metadatacommon.cpp | 11
b/mythtv/libs/libmythtv/DVDRingBuffer.cpp | 12
b/mythtv/libs/libmythtv/DVDRingBuffer.h | 4
b/mythtv/libs/libmythtv/DeviceReadBuffer.cpp | 21
b/mythtv/libs/libmythtv/DeviceReadBuffer.h | 13
b/mythtv/libs/libmythtv/NuppelVideoRecorder.cpp | 2
b/mythtv/libs/libmythtv/RingBuffer.cpp | 63
b/mythtv/libs/libmythtv/RingBuffer.h | 4
b/mythtv/libs/libmythtv/analogsignalmonitor.cpp | 2
b/mythtv/libs/libmythtv/avformatdecoder.cpp | 6
b/mythtv/libs/libmythtv/cardutil.cpp | 2
b/mythtv/libs/libmythtv/cc708decoder.cpp | 2
b/mythtv/libs/libmythtv/channelutil.cpp | 2
b/mythtv/libs/libmythtv/firewiredevice.cpp | 4
b/mythtv/libs/libmythtv/jobqueue.cpp | 1
b/mythtv/libs/libmythtv/mythplayer.cpp | 41
b/mythtv/libs/libmythtv/mythplayer.h | 4
b/mythtv/libs/libmythtv/osd.cpp | 12
b/mythtv/libs/libmythtv/osd.h | 12
b/mythtv/libs/libmythtv/recordinginfo.cpp | 4
b/mythtv/libs/libmythtv/subtitlescreen.cpp | 12
b/mythtv/libs/libmythtv/tv_rec.cpp | 15
b/mythtv/libs/libmythtv/tvbrowsehelper.cpp | 18
b/mythtv/libs/libmythtv/util-osd.cpp | 8
b/mythtv/libs/libmythtv/v4lchannel.cpp | 2
b/mythtv/libs/libmythtv/vbitext/vbi.c | 2
b/mythtv/libs/libmythtv/videodev_myth.h | 360
b/mythtv/libs/libmythtv/videosource.cpp | 4
b/mythtv/libs/libmythtv/videosource.h | 2
b/mythtv/libs/libmythui/mythuihelper.cpp | 3
b/mythtv/libs/libmythui/mythuiimage.cpp | 10
b/mythtv/libs/libmythui/mythuiwebbrowser.cpp | 12
b/mythtv/libs/libmythui/mythuiwebbrowser.h | 11
b/mythtv/programs/mythbackend/main_helpers.cpp | 6
b/mythtv/programs/mythbackend/mainserver.cpp | 42
b/mythtv/programs/mythbackend/mainserver.h | 7
b/mythtv/programs/mythbackend/scheduler.cpp | 19
b/mythtv/programs/mythfilldatabase/main.cpp | 32
b/mythtv/programs/mythfrontend/guidegrid.cpp | 8
b/mythtv/programs/mythfrontend/playbackbox.cpp | 27
b/mythtv/programs/mythfrontend/playbackbox.h | 6
b/mythtv/programs/mythfrontend/playbackboxhelper.cpp | 7
b/mythtv/programs/mythfrontend/progfind.cpp | 14
b/mythtv/programs/mythfrontend/proglist.cpp | 6
b/mythtv/programs/mythfrontend/themechooser.cpp | 4
b/mythtv/programs/mythtranscode/main.cpp | 30
b/mythtv/programs/mythtranscode/mpeg2fix.cpp | 4
b/mythtv/programs/mythtranscode/transcode.cpp | 67
b/mythtv/programs/mythtranscode/transcode.h | 2
b/mythtv/themes/MythCenter-wide/config-ui.xml | 145
b/mythtv/themes/MythCenter-wide/schedule-ui.xml | 4
b/mythtv/themes/MythCenter-wide/status-ui.xml | 2
b/mythtv/themes/default-wide/config-ui.xml | 101
mythtv/libs/libavutil/.gitignore | 1
82 files changed, 6042 insertions(+), 4151 deletions(-)
View full diff with command:
/usr/bin/cvs -f diff -kk -u -N -r 1.1 -r 1.2 mythtv-0.24.1-fixes.patch
Index: mythtv-0.24.1-fixes.patch
===================================================================
RCS file: /cvs/free/rpms/mythtv/devel/mythtv-0.24.1-fixes.patch,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- mythtv-0.24.1-fixes.patch 17 May 2011 22:34:20 -0000 1.1
+++ mythtv-0.24.1-fixes.patch 22 Oct 2011 17:38:17 -0000 1.2
@@ -0,0 +1,26033 @@
+diff --git a/mythtv/VERSION b/mythtv/VERSION
+index 5e1cbc9..91bc38f 100644
+--- a/mythtv/VERSION
++++ b/mythtv/VERSION
+@@ -1 +1 @@
+-SOURCE_VERSION="v0.24.1"
++SOURCE_VERSION="v0.24.1+"
+diff --git a/mythtv/bindings/perl/MythTV.pm b/mythtv/bindings/perl/MythTV.pm
+index f1ae4fa..c3160a6 100644
+--- a/mythtv/bindings/perl/MythTV.pm
++++ b/mythtv/bindings/perl/MythTV.pm
+@@ -23,6 +23,7 @@ package MythTV;
+ use DBI;
+ use HTTP::Request;
+ use LWP::UserAgent;
++ use Math::BigInt;
+
+ # Load the UPNP libraries if we have them, but die nicely if we don't.
+ BEGIN {
+@@ -546,6 +547,16 @@ EOF
+ # $seek is optional, and is the amount to seek from the start of the file
+ # (for resuming downloads, etc.)
+ my $seek = (shift or 0);
++ # Check to see if we were passed a URL using the myth protocol - if so,
++ # override the values set above accordingly
++ if (substr($basename, 0,7) eq "myth://") {
++ $basename = substr($basename, 7);
++ my $index = index($basename, ":");
++ $host = substr($basename, 0, $index);
++ my $endindex = index($basename, "/", $index);
++ $port = substr($basename, $index+1, $endindex-$index-1);
++ $basename = substr($basename, $endindex);
++ }
+ # We need to figure out if we were passed a file handle or a filename. If
+ # it was a pathname, we should open the file for writing.
+ if ($target_path) {
+@@ -592,8 +603,8 @@ EOF
+ my $sock = $self->new_backend_socket($host,
+ $port,
+ join($MythTV::BACKEND_SEP,
+- 'ANN FileTransfer '.hostname,
+- $basename));
++ 'ANN FileTransfer '.hostname.
++ ' 0 1 2000', $basename,
'...'));
+ my @recs = split($MythTV::BACKEND_SEP_rx,
+ $sock->read_data());
+ # Error?
+@@ -612,7 +623,8 @@ EOF
+ $csock->read_data();
+ }
+ # Transfer the data.
+- my $total = $recs[3];
++ # File size is longlong but is sent as 2 signed ints
++ my $total = $self->decodeLongLong($recs[2], $recs[3]);
+ while ($sock && $total > 0) {
+ # Attempt to read in 2M chunks, or the remaining total, whichever is
+ # smaller.
+@@ -649,6 +661,27 @@ EOF
+ # Return
+ return 2;
+ }
++ # Analogous to decodeLongLong in decodeencode.cpp
++ sub decodeLongLong {
++ my $self = shift;
++ my $first = shift;
++ my $longlong = Math::BigInt->bzero();
++ if($first) { # 1st unsigned int is most significant
++ my $maxInt = Math::BigInt->new('4294967296');
++ my $shifted = $self->signedToUnsignedInt($first) * $maxInt;
++ $longlong += $shifted;
++ }
++ # add the 2nd unsigned int
++ $longlong += $self->signedToUnsignedInt(shift);
++ return $longlong;
++ }
++
++ sub signedToUnsignedInt {
++ my $self = shift;
++ $b = pack( "l", shift);
++ my @array = unpack( "L", $b );
++ return Math::BigInt->new(@array);
++ }
+
+ # Check the MythProto version between the backend and this script
+ sub check_proto_version {
+diff --git a/mythtv/bindings/python/MythTV/database.py
b/mythtv/bindings/python/MythTV/database.py
+index cc0edab..662c2ec 100644
+--- a/mythtv/bindings/python/MythTV/database.py
++++ b/mythtv/bindings/python/MythTV/database.py
+@@ -249,7 +249,6 @@ class DBDataWrite( DBData ):
+ db.tablefields[cls._table][cls._key[0]].extra:
+ create = cls._create_autoincrement
+ cls._defaults[cls._key[0]] = None
+- return
+ if not hasattr(cls, 'create'):
+ cls.create = create
+
+diff --git a/mythtv/bindings/python/MythTV/dataheap.py
b/mythtv/bindings/python/MythTV/dataheap.py
+index db1d343..27de915 100644
+--- a/mythtv/bindings/python/MythTV/dataheap.py
++++ b/mythtv/bindings/python/MythTV/dataheap.py
+@@ -214,7 +214,7 @@ class Recorded( DBDataWrite, CMPRecord ):
+ """
+ try:
+ return self.getProgram().delete(force, rerecord)
+- except NoneType:
++ except AttributeError:
+ raise MythError("Program could not be found")
+
+ def open(self, type='r'):
+diff --git a/mythtv/bindings/python/MythTV/tmdb/tmdb_api.py
b/mythtv/bindings/python/MythTV/tmdb/tmdb_api.py
+index 4e00848..c1dd52f 100644
+--- a/mythtv/bindings/python/MythTV/tmdb/tmdb_api.py
++++ b/mythtv/bindings/python/MythTV/tmdb/tmdb_api.py
+@@ -591,7 +591,18 @@ class MovieDb(object):
+ else:
+ URL = self.config[u'urls'][u'movie.search']
+ org_title = title
++
++ # strip out leading periods
++ if title.startswith('.'):
++ prepend = ''
++ for char in title:
++ if char != '.':
++ break
++ prepend += '\.'
++ title = prepend + title.lstrip('.')
++
+ title = urllib.quote(title.encode("utf-8"))
++
+ url = URL % (title)
+ if self.config['debug_enabled']: # URL so that raw TMDB XML data
can be viewed in a browser
+ sys.stderr.write(u'\nDEBUG: XML URL:%s\n\n' % url)
+diff --git a/mythtv/bindings/python/MythTV/ttvdb/XSLT/tvdbVideo.xsl
b/mythtv/bindings/python/MythTV/ttvdb/XSLT/tvdbVideo.xsl
+index be6b91e..834e2b6 100644
+--- a/mythtv/bindings/python/MythTV/ttvdb/XSLT/tvdbVideo.xsl
++++ b/mythtv/bindings/python/MythTV/ttvdb/XSLT/tvdbVideo.xsl
+@@ -2,14 +2,15 @@
+ <!--
+
thetvdb.com Video data conversion to MythTV Universal Metadata Format
+ See:
http://www.mythtv.org/wiki/MythTV_Universal_Metadata_Format
+--->
++-->
+ <xsl:stylesheet version="1.0"
+
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+
xmlns:opensearch="http://a9.com/-/spec/opensearch/1.1/"
+-
xmlns:tvdbXpath="http://www.mythtv.org/wiki/MythTV_Universal_Metadat...
++
xmlns:tvdbXpath="http://www.mythtv.org/wiki/MythTV_Universal_Metadat...
++ >
+
+ <xsl:output method="xml" indent="yes" version="1.0"
encoding="UTF-8" omit-xml-declaration="yes"/>
+-
++
+ <!--
+ This template calls all other templates which allows for multiple sources to be
processed
+ within a single Xslt file
+@@ -21,17 +22,17 @@
+ </metadata>
+ </xsl:if>
+ </xsl:template>
+-
+- <xsl:template name="tvdbVideoData">
++
++ <xsl:template name="tvdbVideoData">
+ <xsl:for-each select="//Data/Series">
+ <item>
+ <title><xsl:value-of
select="normalize-space(SeriesName)"/></title>
+- <xsl:if
test="//Data/Episode[SeasonNumber/text()=//requestDetails/@season and
EpisodeNumber/text()=//requestDetails/@episode]/EpisodeName/text() !=
''">
+- <subtitle><xsl:value-of
select="normalize-space(//Data/Episode[SeasonNumber/text()=//requestDetails/@season
and
EpisodeNumber/text()=//requestDetails/@episode]/EpisodeName)"/></subtitle>
++ <xsl:if test="tvdbXpath:getValue(//requestDetails, //Data,
'subtitle') != ''">
++ <subtitle><xsl:value-of
select="normalize-space(tvdbXpath:getResult())"/></subtitle>
+ </xsl:if>
+ <language><xsl:value-of
select="normalize-space(Language)"/></language>
+- <xsl:if
test="//Data/Episode[SeasonNumber/text()=//requestDetails/@season and
EpisodeNumber/text()=//requestDetails/@episode]/Overview/text() != ''">
+- <description><xsl:value-of
select="normalize-space(tvdbXpath:htmlToString(string(//Data/Episode[SeasonNumber/text()=//requestDetails/@season
and
EpisodeNumber/text()=//requestDetails/@episode]/Overview)))"/></description>
++ <xsl:if test="tvdbXpath:getValue(//requestDetails, //Data,
'description') != ''">
++ <description><xsl:value-of
select="normalize-space(tvdbXpath:htmlToString(tvdbXpath:getResult()))"/></description>
+ </xsl:if>
+ <season><xsl:value-of
select="normalize-space(//requestDetails/@season)"/></season>
+ <episode><xsl:value-of
select="normalize-space(//requestDetails/@episode)"/></episode>
+@@ -68,13 +69,13 @@
+ <runtime><xsl:value-of
select="normalize-space(Runtime)"/></runtime>
+ </xsl:if>
+ <inetref><xsl:value-of
select="normalize-space(id)"/></inetref>
+- <xsl:if test="./IMDB_ID/text() != '' and
//Data/Episode[SeasonNumber/text()=//requestDetails/@season and
EpisodeNumber/text()=//requestDetails/@episode]/IMDB_ID/text() = ''">
++ <xsl:if test="./IMDB_ID/text() != '' and
tvdbXpath:getValue(//requestDetails, //Data, 'IMDB') = ''">
+ <imdb><xsl:value-of
select="normalize-space(substring-after(string(IMDB_ID),
'tt'))"/></imdb>
+ </xsl:if>
+ <xsl:if test="./zap2it_id/text() != ''">
+ <tmsref><xsl:value-of
select="normalize-space(zap2it_id)"/></tmsref>
+ </xsl:if>
[...25642 lines suppressed...]
+ </textarea>
+
+ <buttonlist name="sorting" from="basewideselector">
+- <position>260,414</position>
++ <position>260,454</position>
+ </buttonlist>
+
+ <textarea name="sourcelabel" from="sortlabel">
+- <position>30,480</position>
++ <position>30,520</position>
+ <value>Video Source:</value>
+ </textarea>
+
+ <buttonlist name="source" from="basewideselector">
+- <position>260,474</position>
++ <position>260,514</position>
+ </buttonlist>
+
+ <button name="delete" from="basebutton">
+- <position>1000,474</position>
++ <position>1000,514</position>
+ <value>Delete</value>
+ </button>
+
+ <textarea name="nochannumlabel" from="basetextarea">
+- <area>70,536,500,60</area>
++ <area>70,576,500,60</area>
+ <value>Hide Channels without channel number.</value>
+ </textarea>
+
+ <checkbox name="nochannum" from="basecheckbox">
+- <position>30,534</position>
++ <position>30,574</position>
+ </checkbox>
+
+ <button name="scan" from="basewidebutton">
+- <position>90,604</position>
++ <position>90,644</position>
+ <value>Channel Scan</value>
+ </button>
+
+ <button name="importicons" from="basewidebutton">
+- <position>490,604</position>
++ <position>490,644</position>
+ <value>Icon Download</value>
+ </button>
+
+ <button name="edittransport" from="basewidebutton">
+- <position>890,604</position>
++ <position>890,644</position>
+ <value>Edit Transports</value>
+ </button>
+
+diff --git a/mythtv/themes/MythCenter-wide/schedule-ui.xml
b/mythtv/themes/MythCenter-wide/schedule-ui.xml
+index 05406fb..433175c 100644
+--- a/mythtv/themes/MythCenter-wide/schedule-ui.xml
++++ b/mythtv/themes/MythCenter-wide/schedule-ui.xml
+@@ -701,7 +701,7 @@
+ </textarea>
+
+ <shape name="list_background" from="basebackground">
+- <area>20,48,1240,360</area>
++ <area>20,48,1240,390</area>
+ </shape>
+
+ <textarea name="prioritylabel" from="basetextarea">
+@@ -768,7 +768,7 @@
+ <position>1214,-36</position>
+ </statetype>
+ <statetype name="downscrollarrow">
+- <position>1210,356</position>
++ <position>1210,386</position>
+ </statetype>
+ </buttonlist>
+
+diff --git a/mythtv/themes/MythCenter-wide/status-ui.xml
b/mythtv/themes/MythCenter-wide/status-ui.xml
+index d43eb0a..104367c 100644
+--- a/mythtv/themes/MythCenter-wide/status-ui.xml
++++ b/mythtv/themes/MythCenter-wide/status-ui.xml
+@@ -11,7 +11,7 @@
+ </textarea>
+
+ <shape name="list_background" from="basebackground">
+- <area>30,94,1220,370</area>
++ <area>30,94,1220,390</area>
+ </shape>
+
+ <buttonlist name="category">
+diff --git a/mythtv/themes/default-wide/config-ui.xml
b/mythtv/themes/default-wide/config-ui.xml
+index d1dde40..63ecedf 100644
+--- a/mythtv/themes/default-wide/config-ui.xml
++++ b/mythtv/themes/default-wide/config-ui.xml
+@@ -2,6 +2,107 @@
+ <!DOCTYPE mythuitheme SYSTEM
"http://www.mythtv.org/schema/mythuitheme.dtd">
+ <mythuitheme>
+
++ <window name="iconimport">
++ <textarea name="name" from="basetextarea">
++ <area>30,15,1220,30</area>
++ <font>basemedium</font>
++ <align>hcenter</align>
++ </textarea>
++
++ <buttonlist name="icons">
++ <area>30,60,1240,555</area>
++ <buttonarea>0,0,1240,520</buttonarea>
++ <layout>grid</layout>
++ <spacing>5</spacing>
++ <statetype name="buttonitem">
++ <state name="active">
++ <area>0,0,300,60</area>
++ <shape name="background">
++ <area>0,0,300,60</area>
++ <type>roundbox</type>
++ <cornerradius>4</cornerradius>
++ <fill style="gradient">
++ <gradient start="#505050"
end="#000000" alpha="200" direction="vertical" />
++ </fill>
++ </shape>
++ <imagetype name="icon">
++ <area>0,5,80,50</area>
++ <preserveaspect>true</preserveaspect>
++ </imagetype>
++ <textarea name="buttontext">
++ <area>90,5,200,50</area>
++ <align>allcenter</align>
++ <multiline>yes</multiline>
++ </textarea>
++ </state>
++ <state name="selectedactive" from="active">
++ <shape name="background">
++ <fill style="gradient">
++ <gradient start="#52CA38"
end="#349838" alpha="255" />
++ </fill>
++ </shape>
++ </state>
++ <state name="selectedinactive"
from="selectedactive">
++ <shape name="background">
++ <fill style="gradient">
++ <gradient start="#52CA38"
end="#349838" alpha="175" />
++ </fill>
++ </shape>
++ </state>
++ </statetype>
++ <statetype name="upscrollarrow">
++ <position>1140,530</position>
++ <state type="off">
++ <imagetype name="upon">
++ <filename>lb-uparrow-reg.png</filename>
++ </imagetype>
++ </state>
++ <state type="full">
++ <imagetype name="upoff">
++ <filename>lb-uparrow-sel.png</filename>
++ </imagetype>
++ </state>
++ </statetype>
++ <statetype name="downscrollarrow">
++ <position>1180,530</position>
++ <state type="off">
++ <imagetype name="dnon">
++ <filename>lb-dnarrow-reg.png</filename>
++ </imagetype>
++ </state>
++ <state type="full">
++ <imagetype name="dnoff">
++ <filename>lb-dnarrow-sel.png</filename>
++ </imagetype>
++ </state>
++ </statetype>
++ </buttonlist>
++
++ <textarea name="status" from="basetextarea">
++ <area>30,550,600,25</area>
++ </textarea>
++
++ <textarea name="manuallabel" from="basetextarea">
++ <area>30,605,300,25</area>
++ <value>Search terms:</value>
++ </textarea>
++
++ <textedit name="manualsearch" from="basetextedit">
++ <position>30,635</position>
++ </textedit>
++
++ <button name="search" from="basebutton">
++ <position>440,638</position>
++ <value>Search</value>
++ </button>
++
++ <button name="skip" from="basebutton">
++ <position>620,638</position>
++ <value>Skip</value>
++ </button>
++
++ </window>
++
+ <window name="channeloverview">
+
+ <textarea name="pagetitle">
Index: mythtv-setup.desktop
===================================================================
RCS file: /cvs/free/rpms/mythtv/devel/mythtv-setup.desktop,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- mythtv-setup.desktop 3 Aug 2008 15:20:03 -0000 1.1
+++ mythtv-setup.desktop 22 Oct 2011 17:38:18 -0000 1.2
@@ -2,7 +2,7 @@
Encoding=UTF-8
Name=mythTV setup
Comment=Setup for mythTV.
-Icon=mythtv-setup.png
+Icon=mythtv-setup
Exec=mythtv-setup
Terminal=false
Type=Application
Index: mythtv.spec
===================================================================
RCS file: /cvs/free/rpms/mythtv/devel/mythtv.spec,v
retrieving revision 1.82
retrieving revision 1.83
diff -u -r1.82 -r1.83
--- mythtv.spec 3 Oct 2011 21:59:57 -0000 1.82
+++ mythtv.spec 22 Oct 2011 17:38:18 -0000 1.83
@@ -65,8 +65,8 @@
%define desktop_vendor RPMFusion
# Git revision and branch ID
-# 0.24 release: git tag b0.24
-%define _gitrev b5a3805b92
+# 0.24 release: git tag v0.24.1
+%define _gitrev e89d6a9f7e
%define branch fixes/0.24
#
@@ -83,7 +83,7 @@
Release: 0.1.git.%{_gitrev}%{?dist}
#Release: 0.1.rc1%{?dist}
%else
-Release: 2%{?dist}
+Release: 3%{?dist}
%endif
# The primary license is GPLv2+, but bits are borrowed from a number of
@@ -130,15 +130,17 @@
################################################################################
-Source0:
http://www.mythtv.org/mc/mythtv-%{version}.tar.bz2
-Source1:
http://www.mythtv.org/mc/mythplugins-%{version}.tar.bz2
-#Patch0: mythtv-%{version}-fixes.patch
-#Patch1: mythplugins-%{version}-fixes.patch
-#Patch2: mythweb-%{version}-fixes.patch
+Source0: mythtv-%{version}.tar.bz2
+Source1: mythplugins-%{version}.tar.bz2
+Patch0: mythtv-%{version}-fixes.patch
+Patch1: mythplugins-%{version}-fixes.patch
+#Patch2: mythweb-%{version}-fixes.patch\
+Patch3: mythtv-0.24.1-glu_h_gluErrorString.patch
Source10: PACKAGE-LICENSING
Source101: mythbackend.sysconfig
Source102: mythbackend.init
Source103: mythbackend.logrotate
+Source104: mythbackend.service
Source106: mythfrontend.png
Source107: mythfrontend.desktop
Source108: mythtv-setup.png
@@ -160,6 +162,22 @@
# Global MythTV and Shared Build Requirements
+%if 0%{?fedora} >= 16
+# Use systemd
+BuildRequires: systemd-units
+Requires(post): systemd-units
+Requires(preun): systemd-units
+Requires(postun): systemd-units
+# For sysv -> systemd transition
+Requires(post): systemd-sysv
+%else
+# Use SysV
+Requires(post): chkconfig
+Requires(preun): chkconfig
+Requires(preun): initscripts
+Requires(postun): initscripts
+%endif
+
BuildRequires: desktop-file-utils
BuildRequires: freetype-devel >= 2
BuildRequires: gcc-c++
@@ -333,7 +351,9 @@
Requires: python-MythTV = %{version}-%{release}
Requires: mythplugins = %{version}-%{release}
-Requires: mythtv-themes >= 0.24
+# These are available via mythtv's built-in theme downloader now,
+# so lets not install them by default.
+#Requires: mythtv-themes = %{version}
Requires: mysql-server >= 5, mysql >= 5
# XMLTV is not yet packaged for rpmfusion
@@ -519,6 +539,7 @@
Requires: lame
Requires: mythtv-common = %{version}-%{release}
Requires: wget
+Requires(pre): shadow-utils
Conflicts: xmltv-grabbers < 0.5.37
%description backend
@@ -771,10 +792,7 @@
Requires: httpd >= 1.3.26
Requires: php >= 5.1
Requires: php-mysql
-# php-process is broken out from main php package in Fedora 11 and later
-%if 0%{?fedora} >= 11
Requires: php-process
-%endif
%description -n mythweb
The web interface to MythTV.
@@ -835,7 +853,8 @@
##### MythTV
cd mythtv-%{version}
-#patch0 -p1
+%patch0 -p2
+%patch3 -p1 -b .p3
# Drop execute permissions on contrib bits, since they'll be %doc
find contrib/ -type f -exec chmod -x "{}" \;
@@ -850,7 +869,7 @@
bindings/perl/Makefile
# Install other source files
- cp -a %{SOURCE10} %{SOURCE101} %{SOURCE102} %{SOURCE103} .
+ cp -a %{SOURCE10} .
cp -a %{SOURCE106} %{SOURCE107} %{SOURCE108} %{SOURCE109} .
# Prevent all of those nasty installs to ../../../../../bin/whatever
@@ -868,7 +887,7 @@
%if %{with_plugins}
cd mythplugins-%{version}
-#patch1 -p1
+%patch1 -p2
#patch2 -p1
# Fix /mnt/store -> /var/lib/mythmusic
@@ -1085,19 +1104,28 @@
mkdir -p %{buildroot}%{_localstatedir}/cache/mythtv
mkdir -p %{buildroot}%{_localstatedir}/log/mythtv
mkdir -p %{buildroot}%{_sysconfdir}/logrotate.d
+ %if 0%{?fedora} >= 16
+ mkdir -p %{buildroot}%{_unitdir}
+ %else
mkdir -p %{buildroot}%{_sysconfdir}/init.d
mkdir -p %{buildroot}%{_sysconfdir}/sysconfig
+ %endif
mkdir -p %{buildroot}%{_sysconfdir}/mythtv
+
# Fix permissions on executable python bindings
# chmod +x %{buildroot}%{python_sitelib}/MythTV/Myth*.py
# mysql.txt and other config/init files
install -m 644 %{SOURCE110} %{buildroot}%{_sysconfdir}/mythtv/
echo "# to be filled in by mythtv-setup" >
%{buildroot}%{_sysconfdir}/mythtv/config.xml
- install -p -m 755 mythbackend.init %{buildroot}%{_sysconfdir}/init.d/mythbackend
- install -p -m 644 mythbackend.sysconfig
%{buildroot}%{_sysconfdir}/sysconfig/mythbackend
- install -p -m 644 mythbackend.logrotate
%{buildroot}%{_sysconfdir}/logrotate.d/mythbackend
+ %if 0%{?fedora} >= 16
+ install -p -m 644 %{SOURCE104} %{buildroot}%{_unitdir}/
+ %else
+ install -p -m 755 %{SOURCE102} %{buildroot}%{_sysconfdir}/init.d/mythbackend
+ install -p -m 644 %{SOURCE101} %{buildroot}%{_sysconfdir}/sysconfig/mythbackend
+ %endif
+ install -p -m 644 %{SOURCE103} %{buildroot}%{_sysconfdir}/logrotate.d/mythbackend
# Desktop entries
mkdir -p %{buildroot}%{_datadir}/pixmaps
@@ -1178,18 +1206,68 @@
%postun libs -p /sbin/ldconfig
%pre backend
-# Add the "mythtv" user, with membership in the video group
-/usr/sbin/useradd -c "mythtvbackend User" \
- -s /sbin/nologin -r -d %{_localstatedir}/lib/mythtv -G video mythtv 2> /dev/null
|| :
+# Add the "mythtv" user, with membership in the audio and video group
+getent group mythtv >/dev/null || groupadd -r mythtv
+getent passwd mythtv >/dev/null || \
+ useradd -r -g mythtv -d d %{_localstatedir}/lib/mythtv -s /sbin/nologin \
+ -c "mythbackend user" mythtv
+exit 0
+# Make sure the mythtv user is in the audio and video group for existing
+# or new installs.
+usermod -a -G audio,video mythtv
%post backend
+%if 0%{?fedora} >= 16
+if [ $1 -eq 1 ] ; then
+ # Initial installation
+ /bin/systemctl daemon-reload >/dev/null 2>&1 || :
+fi
+%else
/sbin/chkconfig --add mythbackend
+%endif
+
%preun backend
+%if 0%{?fedora} >= 16
+if [ $1 -eq 0 ] ; then
+ # Package removal, not upgrade
+ /bin/systemctl --no-reload disable mythbackend.service > /dev/null 2>&1 ||
:
+ /bin/systemctl stop mythbackend.service > /dev/null 2>&1 || :
+fi
+%else
if [ $1 = 0 ]; then
/sbin/service mythbackend stop > /dev/null 2>&1
/sbin/chkconfig --del mythbackend
fi
+%endif
+
+%postun backend
+%if 0%{?fedora} >= 16
+/bin/systemctl daemon-reload >/dev/null 2>&1 || :
+if [ $1 -ge 1 ] ; then
+ # Package upgrade, not uninstall
+ /bin/systemctl try-restart mythbackend.service >/dev/null 2>&1 || :
+fi
+%else
+if [ "$1" -ge "1" ] ; then
+ /sbin/service mythbackend condrestart >/dev/null 2>&1 || :
+fi
+%endif
+
+%if 0%{?fedora} >= 16
+%triggerun -- mythtv < 0.24.1-3
+# Save the current service runlevel info
+# User must manually run systemd-sysv-convert --apply httpd
+# to migrate them to systemd targets
+/usr/bin/systemd-sysv-convert --save mythbackend >/dev/null 2>&1 ||:
+
+# If the package is allowed to autostart:
+/bin/systemctl --no-reload enable mythbackend.service >/dev/null 2>&1 ||:
+
+# Run these because the SysV package being removed won't do them
+/sbin/chkconfig --del mythbackend >/dev/null 2>&1 || :
+/bin/systemctl try-restart mythbackend.service >/dev/null 2>&1 || :
+%endif
################################################################################
@@ -1229,8 +1307,12 @@
%{_datadir}/mythtv/MXML_scpd.xml
%attr(-,mythtv,mythtv) %dir %{_localstatedir}/lib/mythtv
%attr(-,mythtv,mythtv) %dir %{_localstatedir}/cache/mythtv
+%if 0%{?fedora} >=16
+%{_unitdir}/mythbackend.service
+%else
%{_sysconfdir}/init.d/mythbackend
%config(noreplace) %{_sysconfdir}/sysconfig/mythbackend
+%endif
%config(noreplace) %{_sysconfdir}/logrotate.d/mythbackend
%attr(-,mythtv,mythtv) %dir %{_localstatedir}/log/mythtv
%dir %{_datadir}/mythtv/internetcontent
@@ -1453,8 +1535,18 @@
################################################################################
%changelog
-* Mon Oct 03 2011 Nicolas Chauvet <kwizart(a)gmail.com> - 0.24.1-2
-- Rebuilt and fix requires mythtv-themes - rfbz#1956
+* Sun Oct 20 2011 Richard Shaw <hobbes1069(a)gmail.com> - 0.24.1-3
+- Update to latest 0.24.1-fixes, git revision e89d6a9f7e.
+- Fixes BZ#1993, FTBFS on Fedora 16.
+- Moves from sysv init to systemd unit file for mythbackend on Fedora 16+
+ See
http://rpmfusion.org/Package/mythtv for additonal information.
+- Changes default user for mythbackend from root to mythtv on
+ Fedora 16+. See
http://rpmfusion.org/Package/mythtv for additonal information.
+
+* Mon May 30 2011 Jarod Wilson <jarod(a)wilsonet.com> 0.24.1-2
+- Drop dependency on mythtv-themes, since upstream is no longer tarring
+ them up, in preference of people using the built-in theme downloader.
+- Update to 0.24-fixes, git revision 3657f313ac
* Tue May 17 2011 Jarod Wilson <jarod(a)wilsonet.com> 0.24.1-1
- Update to 0.24.1 stable update release