Compare commits

..

51 commits

Author SHA1 Message Date
Python Maint
21219f929e Rebuilt for Python 3.15.0b4 ABI change 2026-07-22 10:20:13 +02:00
Fedora Release Engineering
90486c26ee Rebuilt for https://fedoraproject.org/wiki/Fedora_45_Mass_Rebuild 2026-07-17 08:24:12 +00:00
Yaakov Selkowitz
89e65a9d3b Rebuilt for openssl 4.0 2026-06-12 20:02:06 -04:00
Python Maint
fe3ff33d39 Rebuilt for Python 3.15 2026-06-03 17:50:09 +02:00
Martin Gansser
541c4629b9 Update SPEC für vdr-epg2vdr 2026-06-03 11:35:23 +02:00
Martin Gansser
74bf093cef Rebuilt for new VDR 2.8.1 API version 12 2026-03-23 16:21:04 +00:00
Martin Gansser
545341d20b Rebuilt for new VDR API version 2.7.9 2026-02-09 11:23:23 +01:00
Martin Gansser
4a4b9be66c Rebuilt for new VDR API version 2.7.8 2026-01-26 17:02:03 +01:00
Fedora Release Engineering
d3378286e0 Rebuilt for https://fedoraproject.org/wiki/Fedora_44_Mass_Rebuild 2026-01-17 19:49:29 +00:00
Benjamin A. Beasley
97d9b9d663 Rebuilt for tinyxml2 11.0.0 2025-08-23 07:13:01 -04:00
Martin Gansser
70977b51fa Rebuilt for new VDR API version 2.7.7 2025-07-27 18:28:35 +02:00
Fedora Release Engineering
9bc1b1bb81 Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild 2025-07-25 20:00:12 +00:00
Martin Gansser
6dd7d5938c Rebuilt for new VDR API version 2.7.6 2025-06-22 21:56:27 +02:00
Martin Gansser
6433dfdbbe Rebuilt for new VDR API version 2.7.6 2025-06-22 12:23:50 +02:00
Python Maint
87b77dd7fd Rebuilt for Python 3.14 2025-06-02 20:53:54 +02:00
Martin Gansser
4e4f1b35dd Rebuilt for new VDR API version 2.7.5 2025-05-27 17:08:17 +02:00
Martin Gansser
688cc8b74e Rebuilt for new VDR API version 2.7.4 2025-02-28 10:35:18 +01:00
Martin Gansser
f9ce85994c Update to 1.2.17 2025-02-18 18:23:01 +01:00
Fedora Release Engineering
806a0705e6 Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild 2025-01-19 14:10:45 +00:00
Dominik 'Rathann' Mierzejewski
61cc86143b rebuild for tinyxml2 2024-11-11 23:45:46 +00:00
Richard W.M. Jones
e2c5ee0d08 Rebuild for Jansson 2.14
(https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/thread/3PYINSQGKQ4BB25NQUI2A2UCGGLAG5ND/)
2024-10-22 13:40:39 +01:00
Martin Gansser
3315f51832 Rebuilt for new VDR API version 2.7.2
Add %{name}-EventID.diff for vdr 2.7.x
2024-10-09 14:12:06 +02:00
Fedora Release Engineering
09b0fdc5ac Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild 2024-07-20 08:37:55 +00:00
Martin Gansser
881d3eafe1 Rebuilt for new VDR API version 2.6.9 2024-07-15 16:08:59 +02:00
Martin Gansser
747a2991b2 Rebuilt for new VDR API version 2.6.8 2024-07-11 14:10:24 +02:00
Miroslav Suchý
30ad20ec44 convert GPL+ license to SPDX
This is part of https://fedoraproject.org/wiki/Changes/SPDX_Licenses_Phase_4
2024-06-17 16:18:29 +02:00
Python Maint
5c8a3165ea Rebuilt for Python 3.13 2024-06-07 09:12:20 +02:00
Martin Gansser
81220d5fe4 Rebuilt for new VDR API version 2024-04-12 14:44:56 +02:00
Martin Gansser
1596d7e4eb Rebuilt for new VDR API version 2024-01-26 11:11:40 +01:00
Martin Gansser
0ba2a95530 Update to 1.2.16 2024-01-21 19:57:48 +01:00
Martin Gansser
3d28c7a131 Rebuilt for new VDR API versionA
Add BR gettext for rawhide
2024-01-05 16:35:41 +01:00
Martin Gansser
5b280c277a Rebuilt for new VDR API version 2024-01-05 16:28:14 +01:00
Martin Gansser
11ff9fc14e Update to 1.2.15 2023-10-17 13:15:18 +02:00
Fedora Release Engineering
c79c759c3f Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2023-07-22 17:28:37 +00:00
Python Maint
ca8e3849e3 Rebuilt for Python 3.12 2023-06-13 21:00:08 +02:00
Martin Gansser
b17aa3cff3 Update to 1.2.14 2023-02-15 08:13:35 +01:00
Martin Gansser
b772019329 Update to 1.2.13 2023-02-14 09:24:21 +01:00
Martin Gansser
5c81b24512 Update to 1.2.12 2023-01-25 16:54:16 +01:00
Fedora Release Engineering
7b7816a473 Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2023-01-21 06:09:33 +00:00
Martin Gansser
0e87160d7b Update to 1.2.9
Add vps.epg2vdr.patch
2022-12-24 12:24:55 +01:00
Martin Gansser
0e1e18eb4d Update to 1.2.9 2022-12-24 12:20:38 +01:00
Martin Gansser
483888ec12 Rebuilt for new VDR API version 2022-12-14 16:07:05 +01:00
Martin Gansser
582888c206 Rebuilt for new VDR API version 2022-12-01 17:35:55 +01:00
Rich Mattes
715e235639 Rebuild for tinyxml2-9.0.0 2022-09-25 14:52:10 -04:00
Martin Gansser
88d1a88ce3 Update to new github address
Update to 1.2.8
2022-08-04 11:53:26 +02:00
Fedora Release Engineering
d06f5a5a80 Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2022-07-23 11:44:22 +00:00
Python Maint
579c00fbc9 Rebuilt for Python 3.11 2022-06-13 15:43:06 +02:00
Martin Gansser
65f9239285 A Update to 1.2.7 2022-04-30 16:25:34 +02:00
Martin Gansser
55a2c1586e Update to 1.2.6 2022-02-12 18:53:50 +01:00
Martin Gansser
7551c56dc3 Rebuilt for new VDR API version 2022-02-04 13:15:59 +01:00
Fedora Release Engineering
5340596042 - Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2022-01-22 03:50:34 +00:00
4 changed files with 329 additions and 9 deletions

