Compare commits
1 Commits
master
...
regtests_p
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
08863f0f85 |
5
.github/workflows/make-dist.sh
vendored
5
.github/workflows/make-dist.sh
vendored
@@ -31,11 +31,8 @@ cp -va locale/*/ dist/locale/
|
||||
if [ "$os" != "linux64" ]; then
|
||||
lookup_dependencies="dvdisaster"
|
||||
if [ "$GUI" = 1 ]; then
|
||||
echo "!> Copying glib2 schemas..."
|
||||
mkdir -p dist/share/glib-2.0
|
||||
cp -va "$MINGW_PREFIX/share/glib-2.0/schemas" dist/share/glib-2.0/
|
||||
echo "!> Copying default icons..."
|
||||
mkdir -p dist/share/
|
||||
mkdir -p dist/share
|
||||
cp -va "$MINGW_PREFIX/share/icons" dist/share/
|
||||
loaders_cache="$(find "$MINGW_PREFIX/lib/gdk-pixbuf-2.0/" -name loaders.cache | head -n1)"
|
||||
pixbuf_dir="$(dirname "$loaders_cache")"
|
||||
|
||||
2
.github/workflows/make-mac-app.sh
vendored
2
.github/workflows/make-mac-app.sh
vendored
@@ -10,7 +10,7 @@ else
|
||||
suffix=""
|
||||
fi
|
||||
|
||||
archive="dvdisaster-$(echo "$github_ref" | grep -Eo '[^/]+$')-macos$suffix.dmg"
|
||||
archive="dvdisaster-$(echo "$github_ref" | grep -Eo '[^/]+$')$suffix.dmg"
|
||||
[ -n "$GITHUB_OUTPUT" ] && echo "archive=$archive" >> "$GITHUB_OUTPUT"
|
||||
echo "mac dmg is <$archive>"
|
||||
|
||||
|
||||
6
.github/workflows/tests.yml
vendored
6
.github/workflows/tests.yml
vendored
@@ -54,7 +54,7 @@ jobs:
|
||||
- name: regression tests
|
||||
if: matrix.printf == 'normal'
|
||||
env:
|
||||
REGTEST_NO_UTF8: 1
|
||||
REGTEST_PARALLEL: 1
|
||||
run: mkdir /var/tmp/regtest && ./regtest/runtests.sh
|
||||
win:
|
||||
runs-on: windows-latest
|
||||
@@ -120,7 +120,7 @@ jobs:
|
||||
- name: run regression tests
|
||||
if: matrix.printf == 'normal'
|
||||
env:
|
||||
REGTEST_NO_UTF8: 1
|
||||
REGTEST_PARALLEL: 1
|
||||
run: mkdir /var/tmp/regtest && ./regtest/runtests.sh
|
||||
|
||||
linux:
|
||||
@@ -170,5 +170,5 @@ jobs:
|
||||
- name: regression tests
|
||||
if: matrix.printf == 'normal'
|
||||
env:
|
||||
REGTEST_NO_UTF8: 1
|
||||
REGTEST_PARALLEL: 1
|
||||
run: mkdir /var/tmp/regtest && ./regtest/runtests.sh
|
||||
|
||||
11
CHANGELOG
11
CHANGELOG
@@ -20,17 +20,6 @@
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with dvdisaster. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
0.79.10.patchlevel-5 11-05-2025 *UNOFFICIAL*
|
||||
- fix: GUI fileopen dialog crash
|
||||
|
||||
0.79.10.patchlevel-4 04-05-2025 *UNOFFICIAL*
|
||||
- enh: port the GUI to gtk3
|
||||
- enh: speedup RS03 repair
|
||||
- enh: add support for HD-DVD(-R(W))
|
||||
- fix: RS03 exhaustive search on BD-R when --no-bd-defect-management is used
|
||||
- fix: a few coding errors found by static analysis (no major impact)
|
||||
- fix: disable strip button on GUI when working
|
||||
|
||||
0.79.10.patchlevel-3 17-02-2024 *UNOFFICIAL*
|
||||
- fix: corrupt data under Windows with mmap
|
||||
- fix: re-enable buttons after Split is used
|
||||
|
||||
@@ -14,9 +14,6 @@ Jesus Cea <jcea@jcea.es>
|
||||
hat das Projekt am Leben erhalten und ermöglicht momentan das
|
||||
Datenhosting.
|
||||
|
||||
Paul Dicker (@pitdicker on GitHub)
|
||||
migrierte die Anwendung von GTK2 nach GTK3.
|
||||
|
||||
Julian Einwag (julian@einwag.de)
|
||||
erstellt und pflegt die Mac OS X / Darwin - spezifischen Anpassungen.
|
||||
|
||||
@@ -59,4 +56,4 @@ Sergey Svishchev (svs@ropnet.ru)
|
||||
|
||||
Viele andere Personen haben weitere Anregungen und Fehlerberichte
|
||||
geliefert; schauen Sie auch in den Änderungsbericht für weitere
|
||||
Einzelheiten darüber.
|
||||
Einzelheiten darüber.
|
||||
@@ -13,9 +13,6 @@ Harald Bögeholz (hwb@heise.de)
|
||||
Jesus Cea <jcea@jcea.es>
|
||||
for keeping the project alive and providing hosting for the project
|
||||
|
||||
Paul Dicker (@pitdicker on GitHub)
|
||||
for porting the codebase from GTK2 to GTK3.
|
||||
|
||||
Julian Einwag (julian@einwag.de).
|
||||
provides and maintains the Mac OS X / Darwin port.
|
||||
|
||||
|
||||
@@ -114,10 +114,6 @@ ${BUILDTMP}/%.o : src/%.c
|
||||
@echo "Compiling:" $?
|
||||
@$(CC) $(COPTS) -c $? -o $@
|
||||
|
||||
${BUILDTMP}/inlined-icons.c.o : ${BUILDTMP}/inlined-icons.c
|
||||
@echo "Compiling:" $?
|
||||
@$(CC) $(COPTS) -c $? -o $@
|
||||
|
||||
${BUILDTMP}/build.o : src/build.c src/build.h
|
||||
@echo "Compiling:" src/build.o
|
||||
@$(CC) $(COPTS) -c src/build.c -o $@
|
||||
@@ -143,7 +139,7 @@ dvdisaster: $(OFILES)
|
||||
|
||||
$(BUILDTMP)/inlined-icons.c: icons/icons.gresource.xml icons/cd.svg icons/close.svg icons/create.svg icons/fix-symbolic.svg icons/log.svg icons/manual.svg icons/open-ecc.svg icons/open-img.svg icons/preferences.svg icons/quit.svg icons/read-symbolic.svg icons/scan-symbolic.svg icons/stop.svg icons/strip.svg icons/verify-symbolic.svg
|
||||
@echo "Generating:" $(ICONS)
|
||||
@glib-compile-resources --generate-source --target=$(ICONS) --sourcedir=icons icons/icons.gresource.xml
|
||||
glib-compile-resources --generate-source --target=$(ICONS) --sourcedir=icons icons/icons.gresource.xml
|
||||
|
||||
$(BUILDTMP)/rs-encoder-sse2.o: src/rs-encoder-sse2.c
|
||||
@echo "Compiling:" src/rs-encoder-sse2.c
|
||||
|
||||
45
README.md
45
README.md
@@ -10,25 +10,35 @@ Please refer to the [PDF manual](documentation/user-manual/manual.pdf) for more
|
||||
|
||||
# :wrench: Unofficial version
|
||||
|
||||
The last upstream version dates back to 2021, and can be found on the [official website](https://dvdisaster.jcea.es).
|
||||
The last upstream version by Carsten Gnörlich is dated 2017, and could be found on the
|
||||
[official](https://web.archive.org/web/20180428070843/http://dvdisaster.net/en/index.html)
|
||||
[website](https://web.archive.org/web/20180509154525/http://dvdisaster.org/en/index.html)
|
||||
which is [now](http://www.dvdisaster.net) [down](http://www.dvdisaster.org).
|
||||
The original source code [repository](https://sourceforge.net/projects/dvdisaster/files/dvdisaster) doesn't have it,
|
||||
but [Debian sources](https://sources.debian.org/src/dvdisaster/) does, thanks to the maintainer there.
|
||||
The original [README](README) has been left untouched in this repository.
|
||||
|
||||
This version is built on top of the latest upstream version, with the following notable enhancements:
|
||||
|
||||
- Added pre-defined sizes for BD-R Triple Layer (100GB), BD-R Quadruple Layer (128GB)
|
||||
- Added an option to use more space for ECC on BD-R when using RS03 (`--no-bdr-defect-management`)
|
||||
- Re-enabled adaptive reading for RS01 and RS02, and optionally for RS03 on user request (more on that below)
|
||||
- Ability to strip an augmented image from its additional ECC-data
|
||||
- Added an option to use more space for ECC on BD-R
|
||||
- Windows build supported again (it was dropped upstream a few versions back)
|
||||
- A new CLI-only version, not depending on gtk (`./configure --with-gui=no && make clean && make -j4`)
|
||||
- GUI codebase ported from gtk2 to gtk3 to ensure future-proofness
|
||||
- Windows and macOS builds are supported again, those were dropped upstream a few versions back
|
||||
- Non-regression tests on each code change, along with prebuilt binaries for Linux64, Windows32/64 and macOS, for both CLI and GUI versions
|
||||
- Fixed a bunch of other (minor) quirks, a few (minor) bugs, added a couple other (minor) features
|
||||
- Non-regression tests on each code change, for Linux64 and Windows32/64, CLI and GUI versions
|
||||
- Prebuilt binaries for Windows32, Windows64, Linux64 (static builds and AppImage builds), CLI and GUI versions
|
||||
- Fixed a bunch of (minor) quirks, a few (minor) bugs, added a couple (minor) features
|
||||
|
||||
Please refer to the [CHANGELOG](CHANGELOG) for all the details.
|
||||
|
||||
In 2021, upstream development briefly resumed [on a new website](https://dvdisaster.jcea.es/).
|
||||
The new team successfully picked up some of the improvements of this unofficial version.
|
||||
If/when upstream resumes development again, their changes will be merged back here when possible.
|
||||
In any case, even if at some point we succeed in upstreaming all our patches, and both codebases are exactly the same,
|
||||
this repository will stay up as it provides automated tests and prebuilt binaries.
|
||||
|
||||
This version will never break compatibility with upstream versions,
|
||||
the goal is to ensure an optical media protected by upstream dvdisaster will still be able to be repaired
|
||||
with this version, decades from now. Regression tests are here to ensure this is the case.
|
||||
with this version 10+ years from now. Regression tests are here to ensure this is the case.
|
||||
|
||||
# :twisted_rightwards_arrows: 3 available protection modes ("codecs")
|
||||
|
||||
@@ -51,7 +61,7 @@ augmented images, with the following added features:
|
||||
- RS03 augmented images and error correction files are - contrary to RS01, and to a lesser extent RS02 - robust against
|
||||
damage of the dvdisaster-added recovery data itself
|
||||
|
||||
There are, however, a few cons that must be noted for RS03:
|
||||
There are, however, a few cons that must be noted:
|
||||
|
||||
- In image mode, the RS03 augmented image file size will be picked up from a predefined list of well-known medium sizes,
|
||||
while the size of augmented images can be freely chosen in RS02. This is the "price to pay" for the added robustness
|
||||
@@ -67,8 +77,6 @@ There are, however, a few cons that must be noted for RS03:
|
||||
|
||||
# :mag: Comparison table
|
||||
|
||||
This attempts to summarize the differences, pros and cons of each codec:
|
||||
|
||||
| Codecs | RS01 (separate file, obsolete) | RS02 (augmented image) | RS03 (in separate file mode) | RS03 (in augmented image mode) |
|
||||
|--------------------------------------|--------------------------------|--------------------------------|--------------------------------|--------------------------------|
|
||||
| Robustness :one: | :star: | :star::star::star: | :star::star::star::star::star: | :star::star::star::star::star: |
|
||||
@@ -78,22 +86,21 @@ This attempts to summarize the differences, pros and cons of each codec:
|
||||
| Damaged media recovery speed :three: | :star: | :star::star::star: | :star: | :star: |
|
||||
| Supports customizing redundancy size | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :x: :four: |
|
||||
|
||||
:one: Here we're talking about the robustness against corruption of the dvdisaster-added ECC parts _themselves_. The higher the ranking, the less it is likely than a few badly located damaged sectors render the whole correction impossible because they affect dvdisaster metadata on-disc. For example, corruption of the first dozens of sectors of an image can make RS02 entirely unusable regardless of the redundancy data originally stored on it.
|
||||
:one: Robustness against corruption of the dvdisaster-added ECC parts themselves. The higher the ranking, the less it is likely than a few badly located damaged sectors render the whole correction impossible because they affect dvdisaster metadata on-disc. For example corruption of the first dozens of sectors of an image can make RS02 entirely unusable regardless of the redundancy.
|
||||
|
||||
:two: When algorithm is CPU-bound, i.e. generating or repairing an image stored on a SSD/NVMe drive where the storage i/o speed is not an issue.
|
||||
:two: When algorithm is CPU-bound, i.e. generating or repairing an image stored on a SSD/NVMe drive.
|
||||
|
||||
:three: Using adaptive reading when supported (RS02), limiting the number of damaged sectors that need to be read to what is strictly necessary for repair. Using linear reading otherwise (RS03 and separate file codecs), assuming a badly damaged media, taking into account the time the drive takes to try to read damaged sectors.
|
||||
|
||||
:four: The robustness of RS03 comes at the cost of having to augment images strictly to well-known media sizes, as explained in the previous section above. This usually doesn't make much difference as long as you intend to burn the augmented image to a classic medium (CD-R, DVD-R, BD-R, ...).
|
||||
:four: The robustness of RS03 comes at the cost of having to augment images strictly to well-known media sizes, as explained in the previous section. This usually doesn't make much difference as long as you intend to burn the augmented image to a classic medium (CD-R, DVD-R, BD-R, ...).
|
||||
|
||||
# :bulb: Rationale
|
||||
|
||||
Even if the peak of the optical media era is well behind us, optical media is still of some value for specific use cases such as off-site backups.
|
||||
Even if the optical media era is sunsetting now, and has been for a few years, it's still of some value for off-site backups.
|
||||
In any case, we still have media in our hands that we want to be able to repair, should it be damaged, during the next years/decades.
|
||||
Repairing is actually pretty much the very reason of dvdisaster existence (as long as parity data has been added, of course).
|
||||
The main purpose of this unofficial version is to ensure dvdisaster doesn't get hard to find, use or compile on recent systems.
|
||||
To this effect, prebuilt binaries are available for the 3 main categories of operating systems, and on top of that we've also fixed a few
|
||||
bugs and added a few tiny features.
|
||||
The idea of this unofficial version is to ensure dvdisaster doesn't get hard to find, use or compile, ~~should upstream development never resume (we hope it does!)~~
|
||||
This is also why precompiled Windows binaries and a precompiled static CLI-only Linux version are available here.
|
||||
|
||||
# :hammer: Compiling
|
||||
|
||||
|
||||
4
configure
vendored
4
configure
vendored
@@ -26,7 +26,7 @@
|
||||
BASH_BASED_CONFIGURE=./scripts/bash-based-configure
|
||||
BASH_BASED_CONFIGURE_OPTS="--buildtmp=$(pwd)/build $@"
|
||||
REQUIRED_CFLAGS="-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -I. -pipe"
|
||||
RECOMMENDED_CFLAGS="-Wall -Wno-format-zero-length -Wno-unused-but-set-variable"
|
||||
RECOMMENDED_CFLAGS="-Wall -Wno-unknown-warning-option -Wno-stringop-truncation -Wno-format-zero-length -Wno-unused-but-set-variable"
|
||||
NODEBUG_CFLAGS="-O2 -fomit-frame-pointer"
|
||||
DEBUG_CFLAGS="-ggdb"
|
||||
|
||||
@@ -41,7 +41,7 @@ fi
|
||||
# Set the package name and version
|
||||
|
||||
PACKAGE dvdisaster 0.79.10
|
||||
DEFINE_INT PATCHLEVEL 5
|
||||
DEFINE_INT PATCHLEVEL 3
|
||||
DEFINE_STRING HAVE_UNSTABLE_RELEASE 1
|
||||
DEFINE_STRING HOMEPAGE "https://dvdisaster.jcea.es"
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
\documentclass[12pt,a4paper,twoside]{article}
|
||||
\usepackage[utf8x]{inputenc} % Aktiviert Eingabe von unicode-Zeichensätzen
|
||||
\usepackage{times} % Skalierbarer und lesbarer Zeichensatz
|
||||
\usepackage{ucs} % Benötigt für Eingabe von unicode-Zeichensätzen
|
||||
\usepackage[utf8x]{inputenc} % Aktiviert Eingabe von unicode-Zeichensätzen
|
||||
\usepackage{epsfig} % Makros zum Einfügen von Grafiken
|
||||
\usepackage{anysize} % Makros zum Einstellen der Seitenränder
|
||||
%\usepackage{makeidx} % Makros zum Erstellen des Indexes
|
||||
|
||||
2137
locale/cs.po
2137
locale/cs.po
File diff suppressed because it is too large
Load Diff
2185
locale/de.po
2185
locale/de.po
File diff suppressed because it is too large
Load Diff
1946
locale/it.po
1946
locale/it.po
File diff suppressed because it is too large
Load Diff
2053
locale/pt_BR.po
2053
locale/pt_BR.po
File diff suppressed because it is too large
Load Diff
2075
locale/ru.po
2075
locale/ru.po
File diff suppressed because it is too large
Load Diff
1900
locale/sv.po
1900
locale/sv.po
File diff suppressed because it is too large
Load Diff
@@ -27,9 +27,9 @@ if ! test -d $LOGDIR; then
|
||||
LOGDIR=/tmp
|
||||
fi
|
||||
LOGFILE="$LOGDIR/log.txt"
|
||||
DIFFLOG="$LOGDIR/difflog.txt"
|
||||
NEWLOG="$LOGDIR/newlog.txt"
|
||||
TMPLOG="$LOGDIR/tmplog.txt"
|
||||
DIFFLOG="$LOGDIR/difflog_${CODEC_PREFIX}.txt"
|
||||
NEWLOG="$LOGDIR/newlog_${CODEC_PREFIX}.txt"
|
||||
TMPLOG="$LOGDIR/tmplog_${CODEC_PREFIX}.txt"
|
||||
|
||||
UNAME="$(uname -s)"
|
||||
|
||||
@@ -43,6 +43,12 @@ if ! $MD5SUM $RNDSEQ >/dev/null 2>&1; then
|
||||
MD5SUM=../simple-md5sum
|
||||
fi
|
||||
|
||||
if [ "$REGTEST_PARALLEL" = 1 ]; then
|
||||
REGTEST_NO_UTF8=1
|
||||
fi
|
||||
|
||||
trap 'ret=$?; [ -n "$RETFILE" ] && echo $((nbfailed + ret)) > $RETFILE' EXIT
|
||||
|
||||
nbfailed=0
|
||||
|
||||
# For MSYS2
|
||||
@@ -88,18 +94,33 @@ case "${param[0]}" in
|
||||
;;
|
||||
esac
|
||||
|
||||
# Sanity check
|
||||
|
||||
echo -n "Checking for $NEWVER: "
|
||||
if test -x $NEWVER; then
|
||||
echo "OK"
|
||||
else
|
||||
echo "missing."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
### Helper functions
|
||||
|
||||
# Handle echo -n properly even in parallel mode
|
||||
|
||||
printbuf=''
|
||||
function echo_n()
|
||||
{
|
||||
if [ "$REGTEST_PARALLEL" = 1 ]; then
|
||||
printbuf="${printbuf}$*"
|
||||
else
|
||||
echo -n "$*"
|
||||
fi
|
||||
}
|
||||
|
||||
# Handle "echo" even in parallel mode (output buf if parallel)
|
||||
|
||||
function echo_line()
|
||||
{
|
||||
if [ "$REGTEST_PARALLEL" = 1 ]; then
|
||||
printbuf="${printbuf}$*"
|
||||
echo "$printbuf"
|
||||
else
|
||||
echo "$*"
|
||||
fi
|
||||
printbuf=''
|
||||
}
|
||||
|
||||
# See if file needs to be created
|
||||
|
||||
function file_exists()
|
||||
@@ -166,7 +187,7 @@ function try()
|
||||
if [ "$REGTEST_NO_UTF8" != 1 ]; then
|
||||
echo -n "[ ] "
|
||||
fi
|
||||
echo -n "${CODEC_PREFIX} - ${REGTEST_SECTION} - $1 - "
|
||||
echo_n "${CODEC_PREFIX} - ${REGTEST_SECTION} - $1 - "
|
||||
return 0
|
||||
else
|
||||
if [ "$REGTEST_NO_UTF8" != 1 ]; then
|
||||
@@ -242,7 +263,7 @@ function run_regtest()
|
||||
if ! test -r $REFLOG; then
|
||||
pass="false"
|
||||
if [ "$REGTEST_NO_UTF8" = 1 ]; then
|
||||
echo "BAD; '$REFLOG' is missing in log file database"
|
||||
echo_line "BAD; '$REFLOG' is missing in log file database"
|
||||
else
|
||||
printf "%b\r%b\n" "BAD; '$REFLOG' is missing in log file database" "[\e[31m✘\e[0m]"
|
||||
fi
|
||||
@@ -274,7 +295,7 @@ function run_regtest()
|
||||
|
||||
if ! diff <(tail -n +3 $REFLOG | $filter) <(cat $NEWLOG | $filter) >${DIFFLOG}; then
|
||||
if [ "$REGTEST_NO_UTF8" = 1 ]; then
|
||||
echo "BAD; diffs found (<expected; >created):"
|
||||
echo_line "BAD; diffs found (<expected; >created):"
|
||||
else
|
||||
printf "%b\r%b\n" "BAD; diffs found (<expected; >created):" "[\e[31m✘\e[0m]"
|
||||
fi
|
||||
@@ -335,7 +356,7 @@ function run_regtest()
|
||||
md5=$($MD5SUM ${testiso} | cut -d\ -f 1)
|
||||
if test "$image_md5" != "$md5"; then
|
||||
if [ "$REGTEST_NO_UTF8" = 1 ]; then
|
||||
echo "BAD; md5 sum mismatch in image file:"
|
||||
echo_line "BAD; md5 sum mismatch in image file:"
|
||||
else
|
||||
printf "%b\r%b\n" "BAD; md5 sum mismatch in image file:" "[\e[31m✘\e[0m]"
|
||||
fi
|
||||
@@ -349,7 +370,7 @@ function run_regtest()
|
||||
md5=$($MD5SUM ${testecc} | cut -d\ -f 1)
|
||||
if test "$ecc_md5" != "$md5"; then
|
||||
if [ "$pass" = false ] || [ "$REGTEST_NO_UTF8" = 1 ]; then
|
||||
echo "BAD; md5 sum mismatch in ecc file:"
|
||||
echo_line "BAD; md5 sum mismatch in ecc file:"
|
||||
else
|
||||
printf "%b\r%b\n" "BAD; md5 sum mismatch in ecc file:" "[\e[31m✘\e[0m]"
|
||||
fi
|
||||
@@ -362,7 +383,7 @@ function run_regtest()
|
||||
case "${pass}" in
|
||||
true)
|
||||
if [ "$REGTEST_NO_UTF8" = 1 ]; then
|
||||
echo GOOD
|
||||
echo_line GOOD
|
||||
else
|
||||
printf "%b\r%b\n" "GOOD" "[\e[32m✓\e[0m]"
|
||||
fi
|
||||
@@ -404,3 +425,13 @@ function run_regtest()
|
||||
FILE_MSG=""
|
||||
fi
|
||||
}
|
||||
|
||||
# Sanity check
|
||||
|
||||
echo_n "Checking for $NEWVER: "
|
||||
if test -x $NEWVER; then
|
||||
echo_line "OK"
|
||||
else
|
||||
echo_line "missing."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
CODEC_PREFIX=RS01
|
||||
. common.bash
|
||||
|
||||
ISOSIZE=21000
|
||||
@@ -11,8 +12,6 @@ TMPISO=$TMPDIR/rs01-tmp.iso
|
||||
TMPECC=$TMPDIR/rs01-tmp.ecc
|
||||
SIMISO=$TMPDIR/rs01-sim.iso
|
||||
|
||||
CODEC_PREFIX=RS01
|
||||
|
||||
# Create master image and ecc file
|
||||
|
||||
if ! file_exists $MASTERISO; then
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
CODEC_PREFIX=RS02
|
||||
. common.bash
|
||||
|
||||
ISOSIZE=30000
|
||||
@@ -14,8 +15,6 @@ NO_FILE=$TMPDIR/none.file
|
||||
|
||||
ISO_PLUS137=$ISODIR/rs02-plus137.iso
|
||||
|
||||
CODEC_PREFIX=RS02
|
||||
|
||||
# Create master image
|
||||
|
||||
if ! file_exists $MASTERISO; then
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
CODEC_PREFIX=RS03f
|
||||
. common.bash
|
||||
|
||||
ISOSIZE=21000
|
||||
@@ -10,7 +11,6 @@ MASTERECC=$ISODIR/rs03f-master.ecc
|
||||
SIMISO=$TMPDIR/rs03f-sim.iso
|
||||
TMPISO=$TMPDIR/rs03f-tmp.iso
|
||||
TMPECC=$TMPDIR/rs03f-tmp.ecc
|
||||
CODEC_PREFIX=RS03f
|
||||
|
||||
# Create master image
|
||||
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
CODEC_PREFIX=RS03i
|
||||
. common.bash
|
||||
|
||||
ISOSIZE=21000
|
||||
@@ -17,8 +18,6 @@ LMI_HEADER=235219
|
||||
LMI_LAYER_SIZE=1409
|
||||
LMI_FIRSTCRC=235303
|
||||
|
||||
CODEC_PREFIX=RS03i
|
||||
|
||||
# Create master image
|
||||
|
||||
if ! file_exists $MASTERISO; then
|
||||
|
||||
@@ -1,10 +1,27 @@
|
||||
#!/usr/bin/env bash
|
||||
cd "$(dirname "$0")"
|
||||
|
||||
export DVDISASTER_SCSI_SIMULATED_NODELAY=1
|
||||
|
||||
if [ "$REGTEST_PARALLEL" = 1 ]; then
|
||||
for i in rs*.bash; do
|
||||
( RETFILE=/tmp/result.$i REGTEST_NO_UTF8=1 ./$i ) &
|
||||
done
|
||||
wait
|
||||
else
|
||||
for i in rs*.bash; do
|
||||
RETFILE=/tmp/result.$i ./$i
|
||||
done
|
||||
fi
|
||||
|
||||
allfailed=0
|
||||
for i in rs*.bash; do
|
||||
( DVDISASTER_SCSI_SIMULATED_NODELAY=1 ./$i ); ret=$?
|
||||
ret=$(cat /tmp/result.$i)
|
||||
[ -z "$ret" ] && ret=1
|
||||
rm -f /tmp/result.$i
|
||||
allfailed=$((allfailed + ret))
|
||||
done
|
||||
|
||||
echo Failed $allfailed tests
|
||||
[ $allfailed -ge 256 ] && allfailed=255
|
||||
exit $allfailed
|
||||
|
||||
@@ -780,13 +780,11 @@ void GuiAboutDialog()
|
||||
GuiAboutTextWithLink(vbox, text, HOMEPAGE);
|
||||
g_free(text);
|
||||
|
||||
GuiAboutTextWithLink(vbox, _("\nThis version is <b>not the original</b>. It has been enhanced mainly to\n"
|
||||
"add support for BD-R TL/QL and HD-DVD, add support for stripping ECC from ISOs,\n"
|
||||
"add an option to generate BD-R RS03 images with more redundancy,\n"
|
||||
"re-enable adaptive reading support,\n"
|
||||
"port the GUI to GTK3, and a lot of other things.\n\n"
|
||||
"Please do not bother the original authors of dvdisaster,\n"
|
||||
"submit bugreports against [GitHub] instead.\n"),
|
||||
GuiAboutTextWithLink(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"
|
||||
"and subsequently patched again to support a CLI-only build, among other things.\n\n"
|
||||
"Please do not bother the original authors of dvdisaster\n"
|
||||
"but submit bugreports against [GitHub] instead.\n"),
|
||||
"https://github.com/speed47/dvdisaster");
|
||||
|
||||
#ifdef SYS_NETBSD
|
||||
|
||||
@@ -249,10 +249,7 @@ GtkWidget *GuiCreateMenuBar(GtkWidget *parent)
|
||||
add_menu_separator(menu_strip);
|
||||
|
||||
add_menu_button(menu_strip, _("menu|Change log"), MENU_HELP_CHANGELOG);
|
||||
|
||||
/* Hide the todo list menu in the patchlevel series, as we're not upstream
|
||||
* add_menu_button(menu_strip, _("menu|To do list"), MENU_HELP_TODO);
|
||||
*/
|
||||
add_menu_button(menu_strip, _("menu|To do list"), MENU_HELP_TODO);
|
||||
|
||||
menu_anchor = gtk_menu_item_new_with_label(_utf("menu|Help"));
|
||||
gtk_menu_item_set_submenu(GTK_MENU_ITEM(menu_anchor), menu_strip);
|
||||
@@ -368,12 +365,12 @@ static void file_select_cb(GtkWidget *widget, gpointer data)
|
||||
gtk_file_chooser_set_filename(GTK_FILE_CHOOSER(dialog),
|
||||
gtk_entry_get_text(GTK_ENTRY(Closure->eccEntry)));
|
||||
if (gtk_dialog_run (GTK_DIALOG (dialog)) == GTK_RESPONSE_ACCEPT)
|
||||
{ g_free(Closure->eccName);
|
||||
{ g_free(Closure->imageName);
|
||||
Closure->eccName = gtk_file_chooser_get_filename (GTK_FILE_CHOOSER (dialog));
|
||||
if(Closure->autoSuffix)
|
||||
Closure->eccName = ApplyAutoSuffix(Closure->eccName, "ecc");
|
||||
gtk_entry_set_text(GTK_ENTRY(Closure->eccEntry), Closure->eccName);
|
||||
gtk_editable_set_position(GTK_EDITABLE(Closure->eccEntry), -1);
|
||||
gtk_entry_set_text(GTK_ENTRY(Closure->eccName), Closure->eccName);
|
||||
gtk_editable_set_position(GTK_EDITABLE(Closure->eccName), -1);
|
||||
}
|
||||
gtk_widget_destroy (dialog);
|
||||
break;
|
||||
|
||||
@@ -691,11 +691,9 @@ static void open_and_determine_mode(read_closure *rc)
|
||||
{ int answer;
|
||||
PrintLog(_("%s-type ECC found\n"), "RS03");
|
||||
answer = ModalWarning(GTK_MESSAGE_WARNING, GTK_BUTTONS_OK_CANCEL, NULL,
|
||||
_("Adaptive reading has not been adapted yet to handle RS03-augmented images in an optimal way.\n"
|
||||
"The 'divide and conquer' reading method will still be applied, by attempting to detect and skip\n"
|
||||
"badly damaged zones and give priority to good zones first. However we won't stop reading automatically\n"
|
||||
"once enough data and ECC data have been recovered to be able to rebuild the image, as we do for RS02.\n"
|
||||
"You should stop the reading and launch a 'verify' yourself from time to time to see if this is the case.\n"));
|
||||
_("Adaptive reading has not been adapted yet to handle RS03-augmented images properly.\n"
|
||||
"To quote the original author: \"behaviour with RS03 is unpredictable and undefined\".\n"
|
||||
"You should cancel and use the linear reading strategy instead. Continue at your own risk.\n"));
|
||||
|
||||
if(!answer)
|
||||
{ GuiSetAdaptiveReadFootline(_("Aborted by user request!"), Closure->redText);
|
||||
|
||||
@@ -80,14 +80,9 @@ void GuiCreateWelcomePage(GtkNotebook *notebook)
|
||||
|
||||
GuiAboutText(box, _("<i>New in this Version:</i>"));
|
||||
|
||||
GuiAboutTextWithLink(box, _(
|
||||
"This is <b>v0.79.10-pl5</b>. The [patchlevel series] are enhanced on top of the last upstream release to:\n"
|
||||
"- add support for BD-R TL/QL and HD-DVD,\n"
|
||||
"- add support for stripping ECC from ISOs,\n"
|
||||
"- add an option to generate BD-R RS03 images with more redundancy,\n"
|
||||
"- re-enable adaptive reading support,\n"
|
||||
"- port the GUI to GTK3,\n"
|
||||
"- ... and a lot more.\n"
|
||||
GuiAboutTextWithLink(box, _("This is <b>v0.79.10-pl3</b>. The [patchlevel series] are enhanced from the last upstream release.\n"
|
||||
"We add support for BD-R TL/QL, Windows and MacOS builds, an option to produce bigger BD-R RS03,\n"
|
||||
"images, support for stripping ECC from ISOs, re-enabled adaptive reading (except for RS03), and more.\n"
|
||||
"\n"
|
||||
"Please refer to the <i>Help > Change log</i> menu for all the details."), "https://github.com/speed47/dvdisaster");
|
||||
|
||||
|
||||
Reference in New Issue
Block a user