diff --git a/debian/changelog b/debian/changelog index b9db171..cf6143d 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,28 @@ +dvdisaster (0.79.5-1) experimental; urgency=medium + + * Team upload. + * New upstream version [0.79.5] + * Refresh and drop patches. The following patches have been dropped: + + 01-libpng15.patch + + 06-remove-encoding-from-desktop-file.patch + + 07-fix-spelling-errors-in-binaries.patch + + 09-fix-format-security-warnings.patch + + 21-fix-privacy-breach-in-doco.patch + * Update license to GPL-3. + * Update clean rule as old files no longer apply. + * Update documentation build and install rules. + * debian/rules: Update mutable file list. + * Fix generated man pages. The generated man pages incorrectly direct + users to the directory of the old HTML documentation, which is no + longer available. + * Fix display of manual.pdf. The PDF file is automatically compressed + by Debhelper, so we need to account for this. + * Resurrect old code to support opening URLs in a browser. + * Ship upstream-generated manual.pdf for the time being, as we can't + generate it ourselves reproducibly. + + -- Carlos Maddela Sat, 07 Jan 2017 00:36:53 +1100 + dvdisaster (0.72.4-3) unstable; urgency=medium [ Carlos Maddela ] diff --git a/debian/clean b/debian/clean deleted file mode 100644 index 62e4edd..0000000 --- a/debian/clean +++ /dev/null @@ -1,2 +0,0 @@ -documentation/*/*/*.png -documentation/*/*.png diff --git a/debian/control b/debian/control index 6d5cdb9..c010706 100644 --- a/debian/control +++ b/debian/control @@ -12,6 +12,9 @@ Build-Depends: debhelper (>= 10), libgtk2.0-dev, libpng-dev, pkg-config +# Build-Depends-Indep: texlive-fonts-recommended, +# texlive-latex-base, +# texlive-latex-extra Standards-Version: 3.9.8 Vcs-Browser: https://anonscm.debian.org/git/pkg-opt-media/dvdisaster.git Vcs-Git: https://anonscm.debian.org/git/pkg-opt-media/dvdisaster.git diff --git a/debian/copyright b/debian/copyright index 3832e0f..fcdd4d0 100644 --- a/debian/copyright +++ b/debian/copyright @@ -4,8 +4,8 @@ Upstream-Name: dvdisaster Source: http://dvdisaster.net/ Files: * -Copyright: 2004–2012, Carsten Gnörlich -License: GPL-2+ +Copyright: 2004–2015, Carsten Gnörlich +License: GPL-3+ Files: debian/* Copyright: 2005–2009, Daniel Baumann @@ -30,3 +30,20 @@ License: GPL-2+ . On Debian systems, the complete text of the GNU General Public License version 2 can be found in "/usr/share/common-licenses/GPL-2". + +License: GPL-3+ + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + . + This package is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + . + You should have received a copy of the GNU General Public License + along with this program. If not, see . + . + On Debian systems, the complete text of the GNU General + Public License version 3 can be found in "/usr/share/common-licenses/GPL-3". diff --git a/debian/dvdisaster-doc.doc-base b/debian/dvdisaster-doc.doc-base index 449d1af..3fb2a29 100644 --- a/debian/dvdisaster-doc.doc-base +++ b/debian/dvdisaster-doc.doc-base @@ -6,6 +6,5 @@ Abstract: This manual describes what dvdisaster is and how it can be used and aging. Section: File Management -Format: HTML -Index: /usr/share/doc/dvdisaster/html/en/index.html -Files: /usr/share/doc/dvdisaster/html/en/*.html +Format: PDF +Files: /usr/share/doc/dvdisaster-doc/manual.pdf.gz diff --git a/debian/dvdisaster-doc.docs b/debian/dvdisaster-doc.docs new file mode 100644 index 0000000..94336d3 --- /dev/null +++ b/debian/dvdisaster-doc.docs @@ -0,0 +1 @@ +documentation/user-manual/manual.pdf diff --git a/debian/dvdisaster-doc.install b/debian/dvdisaster-doc.install deleted file mode 100644 index fa9cd94..0000000 --- a/debian/dvdisaster-doc.install +++ /dev/null @@ -1 +0,0 @@ -usr/share/doc/dvdisaster-doc diff --git a/debian/dvdisaster-doc.links b/debian/dvdisaster-doc.links index 82ee562..233d84f 100644 --- a/debian/dvdisaster-doc.links +++ b/debian/dvdisaster-doc.links @@ -1,84 +1 @@ -usr/share/doc/dvdisaster-doc/html/cs/download40.html usr/share/doc/dvdisaster-doc/html/cs/download40_showall=0.html -usr/share/doc/dvdisaster-doc/html/cs/download.html usr/share/doc/dvdisaster-doc/html/cs/download_showall=0.html -usr/share/doc/dvdisaster-doc/html/cs/howtos12.html usr/share/doc/dvdisaster-doc/html/cs/howtos12_expand=0.html -usr/share/doc/dvdisaster-doc/html/cs/howtos23_way=1.html usr/share/doc/dvdisaster-doc/html/cs/howtos23_way=1&expand=0.html -usr/share/doc/dvdisaster-doc/html/cs/howtos23_way=2.html usr/share/doc/dvdisaster-doc/html/cs/howtos23_way=2&expand=0.html -usr/share/doc/dvdisaster-doc/html/cs/howtos33.html usr/share/doc/dvdisaster-doc/html/cs/howtos33_expand=0.html -usr/share/doc/dvdisaster-doc/html/cs/howtos33_way=0.html usr/share/doc/dvdisaster-doc/html/cs/howtos33_way=0&expand=0.html -usr/share/doc/dvdisaster-doc/html/cs/howtos33_way=1.html usr/share/doc/dvdisaster-doc/html/cs/howtos33_way=1&expand=0.html -usr/share/doc/dvdisaster-doc/html/cs/howtos33_way=1.html usr/share/doc/dvdisaster-doc/html/cs/howtos33_way=1&.html -usr/share/doc/dvdisaster-doc/html/cs/howtos33_way=2.html usr/share/doc/dvdisaster-doc/html/cs/howtos33_way=2&expand=0.html -usr/share/doc/dvdisaster-doc/html/cs/howtos33_way=2.html usr/share/doc/dvdisaster-doc/html/cs/howtos33_way=2&.html -usr/share/doc/dvdisaster-doc/html/cs/howtos33_way=3.html usr/share/doc/dvdisaster-doc/html/cs/howtos33_way=3&expand=0.html -usr/share/doc/dvdisaster-doc/html/cs/howtos33_way=3.html usr/share/doc/dvdisaster-doc/html/cs/howtos33_way=3&.html -usr/share/doc/dvdisaster-doc/html/cs/howtos42.html usr/share/doc/dvdisaster-doc/html/cs/howtos42_expand=0.html -usr/share/doc/dvdisaster-doc/html/cs/howtos51.html usr/share/doc/dvdisaster-doc/html/cs/howtos51_expand=0.html -usr/share/doc/dvdisaster-doc/html/cs/howtos52.html usr/share/doc/dvdisaster-doc/html/cs/howtos52_expand=0.html -usr/share/doc/dvdisaster-doc/html/cs/howtos53.html usr/share/doc/dvdisaster-doc/html/cs/howtos53_expand=0.html -usr/share/doc/dvdisaster-doc/html/cs/howtos91.html usr/share/doc/dvdisaster-doc/html/cs/howtos91_expand=0.html -usr/share/doc/dvdisaster-doc/html/cs/howtos92.html usr/share/doc/dvdisaster-doc/html/cs/howtos92_expand=0.html -usr/share/doc/dvdisaster-doc/html/cs/images/compare-icon.png usr/share/doc/dvdisaster-doc/html/cs/images/verify-icon.png -usr/share/doc/dvdisaster-doc/html/de/download40.html usr/share/doc/dvdisaster-doc/html/de/download40_showall=0.html -usr/share/doc/dvdisaster-doc/html/de/download.html usr/share/doc/dvdisaster-doc/html/de/download_showall=0.html -usr/share/doc/dvdisaster-doc/html/de/howtos12.html usr/share/doc/dvdisaster-doc/html/de/howtos12_expand=0.html -usr/share/doc/dvdisaster-doc/html/de/howtos13.html usr/share/doc/dvdisaster-doc/html/de/howtos13_crc.html -usr/share/doc/dvdisaster-doc/html/de/howtos21.html usr/share/doc/dvdisaster-doc/html/de/howtos31.html -usr/share/doc/dvdisaster-doc/html/de/howtos23_way=1.html usr/share/doc/dvdisaster-doc/html/de/howtos23_way=1&expand=0.html -usr/share/doc/dvdisaster-doc/html/de/howtos23_way=2.html usr/share/doc/dvdisaster-doc/html/de/howtos23_way=2&expand=0.html -usr/share/doc/dvdisaster-doc/html/de/howtos33.html usr/share/doc/dvdisaster-doc/html/de/howtos33_expand=0.html -usr/share/doc/dvdisaster-doc/html/de/howtos33_way=0.html usr/share/doc/dvdisaster-doc/html/de/howtos33_way=0&expand=0.html -usr/share/doc/dvdisaster-doc/html/de/howtos33_way=1.html usr/share/doc/dvdisaster-doc/html/de/howtos33_way=1&expand=0.html -usr/share/doc/dvdisaster-doc/html/de/howtos33_way=1.html usr/share/doc/dvdisaster-doc/html/de/howtos33_way=1&.html -usr/share/doc/dvdisaster-doc/html/de/howtos33_way=2.html usr/share/doc/dvdisaster-doc/html/de/howtos33_way=2&expand=0.html -usr/share/doc/dvdisaster-doc/html/de/howtos33_way=2.html usr/share/doc/dvdisaster-doc/html/de/howtos33_way=2&.html -usr/share/doc/dvdisaster-doc/html/de/howtos33_way=3.html usr/share/doc/dvdisaster-doc/html/de/howtos33_way=3&expand=0.html -usr/share/doc/dvdisaster-doc/html/de/howtos33_way=3.html usr/share/doc/dvdisaster-doc/html/de/howtos33_way=3&.html -usr/share/doc/dvdisaster-doc/html/de/howtos42.html usr/share/doc/dvdisaster-doc/html/de/howtos42_expand=0.html -usr/share/doc/dvdisaster-doc/html/de/howtos51.html usr/share/doc/dvdisaster-doc/html/de/howtos51_expand=0.html -usr/share/doc/dvdisaster-doc/html/de/howtos52.html usr/share/doc/dvdisaster-doc/html/de/howtos52_expand=0.html -usr/share/doc/dvdisaster-doc/html/de/howtos53.html usr/share/doc/dvdisaster-doc/html/de/howtos53_expand=0.html -usr/share/doc/dvdisaster-doc/html/de/howtos91.html usr/share/doc/dvdisaster-doc/html/de/howtos91_expand=0.html -usr/share/doc/dvdisaster-doc/html/de/howtos92.html usr/share/doc/dvdisaster-doc/html/de/howtos92_expand=0.html -usr/share/doc/dvdisaster-doc/html/en/download40.html usr/share/doc/dvdisaster-doc/html/en/download40_showall=0.html -usr/share/doc/dvdisaster-doc/html/en/download.html usr/share/doc/dvdisaster-doc/html/en/download_showall=0.html -usr/share/doc/dvdisaster-doc/html/en/howtos12.html usr/share/doc/dvdisaster-doc/html/en/howtos12_expand=0.html -usr/share/doc/dvdisaster-doc/html/en/howtos21.html usr/share/doc/dvdisaster-doc/html/en/howtos31.html -usr/share/doc/dvdisaster-doc/html/en/howtos23_way=1.html usr/share/doc/dvdisaster-doc/html/en/howtos23_way=1&expand=0.html -usr/share/doc/dvdisaster-doc/html/en/howtos23_way=2.html usr/share/doc/dvdisaster-doc/html/en/howtos23_way=2&expand=0.html -usr/share/doc/dvdisaster-doc/html/en/howtos33.html usr/share/doc/dvdisaster-doc/html/en/howtos33_expand=0.html -usr/share/doc/dvdisaster-doc/html/en/howtos33_way=0.html usr/share/doc/dvdisaster-doc/html/en/howtos33_way=0&expand=0.html -usr/share/doc/dvdisaster-doc/html/en/howtos33_way=1.html usr/share/doc/dvdisaster-doc/html/en/howtos33_way=1&expand=0.html -usr/share/doc/dvdisaster-doc/html/en/howtos33_way=1.html usr/share/doc/dvdisaster-doc/html/en/howtos33_way=1&.html -usr/share/doc/dvdisaster-doc/html/en/howtos33_way=2.html usr/share/doc/dvdisaster-doc/html/en/howtos33_way=2&expand=0.html -usr/share/doc/dvdisaster-doc/html/en/howtos33_way=2.html usr/share/doc/dvdisaster-doc/html/en/howtos33_way=2&.html -usr/share/doc/dvdisaster-doc/html/en/howtos33_way=3.html usr/share/doc/dvdisaster-doc/html/en/howtos33_way=3&expand=0.html -usr/share/doc/dvdisaster-doc/html/en/howtos33_way=3.html usr/share/doc/dvdisaster-doc/html/en/howtos33_way=3&.html -usr/share/doc/dvdisaster-doc/html/en/howtos42.html usr/share/doc/dvdisaster-doc/html/en/howtos42_expand=0.html -usr/share/doc/dvdisaster-doc/html/en/howtos51.html usr/share/doc/dvdisaster-doc/html/en/howtos51_expand=0.html -usr/share/doc/dvdisaster-doc/html/en/howtos52.html usr/share/doc/dvdisaster-doc/html/en/howtos52_expand=0.html -usr/share/doc/dvdisaster-doc/html/en/howtos53.html usr/share/doc/dvdisaster-doc/html/en/howtos53_expand=0.html -usr/share/doc/dvdisaster-doc/html/en/howtos91.html usr/share/doc/dvdisaster-doc/html/en/howtos91_expand=0.html -usr/share/doc/dvdisaster-doc/html/en/howtos92.html usr/share/doc/dvdisaster-doc/html/en/howtos92_expand=0.html -usr/share/doc/dvdisaster-doc/html/en/images/make-ecc2.png usr/share/doc/dvdisaster-doc/html/de/images/make-ecc2.png -usr/share/doc/dvdisaster-doc/html/en/thumbnails/make-ecc2.png usr/share/doc/dvdisaster-doc/html/de/thumbnails/make-ecc2.png -usr/share/doc/dvdisaster-doc/html/ru/download40.html usr/share/doc/dvdisaster-doc/html/ru/download40_showall=0.html -usr/share/doc/dvdisaster-doc/html/ru/download.html usr/share/doc/dvdisaster-doc/html/ru/download_showall=0.html -usr/share/doc/dvdisaster-doc/html/ru/howtos12.html usr/share/doc/dvdisaster-doc/html/ru/howtos12_expand=0.html -usr/share/doc/dvdisaster-doc/html/ru/howtos23_way=1.html usr/share/doc/dvdisaster-doc/html/ru/howtos23_way=1&expand=0.html -usr/share/doc/dvdisaster-doc/html/ru/howtos23_way=2.html usr/share/doc/dvdisaster-doc/html/ru/howtos23_way=2&expand=0.html -usr/share/doc/dvdisaster-doc/html/ru/howtos33.html usr/share/doc/dvdisaster-doc/html/ru/howtos33_expand=0.html -usr/share/doc/dvdisaster-doc/html/ru/howtos33_way=0.html usr/share/doc/dvdisaster-doc/html/ru/howtos33_way=0&expand=0.html -usr/share/doc/dvdisaster-doc/html/ru/howtos33_way=1.html usr/share/doc/dvdisaster-doc/html/ru/howtos33_way=1&expand=0.html -usr/share/doc/dvdisaster-doc/html/ru/howtos33_way=1.html usr/share/doc/dvdisaster-doc/html/ru/howtos33_way=1&.html -usr/share/doc/dvdisaster-doc/html/ru/howtos33_way=2.html usr/share/doc/dvdisaster-doc/html/ru/howtos33_way=2&expand=0.html -usr/share/doc/dvdisaster-doc/html/ru/howtos33_way=2.html usr/share/doc/dvdisaster-doc/html/ru/howtos33_way=2&.html -usr/share/doc/dvdisaster-doc/html/ru/howtos33_way=3.html usr/share/doc/dvdisaster-doc/html/ru/howtos33_way=3&expand=0.html -usr/share/doc/dvdisaster-doc/html/ru/howtos33_way=3.html usr/share/doc/dvdisaster-doc/html/ru/howtos33_way=3&.html -usr/share/doc/dvdisaster-doc/html/ru/howtos42.html usr/share/doc/dvdisaster-doc/html/ru/howtos42_expand=0.html -usr/share/doc/dvdisaster-doc/html/ru/howtos51.html usr/share/doc/dvdisaster-doc/html/ru/howtos51_expand=0.html -usr/share/doc/dvdisaster-doc/html/ru/howtos52.html usr/share/doc/dvdisaster-doc/html/ru/howtos52_expand=0.html -usr/share/doc/dvdisaster-doc/html/ru/howtos53.html usr/share/doc/dvdisaster-doc/html/ru/howtos53_expand=0.html -usr/share/doc/dvdisaster-doc/html/ru/howtos91.html usr/share/doc/dvdisaster-doc/html/ru/howtos91_expand=0.html -usr/share/doc/dvdisaster-doc/html/ru/howtos92.html usr/share/doc/dvdisaster-doc/html/ru/howtos92_expand=0.html -usr/share/doc/dvdisaster-doc/html/ru/images/compare-icon.png usr/share/doc/dvdisaster-doc/html/ru/images/verify-icon.png -usr/share/doc/dvdisaster-doc/html usr/share/doc/dvdisaster/html +usr/share/doc/dvdisaster-doc/manual.pdf.gz usr/share/doc/dvdisaster/manual.pdf.gz diff --git a/debian/patches/01-libpng15.patch b/debian/patches/01-libpng15.patch deleted file mode 100644 index c00f39f..0000000 --- a/debian/patches/01-libpng15.patch +++ /dev/null @@ -1,29 +0,0 @@ -From: Nobuhiro Iwamatsu -Date: Sun, 8 Apr 2012 21:51:13 +0900 -Subject: Build with libpng15. - -Description: Build with libpng15. -Author: Nobuhiro Iwamatsu -Origin: vendor -Last-Update: 2012-04-08 ---- -This patch header follows DEP-3: http://dep.debian.net/deps/dep3/ ---- - tools/pngio.h | 4 ++++ - 1 file changed, 4 insertions(+) - -diff --git a/tools/pngio.h b/tools/pngio.h -index d9f884e..5d3a575 100644 ---- a/tools/pngio.h -+++ b/tools/pngio.h -@@ -22,6 +22,10 @@ - - #include - #include -+#if PNG_LIBPNG_VER_MAJOR == 1 && PNG_LIBPNG_VER_MINOR >= 4 -+ #include -+#endif -+ - - typedef struct - { char *name; diff --git a/debian/patches/02-encryption.patch b/debian/patches/02-encryption.patch index e7033a7..f5473f8 100644 --- a/debian/patches/02-encryption.patch +++ b/debian/patches/02-encryption.patch @@ -12,18 +12,19 @@ This patch header follows DEP-3: http://dep.debian.net/deps/dep3/ 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/scsi-layer.c b/scsi-layer.c -index 99b2ce9..13784dd 100644 +index d68533b..6717b12 100644 --- a/scsi-layer.c +++ b/scsi-layer.c -@@ -2693,11 +2693,12 @@ DeviceHandle* OpenAndQueryDevice(char *device) +@@ -2711,12 +2711,13 @@ Image* OpenImageFromDevice(char *device) return NULL; } } - +/* if(dh->mainType == DVD && query_copyright(dh)) - { CloseDevice(dh); + { CloseImage(image); Stop(_("This software does not support encrypted media.\n")); + return NULL; } +*/ diff --git a/debian/patches/03-dvdrom.patch b/debian/patches/03-dvdrom.patch index 8b65497..eda6421 100644 --- a/debian/patches/03-dvdrom.patch +++ b/debian/patches/03-dvdrom.patch @@ -12,10 +12,10 @@ This patch header follows DEP-3: http://dep.debian.net/deps/dep3/ 1 file changed, 5 insertions(+) diff --git a/scsi-layer.c b/scsi-layer.c -index 13784dd..cd7795a 100644 +index 6717b12..64a3dba 100644 --- a/scsi-layer.c +++ b/scsi-layer.c -@@ -913,6 +913,11 @@ static int query_dvd(DeviceHandle *dh, int probe_only) +@@ -908,6 +908,11 @@ static int query_dvd(DeviceHandle *dh, int probe_only) break; } diff --git a/debian/patches/05-help-dialog.patch b/debian/patches/05-help-dialog.patch index 440a3a5..b0aacd4 100644 --- a/debian/patches/05-help-dialog.patch +++ b/debian/patches/05-help-dialog.patch @@ -16,10 +16,10 @@ This patch header follows DEP-3: http://dep.debian.net/deps/dep3/ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/help-dialogs.c b/help-dialogs.c -index 793be52..ed86afe 100644 +index 4d6f9bb..eae04f2 100644 --- a/help-dialogs.c +++ b/help-dialogs.c -@@ -402,7 +402,7 @@ void ShowGPL() +@@ -403,7 +403,7 @@ void ShowGPL() ShowTextfile(_("windowtitle|GNU General Public License"), _("GNU General Public License\n" "The license terms of dvdisaster."), @@ -28,7 +28,7 @@ index 793be52..ed86afe 100644 } /* -@@ -566,7 +566,7 @@ static void show_modifying(void) +@@ -567,7 +567,7 @@ static void show_modifying(void) { ShowTextfile(_("windowtitle|Modifying dvdisaster"), _("Modifying dvdisaster\n" "Your changes are not ours."), @@ -37,7 +37,7 @@ index 793be52..ed86afe 100644 } static gint about_cb(GtkWidget *widget, GdkEvent *event, gpointer data) -@@ -745,11 +745,11 @@ void AboutDialog() +@@ -746,11 +746,11 @@ void AboutDialog() "GPL"); #ifdef MODIFIED_SOURCE diff --git a/debian/patches/06-remove-encoding-from-desktop-file.patch b/debian/patches/06-remove-encoding-from-desktop-file.patch deleted file mode 100644 index a8eda3f..0000000 --- a/debian/patches/06-remove-encoding-from-desktop-file.patch +++ /dev/null @@ -1,24 +0,0 @@ -From: =?utf-8?q?Rog=C3=A9rio_Theodoro_de_Brito?= -Date: Sun, 18 Dec 2016 22:01:27 +1100 -Subject: Remove unneeded Encoding-key from desktop file -MIME-Version: 1.0 -Content-Type: text/plain; charset="utf-8" -Content-Transfer-Encoding: 8bit - -Description: Remove unneeded Encoding-key from desktop file -Author: Rogério Theodoro de Brito ---- -This patch header follows DEP-3: http://dep.debian.net/deps/dep3/ ---- - contrib/dvdisaster.desktop | 1 - - 1 file changed, 1 deletion(-) - -diff --git a/contrib/dvdisaster.desktop b/contrib/dvdisaster.desktop -index 63f2e4f..c7661ec 100644 ---- a/contrib/dvdisaster.desktop -+++ b/contrib/dvdisaster.desktop -@@ -10,4 +10,3 @@ Icon=dvdisaster48.png - Terminal=false - Type=Application - Categories=Application;System; --Encoding=UTF-8 diff --git a/debian/patches/07-fix-spelling-errors-in-binaries.patch b/debian/patches/07-fix-spelling-errors-in-binaries.patch deleted file mode 100644 index 15076ac..0000000 --- a/debian/patches/07-fix-spelling-errors-in-binaries.patch +++ /dev/null @@ -1,52 +0,0 @@ -From: =?utf-8?q?Rog=C3=A9rio_Theodoro_de_Brito?= -Date: Sun, 8 Apr 2012 21:55:13 +0900 -Subject: Fix spelling errors in binaries -MIME-Version: 1.0 -Content-Type: text/plain; charset="utf-8" -Content-Transfer-Encoding: 8bit - -Description: Fix spelling errors in binaries -Author: Rogério Theodoro de Brito -Last-Update: 2012-04-08 ---- -This patch header follows DEP-3: http://dep.debian.net/deps/dep3/ ---- - preferences.c | 4 ++-- - rs01-fix.c | 2 +- - 2 files changed, 3 insertions(+), 3 deletions(-) - -diff --git a/preferences.c b/preferences.c -index 84abf2b..2f3355c 100644 ---- a/preferences.c -+++ b/preferences.c -@@ -1627,7 +1627,7 @@ void CreatePreferencesWindow(void) - "The values include the borders: 0-100 will read 101 sectors.\n\n" - - "Note: Limiting the reading range is not recommended for adaptive reading since it might " -- "prevent sectors from being read which are required for a succesful error correction.\n\n" -+ "prevent sectors from being read which are required for a successful error correction.\n\n" - "These settings are only effective for the current session and will not be saved.")); - - /** Image properties */ -@@ -1911,7 +1911,7 @@ if(Closure->debugMode) /* hidden until version 0.80 */ - "0x20 This is the recommended mode. " - "The drive tries to apply " - "the built-in error correction to the best possible extent " -- "before transfering a defective sector.\n\n" -+ "before transferring a defective sector.\n\n" - "0x21 In this mode the drive skips the last stage " - "of its internal error correction and returns the " - "uncorrected sector instead. This may result in sectors " -diff --git a/rs01-fix.c b/rs01-fix.c -index a867939..fe7707b 100644 ---- a/rs01-fix.c -+++ b/rs01-fix.c -@@ -246,7 +246,7 @@ void RS01Fix(Method *method) - if(Closure->guiMode) - { int answer = ModalDialog(GTK_MESSAGE_QUESTION, GTK_BUTTONS_OK_CANCEL, NULL, - _("The image file is %d bytes longer than noted\n" -- "in the ecc file. Shall the superflous bytes\n" -+ "in the ecc file. Shall the superfluous bytes\n" - "be removed from the image file?\n"), - difference); - diff --git a/debian/patches/08-fix-gnu-make-detection.patch b/debian/patches/08-fix-gnu-make-detection.patch index 60f4ab2..2293129 100644 --- a/debian/patches/08-fix-gnu-make-detection.patch +++ b/debian/patches/08-fix-gnu-make-detection.patch @@ -21,10 +21,10 @@ This patch header follows DEP-3: http://dep.debian.net/deps/dep3/ 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/bash-based-configure b/scripts/bash-based-configure -index f9d80c8..ffb5919 100644 +index f68ecab..d62f5d7 100644 --- a/scripts/bash-based-configure +++ b/scripts/bash-based-configure -@@ -309,13 +309,13 @@ function REQUIRE_GMAKE() +@@ -313,13 +313,13 @@ function REQUIRE_GMAKE() echo -n "Checking for gmake: " diff --git a/debian/patches/09-fix-format-security-warnings.patch b/debian/patches/09-fix-format-security-warnings.patch deleted file mode 100644 index 93e4b87..0000000 --- a/debian/patches/09-fix-format-security-warnings.patch +++ /dev/null @@ -1,29 +0,0 @@ -From: Carlos Maddela -Date: Mon, 19 Dec 2016 00:58:24 +1100 -Subject: Fix format security warnings. - -Description: Fix format security warnings. - They are treated as errors in Standards Version 3.9.8. -Author: Carlos Maddela -Origin: vendor -Forwarded: no -Last-Update: 2016-12-19 ---- -This patch header follows DEP-3: http://dep.debian.net/deps/dep3/ ---- - tools/memory.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/tools/memory.c b/tools/memory.c -index f2c0c48..edf32ec 100644 ---- a/tools/memory.c -+++ b/tools/memory.c -@@ -165,7 +165,7 @@ static void print_ptr(memchunk *mc, int size) - static void print_ptrs(char *msg) - { int bucket,i,n=0; - -- fprintf(stdout, msg); -+ fprintf(stdout, "%s", msg); - - for(bucket=0; bucket<64; bucket++) - for(i=0; i Origin: vendor Forwarded: not-needed -Last-Update: 2016-12-19 +Last-Update: 2017-01-05 --- This patch header follows DEP-3: http://dep.debian.net/deps/dep3/ --- - GNUmakefile.template | 20 +------------------- - 1 file changed, 1 insertion(+), 19 deletions(-) + GNUmakefile.template | 26 -------------------------- + 1 file changed, 26 deletions(-) diff --git a/GNUmakefile.template b/GNUmakefile.template -index fe4c504..10e4524 100644 +index a3074c7..6fda92b 100644 --- a/GNUmakefile.template +++ b/GNUmakefile.template -@@ -315,11 +315,6 @@ install: dvdisaster images +@@ -228,12 +228,6 @@ install: dvdisaster manual install -d $(BUILDROOT)$(BINDIR) - install dvdisaster$(EXE_SUFFIX) $(BUILDROOT)$(BINDIR) + install dvdisaster $(BUILDROOT)$(BINDIR) install -d $(BUILDROOT)$(DOCSUBDIR) - install -m 644 CHANGELOG $(BUILDROOT)$(DOCSUBDIR) - install -m 644 COPYING $(BUILDROOT)$(DOCSUBDIR) - install -m 644 CREDITS* $(BUILDROOT)$(DOCSUBDIR) - install -m 644 README.MODIFYING $(BUILDROOT)$(DOCSUBDIR) - install -m 644 TODO $(BUILDROOT)$(DOCSUBDIR) - for i in $(DOC_LOCALES); do \ - install -d $(BUILDROOT)$(DOCSUBDIR)/$$i; \ - (cd documentation; install -m 644 $$i/*.html $(BUILDROOT)$(DOCSUBDIR)/$$i); \ -@@ -355,20 +350,7 @@ install: dvdisaster images +- install -d $(BUILDROOT)$(DOCSUBDIR) + (cd documentation/user-manual; install -m 644 manual.pdf $(BUILDROOT)$(DOCSUBDIR)) + install -d $(BUILDROOT)$(MANDIR)/man1 + install -d $(BUILDROOT)$(MANDIR)/de/man1 +@@ -251,26 +245,6 @@ install: dvdisaster manual install -m 644 $$i/LC_MESSAGES/dvdisaster.mo $(BUILDROOT)$(LOCALEDIR)/$$i/LC_MESSAGES; \ done \ fi - @echo "# dvdisaster uninstaller script" > $(BUILDROOT)$(BINDIR)/dvdisaster-uninstall.sh - @echo "# Usage: sh dvdisaster-uninstall.sh" >> $(BUILDROOT)$(BINDIR)/dvdisaster-uninstall.sh - @echo >> $(BUILDROOT)$(BINDIR)/dvdisaster-uninstall.sh -- @echo "rm -f $(BINDIR)/dvdisaster $(BINDIR)/dvdisaster.exe $(BINDIR)/dvdisaster-win.exe $(BINDIR)/dvdisaster-uninstall.sh" >> $(BUILDROOT)$(BINDIR)/dvdisaster-uninstall.sh -- @echo "rm -rf $(DOCSUBDIR)" >> $(BUILDROOT)$(BINDIR)/dvdisaster-uninstall.sh -- @echo "rm -f $(MANDIR)/man1/dvdisaster.1" >> $(BUILDROOT)$(BINDIR)/dvdisaster-uninstall.sh +- @echo "rm -f \"$(BINDIR)/dvdisaster\" \"$(BINDIR)/dvdisaster-uninstall.sh\"" >> $(BUILDROOT)$(BINDIR)/dvdisaster-uninstall.sh +- @echo "rm -f \"$(DOCSUBDIR)/CHANGELOG\"" >> $(BUILDROOT)$(BINDIR)/dvdisaster-uninstall.sh +- @echo "rm -f \"$(DOCSUBDIR)/COPYING\"" >> $(BUILDROOT)$(BINDIR)/dvdisaster-uninstall.sh +- @echo "rm -f \"$(DOCSUBDIR)/CREDITS.de\"" >> $(BUILDROOT)$(BINDIR)/dvdisaster-uninstall.sh +- @echo "rm -f \"$(DOCSUBDIR)/CREDITS.en\"" >> $(BUILDROOT)$(BINDIR)/dvdisaster-uninstall.sh +- @echo "rm -f \"$(DOCSUBDIR)/manual.pdf\"" >> $(BUILDROOT)$(BINDIR)/dvdisaster-uninstall.sh +- @echo "rm -f \"$(DOCSUBDIR)/README.MODIFYING\"" >> $(BUILDROOT)$(BINDIR)/dvdisaster-uninstall.sh +- @echo "rm -f \"$(DOCSUBDIR)/TODO\"" >> $(BUILDROOT)$(BINDIR)/dvdisaster-uninstall.sh +- @echo "rmdir \"$(DOCSUBDIR)\"" >> $(BUILDROOT)$(BINDIR)/dvdisaster-uninstall.sh - @for i in $(PO_LOCALES); do \ -- echo "rm $(LOCALEDIR)/$$i/LC_MESSAGES/dvdisaster.mo" >> $(BUILDROOT)$(BINDIR)/dvdisaster-uninstall.sh ; \ +- echo "rm -f \"$(LOCALEDIR)/$$i/LC_MESSAGES/dvdisaster.mo\"" >> $(BUILDROOT)$(BINDIR)/dvdisaster-uninstall.sh ; \ - done +- @echo "rm -f \"$(MANDIR)/man1/dvdisaster.1\"" >> $(BUILDROOT)$(BINDIR)/dvdisaster-uninstall.sh - @for i in $(MAN_LOCALES); do \ -- echo "rm $(MANDIR)/$$i/man1/dvdisaster.1" >> $(BUILDROOT)$(BINDIR)/dvdisaster-uninstall.sh ; \ +- echo "rm -f \"$(MANDIR)/$$i/man1/dvdisaster.1\"" >> $(BUILDROOT)$(BINDIR)/dvdisaster-uninstall.sh ; \ - done - @echo "echo \"dvdisaster has been uninstalled.\"" >> $(BUILDROOT)$(BINDIR)/dvdisaster-uninstall.sh -- -+ + uninstall: @echo "Uninstalling package..." - rm -f $(BINDIR)/dvdisaster $(BINDIR)/dvdisaster.exe $(BINDIR)/dvdisaster-win.exe $(BINDIR)/dvdisaster-uninstall.sh diff --git a/debian/patches/12-fix-spelling-of-up-to.patch b/debian/patches/12-fix-spelling-of-up-to.patch index 06a489e..7f55cc4 100644 --- a/debian/patches/12-fix-spelling-of-up-to.patch +++ b/debian/patches/12-fix-spelling-of-up-to.patch @@ -6,32 +6,31 @@ Description: Fix spelling: upto -> up to Author: Carlos Maddela Origin: vendor Forwarded: no -Last-Update: 2016-12-19 +Last-Update: 2017-01-05 --- This patch header follows DEP-3: http://dep.debian.net/deps/dep3/ --- - debug.c | 2 +- - documentation/dvdisaster.en.1 | 4 ++-- - documentation/en/qa10.html | 4 ++-- - documentation/en/qa10.php | 4 ++-- - documentation/en/qa20.html | 2 +- - documentation/en/qa20.php | 2 +- - dvdisaster.c | 2 +- - dvdisaster.h | 2 +- - locale/cs.po | 10 +++++----- - locale/de.po | 10 +++++----- - locale/it.po | 10 +++++----- - locale/pt_BR.po | 10 +++++----- - locale/ru.po | 12 ++++++------ - locale/sv.po | 8 ++++---- - preferences.c | 6 +++--- - 15 files changed, 44 insertions(+), 44 deletions(-) + debug.c | 2 +- + documentation/codec-specs/rs01.tex | 2 +- + documentation/codec-specs/rs02.tex | 2 +- + documentation/dvdisaster.en.1 | 4 ++-- + documentation/user-manual/qa.tex | 2 +- + dvdisaster.c | 2 +- + dvdisaster.h | 4 ++-- + locale/cs.po | 6 +++--- + locale/de.po | 6 +++--- + locale/it.po | 8 ++++---- + locale/pt_BR.po | 10 +++++----- + locale/ru.po | 12 ++++++------ + locale/sv.po | 6 +++--- + preferences.c | 4 ++-- + 14 files changed, 35 insertions(+), 35 deletions(-) diff --git a/debug.c b/debug.c -index 09b4ae0..2045ac6 100644 +index df70416..b4ffc21 100644 --- a/debug.c +++ b/debug.c -@@ -967,7 +967,7 @@ void RawSector(char *arg) +@@ -1023,7 +1023,7 @@ void RawSector(char *arg) * * ./dvdisaster --debug --send-cdb 12,00,00,00,24,00:24 * @@ -40,11 +39,37 @@ index 09b4ae0..2045ac6 100644 * The :24 arg is the allocation length. * Note that the allocation length must match those specified in the cdb; * differing values may crash the system. +diff --git a/documentation/codec-specs/rs01.tex b/documentation/codec-specs/rs01.tex +index ebb1ee5..a8c0d90 100644 +--- a/documentation/codec-specs/rs01.tex ++++ b/documentation/codec-specs/rs01.tex +@@ -172,7 +172,7 @@ The $d_{i,j}$ denote the $i-th$ byte in the $j-th$ layer. + In order to create the first ecc block, bytes $d_{1,1}$ to $d_{1,n}$ are taken from the + $n$ layers. Then the RS(255,k) code is calculated (see appendix \ref{rs} for its parameters) + and the +-resulting $k$ parity bytes $e_{1,1}$ upto $e_{k,1}$ are stored ++resulting $k$ parity bytes $e_{1,1}$ up to $e_{k,1}$ are stored + in the ecc file. The resulting ecc block is marked grey in the + figure. The next ecc blocks are calculated and stored accordingly. + In total, the ecc section contains $k*ls$ bytes of parity information, +diff --git a/documentation/codec-specs/rs02.tex b/documentation/codec-specs/rs02.tex +index 3cf5fb1..c026772 100644 +--- a/documentation/codec-specs/rs02.tex ++++ b/documentation/codec-specs/rs02.tex +@@ -133,7 +133,7 @@ Its format is described in appendix \ref{eh}. For RS02, only the data fields + marked with ``all'' or ``RS02'' are relevant; all other fields should be set to zero. + + Data layer $n$ does also contain the CRC32 checksums of each data sector +-upto the ecc header. If the .iso image contains $s$ sectors, ++up to the ecc header. If the .iso image contains $s$ sectors, + then the CRC field contains $4s$ bytes, rounded up + to the nearest multiple of 2048. + CRC32 checksums are calculated over a whole CD sector comprising 2048 bytes. diff --git a/documentation/dvdisaster.en.1 b/documentation/dvdisaster.en.1 -index 331090a..2623fd2 100644 +index 028c6e0..95faa5a 100644 --- a/documentation/dvdisaster.en.1 +++ b/documentation/dvdisaster.en.1 -@@ -254,7 +254,7 @@ Selects between the sg (SG_IO) driver (default setting) and the +@@ -274,7 +274,7 @@ Selects between the sg (SG_IO) driver (default setting) and the older cdrom (CDROM_SEND_PACKET) driver for accessing the optical drives. Both drivers should work equally well; however the cdrom driver is known to cause system failures on some ancient SCSI controllers. @@ -53,7 +78,7 @@ index 331090a..2623fd2 100644 if the now pre-selected sg driver changes something to the worse for you please switch back to the older driver using \-\-driver=cdrom. .TP -@@ -321,7 +321,7 @@ the uncorrected sector instead. +@@ -376,7 +376,7 @@ the uncorrected sector instead. .RE .TP .B \-\-read-attempts n-m @@ -62,84 +87,45 @@ index 331090a..2623fd2 100644 .TP .B \-\-read-medium n read the whole medium up to n times. -diff --git a/documentation/en/qa10.html b/documentation/en/qa10.html -index 271c8f5..6b7516b 100644 ---- a/documentation/en/qa10.html -+++ b/documentation/en/qa10.html -@@ -91,10 +91,10 @@ The current version of dvdisaster contains screen texts in the following languag -    Czech--complete - English--complete -    German--complete --   Italian--upto version 0.65 -+   Italian--up to version 0.65 - Portuguese--complete -    Russian--complete --   Swedish--upto version 0.70 -+   Swedish--up to version 0.70 -

