Imported Upstream version 0.79.2

parent 294f8623
0.79.2 28-02-2010
Semantic Changes
The new missing sector marking method is now the default.
When interchanging images with dvdisaster 0.70 or older,
use --old-ds-marker or the respective setting under
Image/Image format in the preferences setting.
Changes
- RS03 encoding will check for defective sectors now
- fixed crash when aborting RS03 encoding
- made the new missing sector marking method the default
- confirmation dialogues for overwriting images and ecc files
are now configurable via preferences
0.79.1 07-02-2010
A word of caution: This version is still evolving and some parts
are not yet implemented. It may contain severe bugs and fail in
non-obvious ways, even in functions which worked in previous versions.
Do not process important data with this version and do
not keep images and error correction data for archival purposes;
that's what the stable version 0.72 is for.
Semantic Changes
- query-size option replaced with -a/--assume option.
command line default is now NOT to do exhaustive search
for RS02 information; add -a RS02 to enable it
(old behaviour: exhaustive check was on; required
--query-size=udf to disable it)
- same changes in the preferences dialogues:
"Image size" field replaced with
"Error correction data recognization" options.
Changes
- added MIN_TRANSFER_LEN and length sanity check as workaround
for buggy drive chipsets (thanks to R.G. for reporting this
and helping with debugging output)
- added -tq command line option as suggested by Mikhail Arefiev
- fixed alignment brokeness between 32bit and 64bit systems
in ecc header and crc sectors
- added RS03 encoding (GUI)
- added RS03 verifying (CLI and GUI)
- fixed RS02/RS03 crash when encoding invoked without image file
- added commandline RS03 encoding (singlethreaded/multithreaded)
- added RS03 decoding and verifying (CLI and GUI)
- fixed "typical uses" links in welcome screen (Thanks to C. Steigies)
- added warning when same files are selected for .iso
and error correction data (Thanks to A. Postkutscher
for suggesting this!)
- removed ASPI driver and ASPI/SPTI splitting logic
- removed 2GB file splitting
0.72 (pl-1) 08-08-2009
- Pablo Almeida provided a Portuguese translation
for the screen text.
......@@ -9,6 +60,11 @@
- fixed crash when calling dvdisaster on command line without
specifying a file name on Mac OS X
0.72 (rc-2)
- fixed lockups in the spiral under Mac OS X
- fixed crash when calling dvdisaster on command line without
specifying a file name on Mac OS X
0.72 (rc-1) 11-04-2009
- Documentation and locale cleanup for en, de
- added app bundle creation for Mac OS X
......
......@@ -188,7 +188,10 @@ version.php:
@echo "<?php" >$(SRCDIR)/documentation/include/version.php
@echo "\$$version=\"$(VERSION)\";" >>$(SRCDIR)/documentation/include/version.php
@echo "\$$pkgname=\"$(PKGNAME)\";" >>$(SRCDIR)/documentation/include/version.php
@echo "\$$doc_dir=\"$(SRCDIR)/documentation\";" >>$(SRCDIR)/documentation/include/version.php
@echo "\$$cooked_version=\""$(CFG_FULL_VERSION)"\";" >>$(SRCDIR)/documentation/include/version.php
@echo "\$$have_experimental=\""$(CFG_HAVE_EXPERIMENTAL)"\";" >>$(SRCDIR)/documentation/include/version.php
@echo "\$$stable_version=\""$(CFG_STABLE_VERSION)"\";" >>$(SRCDIR)/documentation/include/version.php
@if test -e help-dialogs.h && grep UNMODIFIED help-dialogs.h >/dev/null; \
then echo "\$$modified_source=0;" >>$(SRCDIR)/documentation/include/version.php; \
else echo "\$$modified_source=1;" >>$(SRCDIR)/documentation/include/version.php; \
......@@ -203,13 +206,17 @@ mount-php:
echo "* HTML document directory (as specified by configure --phpmountdir).";\
echo "* You need sudo priviledges to execute the command below:";\
echo ;\
fi
if ! test -e $(PHPMOUNTDIR)/dvdisaster.de.1; then\
if ! test -e $(PHPMOUNTDIR); then sudo mkdir -p $(PHPMOUNTDIR); fi;\
sudo mount -o bind $(SRCDIR)/documentation $(PHPMOUNTDIR) ;\
fi
make version.php
make thumbnails
if ! test -e $(SRCDIR)/documentation/de/thumbnails/good-cd.png; \
then make thumbnails; \
fi
for i in $(DOC_LOCALES); do \
chmod 777 $(SRCDIR)/documentation/$$i/feed $(SRCDIR)/documentation/$$i/feed/atom.xml; \
echo chmod 777 $(SRCDIR)/documentation/$$i/feed $(SRCDIR)/documentation/$$i/feed/atom.xml; \
done
html: mount-php version.php
@echo -n "Producing html documentation... "
......@@ -246,8 +253,8 @@ help:
@echo
@echo "Documentation related:"
@echo "mount-php - mount documentation sub directory"
@echo "www-images- create package of .php and .png files"
@echo "www - create package of .php files only"
@echo "www-images- create package of .html and .png files"
@echo "www - create package of .html files only"
@echo "html - create html version of internet documentation"
@echo "localhtml - create html version for local documentation"
@echo "thumbnails- unconditionally recreate all thumbnails"
......@@ -306,7 +313,7 @@ show:
######################################################################
.PHONY : install uninstall clean distclean arch
.PHONY : www www-images
.PHONY : www www-images php php-images
.PHONY : srcdist macdist windist
install: dvdisaster images
......@@ -427,13 +434,13 @@ arch: archclean time-stamp
@cd .. ; tar -c -z -f $(PKGNAME)-$(BUILD).tgz $(PKGNAME)
# TAG: online-docs
www: version.php
www: html
@cd documentation ; \
tar cjf ../../www.tar.bz2 pubkey.asc index.html include/dvdisaster.css include/*.php de/*.php en/*.php ru/*.php
tar cjf ../../www.tar.bz2 pubkey.asc include/dvdisaster.css de/*.html en/*.html ru/*.html de/feed en/feed ru/feed
www-images: thumbnails version.php
www-images: html
@cd documentation ; \
tar cjf ../../www.tar.bz2 pubkey.asc index.html include/dvdisaster.css include/*.php de/*.php en/*.php ru/*.php images/*.png de/images/*.png de/thumbnails/*.png en/images/*.png en/thumbnails/*.png ru/images/*.png ru/thumbnails/*.png
tar cjf ../../www.tar.bz2 pubkey.asc include/dvdisaster.css de/*.html en/*.html ru/*.html images/*.png de/images/*.png de/thumbnails/*.png en/images/*.png en/thumbnails/*.png ru/images/*.png ru/thumbnails/*.png de/feed en/feed ru/feed
INSTALL: documentation/install.template
@sed "s/@@PKGNAME/$(PKGNAME)/" <documentation/install.template >INSTALL
......@@ -462,16 +469,23 @@ prepare-dist:
@cp tools/pngpack.exe win-build-dir/documentation
@mv documentation/images-*.pngpack win-build-dir/documentation
@cp $(GTK_BINDIR)/libglib*.dll win-build-dir
@cp $(GTK_BINDIR)/iconv.dll win-build-dir
#@cp $(GTK_BINDIR)/iconv.dll win-build-dir
@cp $(GTK_BINDIR)/intl.dll win-build-dir
@cp $(GTK_BINDIR)/libatk*.dll win-build-dir
@cp $(GTK_BINDIR)/libcairo*.dll win-build-dir
@cp $(GTK_BINDIR)/libexpat*.dll win-build-dir
@cp $(GTK_BINDIR)/libfontconfig*.dll win-build-dir
@cp $(GTK_BINDIR)/freetype6*.dll win-build-dir
@cp $(GTK_BINDIR)/libpango*.dll win-build-dir
@cp $(GTK_BINDIR)/libpng12*.dll win-build-dir
@cp $(GTK_BINDIR)/libgmodule*.dll win-build-dir
@cp $(GTK_BINDIR)/libgobject*.dll win-build-dir
@cp $(GTK_BINDIR)/libgthread*.dll win-build-dir
@cp $(GTK_BINDIR)/libgdk_pixbuf*.dll win-build-dir
@cp $(GTK_BINDIR)/libgio*.dll win-build-dir
@cp $(GTK_BINDIR)/libgdk-win*.dll win-build-dir
@cp $(GTK_BINDIR)/libgtk-win*.dll win-build-dir
@cp $(GTK_BINDIR)/zlib1*.dll win-build-dir
@mkdir win-build-dir/locale
@cp -r locale/?? win-build-dir/locale
@cp -r locale/??_?? win-build-dir/locale
......@@ -479,19 +493,19 @@ prepare-dist:
@mkdir -p win-build-dir/etc/gtk-2.0
@echo "# GdkPixbuf Image Loader Modules file" > win-build-dir/etc/gtk-2.0/gdk-pixbuf.loaders
@mkdir -p win-build-dir/etc/pango
@cp $(GTK_BINDIR)/../etc/pango/pango.aliases win-build-dir/etc/pango
@echo "# Pango Modules file" > win-build-dir/etc/pango/pango.modules
@echo "#" >> win-build-dir/etc/pango/pango.modules
@echo "pango-basic-win32.dll BasicScriptEngineWin32 PangoEngineShape PangoRenderWin32 common:" >> win-build-dir/etc/pango/pango.modules
@cp $(GTK_BINDIR)/../lib/pango/1.?.?/modules/pango-basic-win32.dll win-build-dir
#@mkdir -p win-build-dir/etc/pango
#@cp $(GTK_BINDIR)/../etc/pango/pango.aliases win-build-dir/etc/pango
#@echo "# Pango Modules file" > win-build-dir/etc/pango/pango.modules
#@echo "#" >> win-build-dir/etc/pango/pango.modules
#@echo "pango-basic-win32.dll BasicScriptEngineWin32 PangoEngineShape PangoRenderWin32 common:" >> win-build-dir/etc/pango/pango.modules
#@cp $(GTK_BINDIR)/../lib/pango/1.?.?/modules/pango-basic-win32.dll win-build-dir
@mkdir -p win-build-dir/lib/locale
@mkdir -p win-build-dir/share/locale
@for i in $(PO_LOCALES); do \
mkdir -p win-build-dir/lib/locale/$$i/LC_MESSAGES; \
cp $(GTK_BINDIR)/../lib/locale/$$i/LC_MESSAGES/atk*.mo win-build-dir/lib/locale/$$i/LC_MESSAGES; \
cp $(GTK_BINDIR)/../lib/locale/$$i/LC_MESSAGES/glib*.mo win-build-dir/lib/locale/$$i/LC_MESSAGES; \
cp $(GTK_BINDIR)/../lib/locale/$$i/LC_MESSAGES/gtk*.mo win-build-dir/lib/locale/$$i/LC_MESSAGES; \
mkdir -p win-build-dir/share/locale/$$i/LC_MESSAGES; \
cp $(GTK_BINDIR)/../share/locale/$$i/LC_MESSAGES/atk*.mo win-build-dir/share/locale/$$i/LC_MESSAGES; \
cp $(GTK_BINDIR)/../share/locale/$$i/LC_MESSAGES/glib*.mo win-build-dir/share/locale/$$i/LC_MESSAGES; \
cp $(GTK_BINDIR)/../share/locale/$$i/LC_MESSAGES/gtk*.mo win-build-dir/share/locale/$$i/LC_MESSAGES; \
done
windist: dvdisaster pack-images prepare-dist
......
......@@ -148,11 +148,11 @@ Please change into a directory which is writeable
for you and unpack the source code archive:
user@host> cd /var/tmp
user@host> tar xjf dvdisaster-0.72.1.tar.bz2
user@host> tar xjf dvdisaster-0.72.rc1.tar.bz2
Then change into the newly created directory:
user@host> cd /var/tmp/dvdisaster-0.72.1
user@host> cd /var/tmp/dvdisaster-0.72.rc1
3.2. Configuring the package
----------------------------
......@@ -231,7 +231,7 @@ please remove the directory you have created as described
in section 3.1:
user@host> cd /var/tmp
user@host> rm -rf dvdisaster-0.72.1
user@host> rm -rf dvdisaster-0.72.rc1
5. Program documentation
......
/* dvdisaster: Additional error correction for optical media.
* Copyright (C) 2004-2009 Carsten Gnoerlich.
* Copyright (C) 2004-2010 Carsten Gnoerlich.
* Project home page: http://www.dvdisaster.com
* Email: carsten@dvdisaster.com -or- cgnoerlich@fsfe.org
*
......
/* dvdisaster: Additional error correction for optical media.
* Copyright (C) 2004-2009 Carsten Gnoerlich.
* Copyright (C) 2004-2010 Carsten Gnoerlich.
* Project home page: http://www.dvdisaster.com
* Email: carsten@dvdisaster.com -or- cgnoerlich@fsfe.org
*
......
#define BUILD 20
#define BDATE "08.08.09 (Samstag, 20:46)"
#define BUILD 130
#define BDATE "27.02.10 (Samstag, 19:41)"
/* dvdisaster: Additional error correction for optical media.
* Copyright (C) 2004-2009 Carsten Gnoerlich.
* Copyright (C) 2004-2010 Carsten Gnoerlich.
* Project home page: http://www.dvdisaster.com
* Email: carsten@dvdisaster.com -or- cgnoerlich@fsfe.org
*
......@@ -482,6 +482,7 @@ void ReadDotfile()
if(!strcmp(symbol, "cache-size")) { Closure->cacheMB = atoi(value); continue; }
if(!strcmp(symbol, "cd-size")) { Closure->cdSize = Closure->savedCDSize = atoll(value); continue; }
if(!strcmp(symbol, "codec-threads")) { Closure->codecThreads = atoi(value); continue; }
if(!strcmp(symbol, "confirm-deletion")){ Closure->confirmDeletion = atoi(value); continue; }
if(!strcmp(symbol, "dao")) { Closure->noTruncate = atoi(value); continue; }
if(!strcmp(symbol, "defective-dump")) { Closure->defectiveDump = atoi(value); continue; }
if(!strcmp(symbol, "defective-dir")) { if(Closure->dDumpDir) g_free(Closure->dDumpDir);
......@@ -491,7 +492,10 @@ void ReadDotfile()
if(!strcmp(symbol, "dotfile-version")) { Closure->dotFileVersion = atoi(value); continue; }
if(!strcmp(symbol, "dvd-size1")) { Closure->dvdSize1 = Closure->savedDVDSize1 = atoll(value); continue; }
if(!strcmp(symbol, "dvd-size2")) { Closure->dvdSize2 = Closure->savedDVDSize2 = atoll(value); continue; }
if(!strcmp(symbol, "ecc-target")) { Closure->eccTarget = atoi(value); continue; }
if(!strcmp(symbol, "eject")) { Closure->eject = atoi(value); continue; }
if(!strcmp(symbol, "examine-rs02")) { Closure->examineRS02 = atoi(value); continue; }
if(!strcmp(symbol, "examine-rs03")) { Closure->examineRS03 = atoi(value); continue; }
if(!strcmp(symbol, "fill-unreadable")) { Closure->fillUnreadable = atoi(value); continue; }
if(!strcmp(symbol, "ignore-fatal-sense")) { Closure->ignoreFatalSense = atoi(value); continue; }
if(!strcmp(symbol, "internal-attempts")) { Closure->internalAttempts = atoi(value); continue; }
......@@ -505,7 +509,7 @@ void ReadDotfile()
if(!strcmp(symbol, "max-read-attempts")) { Closure->maxReadAttempts = atoi(value); continue; }
if(!strcmp(symbol, "min-read-attempts")) { Closure->minReadAttempts = atoi(value); continue; }
if(!strcmp(symbol, "missing-sector-marker")) { Closure->dsmVersion = atoi(value); continue; }
if(!strcmp(symbol, "query-size")) { Closure->querySize = atoi(value); continue; }
if(!strcmp(symbol, "prefetch-sectors")){ Closure->prefetchSectors = atoi(value); continue; }
if(!strcmp(symbol, "raw-mode")) { Closure->rawMode = atoi(value); continue; }
if(!strcmp(symbol, "read-and-create")) { Closure->readAndCreate = atoi(value); continue; }
if(!strcmp(symbol, "read-medium")) { Closure->readingPasses = atoi(value); continue; }
......@@ -514,7 +518,6 @@ void ReadDotfile()
Closure->redundancy = g_strdup(value); continue; }
if(!strcmp(symbol, "reverse-cancel-ok")) { Closure->reverseCancelOK = atoi(value); continue; }
if(!strcmp(symbol, "spinup-delay")) { Closure->spinupDelay = atoi(value); continue; }
if(!strcmp(symbol, "split-files")) { Closure->splitFiles = atoi(value); continue; }
if(!strcmp(symbol, "unlink")) { Closure->unlinkImage = atoi(value); continue; }
if(!strcmp(symbol, "verbose")) { Closure->verbose = atoi(value); continue; }
if(!strcmp(symbol, "welcome-msg")) { Closure->welcomeMessage = atoi(value); continue; }
......@@ -582,6 +585,7 @@ static void update_dotfile()
g_fprintf(dotfile, "cache-size: %d\n", Closure->cacheMB);
g_fprintf(dotfile, "cd-size: %lld\n", (long long int)Closure->cdSize);
g_fprintf(dotfile, "codec-threads: %d\n", Closure->codecThreads);
g_fprintf(dotfile, "confirm-deletion: %d\n", Closure->confirmDeletion);
g_fprintf(dotfile, "dao: %d\n", Closure->noTruncate);
g_fprintf(dotfile, "defective-dump: %d\n", Closure->defectiveDump);
g_fprintf(dotfile, "defective-dir: %s\n", Closure->dDumpDir);
......@@ -589,7 +593,10 @@ static void update_dotfile()
g_fprintf(dotfile, "dotfile-version: %d\n", Closure->dotFileVersion);
g_fprintf(dotfile, "dvd-size1: %lld\n", (long long int)Closure->dvdSize1);
g_fprintf(dotfile, "dvd-size2: %lld\n", (long long int)Closure->dvdSize2);
g_fprintf(dotfile, "ecc-target: %d\n", Closure->eccTarget);
g_fprintf(dotfile, "eject: %d\n", Closure->eject);
g_fprintf(dotfile, "examine-rs02: %d\n", Closure->examineRS02);
g_fprintf(dotfile, "examine-rs03: %d\n", Closure->examineRS03);
g_fprintf(dotfile, "fill-unreadable: %d\n", Closure->fillUnreadable);
g_fprintf(dotfile, "ignore-fatal-sense: %d\n", Closure->ignoreFatalSense);
g_fprintf(dotfile, "internal-attempts: %d\n", Closure->internalAttempts);
......@@ -601,7 +608,7 @@ static void update_dotfile()
g_fprintf(dotfile, "max-read-attempts: %d\n", Closure->maxReadAttempts);
g_fprintf(dotfile, "min-read-attempts: %d\n", Closure->minReadAttempts);
g_fprintf(dotfile, "missing-sector-marker: %d\n", Closure->dsmVersion);
g_fprintf(dotfile, "query-size: %d\n", Closure->querySize);
g_fprintf(dotfile, "prefetch-sectors: %d\n", Closure->prefetchSectors);
g_fprintf(dotfile, "raw-mode: %d\n", Closure->rawMode);
g_fprintf(dotfile, "read-and-create: %d\n", Closure->readAndCreate);
g_fprintf(dotfile, "read-medium: %d\n", Closure->readingPasses);
......@@ -610,7 +617,6 @@ static void update_dotfile()
g_fprintf(dotfile, "redundancy: %s\n", Closure->redundancy);
g_fprintf(dotfile, "reverse-cancel-ok: %d\n", Closure->reverseCancelOK);
g_fprintf(dotfile, "spinup-delay: %d\n", Closure->spinupDelay);
g_fprintf(dotfile, "split-files: %d\n", Closure->splitFiles);
g_fprintf(dotfile, "unlink: %d\n", Closure->unlinkImage);
g_fprintf(dotfile, "verbose: %d\n", Closure->verbose);
g_fprintf(dotfile, "welcome-msg: %d\n\n", Closure->welcomeMessage);
......@@ -697,16 +703,18 @@ void InitClosure()
Closure->methodName = g_strdup("RS01");
Closure->dDumpDir = g_strdup(Closure->homeDir);
Closure->cacheMB = 32;
Closure->prefetchSectors = 128;
Closure->codecThreads = 1;
Closure->eccTarget = 1;
Closure->minReadAttempts = 1;
Closure->maxReadAttempts = 1;
Closure->rawMode = 0x20;
Closure->internalAttempts = -1;
Closure->sectorSkip = 16;
Closure->spinupDelay = 5;
Closure->querySize = 2;
Closure->fillUnreadable = -1;
Closure->welcomeMessage = 1;
Closure->dsmVersion = 1;
/* default sizes for typical CD and DVD media */
......@@ -738,12 +746,9 @@ void InitClosure()
DefaultColors();
memset(Closure->bs, '\b', 255);
memset(Closure->sp, ' ', 255);
DefaultLogFile();
#ifdef SYS_MINGW
OpenAspi();
#endif
}