[packages/dvdbackup] Up to 0.4.2
arekm
arekm at pld-linux.org
Thu May 21 15:24:27 CEST 2026
commit 017dd236a98f352f8318ea813129acb1eeb9f9e2
Author: Arkadiusz Miśkiewicz <arekm at maven.pl>
Date: Thu May 21 15:24:10 2026 +0200
Up to 0.4.2
dvdbackup-dvdread.patch | 11 -----
dvdbackup-libdvdread-6.1.0.patch | 92 ++++++++++++++++++++++++++++++++++++++++
dvdbackup.spec | 34 +++++++++------
3 files changed, 114 insertions(+), 23 deletions(-)
---
diff --git a/dvdbackup.spec b/dvdbackup.spec
index 899b807..df450d1 100644
--- a/dvdbackup.spec
+++ b/dvdbackup.spec
@@ -1,15 +1,18 @@
Summary: Backup DVD structure to disk
Summary(pl.UTF-8): Kopiowanie na dysk struktury DVD
Name: dvdbackup
-Version: 0.1.1
-Release: 5
+Version: 0.4.2
+Release: 1
License: GPL
Group: Applications
-Source0: http://dvd-create.sourceforge.net/%{name}-%{version}.tar.gz
-# Source0-md5: 53a071d1def5ee49d702a4dd080d25ac
-Patch0: %{name}-dvdread.patch
-URL: http://dvd-create.sourceforge.net/
+Source0: https://downloads.sourceforge.net/project/dvdbackup/dvdbackup/%{name}-%{version}/%{name}-%{version}.tar.xz
+# Source0-md5: 28f273b2f27a3afea3a3c965ddbede86
+Patch0: %{name}-libdvdread-6.1.0.patch
+URL: https://dvdbackup.sourceforge.net/
+BuildRequires: gettext-tools >= 0.17
BuildRequires: libdvdread-devel >= 0.9.5-2
+BuildRequires: tar >= 1:1.22
+BuildRequires: xz
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
%description
@@ -23,21 +26,28 @@ Dvdbackup pozwala stworzyć dokładną kopię struktury DVD w taki sposób,
dla programów do edycji wideo pod Windows czy Linuksem.
%prep
-%setup -q -n %{name}
+%setup -q
%patch -P0 -p1
%build
-%{__cc} %{rpmldflags} %{rpmcflags} src/%{name}.c -ldvdread -o dvdbackup
+%configure
+%{__make} \
+ CFLAGS="%{rpmcflags} %{rpmcppflags}" \
+ LDFLAGS="%{rpmldflags}"
%install
rm -rf $RPM_BUILD_ROOT
-install -d $RPM_BUILD_ROOT%{_bindir}
-install -p dvdbackup $RPM_BUILD_ROOT%{_bindir}
+
+%{__make} install \
+ DESTDIR=$RPM_BUILD_ROOT
+
+%find_lang %{name}
%clean
rm -rf $RPM_BUILD_ROOT
-%files
+%files -f %{name}.lang
%defattr(644,root,root,755)
-%doc README
+%doc AUTHORS ChangeLog NEWS README
%attr(755,root,root) %{_bindir}/dvdbackup
+%{_mandir}/man1/dvdbackup.1*
diff --git a/dvdbackup-dvdread.patch b/dvdbackup-dvdread.patch
deleted file mode 100644
index a379324..0000000
--- a/dvdbackup-dvdread.patch
+++ /dev/null
@@ -1,11 +0,0 @@
-diff -ruN dvdbackup-0.1./dvdbackup.c dvdbackup-0.1/dvdbackup.c
---- dvdbackup-0.1./src/dvdbackup.c 2006-02-14 17:00:57.000000000 +0100
-+++ dvdbackup-0.1/src/dvdbackup.c 2006-02-14 17:03:58.388873496 +0100
-@@ -20,6 +20,7 @@
-
-
- #include <stdio.h>
-+#include <stdint.h>
- #include <stdlib.h>
- #include <string.h>
- #include <sys/errno.h>
diff --git a/dvdbackup-libdvdread-6.1.0.patch b/dvdbackup-libdvdread-6.1.0.patch
new file mode 100644
index 0000000..9f91a07
--- /dev/null
+++ b/dvdbackup-libdvdread-6.1.0.patch
@@ -0,0 +1,92 @@
+Fix build with libdvdread 6.1.0+ which made the ifo_handle_t->file member
+private. Use the dvd_file_t API directly.
+
+Origin: https://github.com/macports/macports-ports/commit/dcb83a11bb8ef17668e9de650960ef1b15a6e468
+Bug: https://bugs.launchpad.net/dvdbackup/+bug/1869226
+
+--- dvdbackup-0.4.2/src/dvdbackup.c.orig
++++ dvdbackup-0.4.2/src/dvdbackup.c
+@@ -1132,7 +1132,7 @@
+ int size;
+
+ /* DVD handler */
+- ifo_handle_t* ifo_file = NULL;
++ dvd_file_t* ifo_file = NULL;
+
+
+ if (title_set_info->number_of_title_sets + 1 < title_set) {
+@@ -1181,7 +1181,7 @@
+ if ((streamout_ifo = open(targetname_ifo, O_WRONLY | O_CREAT | O_TRUNC, 0666)) == -1) {
+ fprintf(stderr, _("Error creating %s\n"), targetname_ifo);
+ perror(PACKAGE);
+- ifoClose(ifo_file);
++ DVDCloseFile(ifo_file);
+ free(buffer);
+ close(streamout_ifo);
+ close(streamout_bup);
+@@ -1191,7 +1191,7 @@
+ if ((streamout_bup = open(targetname_bup, O_WRONLY | O_CREAT | O_TRUNC, 0666)) == -1) {
+ fprintf(stderr, _("Error creating %s\n"), targetname_bup);
+ perror(PACKAGE);
+- ifoClose(ifo_file);
++ DVDCloseFile(ifo_file);
+ free(buffer);
+ close(streamout_ifo);
+ close(streamout_bup);
+@@ -1200,31 +1200,31 @@
+
+ /* Copy VIDEO_TS.IFO, since it's a small file try to copy it in one shot */
+
+- if ((ifo_file = ifoOpen(dvd, title_set))== 0) {
++ if ((ifo_file = DVDOpenFile(dvd, title_set, DVD_READ_INFO_FILE))== 0) {
+ fprintf(stderr, _("Failed opening IFO for title set %d\n"), title_set);
+- ifoClose(ifo_file);
++ DVDCloseFile(ifo_file);
+ free(buffer);
+ close(streamout_ifo);
+ close(streamout_bup);
+ return 1;
+ }
+
+- size = DVDFileSize(ifo_file->file) * DVD_VIDEO_LB_LEN;
++ size = DVDFileSize(ifo_file) * DVD_VIDEO_LB_LEN;
+
+ if ((buffer = (unsigned char *)malloc(size * sizeof(unsigned char))) == NULL) {
+ perror(PACKAGE);
+- ifoClose(ifo_file);
++ DVDCloseFile(ifo_file);
+ free(buffer);
+ close(streamout_ifo);
+ close(streamout_bup);
+ return 1;
+ }
+
+- DVDFileSeek(ifo_file->file, 0);
++ DVDFileSeek(ifo_file, 0);
+
+- if (DVDReadBytes(ifo_file->file,buffer,size) != size) {
++ if (DVDReadBytes(ifo_file,buffer,size) != size) {
+ fprintf(stderr, _("Error reading IFO for title set %d\n"), title_set);
+- ifoClose(ifo_file);
++ DVDCloseFile(ifo_file);
+ free(buffer);
+ close(streamout_ifo);
+ close(streamout_bup);
+@@ -1234,7 +1234,7 @@
+
+ if (write(streamout_ifo,buffer,size) != size) {
+ fprintf(stderr, _("Error writing %s\n"),targetname_ifo);
+- ifoClose(ifo_file);
++ DVDCloseFile(ifo_file);
+ free(buffer);
+ close(streamout_ifo);
+ close(streamout_bup);
+@@ -1243,7 +1243,7 @@
+
+ if (write(streamout_bup,buffer,size) != size) {
+ fprintf(stderr, _("Error writing %s\n"),targetname_bup);
+- ifoClose(ifo_file);
++ DVDCloseFile(ifo_file);
+ free(buffer);
+ close(streamout_ifo);
+ close(streamout_bup);
================================================================
---- gitweb:
http://git.pld-linux.org/gitweb.cgi/packages/dvdbackup.git/commitdiff/017dd236a98f352f8318ea813129acb1eeb9f9e2
More information about the pld-cvs-commit
mailing list