+diff --git a/documentation/user-manual/qa.tex b/documentation/user-manual/qa.tex +index 5d4b35a..91befa1 100644 +--- a/documentation/user-manual/qa.tex ++++ b/documentation/user-manual/qa.tex +@@ -457,6 +457,6 @@ drive for reading images in these cases.} - Translators for other languages are welcome!

-diff --git a/documentation/en/qa10.php b/documentation/en/qa10.php -index e4b48bb..9d1801b 100644 ---- a/documentation/en/qa10.php -+++ b/documentation/en/qa10.php -@@ -30,10 +30,10 @@ The current version of dvdisaster contains screen texts in the following languag -    Czech--complete - English--complete -    German--complete --   Italian--upto version 0.65 -+   Italian--up to version 0.65 - Portuguese--complete -    Russian--complete --   Swedish--upto version 0.70 -+   Swedish--up to version 0.70 -

- - Translators for other languages are welcome!

-diff --git a/documentation/en/qa20.html b/documentation/en/qa20.html -index 6660c41..fbe40a3 100644 ---- a/documentation/en/qa20.html -+++ b/documentation/en/qa20.html -@@ -218,7 +218,7 @@ dvdisaster. - - The CVS versions - of dvdisaster mark their ecc files with a special bit. This causes dvdisaster --versions upto 0.65 to falsely display the above error message. Please use the -+versions up to 0.65 to falsely display the above error message. Please use the - CVS versions only together with dvdisaster 0.66 or newer versions. - -

