Compare commits

..

7 commits

Author SHA1 Message Date
Martin Gansser
c627414501 Update to 2.7.7 2025-07-26 12:46:33 +02:00
Martin Gansser
89fbc6659e Update to 2.7.7 2025-07-26 12:45:04 +02:00
Fedora Release Engineering
d48df5279f Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild 2025-07-25 19:59:59 +00:00
Martin Gansser
ce2a4450eb Update to 2.7.6 2025-06-21 18:10:24 +02:00
Martin Gansser
b53d3fa31f Update to 2.7.6 2025-06-21 17:58:38 +02:00
Martin Gansser
d72a0e92c4 cleaning Repo 2025-05-28 09:02:40 +02:00
Martin Gansser
23d1caec0d Update to 2.7.5
Add vdr-2.7.5-override-keyword.patch
2025-05-27 16:25:07 +02:00
7 changed files with 63 additions and 127 deletions

View file

@ -1,4 +1,4 @@
SHA512 (vdr-2.7.4.tar.bz2) = 8f6e19f2b497300efeeb6bb7b9dc43e4b390b9e65da0b3700c8c133a333d4124afaf649d659864e7f8177246e6d26ce5503e0e978c97f237a62b33095cf8dd4a
SHA512 (vdr-2.7.7.tar.bz2) = 22c561aea6c2ae29f27d024249501c3c748cd77e9c182ed969a59f24b4b360b59cf807e1214665bbec7797b6ec11beeac0b2f02e8427f0c91cf9c29144bd5154
SHA512 (vdr-rcu-2.2.0.tgz) = 56abebcfde3511c4dcf6f414915c7aa70a16b8e138e2d9364080828edc9b0da045acaadaaa4094d1315ddefdafa5f966aebcfacf979c068e077f1e32e29773b7
SHA512 (vdr-dvbsddevice-2.2.0.tgz) = ac0b94b8b192208ad7e736d7c4f27cca6517134b17fc86a79cdd19453176d5f6076418bf679435899cd953053f3b54776342bcdab23a659e8331e9f2ed4ee364
SHA512 (3473a7b939d7.zip) = fc405ac81cc1374de3a2d457f76972e605cf51c20c5e86f4fb683bb7fc78fde51690e65f463870c6881a65308722ccecd60d4a8957e3e2d43ecfd665f0e5aa8f

View file

@ -1,16 +0,0 @@
diff -up vdr-1.7.37/Makefile~ vdr-1.7.37/Makefile
--- vdr-1.7.37/Makefile~ 2013-02-14 21:57:22.306077727 +0200
+++ vdr-1.7.37/Makefile 2013-02-14 22:05:04.016086224 +0200
@@ -152,6 +152,12 @@ vdr.pc:
@echo "cflags=$(CFLAGS) $(CDEFINES) $(CINCLUDES) $(HDRDIR)" >> $@
@echo "cxxflags=$(CXXFLAGS) $(CDEFINES) $(CINCLUDES) $(HDRDIR)" >> $@
@echo "" >> $@
+ @echo "datadir=\$${resdir}" >> $@
+ @echo "rundir=$(RUNDIR)" >> $@
+ @echo "vardir=$(VARDIR)" >> $@
+ @echo "user=$(VDR_USER)" >> $@
+ @echo "group=$(VDR_GROUP)" >> $@
+ @echo "" >> $@
@echo "Name: VDR" >> $@
@echo "Description: Video Disk Recorder" >> $@
@echo "URL: http://www.tvdr.de/" >> $@

View file

