Hello community, here is the log from the commit of package dvdisaster for openSUSE:Factory checked in at 2020-07-03 00:04:34 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/dvdisaster (Old) and /work/SRC/openSUSE:Factory/.dvdisaster.new.3060 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "dvdisaster" Fri Jul 3 00:04:34 2020 rev:3 rq:812049 version:0.79.6 Changes: -------- --- /work/SRC/openSUSE:Factory/dvdisaster/dvdisaster.changes 2018-01-13 21:47:19.482977672 +0100 +++ /work/SRC/openSUSE:Factory/.dvdisaster.new.3060/dvdisaster.changes 2020-07-03 00:07:20.887060486 +0200 @@ -1,0 +2,20 @@ +Fri Jun 5 13:08:38 UTC 2020 - Dave Plater <davejpla...@gmail.com> + +- Fix Factory build with gcc10 and add Debian patches: + 29-fix-more-typos.patch, 23-add-bdrom-support.patch, + 34-gcc8-format-security.patch, 02-encryption.patch, + 17-fix-all-but-deprecated-api-warnings.patch, + 10-use-non-size-specific-icon-and-add-keywords-to-desktop-file.patch + 25-fix-man-pages.patch, 14-make-builds-reproducible.patch, + 11-no-cruft.patch, 18-update-copyright-in-about-dialog.patch, + 30-hurd-kfreebsd-ftbfs.patch, 22-fix-hurd-i386-ftbfs.patch, + 03-dvdrom.patch, 37-suggest-dvdisaster-doc.patch, + 13-fix-missing-language-field-in-po-files.patch, + 32-display-compilation-commands.patch, + 28-pdftex-reproducibility.patch, 05-help-dialog.patch, + 27-allow-opening-in-browser-again.patch and + 24-show-gpl3-license.patch +- Created dvdisaster-no-tex.patch to pevent building of existing + pdf manual. + +------------------------------------------------------------------- Old: ---- dvdisaster-0.79.6.tar.bz2.gpg New: ---- 02-encryption.patch 03-dvdrom.patch 05-help-dialog.patch 10-use-non-size-specific-icon-and-add-keywords-to-desktop-file.patch 11-no-cruft.patch 13-fix-missing-language-field-in-po-files.patch 14-make-builds-reproducible.patch 17-fix-all-but-deprecated-api-warnings.patch 18-update-copyright-in-about-dialog.patch 22-fix-hurd-i386-ftbfs.patch 23-add-bdrom-support.patch 24-show-gpl3-license.patch 25-fix-man-pages.patch 27-allow-opening-in-browser-again.patch 28-pdftex-reproducibility.patch 29-fix-more-typos.patch 30-hurd-kfreebsd-ftbfs.patch 32-display-compilation-commands.patch 34-gcc8-format-security.patch 37-suggest-dvdisaster-doc.patch dvdisaster-0.79.6.tar.bz2.asc dvdisaster-no-tex.patch ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ dvdisaster.spec ++++++ --- /var/tmp/diff_new_pack.vJHFQa/_old 2020-07-03 00:07:26.139077875 +0200 +++ /var/tmp/diff_new_pack.vJHFQa/_new 2020-07-03 00:07:26.143077889 +0200 @@ -1,7 +1,7 @@ # # spec file for package dvdisaster # -# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2020 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -12,7 +12,7 @@ # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. -# Please submit bugfixes or comments via http://bugs.opensuse.org/ +# Please submit bugfixes or comments via https://bugs.opensuse.org/ # @@ -21,13 +21,39 @@ Version: 0.79.6 Release: 0 Summary: Additional error protection for CD/DVD media -License: GPL-3.0 +License: GPL-3.0-or-later Group: Productivity/Multimedia/Other -Url: http://dvdisaster.net/en/index.html -Source0: http://dvdisaster.net/downloads/%{name}-%{version}.tar.bz2 -Source1: http://dvdisaster.net/downloads/%{name}-%{version}.tar.bz2.gpg + +# The official website no longer exists only this mirror +URL: http://htmlpreview.github.io/?https://github.com/lrq3000/dvdisaster/blob/stable/dvdisaster/documentation/en/index.html + +Source0: http://deb.debian.org/debian/pool/main/d/dvdisaster/%{name}_%{version}.orig.tar.bz2#/%{name}-%{version}.tar.bz2 +Source1: http://deb.debian.org/debian/pool/main/d/%{name}/%{name}_%{version}.orig.tar.bz2.asc#/%{name}-%{version}.tar.bz2.asc # PATCH-FIX-UPSTREAM davejpla...@gmail.com Fix scripts/bash-based-configure to work in Tumbleweed. Patch0: dvdisaster-findmake.patch +# Patches from Debian +Patch1: 29-fix-more-typos.patch +Patch6: 23-add-bdrom-support.patch +Patch7: 34-gcc8-format-security.patch +Patch8: 02-encryption.patch +Patch9: 17-fix-all-but-deprecated-api-warnings.patch +Patch10: 10-use-non-size-specific-icon-and-add-keywords-to-desktop-file.patch +Patch12: 25-fix-man-pages.patch +Patch17: 14-make-builds-reproducible.patch +Patch18: 11-no-cruft.patch +Patch19: 18-update-copyright-in-about-dialog.patch +Patch20: 30-hurd-kfreebsd-ftbfs.patch +Patch23: 22-fix-hurd-i386-ftbfs.patch +Patch24: 03-dvdrom.patch +Patch26: 37-suggest-dvdisaster-doc.patch +Patch27: 13-fix-missing-language-field-in-po-files.patch +Patch28: 32-display-compilation-commands.patch +Patch29: 28-pdftex-reproducibility.patch +Patch30: 05-help-dialog.patch +Patch31: 27-allow-opening-in-browser-again.patch +Patch32: 24-show-gpl3-license.patch +#PATCH-FIX-OPENSUSE davejpla...@gmail.com dvdisaster-no-tex.patch - tries to build pdfs that already exist +Patch33: dvdisaster-no-tex.patch BuildRequires: desktop-file-utils BuildRequires: gettext BuildRequires: pkgconfig @@ -62,8 +88,6 @@ %package docs Summary: PDF Documentation for dvdisaster Group: Documentation/Other -Summary: Additional error protection for CD/DVD media -Group: Documentation/Other BuildArch: noarch %description docs @@ -71,16 +95,18 @@ %prep %setup -q -%patch0 +%autopatch -p1 gmake -v | grep "GNU Make" && echo $# || echo $# %build +#gcc10 is picky about global headers without extern, -fcommon fixes this for now. +export CFLAGS="%{optflags} -fcommon" %configure --with-nls=yes \ --docdir=%{_docdir} \ --docsubdir=%{name} \ --localedir=%{_datadir}/locale \ --buildroot=%{buildroot} -make V=1 +make --trace # Parallel make breaks translations sometimes. #%%{?_smp_mflags} %install @@ -90,7 +116,8 @@ %files -f dvdisaster.lang %{_bindir}/%{name} -%doc README CHANGELOG COPYING CREDITS.de CREDITS.en README.MODIFYING TODO +%doc README CHANGELOG CREDITS.de CREDITS.en README.MODIFYING TODO +%license COPYING %{_mandir}/de/man1/%{name}.1%{ext_man} %{_mandir}/man1/%{name}.1%{ext_man} %exclude %{_docdir}/%{name}/manual.pdf ++++++ 02-encryption.patch ++++++ From: Optical Media Tools Team <pkg-opt-media-t...@lists.alioth.debian.org> Date: Sun, 8 Apr 2012 21:51:29 +0900 Subject: Disables to skip on encrypted disks (e.g. DVD with CSS-Encryption). Description: Disables to skip on encrypted disks (e.g. DVD with CSS-Encryption). Author: n/a Last-Update: 2012-04-08 --- This patch header follows DEP-3: http://dep.debian.net/deps/dep3/ --- scsi-layer.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/scsi-layer.c b/scsi-layer.c index cad13d4..866b7ac 100644 --- a/scsi-layer.c +++ b/scsi-layer.c @@ -2695,12 +2695,13 @@ Image* OpenImageFromDevice(char *device) return NULL; } } - +/* if(dh->mainType == DVD && query_copyright(dh)) { CloseImage(image); Stop(_("This software does not support encrypted media.\n")); return NULL; } +*/ /* Create the bitmap of simulated defects */ ++++++ 03-dvdrom.patch ++++++ From: Corey Wright <undefi...@pobox.com> Date: Tue, 6 Mar 2012 11:10:30 +0900 Subject: Adds support for DVD-ROM medium-type. Description: Adds support for DVD-ROM medium-type. Author: Corey Wright <undefi...@pobox.com> Last-Update: 2012-03-06 --- This patch header follows DEP-3: http://dep.debian.net/deps/dep3/ --- scsi-layer.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/scsi-layer.c b/scsi-layer.c index 866b7ac..b3a9d0e 100644 --- a/scsi-layer.c +++ b/scsi-layer.c @@ -908,6 +908,11 @@ static int query_dvd(DeviceHandle *dh, int probe_only) break; } + if(layer_type & 0x01) + { dh->typeDescr = g_strdup("DVD-ROM"); + break; + } + if(layer_type & 0x06) /* strange thing: (re-)writeable but neither plus nor dash */ { dh->typeDescr = g_strdup("DVD-ROM (fake)"); dh->subType = DVD; ++++++ 05-help-dialog.patch ++++++ From: Daniel Baumann <dan...@debian.org> Date: Sun, 8 Apr 2012 21:53:29 +0900 Subject: Customizes the help-dialog according to README.MODIFYING. Description: Customizes the help-dialog according to README.MODIFYING. . * 2016-12-19 - Fixed path: /usr/share/common/licenses/GPL-2 -> /usr/share/common-licenses/GPL-2 and restored use of "GPL" label. Author: Daniel Baumann <dan...@debian.org> Last-Update: 2016-12-19 --- This patch header follows DEP-3: http://dep.debian.net/deps/dep3/ --- help-dialogs.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/help-dialogs.c b/help-dialogs.c index c486613..758ac19 100644 --- a/help-dialogs.c +++ b/help-dialogs.c @@ -403,7 +403,7 @@ void ShowGPL() ShowTextfile(_("windowtitle|GNU General Public License"), _("<big>GNU General Public License</big>\n" "<i>The license terms of dvdisaster.</i>"), - "COPYING", NULL, NULL); + "/usr/share/common-licenses/GPL-2", NULL, NULL); } /* @@ -567,7 +567,7 @@ static void show_modifying(void) { ShowTextfile(_("windowtitle|Modifying dvdisaster"), _("<big>Modifying dvdisaster</big>\n" "<i>Your changes are not ours.</i>"), - "README.MODIFYING", NULL, NULL); + "/usr/share/doc/dvdisaster/README.MODIFYING", NULL, NULL); } static gint about_cb(GtkWidget *widget, GdkEvent *event, gpointer data) @@ -746,11 +746,11 @@ void AboutDialog() "GPL"); #ifdef MODIFIED_SOURCE - AboutTextWithLink(vbox, _("\nThis program is <b>not the original</b>. It is based on the\n" - "source code of dvdisaster, but contains third-party changes.\n\n" + AboutTextWithLink(vbox, _("\nThis version is <b>not the original</b>. It has been patched\n" + "for Debian to support DVD-ROMs (with and without encryption).\n\n" "Please do not bother the original authors of dvdisaster\n" - "([www.dvdisaster.org]) about issues with this version.\n"), - "http://www.dvdisaster.org"); + "but submit bugreports against the [debian package] instead.\n"), + "http://packages.qa.debian.org/dvdisaster"); #else lang = g_getenv("LANG"); ++++++ 10-use-non-size-specific-icon-and-add-keywords-to-desktop-file.patch ++++++ From: Carlos Maddela <e7ap...@gmail.com> Date: Mon, 19 Dec 2016 03:40:41 +1100 Subject: Use non-size-specific icon and add keywords to desktop file. Description: Use non-size-specific icon and add keywords to desktop file. Author: Carlos Maddela <e7ap...@gmail.com> Forwarded: no Last-Update: 2016-12-19 --- This patch header follows DEP-3: http://dep.debian.net/deps/dep3/ --- contrib/dvdisaster.desktop | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/contrib/dvdisaster.desktop b/contrib/dvdisaster.desktop index c7661ec..1f9926b 100644 --- a/contrib/dvdisaster.desktop +++ b/contrib/dvdisaster.desktop @@ -6,7 +6,8 @@ Comment=Additional error protection for CD/DVD media Comment[cs]=Přídavná ochrana pro média CD/DVD Comment[de]=Zusätzliche Fehlerkorrektur für CD/DVD Exec=dvdisaster -Icon=dvdisaster48.png +Icon=dvdisaster Terminal=false Type=Application Categories=Application;System; +Keywords=CD;DVD;media;data loss;scratch;aging;error;protection;recovery; ++++++ 11-no-cruft.patch ++++++ From: Carlos Maddela <e7ap...@gmail.com> Date: Mon, 19 Dec 2016 05:06:30 +1100 Subject: Do not install cruft. Description: Do not install cruft. Author: Carlos Maddela <e7ap...@gmail.com> Forwarded: not-needed Last-Update: 2017-12-21 --- This patch header follows DEP-3: http://dep.debian.net/deps/dep3/ --- GNUmakefile.template | 19 ------------------- 1 file changed, 19 deletions(-) diff --git a/GNUmakefile.template b/GNUmakefile.template index 77a57bf..6fda92b 100644 --- a/GNUmakefile.template +++ b/GNUmakefile.template @@ -228,12 +228,6 @@ install: dvdisaster manual install -d $(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) - 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,19 +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-uninstall.sh" >> $(BUILDROOT)$(BINDIR)/dvdisaster-uninstall.sh - @echo "rm -rf $(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 ; \ - 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 ; \ - done - @echo "echo \"dvdisaster has been uninstalled.\"" >> $(BUILDROOT)$(BINDIR)/dvdisaster-uninstall.sh uninstall: @echo "Uninstalling package..." ++++++ 13-fix-missing-language-field-in-po-files.patch ++++++ From: Carlos Maddela <e7ap...@gmail.com> Date: Mon, 19 Dec 2016 07:04:02 +1100 Subject: Fix missing language fields in PO files. Description: Fix missing language fields in PO files. Author: Carlos Maddela <e7ap...@gmail.com> Forwarded: no Last-Update: 2017-01-05 --- This patch header follows DEP-3: http://dep.debian.net/deps/dep3/ --- locale/pt_BR.po | 2 +- locale/ru.po | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/locale/pt_BR.po b/locale/pt_BR.po index 86eda03..f3437f3 100644 --- a/locale/pt_BR.po +++ b/locale/pt_BR.po @@ -11,7 +11,7 @@ msgstr "" "PO-Revision-Date: 2010-06-09 11:13+0200\n" "Last-Translator: cg <c...@dvdisaster.org>\n" "Language-Team: Portuguese\n" -"Language: \n" +"Language: pt_BR\n" "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 7984c59..1bc7324 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 <igor.gorbou...@gmail.com>\n" "Language-Team: Russian\n" -"Language: \n" +"Language: ru\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" ++++++ 14-make-builds-reproducible.patch ++++++ From: Carlos Maddela <e7ap...@gmail.com> Date: Mon, 19 Dec 2016 09:39:49 +1100 Subject: Make builds reproducible. Description: Make builds reproducible. Use the Debian changelog details to derive a build number and date, so that we can make reproducible binaries. Author: Carlos Maddela <e7ap...@gmail.com> Forwarded: not-needed Last-Update: 2017-08-14 --- This patch header follows DEP-3: http://dep.debian.net/deps/dep3/ --- build.c | 2 +- closure.c | 2 +- dvdisaster.h | 2 +- locale/cs.po | 4 ++-- locale/pt_BR.po | 4 ++-- locale/ru.po | 4 ++-- scripts/time-stamper.bash | 8 ++++---- 7 files changed, 13 insertions(+), 13 deletions(-) diff --git a/build.c b/build.c index 0e99b22..65b17cd 100644 --- a/build.c +++ b/build.c @@ -25,4 +25,4 @@ /* build is incremented at each make; make recompile of dependent file as fast as possible */ -int buildCount = BUILD; +const char *const buildCount = BUILD; diff --git a/closure.c b/closure.c index 58ba86f..d633d53 100644 --- a/closure.c +++ b/closure.c @@ -442,7 +442,7 @@ void InitClosure() #define BITNESS_STRING "" #endif - Closure->versionString = g_strdup_printf("dvdisaster %s build %d, %s%s", + Closure->versionString = g_strdup_printf("dvdisaster %s build %s, %s%s", Closure->cookedVersion, buildCount, SYS_NAME, BITNESS_STRING); /* Replace the dot with a locale-resistant separator */ diff --git a/dvdisaster.h b/dvdisaster.h index a466450..9acd094 100644 --- a/dvdisaster.h +++ b/dvdisaster.h @@ -463,7 +463,7 @@ void FreeBitmap(Bitmap*); *** build.h ***/ -int buildCount; +extern const char *const buildCount; /*** *** cacheprobe.h diff --git a/locale/cs.po b/locale/cs.po index 4f766a3..453ec07 100644 --- a/locale/cs.po +++ b/locale/cs.po @@ -6511,11 +6511,11 @@ msgstr "<i>Novinky v této verzi:</i>" #~ msgid "" #~ "\n" -#~ "dvdisaster version %s build %d\n" +#~ "dvdisaster version %s build %s\n" #~ "\n" #~ msgstr "" #~ "\n" -#~ "dvdisaster verze %s sestavení %d\n" +#~ "dvdisaster verze %s sestavení %s\n" #~ "\n" #~ msgid "--prefetch-sectors must be in range 32...8096" diff --git a/locale/pt_BR.po b/locale/pt_BR.po index f3437f3..f7f6af0 100644 --- a/locale/pt_BR.po +++ b/locale/pt_BR.po @@ -6232,11 +6232,11 @@ msgstr "<i>Novidades dessa versão:</i>" #~ msgid "" #~ "\n" -#~ "dvdisaster version %s build %d\n" +#~ "dvdisaster version %s build %s\n" #~ "\n" #~ msgstr "" #~ "\n" -#~ "dvdisaster, versão %s build %d\n" +#~ "dvdisaster, versão %s build %s\n" #~ msgid "--cache-size maximum is 8192MiB." #~ msgstr "--cache-size máximo é 8192MiB." diff --git a/locale/ru.po b/locale/ru.po index 1bc7324..9625a1f 100644 --- a/locale/ru.po +++ b/locale/ru.po @@ -6247,11 +6247,11 @@ msgstr "<i>Новое в этой версии:</i>" #~ msgid "" #~ "\n" -#~ "dvdisaster version %s build %d\n" +#~ "dvdisaster version %s build %s\n" #~ "\n" #~ msgstr "" #~ "\n" -#~ "dvdisaster версия %s сборка %d\n" +#~ "dvdisaster версия %s сборка %s\n" #~ "\n" #~ msgid "--cache-size maximum is 8192MiB." diff --git a/scripts/time-stamper.bash b/scripts/time-stamper.bash index fd28794..4ec3e60 100755 --- a/scripts/time-stamper.bash +++ b/scripts/time-stamper.bash @@ -1,7 +1,7 @@ #!/usr/bin/env bash -build=$(grep BUILD $1 | cut -d\ -f3) -build=$((build+1)) -echo "#define BUILD $build" >$1 -date=$(date +"%d.%m.%y (%A, %H:%M)") +# Use Debian changelog details to derive build number and date. +build=$(echo "${DEB_VERSION}" | cut -f2 -d-) +echo "#define BUILD \"$build\"" >$1 +date=$(date --date="@${SOURCE_DATE_EPOCH}" --utc +"%d.%m.%y (%A, %H:%M)") echo "#define BDATE \"$date\"" >>$1 ++++++ 17-fix-all-but-deprecated-api-warnings.patch ++++++ From: Carlos Maddela <e7ap...@gmail.com> Date: Thu, 22 Dec 2016 11:19:20 +1100 Subject: Fix all warnings except for those related to deprecated API. Description: Fix all warnings except for those related to deprecated API. Author: Carlos Maddela <e7ap...@gmail.com> Bug-Debian: https://bugs.debian.org/748416 Forwarded: no Last-Update: 2017-12-21 --- This patch header follows DEP-3: http://dep.debian.net/deps/dep3/ --- closure.c | 2 +- menubar.c | 2 +- rs03-create.c | 24 ++++++++++++------------ rs03-fix.c | 8 ++++---- scsi-layer.c | 4 ++++ smart-lec.c | 10 +++++----- 6 files changed, 27 insertions(+), 23 deletions(-) diff --git a/closure.c b/closure.c index d633d53..fa52f09 100644 --- a/closure.c +++ b/closure.c @@ -196,7 +196,7 @@ void ReadDotfile() /* Get first MAX_LINE_LEN bytes of line, discard the rest */ line[MAX_LINE_LEN-1] = 1; - 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') ; diff --git a/menubar.c b/menubar.c index 94d462b..ee24ebe 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]; - getcwd(buf, PATH_MAX); + if(!getcwd(buf, PATH_MAX)) return; strcat(buf,"/"); strcat(buf,path); diff --git a/rs03-create.c b/rs03-create.c index 71460ef..9c7265d 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 @@ -714,7 +714,7 @@ static void flush_crc(ecc_closure *ec, LargeFile *file_out) /* Write out the CRC layer */ - 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; @@ -735,7 +735,7 @@ static void flush_parity(ecc_closure *ec, LargeFile *file_out) /* Write out the created parity. */ - verbose("IO: writing parity...\n"); + verbose("%s", "IO: writing parity...\n"); for(k=0; k<lay->nroots; k++) { gint64 idx=0; @@ -752,7 +752,7 @@ static void flush_parity(ecc_closure *ec, LargeFile *file_out) } } } - verbose("IO: parity written.\n"); + verbose("%s", "IO: parity written.\n"); } static gpointer io_thread(ecc_closure *ec) @@ -767,7 +767,7 @@ static gpointer io_thread(ecc_closure *ec) int parity_available = 0; int i; - verbose("Reader thread initializing\n"); + verbose("%s", "Reader thread initializing\n"); /*** Allocate local parity buffer aligned at 128bit boundary */ @@ -835,7 +835,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; } @@ -882,7 +882,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); @@ -924,7 +924,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); @@ -937,7 +937,7 @@ static gpointer io_thread(ecc_closure *ec) flush_crc(ec, file_out); flush_parity(ec, file_out); - verbose("IO: finished\n"); fflush(stdout); + verbose("%s", "IO: finished\n"); fflush(stdout); return NULL; } @@ -1123,7 +1123,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); @@ -1223,7 +1223,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"); } /*** diff --git a/rs03-fix.c b/rs03-fix.c index 7afb6d6..19b9322 100644 --- a/rs03-fix.c +++ b/rs03-fix.c @@ -829,10 +829,10 @@ void RS03Fix(Image *image) if we were processing an augmented image. */ 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)); n = LargeWrite(image->eccFile, cache_offset+fc->imgBlock[i], 2048); if(n != 2048) diff --git a/scsi-layer.c b/scsi-layer.c index b3a9d0e..f8d2112 100644 --- a/scsi-layer.c +++ b/scsi-layer.c @@ -31,7 +31,9 @@ static int query_type(DeviceHandle*, int); 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); @@ -1649,6 +1651,7 @@ reset_mode_page: * Find out whether we are allowed to create an image from the DVD. */ +#if 0 static int query_copyright(DeviceHandle *dh) { Sense sense; AlignedBuffer *ab = CreateAlignedBuffer(2048); @@ -1709,6 +1712,7 @@ static int query_copyright(DeviceHandle *dh) return result; } +#endif /* * See whether a sector lies within the user area. diff --git a/smart-lec.c b/smart-lec.c index 02b9c49..944b70d 100644 --- a/smart-lec.c +++ b/smart-lec.c @@ -27,9 +27,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 /*** @@ -432,7 +432,7 @@ static void update_pq_state(sh_context *shc) static void print_pq_state(sh_context *shc) { int i; - verbose("PQ states: \n"); + verbose("%s", "PQ states: \n"); for(i=0; i<N_P_VECTORS; i++) { if(shc->pState[i] == 1) @@ -1354,7 +1354,7 @@ static void swap_p_for_new_improvement(sh_context *shc) count++; if(count < 2) - { verbose(" pruned"); + { verbose("%s", " pruned"); goto decrement; } @@ -1417,7 +1417,7 @@ decrement: if(index >= n_q) break; selection[index]=0; - verbose("\n"); + verbose("%s", "\n"); } } } ++++++ 18-update-copyright-in-about-dialog.patch ++++++ From: Carlos Maddela <e7ap...@gmail.com> Date: Wed, 21 Dec 2016 07:25:17 +1100 Subject: Update copyright notice in about dialog. Description: Update copyright notice in about dialog. Author: Carlos Maddela <e7ap...@gmail.com> Forwarded: not-needed Last-Update: 2017-12-21 --- This patch header follows DEP-3: http://dep.debian.net/deps/dep3/ --- help-dialogs.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/help-dialogs.c b/help-dialogs.c index 47551f7..3f94920 100644 --- a/help-dialogs.c +++ b/help-dialogs.c @@ -723,8 +723,9 @@ void AboutDialog() g_free(text); #ifdef MODIFIED_SOURCE - AboutTextWithLink(vbox, - _("Modified version Copyright 2017 (please fill in - [directions])\n" + AboutTextWithLink(vbox, + _("[Modified version]\n" + "Copyright 2005-2017 Debian Optical Media Tools Team\n" "Copyright 2004-2017 Carsten Gnoerlich"), "MODIFYING"); #else ++++++ 22-fix-hurd-i386-ftbfs.patch ++++++ From: Carlos Maddela <e7ap...@gmail.com> Date: Wed, 4 Jan 2017 03:55:58 +1100 Subject: Fix FTBFS for hurd-i386. Description: Fix FTBFS for hurd-i386. Hurd does not have path length restrictions, so doesn't define PATH_MAX. Assuming a PATH_MAX of 4096 as a quick workaround. Author: Carlos Maddela <e7ap...@gmail.com> Forwarded: no Last-Update: 2017-01-04 --- This patch header follows DEP-3: http://dep.debian.net/deps/dep3/ --- menubar.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/menubar.c b/menubar.c index 4a9f470..8330edb 100644 --- a/menubar.c +++ b/menubar.c @@ -24,6 +24,10 @@ #include <limits.h> +#ifndef PATH_MAX + #define PATH_MAX 4096 +#endif + /*** *** Forward declarations ***/ ++++++ 23-add-bdrom-support.patch ++++++ From: Corey Wright <undefi...@pobox.com> Date: Sat, 24 Sep 2016 14:16:10 -0500 Subject: Add support for BD-ROM media-type. Description: Add support for BD-ROM media-type. The attached patch adds support to dvdisaster for the BD-ROM media-type. This allows dvdisaster to scan and read (ie create ISO images of) BD-ROM media. Author: Corey Write <undefi...@pobox.com> Origin: other, https://bugs.debian.org/cgi-bin/bugreport.cgi?att=1;bug=849518;filename=dvdisaster-add_bdrom_support.patch;msg=5 Bug-Debian: https://bugs.debian.org/849518 Forwarded: no Last-Update: 2016-12-27 --- This patch header follows DEP-3: http://dep.debian.net/deps/dep3/ --- scsi-layer.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scsi-layer.c b/scsi-layer.c index f8d2112..50f6c4c 100644 --- a/scsi-layer.c +++ b/scsi-layer.c @@ -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"); - dh->subType = UNSUPPORTED; + dh->subType = BD; } if(!strncmp((char*)&buf[4+8], "BDW", 3)) ++++++ 24-show-gpl3-license.patch ++++++ From: Carlos Maddela <e7ap...@gmail.com> 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 <e7ap...@gmail.com> 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 d893d33..75a615e 100644 --- a/help-dialogs.c +++ b/help-dialogs.c @@ -403,7 +403,7 @@ void ShowGPL() ShowTextfile(_("windowtitle|GNU General Public License"), _("<big>GNU General Public License</big>\n" "<i>The license terms of dvdisaster.</i>"), - "/usr/share/common-licenses/GPL-2", NULL, NULL); + "/usr/share/common-licenses/GPL-3", NULL, NULL); } /* ++++++ 25-fix-man-pages.patch ++++++ From: Carlos Maddela <e7ap...@gmail.com> 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 <e7ap...@gmail.com> 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.en.1 >dvdisaster.updated; \ + sed "s/%docdir%/$$ESCAPED_DOCSUBDIR/" <dvdisaster.en.1 >dvdisaster.updated; \ install -m 644 dvdisaster.updated $(BUILDROOT)$(MANDIR)/man1/dvdisaster.1; \ - sed "s/%docdir%/$$ESCAPED_DOCSUBDIR\/html/" <dvdisaster.de.1 >dvdisaster.updated; \ + sed "s/%docdir%/$$ESCAPED_DOCSUBDIR/" <dvdisaster.de.1 >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 \ ++++++ 27-allow-opening-in-browser-again.patch ++++++ From: Carlos Maddela <e7ap...@gmail.com> 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 <e7ap...@gmail.com> 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 fa52f09..24c1e8c 100644 --- a/closure.c +++ b/closure.c @@ -474,6 +474,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); @@ -589,6 +590,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 9acd094..f536040 100644 --- a/dvdisaster.h +++ b/dvdisaster.h @@ -229,6 +229,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 */ @@ -1348,6 +1349,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 75a615e..dc5b440 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: cars...@dvdisaster.com -or- cgnoerl...@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 <sys/wait.h> +#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("<b>Could not find a suitable browser.</b>\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 +} ++++++ 28-pdftex-reproducibility.patch ++++++ From: Carlos Maddela <e7ap...@gmail.com> Date: Thu, 5 Jan 2017 19:14:35 +1100 Subject: Apply pdftex workarounds for build reproducibility. Description: Apply pdftex workarounds for build reproducibility. * Generate the same PDF IDs. * Suppress additional metadata for included images. Author: Carlos Maddela <e7ap...@gmail.com> Forwarded: not-needed Last-Update: 2017-08-15 --- This patch header follows DEP-3: http://dep.debian.net/deps/dep3/ --- documentation/user-manual/manual.tex | 2 ++ 1 file changed, 2 insertions(+) diff --git a/documentation/user-manual/manual.tex b/documentation/user-manual/manual.tex index 3024f3a..d943232 100644 --- a/documentation/user-manual/manual.tex +++ b/documentation/user-manual/manual.tex @@ -65,6 +65,8 @@ \fancyfoot{} \fancyfoot[LE,RO]{page \thepage\ of \pageref{LastPage}} +\pdftrailerid{dvdisaster} +\pdfsuppressptexinfo=-1 \begin{document} \definecolor{lightorange}{RGB}{255,224,150} ++++++ 29-fix-more-typos.patch ++++++ From: Carlos Maddela <e7ap...@gmail.com> Date: Sun, 6 Aug 2017 02:16:17 +1000 Subject: Fix more typos in error messages and docs. MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 8bit Description: Fix more typos in error messages and docs. 'sucessful' → 'successful' 'improvment' → 'improvement' Author: Carlos Maddela <e7ap...@gmail.com> Last-Update: 2017-12-21 --- This patch header follows DEP-3: http://dep.debian.net/deps/dep3/ --- documentation/user-manual/howtos.tex | 2 +- locale/cs.po | 2 +- locale/de.po | 2 +- locale/it.po | 2 +- locale/pt_BR.po | 2 +- locale/ru.po | 2 +- locale/sv.po | 2 +- preferences.c | 4 ++-- regtest/rs01.bash | 2 +- scsi-layer.c | 2 +- smart-lec.c | 2 +- 11 files changed, 12 insertions(+), 12 deletions(-) diff --git a/documentation/user-manual/howtos.tex b/documentation/user-manual/howtos.tex index 51ff827..80fe9d3 100644 --- a/documentation/user-manual/howtos.tex +++ b/documentation/user-manual/howtos.tex @@ -1822,7 +1822,7 @@ process of creating error correction files using these options. The first option marked green lets dvdisaster create the error correction file immediately after the medium has been (completely) read. The second option marked green deletes the image when the error correction -file has been sucessfully created. +file has been successfully created. \bigskip diff --git a/locale/cs.po b/locale/cs.po index 453ec07..d89ff4a 100644 --- a/locale/cs.po +++ b/locale/cs.po @@ -1917,7 +1917,7 @@ msgid "Media ejection" msgstr "Vysunutí disku" #: preferences.c:2064 preferences.c:2065 -msgid "Eject medium after sucessful read" +msgid "Eject medium after successful read" msgstr "Po úspěšném načtení vysunout disk" #: preferences.c:2091 diff --git a/locale/de.po b/locale/de.po index 5b47778..8112b13 100644 --- a/locale/de.po +++ b/locale/de.po @@ -1975,7 +1975,7 @@ msgid "Media ejection" msgstr "Datenträger auswerfen" #: preferences.c:2064 preferences.c:2065 -msgid "Eject medium after sucessful read" +msgid "Eject medium after successful read" msgstr "Datenträger nach erfolgreichem Lesen auswerfen" #: preferences.c:2091 diff --git a/locale/it.po b/locale/it.po index f6e9dfd..b98f8d3 100644 --- a/locale/it.po +++ b/locale/it.po @@ -1763,7 +1763,7 @@ msgid "Media ejection" msgstr "" #: preferences.c:2064 preferences.c:2065 -msgid "Eject medium after sucessful read" +msgid "Eject medium after successful read" msgstr "" #: preferences.c:2091 diff --git a/locale/pt_BR.po b/locale/pt_BR.po index f7f6af0..81ee14d 100644 --- a/locale/pt_BR.po +++ b/locale/pt_BR.po @@ -1853,7 +1853,7 @@ msgid "Media ejection" msgstr "Ejeção da mídia" #: preferences.c:2064 preferences.c:2065 -msgid "Eject medium after sucessful read" +msgid "Eject medium after successful read" msgstr "Ejetar mídia após uma leitura completa" #: preferences.c:2091 diff --git a/locale/ru.po b/locale/ru.po index 9625a1f..6e980b9 100644 --- a/locale/ru.po +++ b/locale/ru.po @@ -1855,7 +1855,7 @@ msgid "Media ejection" msgstr "Извлечь носитель" #: preferences.c:2064 preferences.c:2065 -msgid "Eject medium after sucessful read" +msgid "Eject medium after successful read" msgstr "Извлечь носитель после успешного чтения" #: preferences.c:2091 diff --git a/locale/sv.po b/locale/sv.po index c74a942..3011969 100644 --- a/locale/sv.po +++ b/locale/sv.po @@ -1769,7 +1769,7 @@ msgid "Media ejection" msgstr "" #: preferences.c:2064 preferences.c:2065 -msgid "Eject medium after sucessful read" +msgid "Eject medium after successful read" msgstr "" #: preferences.c:2091 diff --git a/preferences.c b/preferences.c index 4899317..4309809 100644 --- a/preferences.c +++ b/preferences.c @@ -2061,8 +2061,8 @@ void CreatePreferencesWindow(void) frame = gtk_frame_new(_utf("Media ejection")); gtk_box_pack_start(GTK_BOX(vbox), frame, FALSE, FALSE, 0); - lwoh = CreateLabelWithOnlineHelp(_("Eject medium after sucessful read"), - _("Eject medium after sucessful read")); + lwoh = CreateLabelWithOnlineHelp(_("Eject medium after successful read"), + _("Eject medium after successful read")); RegisterPreferencesHelpWindow(lwoh); for(i=0; i<2; i++) diff --git a/regtest/rs01.bash b/regtest/rs01.bash index 3c03f61..cc11f6e 100755 --- a/regtest/rs01.bash +++ b/regtest/rs01.bash @@ -1323,7 +1323,7 @@ if try "reading medium w/ ecc in 3 passes; 3rd pass recovers some" read_multipas run_regtest read_multipass_ecc_partial_success "--read-medium=3 --spinup-delay=0 -r" $TMPISO $TMPECC fi -# Do a second sucessful read attempt at an incomplete image; +# Do a second successful read attempt at an incomplete image; # see whether correct results are reported when ecc data is present # since CRC caching is a bit complicated in this case. diff --git a/scsi-layer.c b/scsi-layer.c index 50f6c4c..22e825d 100644 --- a/scsi-layer.c +++ b/scsi-layer.c @@ -2458,7 +2458,7 @@ int ReadSectors(DeviceHandle *dh, unsigned char *buf, gint64 s, int nsectors) if(Closure->readRaw && dh->rawBuffer) recommended_attempts = dh->rawBuffer->recommendedAttempts; - if(status) /* current try was unsucessful */ + if(status) /* current try was unsuccessful */ { int last_key, last_asc, last_ascq; if(Closure->stopActions) /* user break */ diff --git a/smart-lec.c b/smart-lec.c index 944b70d..534dd65 100644 --- a/smart-lec.c +++ b/smart-lec.c @@ -1609,7 +1609,7 @@ static int smart_lec_iteration(sh_context *shc, char *message) shc->bestBonus = 0; shc->bestMalus = 100000; memcpy(shc->bestFrame, rb->recovered, rb->sampleSize); - sprintf(shc->msg, "smart_lec: no further improvment"); + sprintf(shc->msg, "smart_lec: no further improvement"); update_pq_state(shc); print_pq_state(shc); ++++++ 30-hurd-kfreebsd-ftbfs.patch ++++++ From: Carlos Maddela <e7ap...@gmail.com> Date: Sun, 6 Aug 2017 02:40:33 +1000 Subject: Fix FTBFS on Hurd and kFreeBSD. Description: Fix FTBFS on Hurd and kFreeBSD. Make sure MMAP_FLAGS gets defined. Author: Carlos Maddela <e7ap...@gmail.com> Last-Update: 2017-08-06 --- This patch header follows DEP-3: http://dep.debian.net/deps/dep3/ --- rs03-create.c | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/rs03-create.c b/rs03-create.c index 9c7265d..678644c 100644 --- a/rs03-create.c +++ b/rs03-create.c @@ -39,16 +39,19 @@ #ifdef HAVE_MMAP #include <sys/mman.h> -#ifdef SYS_LINUX - #define MMAP_FLAGS (MAP_SHARED | MAP_POPULATE | MAP_NORESERVE) -#endif +#if defined(SYS_LINUX) -#ifdef SYS_FREEBSD - #define MMAP_FLAGS (MAP_SHARED | MAP_PREFAULT_READ) -#endif + #define MMAP_FLAGS (MAP_SHARED | MAP_POPULATE | MAP_NORESERVE) + +#elif defined(SYS_FREEBSD) + + #define MMAP_FLAGS (MAP_SHARED | MAP_PREFAULT_READ) + +#else + + /* SYS_NETBSD and others. */ + #define MMAP_FLAGS (MAP_SHARED) -#ifdef SYS_NETBSD - #define MMAP_FLAGS (MAP_SHARED) #endif #endif ++++++ 32-display-compilation-commands.patch ++++++ From: Carlos Maddela <e7ap...@gmail.com> Date: Wed, 9 Aug 2017 20:49:31 +1000 Subject: Do not suppress the display of compilation commands Description: Do not suppress the display of compilation commands, so that build logs may be analysed by blhc. Author: Carlos Maddela <e7ap...@gmail.com> Forwarded: not-needed Last-Update: 2017-08-9 --- This patch header follows DEP-3: http://dep.debian.net/deps/dep3/ --- GNUmakefile.template | 93 +++++++++++++++++++++++++--------------------------- 1 file changed, 45 insertions(+), 48 deletions(-) diff --git a/GNUmakefile.template b/GNUmakefile.template index d80932d..ac1f597 100644 --- a/GNUmakefile.template +++ b/GNUmakefile.template @@ -71,41 +71,41 @@ OFILES = $(CFG_OFILES) ${BUILDTMP}/%.o : %.c @echo "Compiling:" $? - @$(CC) $(COPTS) -c $? -o $@ + $(CC) $(COPTS) -c $? -o $@ all: time-stamp dvdisaster # Building the dvdisaster binary time-stamp: - @$(SRCDIR)/scripts/time-stamper.bash $(SRCDIR)/build.h + $(SRCDIR)/scripts/time-stamper.bash $(SRCDIR)/build.h dvdisaster: inlined-icons.h $(OFILES) @echo "Linking : dvdisaster" - @$(CC) $(LOPTS) $(OFILES) $(LIBS) -o dvdisaster - @if test -e locale/de/LC_MESSAGES/dvdisaster.mo \ + $(CC) $(LOPTS) $(OFILES) $(LIBS) -o dvdisaster + if test -e locale/de/LC_MESSAGES/dvdisaster.mo \ || echo $(WITH_OPTIONS) | grep "NLS_NO" >/dev/null; \ then echo "not touching locale"; \ else $(MAKE) --no-print-directory -C locale; \ fi inlined-icons.h: icons/read.png icons/create.png icons/scan.png icons/fix.png icons/verify.png - @gdk-pixbuf-csource --raw --name=dvdisaster_read icons/read.png >inlined-icons.h - @gdk-pixbuf-csource --raw --name=dvdisaster_create icons/create.png >>inlined-icons.h - @gdk-pixbuf-csource --raw --name=dvdisaster_scan icons/scan.png >>inlined-icons.h - @gdk-pixbuf-csource --raw --name=dvdisaster_fix icons/fix.png >>inlined-icons.h - @gdk-pixbuf-csource --raw --name=dvdisaster_verify icons/verify.png >>inlined-icons.h - @gdk-pixbuf-csource --raw --name=dvdisaster_open_ecc icons/open-ecc.png >>inlined-icons.h - @gdk-pixbuf-csource --raw --name=dvdisaster_open_img icons/open-img.png >>inlined-icons.h - @gdk-pixbuf-csource --raw --name=dvdisaster_cd icons/cd.png >>inlined-icons.h - @gdk-pixbuf-csource --raw --name=dvdisaster_gtk_help icons/gtk-help.png >>inlined-icons.h - @gdk-pixbuf-csource --raw --name=dvdisaster_gtk_index icons/gtk-index.png >>inlined-icons.h - @gdk-pixbuf-csource --raw --name=dvdisaster_gtk_preferences icons/gtk-preferences.png >>inlined-icons.h - @gdk-pixbuf-csource --raw --name=dvdisaster_gtk_quit icons/gtk-quit.png >>inlined-icons.h - @gdk-pixbuf-csource --raw --name=dvdisaster_gtk_stop icons/gtk-stop.png >>inlined-icons.h + gdk-pixbuf-csource --raw --name=dvdisaster_read icons/read.png >inlined-icons.h + gdk-pixbuf-csource --raw --name=dvdisaster_create icons/create.png >>inlined-icons.h + gdk-pixbuf-csource --raw --name=dvdisaster_scan icons/scan.png >>inlined-icons.h + gdk-pixbuf-csource --raw --name=dvdisaster_fix icons/fix.png >>inlined-icons.h + gdk-pixbuf-csource --raw --name=dvdisaster_verify icons/verify.png >>inlined-icons.h + gdk-pixbuf-csource --raw --name=dvdisaster_open_ecc icons/open-ecc.png >>inlined-icons.h + gdk-pixbuf-csource --raw --name=dvdisaster_open_img icons/open-img.png >>inlined-icons.h + gdk-pixbuf-csource --raw --name=dvdisaster_cd icons/cd.png >>inlined-icons.h + gdk-pixbuf-csource --raw --name=dvdisaster_gtk_help icons/gtk-help.png >>inlined-icons.h + gdk-pixbuf-csource --raw --name=dvdisaster_gtk_index icons/gtk-index.png >>inlined-icons.h + gdk-pixbuf-csource --raw --name=dvdisaster_gtk_preferences icons/gtk-preferences.png >>inlined-icons.h + gdk-pixbuf-csource --raw --name=dvdisaster_gtk_quit icons/gtk-quit.png >>inlined-icons.h + gdk-pixbuf-csource --raw --name=dvdisaster_gtk_stop icons/gtk-stop.png >>inlined-icons.h $(BUILDTMP)/help-dialogs.o: help-dialogs.c simple-md5sum - @if test -e fingerprints.md5; \ + if test -e fingerprints.md5; \ then if test -e help-dialogs.h; then rm help-dialogs.h; fi; \ mv inlined-icons.h inlined-icons.saved; \ mv build.h build.saved; \ @@ -121,35 +121,35 @@ $(BUILDTMP)/help-dialogs.o: help-dialogs.c simple-md5sum else echo "#define MODIFIED_SOURCE 1" >> help-dialogs.h; \ fi @echo "Compiling:" help-dialogs.c - @$(CC) $(COPTS) -c help-dialogs.c -o $(BUILDTMP)/help-dialogs.o + $(CC) $(COPTS) -c help-dialogs.c -o $(BUILDTMP)/help-dialogs.o $(BUILDTMP)/rs-encoder-sse2.o: rs-encoder-sse2.c @echo "Compiling:" rs-encoder-sse2.c - @$(CC) $(SSE2_OPTIONS) $(COPTS) -c rs-encoder-sse2.c -o $(BUILDTMP)/rs-encoder-sse2.o + $(CC) $(SSE2_OPTIONS) $(COPTS) -c rs-encoder-sse2.c -o $(BUILDTMP)/rs-encoder-sse2.o $(BUILDTMP)/rs-encoder-altivec.o: rs-encoder-altivec.c @echo "Compiling:" rs-encoder-altivec.c - @$(CC) $(ALTIVEC_OPTIONS) $(COPTS) -c rs-encoder-altivec.c -o $(BUILDTMP)/rs-encoder-altivec.o + $(CC) $(ALTIVEC_OPTIONS) $(COPTS) -c rs-encoder-altivec.c -o $(BUILDTMP)/rs-encoder-altivec.o locale: - @$(MAKE) --no-print-directory -C locale + $(MAKE) --no-print-directory -C locale untranslated: - @$(MAKE) --no-print-directory -C locale check-untranslated + $(MAKE) --no-print-directory -C locale check-untranslated simple-md5sum: md5.c - @$(CC) $(COPTS) $(MUDFLAP_CFLAGS) -DSIMPLE_MD5SUM md5.c $(MUDFLAP_LFLAGS) $(MUDFLAP_LIBS) -o simple-md5sum + $(CC) $(COPTS) $(MUDFLAP_CFLAGS) -DSIMPLE_MD5SUM md5.c $(MUDFLAP_LFLAGS) $(MUDFLAP_LIBS) -o simple-md5sum version.tex: @echo "\\newcommand{\\projectversion}{$(VERSION)}" >$(SRCDIR)/documentation/config/version.tex manual: version.tex @echo "Producing user manual... " - @$(MAKE) --no-print-directory -C documentation/user-manual manual.pdf + $(MAKE) --no-print-directory -C documentation/user-manual manual.pdf manualclean: @echo "Removing temporary user manual files... " - @$(MAKE) --no-print-directory -C documentation/user-manual clean + $(MAKE) --no-print-directory -C documentation/user-manual clean # Some usage info @@ -259,13 +259,13 @@ uninstall: archclean: distclean @echo "Removing rebuildable documentation parts" - @$(MAKE) --no-print-directory -C $(SRCDIR)/documentation/codec-specs archclean - @$(MAKE) --no-print-directory -C $(SRCDIR)/documentation/user-manual archclean + $(MAKE) --no-print-directory -C $(SRCDIR)/documentation/codec-specs archclean + $(MAKE) --no-print-directory -C $(SRCDIR)/documentation/user-manual archclean distclean: clean @echo "Removing configuration files" - @rm -f configure.log Makefile.config GNUmakefile locale/Makefile - @for i in locale/?? locale/??_??; do rm -rf $$i; done + rm -f configure.log Makefile.config GNUmakefile locale/Makefile + for i in locale/?? locale/??_??; do rm -rf $$i; done @echo "all:" >>GNUmakefile @echo -e "\t@echo" >>GNUmakefile @echo -e "\t@echo \"Please create a Makefile by entering \\\"bash configure\\\" first\"" >>GNUmakefile @@ -277,14 +277,14 @@ distclean: clean clean: @echo "Removing rebuildable files" - @rm -rf *.o $(BUILDTMP)/*.o medium.* abbild.* dvdisaster .dvdisaster core core.* *.core - @rm -f inlined-icons.h help-dialogs.h - @find . -name \*\~ -print | xargs rm -f; - @find . -name \*.mo -print | xargs rm -f; - @find . -name \#\*\# -print | xargs rm -f; - @rm -f documentation/config/version.tex - @if test -e $(PKGNAME); then rm -rf $(PKGNAME); fi - @if test -e ~/.dvdisaster-original-author; then \ + rm -rf *.o $(BUILDTMP)/*.o medium.* abbild.* dvdisaster .dvdisaster core core.* *.core + rm -f inlined-icons.h help-dialogs.h + find . -name \*\~ -print | xargs rm -f; + find . -name \*.mo -print | xargs rm -f; + find . -name \#\*\# -print | xargs rm -f; + rm -f documentation/config/version.tex + if test -e $(PKGNAME); then rm -rf $(PKGNAME); fi + if test -e ~/.dvdisaster-original-author; then \ mv build.h build.saved ;\ if ! test -x simple-md5sum || ! ./simple-md5sum >/dev/null 2>&1; then \ rm -f simple-md5sum; \ @@ -294,20 +294,17 @@ clean: ./simple-md5sum -b *.h *.c >fingerprints.md5 ;\ mv build.saved build.h; \ fi - @rm -f simple-md5sum - @$(MAKE) --no-print-directory -C $(SRCDIR)/documentation/codec-specs clean; - @$(MAKE) --no-print-directory -C $(SRCDIR)/documentation/user-manual clean; + rm -f simple-md5sum + $(MAKE) --no-print-directory -C $(SRCDIR)/documentation/codec-specs clean; + $(MAKE) --no-print-directory -C $(SRCDIR)/documentation/user-manual clean; BUILD=`grep BUILD $(SRCDIR)/build.h | cut -d ' ' -f 3` arch: archclean time-stamp - @cd .. ; tar -c -z -f $(TAR_PREFIX)/$(PKGNAME)-$(BUILD).tgz $(PKGNAME) + cd .. ; tar -c -z -f $(TAR_PREFIX)/$(PKGNAME)-$(BUILD).tgz $(PKGNAME) INSTALL: documentation/install.template - @sed "s/@@PKGNAME/$(PKGNAME)/" <documentation/install.template >INSTALL + sed "s/@@PKGNAME/$(PKGNAME)/" <documentation/install.template >INSTALL srcdist: INSTALL distclean manual manualclean - @cd .. ; tar -c -j -X $(PKGNAME)/NODIST -f $(TAR_PREFIX)/$(PKGNAME).tar.bz2 $(PKGNAME) - @cd .. ; gpg --homedir .gnupg --default-key 758BCC23 --detach-sign --output $(TAR_PREFIX)/$(PKGNAME).tar.bz2.gpg --armor $(TAR_PREFIX)/$(PKGNAME).tar.bz2 - - - + cd .. ; tar -c -j -X $(PKGNAME)/NODIST -f $(TAR_PREFIX)/$(PKGNAME).tar.bz2 $(PKGNAME) + cd .. ; gpg --homedir .gnupg --default-key 758BCC23 --detach-sign --output $(TAR_PREFIX)/$(PKGNAME).tar.bz2.gpg --armor $(TAR_PREFIX)/$(PKGNAME).tar.bz2 ++++++ 34-gcc8-format-security.patch ++++++ From: Carlos Maddela <e7ap...@gmail.com> Date: Thu, 31 Jan 2019 05:10:21 +1100 Subject: Fix format security warning in GCC-8. Description: Fix format security warning in GCC-8. Author: Carlos Maddela <e7ap...@gmail.com> Forwarded: no Last-Update: 2019-01-31 --- This patch header follows DEP-3: http://dep.debian.net/deps/dep3/ --- udf.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/udf.c b/udf.c index 174fa36..9e345c2 100644 --- a/udf.c +++ b/udf.c @@ -794,7 +794,7 @@ void FreeIsoHeader(IsoHeader *ih) void AddFile(IsoHeader *ih, char *name, guint64 size) { static int n; - char iso[20], joliet[strlen(name)+3]; + char iso[22], joliet[strlen(name)+3]; n++; sprintf(iso,"RAN_%04d.DAT;1", n); ++++++ 37-suggest-dvdisaster-doc.patch ++++++ From: Carlos Maddela <e7ap...@gmail.com> Date: Sat, 2 Feb 2019 13:56:04 +1100 Subject: Suggest to install dvdisaster-doc in error message Description: Suggest to install dvdisaster-doc in error message if the PDF manual cannot be found. Author: Carlos Maddela <e7ap...@gmail.com> Forwarded: not-needed Last-Update: 2019-02-02 --- This patch header follows DEP-3: http://dep.debian.net/deps/dep3/ --- locale/cs.po | 2 ++ locale/de.po | 2 ++ locale/it.po | 2 ++ locale/pt_BR.po | 2 ++ locale/ru.po | 2 ++ locale/sv.po | 2 ++ show-manual.c | 3 ++- 7 files changed, 14 insertions(+), 1 deletion(-) diff --git a/locale/cs.po b/locale/cs.po index d89ff4a..b55c45a 100644 --- a/locale/cs.po +++ b/locale/cs.po @@ -6077,10 +6077,12 @@ msgid "" "Documentation file\n" "%s\n" "not found.\n" +"Please install the dvdisaster-doc package.\n" msgstr "" "Soubor dokumentace\n" "%s\n" "nebyl nalezen.\n" +"Nainstalujte prosím balíček dvdisaster-doc.\n" #: show-manual.c:308 msgid "Please hang on until the viewer comes up!" diff --git a/locale/de.po b/locale/de.po index 8112b13..f54b083 100644 --- a/locale/de.po +++ b/locale/de.po @@ -6226,10 +6226,12 @@ msgid "" "Documentation file\n" "%s\n" "not found.\n" +"Please install the dvdisaster-doc package.\n" msgstr "" "Dokument-Datei\n" "%s\n" "nicht gefunden.\n" +"Bitte installieren Sie das dvdisaster-doc-Paket.\n" #: show-manual.c:308 msgid "Please hang on until the viewer comes up!" diff --git a/locale/it.po b/locale/it.po index b98f8d3..de60016 100644 --- a/locale/it.po +++ b/locale/it.po @@ -5629,10 +5629,12 @@ msgid "" "Documentation file\n" "%s\n" "not found.\n" +"Please install the dvdisaster-doc package.\n" msgstr "" "File di documentazione\n" "%s\n" "non trovati.\n" +"Si prega di installare il pacchetto dvdisaster-doc.\n" #: show-manual.c:308 msgid "Please hang on until the viewer comes up!" diff --git a/locale/pt_BR.po b/locale/pt_BR.po index 81ee14d..3659f11 100644 --- a/locale/pt_BR.po +++ b/locale/pt_BR.po @@ -5950,10 +5950,12 @@ msgid "" "Documentation file\n" "%s\n" "not found.\n" +"Please install the dvdisaster-doc package.\n" msgstr "" "Arquivo de documentação\n" "%s\n" "não encontrado.\n" +"Por favor, instale o pacote dvdisaster-doc.\n" #: show-manual.c:308 msgid "Please hang on until the viewer comes up!" diff --git a/locale/ru.po b/locale/ru.po index 6e980b9..9c45692 100644 --- a/locale/ru.po +++ b/locale/ru.po @@ -5958,10 +5958,12 @@ msgid "" "Documentation file\n" "%s\n" "not found.\n" +"Please install the dvdisaster-doc package.\n" msgstr "" "Файл документации\n" "%s\n" "не найден.\n" +"Пожалуйста, установите пакет dvdisaster-doc.\n" #: show-manual.c:308 msgid "Please hang on until the viewer comes up!" diff --git a/locale/sv.po b/locale/sv.po index 3011969..9cee323 100644 --- a/locale/sv.po +++ b/locale/sv.po @@ -5648,10 +5648,12 @@ msgid "" "Documentation file\n" "%s\n" "not found.\n" +"Please install the dvdisaster-doc package.\n" msgstr "" "Dokumentationsfilen\n" "%s\n" "hittades inte.\n" +"Installera dvdisaster-doc-paketet.\n" #: show-manual.c:308 msgid "Please hang on until the viewer comes up!" diff --git a/show-manual.c b/show-manual.c index 4abbe97..5ac8e97 100644 --- a/show-manual.c +++ b/show-manual.c @@ -296,7 +296,8 @@ void ShowPDF(char *target) if(!LargeStat(bi->path, &ignore)) { - CreateMessage(_("Documentation file\n%s\nnot found.\n"), GTK_MESSAGE_ERROR, bi->path); + CreateMessage(_("Documentation file\n%s\nnot found.\n" + "Please install the dvdisaster-doc package.\n"), GTK_MESSAGE_ERROR, bi->path); g_free(bi->path); g_free(bi); return; ++++++ dvdisaster-findmake.patch ++++++ --- /var/tmp/diff_new_pack.vJHFQa/_old 2020-07-03 00:07:26.283078352 +0200 +++ /var/tmp/diff_new_pack.vJHFQa/_new 2020-07-03 00:07:26.283078352 +0200 @@ -1,7 +1,7 @@ Index: scripts/bash-based-configure =================================================================== ---- scripts/bash-based-configure.orig 2015-12-07 22:06:50.000000000 +0200 -+++ scripts/bash-based-configure 2017-01-06 08:33:06.361854198 +0200 +--- a/scripts/bash-based-configure.orig 2015-12-07 22:06:50.000000000 +0200 ++++ b/scripts/bash-based-configure 2017-01-06 08:33:06.361854198 +0200 @@ -1,3 +1,4 @@ +#!/bin/bash # Bash based configure - library of test functions ++++++ dvdisaster-no-tex.patch ++++++ Index: dvdisaster-0.79.6/GNUmakefile.template =================================================================== --- dvdisaster-0.79.6.orig/GNUmakefile.template 2020-06-05 14:14:02.994769910 +0200 +++ dvdisaster-0.79.6/GNUmakefile.template 2020-06-05 14:45:33.864641460 +0200 @@ -67,19 +67,16 @@ OFILES = $(CFG_OFILES) # Compilation related ###################################################################### -.PHONY : all help show locale time-stamp +.PHONY : all help show locale ${BUILDTMP}/%.o : %.c @echo "Compiling:" $? $(CC) $(COPTS) -c $? -o $@ -all: time-stamp dvdisaster +all: dvdisaster # Building the dvdisaster binary -time-stamp: - $(SRCDIR)/scripts/time-stamper.bash $(SRCDIR)/build.h - dvdisaster: inlined-icons.h $(OFILES) @echo "Linking : dvdisaster" $(CC) $(LOPTS) $(OFILES) $(LIBS) -o dvdisaster @@ -140,13 +137,6 @@ untranslated: simple-md5sum: md5.c $(CC) $(COPTS) $(MUDFLAP_CFLAGS) -DSIMPLE_MD5SUM md5.c $(MUDFLAP_LFLAGS) $(MUDFLAP_LIBS) -o simple-md5sum -version.tex: - @echo "\\newcommand{\\projectversion}{$(VERSION)}" >$(SRCDIR)/documentation/config/version.tex - -manual: version.tex - @echo "Producing user manual... " - $(MAKE) --no-print-directory -C documentation/user-manual manual.pdf - manualclean: @echo "Removing temporary user manual files... " $(MAKE) --no-print-directory -C documentation/user-manual clean @@ -223,7 +213,7 @@ show: .PHONY : install uninstall clean distclean arch .PHONY : srcdist -install: dvdisaster manual +install: dvdisaster @echo "Installing package..." install -d $(BUILDROOT)$(BINDIR) install dvdisaster $(BUILDROOT)$(BINDIR) @@ -300,7 +290,7 @@ clean: $(MAKE) --no-print-directory -C $(SRCDIR)/documentation/user-manual clean; BUILD=`grep BUILD $(SRCDIR)/build.h | cut -d ' ' -f 3` -arch: archclean time-stamp +arch: archclean cd .. ; tar -c -z -f $(TAR_PREFIX)/$(PKGNAME)-$(BUILD).tgz $(PKGNAME) INSTALL: documentation/install.template