9
.gitignore vendored
View file

@ -92,3 +92,12 @@
/vdr-plugin-epg2vdr-1.2.3.tar.bz2
/vdr-plugin-epg2vdr-1.2.5.tar.bz2
/vdr-plugin-epg2vdr-1.2.6.tar.bz2
/vdr-plugin-epg2vdr-1.2.7.tar.bz2
/vdr-epg2vdr-1.2.8.tar.gz
/vdr-epg2vdr-1.2.9.tar.gz
/vdr-epg2vdr-1.2.12.tar.gz
/vdr-epg2vdr-1.2.13.tar.gz
/vdr-epg2vdr-1.2.14.tar.gz
/vdr-epg2vdr-1.2.15.tar.gz
/vdr-epg2vdr-1.2.16.tar.gz
/vdr-epg2vdr-1.2.17.tar.gz

View file

@ -1 +1 @@
SHA512 (vdr-plugin-epg2vdr-1.2.6.tar.bz2) = f28803c560209b65f68293b70ae7a21c323cac8804af1d0f459a7e3e53ab1ac9dcfce78a741b77b07a2f3b53814f79d17160a923fec19dfc8dacad1843b939a5
SHA512 (vdr-epg2vdr-1.2.17.tar.gz) = 56c56cc0b46584e4e326779ab3b685f11eca1f9492e9209bc9e7d85897b3aaf44010bc37d0558a78ae64d0d4e6795a58bdb2074a06e5f196ee2d4aac170c79eb

View file