-diff --git a/documentation/en/qa20.php b/documentation/en/qa20.php -index fc268f9..23e9b71 100644 ---- a/documentation/en/qa20.php -+++ b/documentation/en/qa20.php -@@ -157,7 +157,7 @@ dvdisaster. - - The CVS versions - of dvdisaster mark their ecc files with a special bit. This causes dvdisaster --versions upto 0.65 to falsely display the above error message. Please use the -+versions up to 0.65 to falsely display the above error message. Please use the - CVS versions only together with dvdisaster 0.66 or newer versions. - - + \qa{``Ecc file has been created with version 0.40.7.''} + {Some developer versions of dvdisaster mark their ecc files with a special bit. +- This causes dvdisaster versions upto 0.65 to falsely display the above error ++ This causes dvdisaster versions up to 0.65 to falsely display the above error + message. Please use the developer versions only together with dvdisaster + 0.66 or newer versions. } diff --git a/dvdisaster.c b/dvdisaster.c -index afb8a04..60754cd 100644 +index a24e599..d549676 100644 --- a/dvdisaster.c +++ b/dvdisaster.c -@@ -887,7 +887,7 @@ int main(int argc, char *argv[]) - " --internal-rereads n - drive may attempt n rereads before reporting an error\n" - " --query-size n - query drive/udf/ecc for image size (default: ecc)\n" - " --raw-mode n - mode for raw reading CD media (20 or 21)\n" -- " --read-attempts n-m - attempts n upto m reads of a defective sector\n" -+ " --read-attempts n-m - attempts n up to m reads of a defective sector\n" - " --read-medium n - read the whole medium up to n times\n" - " --read-raw - performs read in raw mode if possible\n" - " --speed-warning n - print warning if speed changes by more than n percent\n" +@@ -917,7 +917,7 @@ int main(int argc, char *argv[]) + PrintCLI(_(" --old-ds-marker - mark missing sectors compatible with dvdisaster <= 0.70\n")); + PrintCLI(_(" --prefetch-sectors n - prefetch n sectors for RS03 encoding (uses ~nMiB)\n")); + PrintCLI(_(" --raw-mode n - mode for raw reading CD media (20 or 21)\n")); +- PrintCLI(_(" --read-attempts n-m - attempts n upto m reads of a defective sector\n")); ++ PrintCLI(_(" --read-attempts n-m - attempts n up to m reads of a defective sector\n")); + PrintCLI(_(" --read-medium n - read the whole medium up to n times\n")); + PrintCLI(_(" --read-raw - performs read in raw mode if possible\n")); + PrintCLI(_(" --resource-file p - get resource file from given path\n")); diff --git a/dvdisaster.h b/dvdisaster.h -index 60dbcd0..87129cc 100644 +index 2507ab9..db2031e 100644 --- a/dvdisaster.h +++ b/dvdisaster.h -@@ -368,7 +368,7 @@ typedef struct _EccInfo +@@ -101,7 +101,7 @@ + + #define MAX_CODEC_THREADS 1024 /* not including IO and GUI */ + #define MAX_OLD_CACHE_SIZE 8096 /* old cache for RS01/RS02 */ +-#define MAX_PREFETCH_CACHE_SIZE (512*1024) /* upto 0.5TB RS03 */ ++#define MAX_PREFETCH_CACHE_SIZE (512*1024) /* up to 0.5TB RS03 */ + + /* Choices for I/O strategy */ + +@@ -364,7 +364,7 @@ typedef struct _LargeFile #define FINGERPRINT_SECTOR 16 /* Sector currently used to calculate the fingerprint. */ /* This is the ISO filesystem root sector which contains */ /* the volume label and creation time stamps. */ @@ -149,28 +135,28 @@ index 60dbcd0..87129cc 100644 #define MFLAG_DEVEL (1<<0) /* for methodFlags[3] */ diff --git a/locale/cs.po b/locale/cs.po -index 7bea73a..c26007b 100644 +index bdec530..ed1fc65 100644 --- a/locale/cs.po +++ b/locale/cs.po -@@ -479,7 +479,7 @@ msgid "" - " --internal-rereads n - drive may attempt n rereads before reporting an error\n" - " --query-size n - query drive/udf/ecc for image size (default: ecc)\n" - " --raw-mode n - mode for raw reading CD media (20 or 21)\n" --" --read-attempts n-m - attempts n upto m reads of a defective sector\n" -+" --read-attempts n-m - attempts n up to m reads of a defective sector\n" - " --read-medium n - read the whole medium up to n times\n" - " --read-raw - performs read in raw mode if possible\n" - " --speed-warning n - print warning if speed changes by more than n percent\n" -@@ -1603,7 +1603,7 @@ msgstr "" +@@ -658,7 +658,7 @@ msgid " --raw-mode n - mode for raw reading CD media (20 or 21)\n" + msgstr " --raw-mode n - režim přímého čtení pro CD disky (20 nebo 21)\n" + + #: dvdisaster.c:920 +-msgid " --read-attempts n-m - attempts n upto m reads of a defective sector\n" ++msgid " --read-attempts n-m - attempts n up to m reads of a defective sector\n" + msgstr " --read-attempts n-m - zkusit n až m opakovaných čtení poškozeného sektoru\n" + + #: dvdisaster.c:921 +@@ -2000,7 +2000,7 @@ msgstr "Přečtení sektoru nezkoušet více než %d krát" msgid "" "Maximum number of reading attempts\n" "\n" -"When the minimum number of reading attempts is reached without success, dvdisaster might choose to perform additional reading attempts upto this number.\n" +"When the minimum number of reading attempts is reached without success, dvdisaster might choose to perform additional reading attempts up to this number.\n" "\n" - "The decision to do more attempts depends on the quality of data gathered so far, which in turn is influenced by the capabilities of your CD/DVD drive and the operating system. So depending on your configuration, you may or may not see dvdisaster using the maximum value." + "The decision to do more attempts depends on the quality of data gathered so far, which in turn is influenced by the capabilities of your optical drive and the operating system. So depending on your configuration, you may or may not see dvdisaster using the maximum value." msgstr "" -@@ -1662,7 +1662,7 @@ msgstr "" +@@ -2072,7 +2072,7 @@ msgstr " krát" msgid "" "Media read attempts for the linear reading strategy\n" "\n" @@ -179,47 +165,29 @@ index 7bea73a..c26007b 100644 "\n" "Only the missing sectors will be tried in the additional reading passes." msgstr "" -@@ -1768,7 +1768,7 @@ msgstr "" - msgid "" - "File splitting\n" - "\n" --"Allows working with file systems which are limited to 2GB per file, e.g. FAT from Windows. Created files are spread over upto 100 segments called \"medium00.iso\", \"medium01.iso\" etc. at the cost of a small performance hit." -+"Allows working with file systems which are limited to 2GB per file, e.g. FAT from Windows. Created files are spread over up to 100 segments called \"medium00.iso\", \"medium01.iso\" etc. at the cost of a small performance hit." - msgstr "" - - #: preferences.c:2573 -@@ -5037,7 +5037,7 @@ msgstr "" - #~ msgstr "Pokud můžete ověřit, že tato velikost obrazu je správná,\n" - - #~ msgid "" --#~ "please send in the whole dvdisaster output upto this line\n" -+#~ "please send in the whole dvdisaster output up to this line\n" - #~ "to have your drive included in the internal data base.\n" - #~ msgstr "" - #~ "pošlete prosím celý výpis programu dvdisaster až k této řádce,\n" diff --git a/locale/de.po b/locale/de.po -index 8444ec3..ed04fa2 100644 +index af978eb..bbbfdcc 100644 --- a/locale/de.po +++ b/locale/de.po -@@ -536,7 +536,7 @@ msgid "" - " --internal-rereads n - drive may attempt n rereads before reporting an error\n" - " --query-size n - query drive/udf/ecc for image size (default: ecc)\n" - " --raw-mode n - mode for raw reading CD media (20 or 21)\n" --" --read-attempts n-m - attempts n upto m reads of a defective sector\n" -+" --read-attempts n-m - attempts n up to m reads of a defective sector\n" - " --read-medium n - read the whole medium up to n times\n" - " --read-raw - performs read in raw mode if possible\n" - " --speed-warning n - print warning if speed changes by more than n percent\n" -@@ -1814,7 +1814,7 @@ msgstr "Höchstens %d Leseversuche pro Sektor" +@@ -700,7 +700,7 @@ msgid " --raw-mode n - mode for raw reading CD media (20 or 21)\n" + msgstr " --raw-mode n - \"raw-modus\" zum Lesen von CD (20 or 21)\n" + + #: dvdisaster.c:920 +-msgid " --read-attempts n-m - attempts n upto m reads of a defective sector\n" ++msgid " --read-attempts n-m - attempts n up to m reads of a defective sector\n" + msgstr " --read-attempts n-m - versucht beschädigten Sektor n bis m-mal zu lesen\n" + + #: dvdisaster.c:921 +@@ -2057,7 +2057,7 @@ msgstr "Höchstens %d Leseversuche pro Sektor" msgid "" "Maximum number of reading attempts\n" "\n" -"When the minimum number of reading attempts is reached without success, dvdisaster might choose to perform additional reading attempts upto this number.\n" +"When the minimum number of reading attempts is reached without success, dvdisaster might choose to perform additional reading attempts up to this number.\n" "\n" - "The decision to do more attempts depends on the quality of data gathered so far, which in turn is influenced by the capabilities of your CD/DVD drive and the operating system. So depending on your configuration, you may or may not see dvdisaster using the maximum value." + "The decision to do more attempts depends on the quality of data gathered so far, which in turn is influenced by the capabilities of your optical drive and the operating system. So depending on your configuration, you may or may not see dvdisaster using the maximum value." msgstr "" -@@ -1886,7 +1886,7 @@ msgstr " mal lesen" +@@ -2129,7 +2129,7 @@ msgstr " mal lesen" msgid "" "Media read attempts for the linear reading strategy\n" "\n" @@ -228,47 +196,29 @@ index 8444ec3..ed04fa2 100644 "\n" "Only the missing sectors will be tried in the additional reading passes." msgstr "" -@@ -2016,7 +2016,7 @@ msgstr "Dateien in Segmente von <= 2GB aufteilen" - msgid "" - "File splitting\n" - "\n" --"Allows working with file systems which are limited to 2GB per file, e.g. FAT from Windows. Created files are spread over upto 100 segments called \"medium00.iso\", \"medium01.iso\" etc. at the cost of a small performance hit." -+"Allows working with file systems which are limited to 2GB per file, e.g. FAT from Windows. Created files are spread over up to 100 segments called \"medium00.iso\", \"medium01.iso\" etc. at the cost of a small performance hit." - msgstr "" - "Dateien aufteilen\n" - "\n" -@@ -5284,7 +5284,7 @@ msgstr "Neu in dieser Version:" - #~ " --internal-rereads n - drive may attempt n rereads before reporting an error\n" - #~ " --query-size n - query drive/udf/ecc for image size (default: ecc)\n" - #~ " --raw-mode n - mode for raw reading CD media (20 or 21)\n" --#~ " --read-attempts n-m - attempts n upto m reads of a defective sector\n" -+#~ " --read-attempts n-m - attempts n up to m reads of a defective sector\n" - #~ " --read-medium n - read the whole medium up to n times\n" - #~ " --read-raw - performs read in raw mode if possible\n" - #~ " --speed-warning n - print warning if speed changes by more than n percent\n" diff --git a/locale/it.po b/locale/it.po -index 9102232..feebde2 100644 +index 9f3a97b..a074339 100644 --- a/locale/it.po +++ b/locale/it.po -@@ -475,7 +475,7 @@ msgid "" - " --internal-rereads n - drive may attempt n rereads before reporting an error\n" - " --query-size n - query drive/udf/ecc for image size (default: ecc)\n" - " --raw-mode n - mode for raw reading CD media (20 or 21)\n" --" --read-attempts n-m - attempts n upto m reads of a defective sector\n" -+" --read-attempts n-m - attempts n up to m reads of a defective sector\n" - " --read-medium n - read the whole medium up to n times\n" - " --read-raw - performs read in raw mode if possible\n" - " --speed-warning n - print warning if speed changes by more than n percent\n" -@@ -1596,7 +1596,7 @@ msgstr "" +@@ -625,7 +625,7 @@ msgid " --raw-mode n - mode for raw reading CD media (20 or 21)\n" + msgstr "" + + #: dvdisaster.c:920 +-msgid " --read-attempts n-m - attempts n upto m reads of a defective sector\n" ++msgid " --read-attempts n-m - attempts n up to m reads of a defective sector\n" + msgstr "" + + #: dvdisaster.c:921 +@@ -1824,7 +1824,7 @@ msgstr "" msgid "" "Maximum number of reading attempts\n" "\n" -"When the minimum number of reading attempts is reached without success, dvdisaster might choose to perform additional reading attempts upto this number.\n" +"When the minimum number of reading attempts is reached without success, dvdisaster might choose to perform additional reading attempts up to this number.\n" "\n" - "The decision to do more attempts depends on the quality of data gathered so far, which in turn is influenced by the capabilities of your CD/DVD drive and the operating system. So depending on your configuration, you may or may not see dvdisaster using the maximum value." + "The decision to do more attempts depends on the quality of data gathered so far, which in turn is influenced by the capabilities of your optical drive and the operating system. So depending on your configuration, you may or may not see dvdisaster using the maximum value." msgstr "" -@@ -1655,7 +1655,7 @@ msgstr "" +@@ -1883,7 +1883,7 @@ msgstr "" msgid "" "Media read attempts for the linear reading strategy\n" "\n" @@ -277,16 +227,7 @@ index 9102232..feebde2 100644 "\n" "Only the missing sectors will be tried in the additional reading passes." msgstr "" -@@ -1761,7 +1761,7 @@ msgstr "" - msgid "" - "File splitting\n" - "\n" --"Allows working with file systems which are limited to 2GB per file, e.g. FAT from Windows. Created files are spread over upto 100 segments called \"medium00.iso\", \"medium01.iso\" etc. at the cost of a small performance hit." -+"Allows working with file systems which are limited to 2GB per file, e.g. FAT from Windows. Created files are spread over up to 100 segments called \"medium00.iso\", \"medium01.iso\" etc. at the cost of a small performance hit." - msgstr "" - - #: preferences.c:2573 -@@ -5010,7 +5010,7 @@ msgstr "" +@@ -6054,7 +6054,7 @@ msgstr "" #~ msgstr "Se potete verificate se la dimensione dell'immagine è corretta,\n" #~ msgid "" @@ -296,28 +237,28 @@ index 9102232..feebde2 100644 #~ msgstr "" #~ "Prego inviare l'intero output di dvdisaster fino a questa linea\n" diff --git a/locale/pt_BR.po b/locale/pt_BR.po -index 2069b41..803288a 100644 +index b557c84..573531b 100644 --- a/locale/pt_BR.po +++ b/locale/pt_BR.po -@@ -530,7 +530,7 @@ msgid "" - " --internal-rereads n - drive may attempt n rereads before reporting an error\n" - " --query-size n - query drive/udf/ecc for image size (default: ecc)\n" - " --raw-mode n - mode for raw reading CD media (20 or 21)\n" --" --read-attempts n-m - attempts n upto m reads of a defective sector\n" -+" --read-attempts n-m - attempts n up to m reads of a defective sector\n" - " --read-medium n - read the whole medium up to n times\n" - " --read-raw - performs read in raw mode if possible\n" - " --speed-warning n - print warning if speed changes by more than n percent\n" -@@ -1800,7 +1800,7 @@ msgstr "Máx. de %d tentativas de leitura por setor" +@@ -641,7 +641,7 @@ msgid " --raw-mode n - mode for raw reading CD media (20 or 21)\n" + msgstr " --raw-mode n - modo para leitura de mídia CD em modo raw (20 ou 21)\n" + + #: dvdisaster.c:920 +-msgid " --read-attempts n-m - attempts n upto m reads of a defective sector\n" ++msgid " --read-attempts n-m - attempts n up to m reads of a defective sector\n" + msgstr " --read-attempts n-m - tenta de n a m leituras em um setor defeituoso\n" + + #: dvdisaster.c:921 +@@ -1935,7 +1935,7 @@ msgstr "Máx. de %d tentativas de leitura por setor" msgid "" "Maximum number of reading attempts\n" "\n" -"When the minimum number of reading attempts is reached without success, dvdisaster might choose to perform additional reading attempts upto this number.\n" +"When the minimum number of reading attempts is reached without success, dvdisaster might choose to perform additional reading attempts up to this number.\n" "\n" - "The decision to do more attempts depends on the quality of data gathered so far, which in turn is influenced by the capabilities of your CD/DVD drive and the operating system. So depending on your configuration, you may or may not see dvdisaster using the maximum value." + "The decision to do more attempts depends on the quality of data gathered so far, which in turn is influenced by the capabilities of your optical drive and the operating system. So depending on your configuration, you may or may not see dvdisaster using the maximum value." msgstr "" -@@ -1872,7 +1872,7 @@ msgstr " vezes" +@@ -2007,7 +2007,7 @@ msgstr " vezes" msgid "" "Media read attempts for the linear reading strategy\n" "\n" @@ -326,16 +267,7 @@ index 2069b41..803288a 100644 "\n" "Only the missing sectors will be tried in the additional reading passes." msgstr "" -@@ -2004,7 +2004,7 @@ msgstr "Separar arquivos em segmentos <= 2GB" - msgid "" - "File splitting\n" - "\n" --"Allows working with file systems which are limited to 2GB per file, e.g. FAT from Windows. Created files are spread over upto 100 segments called \"medium00.iso\", \"medium01.iso\" etc. at the cost of a small performance hit." -+"Allows working with file systems which are limited to 2GB per file, e.g. FAT from Windows. Created files are spread over up to 100 segments called \"medium00.iso\", \"medium01.iso\" etc. at the cost of a small performance hit." - msgstr "" - "Separação de arquivos\n" - "\n" -@@ -5249,7 +5249,7 @@ msgstr "Novidades dessa versão:" +@@ -6450,7 +6450,7 @@ msgstr "Novidades dessa versão:" #~ " --internal-rereads n - drive may attempt n rereads before reporting an error\n" #~ " --query-size n - query drive/udf/ecc for image size (default: ecc)\n" #~ " --raw-mode n - mode for raw reading CD media (20 or 21)\n" @@ -344,29 +276,38 @@ index 2069b41..803288a 100644 #~ " --read-medium n - read the whole medium up to n times\n" #~ " --read-raw - performs read in raw mode if possible\n" #~ " --speed-warning n - print warning if speed changes by more than n percent\n" +@@ -6469,7 +6469,7 @@ msgstr "Novidades dessa versão:" + #~ msgid "" + #~ "File splitting\n" + #~ "\n" +-#~ "Allows working with file systems which are limited to 2GB per file, e.g. FAT from Windows. Created files are spread over upto 100 segments called \"medium00.iso\", \"medium01.iso\" etc. at the cost of a small performance hit." ++#~ "Allows working with file systems which are limited to 2GB per file, e.g. FAT from Windows. Created files are spread over up to 100 segments called \"medium00.iso\", \"medium01.iso\" etc. at the cost of a small performance hit." + #~ msgstr "" + #~ "Separação de arquivos\n" + #~ "\n" diff --git a/locale/ru.po b/locale/ru.po -index 0e04113..b4d457d 100644 +index 34b1796..a9fc25c 100644 --- a/locale/ru.po +++ b/locale/ru.po -@@ -523,7 +523,7 @@ msgid "" - " --internal-rereads n - drive may attempt n rereads before reporting an error\n" - " --query-size n - query drive/udf/ecc for image size (default: ecc)\n" - " --raw-mode n - mode for raw reading CD media (20 or 21)\n" --" --read-attempts n-m - attempts n upto m reads of a defective sector\n" -+" --read-attempts n-m - attempts n up to m reads of a defective sector\n" - " --read-medium n - read the whole medium up to n times\n" - " --read-raw - performs read in raw mode if possible\n" - " --speed-warning n - print warning if speed changes by more than n percent\n" -@@ -1785,7 +1785,7 @@ msgstr "Макс. %d попыток чтения на сектор" +@@ -640,7 +640,7 @@ msgid " --raw-mode n - mode for raw reading CD media (20 or 21)\n" + msgstr " --raw-mode n - режим для низкоуровневого чтения CD-носителей (20 или 21)\n" + + #: dvdisaster.c:920 +-msgid " --read-attempts n-m - attempts n upto m reads of a defective sector\n" ++msgid " --read-attempts n-m - attempts n up to m reads of a defective sector\n" + msgstr " --read-attempts n-m - делается от n до m попыток чтения поврежденного сектора\n" + + #: dvdisaster.c:921 +@@ -1938,7 +1938,7 @@ msgstr "Макс. %d попыток чтения на сектор" msgid "" "Maximum number of reading attempts\n" "\n" -"When the minimum number of reading attempts is reached without success, dvdisaster might choose to perform additional reading attempts upto this number.\n" +"When the minimum number of reading attempts is reached without success, dvdisaster might choose to perform additional reading attempts up to this number.\n" "\n" - "The decision to do more attempts depends on the quality of data gathered so far, which in turn is influenced by the capabilities of your CD/DVD drive and the operating system. So depending on your configuration, you may or may not see dvdisaster using the maximum value." + "The decision to do more attempts depends on the quality of data gathered so far, which in turn is influenced by the capabilities of your optical drive and the operating system. So depending on your configuration, you may or may not see dvdisaster using the maximum value." msgstr "" -@@ -1857,7 +1857,7 @@ msgstr " раз" +@@ -2010,7 +2010,7 @@ msgstr " раз" msgid "" "Media read attempts for the linear reading strategy\n" "\n" @@ -375,16 +316,7 @@ index 0e04113..b4d457d 100644 "\n" "Only the missing sectors will be tried in the additional reading passes." msgstr "" -@@ -1989,7 +1989,7 @@ msgstr "Разбивать файлы на сегменты <= 2Гб" - msgid "" - "File splitting\n" - "\n" --"Allows working with file systems which are limited to 2GB per file, e.g. FAT from Windows. Created files are spread over upto 100 segments called \"medium00.iso\", \"medium01.iso\" etc. at the cost of a small performance hit." -+"Allows working with file systems which are limited to 2GB per file, e.g. FAT from Windows. Created files are spread over up to 100 segments called \"medium00.iso\", \"medium01.iso\" etc. at the cost of a small performance hit." - msgstr "" - "Разбиение файлов\n" - "\n" -@@ -5240,7 +5240,7 @@ msgstr "Новое в этой версии:" +@@ -6511,7 +6511,7 @@ msgstr "Новое в этой версии:" #~ " --internal-rereads n - drive may attempt n rereads before reporting an error\n" #~ " --query-size n - query drive/udf/ecc for image size (default: ecc)\n" #~ " --raw-mode n - mode for raw reading CD media (20 or 21)\n" @@ -393,7 +325,16 @@ index 0e04113..b4d457d 100644 #~ " --read-medium n - read the whole medium up to n times\n" #~ " --read-raw - performs read in raw mode if possible\n" #~ " --speed-warning n - print warning if speed changes by more than n percent\n" -@@ -5336,7 +5336,7 @@ msgstr "Новое в этой версии:" +@@ -6528,7 +6528,7 @@ msgstr "Новое в этой версии:" + #~ msgid "" + #~ "File splitting\n" + #~ "\n" +-#~ "Allows working with file systems which are limited to 2GB per file, e.g. FAT from Windows. Created files are spread over upto 100 segments called \"medium00.iso\", \"medium01.iso\" etc. at the cost of a small performance hit." ++#~ "Allows working with file systems which are limited to 2GB per file, e.g. FAT from Windows. Created files are spread over up to 100 segments called \"medium00.iso\", \"medium01.iso\" etc. at the cost of a small performance hit." + #~ msgstr "" + #~ "Разбиение файлов\n" + #~ "\n" +@@ -6574,7 +6574,7 @@ msgstr "Новое в этой версии:" #~ " --internal-rereads n - drive may attempt n rereads before reporting an error\n" #~ " --query-size n - query drive/udf/ecc for image size (default: ecc)\n" #~ " --raw-mode n - mode for raw reading CD media (20 or 21)\n" @@ -403,28 +344,28 @@ index 0e04113..b4d457d 100644 #~ " --read-raw - performs read in raw mode if possible\n" #~ " --speed-warning n - print warning if speed changes by more than n percent\n" diff --git a/locale/sv.po b/locale/sv.po -index 3c062a4..397b877 100644 +index f69035e..9f70808 100644 --- a/locale/sv.po +++ b/locale/sv.po -@@ -478,7 +478,7 @@ msgid "" - " --internal-rereads n - drive may attempt n rereads before reporting an error\n" - " --query-size n - query drive/udf/ecc for image size (default: ecc)\n" - " --raw-mode n - mode for raw reading CD media (20 or 21)\n" --" --read-attempts n-m - attempts n upto m reads of a defective sector\n" -+" --read-attempts n-m - attempts n up to m reads of a defective sector\n" - " --read-medium n - read the whole medium up to n times\n" - " --read-raw - performs read in raw mode if possible\n" - " --speed-warning n - print warning if speed changes by more than n percent\n" -@@ -1604,7 +1604,7 @@ msgstr "" +@@ -626,7 +626,7 @@ msgid " --raw-mode n - mode for raw reading CD media (20 or 21)\n" + msgstr "" + + #: dvdisaster.c:920 +-msgid " --read-attempts n-m - attempts n upto m reads of a defective sector\n" ++msgid " --read-attempts n-m - attempts n up to m reads of a defective sector\n" + msgstr "" + + #: dvdisaster.c:921 +@@ -1830,7 +1830,7 @@ msgstr "" msgid "" "Maximum number of reading attempts\n" "\n" -"When the minimum number of reading attempts is reached without success, dvdisaster might choose to perform additional reading attempts upto this number.\n" +"When the minimum number of reading attempts is reached without success, dvdisaster might choose to perform additional reading attempts up to this number.\n" "\n" - "The decision to do more attempts depends on the quality of data gathered so far, which in turn is influenced by the capabilities of your CD/DVD drive and the operating system. So depending on your configuration, you may or may not see dvdisaster using the maximum value." + "The decision to do more attempts depends on the quality of data gathered so far, which in turn is influenced by the capabilities of your optical drive and the operating system. So depending on your configuration, you may or may not see dvdisaster using the maximum value." msgstr "" -@@ -1663,7 +1663,7 @@ msgstr "" +@@ -1889,7 +1889,7 @@ msgstr "" msgid "" "Media read attempts for the linear reading strategy\n" "\n" @@ -433,20 +374,11 @@ index 3c062a4..397b877 100644 "\n" "Only the missing sectors will be tried in the additional reading passes." msgstr "" -@@ -1769,7 +1769,7 @@ msgstr "" - msgid "" - "File splitting\n" - "\n" --"Allows working with file systems which are limited to 2GB per file, e.g. FAT from Windows. Created files are spread over upto 100 segments called \"medium00.iso\", \"medium01.iso\" etc. at the cost of a small performance hit." -+"Allows working with file systems which are limited to 2GB per file, e.g. FAT from Windows. Created files are spread over up to 100 segments called \"medium00.iso\", \"medium01.iso\" etc. at the cost of a small performance hit." - msgstr "" - - #: preferences.c:2573 diff --git a/preferences.c b/preferences.c -index 2f3355c..39f2c5f 100644 +index 4f1fe5c..f5ef889 100644 --- a/preferences.c +++ b/preferences.c -@@ -2181,7 +2181,7 @@ if(Closure->debugMode) /* hidden until version 0.80 */ +@@ -2221,7 +2221,7 @@ void CreatePreferencesWindow(void) _("Maximum number of reading attempts\n\n" "When the minimum number of reading attempts is reached " "without success, dvdisaster might choose to perform additional " @@ -455,7 +387,7 @@ index 2f3355c..39f2c5f 100644 "The decision to do more attempts depends on the quality of " "data gathered so far, which in turn is influenced by the " -@@ -2296,7 +2296,7 @@ if(Closure->debugMode) /* hidden until version 0.80 */ +@@ -2336,7 +2336,7 @@ void CreatePreferencesWindow(void) AddHelpParagraph(lwoh, _("Media read attempts for the linear reading strategy\n\n" "If unreadable sectors remain after reading the medium from start to end, " @@ -464,12 +396,3 @@ index 2f3355c..39f2c5f 100644 "Only the missing sectors will be tried in the additional reading passes.")); /** Defective sector caching */ -@@ -2563,7 +2563,7 @@ if(Closure->debugMode) /* hidden until version 0.80 */ - AddHelpParagraph(lwoh, - _("File splitting\n\n" - "Allows working with file systems which are limited to 2GB per file, e.g. " -- "FAT from Windows. Created files are spread over upto 100 segments " -+ "FAT from Windows. Created files are spread over up to 100 segments " - "called \"medium00.iso\", \"medium01.iso\" etc. at the cost of a small " - "performance hit.")); - diff --git a/debian/patches/13-fix-missing-language-field-in-po-files.patch b/debian/patches/13-fix-missing-language-field-in-po-files.patch index a8cfcb9..ad09c24 100644 --- a/debian/patches/13-fix-missing-language-field-in-po-files.patch +++ b/debian/patches/13-fix-missing-language-field-in-po-files.patch @@ -6,51 +6,37 @@ Description: Fix missing language fields in PO files. Author: Carlos Maddela Origin: vendor Forwarded: no -Last-Update: 2016-12-19 +Last-Update: 2017-01-05 --- This patch header follows DEP-3: http://dep.debian.net/deps/dep3/ --- - locale/cs.po | 2 +- locale/pt_BR.po | 2 +- locale/ru.po | 2 +- - 3 files changed, 3 insertions(+), 3 deletions(-) + 2 files changed, 2 insertions(+), 2 deletions(-) -diff --git a/locale/cs.po b/locale/cs.po -index c26007b..89a9d7f 100644 ---- a/locale/cs.po -+++ b/locale/cs.po -@@ -15,7 +15,7 @@ msgstr "" - "MIME-Version: 1.0\n" - "Content-Type: text/plain; charset=UTF-8\n" - "Content-Transfer-Encoding: 8bit\n" --"Language: \n" -+"Language: cs_CZ\n" - "X-Generator: KBabel 1.11.1\n" - "Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" - diff --git a/locale/pt_BR.po b/locale/pt_BR.po -index 803288a..4cc57ee 100644 +index 573531b..04b33b5 100644 --- a/locale/pt_BR.po +++ b/locale/pt_BR.po -@@ -14,7 +14,7 @@ msgstr "" - "MIME-Version: 1.0\n" - "Content-Type: text/plain; charset=UTF-8\n" - "Content-Transfer-Encoding: 8bit\n" +@@ -11,7 +11,7 @@ msgstr "" + "PO-Revision-Date: 2010-06-09 11:13+0200\n" + "Last-Translator: cg \n" + "Language-Team: Portuguese\n" -"Language: \n" +"Language: pt_BR\n" - "Plural-Forms: nplurals=2; plural=(n > 1);\n" - - #: closure.c:539 -diff --git a/locale/ru.po b/locale/ru.po -index b4d457d..38ee2df 100644 ---- a/locale/ru.po -+++ b/locale/ru.po -@@ -16,7 +16,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +diff --git a/locale/ru.po b/locale/ru.po +index a9fc25c..6cd3789 100644 +--- a/locale/ru.po ++++ b/locale/ru.po +@@ -13,7 +13,7 @@ msgstr "" + "PO-Revision-Date: 2009-07-23 08:11+0300\n" + "Last-Translator: Igor Gorbounov \n" + "Language-Team: Russian\n" -"Language: \n" +"Language: ru\n" - "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" - - #: closure.c:539 + "MIME-Version: 1.0\n" + "Content-Type: text/plain; charset=UTF-8\n" + "Content-Transfer-Encoding: 8bit\n" diff --git a/debian/patches/15-show-new-pkg-tracker.patch b/debian/patches/15-show-new-pkg-tracker.patch index 68e0a9e..911c07d 100644 --- a/debian/patches/15-show-new-pkg-tracker.patch +++ b/debian/patches/15-show-new-pkg-tracker.patch @@ -15,10 +15,10 @@ This patch header follows DEP-3: http://dep.debian.net/deps/dep3/ 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/help-dialogs.c b/help-dialogs.c -index ed86afe..fb1b457 100644 +index eae04f2..c89c552 100644 --- a/help-dialogs.c +++ b/help-dialogs.c -@@ -749,7 +749,7 @@ void AboutDialog() +@@ -750,7 +750,7 @@ void AboutDialog() "for Debian to support DVD-ROMs (with and without encryption).\n\n" "Please do not bother the original authors of dvdisaster\n" "but submit bugreports against the [debian package] instead.\n"), diff --git a/debian/patches/16-remove-auto-build-of-doco-from-install-rule.patch b/debian/patches/16-remove-auto-build-of-doco-from-install-rule.patch index 0465681..66e7b54 100644 --- a/debian/patches/16-remove-auto-build-of-doco-from-install-rule.patch +++ b/debian/patches/16-remove-auto-build-of-doco-from-install-rule.patch @@ -7,72 +7,28 @@ Description: Don't build and install documentation automatically. Author: Carlos Maddela Origin: vendor Forwarded: not-needed -Last-Update: 2016-12-21 +Last-Update: 2017-01-05 --- This patch header follows DEP-3: http://dep.debian.net/deps/dep3/ --- - GNUmakefile.template | 34 ++++++++++++++++++---------------- - 1 file changed, 18 insertions(+), 16 deletions(-) + GNUmakefile.template | 3 +-- + 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/GNUmakefile.template b/GNUmakefile.template -index 10e4524..dd91bf3 100644 +index 6fda92b..d9bef11 100644 --- a/GNUmakefile.template +++ b/GNUmakefile.template -@@ -68,7 +68,7 @@ OFILES = $(CFG_OFILES) - @echo "Compiling:" $*.c - @$(CC) $(COPTS) -c $*.c +@@ -223,12 +223,11 @@ show: + .PHONY : install uninstall clean distclean arch + .PHONY : srcdist --all: time-stamp dvdisaster images -+all: time-stamp dvdisaster - - # Building the dvdisaster binary - -@@ -310,24 +310,10 @@ show: - .PHONY : www www-images - .PHONY : srcdist windist - --install: dvdisaster images +-install: dvdisaster manual +install: dvdisaster @echo "Installing package..." install -d $(BUILDROOT)$(BINDIR) - install dvdisaster$(EXE_SUFFIX) $(BUILDROOT)$(BINDIR) -- install -d $(BUILDROOT)$(DOCSUBDIR) -- for i in $(DOC_LOCALES); do \ -- install -d $(BUILDROOT)$(DOCSUBDIR)/$$i; \ -- (cd documentation; install -m 644 $$i/*.html $(BUILDROOT)$(DOCSUBDIR)/$$i); \ -- install -d $(BUILDROOT)$(DOCSUBDIR)/$$i/images; \ -- (cd documentation/$$i; install -m 644 images/*.png $(BUILDROOT)$(DOCSUBDIR)/$$i/images); \ -- install -d $(BUILDROOT)$(DOCSUBDIR)/$$i/thumbnails; \ -- (cd documentation/$$i; install -m 644 thumbnails/*.png $(BUILDROOT)$(DOCSUBDIR)/$$i/thumbnails); \ -- done -- install -d $(BUILDROOT)$(DOCSUBDIR)/images -- cd documentation; install -m 644 images/*.png $(BUILDROOT)$(DOCSUBDIR)/images --# cd documentation; install -m 644 images/*.jpg $(BUILDROOT)$(DOCSUBDIR)/images -- install -d $(BUILDROOT)$(DOCSUBDIR)/include -- cd documentation; install -m 644 include/*.css $(BUILDROOT)$(DOCSUBDIR)/include + install dvdisaster $(BUILDROOT)$(BINDIR) + install -d $(BUILDROOT)$(DOCSUBDIR) +- (cd documentation/user-manual; install -m 644 manual.pdf $(BUILDROOT)$(DOCSUBDIR)) install -d $(BUILDROOT)$(MANDIR)/man1 - install -d $(BUILDROOT)$(MANDIR)/cs/man1 install -d $(BUILDROOT)$(MANDIR)/de/man1 -@@ -351,6 +337,22 @@ install: dvdisaster images - done \ - fi - -+install-doc: images -+ install -d $(BUILDROOT)$(DOCSUBDIR) -+ for i in $(DOC_LOCALES); do \ -+ install -d $(BUILDROOT)$(DOCSUBDIR)/$$i; \ -+ (cd documentation; install -m 644 $$i/*.html $(BUILDROOT)$(DOCSUBDIR)/$$i); \ -+ install -d $(BUILDROOT)$(DOCSUBDIR)/$$i/images; \ -+ (cd documentation/$$i; install -m 644 images/*.png $(BUILDROOT)$(DOCSUBDIR)/$$i/images); \ -+ install -d $(BUILDROOT)$(DOCSUBDIR)/$$i/thumbnails; \ -+ (cd documentation/$$i; install -m 644 thumbnails/*.png $(BUILDROOT)$(DOCSUBDIR)/$$i/thumbnails); \ -+ done -+ install -d $(BUILDROOT)$(DOCSUBDIR)/images -+ cd documentation; install -m 644 images/*.png $(BUILDROOT)$(DOCSUBDIR)/images -+# cd documentation; install -m 644 images/*.jpg $(BUILDROOT)$(DOCSUBDIR)/images -+ install -d $(BUILDROOT)$(DOCSUBDIR)/include -+ cd documentation; install -m 644 include/*.css $(BUILDROOT)$(DOCSUBDIR)/include -+ - uninstall: - @echo "Uninstalling package..." - rm -f $(BINDIR)/dvdisaster $(BINDIR)/dvdisaster.exe $(BINDIR)/dvdisaster-win.exe $(BINDIR)/dvdisaster-uninstall.sh + cd documentation; \ diff --git a/debian/patches/17-fix-all-but-deprecated-api-warnings.patch b/debian/patches/17-fix-all-but-deprecated-api-warnings.patch index 5d31775..6076123 100644 --- a/debian/patches/17-fix-all-but-deprecated-api-warnings.patch +++ b/debian/patches/17-fix-all-but-deprecated-api-warnings.patch @@ -7,54 +7,35 @@ Author: Carlos Maddela Origin: vendor Bug-Debian: https://bugs.debian.org/748416 Forwarded: no -Last-Update: 2016-12-22 +Last-Update: 2017-01-05 --- This patch header follows DEP-3: http://dep.debian.net/deps/dep3/ --- - closure.c | 10 ++++++---- - crcbuf.c | 2 -- - curve.c | 2 +- - debug.c | 2 -- - file.c | 6 +++--- - heuristic-lec.c | 4 ++++ - large-io.c | 4 ++-- - md5.c | 2 +- - memtrack.c | 3 +-- - menubar.c | 5 ++--- - preferences.c | 2 +- - raw-editor.c | 9 +++------ - recover-raw.c | 2 +- - rs01-common.c | 2 -- - rs01-fix.c | 4 ---- - scsi-layer.c | 4 ++++ - smart-lec.c | 10 +++++----- - tools/codec.c | 2 ++ - tools/decimate.c | 1 + - tools/memory.c | 3 +-- - tools/pngio.c | 4 ++-- - tools/pngpack.c | 1 + - 22 files changed, 41 insertions(+), 43 deletions(-) + closure.c | 8 +++++--- + curve.c | 2 +- + menubar.c | 2 +- + rs01-create.c | 10 +++++----- + rs01-verify.c | 2 +- + rs03-create.c | 24 ++++++++++++------------ + rs03-fix.c | 8 ++++---- + scsi-layer.c | 4 ++++ + smart-lec.c | 10 +++++----- + 9 files changed, 38 insertions(+), 32 deletions(-) diff --git a/closure.c b/closure.c -index 6e344a9..ae98b79 100644 +index 7568cba..0e2f889 100644 --- a/closure.c +++ b/closure.c -@@ -402,12 +402,12 @@ void ReadDotfile() - while(TRUE) - { int n; - char symbol[41]; -- char *value, *ignore; -+ char *value; - +@@ -196,7 +196,7 @@ void ReadDotfile() /* Get first MAX_LINE_LEN bytes of line, discard the rest */ line[MAX_LINE_LEN-1] = 1; -- ignore = fgets(line, MAX_LINE_LEN, dotfile); +- fgets(line, MAX_LINE_LEN, dotfile); + if(!fgets(line, MAX_LINE_LEN, dotfile)) break; if(!line[MAX_LINE_LEN-1]) /* line longer than buffer */ while(!feof(dotfile) && fgetc(dotfile) != '\n') ; -@@ -436,12 +436,14 @@ void ReadDotfile() +@@ -225,12 +225,14 @@ void ReadDotfile() if(!strcmp(symbol, "last-image")) { g_free(Closure->imageName); if(!strcmp(value, "none")) Closure->imageName = g_strdup(""); @@ -69,33 +50,13 @@ index 6e344a9..ae98b79 100644 + else Closure->eccName = g_strdup(value); + continue; } - if(!strcmp(symbol, "browser")) { g_free(Closure->browser); - Closure->browser = g_strdup(value); continue; } -diff --git a/crcbuf.c b/crcbuf.c -index 598355a..464953f 100644 ---- a/crcbuf.c -+++ b/crcbuf.c -@@ -83,7 +83,6 @@ CrcBuf *GetCRCFromRS02(void *layv, void *dhv, LargeFile *image) - AlignedBuffer *ab = CreateAlignedBuffer(2048); - CrcBuf *cb = g_malloc(sizeof(CrcBuf)); - gint64 block_idx[256]; -- guint32 *buf; - gint64 image_sectors,crc_sector; - gint64 s,i; - int crc_idx, crc_valid = FALSE; -@@ -93,7 +92,6 @@ CrcBuf *GetCRCFromRS02(void *layv, void *dhv, LargeFile *image) - cb->crcbuf = g_malloc(image_sectors * sizeof(guint32)); - cb->size = image_sectors; - cb->valid = CreateBitmap0(image_sectors); -- buf = cb->crcbuf; - - /* Initialize ecc block index pointers. - The first CRC set (of lay->ndata checksums) relates to + if(!strcmp(symbol, "adaptive-read")) { Closure->adaptiveRead = atoi(value); continue; } + if(!strcmp(symbol, "auto-suffix")) { Closure->autoSuffix = atoi(value); continue; } diff --git a/curve.c b/curve.c -index ca8d8c4..d64c2e2 100644 +index 668bc40..61b81a9 100644 --- a/curve.c +++ b/curve.c -@@ -122,7 +122,7 @@ int CurveLogY(Curve *curve, gdouble y) /* not really a log */ +@@ -123,7 +123,7 @@ int CurveLogY(Curve *curve, gdouble y) /* not really a log */ hfact = (gdouble)(curve->bottomLY - curve->topLY); if(y==1) return curve->bottomLY - ((log(2)/log(curve->logMaxY)) * hfact)/2; @@ -104,286 +65,194 @@ index ca8d8c4..d64c2e2 100644 } /*** -diff --git a/debug.c b/debug.c -index 2045ac6..d93f24c 100644 ---- a/debug.c -+++ b/debug.c -@@ -1152,7 +1152,6 @@ void MergeImages(char *arg, int mode) - char *left_path, *right_path; - gint64 left_sectors, right_sectors,min_sectors,s; - int percent,last_percent = 0; -- gint64 left_missing, right_missing, mismatch; - char *cpos = NULL; +diff --git a/menubar.c b/menubar.c +index 8258cfd..12f1933 100644 +--- a/menubar.c ++++ b/menubar.c +@@ -414,7 +414,7 @@ void set_path(GtkWidget *entry, char *path) + else + { char buf[PATH_MAX + strlen(path) + 2]; - /*** Evaluate arguments */ -@@ -1185,7 +1184,6 @@ void MergeImages(char *arg, int mode) +- getcwd(buf, PATH_MAX); ++ if(!getcwd(buf, PATH_MAX)) return; + strcat(buf,"/"); - /*** Compare them */ - -- left_missing = right_missing = mismatch = 0; - if(left_sectors < right_sectors) - min_sectors = left_sectors; - else min_sectors = right_sectors; -diff --git a/file.c b/file.c -index bdc4033..e153bd9 100644 ---- a/file.c -+++ b/file.c -@@ -246,9 +246,9 @@ void UnlinkImage(GtkWidget *label) - { if(!Closure->guiMode) - PrintLog("\n"); + strcat(buf,path); +diff --git a/rs01-create.c b/rs01-create.c +index 5cad591..88c352a 100644 +--- a/rs01-create.c ++++ b/rs01-create.c +@@ -107,12 +107,12 @@ static void unlink_image(GtkWidget *label) + _("\nImage file %s deleted.\n"), Closure->imageName); + } + else +- { if(!Closure->guiMode) +- PrintLog("\n"); ++ { if(!Closure->guiMode) ++ PrintLog("\n"); - ModalWarning(GTK_MESSAGE_ERROR, GTK_BUTTONS_OK, NULL, - _("Image file %s not deleted: %s\n"), - Closure->imageName, strerror(errno)); -+ ModalWarning(GTK_MESSAGE_ERROR, GTK_BUTTONS_OK, NULL, -+ _("Image file %s not deleted: %s\n"), -+ Closure->imageName, strerror(errno)); ++ ModalWarning(GTK_MESSAGE_ERROR, GTK_BUTTONS_OK, NULL, ++ _("Image file %s not deleted: %s\n"), ++ Closure->imageName, strerror(errno)); } } -diff --git a/heuristic-lec.c b/heuristic-lec.c -index 9508c50..2b10d9c 100644 ---- a/heuristic-lec.c -+++ b/heuristic-lec.c -@@ -1865,6 +1865,8 @@ int AckHeuristic(RawBuffer *rb) - printf("AH L-EC: iteration %d\n", iteration); - printf(" Q-f/c/e + d: %2d/%2d/%2d + %2d\n", q_failures, q_corrected, q_err, q_decimated); - printf(" P-f/c/e + d: %2d/%2d/%2d + %2d\n", p_failures, p_corrected, p_err, p_decimated); -+#else -+ (void) p_decimated; +diff --git a/rs01-verify.c b/rs01-verify.c +index 3315659..431a6d0 100644 +--- a/rs01-verify.c ++++ b/rs01-verify.c +@@ -830,7 +830,7 @@ process_ecc: + { if(!Closure->guiMode) + PrintProgress(_("- ecc md5sum : %3d%%"),percent); + else SetLabelText(GTK_LABEL(wl->cmpEccMd5Sum), "%3d%%", percent); +- last_percent = percent; ++ last_percent = percent; + } + + if(Closure->stopActions) +diff --git a/rs03-create.c b/rs03-create.c +index 40066d2..b2c6033 100644 +--- a/rs03-create.c ++++ b/rs03-create.c +@@ -31,9 +31,9 @@ + + //#define VERBOSE 1 + #ifdef VERBOSE +- #define verbose(format,args...) printf(format, ## args) ++ #define verbose(format,...) printf(format, __VA_ARGS__) + #else +- #define verbose(format,args...) ++ #define verbose(format,...) #endif + + #ifdef HAVE_MMAP +@@ -688,7 +688,7 @@ static void flush_crc(ecc_closure *ec, LargeFile *file_out) + + /* Write out the CRC layer */ - if(p_failures + p_err + q_failures + q_err == 0) break; -@@ -2120,6 +2122,8 @@ int BruteForceSearchPlausibleSector(RawBuffer *rb) - Verbose("SPS L-EC: iteration %d\n", iteration); - Verbose(" Q-f/c/e + d: %2d/%2d/%2d + %2d\n", q_failures, q_corrected, q_err, q_decimated); - Verbose(" P-f/c/e + d: %2d/%2d/%2d + %2d\n", p_failures, p_corrected, p_err, p_decimated); -+#else -+ (void) p_decimated; - #endif +- verbose("IO: writing CRC layer\n"); ++ verbose("%s", "IO: writing CRC layer\n"); + crc_sect = 2048*(ec->encoderChunk+lay->firstCrcPos); + if(!LargeSeek(file_out, crc_sect)) + { ec->abortImmediately = TRUE; +@@ -709,7 +709,7 @@ static void flush_parity(ecc_closure *ec, LargeFile *file_out) - if(p_failures + p_err + q_failures + q_err == 0) break; -diff --git a/large-io.c b/large-io.c -index 04e145f..e2f05e0 100644 ---- a/large-io.c -+++ b/large-io.c -@@ -425,7 +425,7 @@ ssize_t LargeRead(LargeFile *lf, void *buf, size_t count) + /* Write out the created parity. */ - chunk = count > MAX_FILE_SIZE ? MAX_FILE_SIZE : count; +- verbose("IO: writing parity...\n"); ++ verbose("%s", "IO: writing parity...\n"); + for(k=0; knroots; k++) + { gint64 idx=0; -- read_in = read(lf->fileSegment[lf->segment], buf+n, chunk); -+ read_in = read(lf->fileSegment[lf->segment], (char *)buf+n, chunk); - n += read_in; - count -= read_in; - if(read_in != chunk) return n; -@@ -591,7 +591,7 @@ ssize_t LargeWrite(LargeFile *lf, void *buf, size_t count) - - chunk = count > MAX_FILE_SIZE ? MAX_FILE_SIZE : count; - -- written = xwrite(lf->fileSegment[lf->segment], buf+n, chunk); -+ written = xwrite(lf->fileSegment[lf->segment], (char *)buf+n, chunk); - n += written; - count -= written; - if(written != chunk) return n; -diff --git a/md5.c b/md5.c -index 20c6240..d4e7ca6 100644 ---- a/md5.c -+++ b/md5.c -@@ -159,7 +159,7 @@ MD5Final(unsigned char digest[16], struct MD5Context *ctx) - MD5Transform(ctx->buf, (guint32 *) ctx->in); - byteReverse((unsigned char *) ctx->buf, 4); - memmove(digest, ctx->buf, 16); -- memset(ctx, 0, sizeof (ctx)); /* In case it's sensitive */ -+ memset(ctx, 0, sizeof (*ctx)); /* In case it's sensitive */ +@@ -726,7 +726,7 @@ static void flush_parity(ecc_closure *ec, LargeFile *file_out) + } + } + } +- verbose("IO: parity written.\n"); ++ verbose("%s", "IO: parity written.\n"); } - /* The four core functions - F1 is optimized somewhat */ -diff --git a/memtrack.c b/memtrack.c -index 68690f3..5f7ac50 100644 ---- a/memtrack.c -+++ b/memtrack.c -@@ -147,9 +147,8 @@ int forget(void *ptr) - static void print_ptr(memchunk *mc, int size) - { char strbuf[16]; - char *ptr = (char*)mc->ptr; -- int j,maxlen; -+ int j; + static gpointer io_thread(ecc_closure *ec) +@@ -741,7 +741,7 @@ static gpointer io_thread(ecc_closure *ec) + int parity_available = 0; + int i; -- if(mc->size < size) maxlen = mc->size; else maxlen = size; - for(j=0; j<15; j++) - { if(ptr[j]<32) break; - strbuf[j] = ptr[j]; -diff --git a/menubar.c b/menubar.c -index f31ae92..99ae4fc 100644 ---- a/menubar.c -+++ b/menubar.c -@@ -396,7 +396,7 @@ static void file_select_cb(GtkWidget *widget, gpointer data) - */ +- verbose("Reader thread initializing\n"); ++ verbose("%s", "Reader thread initializing\n"); - void set_path(GtkWidget *entry, char *path) --{ char *ignore; -+{ + /*** Allocate local parity buffer aligned at 128bit boundary */ - if(path[0] == '/' || path[0] == '\\' || path[1] == ':' || strlen(path) < 1) - { gtk_entry_set_text(GTK_ENTRY(entry), path); -@@ -405,11 +405,10 @@ void set_path(GtkWidget *entry, char *path) - else - { char buf[PATH_MAX + strlen(path) + 2]; +@@ -809,7 +809,7 @@ static gpointer io_thread(ecc_closure *ec) + { read_next_chunk(ec, chunk); + // flush_crc(ec, file_out); // FIXME + needs_preload = 0; +- verbose("IO: first chunk loaded\n"); ++ verbose("%s", "IO: first chunk loaded\n"); + continue; + } -+ if(!getcwd(buf, PATH_MAX)) return; - #ifdef SYS_MINGW -- ignore = getcwd(buf, PATH_MAX); - strcat(buf,"\\"); - #else -- ignore = getcwd(buf, PATH_MAX); - strcat(buf,"/"); - #endif - strcat(buf,path); -diff --git a/preferences.c b/preferences.c -index 39f2c5f..db009af 100644 ---- a/preferences.c -+++ b/preferences.c -@@ -21,7 +21,7 @@ +@@ -856,7 +856,7 @@ static gpointer io_thread(ecc_closure *ec) + g_mutex_lock(ec->lock); + cpu_bound = ec->buffersToEncode; + while(ec->buffersToEncode) +- { verbose("IO: Waiting for encoders to finish\n"); ++ { verbose("%s", "IO: Waiting for encoders to finish\n"); + g_cond_wait(ec->ioCond, ec->lock); + } + g_mutex_unlock(ec->lock); +@@ -898,7 +898,7 @@ static gpointer io_thread(ecc_closure *ec) + ec->slicesFree = TRUE; /* we have saved the slices; go ahead */ + g_cond_broadcast(ec->ioCond); + while(ec->buffersToEncode) +- { verbose("IO: Waiting for encoders to finish last chunk\n"); ++ { verbose("%s", "IO: Waiting for encoders to finish last chunk\n"); + g_cond_wait(ec->ioCond, ec->lock); + } + g_mutex_unlock(ec->lock); +@@ -911,7 +911,7 @@ static gpointer io_thread(ecc_closure *ec) + flush_crc(ec, file_out); + flush_parity(ec, file_out); - #include "dvdisaster.h" +- verbose("IO: finished\n"); fflush(stdout); ++ verbose("%s", "IO: finished\n"); fflush(stdout); + return NULL; + } --extern int CurrentMediumSize(int); /* from scsi-layer.h */ -+extern gint64 CurrentMediumSize(int); /* from scsi-layer.h */ +@@ -1098,7 +1098,7 @@ static gpointer encoder_thread(ecc_closure *ec) + ec->buffersToEncode-=enc_size; + if(!ec->buffersToEncode) + { g_cond_broadcast(ec->ioCond); +- verbose("ENC: processed last buffer; telling IO process.\n"); ++ verbose("%s", "ENC: processed last buffer; telling IO process.\n"); + fflush(stdout); + } + g_mutex_unlock(ec->lock); +@@ -1198,7 +1198,7 @@ static void create_reed_solomon(ecc_closure *ec) + verbose("SCHED: joined with worker %d\n", i); + fflush(stdout); + } +- verbose("SCHED: scheduler finished.\n"); ++ verbose("%s", "SCHED: scheduler finished.\n"); + } /*** - *** debugging workaround -diff --git a/raw-editor.c b/raw-editor.c -index fd07f48..5818e57 100644 ---- a/raw-editor.c -+++ b/raw-editor.c -@@ -456,13 +456,12 @@ static void buffer_io_cb(GtkWidget *widget, gpointer data) - case ACTION_FILESEL_LOAD_OK: - { LargeFile *file; - char *path; -- int n; +diff --git a/rs03-fix.c b/rs03-fix.c +index 0a7a1d3..e162e5e 100644 +--- a/rs03-fix.c ++++ b/rs03-fix.c +@@ -829,10 +829,10 @@ void RS03Fix(Image *image) + if we were processing an augmented image. */ - path = (char*)gtk_file_selection_get_filename(GTK_FILE_SELECTION(rec->loadBufSel)); - gtk_widget_hide(rec->loadBufSel); + if(lay->target == ECC_FILE && i >= ndata-1) +- { +- if(!LargeSeek(image->eccFile, (gint64)(2048*sec))) +- Stop(_("Failed seeking to sector %lld in ecc file [%s]: %s"), +- sec, "FW", strerror(errno)); ++ { ++ if(!LargeSeek(image->eccFile, (gint64)(2048*sec))) ++ Stop(_("Failed seeking to sector %lld in ecc file [%s]: %s"), ++ sec, "FW", strerror(errno)); - file = LargeOpen(path, O_RDONLY, IMG_PERMS); -- n = LargeRead(file, rec->rb->recovered, rec->rb->sampleSize); -+ LargeRead(file, rec->rb->recovered, rec->rb->sampleSize); - LargeClose(file); - - calculate_failures(rec); -@@ -477,13 +476,12 @@ static void buffer_io_cb(GtkWidget *widget, gpointer data) - case ACTION_FILESEL_SAVE_OK: - { LargeFile *file; - char *path; -- int n; - - path = (char*)gtk_file_selection_get_filename(GTK_FILE_SELECTION(rec->saveBufSel)); - gtk_widget_hide(rec->saveBufSel); - - file = LargeOpen(path, O_RDWR | O_CREAT, IMG_PERMS); -- n = LargeWrite(file, rec->rb->recovered, rec->rb->sampleSize); -+ LargeWrite(file, rec->rb->recovered, rec->rb->sampleSize); - LargeClose(file); - - SetLabelText(GTK_LABEL(rec->rightLabel), _("Buffer saved to %s."), path); -@@ -653,7 +651,7 @@ static gboolean expose_cb(GtkWidget *widget, GdkEventExpose *event, gpointer dat - /* Button press event handler */ - - static gboolean button_cb(GtkWidget *widget, GdkEventButton *event, gpointer data) --{ static int last_action; -+{ - raw_editor_context *rec = Closure->rawEditorContext; - RawBuffer *rb = rec->rb; - int mouse_x = event->x; -@@ -816,7 +814,6 @@ static gboolean button_cb(GtkWidget *widget, GdkEventButton *event, gpointer dat - - // undo_remember(rec); - -- last_action = rec->onClickAction; - return TRUE; - } - -diff --git a/recover-raw.c b/recover-raw.c -index 892a7c0..4789922 100644 ---- a/recover-raw.c -+++ b/recover-raw.c -@@ -183,7 +183,7 @@ void ResetRawBuffer(RawBuffer *rb) - for(i=0; iqParityN[i][0] = rb->qParityN[i][1] = 0; - -- rb->bestFrame = rb->bestFrame = 0; -+ rb->bestFrame = 0; - rb->bestP1 = rb->bestP2 = N_P_VECTORS; - rb->bestQ1 = rb->bestQ2 = N_Q_VECTORS; - } -diff --git a/rs01-common.c b/rs01-common.c -index b8294c2..c6c2927 100644 ---- a/rs01-common.c -+++ b/rs01-common.c -@@ -96,7 +96,6 @@ void RS01ScanImage(Method *method, ImageInfo *ii, EccInfo *ei, int mode) - gint64 prev_missing = 0; - gint64 prev_crc_errors = 0; - int last_percent,current_missing; -- int fp_sector = FINGERPRINT_SECTOR; - char *msg; - - /* Extract widget list from method */ -@@ -110,7 +109,6 @@ void RS01ScanImage(Method *method, ImageInfo *ii, EccInfo *ei, int mode) - { LargeSeek(ei->file, 0); - LargeRead(ei->file, &eh, sizeof(EccHeader)); - eh_sectors = uchar_to_gint64(eh.sectors); -- fp_sector = eh.fpSector; - } - - /* Position behind the ecc file header, -diff --git a/rs01-fix.c b/rs01-fix.c -index fe7707b..c6e6a5f 100644 ---- a/rs01-fix.c -+++ b/rs01-fix.c -@@ -115,12 +115,10 @@ void RS01Fix(Method *method) - EccHeader *eh = NULL; - unsigned char parity[256]; - int erasure_count,erasure_list[256],erasure_map[256]; -- int unexpected_failure; - gint64 block_idx[256]; - gint64 s,si; - int i,j,k,n; - gint64 corrected, uncorrected; -- gint64 last_corrected, last_uncorrected; - gint64 parity_block = 0; - int worst_ecc,damaged_ecc,damaged_sec,percent,last_percent = -1; - int cache_size,cache_sector,cache_offset = 0; -@@ -345,7 +343,6 @@ void RS01Fix(Method *method) - /*** Verify ecc information for the medium image. */ - - corrected = uncorrected = 0; -- last_corrected = last_uncorrected = 0; - worst_ecc = damaged_ecc = damaged_sec = local_plot_max = 0; - - for(si=0; siimgBlock[i]+cache_offset, 2048); + n = LargeWrite(image->eccFile, cache_offset+fc->imgBlock[i], 2048); + if(n != 2048) diff --git a/scsi-layer.c b/scsi-layer.c -index cd7795a..0ba0976 100644 +index 64a3dba..3be21ff 100644 --- a/scsi-layer.c +++ b/scsi-layer.c -@@ -30,7 +30,9 @@ +@@ -31,7 +31,9 @@ static int query_type(DeviceHandle*, int); - static unsigned int query_size(DeviceHandle*); + static gint64 query_size(Image*); +#if 0 static int query_copyright(DeviceHandle*); +#endif static int read_dvd_sector(DeviceHandle*, unsigned char*, int, int); static int read_cd_sector(DeviceHandle*, unsigned char*, int, int); -@@ -1656,6 +1658,7 @@ reset_mode_page: +@@ -1649,6 +1651,7 @@ reset_mode_page: * Find out whether we are allowed to create an image from the DVD. */ @@ -391,7 +260,7 @@ index cd7795a..0ba0976 100644 static int query_copyright(DeviceHandle *dh) { Sense sense; AlignedBuffer *ab = CreateAlignedBuffer(2048); -@@ -1716,6 +1719,7 @@ static int query_copyright(DeviceHandle *dh) +@@ -1709,6 +1712,7 @@ static int query_copyright(DeviceHandle *dh) return result; } @@ -400,10 +269,10 @@ index cd7795a..0ba0976 100644 /* * See whether a sector lies within the user area. diff --git a/smart-lec.c b/smart-lec.c -index 621ef86..3739a44 100644 +index 8da74ff..0355879 100644 --- a/smart-lec.c +++ b/smart-lec.c -@@ -26,9 +26,9 @@ +@@ -27,9 +27,9 @@ #define VERBOSE 1 #ifdef VERBOSE @@ -415,7 +284,7 @@ index 621ef86..3739a44 100644 #endif /*** -@@ -431,7 +431,7 @@ static void update_pq_state(sh_context *shc) +@@ -432,7 +432,7 @@ static void update_pq_state(sh_context *shc) static void print_pq_state(sh_context *shc) { int i; @@ -424,7 +293,7 @@ index 621ef86..3739a44 100644 for(i=0; ipState[i] == 1) -@@ -1353,7 +1353,7 @@ static void swap_p_for_new_improvement(sh_context *shc) +@@ -1354,7 +1354,7 @@ static void swap_p_for_new_improvement(sh_context *shc) count++; if(count < 2) @@ -433,7 +302,7 @@ index 621ef86..3739a44 100644 goto decrement; } -@@ -1416,7 +1416,7 @@ decrement: +@@ -1417,7 +1417,7 @@ decrement: if(index >= n_q) break; selection[index]=0; @@ -442,84 +311,3 @@ index 621ef86..3739a44 100644 } } } -diff --git a/tools/codec.c b/tools/codec.c -index 33b85e0..ed7f4cb 100644 ---- a/tools/codec.c -+++ b/tools/codec.c -@@ -20,6 +20,7 @@ - #include - #include - #include -+#include - - #include - -@@ -520,6 +521,7 @@ void LoadPPK(char *name, Image ***list_out, int *n_out) - - file_format = load_int(bzfile); /* always zero */ - file_format = load_int(bzfile); -+ (void) file_format; - - /* read the image list */ - -diff --git a/tools/decimate.c b/tools/decimate.c -index b754ca4..13cbc6a 100644 ---- a/tools/decimate.c -+++ b/tools/decimate.c -@@ -21,6 +21,7 @@ - #include - #include - #include -+#include - - #include "pngio.h" - #include "memory.h" -diff --git a/tools/memory.c b/tools/memory.c -index edf32ec..2fb34ec 100644 ---- a/tools/memory.c -+++ b/tools/memory.c -@@ -144,9 +144,8 @@ int forget(void *ptr) - static void print_ptr(memchunk *mc, int size) - { char strbuf[16]; - char *ptr = (char*)mc->ptr; -- int j,maxlen; -+ int j; - -- if(mc->size < size) maxlen = mc->size; else maxlen = size; - for(j=0; j<15; j++) - { if(ptr[j]<32) break; - strbuf[j] = ptr[j]; -diff --git a/tools/pngio.c b/tools/pngio.c -index 6c0f014..68db499 100644 ---- a/tools/pngio.c -+++ b/tools/pngio.c -@@ -20,6 +20,7 @@ - #include - #include - #include -+#include - #include - - #include "pngio.h" -@@ -81,8 +82,7 @@ Image *LoadPNG(char *name) - - /* verify that we've got a png file */ - -- fread(buf, 1, 8, pi->file); -- if(png_sig_cmp(buf, 0, 8)) -+ if(fread(buf, 1, 8, pi->file) < 8 || png_sig_cmp(buf, 0, 8)) - { fclose(pi->file); - fprintf(stdout, "%s is not a .png file!\n", name); - fflush(stdout); -diff --git a/tools/pngpack.c b/tools/pngpack.c -index c0d1c76..f882a08 100644 ---- a/tools/pngpack.c -+++ b/tools/pngpack.c -@@ -22,6 +22,7 @@ - #include - #include - #include -+#include - - #include "md5.h" - #include "pngio.h" diff --git a/debian/patches/18-update-copyright-in-about-dialog.patch b/debian/patches/18-update-copyright-in-about-dialog.patch index 5aabfce..e142205 100644 --- a/debian/patches/18-update-copyright-in-about-dialog.patch +++ b/debian/patches/18-update-copyright-in-about-dialog.patch @@ -6,7 +6,7 @@ Description: Update copyright notice in about dialog. Author: Carlos Maddela Origin: vendor Forwarded: not-needed -Last-Update: 2016-12-22 +Last-Update: 2017-01-05 --- This patch header follows DEP-3: http://dep.debian.net/deps/dep3/ --- @@ -14,18 +14,18 @@ This patch header follows DEP-3: http://dep.debian.net/deps/dep3/ 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/help-dialogs.c b/help-dialogs.c -index fb1b457..3658bfc 100644 +index c89c552..0f4e3b2 100644 --- a/help-dialogs.c +++ b/help-dialogs.c -@@ -722,8 +722,9 @@ void AboutDialog() +@@ -723,8 +723,9 @@ void AboutDialog() g_free(text); #ifdef MODIFIED_SOURCE - AboutTextWithLink(vbox, -- _("Modified version Copyright 2012 (please fill in - [directions])\n" +- _("Modified version Copyright 2015 (please fill in - [directions])\n" + AboutTextWithLink(vbox, + _("[Modified version]\n" + "Copyright 2005-2016 Debian Optical Media Tools Team\n" - "Copyright 2004-2012 Carsten Gnoerlich"), + "Copyright 2004-2015 Carsten Gnoerlich"), "MODIFYING"); #else diff --git a/debian/patches/19-show-text-files-with-abs-path.patch b/debian/patches/19-show-text-files-with-abs-path.patch index c2b39fc..10c1d3b 100644 --- a/debian/patches/19-show-text-files-with-abs-path.patch +++ b/debian/patches/19-show-text-files-with-abs-path.patch @@ -14,10 +14,10 @@ This patch header follows DEP-3: http://dep.debian.net/deps/dep3/ 1 file changed, 18 insertions(+) diff --git a/help-dialogs.c b/help-dialogs.c -index 3658bfc..9151d52 100644 +index 0f4e3b2..6214429 100644 --- a/help-dialogs.c +++ b/help-dialogs.c -@@ -422,6 +422,24 @@ char *find_file(char *file, size_t *size, char *lang) +@@ -423,6 +423,24 @@ char *find_file(char *file, size_t *size, char *lang) lang_suffix[1] = lang[1]; } diff --git a/debian/patches/20-display-changelog-credits-and-todo.patch b/debian/patches/20-display-changelog-credits-and-todo.patch index 19598d0..8f5d4be 100644 --- a/debian/patches/20-display-changelog-credits-and-todo.patch +++ b/debian/patches/20-display-changelog-credits-and-todo.patch @@ -17,10 +17,10 @@ This patch header follows DEP-3: http://dep.debian.net/deps/dep3/ 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/menubar.c b/menubar.c -index 99ae4fc..33e6ba4 100644 +index 12f1933..15ce4ad 100644 --- a/menubar.c +++ b/menubar.c -@@ -116,21 +116,21 @@ static void menu_cb(GtkWidget *widget, gpointer data) +@@ -126,21 +126,21 @@ static void menu_cb(GtkWidget *widget, gpointer data) ShowTextfile(_("windowtitle|Change log"), _("Change log\n" "Major differences from earlier program versions."), diff --git a/debian/patches/21-fix-privacy-breach-in-doco.patch b/debian/patches/21-fix-privacy-breach-in-doco.patch deleted file mode 100644 index 5a33f54..0000000 --- a/debian/patches/21-fix-privacy-breach-in-doco.patch +++ /dev/null @@ -1,106 +0,0 @@ -From: Carlos Maddela -Date: Fri, 23 Dec 2016 05:51:56 +1100 -Subject: Don't allow doco to automatically fetch resources from the internet. - -Description: Don't allow doco to automatically fetch resources from - the internet. - . - Remove link to the newsfeed, to fix Lintian privacy-breach-generic - warning. The news feed no longer works anyway. -Author: Carlos Maddela -Origin: vendor -Forwarded: not-needed -Last-Update: 2016-12-23 ---- -This patch header follows DEP-3: http://dep.debian.net/deps/dep3/ ---- - documentation/cs/index.html | 3 +-- - documentation/de/index.html | 3 +-- - documentation/en/index.html | 3 +-- - documentation/ru/index.html | 3 +-- - 4 files changed, 4 insertions(+), 8 deletions(-) - -diff --git a/documentation/cs/index.html b/documentation/cs/index.html -index 7fa1778..920d849 100644 ---- a/documentation/cs/index.html -+++ b/documentation/cs/index.html -@@ -4,7 +4,6 @@ - - Přehled - -- - - - -@@ -88,7 +87,7 @@ - -
- Novinky -- Subscribe to dvdisaster news feed -+ Subscribe to dvdisaster news feed - - - -diff --git a/documentation/de/index.html b/documentation/de/index.html -index 994dbcb..85f4076 100644 ---- a/documentation/de/index.html -+++ b/documentation/de/index.html -@@ -4,7 +4,6 @@ - - Überblick - -- - - - -@@ -118,7 +117,7 @@ Solche Funktionen sind mit den Zielen und dem inneren Aufbau von dvdisaster nich -
-
- Neuigkeiten -- Subscribe to dvdisaster news feed -+ Subscribe to dvdisaster news feed - - - -diff --git a/documentation/en/index.html b/documentation/en/index.html -index 32fe230..ff2a30f 100644 ---- a/documentation/en/index.html -+++ b/documentation/en/index.html -@@ -4,7 +4,6 @@ - - Overview - -- - - - -@@ -117,7 +116,7 @@ Such functions are outside the scope of dvdisaster's internal design and goals.< -
-
- News -- Subscribe to dvdisaster news feed -+ Subscribe to dvdisaster news feed - - - -diff --git a/documentation/ru/index.html b/documentation/ru/index.html -index 1126100..d74caa1 100644 ---- a/documentation/ru/index.html -+++ b/documentation/ru/index.html -@@ -4,7 +4,6 @@ - - Обзор - -- - - - -@@ -115,7 +114,7 @@ dvdisaster хранит данные на CD/DVD (по -
-
- Новости -- Subscribe to dvdisaster news feed -+ Subscribe to dvdisaster news feed - - - diff --git a/debian/patches/22-fix-hurd-i386-ftbfs.patch b/debian/patches/22-fix-hurd-i386-ftbfs.patch index 26540ca..86f3208 100644 --- a/debian/patches/22-fix-hurd-i386-ftbfs.patch +++ b/debian/patches/22-fix-hurd-i386-ftbfs.patch @@ -16,10 +16,10 @@ This patch header follows DEP-3: http://dep.debian.net/deps/dep3/ 1 file changed, 4 insertions(+) diff --git a/menubar.c b/menubar.c -index 33e6ba4..0a40e1a 100644 +index 15ce4ad..df4203c 100644 --- a/menubar.c +++ b/menubar.c -@@ -23,6 +23,10 @@ +@@ -24,6 +24,10 @@ #include diff --git a/debian/patches/23-add-bdrom-support.patch b/debian/patches/23-add-bdrom-support.patch index 667b2f1..90d169c 100644 --- a/debian/patches/23-add-bdrom-support.patch +++ b/debian/patches/23-add-bdrom-support.patch @@ -18,10 +18,10 @@ This patch header follows DEP-3: http://dep.debian.net/deps/dep3/ 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scsi-layer.c b/scsi-layer.c -index 0ba0976..8b005ec 100644 +index 3be21ff..b70a4a4 100644 --- a/scsi-layer.c +++ b/scsi-layer.c -@@ -1035,7 +1035,7 @@ static int query_bd(DeviceHandle *dh, int probe_only) +@@ -1029,7 +1029,7 @@ static int query_bd(DeviceHandle *dh, int probe_only) if(!strncmp((char*)&buf[4+8], "BDO", 3)) { dh->typeDescr = g_strdup("BD-ROM"); diff --git a/debian/patches/24-show-gpl3-license.patch b/debian/patches/24-show-gpl3-license.patch new file mode 100644 index 0000000..4b8f2f4 --- /dev/null +++ b/debian/patches/24-show-gpl3-license.patch @@ -0,0 +1,28 @@ +From: Carlos Maddela +Date: Thu, 5 Jan 2017 14:36:27 +1100 +Subject: Update help dialog to show GPL-3 license. + +Description: Update help dialog to show GPL-3 license. +Author: Carlos Maddela +Origin: vendor +Forwarded: not-needed +Last-Update: 2017-01-05 +--- +This patch header follows DEP-3: http://dep.debian.net/deps/dep3/ +--- + help-dialogs.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/help-dialogs.c b/help-dialogs.c +index 6214429..5065e76 100644 +--- a/help-dialogs.c ++++ b/help-dialogs.c +@@ -403,7 +403,7 @@ void ShowGPL() + ShowTextfile(_("windowtitle|GNU General Public License"), + _("GNU General Public License\n" + "The license terms of dvdisaster."), +- "/usr/share/common-licenses/GPL-2", NULL, NULL); ++ "/usr/share/common-licenses/GPL-3", NULL, NULL); + } + + /* diff --git a/debian/patches/25-fix-man-pages.patch b/debian/patches/25-fix-man-pages.patch new file mode 100644 index 0000000..46c4e65 --- /dev/null +++ b/debian/patches/25-fix-man-pages.patch @@ -0,0 +1,33 @@ +From: Carlos Maddela +Date: Thu, 5 Jan 2017 18:51:49 +1100 +Subject: Fix generated man pages. + +Description: Fix generated man pages. + The generated man pages incorrectly direct users to the directory of + the old HTML documentation, which is no longer available. +Author: Carlos Maddela +Origin: vendor +Forwarded: no +Last-Update: 2016-12-21 +--- +This patch header follows DEP-3: http://dep.debian.net/deps/dep3/ +--- + GNUmakefile.template | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/GNUmakefile.template b/GNUmakefile.template +index d9bef11..d80932d 100644 +--- a/GNUmakefile.template ++++ b/GNUmakefile.template +@@ -232,9 +232,9 @@ install: dvdisaster + install -d $(BUILDROOT)$(MANDIR)/de/man1 + cd documentation; \ + ESCAPED_DOCSUBDIR=`echo $(DOCSUBDIR) | sed -e 's/\//\\\\\//g'`; \ +- sed "s/%docdir%/$$ESCAPED_DOCSUBDIR\/html/" dvdisaster.updated; \ ++ sed "s/%docdir%/$$ESCAPED_DOCSUBDIR/" dvdisaster.updated; \ + install -m 644 dvdisaster.updated $(BUILDROOT)$(MANDIR)/man1/dvdisaster.1; \ +- sed "s/%docdir%/$$ESCAPED_DOCSUBDIR\/html/" dvdisaster.updated; \ ++ sed "s/%docdir%/$$ESCAPED_DOCSUBDIR/" dvdisaster.updated; \ + install -m 644 dvdisaster.updated $(BUILDROOT)$(MANDIR)/de/man1/dvdisaster.1; \ + rm dvdisaster.updated + if echo $(WITH_OPTIONS) | grep "NLS_YES" >/dev/null; then \ diff --git a/debian/patches/26-fix-display-of-manual.pdf.patch b/debian/patches/26-fix-display-of-manual.pdf.patch new file mode 100644 index 0000000..9a94114 --- /dev/null +++ b/debian/patches/26-fix-display-of-manual.pdf.patch @@ -0,0 +1,48 @@ +From: Carlos Maddela +Date: Thu, 5 Jan 2017 18:59:30 +1100 +Subject: Fix display of manual.pdf. + +Description: Fix display of manual.pdf. + The PDF file is automatically compressed by Debhelper, so we need to + account for this. +Author: Carlos Maddela +Origin: vendor +Forwarded: not-needed +Last-Update: 2017-01-05 +--- +This patch header follows DEP-3: http://dep.debian.net/deps/dep3/ +--- + show-manual.c | 4 ++-- + welcome-window.c | 4 ++-- + 2 files changed, 4 insertions(+), 4 deletions(-) + +diff --git a/show-manual.c b/show-manual.c +index d53c9a5..ecb0922 100644 +--- a/show-manual.c ++++ b/show-manual.c +@@ -287,8 +287,8 @@ void ShowPDF(char *target) + + /* If no target is given, show the manual. */ + +- if(!target) +- { bi->path = g_strdup_printf("%s/manual.pdf",Closure->docDir); ++ if(!target) ++ { bi->path = g_strdup_printf("%s/manual.pdf.gz",Closure->docDir); + } + else + if(*target != '/') bi->path = g_strdup_printf("%s/%s",Closure->docDir, target); +diff --git a/welcome-window.c b/welcome-window.c +index 1046bc8..3261b7c 100644 +--- a/welcome-window.c ++++ b/welcome-window.c +@@ -138,8 +138,8 @@ void CreateWelcomePage(GtkNotebook *notebook) + AboutText(box, _("\ndvdisaster creates error correction data to protect\n" + "optical media (CD,DVD,BD) against data loss.\n")); + +- AboutTextWithLink(box, _("Please see the [manual] for typical uses of dvdisaster.\n\n"), +- "manual.pdf"); ++ AboutTextWithLink(box, _("Please see the [manual] for typical uses of dvdisaster.\n\n"), ++ "manual.pdf.gz"); + + AboutText(box, _("New in this Version:")); + diff --git a/debian/patches/27-allow-opening-in-browser-again.patch b/debian/patches/27-allow-opening-in-browser-again.patch new file mode 100644 index 0000000..cc9b782 --- /dev/null +++ b/debian/patches/27-allow-opening-in-browser-again.patch @@ -0,0 +1,486 @@ +From: Carlos Maddela +Date: Thu, 5 Jan 2017 19:11:38 +1100 +Subject: Resurrect old code to support opening URLs in a browser. + +Description: Resurrect old code to support opening URLs in a browser. +Author: Carlos Maddela +Origin: vendor +Forwarded: not-needed +Last-Update: 2016-12-21 +--- +This patch header follows DEP-3: http://dep.debian.net/deps/dep3/ +--- + closure.c | 2 + + dvdisaster.h | 7 + + help-dialogs.c | 3 +- + show-html.c | 402 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + 4 files changed, 413 insertions(+), 1 deletion(-) + create mode 100644 show-html.c + +diff --git a/closure.c b/closure.c +index 0e2f889..632c103 100644 +--- a/closure.c ++++ b/closure.c +@@ -467,6 +467,7 @@ void InitClosure() + Closure->deviceNames = g_ptr_array_new(); + Closure->deviceNodes = g_ptr_array_new(); + Closure->viewer = g_strdup("xdg-open"); ++ Closure->browser = g_strdup("xdg-open"); + Closure->methodList = g_ptr_array_new(); + Closure->methodName = g_strdup("RS01"); + Closure->dDumpDir = g_strdup(Closure->homeDir); +@@ -598,6 +599,7 @@ void FreeClosure() + cond_free(Closure->binDir); + cond_free(Closure->docDir); + cond_free(Closure->viewer); ++ cond_free(Closure->browser); + cond_free(Closure->errorTitle); + cond_free(Closure->simulateCD); + cond_free(Closure->dDumpDir); +diff --git a/dvdisaster.h b/dvdisaster.h +index db2031e..22eab5a 100644 +--- a/dvdisaster.h ++++ b/dvdisaster.h +@@ -213,6 +213,7 @@ typedef struct _GlobalClosure + char *binDir; /* place where the binary resides */ + char *docDir; /* place where our documentation resides */ + char *viewer; /* Name of preferred PDF viewer */ ++ char *browser; /* Name of preferred browser */ + + GMutex progressLock; /* A mutex protected the stuff below */ + char bs[256]; /* A string of 255 backspace characters */ +@@ -1299,6 +1300,12 @@ int ProbeAltiVec(void); + void ShowPDF(char*); + + /*** ++ *** show-html.c ++ ***/ ++ ++void ShowHTML(char*); ++ ++/*** + *** smart-lec.c + ***/ + +diff --git a/help-dialogs.c b/help-dialogs.c +index 5065e76..3874463 100644 +--- a/help-dialogs.c ++++ b/help-dialogs.c +@@ -599,7 +599,8 @@ static gint about_cb(GtkWidget *widget, GdkEvent *event, gpointer data) + { case GDK_BUTTON_PRESS: + if(!inside) return FALSE; /* Defect in certain Gtk versions? */ + if(!strcmp(label,"GPL")) ShowGPL(); +- else if(!strcmp(label,"MODIFYING")) show_modifying(); ++ else if(!strcmp(label,"MODIFYING")) show_modifying(); ++ else if(strlen(label) > 4 && !strncmp(label, "http", 4)) ShowHTML(g_strdup(label)); + else ShowPDF(g_strdup(label)); + break; + case GDK_ENTER_NOTIFY: +diff --git a/show-html.c b/show-html.c +new file mode 100644 +index 0000000..608e8ec +--- /dev/null ++++ b/show-html.c +@@ -0,0 +1,402 @@ ++/* dvdisaster: Additional error correction for optical media. ++ * Copyright (C) 2004-2012 Carsten Gnoerlich. ++ * Project home page: http://www.dvdisaster.com ++ * Email: carsten@dvdisaster.com -or- cgnoerlich@fsfe.org ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program is distributed in the hope that it will be useful, ++ * but WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ * GNU General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA, ++ * or direct your browser at http://www.gnu.org. ++ */ ++ ++#include "dvdisaster.h" ++ ++#if defined(SYS_LINUX) || defined(SYS_FREEBSD) || defined(SYS_NETBSD) ++#include ++#endif ++ ++#ifdef SYS_MINGW ++#include "windows.h" ++#include "shellapi.h" ++#endif ++ ++/*** ++ *** Ask user to specify his browser ++ ***/ ++ ++#if defined(SYS_LINUX) || defined(SYS_FREEBSD) || defined(SYS_NETBSD) ++ ++#define SEARCH_BUTTON 1 ++ ++typedef struct ++{ GtkWidget *dialog; ++ GtkWidget *entry; ++ GtkWidget *search; ++ GtkWidget *filesel; ++ GtkWidget *fileok; ++ GtkWidget *filecancel; ++ char *url; ++} browser_dialog_info; ++ ++static void response_cb(GtkWidget *widget, int response, gpointer data) ++{ browser_dialog_info *bdi = (browser_dialog_info*)data; ++ ++ switch(response) ++ { case GTK_RESPONSE_ACCEPT: ++ if(Closure->browser) g_free(Closure->browser); ++ Closure->browser = g_strdup(gtk_entry_get_text(GTK_ENTRY(bdi->entry))); ++ ShowHTML(bdi->url); ++ break; ++ ++ case GTK_RESPONSE_REJECT: ++ if(bdi->url) g_free(bdi->url); ++ break; ++ } ++ gtk_widget_destroy(widget); ++ if(bdi->filesel) ++ gtk_widget_destroy(bdi->filesel); ++ g_free(bdi); ++} ++ ++static void search_cb(GtkWidget *widget, gpointer data) ++{ browser_dialog_info *bdi = (browser_dialog_info*)data; ++ ++ if(widget == bdi->search) ++ { bdi->filesel = gtk_file_selection_new(_utf("windowtitle|Choose a browser")); ++ bdi->fileok = GTK_FILE_SELECTION(bdi->filesel)->ok_button; ++ bdi->filecancel = GTK_FILE_SELECTION(bdi->filesel)->cancel_button; ++ ReverseCancelOK(GTK_DIALOG(bdi->filesel)); ++ gtk_file_selection_hide_fileop_buttons(GTK_FILE_SELECTION(bdi->filesel)); ++ g_signal_connect(G_OBJECT(GTK_FILE_SELECTION(bdi->filesel)->ok_button), "clicked", ++ G_CALLBACK(search_cb), bdi); ++ ++ g_signal_connect(G_OBJECT(GTK_FILE_SELECTION(bdi->filesel)->cancel_button), "clicked", ++ G_CALLBACK(search_cb), bdi); ++ ++ gtk_widget_show(bdi->filesel); ++ } ++ ++ if(widget == bdi->fileok) ++ { ++ if(Closure->browser) g_free(Closure->browser); ++ Closure->browser = g_strdup(gtk_file_selection_get_filename(GTK_FILE_SELECTION(bdi->filesel))); ++ ShowHTML(bdi->url); ++ gtk_widget_destroy(bdi->filesel); ++ gtk_widget_destroy(bdi->dialog); ++ g_free(bdi); ++ return; ++ } ++ ++ if(widget == bdi->filecancel) ++ { gtk_widget_destroy(bdi->filesel); ++ bdi->filesel = NULL; ++ } ++} ++ ++static void browser_dialog(char *url) ++{ GtkWidget *dialog, *vbox, *hbox, *label, *entry, *button; ++ browser_dialog_info *bdi = g_malloc0(sizeof(browser_dialog_info)); ++ ++ /* Create the dialog */ ++ ++ dialog = gtk_dialog_new_with_buttons(_utf("windowtitle|Browser required"), ++ Closure->window, GTK_DIALOG_DESTROY_WITH_PARENT, ++ GTK_STOCK_OK, GTK_RESPONSE_ACCEPT, ++ GTK_STOCK_CANCEL, GTK_RESPONSE_REJECT, NULL); ++ bdi->dialog = dialog; ++ if(url) ++ { bdi->url = g_strdup(url); ++ } ++ ++ vbox = gtk_vbox_new(FALSE, 0); ++ gtk_box_pack_start(GTK_BOX(GTK_DIALOG(dialog)->vbox), vbox, FALSE, FALSE, 0); ++ gtk_container_set_border_width(GTK_CONTAINER(vbox), 10); ++ ++ /* Insert the contents */ ++ ++ label = gtk_label_new(NULL); ++ gtk_label_set_markup(GTK_LABEL(label), _utf("Could not find a suitable browser.\n\n" ++ "Which browser would you like to use\n" ++ "for reading the online documentation?\n\n" ++ "Please enter its name (e.g. mozilla) or\n" ++ "use the \"Search\" button for a file dialog.\n")), ++ gtk_box_pack_start(GTK_BOX(vbox), label, TRUE, TRUE, 10); ++ ++ hbox = gtk_hbox_new(FALSE, 0); ++ gtk_box_pack_start(GTK_BOX(vbox), hbox, TRUE, TRUE, 10); ++ ++ bdi->entry = entry = gtk_entry_new(); ++ gtk_box_pack_start(GTK_BOX(hbox), entry, FALSE, FALSE, 10); ++ ++ bdi->search = button = gtk_button_new_with_label(_utf("Search")); ++ g_signal_connect(G_OBJECT(button), "clicked", G_CALLBACK(search_cb), bdi); ++ gtk_box_pack_start(GTK_BOX(hbox), button, FALSE, FALSE, 10); ++ ++ /* Show it */ ++ ++ g_signal_connect(dialog, "response", G_CALLBACK(response_cb), bdi); ++ ++ gtk_widget_show_all(dialog); ++} ++#endif /* SYS_ unix-like */ ++ ++/*** ++ *** Show the manual in an external browser ++ ***/ ++ ++/* ++ * Check the child processes exit status ++ * to find whether the browser could be invoked. ++ */ ++ ++typedef struct ++{ pid_t pid; ++ char *url; ++ GtkWidget *msg; ++ int seconds; ++} browser_info; ++ ++ ++static void msg_destroy_cb(GtkWidget *widget, gpointer data) ++{ browser_info *bi = (browser_info*)data; ++ ++ bi->msg = NULL; ++} ++ ++#if defined(SYS_LINUX) || defined(SYS_FREEBSD) || defined(SYS_NETBSD) ++ ++/* ++ * The following list of browsers and html wrappers ++ * will be tried one at a time until one entry succeeds by: ++ * - returning zero ++ * - not returning within 60 seconds ++ */ ++ ++static int browser_index; ++static void try_browser(browser_info*); ++ ++static char *browsers[] = ++{ "user-selection", ++ "xdg-open", ++ "gnome-open", ++ "htmlview", ++ "firefox", ++ "mozilla", ++ "konqueror", ++ "epiphany", ++ "opera", ++ "/Applications/Safari.app/Contents/MacOS/Safari", /* better way to do this? */ ++ NULL ++}; ++ ++static gboolean browser_timeout_func(gpointer data) ++{ browser_info *bi = (browser_info*)data; ++ int status; ++ ++ waitpid(bi->pid, &status, WNOHANG); ++ ++ /* At least mozilla returns random values under FreeBSD on success, ++ so we can't rely on the return value exept our own 110 one. */ ++ ++ if(WIFEXITED(status)) ++ { ++ switch(WEXITSTATUS(status)) ++ { case 110: /* browser did not execute */ ++ browser_index++; ++ if(!browsers[browser_index]) /* all browsers from the list failed */ ++ { browser_dialog(bi->url); ++ ++ if(bi->msg) ++ gtk_widget_destroy(bi->msg); ++ if(bi->url) ++ g_free(bi->url); ++ g_free(bi); ++ } ++ else /* try next browser from list */ ++ { bi->seconds = 0; ++ try_browser(bi); ++ } ++ return FALSE; ++ ++ case 0: /* browser assumed to be successful */ ++ default: ++ if(bi->msg) ++ gtk_widget_destroy(bi->msg); ++ if(bi->url) ++ g_free(bi->url); ++ g_free(bi); ++ return FALSE; ++ } ++ } ++ ++ bi->seconds++; ++ if(bi->seconds == 10 && bi->msg) ++ { gtk_widget_destroy(bi->msg); ++ bi->msg = NULL; ++ } ++ ++ return bi->seconds > 60 ? FALSE : TRUE; ++} ++#endif /* SYS_ unix-like */ ++ ++#ifdef SYS_MINGW ++static gboolean browser_timeout_func(gpointer data) ++{ browser_info *bi = (browser_info*)data; ++ ++ bi->seconds++; ++ ++ if(bi->seconds >= 10) ++ { if(bi->msg) ++ { gtk_widget_destroy(bi->msg); ++ bi->msg = NULL; ++ } ++ if(bi->url) g_free(bi->url); ++ g_free(bi); ++ return FALSE; ++ } ++ ++ return TRUE; ++} ++#endif /* SYS_MINGW */ ++ ++/* ++ * Invoke the browser ++ */ ++ ++#if defined(SYS_LINUX) || defined(SYS_FREEBSD) || defined(SYS_NETBSD) ++static void try_browser(browser_info *bi) ++{ pid_t pid; ++ ++ bi->pid = pid = fork(); ++ ++ if(pid == -1) ++ { printf("fork failed\n"); ++ return; ++ } ++ ++ /* make the parent remember and wait() for the browser */ ++ ++ if(pid > 0) ++ { g_timeout_add(1000, browser_timeout_func, (gpointer)bi); ++ ++ if(browser_index) ++ { g_free(Closure->browser); ++ Closure->browser = g_strdup(browsers[browser_index]); ++ } ++ } ++ ++ /* try calling the browser */ ++ ++ if(pid == 0) ++ { char *argv[10]; ++ int argc = 0; ++ ++ argv[argc++] = browser_index ? browsers[browser_index] : Closure->browser; ++ argv[argc++] = bi->url; ++ argv[argc++] = NULL; ++ execvp(argv[0], argv); ++ ++ _exit(110); /* couldn't execute */ ++ } ++} ++#endif /* SYS_ unix-like */ ++ ++ ++void ShowHTML(char *target) ++{ browser_info *bi = g_malloc0(sizeof(browser_info)); ++ guint64 ignore; ++ const char *lang; ++ char *path = NULL; ++ int http_url; ++ ++ /* If no target is given, select between translations of the manual. */ ++ ++ if(!target) target = g_strdup("index.html"); ++ ++ http_url = strlen(target) > 4 && !strncmp(target, "http", 4); ++ ++ if(!http_url && !strchr(target, '/')) /* create full path */ ++ { ++ if(!Closure->docDir) ++ { ++ CreateMessage(_("Documentation not installed."), GTK_MESSAGE_ERROR); ++ g_free(bi); ++ return; ++ } ++ ++ lang = g_getenv("LANG"); ++ ++ if(lang) ++ { if(!strncmp(lang, "ru", 2)) ++#ifdef SYS_MINGW ++ path = g_strdup_printf("%s\\ru\\%s",Closure->docDir,target); ++#else ++ path = g_strdup_printf("%s/ru/%s",Closure->docDir,target); ++#endif ++ else if(!strncmp(lang, "de", 2)) ++#ifdef SYS_MINGW ++ path = g_strdup_printf("%s\\de\\%s",Closure->docDir,target); ++#else ++ path = g_strdup_printf("%s/de/%s",Closure->docDir,target); ++#endif ++ } ++ ++ if(!path) ++ { ++#ifdef SYS_MINGW ++ path = g_strdup_printf("%s\\en\\%s",Closure->docDir,target); ++#else ++ path = g_strdup_printf("%s/en/%s",Closure->docDir,target); ++#endif ++ } ++ ++#ifdef SYS_MINGW ++ if(!LargeStat(path, &ignore)) ++ { ++ g_free(path); /* the local dir is Windows specific */ ++ path = g_strdup_printf("%s\\local\\%s",Closure->docDir,target); ++ } ++#endif ++ g_free(target); ++ bi->url = path; ++ } ++ else bi->url = target; ++ ++ if(!http_url && !LargeStat(bi->url, &ignore)) ++ { ++ CreateMessage(_("Documentation file\n%s\nnot found.\n"), GTK_MESSAGE_ERROR, bi->url); ++ g_free(bi); ++ g_free(bi->url); ++ return; ++ } ++ ++ /* Lock the help button and show a message for 10 seconds. */ ++ ++ TimedInsensitive(Closure->helpButton, 10000); ++ bi->msg = CreateMessage(_("Please hang on until the browser comes up!"), GTK_MESSAGE_INFO); ++ g_signal_connect(G_OBJECT(bi->msg), "destroy", G_CALLBACK(msg_destroy_cb), bi); ++ ++#ifdef SYS_MINGW ++ /* Okay, Billy wins big time here ;-) */ ++ ++ ShellExecute(NULL, "open", bi->url, NULL, NULL, SW_SHOWNORMAL); ++ g_timeout_add(1000, browser_timeout_func, (gpointer)bi); ++#endif ++ ++#if defined(SYS_LINUX) || defined(SYS_FREEBSD) || defined(SYS_NETBSD) ++ /* Try the first browser */ ++ ++ browser_index = 0; ++ try_browser(bi); ++#endif ++} diff --git a/debian/patches/28-fudge-pdf-doc-ids.patch b/debian/patches/28-fudge-pdf-doc-ids.patch new file mode 100644 index 0000000..c1625c1 --- /dev/null +++ b/debian/patches/28-fudge-pdf-doc-ids.patch @@ -0,0 +1,27 @@ +From: Carlos Maddela +Date: Thu, 5 Jan 2017 19:14:35 +1100 +Subject: Generate the same PDF document IDs for build reproducibility. + +Description: Generate the same PDF IDs for build reproducibility. +Author: Carlos Maddela +Origin: vendor +Forwarded: not-needed +Last-Update: 2016-12-21 +--- +This patch header follows DEP-3: http://dep.debian.net/deps/dep3/ +--- + documentation/user-manual/manual.tex | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/documentation/user-manual/manual.tex b/documentation/user-manual/manual.tex +index 60fb51e..aaab4fa 100644 +--- a/documentation/user-manual/manual.tex ++++ b/documentation/user-manual/manual.tex +@@ -65,6 +65,7 @@ + \fancyfoot{} + \fancyfoot[LE,RO]{page \thepage\ of \pageref{LastPage}} + ++\pdftrailerid{dvdisaster} + \begin{document} + + \definecolor{lightorange}{RGB}{255,224,150} diff --git a/debian/patches/series b/debian/patches/series index d4279ac..9cc762e 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -1,11 +1,7 @@ -01-libpng15.patch 02-encryption.patch 03-dvdrom.patch 05-help-dialog.patch -06-remove-encoding-from-desktop-file.patch -07-fix-spelling-errors-in-binaries.patch 08-fix-gnu-make-detection.patch -09-fix-format-security-warnings.patch 10-use-non-size-specific-icon-and-add-keywords-to-desktop-file.patch 11-no-cruft.patch 12-fix-spelling-of-up-to.patch @@ -17,6 +13,10 @@ 18-update-copyright-in-about-dialog.patch 19-show-text-files-with-abs-path.patch 20-display-changelog-credits-and-todo.patch -21-fix-privacy-breach-in-doco.patch 22-fix-hurd-i386-ftbfs.patch 23-add-bdrom-support.patch +24-show-gpl3-license.patch +25-fix-man-pages.patch +26-fix-display-of-manual.pdf.patch +27-allow-opening-in-browser-again.patch +28-fudge-pdf-doc-ids.patch diff --git a/debian/rules b/debian/rules index fa26510..df2b292 100755 --- a/debian/rules +++ b/debian/rules @@ -6,7 +6,12 @@ include /usr/share/dpkg/buildflags.mk export DEB_CFLAGS_MAINT_APPEND = $(CPPFLAGS) -Wall -Wno-deprecated-declarations -pedantic export DEB_LDFLAGS_MAINT_APPEND = -Wl,--as-needed -MUTABLE_FILES := build.h $(wildcard locale/*.po) +export SOURCE_DATE_EPOCH := \ + $(shell date --date="$$(dpkg-parsechangelog -S Date)" +%s) +export FORCE_SOURCE_DATE = 1 + +MUTABLE_FILES := build.h $(wildcard locale/*.po) \ + documentation/config/version.tex %: dh $@ @@ -18,7 +23,7 @@ override_dh_auto_configure: dh_auto_configure -- \ --localedir=\$${prefix}/share/locale \ --docdir=\$${prefix}share/doc \ - --docsubdir=dvdisaster-doc/html \ + --docsubdir=dvdisaster-doc \ --with-embedded-src-path=no override_dh_clean: @@ -30,14 +35,23 @@ override_dh_clean: override_dh_auto_build-arch: make all +# For the time being, we'll just package the upstream-generated +# manual.pdf, since we can't build the PDF reproducibly ourselves. +# The reason we can't is most probably due to the fact that the +# LaTeX document embeds other PDF documents and PNG images. +# Although we are able to reproduce the PDF's creation and mod +# dates, as well as its PDF IDs, the stream elements representing +# the embedded images are always what seem to differ each time we +# try to generate the PDF. override_dh_auto_build-indep: - make images + # make manual + true override_dh_auto_install-arch: dh_auto_install -a -- BUILDROOT=$(CURDIR)/debian/tmp override_dh_auto_install-indep: - make install-doc BUILDROOT=$(CURDIR)/debian/tmp + true # Ensure that none of the text files that the application # tries to display directly are not compressed, as it doesn't diff --git a/documentation/cs/images/.gitignore b/documentation/cs/images/.gitignore deleted file mode 100644 index e69de29..0000000 diff --git a/documentation/cs/thumbnails/.gitignore b/documentation/cs/thumbnails/.gitignore deleted file mode 100644 index e69de29..0000000 diff --git a/documentation/de/images/.gitignore b/documentation/de/images/.gitignore deleted file mode 100644 index e69de29..0000000 diff --git a/documentation/de/thumbnails/.gitignore b/documentation/de/thumbnails/.gitignore deleted file mode 100644 index e69de29..0000000 diff --git a/documentation/en/images/.gitignore b/documentation/en/images/.gitignore deleted file mode 100644 index e69de29..0000000 diff --git a/documentation/en/thumbnails/.gitignore b/documentation/en/thumbnails/.gitignore deleted file mode 100644 index e69de29..0000000 diff --git a/documentation/images/.gitignore b/documentation/images/.gitignore deleted file mode 100644 index e69de29..0000000 diff --git a/documentation/ru/images/.gitignore b/documentation/ru/images/.gitignore deleted file mode 100644 index e69de29..0000000 diff --git a/documentation/ru/thumbnails/.gitignore b/documentation/ru/thumbnails/.gitignore deleted file mode 100644 index e69de29..0000000