@ -1,78 +0,0 @@
diff -Nurp vdr-2.4.6.orig/channels.c vdr-2.4.6/channels.c
--- vdr-2.4.6.orig/channels.c 2020-04-11 11:22:05.000000000 +0200
+++ vdr-2.4.6/channels.c 2021-01-02 14:56:49.883831519 +0100
@@ -16,6 +16,8 @@
// format characters in order to allow any number of blanks after a numeric
// value!
+#define CHANNELMARKOBSOLETE "OBSOLETE"
+
// --- tChannelID ------------------------------------------------------------
const tChannelID tChannelID::InvalidID;
@@ -434,6 +436,24 @@ void cChannel::SetSeen(void)
seen = time(NULL);
}
+bool cChannel::ClearObsoleteChannel(void)
+{
+ bool ChannelsModified = false;
+ if (endswith(name, CHANNELMARKOBSOLETE)) {
+ int mlen = strlen(CHANNELMARKOBSOLETE);
+ int e = strlen(name) - mlen - 1;
+ name[e] = '\0';
+ cString clrname = cString::sprintf("%s", name);
+ name[e] = ' ';
+
+ int OldShowChannelNamesWithSource = Setup.ShowChannelNamesWithSource;
+ Setup.ShowChannelNamesWithSource = 0;
+ ChannelsModified |= SetName(clrname, shortName, provider + mlen + 1);
+ Setup.ShowChannelNamesWithSource = OldShowChannelNamesWithSource;
+ }
+ return ChannelsModified;
+}
+
void cChannel::DelLinkChannel(cChannel *LinkChannel)
{
if (linkChannels) {
@@ -1112,7 +1132,6 @@ cChannel *cChannels::NewChannel(const cC
return NULL;
}
-#define CHANNELMARKOBSOLETE "OBSOLETE"
#define CHANNELTIMEOBSOLETE 3600 // seconds to wait before declaring a channel obsolete (in case it has actually been seen before)
bool cChannels::MarkObsoleteChannels(int Source, int Nid, int Tid)
diff -Nurp vdr-2.4.6.orig/channels.h vdr-2.4.6/channels.h
--- vdr-2.4.6.orig/channels.h 2020-06-10 16:00:36.000000000 +0200
+++ vdr-2.4.6/channels.h 2021-01-02 12:58:13.693581025 +0100
@@ -202,6 +202,7 @@ public:
void SetRefChannel(cChannel *RefChannel);
bool SetSubtitlingDescriptors(uchar *SubtitlingTypes, uint16_t *CompositionPageIds, uint16_t *AncillaryPageIds);
void SetSeen(void);
+ bool ClearObsoleteChannel(void);
void DelLinkChannel(cChannel *LinkChannel);
};
diff -Nurp vdr-2.4.6.orig/pat.c vdr-2.4.6/pat.c
--- vdr-2.4.6.orig/pat.c 2020-12-18 15:51:57.000000000 +0100
+++ vdr-2.4.6/pat.c 2021-01-02 12:56:25.480243876 +0100
@@ -489,6 +489,9 @@ void cPatFilter::Process(u_short Pid, u_
SwitchToNextPmtPid();
cChannel *Channel = Channels->GetByServiceID(Source(), Transponder(), pmt.getServiceId());
if (Channel) {
+ bool seen = Channel->Seen();
+ if (!seen) // not yet seen in sdt.c
+ Channel->SetSeen();
SI::CaDescriptor *d;
cCaDescriptors *CaDescriptors = new cCaDescriptors(Channel->Source(), Channel->Transponder(), Channel->Sid(), Pid);
// Scan the common loop:
@@ -723,6 +726,8 @@ void cPatFilter::Process(u_short Pid, u_
ChannelsModified |= Channel->SetCaIds(CaDescriptors->CaIds());
ChannelsModified |= Channel->SetSubtitlingDescriptors(SubtitlingTypes, CompositionPageIds, AncillaryPageIds);
}
+ if (!seen && (Setup.UpdateChannels == 1 || Setup.UpdateChannels >= 3))
+ ChannelsModified |= Channel->ClearObsoleteChannel(); // just in case
ChannelsModified |= Channel->SetCaDescriptors(CaDescriptorHandler.AddCaDescriptors(CaDescriptors));
}
StateKey.Remove(ChannelsModified);

View file

@ -1,11 +0,0 @@
--- a/menu.c 2022/11/22 15:53:07 5.8
+++ b/menu.c 2022/12/01 12:55:34
@@ -3250,7 +3250,7 @@
int Id;
char *RemoteBuf = NULL;
cString Remote;
- if (2 == sscanf(TimerId, "%d@%m[^ \n]", &Id, &RemoteBuf)) {
+ if (2 == sscanf(TimerId, "%d@%m[^ \n]", &Id, &RemoteBuf) && Id != 0) {
Remote = RemoteBuf;
free(RemoteBuf);
if (Interface->Confirm(tr("Timer still recording - really delete?"))) {

View file

@ -1,14 +0,0 @@
--- remux.c 2024/09/21 19:18:18 5.13
+++ remux.c 2024/10/08 08:39:54
@@ -2073,8 +2073,10 @@
Report("duplicate backref");
backRefs |= b;
}
- else
+ else {
Report("rev diff too big");
+ lastPts = Pts;
+ }
}
else
Report("zero diff");

44
vdr-2.7.2-timers.patch Normal file
View file

@ -0,0 +1,44 @@
--- timers.c 2024/03/06 14:37:15 5.20
+++ timers.c 2024/10/10 09:23:34
@@ -726,10 +726,39 @@
bool cTimer::Expired(void) const
{
if (IsSingleEvent() && !Recording()) {
+ time_t Now = time(NULL);
time_t ExpireTime = StopTimeEvent();
- if (HasFlags(tfVps))
+ if (HasFlags(tfVps)) {
ExpireTime += EXPIRELATENCY;
- return ExpireTime <= time(NULL);
+ if (ExpireTime <= Now) {
+ LOCK_SCHEDULES_READ;
+ const cSchedule *Schedule = event ? event->Schedule() : NULL;
+ const cEvent *FirstEvent = event;
+ if (Schedule)
+ FirstEvent = Schedule->Events()->Next(FirstEvent);
+ else if ((Schedule = Schedules->GetSchedule(Channel())) != NULL) {
+ FirstEvent = Schedule->Events()->First();
+ if (FirstEvent)
+ dsyslog("timer %s had no event, got %s from channel/schedule", *ToDescr(), *FirstEvent->ToDescr());
+ }
+ if (FirstEvent) {
+ if (Schedule) {
+ for (const cEvent *e = FirstEvent; e; e = Schedule->Events()->Next(e)) {
+ if (e->Vps() == startTime) {
+ ExpireTime = e->EndTime() + EXPIRELATENCY;
+ dsyslog("timer %s is waiting for next VPS event %s", *ToDescr(), *e->ToDescr());
+ break;
+ }
+ }
+ }
+ }
+ else {
+ dsyslog("timer %s has no event, setting expiration to +24h", *ToDescr());
+ ExpireTime += 3600 * 24;
+ }
+ }
+ }
+ return ExpireTime <= Now;
}
return false;
}

View file

@ -24,16 +24,17 @@
%global vdr_user vdr
%global vdr_group video
# From APIVERSION in config.h
%global apiver 6
%global apiver 9
Name: vdr
Version: 2.7.4
Release: 3%{?dist}
Version: 2.7.7
Release: 1%{?dist}
Summary: Video Disk Recorder
License: GPL-2.0-or-later
URL: http://www.tvdr.de/
# Get vdr source from http://git.tvdr.de/?p=vdr.git;a=snapshot;h=refs/tags/2.7.4;sf=tbz2
# Get vdr source from http://git.tvdr.de/?p=vdr.git;a=snapshot;h=refs/tags/2.7.7;sf=tbz2
# wget --content-disposition "http://git.tvdr.de/?p=vdr.git;a=snapshot;h=refs/tags/2.7.7;sf=tbz2"
Source0: %{name}-%{version}.tar.bz2
Source1: %{name}.service
Source2: %{name}.sysconfig
@ -69,8 +70,6 @@ Patch4: %{name}-2.4.0-paths.patch
Patch5: 12_osdbase-maxitems.patch
# https://www.vdr-portal.de/forum/thread/135091-installation-eines-vdr-plugins-nativ-auf-coreelec-boxen/?postID=1379567#post1379567
Patch11: MainMenuHooks-v1_0_4.diff.txt
# Sent upstream 2016-06-17
### Patch15: %%{name}-1.7.37-fedora-pkgconfig.patch
Patch15: %{name}-2.7.4-fedora-pkgconfig.patch
# https://www.vdr-portal.de/index.php?attachment/44831-vdr-2-4-6-clearobsoletechannels-diff
Patch99: %{name}-2.4.6-ClearObsoleteChannels2.diff
@ -449,7 +448,6 @@ if [ "$(pkg-config vdr --variable=apiversion)" != "%{apiver}" ] ; then
fi
%post
%systemd_post %{name}.service
systemctl daemon-reload
@ -554,6 +552,19 @@ systemctl daemon-reload
%changelog
* Fri Jul 25 2025 Martin Gansser <martinkg@fedoraproject.org> - 2.7.7-1
- Update to 2.7.7
* Fri Jul 25 2025 Fedora Release Engineering <releng@fedoraproject.org> - 2.7.6-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild
* Sat Jun 21 2025 Martin Gansser <martinkg@fedoraproject.org> - 2.7.6-1
- Update to 2.7.6
* Tue May 27 2025 Martin Gansser <martinkg@fedoraproject.org> - 2.7.5-1
- Update to 2.7.5
- Add vdr-2.7.5-override-keyword.patch
* Sun May 11 2025 Peter Bieringer <pb@bieringer.de> - 2.7.4-3
- Re-add MainMenuHooks patch for 2.7.x