@ -1,14 +1,27 @@
# Set vdr_version based on Fedora version
# Default
%global vdr_version 2.7.7
%if 0%{?fedora} == 43
%global vdr_version 2.7.7
%elif 0%{?fedora} == 44
%global vdr_version 2.8.1
%elif 0%{?fedora} > 44
%global vdr_version 2.8.2
%endif
Name: vdr-epg2vdr
Version: 1.2.6
Release: 1%{?dist}
Version: 1.2.17
Release: 17%{?dist}
Summary: A plugin to retrieve EPG data from a mysql database into VDR
License: GPL+
URL: http://projects.vdr-developer.org/git/vdr-plugin-epg2vdr.git
Source0: https://projects.vdr-developer.org/git/vdr-plugin-epg2vdr.git/snapshot/vdr-plugin-epg2vdr-%{version}.tar.bz2
License: GPL-1.0-or-later
URL: https://github.com/horchi/vdr-plugin-epg2vdr
Source0: %url/archive/refs/tags/%{version}.tar.gz#/%{name}-%{version}.tar.gz
BuildRequires: make
BuildRequires: gcc-c++
BuildRequires: gettext
BuildRequires: sqlite-devel
BuildRequires: openssl-devel
BuildRequires: mariadb-connector-c-devel
@ -19,7 +32,7 @@ BuildRequires: libxml2-devel
BuildRequires: tinyxml2-devel
BuildRequires: libjpeg-turbo-devel
BuildRequires: imlib2-devel
BuildRequires: vdr-devel >= 1.7.36
BuildRequires: vdr-devel >= %{vdr_version}
BuildRequires: python3-devel
BuildRequires: jansson-devel
BuildRequires: libarchive-devel
@ -35,8 +48,6 @@ was loaded from a mysql database.
iconv -f iso-8859-1 -t utf-8 README > README.utf8 ; mv README.utf8 README
# disable AUX patch
sed -i -e 's|WITH_AUX_PATCH = 1|#WITH_AUX_PATCH = 1|' Make.config
# use python3
sed -i -e 's|PYTHON ?= python|PYTHON ?= python3|' Make.config
%build
export CFLAGS="%{optflags}"
@ -57,6 +68,146 @@ chmod 0755 %{buildroot}/%{vdr_plugindir}/libvdr-*.so.%{vdr_apiversion}
%{vdr_plugindir}/libvdr-*.so.%{vdr_apiversion}
%changelog
* Wed Jul 22 2026 Python Maint <python-maint@redhat.com> - 1.2.17-17
- Rebuilt for Python 3.15.0b4 ABI change
* Fri Jul 17 2026 Fedora Release Engineering <releng@fedoraproject.org> - 1.2.17-16
- Rebuilt for https://fedoraproject.org/wiki/Fedora_45_Mass_Rebuild
* Sat Jun 13 2026 Yaakov Selkowitz <yselkowi@redhat.com> - 1.2.17-15
- Rebuilt for openssl 4.0
* Wed Jun 03 2026 Python Maint <python-maint@redhat.com> - 1.2.17-14
- Rebuilt for Python 3.15
* Wed Jun 03 2026 Martin Gansser <martinkg@fedoraproject.org> - 1.2.17-13
- Rebuilt for new VDR 2.8.2 API version 13
* Mon Mar 23 2026 Martin Gansser <martinkg@fedoraproject.org> - 1.2.17-12
- Rebuilt for new VDR 2.8.1 API version 12
* Mon Feb 09 2026 Martin Gansser <martinkg@fedoraproject.org> - 1.2.17-11
- Rebuilt for new VDR API version 2.7.9
* Mon Jan 26 2026 Martin Gansser <martinkg@fedoraproject.org> - 1.2.17-10
- Rebuilt for new VDR API version 2.7.8
* Sat Jan 17 2026 Fedora Release Engineering <releng@fedoraproject.org> - 1.2.17-9
- Rebuilt for https://fedoraproject.org/wiki/Fedora_44_Mass_Rebuild
* Sat Aug 23 2025 Benjamin A. Beasley <code@musicinmybrain.net> - 1.2.17-8
- Rebuilt for tinyxml2 11.0.0
* Fri Jul 25 2025 Martin Gansser <martinkg@fedoraproject.org> - 1.2.17-7
- Rebuilt for new VDR API version 2.7.7
* Fri Jul 25 2025 Fedora Release Engineering <releng@fedoraproject.org> - 1.2.17-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild
* Sat Jun 21 2025 Martin Gansser <martinkg@fedoraproject.org> - 1.2.17-5
- Rebuilt for new VDR API version 2.7.6
* Mon Jun 02 2025 Python Maint <python-maint@redhat.com> - 1.2.17-4
- Rebuilt for Python 3.14
* Tue May 27 2025 Martin Gansser <martinkg@fedoraproject.org> - 1.2.17-3
- Rebuilt for new VDR API version 2.7.5
* Fri Feb 28 2025 Martin Gansser <martinkg@fedoraproject.org> - 1.2.17-2
- Rebuilt for new VDR API version 2.7.4
* Tue Feb 18 2025 Martin Gansser <martinkg@fedoraproject.org> - 1.2.17-1
- Update to 1.2.17
* Sun Jan 19 2025 Fedora Release Engineering <releng@fedoraproject.org> - 1.2.16-12
- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
* Mon Nov 11 2024 Dominik Mierzejewski <dominik@greysector.net> - 1.2.16-11
- rebuild for tinyxml2
* Tue Oct 22 2024 Richard W.M. Jones <rjones@redhat.com> - 1.2.16-10
- Rebuild for Jansson 2.14
(https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/thread/3PYINSQGKQ4BB25NQUI2A2UCGGLAG5ND/)
* Wed Oct 09 2024 Martin Gansser <martinkg@fedoraproject.org> - 1.2.16-9
- Rebuilt for new VDR API version 2.7.2
- Add %%{name}-EventID.diff for vdr 2.7.x
* Sat Jul 20 2024 Fedora Release Engineering <releng@fedoraproject.org> - 1.2.16-8
- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
* Mon Jul 15 2024 Martin Gansser <martinkg@fedoraproject.org> - 1.2.16-7
- Rebuilt for new VDR API version 2.6.9
* Thu Jul 11 2024 Martin Gansser <martinkg@fedoraproject.org> - 1.2.16-6
- Rebuilt for new VDR API version 2.6.8
* Mon Jun 17 2024 Miroslav Suchý <msuchy@redhat.com> - 1.2.16-5
- convert license to SPDX
* Fri Jun 07 2024 Python Maint <python-maint@redhat.com> - 1.2.16-4
- Rebuilt for Python 3.13
* Fri Apr 12 2024 Martin Gansser <martinkg@fedoraproject.org> - 1.2.16-3
- Rebuilt for new VDR API version
* Fri Jan 26 2024 Martin Gansser <martinkg@fedoraproject.org> - 1.2.16-2
- Rebuilt for new VDR API version
* Sun Jan 21 2024 Martin Gansser <martinkg@fedoraproject.org> - 1.2.16-1
- Update to 1.2.16
* Fri Jan 05 2024 Martin Gansser <martinkg@fedoraproject.org> - 1.2.15-2
- Rebuilt for new VDR API versionA
- Add BR gettext for rawhide
* Tue Oct 17 2023 Martin Gansser <martinkg@fedoraproject.org> - 1.2.15-1
- Update to 1.2.15
* Sat Jul 22 2023 Fedora Release Engineering <releng@fedoraproject.org> - 1.2.14-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
* Tue Jun 13 2023 Python Maint <python-maint@redhat.com> - 1.2.14-2
- Rebuilt for Python 3.12
* Wed Feb 15 2023 Martin Gansser <martinkg@fedoraproject.org> - 1.2.14-1
- Update to 1.2.14
* Sun Feb 12 2023 Martin Gansser <martinkg@fedoraproject.org> - 1.2.13-1
- Update to 1.2.13
* Wed Jan 25 2023 Martin Gansser <martinkg@fedoraproject.org> - 1.2.12-1
- Update to 1.2.12
* Sat Jan 21 2023 Fedora Release Engineering <releng@fedoraproject.org> - 1.2.9-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
* Sat Dec 24 2022 Martin Gansser <martinkg@fedoraproject.org> - 1.2.9-1
- Update to 1.2.9
- Add vps.epg2vdr.patch
* Wed Dec 14 2022 Martin Gansser <martinkg@fedoraproject.org> - 1.2.8-4
- Rebuilt for new VDR API version
* Thu Dec 01 2022 Martin Gansser <martinkg@fedoraproject.org> - 1.2.8-3
- Rebuilt for new VDR API version
* Sun Sep 25 2022 Rich Mattes <richmattes@gmail.com> - 1.2.8-2
- Rebuild for tinyxml2-9.0.0
* Thu Aug 04 2022 Martin Gansser <martinkg@fedoraproject.org> - 1.2.8-1
- Update to new github address
- Update to 1.2.8
* Sat Jul 23 2022 Fedora Release Engineering <releng@fedoraproject.org> - 1.2.7-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
* Mon Jun 13 2022 Python Maint <python-maint@redhat.com> - 1.2.7-2
- Rebuilt for Python 3.11
* Sat Apr 30 2022 Martin Gansser <martinkg@fedoraproject.org> - 1.2.7-1
- Update to 1.2.7
* Sat Feb 12 2022 Martin Gansser <martinkg@fedoraproject.org> - 1.2.6-1
- Update to 1.2.6

