rpms/vdr/devel vdr-1.6.0-epgsearch-exttimeredit-0.0.2.diff, NONE, 1.1 vdr-1.6.0-kernel-2.6.29.diff, NONE, 1.1 vdr.spec, 1.47, 1.48 vdr-1.6.0-remove-dvb-abi-check.patch, 1.1, NONE

Ville Skyttä scop at fedoraproject.org
Sun Jul 26 14:49:41 UTC 2009


Author: scop

Update of /cvs/pkgs/rpms/vdr/devel
In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv14690

Modified Files:
	vdr.spec 
Added Files:
	vdr-1.6.0-epgsearch-exttimeredit-0.0.2.diff 
	vdr-1.6.0-kernel-2.6.29.diff 
Removed Files:
	vdr-1.6.0-remove-dvb-abi-check.patch 
Log Message:
* Sun Jul 26 2009 Ville Skyttä <ville.skytta at iki.fi> - 1.6.0-26
- Provide ISA qualified vdr(abi).  Plugins should depend on (versioned)
  vdr(abi)%{?_isa} instead of just vdr(abi).
- Borrow build patch for recent (broken? #483644) DVB headers from openSUSE.
- Apply epgsearch timer integration patch.
- Use %global instead of %define.


vdr-1.6.0-epgsearch-exttimeredit-0.0.2.diff:
 menu.c |   56 ++++++++++++++++++++++++++++++++++++++++++--------------
 1 file changed, 42 insertions(+), 14 deletions(-)

--- NEW FILE vdr-1.6.0-epgsearch-exttimeredit-0.0.2.diff ---
diff -up vdr-1.6.0/menu.c~ vdr-1.6.0/menu.c
--- vdr-1.6.0/menu.c~	2009-07-25 23:38:59.000000000 +0300
+++ vdr-1.6.0/menu.c	2009-07-25 23:43:54.000000000 +0300
@@ -811,6 +811,7 @@ class cMenuTimerItem : public cOsdItem {
 private:
   cTimer *timer;
   char diskStatus;
+  void DoSet(void);
 public:
   cMenuTimerItem(cTimer *Timer);
   void SetDiskStatus(char DiskStatus);
@@ -823,7 +824,7 @@ cMenuTimerItem::cMenuTimerItem(cTimer *T
 {
   timer = Timer;
   diskStatus = ' ';
-  Set();
+  DoSet();
 }
 
 int cMenuTimerItem::Compare(const cListObject &ListObject) const
@@ -833,6 +834,18 @@ int cMenuTimerItem::Compare(const cListO
 
 void cMenuTimerItem::Set(void)
 {
+  // check for deleted timer
+  for (cTimer *t = Timers.First(); ; t = Timers.Next(t)) {
+     if (t == timer)
+       break;  // timer still there
+     if (t == NULL)
+       return; // no matching timer found
+     }
+  DoSet();
+}
+
+void cMenuTimerItem::DoSet(void)
+{
   cString day, name("");
   if (timer->WeekDays())
      day = timer->PrintDay(0, timer->WeekDays(), false);
@@ -920,8 +933,7 @@ void cTimerEntry::SetDiskStatus(char Dis
 class cMenuTimers : public cOsdMenu {
 private:
   int helpKeys;
-  eOSState Edit(void);
-  eOSState New(void);
+  eOSState Edit(bool New = false);
   eOSState Delete(void);
   eOSState OnOff(void);
   eOSState Info(void);
@@ -998,19 +1010,30 @@ eOSState cMenuTimers::OnOff(void)
   return osContinue;
 }
 
-eOSState cMenuTimers::Edit(void)
+eOSState cMenuTimers::Edit(bool New)
 {
-  if (HasSubMenu() || Count() == 0)
+  if (HasSubMenu() || (Count() == 0 && !New))
      return osContinue;
-  isyslog("editing timer %s", *CurrentTimer()->ToDescr());
-  return AddSubMenu(new cMenuEditTimer(CurrentTimer()));
-}
+  if (!New)
+     isyslog("editing timer %s", *CurrentTimer()->ToDescr());
 
-eOSState cMenuTimers::New(void)
-{
-  if (HasSubMenu())
-     return osContinue;
-  return AddSubMenu(new cMenuEditTimer(new cTimer, true));
+  // Data structure for service "Epgsearch-exttimeredit-v1.0"
+  struct Epgsearch_exttimeredit_v1_0
+  {
+    // in
+    cTimer* timer;          // pointer to the timer to edit
+    bool bNew;              // flag that indicates, if this is a new timer or an existing one
+    const cEvent* event;    // pointer to the event corresponding to this timer (may be NULL)
+    // out
+    cOsdMenu* pTimerMenu;   // pointer to the menu of results
+  } exttimeredit;
+  exttimeredit.timer = New ? (new cTimer) : CurrentTimer();
+  exttimeredit.bNew = New;
+  exttimeredit.event = exttimeredit.timer->Event();
+  if (cPluginManager::CallFirstService("Epgsearch-exttimeredit-v1.0", &exttimeredit))
+    return AddSubMenu(exttimeredit.pTimerMenu);
+
+  return AddSubMenu(new cMenuEditTimer(exttimeredit.timer, New));
 }
 
 eOSState cMenuTimers::Delete(void)
@@ -1165,7 +1188,7 @@ eOSState cMenuTimers::ProcessKey(eKeys K
        case kOk:     return Edit();
        case kRed:    actualiseDiskStatus = true;
                      state = OnOff(); break; // must go through SetHelpKeys()!
-       case kGreen:  return New();
+       case kGreen:  return Edit(true);
        case kYellow: actualiseDiskStatus = true;
                      state = Delete(); break;
        case kInfo:
@@ -1183,6 +1206,11 @@ eOSState cMenuTimers::ProcessKey(eKeys K
      actualiseDiskStatus = true;
      Display();
      }
+  if (!HasSubMenu() && Timers.Count()<Count()) {
+     // timer was deleted
+     cOsdMenu::Del(Current());
+     Display();
+     }
   if (Key != kNone)
      SetHelpKeys();
   return state;

vdr-1.6.0-kernel-2.6.29.diff:
 dvbdevice.c |    3 ++-
 dvbdevice.h |    3 ++-
 vdr.c       |    1 +
 3 files changed, 5 insertions(+), 2 deletions(-)

--- NEW FILE vdr-1.6.0-kernel-2.6.29.diff ---
Index: vdr-1.6.0/dvbdevice.h
===================================================================
--- vdr-1.6.0.orig/dvbdevice.h
+++ vdr-1.6.0/dvbdevice.h
@@ -10,12 +10,13 @@
 #ifndef __DVBDEVICE_H
 #define __DVBDEVICE_H
 
+#include <linux/types.h>
 #include <linux/dvb/frontend.h>
 #include <linux/dvb/version.h>
 #include "device.h"
 #include "dvbspu.h"
 
-#if DVB_API_VERSION != 3
+#if DVB_API_VERSION != 3 && DVB_API_VERSION != 5
 #error VDR requires Linux DVB driver API version 3!
 #endif
 
Index: vdr-1.6.0/dvbdevice.c
===================================================================
--- vdr-1.6.0.orig/dvbdevice.c
+++ vdr-1.6.0/dvbdevice.c
@@ -7,9 +7,10 @@
  * $Id: dvbdevice.c 1.170 2008/02/09 16:11:44 kls Exp $
  */
 
-#include "dvbdevice.h"
 #include <errno.h>
 #include <limits.h>
+#include <stdint.h>
+#include "dvbdevice.h"
 #include <linux/videodev.h>
 #include <linux/dvb/audio.h>
 #include <linux/dvb/dmx.h>
Index: vdr-1.6.0/vdr.c
===================================================================
--- vdr-1.6.0.orig/vdr.c
+++ vdr-1.6.0/vdr.c
@@ -32,6 +32,7 @@
 #include <pwd.h>
 #include <signal.h>
 #include <stdlib.h>
+#include <linux/types.h>
 #include <sys/capability.h>
 #include <sys/prctl.h>
 #include <termios.h>


Index: vdr.spec
===================================================================
RCS file: /cvs/pkgs/rpms/vdr/devel/vdr.spec,v
retrieving revision 1.47
retrieving revision 1.48
diff -u -p -r1.47 -r1.48
--- vdr.spec	22 Jun 2009 15:44:04 -0000	1.47
+++ vdr.spec	26 Jul 2009 14:49:40 -0000	1.48
@@ -12,22 +12,22 @@
 %bcond_with       docs
 %bcond_with       plugins
 
-%define varbase   %{_var}/lib/vdr
-%define videodir  %{varbase}/video
-%define vardir    %{varbase}/data
-%define plugindir %{_libdir}/vdr
-%define configdir %{_sysconfdir}/vdr
-%define datadir   %{_datadir}/vdr
-%define cachedir  %{_var}/cache/vdr
-%define rundir    %{_var}/run/vdr
-%define vdr_user  vdr
-%define vdr_group video
+%global varbase   %{_var}/lib/vdr
+%global videodir  %{varbase}/video
+%global vardir    %{varbase}/data
+%global plugindir %{_libdir}/vdr
+%global configdir %{_sysconfdir}/vdr
+%global datadir   %{_datadir}/vdr
+%global cachedir  %{_var}/cache/vdr
+%global rundir    %{_var}/run/vdr
+%global vdr_user  vdr
+%global vdr_group video
 # From APIVERSION in config.h
-%define apiver    1.6.0
+%global apiver    1.6.0
 
 Name:           vdr
 Version:        1.6.0
-Release:        25%{?dist}
+Release:        26%{?dist}
 Summary:        Video Disk Recorder
 
 Group:          Applications/Multimedia
@@ -80,15 +80,19 @@ Patch16:        %{name}-1.6.0-dxr3-subti
 Patch17:        http://toms-cafe.de/vdr/download/vdr-timer-info-0.5-1.5.15.diff
 Patch18:        ftp://ftp.cadsoft.de/vdr/Developer/vdr-1.6.0-1.diff
 Patch19:        ftp://ftp.cadsoft.de/vdr/Developer/vdr-1.6.0-2.diff
-Patch20:        %{name}-1.6.0-remove-dvb-abi-check.patch
+# From openSUSE's vdr-1.6.0-62.3, fixes build with (broken? #483644) dvb headers
+Patch20:        %{name}-1.6.0-kernel-2.6.29.diff
 Patch21:        http://www.saunalahti.fi/~rahrenbe/vdr/patches/vdr-1.6.0-subtitles-button.patch.gz
 Patch22:        http://www.saunalahti.fi/~rahrenbe/vdr/patches/vdr-1.6.0-cap_sys_nice.patch.gz
 Patch23:        http://www.saunalahti.fi/~rahrenbe/vdr/patches/vdr-1.6.0-ionice.patch.gz
-# From openSUSE's 1.6.0-60.1, to fix build with gcc 4.4:
+# From openSUSE's vdr-1.6.0-62.3, to fix build with gcc 4.4:
 # http://download.opensuse.org/repositories/vdr/
 Patch24:        %{name}-1.6.0-const.diff
 Patch25:        http://toms-cafe.de/vdr/download/vdr-jumpplay-1.0-1.6.0.diff
 Patch26:        %{name}-jumpplay-1.0-1.6.0-finnish.patch
+# http://projects.vdr-developer.org/git/?p=vdr-plugin-epgsearch.git;a=blob;f=patches/vdr.epgsearch-exttimeredit-0.0.2.diff
+# Modified so that it applies on top of our other patches
+Patch27:        %{name}-1.6.0-epgsearch-exttimeredit-0.0.2.diff
 BuildRoot:      %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
 
 BuildRequires:  libjpeg-devel
@@ -108,7 +112,11 @@ Requires:       udev >= 136-1
 Requires(pre):  shadow-utils >= 2:4.1.1
 Requires(post): /sbin/chkconfig
 Requires(preun): /sbin/chkconfig
+Provides:       vdr(abi)%{?_isa} = %{apiver}
+%if "%{?_isa}" != ""
+# Deprecated backwards compatibility, plugins should depend on vdr(abi)%{?_isa}
 Provides:       vdr(abi) = %{apiver}
+%endif
 Obsoletes:      vdr-subtitles <= 0.5.0
 
 %description
@@ -142,7 +150,7 @@ Group:          Applications/Multimedia
 %if %{with plugins}
 BuildRequires:  ncurses-devel
 %endif # plugins
-Requires:       vdr(abi) = %{apiver}
+Requires:       vdr(abi)%{?_isa} = %{apiver}
 
 %description    skincurses
 The skincurses plugin implements a VDR skin that works in a shell
@@ -151,7 +159,7 @@ window, using only plain text output.
 %package        sky
 Summary:        Sky Digibox plugin for VDR
 Group:          Applications/Multimedia
-Requires:       vdr(abi) = %{apiver}
+Requires:       vdr(abi)%{?_isa} = %{apiver}
 Requires:       wget
 Requires:       /usr/bin/logger
 
@@ -205,13 +213,14 @@ sed \
 %patch16 -p0
 %patch18 -p1
 %patch19 -p1
-%patch20 -p0
+%patch20 -p1
 %patch21 -p1
 %patch22 -p1
 %patch23 -p1
 %patch24 -p1
 %patch25 -p1 -F 2
 %patch26 -p1
+%patch27 -p1
 
 for f in CONTRIBUTORS HISTORY* UPDATE-1.4.0 README.{jumpplay,timer-info} ; do
   iconv -f iso-8859-1 -t utf-8 -o $f.utf8 $f && mv $f.utf8 $f
@@ -534,6 +543,13 @@ fi
 %endif # plugins
 
 %changelog
+* Sun Jul 26 2009 Ville Skyttä <ville.skytta at iki.fi> - 1.6.0-26
+- Provide ISA qualified vdr(abi).  Plugins should depend on (versioned)
+  vdr(abi)%%{?_isa} instead of just vdr(abi).
+- Borrow build patch for recent (broken? #483644) DVB headers from openSUSE.
+- Apply epgsearch timer integration patch.
+- Use %%global instead of %%define.
+
 * Mon Jun 22 2009 Ville Skyttä <ville.skytta at iki.fi> - 1.6.0-25
 - Make -docs noarch when built on Fedora > 9.
 


--- vdr-1.6.0-remove-dvb-abi-check.patch DELETED ---




More information about the fedora-extras-commits mailing list