[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