160
vps.epg2vdr.patch Normal file
View file

@ -0,0 +1,160 @@
Index: vdr-plugin-epg2vdr-1.2.9/handler.h
===================================================================
--- vdr-plugin-epg2vdr-1.2.9.orig/handler.h 2022-12-22 09:02:41.104757343 +0100
+++ vdr-plugin-epg2vdr-1.2.9/handler.h 2022-12-24 11:45:58.543278919 +0100
@@ -409,6 +409,7 @@
virtual bool HandledExternally(const cChannel* Channel)
{
+ handledByUs = false;
static int reportFirst = yes;
LogDuration l("HandledExternally", 5);
@@ -430,8 +431,10 @@
// dbConnected() here okay -> if not connected we return false an the vdr will handle the event?!?
- if (dbConnected() && getExternalIdOfChannel(&channelId) != "")
+ if (dbConnected() && getExternalIdOfChannel(&channelId) != "") {
+ handledByUs = true;
return true;
+ }
return false;
}
@@ -453,6 +456,53 @@
}
//***************************************************************************
+ // SetEventID
+ //***************************************************************************
+
+ virtual bool SetEventID(cEvent *Event, tEventID EventID) {
+// do we handle this channel?
+ if (!handledByUs) return false;
+ return true;
+// our use IDs don't change
+/*
+
+ eventsDb->clear();
+ eventsDb->setValue("CHANNELID", channelId.ToString());
+ eventsDb->setBigintValue("EVENTID", (long)EventID);
+
+ if (eventsDb->find()) {
+ tEventID useID = eventsDb->getIntValue("USEID");
+ Event->SetEventID(useID);
+ return true;
+ }
+ return false;
+*/
+ }
+
+ //***************************************************************************
+ // Get event
+ //***************************************************************************
+
+ virtual bool GetEvent(cEvent **event, const cChannel *channel, const cSchedule *schedule, const SI::EIT::Event *siEitEvent, uchar tableID) {
+// do we handle this channel?
+ if (!handledByUs) return false;
+ *event = NULL;
+
+ if (tableID == 0x4E || (tableID & 0xF0) == 0x50) {
+ eventsDb->clear();
+ eventsDb->setValue("CHANNELID", channelId.ToString());
+ eventsDb->setBigintValue("EVENTID", (long)siEitEvent->getEventId());
+
+ if (eventsDb->find()) {
+ tEventID useID = eventsDb->getIntValue("USEID");
+ *event = const_cast<cEvent *>(schedule->GetEventById(useID));
+ }
+ } else
+ *event = const_cast<cEvent *>(schedule->GetEventByTime(siEitEvent->getStartTime() ));
+ return true;
+ }
+
+ //***************************************************************************
// Is Update
//***************************************************************************
@@ -746,7 +796,7 @@
selectEventByStarttime->freeResult();
- return true;
+ return false; // so other plugins can still get the event
}
//***************************************************************************
@@ -876,6 +926,7 @@
std::map<std::string,MemMap> evtMemList;
std::map<std::string,std::string> externIdMap;
tChannelID channelId;
+ bool handledByUs; // == EpgHandlers.HandledExternally(Channel);
int initialized;
cDbConnection* connection;
@@ -980,6 +1031,18 @@
return false;
}
+ virtual bool SetEventID(cEvent *Event, tEventID EventID)
+ {
+ cEpgHandlerInstance* h = getHandler();
+ return h->SetEventID(Event, EventID);
+ }
+
+ virtual bool GetEvent(cEvent **event, const cChannel *channel, const cSchedule *schedule, const SI::EIT::Event *siEitEvent, uchar tableID)
+ {
+ cEpgHandlerInstance* h = getHandler();
+ return h->GetEvent(event, channel, schedule, siEitEvent, tableID);
+ }
+
virtual bool IsUpdate(tEventID EventID, time_t StartTime, uchar TableID, uchar Version)
{
Index: vdr-plugin-epg2vdr-1.2.9/update.c
===================================================================
--- vdr-plugin-epg2vdr-1.2.9.orig/update.c 2022-12-22 07:32:05.000000000 +0100
+++ vdr-plugin-epg2vdr-1.2.9/update.c 2022-12-22 09:51:26.419974590 +0100
@@ -1431,6 +1431,18 @@
}
//***************************************************************************
+// Return true if any timer is in VPS margin
+//***************************************************************************
+
+bool timerInVpsMargin()
+{
+ LOCK_TIMERS_WRITE;
+ for (cTimer* timer = Timers->First(); timer; timer = Timers->Next(timer))
+ if (timer->InVpsMargin() ) return true;
+ return false;
+}
+
+//***************************************************************************
// Clear Epg
//***************************************************************************
@@ -1520,6 +1532,10 @@
if (fullreload)
{
tell(1, "Removing all events from epg");
+ if (timerInVpsMargin() ) {
+ tell(1, "Abort, as there is a timer in VPS margin");
+ return fail;
+ }
clearEpg();
@@ -1665,8 +1681,10 @@
}
}
- if (timer)
+ if (timer) {
+ if (timer->InVpsMargin() ) continue; // ignore events in vps margin, especially don't set the timer to no event.
timer->SetEvent(0);
+ }
s->DelEvent((cEvent*)event);
}