Compare commits
324 Commits
debian/0.7
...
master
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
ec679e3762 | ||
|
|
b20421e639 | ||
|
|
627dcd111e | ||
|
|
4e9949bd38 | ||
|
|
4a7d375475 | ||
|
|
fb4e70bfca | ||
|
|
8a354dbb4f | ||
|
|
3ed8d281c4 | ||
|
|
9e6b43d2cf | ||
|
|
b89b7d0e50 | ||
|
|
4456b67a24 | ||
|
|
49cf87bb31 | ||
|
|
117fcb1ee9 | ||
|
|
7c72e749ca | ||
|
|
f03dc63571 | ||
|
|
f1debb4002 | ||
|
|
935aa50038 | ||
|
|
235a6243d2 | ||
|
|
aa00ac9e3e | ||
|
|
76f79adeed | ||
|
|
903228e4b0 | ||
|
|
02e1d35db8 | ||
|
|
bbf60ee3e6 | ||
|
|
dc0e03073d | ||
|
|
da612c8a3a | ||
|
|
e4753752d3 | ||
|
|
e5f1eb1bd0 | ||
|
|
4f8a5479ac | ||
|
|
4c57e2ab2b | ||
|
|
30ff03d053 | ||
|
|
d826d01de2 | ||
|
|
0d0180167e | ||
|
|
dc23ed54b1 | ||
|
|
51089b2902 | ||
|
|
63ff359b03 | ||
|
|
3538a6bc7b | ||
|
|
697b116374 | ||
|
|
3757f9c9a8 | ||
|
|
b7840d13c1 | ||
|
|
fdc09176d9 | ||
|
|
0392e443f5 | ||
|
|
7e416990cd | ||
|
|
93be13b0ee | ||
|
|
222429df10 | ||
|
|
5ea0011dce | ||
|
|
cc9f4dd817 | ||
|
|
7732231bb5 | ||
|
|
e5bc7faa73 | ||
|
|
3a37673b3f | ||
|
|
0d7a8cc22b | ||
|
|
0b5b9c9f9e | ||
|
|
061026af8a | ||
|
|
2b5fca0e4f | ||
|
|
24570f86d1 | ||
|
|
9f583b1ffb | ||
|
|
d66ee15738 | ||
|
|
6c88a55600 | ||
|
|
e75d73c74a | ||
|
|
a7e1a5591e | ||
|
|
64f31a8e5d | ||
|
|
d01aae080e | ||
|
|
967d8e0b4c | ||
|
|
ce64c57c49 | ||
|
|
5da5fa54dc | ||
|
|
6dc80bb542 | ||
|
|
8c0765a1b6 | ||
|
|
640d72098d | ||
|
|
57b55b2527 | ||
|
|
a00dee7240 | ||
|
|
f3226aaf68 | ||
|
|
d9f9094a56 | ||
|
|
923fe44e4a | ||
|
|
fb7198c1e9 | ||
|
|
58a35bc565 | ||
|
|
c4c0fcec81 | ||
|
|
bb6c9222fb | ||
|
|
956131c3f3 | ||
|
|
ed8d9cfd66 | ||
|
|
73218aebd2 | ||
|
|
9effa298cd | ||
|
|
2cd769a958 | ||
|
|
b227732274 | ||
|
|
e68a8e79d0 | ||
|
|
e9b44a04f0 | ||
|
|
eadbf54aae | ||
|
|
3967ff3cae | ||
|
|
f8678eb3be | ||
|
|
ea92170fd1 | ||
|
|
8504386fb1 | ||
|
|
8469a933e4 | ||
|
|
ad3285507b | ||
|
|
2bb0774538 | ||
|
|
2cee2215af | ||
|
|
8c567549c1 | ||
|
|
9bbd268aa4 | ||
|
|
3be61f4b7b | ||
|
|
c7b0f5b592 | ||
|
|
c0bde64a54 | ||
|
|
c19e7ea100 | ||
|
|
063ad92460 | ||
|
|
aa9065f0c0 | ||
|
|
0bfca9a9fc | ||
|
|
71668f3296 | ||
|
|
3d1bf4677e | ||
|
|
c32080d7d6 | ||
|
|
42bb0a120b | ||
|
|
8d24545c88 | ||
|
|
16ea27d791 | ||
|
|
a7c5268f37 | ||
|
|
45ff2c5fda | ||
|
|
1338598abb | ||
|
|
1577a7c18d | ||
|
|
36ef8517fd | ||
|
|
64c0361179 | ||
|
|
eeb9f0705d | ||
|
|
f38969c7c8 | ||
|
|
be6970f5df | ||
|
|
cb3d628f12 | ||
|
|
62ec64d18f | ||
|
|
981226eec2 | ||
|
|
06b367e1cd | ||
|
|
3d3a65d8c2 | ||
|
|
50ff1c0403 | ||
|
|
65976868cf | ||
|
|
62b602030a | ||
|
|
db4d3af31d | ||
|
|
244111e7db | ||
|
|
eb4c232059 | ||
|
|
1382e19eb5 | ||
|
|
8d088fc6e4 | ||
|
|
a8eb4acf08 | ||
|
|
90b5ab6443 | ||
|
|
eac7884373 | ||
|
|
8d080d69c5 | ||
|
|
70342e3174 | ||
|
|
d7a1936536 | ||
|
|
3147aa3ce8 | ||
|
|
ab057244b4 | ||
|
|
275decd40e | ||
|
|
9264713614 | ||
|
|
d0fd46c97c | ||
|
|
451bdf9a7e | ||
|
|
58b558ea7e | ||
|
|
6444ff67c5 | ||
|
|
bd9777a531 | ||
|
|
464f2b8bfa | ||
|
|
af178e89bc | ||
|
|
8710519821 | ||
|
|
36fa2db965 | ||
|
|
442af06f7a | ||
|
|
d8773e5ee6 | ||
|
|
5063106418 | ||
|
|
430fc71932 | ||
|
|
c336d039a9 | ||
|
|
fd4f8424f7 | ||
|
|
cc4547810f | ||
|
|
f5fa3d9952 | ||
|
|
dac6f14af0 | ||
|
|
fef782b246 | ||
|
|
9916ce74bc | ||
|
|
355427b6e0 | ||
|
|
da44e81561 | ||
|
|
9e5ba80e29 | ||
|
|
c72b85bb9a | ||
|
|
97a4df2f21 | ||
|
|
f68efb758e | ||
|
|
66cf0d25ee | ||
|
|
e8eb7824aa | ||
|
|
a3aedbd4a2 | ||
|
|
83acea4684 | ||
|
|
3bd06abbda | ||
|
|
901e87dfcd | ||
|
|
4518992908 | ||
|
|
802e095cfb | ||
|
|
8332b845a7 | ||
|
|
c0de13c027 | ||
|
|
b03bd5d076 | ||
|
|
290097c9b3 | ||
|
|
305f773bd3 | ||
|
|
fc18da7043 | ||
|
|
396c73f5c8 | ||
|
|
93c6a7a887 | ||
|
|
53ddb9a51b | ||
|
|
0521f5271e | ||
|
|
3844c156e5 | ||
|
|
fb67ee4ab5 | ||
|
|
daec1295aa | ||
|
|
9ba1374351 | ||
|
|
d90cd7fa40 | ||
|
|
a98c795280 | ||
|
|
7a3391f49d | ||
|
|
1a9416f7b2 | ||
|
|
be2f7b67b9 | ||
|
|
dcfb23f4ee | ||
|
|
239f76c71c | ||
|
|
dc53597e8e | ||
|
|
7091b5fbbe | ||
|
|
269ea45d8d | ||
|
|
7ee35f1d0a | ||
|
|
0724a34af8 | ||
|
|
898f2fcfb6 | ||
|
|
5b82ec64bc | ||
|
|
9fed89dbcf | ||
|
|
22b2aba490 | ||
|
|
0598fad827 | ||
|
|
cbcac368dc | ||
|
|
bd70bcef1b | ||
|
|
71b32a30a1 | ||
|
|
2d68cfb0b1 | ||
|
|
c0c6747bd9 | ||
|
|
3eecbcbdcc | ||
|
|
49eecc0a6f | ||
|
|
4d2e0ba32c | ||
|
|
495a851356 | ||
|
|
5b95870f39 | ||
|
|
d76551ce39 | ||
|
|
0c5995bd72 | ||
|
|
7c74ca8f84 | ||
|
|
7966d41c01 | ||
|
|
87d61d4eb0 | ||
|
|
ab0427f2f0 | ||
|
|
4b982057f7 | ||
|
|
d22fac49a3 | ||
|
|
8e0664462e | ||
|
|
8298d78e04 | ||
|
|
d8e0dab436 | ||
|
|
196506c3dd | ||
|
|
6362a68355 | ||
|
|
5553ed332f | ||
|
|
5ab5f9b0cb | ||
|
|
9ef0b374e5 | ||
|
|
a886d60417 | ||
|
|
d29db408a3 | ||
|
|
f8dbe54a8c | ||
|
|
f9e8ce83bc | ||
|
|
4ba33a2c89 | ||
|
|
41887bb25e | ||
|
|
0a90d1b22a | ||
|
|
d314a6bcef | ||
|
|
b4aed53e23 | ||
|
|
a4efe71abf | ||
|
|
38defdf7aa | ||
|
|
99b27b982a | ||
|
|
4f480905dc | ||
|
|
32c8455017 | ||
|
|
0c038b8171 | ||
|
|
fc3f2605f6 | ||
|
|
4ecd698a6b | ||
|
|
a5bf80c657 | ||
|
|
5bc91d01b1 | ||
|
|
3c60b1a959 | ||
|
|
181c40e1fb | ||
|
|
6f7cb57317 | ||
|
|
d169e4f289 | ||
|
|
f6a9f663bf | ||
|
|
95b3155bc8 | ||
|
|
4c4aa1a143 | ||
|
|
31b154dacc | ||
|
|
52f3307d78 | ||
|
|
1e51a09248 | ||
|
|
6c4d0d26e9 | ||
|
|
adeba79339 | ||
|
|
f648710f2f | ||
|
|
bf96232b15 | ||
|
|
c84be789d3 | ||
|
|
3e16a0c2da | ||
|
|
c40d6e9278 | ||
|
|
bee8419a4a | ||
|
|
af179a1a3e | ||
|
|
2ebf97cbf4 | ||
|
|
4b4495b693 | ||
|
|
ddaf4cfc23 | ||
|
|
86207af360 | ||
|
|
44bc4b1916 | ||
|
|
b7344e4855 | ||
|
|
9fc9a74171 | ||
|
|
b289d165db | ||
|
|
b24ad06237 | ||
|
|
e4f86281b1 | ||
|
|
dc27f5e3fa | ||
|
|
3693b4e86e | ||
|
|
354e8a500a | ||
|
|
72f70e6488 | ||
|
|
13db28beb6 | ||
|
|
19a77a6cba | ||
|
|
2b5666fc47 | ||
|
|
f2da0d5640 | ||
|
|
02a85cae19 | ||
|
|
25c3061e39 | ||
|
|
30adf4ea35 | ||
|
|
72e8ebd009 | ||
|
|
1c6804804d | ||
|
|
de50a000bf | ||
|
|
00d42647ef | ||
|
|
1a4b5b62ee | ||
|
|
5197239bfa | ||
|
|
e82528bc0c | ||
|
|
869c56ca37 | ||
|
|
ff8db2fb8b | ||
|
|
765d87e0d3 | ||
|
|
2ef4511927 | ||
|
|
e35c2de208 | ||
|
|
619ee820f3 | ||
|
|
581d7697db | ||
|
|
58e068ff5b | ||
|
|
ccc2d79dd4 | ||
|
|
2388e522b3 | ||
|
|
b3b74e69d9 | ||
|
|
3af39d5b74 | ||
|
|
d813ad385b | ||
|
|
c4d7120860 | ||
|
|
5f5aef550f | ||
|
|
0144e738fb | ||
|
|
5d5e943c51 | ||
|
|
06c675c1fd | ||
|
|
a5f48d91a3 | ||
|
|
f83f9e81b0 | ||
|
|
38a3127d2f | ||
|
|
9f38622429 | ||
|
|
520b4cb8c9 | ||
|
|
af00bbb1cb | ||
|
|
34afe54009 | ||
|
|
a66cebafd3 | ||
|
|
eaa545b89c |
@@ -1,4 +0,0 @@
|
||||
PRIVATE
|
||||
test-cases
|
||||
regtest
|
||||
st
|
||||
64
.github/workflows/codeql.yml
vendored
Normal file
64
.github/workflows/codeql.yml
vendored
Normal file
@@ -0,0 +1,64 @@
|
||||
# For most projects, this workflow file will not need changing; you simply need
|
||||
# to commit it to your repository.
|
||||
#
|
||||
# You may wish to alter this file to override the set of languages analyzed,
|
||||
# or to provide custom queries or build logic.
|
||||
#
|
||||
# ******** NOTE ********
|
||||
# We have attempted to detect the languages in your repository. Please check
|
||||
# the `language` matrix defined below to confirm you have the correct set of
|
||||
# supported CodeQL languages.
|
||||
#
|
||||
name: "CodeQL"
|
||||
|
||||
on: [push,pull_request]
|
||||
|
||||
jobs:
|
||||
analyze:
|
||||
name: Analyze
|
||||
runs-on: ${{ (matrix.language == 'swift' && 'macos-latest') || 'ubuntu-latest' }}
|
||||
permissions:
|
||||
actions: read
|
||||
contents: read
|
||||
security-events: write
|
||||
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
language: [ 'cpp' ]
|
||||
# CodeQL supports [ 'cpp', 'csharp', 'go', 'java', 'javascript', 'python', 'ruby' ]
|
||||
# Use only 'java' to analyze code written in Java, Kotlin or both
|
||||
# Use only 'javascript' to analyze code written in JavaScript, TypeScript or both
|
||||
# Learn more about CodeQL language support at https://aka.ms/codeql-docs/language-support
|
||||
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
persist-credentials: false
|
||||
|
||||
# Initializes the CodeQL tools for scanning.
|
||||
- name: Initialize CodeQL
|
||||
uses: github/codeql-action/init@v2
|
||||
with:
|
||||
languages: ${{ matrix.language }}
|
||||
# If you wish to specify custom queries, you can do so here or in a config file.
|
||||
# By default, queries listed here will override any specified in a config file.
|
||||
# Prefix the list here with "+" to use these queries and those in the config file.
|
||||
|
||||
# For more details on CodeQL's query packs, refer to: https://docs.github.com/en/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/configuring-code-scanning#using-queries-in-ql-packs
|
||||
# queries: security-extended,security-and-quality
|
||||
|
||||
|
||||
- name: Build app
|
||||
run: |
|
||||
sudo apt-get update && sudo apt-get install -y libglib2.0-dev ghostscript man jq libgtk-3-dev
|
||||
./configure --with-werror
|
||||
nproc && make -j$(nproc)
|
||||
env:
|
||||
DEBIAN_FRONTEND: noninteractive
|
||||
|
||||
- name: Perform CodeQL Analysis
|
||||
uses: github/codeql-action/analyze@v2
|
||||
with:
|
||||
category: "/language:${{matrix.language}}"
|
||||
103
.github/workflows/make-dist.sh
vendored
Executable file
103
.github/workflows/make-dist.sh
vendored
Executable file
@@ -0,0 +1,103 @@
|
||||
#!/bin/bash
|
||||
set -e
|
||||
|
||||
github_ref="$1"
|
||||
|
||||
case "$MSYSTEM" in
|
||||
MINGW64) os=win64; suf=$os-portable; exe=.exe;;
|
||||
MINGW32) os=win32; suf=$os-portable; exe=.exe;;
|
||||
*) os=linux64; suf=$os-static; exe='';;
|
||||
esac
|
||||
|
||||
./dvdisaster$exe --version
|
||||
|
||||
if ./dvdisaster$exe --version | grep -q NOGUI; then
|
||||
GUI=0
|
||||
suffix=$suf-cli-only
|
||||
else
|
||||
GUI=1
|
||||
suffix=$suf
|
||||
fi
|
||||
|
||||
archive=dvdisaster-$(echo "$github_ref" | grep -Eo '[^/]+$')-$suffix.zip
|
||||
[ -n "$GITHUB_OUTPUT" ] && echo "archive=$archive" >> "$GITHUB_OUTPUT"
|
||||
echo "!> Appimage is <$archive>"
|
||||
|
||||
echo "!> Copying locales"
|
||||
mkdir -p dist/locale
|
||||
cp -va locale/*/ dist/locale/
|
||||
|
||||
# WINDOWS 32/64
|
||||
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/
|
||||
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")"
|
||||
echo "!> Absolute pixbuf directory is $pixbuf_dir"
|
||||
pixbuf_dir_relative=$(echo "$pixbuf_dir" | sed -re "s=$MINGW_PREFIX/==")
|
||||
echo "!> Relative pixbuf directory is $pixbuf_dir_relative"
|
||||
mkdir -p "dist/$pixbuf_dir_relative/loaders"
|
||||
cp -va "$loaders_cache" "dist/$pixbuf_dir_relative/"
|
||||
lookup_dependencies="$lookup_dependencies $(\ls -1 "$pixbuf_dir"/loaders/*.dll)"
|
||||
fi
|
||||
echo "!> Will look for dependencies of $lookup_dependencies"
|
||||
|
||||
for binary in $lookup_dependencies
|
||||
do
|
||||
if [ "$binary" != "dvdisaster" ]; then
|
||||
echo "!> Copying pixbuf loader lib $binary to dist/$pixbuf_dir_relative/loaders..."
|
||||
cp -va "$binary" "dist/$pixbuf_dir_relative/loaders/"
|
||||
fi
|
||||
echo "!> Looking for dependencies of $binary..."
|
||||
# ntldd -R $binary
|
||||
for i in $(ntldd -R "$binary" | awk '/mingw/ {print $3}' | tr \\\\ / | grep -Eo '[^/]+$')
|
||||
do
|
||||
src="$MINGW_PREFIX/bin/$i"
|
||||
echo -n "!>> Inspecting $src... "
|
||||
if [ -e "$src" ]; then
|
||||
echo "found, copying"
|
||||
cp -va "$src" dist/
|
||||
else
|
||||
echo "not found, skipping"
|
||||
fi
|
||||
done
|
||||
done
|
||||
|
||||
echo "!> Remove .a files if any"
|
||||
find dist -type f -name "*.a" -print -delete
|
||||
|
||||
echo "!> Copy and rename text files"
|
||||
for file in CHANGELOG TODO COPYING CREDITS.* TODO
|
||||
do
|
||||
cp -va "$file" "dist/$file.txt"
|
||||
done
|
||||
|
||||
echo "!> Copy other files"
|
||||
for file in dvdisaster.exe documentation/user-manual/manual.pdf
|
||||
do
|
||||
cp -va "$file" dist/
|
||||
done
|
||||
# /WINDOWS
|
||||
else
|
||||
# Linux
|
||||
echo "!> Copying text, man and pdf files"
|
||||
cp -va CHANGELOG TODO COPYING CREDITS.* dvdisaster documentation/dvdisaster.*.1 documentation/user-manual/manual.pdf dist/
|
||||
fi
|
||||
|
||||
echo "!> Building pdf from man"
|
||||
man -t documentation/dvdisaster.en.1 | ps2pdf - dist/dvdisaster.pdf
|
||||
|
||||
echo "!> Building dist zip"
|
||||
if command -v zip >/dev/null; then
|
||||
mv -v dist "${archive/.zip/}"
|
||||
zip -9r "$archive" "${archive/.zip/}"
|
||||
mv -v "${archive/.zip/}" dist
|
||||
fi
|
||||
|
||||
echo "!> Dist done ($archive)"
|
||||
51
.github/workflows/make-mac-app.sh
vendored
Executable file
51
.github/workflows/make-mac-app.sh
vendored
Executable file
@@ -0,0 +1,51 @@
|
||||
#!/bin/bash
|
||||
set -e
|
||||
set -x
|
||||
|
||||
github_ref="$1"
|
||||
|
||||
if ./dvdisaster --version | grep -q NOGUI; then
|
||||
suffix="-cli-only"
|
||||
else
|
||||
suffix=""
|
||||
fi
|
||||
|
||||
archive="dvdisaster-$(echo "$github_ref" | grep -Eo '[^/]+$')-macos$suffix.dmg"
|
||||
[ -n "$GITHUB_OUTPUT" ] && echo "archive=$archive" >> "$GITHUB_OUTPUT"
|
||||
echo "mac dmg is <$archive>"
|
||||
|
||||
mkdir -p dist
|
||||
|
||||
# Create directory structure for the macOS application bundle
|
||||
mkdir -p dvdisaster.app/Contents/{MacOS,Resources}
|
||||
|
||||
# Copy the main executable to the appropriate location
|
||||
cp dvdisaster dvdisaster.app/Contents/MacOS
|
||||
|
||||
# Use dylibbundler to bundle dynamic libraries into the application bundle
|
||||
dylibbundler -od -cd -b -x dvdisaster.app/Contents/MacOS/dvdisaster -d 'dvdisaster.app/Contents/libs/'
|
||||
|
||||
# Copy the Info.plist file to define application metadata
|
||||
cp macinst/Info.plist dvdisaster.app/Contents/
|
||||
|
||||
# Create a directory for documentation resources
|
||||
mkdir dvdisaster.app/Contents/Resources/documentation
|
||||
|
||||
# Copy documentation files to the documentation directory
|
||||
cp CHANGELOG TODO COPYING CREDITS.* documentation/dvdisaster.*.1 documentation/user-manual/manual.pdf dvdisaster.app/Contents/Resources/documentation
|
||||
|
||||
# Copy localization files to the locale directory
|
||||
find locale/* -maxdepth 0 -type d -exec cp -r {} dvdisaster.app/Contents/Resources/locale/ \;
|
||||
|
||||
# Copy the application icon to the resources directory
|
||||
cp macinst/dvdisaster.icns dvdisaster.app/Contents/Resources/
|
||||
|
||||
# Make the main executable executable
|
||||
chmod +x dvdisaster.app/Contents/MacOS/dvdisaster
|
||||
|
||||
# Move the application bundle to the 'dist' directory
|
||||
mv dvdisaster.app dist
|
||||
|
||||
create-dmg "$archive" dist
|
||||
|
||||
echo "dist done ($archive)"
|
||||
340
.github/workflows/release.yml
vendored
Normal file
340
.github/workflows/release.yml
vendored
Normal file
@@ -0,0 +1,340 @@
|
||||
name: autobuild
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- 'master'
|
||||
- 'dev'
|
||||
tags:
|
||||
- 'v*'
|
||||
|
||||
jobs:
|
||||
mac:
|
||||
runs-on: macos-13
|
||||
strategy:
|
||||
matrix:
|
||||
ui: [cli, gui]
|
||||
include:
|
||||
- ui: cli
|
||||
clionly: --with-gui=no
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- name: install prerequisites
|
||||
env:
|
||||
HOMEBREW_NO_INSTALL_CLEANUP: 1
|
||||
run: brew install ghostscript glib gdk-pixbuf dylibbundler create-dmg
|
||||
- name: install prerequisites (GUI)
|
||||
if: matrix.ui == 'gui'
|
||||
env:
|
||||
HOMEBREW_NO_INSTALL_CLEANUP: 1
|
||||
run: brew install gtk+3
|
||||
- name: configure
|
||||
run: |
|
||||
set +x
|
||||
./configure ${{ matrix.clionly }} --with-werror
|
||||
- name: make
|
||||
run: |
|
||||
cat Makefile.config
|
||||
make -j$(sysctl -n hw.ncpu || 2)
|
||||
- name: check executability
|
||||
run: ./dvdisaster --version
|
||||
- name: check executable (GUI)
|
||||
if: matrix.ui == 'gui'
|
||||
run: |
|
||||
./dvdisaster --version
|
||||
if ./dvdisaster --version | grep NOGUI; then exit 1; fi
|
||||
- name: check executable (CLI)
|
||||
if: matrix.ui == 'cli'
|
||||
run: |
|
||||
./dvdisaster --version
|
||||
./dvdisaster --version | grep NOGUI
|
||||
- name: build dist
|
||||
run: ./.github/workflows/make-mac-app.sh ${{ github.ref }}
|
||||
id: dist
|
||||
- name: Tag for Continuous Build
|
||||
if: github.ref_name == 'master'
|
||||
run: |
|
||||
git tag -f latest
|
||||
git push -f origin latest
|
||||
- name: Upload to Continuous Build
|
||||
if: github.ref_name == 'master'
|
||||
uses: softprops/action-gh-release@v2
|
||||
with:
|
||||
token: "${{ secrets.GITHUB_TOKEN }}"
|
||||
prerelease: true
|
||||
name: "Continuous Build"
|
||||
tag_name: latest
|
||||
files: ${{ steps.dist.outputs.archive }}
|
||||
- name: Tag for Dev Build
|
||||
if: github.ref_name == 'dev'
|
||||
run: |
|
||||
git tag -f devel
|
||||
git push -f origin devel
|
||||
- name: Upload to Dev Build
|
||||
if: github.ref_name == 'dev'
|
||||
uses: softprops/action-gh-release@v2
|
||||
with:
|
||||
token: "${{ secrets.GITHUB_TOKEN }}"
|
||||
prerelease: true
|
||||
draft: true
|
||||
name: "Dev Build"
|
||||
tag_name: devel
|
||||
files: ${{ steps.dist.outputs.archive }}
|
||||
- name: Upload to Draft Release
|
||||
if: github.ref_type == 'tag'
|
||||
uses: softprops/action-gh-release@v2
|
||||
with:
|
||||
token: "${{ secrets.GITHUB_TOKEN }}"
|
||||
draft: true
|
||||
name: ${{ github.ref_name }}
|
||||
tag_name: ${{ github.ref_name }}
|
||||
files: ${{ steps.dist.outputs.archive }}
|
||||
|
||||
win:
|
||||
runs-on: windows-latest
|
||||
strategy:
|
||||
matrix:
|
||||
arch: [x86_64, i686]
|
||||
ui: [cli, gui]
|
||||
include:
|
||||
- arch: x86_64
|
||||
msystem: MINGW64
|
||||
grep: x86-64
|
||||
- arch: i686
|
||||
msystem: MINGW32
|
||||
grep: 386
|
||||
- ui: cli
|
||||
clionly: --with-gui=no
|
||||
defaults:
|
||||
run:
|
||||
shell: msys2 {0}
|
||||
steps:
|
||||
- uses: msys2/setup-msys2@v2
|
||||
with:
|
||||
msystem: ${{ matrix.msystem }}
|
||||
update: false
|
||||
install: git diffutils make pkg-config mingw-w64-${{ matrix.arch }}-glib2 mingw-w64-${{ matrix.arch }}-gcc mingw-w64-${{ matrix.arch }}-ghostscript mingw-w64-${{ matrix.arch }}-ntldd-git man zip
|
||||
- name: install GUI prereqs
|
||||
if: matrix.ui == 'gui'
|
||||
run: pacman -S --noconfirm mingw-w64-${{ matrix.arch }}-gtk3 mingw-w64-${{ matrix.arch }}-librsvg
|
||||
- name: git config
|
||||
run: git config --global core.autocrlf input
|
||||
shell: bash
|
||||
- uses: actions/checkout@v4
|
||||
- name: configure
|
||||
run: ./configure ${{ matrix.clionly }}
|
||||
- name: make
|
||||
run: nproc && make -j$(nproc)
|
||||
- name: check executable
|
||||
run: |
|
||||
./dvdisaster.exe --version
|
||||
file dvdisaster.exe
|
||||
if ./dvdisaster.exe --version | grep dirty; then exit 1; fi
|
||||
file dvdisaster.exe | grep -q '${{ matrix.grep }}'
|
||||
file dvdisaster.exe | grep -q 'for MS Windows'
|
||||
- name: check executable (GUI)
|
||||
if: matrix.ui == 'gui'
|
||||
run: if ./dvdisaster.exe --version | grep NOGUI; then exit 1; fi
|
||||
- name: check executable (CLI)
|
||||
if: matrix.ui == 'cli'
|
||||
run: ./dvdisaster.exe --version | grep NOGUI
|
||||
- name: prepare dist
|
||||
run: ./.github/workflows/make-dist.sh ${{ github.ref }}
|
||||
id: dist
|
||||
- name: check executability of dist from cmd.exe
|
||||
shell: cmd
|
||||
run: |
|
||||
cd dist
|
||||
dvdisaster.exe --version
|
||||
- name: Tag for Continuous Build
|
||||
if: github.ref_name == 'master'
|
||||
run: |
|
||||
git tag -f latest
|
||||
git push -f origin latest
|
||||
- name: Upload to Continuous Build
|
||||
if: github.ref_name == 'master'
|
||||
uses: softprops/action-gh-release@v2
|
||||
with:
|
||||
token: "${{ secrets.GITHUB_TOKEN }}"
|
||||
prerelease: true
|
||||
name: "Continuous Build"
|
||||
tag_name: latest
|
||||
files: ${{ steps.dist.outputs.archive }}
|
||||
- name: Tag for Dev Build
|
||||
if: github.ref_name == 'dev'
|
||||
run: |
|
||||
git tag -f devel
|
||||
git push -f origin devel
|
||||
- name: Upload to Dev Build
|
||||
if: github.ref_name == 'dev'
|
||||
uses: softprops/action-gh-release@v2
|
||||
with:
|
||||
token: "${{ secrets.GITHUB_TOKEN }}"
|
||||
prerelease: true
|
||||
draft: true
|
||||
name: "Dev Build"
|
||||
tag_name: devel
|
||||
files: ${{ steps.dist.outputs.archive }}
|
||||
- name: Upload to Draft Release
|
||||
if: github.ref_type == 'tag'
|
||||
uses: softprops/action-gh-release@v2
|
||||
with:
|
||||
token: "${{ secrets.GITHUB_TOKEN }}"
|
||||
draft: true
|
||||
name: ${{ github.ref_name }}
|
||||
tag_name: ${{ github.ref_name }}
|
||||
files: ${{ steps.dist.outputs.archive }}
|
||||
|
||||
linux64-cli:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- name: install prerequisites
|
||||
run: sudo apt update && sudo apt install -y libglib2.0-dev ghostscript man
|
||||
- name: configure
|
||||
run: ./configure --with-gui=no
|
||||
- name: make
|
||||
run: nproc && make -j$(nproc) && make static && mv -f dvdisaster-static dvdisaster
|
||||
- name: check executable
|
||||
run: |
|
||||
./dvdisaster --version && ./dvdisaster --version | grep -q dirty || true
|
||||
file dvdisaster && file dvdisaster | grep -q 'ELF 64' && file dvdisaster | grep -q 'statically linked'
|
||||
|
||||
- name: build dist
|
||||
run: ./.github/workflows/make-dist.sh ${{ github.ref }}
|
||||
id: dist
|
||||
- name: Tag for Continuous Build
|
||||
if: github.ref_name == 'master'
|
||||
run: |
|
||||
git tag -f latest
|
||||
git push -f origin latest
|
||||
- name: Upload to Continuous Build
|
||||
if: github.ref_name == 'master'
|
||||
uses: softprops/action-gh-release@v2
|
||||
with:
|
||||
token: "${{ secrets.GITHUB_TOKEN }}"
|
||||
prerelease: true
|
||||
name: "Continuous Build"
|
||||
tag_name: latest
|
||||
files: ${{ steps.dist.outputs.archive }}
|
||||
- name: Tag for Dev Build
|
||||
if: github.ref_name == 'dev'
|
||||
run: |
|
||||
git tag -f devel
|
||||
git push -f origin devel
|
||||
- name: Upload to Dev Build
|
||||
if: github.ref_name == 'dev'
|
||||
uses: softprops/action-gh-release@v2
|
||||
with:
|
||||
token: "${{ secrets.GITHUB_TOKEN }}"
|
||||
prerelease: true
|
||||
draft: true
|
||||
name: "Dev Build"
|
||||
tag_name: devel
|
||||
files: ${{ steps.dist.outputs.archive }}
|
||||
- name: Upload to Draft Release
|
||||
if: github.ref_type == 'tag'
|
||||
uses: softprops/action-gh-release@v2
|
||||
with:
|
||||
token: "${{ secrets.GITHUB_TOKEN }}"
|
||||
draft: true
|
||||
name: ${{ github.ref_name }}
|
||||
tag_name: ${{ github.ref_name }}
|
||||
files: ${{ steps.dist.outputs.archive }}
|
||||
|
||||
linux64-appimage:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- name: install prerequisites on host
|
||||
run: sudo apt-get update && sudo apt-get install -y fuse
|
||||
- name: docker
|
||||
run: |
|
||||
mkdir -p /tmp/dist
|
||||
docker run --device /dev/fuse --privileged --name uu -d -v $PWD:/dvdisaster -v /tmp/dist:/dist ubuntu:18.04 sleep 1800
|
||||
- name: install prerequisites in docker
|
||||
run: docker exec uu sh -c 'apt update && apt install -y ghostscript man fuse file make gcc pkg-config libglib2.0-dev libgtk-3-dev glib-networking libgdk-pixbuf2.0-dev'
|
||||
- name: configure in docker
|
||||
run: docker exec uu sh -c 'cd /dvdisaster && ./configure --prefix=/usr'
|
||||
- name: make in docker
|
||||
run: docker exec uu sh -c 'make -C /dvdisaster -j$(nproc) && make -C /dvdisaster'
|
||||
- name: make install in docker
|
||||
run: docker exec uu sh -c 'cd /dvdisaster && touch documentation/user-manual/manual.pdf && make install DESTDIR=/dist'
|
||||
- name: copy gtk3 and gio stuff to dist in docker
|
||||
run: |
|
||||
set -euo pipefail
|
||||
docker exec uu sh -c 'install -d /dist/usr/lib/gtk-3.0 && cp -va $(pkg-config --variable=libdir gtk+-3.0)/gtk-3.0/* /dist/usr/lib/gtk-3.0'
|
||||
docker exec uu sh -c 'install -d /dist/usr/lib/gio/modules && cp -va $(dirname $(dpkg -L glib-networking | grep -F /libgiolibproxy.so | head -n1))/* /dist/usr/lib/gio/modules/'
|
||||
docker exec uu sh -c 'gio-querymodules /dist/usr/lib/gio/modules'
|
||||
docker exec uu sh -c 'install -d /dist/usr/lib/gdk-pixbuf2 && timeout 10 cp -va $(dirname $(find /usr/lib -name "libpixbufloader-*.so" | head -n1))/../* /dist/usr/lib/gdk-pixbuf2/'
|
||||
docker exec uu sh -c 'gdk-pixbuf-query-loaders > /dist/usr/lib/gdk-pixbuf2/loaders.cache'
|
||||
IM_BASEPATH=$(dirname $(cd /tmp/dist; find . -name immodules.cache))/immodules
|
||||
sudo sed -i -re 's=^"/.+/immodules/(.+)="'$IM_BASEPATH'/\1=' $(find /tmp/dist/ -name immodules.cache)
|
||||
PIX_BASEPATH=$(dirname $(cd /tmp/dist; find . -name loaders.cache))/
|
||||
sudo sed -i -re 's=^"/.+/loaders/(.+)="'$PIX_BASEPATH'/loaders/\1=' $(find /tmp/dist/ -name loaders.cache)
|
||||
- name: build appimage in docker with linuxdeploy
|
||||
run: |
|
||||
wget -q https://github.com/linuxdeploy/linuxdeploy/releases/download/continuous/linuxdeploy-x86_64.AppImage
|
||||
chmod 755 linuxdeploy-x86_64.AppImage
|
||||
docker exec -e LINUXDEPLOY_OUTPUT_VERSION=$(echo "${{ github.ref }}" | grep -Eo '[^/]+$') -e ARCH=x86_64 uu sh -c 'cd /dvdisaster && ./linuxdeploy-x86_64.AppImage -d contrib/dvdisaster.desktop -i contrib/dvdisaster64.png -i contrib/dvdisaster48.png -i contrib/dvdisaster32.png -i contrib/dvdisaster16.png --icon-filename dvdisaster --custom-apprun=contrib/AppRun.sh --appdir /dist/ --output appimage'
|
||||
- name: fix perms
|
||||
run: docker exec uu sh -c "chown -R $UID /dist /dvdisaster/*.AppImage"
|
||||
- name: patch libgio and apply glib workaround by repackaging with appimagetool
|
||||
env:
|
||||
ARCH: x86_64
|
||||
run: |
|
||||
wget -q https://github.com/AppImage/appimagetool/releases/download/continuous/appimagetool-x86_64.AppImage
|
||||
chmod 755 appimagetool-x86_64.AppImage
|
||||
exe=$(ls -1 dvdisaster*.AppImage)
|
||||
chmod 755 $exe
|
||||
./$exe --appimage-extract
|
||||
rm -vf $exe
|
||||
sed -i -re "s=gio/modules=:::::::::::=g" squashfs-root/usr/lib/libgio*.so*
|
||||
env LINUXDEPLOY_OUTPUT_VERSION=$(echo "${{ github.ref }}" | grep -Eo '[^/]+$') ./appimagetool-x86_64.AppImage -v squashfs-root
|
||||
mv -v dvdisaster*AppImage $exe
|
||||
chmod 755 $exe
|
||||
- name: test appimage
|
||||
id: dist
|
||||
run: |
|
||||
chmod 755 dvdisaster*.AppImage && ./dvdisaster*.AppImage --version
|
||||
archive=$(ls -1 dvdisaster*.AppImage)
|
||||
echo "archive=$archive" >> "$GITHUB_OUTPUT"
|
||||
echo "appimage is <$archive>"
|
||||
- name: Tag for Continuous Build
|
||||
if: github.ref_name == 'master'
|
||||
run: |
|
||||
git tag -f latest
|
||||
git push -f origin latest
|
||||
- name: Upload to Continuous Build
|
||||
if: github.ref_name == 'master'
|
||||
uses: softprops/action-gh-release@v2
|
||||
with:
|
||||
token: "${{ secrets.GITHUB_TOKEN }}"
|
||||
prerelease: true
|
||||
name: "Continuous Build"
|
||||
tag_name: latest
|
||||
files: ${{ steps.dist.outputs.archive }}
|
||||
- name: Tag for Dev Build
|
||||
if: github.ref_name == 'dev'
|
||||
run: |
|
||||
git tag -f devel
|
||||
git push -f origin devel
|
||||
- name: Upload to Dev Build
|
||||
if: github.ref_name == 'dev'
|
||||
uses: softprops/action-gh-release@v2
|
||||
with:
|
||||
token: "${{ secrets.GITHUB_TOKEN }}"
|
||||
prerelease: true
|
||||
draft: true
|
||||
name: "Dev Build"
|
||||
tag_name: devel
|
||||
files: ${{ steps.dist.outputs.archive }}
|
||||
- name: Upload to Draft Release
|
||||
if: github.ref_type == 'tag'
|
||||
uses: softprops/action-gh-release@v2
|
||||
with:
|
||||
token: "${{ secrets.GITHUB_TOKEN }}"
|
||||
draft: true
|
||||
name: ${{ github.ref_name }}
|
||||
tag_name: ${{ github.ref_name }}
|
||||
files: ${{ steps.dist.outputs.archive }}
|
||||
174
.github/workflows/tests.yml
vendored
Normal file
174
.github/workflows/tests.yml
vendored
Normal file
@@ -0,0 +1,174 @@
|
||||
name: non-regression tests
|
||||
|
||||
on: [pull_request]
|
||||
|
||||
jobs:
|
||||
mac:
|
||||
runs-on: macos-latest
|
||||
strategy:
|
||||
matrix:
|
||||
ui: [cli, gui]
|
||||
printf: [fmtdbg, normal]
|
||||
include:
|
||||
- ui: cli
|
||||
clionly: --with-gui=no
|
||||
- printf: fmtdbg
|
||||
debugprintf: --with-debug-printf-format
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
with:
|
||||
persist-credentials: false
|
||||
- name: install prerequisites
|
||||
env:
|
||||
HOMEBREW_NO_INSTALL_CLEANUP: 1
|
||||
run: brew install ghostscript
|
||||
- name: install prerequisites (GUI)
|
||||
if: matrix.ui == 'gui'
|
||||
env:
|
||||
HOMEBREW_NO_INSTALL_CLEANUP: 1
|
||||
run: brew install gtk+3
|
||||
- name: configure
|
||||
run: |
|
||||
set +x
|
||||
./configure ${{ matrix.clionly }} ${{ matrix.debugprintf }} --with-werror
|
||||
- name: make
|
||||
run: |
|
||||
cat Makefile.config
|
||||
echo xxxxxxxxxxxxxxxxxxxxxxx
|
||||
grep -i icon GNUmakefile
|
||||
make -j$(sysctl -n hw.ncpu || 2)
|
||||
- name: check executability
|
||||
run: ./dvdisaster --version
|
||||
- name: check executable (GUI)
|
||||
if: matrix.ui == 'gui'
|
||||
run: |
|
||||
./dvdisaster --version
|
||||
if ./dvdisaster --version | grep NOGUI; then exit 1; fi
|
||||
- name: check executable (CLI)
|
||||
if: matrix.ui == 'cli'
|
||||
run: |
|
||||
./dvdisaster --version
|
||||
./dvdisaster --version | grep NOGUI
|
||||
- name: prepare dist
|
||||
run: ./.github/workflows/make-dist.sh ${{ github.ref }}
|
||||
- name: regression tests
|
||||
if: matrix.printf == 'normal'
|
||||
env:
|
||||
REGTEST_NO_UTF8: 1
|
||||
run: mkdir /var/tmp/regtest && ./regtest/runtests.sh
|
||||
win:
|
||||
runs-on: windows-latest
|
||||
strategy:
|
||||
matrix:
|
||||
arch: [x86_64, i686]
|
||||
ui: [cli, gui]
|
||||
printf: [fmtdbg, normal]
|
||||
include:
|
||||
- arch: x86_64
|
||||
msystem: MINGW64
|
||||
grep: x86-64
|
||||
- arch: i686
|
||||
msystem: MINGW32
|
||||
grep: 386
|
||||
- ui: cli
|
||||
clionly: --with-gui=no
|
||||
- printf: fmtdbg
|
||||
debugprintf: --with-debug-printf-format
|
||||
defaults:
|
||||
run:
|
||||
shell: msys2 {0}
|
||||
steps:
|
||||
- uses: msys2/setup-msys2@v2
|
||||
with:
|
||||
msystem: ${{ matrix.msystem }}
|
||||
update: false
|
||||
install: git diffutils make pkg-config mingw-w64-${{ matrix.arch }}-glib2 mingw-w64-${{ matrix.arch }}-gcc mingw-w64-${{ matrix.arch }}-ghostscript mingw-w64-${{ matrix.arch }}-ntldd-git man zip
|
||||
- name: install GUI prereqs
|
||||
if: matrix.ui == 'gui'
|
||||
run: pacman -S --noconfirm mingw-w64-${{ matrix.arch }}-gtk3
|
||||
- name: git config
|
||||
run: git config --global core.autocrlf input
|
||||
shell: bash
|
||||
- uses: actions/checkout@v4
|
||||
with:
|
||||
persist-credentials: false
|
||||
- name: configure
|
||||
run: |
|
||||
echo running ./configure ${{ matrix.clionly }} ${{ matrix.debugprintf }} --with-werror
|
||||
./configure ${{ matrix.clionly }} ${{ matrix.debugprintf }} --with-werror
|
||||
- name: make
|
||||
run: nproc && make -j$(nproc)
|
||||
- name: check executable
|
||||
run: |
|
||||
./dvdisaster.exe --version
|
||||
file dvdisaster.exe
|
||||
if ./dvdisaster.exe --version | grep dirty; then exit 1; fi
|
||||
file dvdisaster.exe | grep -q '${{ matrix.grep }}'
|
||||
file dvdisaster.exe | grep -q 'for MS Windows'
|
||||
- name: check executable (GUI)
|
||||
if: matrix.ui == 'gui'
|
||||
run: |
|
||||
./dvdisaster.exe --version
|
||||
if ./dvdisaster.exe --version | grep NOGUI; then exit 1; fi
|
||||
- name: check executable (CLI)
|
||||
if: matrix.ui == 'cli'
|
||||
run: |
|
||||
./dvdisaster.exe --version
|
||||
./dvdisaster.exe --version | grep NOGUI
|
||||
- name: try to prepare dist
|
||||
run: ./.github/workflows/make-dist.sh ${{ github.ref }}
|
||||
- name: run regression tests
|
||||
if: matrix.printf == 'normal'
|
||||
env:
|
||||
REGTEST_NO_UTF8: 1
|
||||
run: mkdir /var/tmp/regtest && ./regtest/runtests.sh
|
||||
|
||||
linux:
|
||||
runs-on: ubuntu-latest
|
||||
strategy:
|
||||
matrix:
|
||||
ui: [cli, gui]
|
||||
printf: [fmtdbg, normal]
|
||||
include:
|
||||
- ui: cli
|
||||
clionly: --with-gui=no
|
||||
- printf: fmtdbg
|
||||
debugprintf: --with-debug-printf-format
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
with:
|
||||
persist-credentials: false
|
||||
- name: install prerequisites
|
||||
env:
|
||||
DEBIAN_FRONTEND: noninteractive
|
||||
run: sudo apt-get update && sudo apt-get install -y libglib2.0-dev ghostscript man jq
|
||||
- name: install prerequisites (GUI)
|
||||
if: matrix.ui == 'gui'
|
||||
env:
|
||||
DEBIAN_FRONTEND: noninteractive
|
||||
run: sudo apt-get install -y libgtk-3-dev
|
||||
- name: configure
|
||||
run: |
|
||||
echo ./configure ${{ matrix.clionly }} ${{ matrix.debugprintf }} --with-werror
|
||||
./configure ${{ matrix.clionly }} ${{ matrix.debugprintf }} --with-werror
|
||||
- name: make
|
||||
run: nproc && make -j$(nproc)
|
||||
- name: check executability
|
||||
run: ./dvdisaster --version
|
||||
- name: check executable (GUI)
|
||||
if: matrix.ui == 'gui'
|
||||
run: |
|
||||
./dvdisaster --version
|
||||
if ./dvdisaster --version | grep NOGUI; then exit 1; fi
|
||||
- name: check executable (CLI)
|
||||
if: matrix.ui == 'cli'
|
||||
run: |
|
||||
./dvdisaster --version
|
||||
./dvdisaster --version | grep NOGUI
|
||||
- name: prepare dist
|
||||
run: ./.github/workflows/make-dist.sh ${{ github.ref }}
|
||||
- name: regression tests
|
||||
if: matrix.printf == 'normal'
|
||||
env:
|
||||
REGTEST_NO_UTF8: 1
|
||||
run: mkdir /var/tmp/regtest && ./regtest/runtests.sh
|
||||
15
.gitignore
vendored
15
.gitignore
vendored
@@ -1,3 +1,18 @@
|
||||
.pc
|
||||
*.o
|
||||
*~
|
||||
*.gcno
|
||||
*.gcda
|
||||
*.gcov
|
||||
Makefile.config
|
||||
configure.log
|
||||
locale/Makefile
|
||||
GNUmakefile
|
||||
.gitignore
|
||||
simple-md5sum
|
||||
inlined-icons.c
|
||||
help-dialogs.h
|
||||
dvdisaster
|
||||
build.h
|
||||
dvdisaster.mo
|
||||
locale/messages.pot
|
||||
|
||||
12
CREDITS.de
12
CREDITS.de
@@ -10,6 +10,13 @@ Harald Bögeholz (hwb@heise.de)
|
||||
Anregungen und Ideen zurück; er hatte zuvor schon eine ähnliche
|
||||
Strategie entwickelt und in Ausgabe 16/2005 der c't veröffentlicht.
|
||||
|
||||
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.
|
||||
|
||||
@@ -30,6 +37,11 @@ Phil Karn
|
||||
Originalversion von Phils Bibliothek herunterladen, wenn Sie
|
||||
Reed-Solomon-Kode in Ihren eigenen Programmen verwenden möchten.
|
||||
|
||||
Stéphane Lesimple <stephane@lesimple.fr>
|
||||
hat das Projekt in einem eigenen GIT-Repository am Leben erhalten
|
||||
sowie Patches und Erweiterungen beigesteuert. Er stellt weiterhin
|
||||
eine Windows-Version bereit.
|
||||
|
||||
Daniel Nylander (info@danielnylander.se)
|
||||
erstellt und pflegt die schwedische Übersetzung.
|
||||
|
||||
|
||||
10
CREDITS.en
10
CREDITS.en
@@ -10,6 +10,12 @@ Harald Bögeholz (hwb@heise.de)
|
||||
suggestions and ideas; he had implemented a similar strategy
|
||||
before and published in issue 16/2005 of the german periodical "c't".
|
||||
|
||||
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.
|
||||
|
||||
@@ -29,6 +35,10 @@ Phil Karn
|
||||
special needs, you should get the original thing if you're
|
||||
interested in incorporating RS codes into your application.
|
||||
|
||||
Stéphane Lesimple <stephane@lesimple.fr>
|
||||
for keeping the project alive in his own GIT repository, and
|
||||
for supplying patches, enhancements and the Windows version.
|
||||
|
||||
Daniel Nylander (info@danielnylander.se)
|
||||
provides and maintains the Swedish translation.
|
||||
|
||||
|
||||
@@ -1,4 +0,0 @@
|
||||
all:
|
||||
@echo
|
||||
@echo "Please create a Makefile by entering \"bash configure\" first"
|
||||
@echo
|
||||
@@ -1,3 +1,24 @@
|
||||
# dvdisaster: Additional error correction for optical media.
|
||||
# Copyright (C) 2004-2017 Carsten Gnoerlich.
|
||||
# Copyright (C) 2019-2021 The dvdisaster development team.
|
||||
#
|
||||
# Email: support@dvdisaster.org
|
||||
#
|
||||
# This file is part of dvdisaster.
|
||||
#
|
||||
# dvdisaster is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation, either version 3 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# dvdisaster 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 dvdisaster. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
######################################################################
|
||||
# Begin of dvdisaster makefile template
|
||||
######################################################################
|
||||
@@ -15,6 +36,10 @@ MAN_LOCALES = de
|
||||
# Where to put tar archives (arch, srcdist)
|
||||
TAR_PREFIX=/dev/shm
|
||||
|
||||
# current project homepage
|
||||
|
||||
HOMEPAGE="https://dvdisaster.jcea.es/"
|
||||
|
||||
######################################################################
|
||||
# Take over variables from configure
|
||||
######################################################################
|
||||
@@ -39,9 +64,13 @@ INTL_LIBS = $(CFG_INTL_LIBS)
|
||||
CAM_LFLAGS = $(CFG_CAM_LFLAGS)
|
||||
CAM_LIBS = $(CFG_CAM_LIBS)
|
||||
|
||||
GTK_CFLAGS = $(CFG_GTK2_CFLAGS)
|
||||
GTK_LIBS = $(CFG_GTK2_LIBS)
|
||||
GTK_BINDIR = $(CFG_GTK2_BINDIR)
|
||||
GLIB_CFLAGS = $(CFG_GLIB2_CFLAGS)
|
||||
GLIB_LIBS = $(CFG_GLIB2_LIBS)
|
||||
GLIB_BINDIR = $(CFG_GLIB2_BINDIR)
|
||||
|
||||
GTK_CFLAGS = $(CFG_GTK3_CFLAGS) $(CFG_GLIB2_CFLAGS)
|
||||
GTK_LIBS = $(CFG_GTK3_LIBS) $(CFG_GLIB2_LIBS)
|
||||
GTK_BINDIR = $(CFG_GTK3_BINDIR) $(CFG_GLIB2_BINDIR)
|
||||
|
||||
EFENCE_LFLAGS = $(CFG_EFENCE_LFLAGS)
|
||||
EFENCE_LIBS = $(CFG_EFENCE_LIBS)
|
||||
@@ -50,86 +79,79 @@ SYS_OPTIONS = $(CFG_SYS_OPTIONS)
|
||||
SYS_NAME = $(CFG_SYS_NAME)
|
||||
HAVE_OPTIONS = $(CFG_HAVE_OPTIONS)
|
||||
WITH_OPTIONS = $(CFG_WITH_OPTIONS)
|
||||
OTHER_OPTIONS = $(CFG_OTHER_OPTIONS) -DVERSION=\"$(VERSION)\"
|
||||
OTHER_OPTIONS = $(CFG_OTHER_OPTIONS) -DVERSION="\"$(VERSION)\""
|
||||
SSE2_OPTIONS = $(CFG_SSE2_OPTIONS)
|
||||
ALTIVEC_OPTIONS = $(CFG_ALTIVEC_OPTIONS)
|
||||
|
||||
LOCATIONS = -DSRCDIR=\"$(SRCDIR)\" -DBINDIR=\"$(BINDIR)\" -DDOCDIR=\"$(DOCSUBDIR)\" -DLOCALEDIR=\"$(LOCALEDIR)\"
|
||||
COPTS = $(CFLAGS) $(LOCATIONS) $(SYS_OPTIONS) $(SYS_NAME) $(HAVE_OPTIONS) $(WITH_OPTIONS) $(OTHER_OPTIONS) $(INTL_INCL) $(CAM_INCL) $(GTK_CFLAGS) $(MUDFLAP_CFLAGS)
|
||||
LOPTS = $(LDFLAGS) $(INTL_LFLAGS) $(CAM_LFLAGS) $(EFENCE_LFLAGS) $(MUDFLAP_LFLAGS)
|
||||
LOCATIONS = -DSRCDIR="\"$(SRCDIR)\"" -DBINDIR="\"$(BINDIR)\"" -DDOCDIR="\"$(DOCSUBDIR)\"" -DLOCALEDIR="\"$(LOCALEDIR)\""
|
||||
COPTS = $(CFLAGS) $(LOCATIONS) $(SYS_OPTIONS) $(SYS_NAME) $(HAVE_OPTIONS) $(WITH_OPTIONS) $(OTHER_OPTIONS) $(INTL_INCL) $(CAM_INCL) $(GTK_CFLAGS) $(GLIB_CFLAGS)
|
||||
LOPTS = $(LDFLAGS) $(INTL_LFLAGS) $(CAM_LFLAGS) $(EFENCE_LFLAGS)
|
||||
|
||||
LIBS = $(INTL_LIBS) $(CAM_LIBS) $(GTK_LIBS) $(EFENCE_LIBS) $(MUDFLAP_LIBS) -lm
|
||||
LIBS = $(INTL_LIBS) $(CAM_LIBS) $(GTK_LIBS) $(GLIB_LIBS) $(EFENCE_LIBS) -lm
|
||||
|
||||
CFILES = $(CFG_CFILES)
|
||||
OFILES = $(CFG_OFILES)
|
||||
|
||||
# special case for DESTDIR, if BUILDROOT is undef and DESTDIR is,
|
||||
# set BUILDROOT to DESTDIR
|
||||
ifeq "" "$(BUILDROOT)"
|
||||
BUILDROOT = $(DESTDIR)
|
||||
endif
|
||||
|
||||
######################################################################
|
||||
# Compilation related
|
||||
######################################################################
|
||||
|
||||
.PHONY : all help show locale time-stamp
|
||||
.PHONY : all help show locale
|
||||
|
||||
${BUILDTMP}/%.o : %.c
|
||||
all: dvdisaster
|
||||
|
||||
src/build.h: configure
|
||||
@echo "Updating:" src/build.h
|
||||
@$(SRCDIR)/scripts/time-stamper.bash $(SRCDIR)/src/build.h
|
||||
|
||||
${BUILDTMP}/%.o : src/%.c
|
||||
@echo "Compiling:" $?
|
||||
@$(CC) $(COPTS) -c $? -o $@
|
||||
|
||||
all: time-stamp dvdisaster
|
||||
${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 $@
|
||||
|
||||
${BUILDTMP}/closure.o : src/closure.c $(ICONS)
|
||||
@echo "Compiling:" src/closure.c
|
||||
@$(CC) $(COPTS) -c src/closure.c -o $@
|
||||
|
||||
# Building the dvdisaster binary
|
||||
|
||||
time-stamp:
|
||||
@$(SRCDIR)/scripts/time-stamper.bash $(SRCDIR)/build.h
|
||||
|
||||
dvdisaster: inlined-icons.h $(OFILES)
|
||||
dvdisaster: $(OFILES)
|
||||
@echo "Linking : dvdisaster"
|
||||
@$(CC) $(LOPTS) $(OFILES) $(LIBS) -o dvdisaster
|
||||
@if test $(CFG_SYS_OPTIONS) == -DSYS_MINGW; \
|
||||
then windres -v src/winres.rc -O coff -o ${BUILDTMP}/winres.o >/dev/null ; \
|
||||
$(CC) $(LOPTS) $(OFILES) $(LIBS) ${BUILDTMP}/winres.o -o dvdisaster ; \
|
||||
else $(CC) $(LOPTS) $(OFILES) $(LIBS) -o dvdisaster ; \
|
||||
fi
|
||||
@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
|
||||
$(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
|
||||
|
||||
$(BUILDTMP)/help-dialogs.o: help-dialogs.c simple-md5sum
|
||||
@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; \
|
||||
./simple-md5sum -b *.h *.c | sort -k2 >tmp.md5; \
|
||||
sort -k2 < fingerprints.md5 >tmp2.md5; \
|
||||
mv inlined-icons.saved inlined-icons.h; \
|
||||
mv build.saved build.h; \
|
||||
if ! cmp tmp2.md5 tmp.md5 >/dev/null; \
|
||||
then echo "#define MODIFIED_SOURCE 1" >> help-dialogs.h; \
|
||||
else echo "#define UNMODIFIED_SOURCE 1" >> help-dialogs.h; \
|
||||
fi; \
|
||||
rm tmp.md5 tmp2.md5; \
|
||||
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
|
||||
$(BUILDTMP)/rs-encoder-sse2.o: src/rs-encoder-sse2.c
|
||||
@echo "Compiling:" src/rs-encoder-sse2.c
|
||||
@$(CC) $(SSE2_OPTIONS) $(COPTS) -c src/rs-encoder-sse2.c -o $(BUILDTMP)/rs-encoder-sse2.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
|
||||
|
||||
$(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
|
||||
$(BUILDTMP)/rs-encoder-altivec.o: src/rs-encoder-altivec.c
|
||||
@echo "Compiling:" src/rs-encoder-altivec.c
|
||||
@$(CC) $(ALTIVEC_OPTIONS) $(COPTS) -c src/rs-encoder-altivec.c -o $(BUILDTMP)/rs-encoder-altivec.o
|
||||
|
||||
locale:
|
||||
@$(MAKE) --no-print-directory -C locale
|
||||
@@ -137,11 +159,10 @@ locale:
|
||||
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
|
||||
|
||||
version.tex:
|
||||
@test -d $(SRCDIR)/documentation/config || mkdir $(SRCDIR)/documentation/config
|
||||
@echo "\\newcommand{\\projectversion}{$(VERSION)}" >$(SRCDIR)/documentation/config/version.tex
|
||||
@echo "\\newcommand{\\homepage}{\\url{$(HOMEPAGE)}}" >>$(SRCDIR)/documentation/config/version.tex
|
||||
|
||||
manual: version.tex
|
||||
@echo "Producing user manual... "
|
||||
@@ -151,6 +172,21 @@ manualclean:
|
||||
@echo "Removing temporary user manual files... "
|
||||
@$(MAKE) --no-print-directory -C documentation/user-manual clean
|
||||
|
||||
manualarchclean:
|
||||
@echo "Removing generated user manual files... "
|
||||
@$(MAKE) --no-print-directory -C documentation/user-manual archclean
|
||||
|
||||
codecs:
|
||||
@echo "Producing codecs specification documentation... "
|
||||
@$(MAKE) --no-print-directory -C documentation/codec-specs
|
||||
|
||||
codecsclean:
|
||||
@echo "Removing temporary codecs specification documentation files... "
|
||||
@$(MAKE) --no-print-directory -C documentation/codec-specs clean
|
||||
|
||||
codecsarchclean:
|
||||
@echo "Removing generated codecs specification documentation files... "
|
||||
@$(MAKE) --no-print-directory -C documentation/codec-specs archclean
|
||||
|
||||
# Some usage info
|
||||
|
||||
@@ -163,6 +199,7 @@ help:
|
||||
@echo
|
||||
@echo "Documentation related:"
|
||||
@echo "manual - create the user manual (requires LaTeX)"
|
||||
@echo "codecs - create the codecs spec documentation (requires LaTeX)"
|
||||
@echo
|
||||
@echo "Locale related:"
|
||||
@echo "locale - update locale files"
|
||||
@@ -221,67 +258,71 @@ show:
|
||||
######################################################################
|
||||
|
||||
.PHONY : install uninstall clean distclean arch
|
||||
.PHONY : srcdist
|
||||
.PHONY : srcdist dist
|
||||
|
||||
install: dvdisaster manual
|
||||
@echo "Installing package..."
|
||||
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
|
||||
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 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"
|
||||
cd documentation; \
|
||||
ESCAPED_DOCSUBDIR=`echo $(DOCSUBDIR) | sed -e 's/\//\\\\\//g'`; \
|
||||
sed "s/%docdir%/$$ESCAPED_DOCSUBDIR\/html/" <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; \
|
||||
install -m 644 dvdisaster.updated $(BUILDROOT)$(MANDIR)/de/man1/dvdisaster.1; \
|
||||
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/" <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 \
|
||||
cd locale; \
|
||||
for i in ?? ??_??; do\
|
||||
install -d $(BUILDROOT)$(LOCALEDIR)/$$i/LC_MESSAGES; \
|
||||
install -m 644 $$i/LC_MESSAGES/dvdisaster.mo $(BUILDROOT)$(LOCALEDIR)/$$i/LC_MESSAGES; \
|
||||
install -d "$(BUILDROOT)$(LOCALEDIR)/$$i/LC_MESSAGES"; \
|
||||
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 -f \"$(DOCSUBDIR)/CHANGELOG\"" >> $(BUILDROOT)$(BINDIR)/dvdisaster-uninstall.sh
|
||||
@echo "rm -f \"$(DOCSUBDIR)/COPYING\"" >> $(BUILDROOT)$(BINDIR)/dvdisaster-uninstall.sh
|
||||
@echo "rm -f \"$(DOCSUBDIR)/CREDITS.de\"" >> $(BUILDROOT)$(BINDIR)/dvdisaster-uninstall.sh
|
||||
@echo "rm -f \"$(DOCSUBDIR)/CREDITS.en\"" >> $(BUILDROOT)$(BINDIR)/dvdisaster-uninstall.sh
|
||||
@echo "rm -f \"$(DOCSUBDIR)/manual.pdf\"" >> $(BUILDROOT)$(BINDIR)/dvdisaster-uninstall.sh
|
||||
@echo "rm -f \"$(DOCSUBDIR)/README.MODIFYING\"" >> $(BUILDROOT)$(BINDIR)/dvdisaster-uninstall.sh
|
||||
@echo "rm -f \"$(DOCSUBDIR)/TODO\"" >> $(BUILDROOT)$(BINDIR)/dvdisaster-uninstall.sh
|
||||
@echo "rmdir \"$(DOCSUBDIR)\"" >> $(BUILDROOT)$(BINDIR)/dvdisaster-uninstall.sh
|
||||
@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 -f \"$(DOCSUBDIR)/CHANGELOG\"" >> "$(BUILDROOT)$(BINDIR)/dvdisaster-uninstall.sh"
|
||||
@echo "rm -f \"$(DOCSUBDIR)/COPYING\"" >> "$(BUILDROOT)$(BINDIR)/dvdisaster-uninstall.sh"
|
||||
@echo "rm -f \"$(DOCSUBDIR)/CREDITS.de\"" >> "$(BUILDROOT)$(BINDIR)/dvdisaster-uninstall.sh"
|
||||
@echo "rm -f \"$(DOCSUBDIR)/CREDITS.en\"" >> "$(BUILDROOT)$(BINDIR)/dvdisaster-uninstall.sh"
|
||||
@echo "rm -f \"$(DOCSUBDIR)/manual.pdf\"" >> "$(BUILDROOT)$(BINDIR)/dvdisaster-uninstall.sh"
|
||||
@echo "rm -f \"$(DOCSUBDIR)/TODO\"" >> "$(BUILDROOT)$(BINDIR)/dvdisaster-uninstall.sh"
|
||||
@echo "rmdir \"$(DOCSUBDIR)\"" >> "$(BUILDROOT)$(BINDIR)/dvdisaster-uninstall.sh"
|
||||
@for i in $(PO_LOCALES); do \
|
||||
echo "rm -f \"$(LOCALEDIR)/$$i/LC_MESSAGES/dvdisaster.mo\"" >> $(BUILDROOT)$(BINDIR)/dvdisaster-uninstall.sh ; \
|
||||
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
|
||||
@echo "rm -f \"$(MANDIR)/man1/dvdisaster.1\"" >> "$(BUILDROOT)$(BINDIR)/dvdisaster-uninstall.sh"
|
||||
@for i in $(MAN_LOCALES); do \
|
||||
echo "rm -f \"$(MANDIR)/$$i/man1/dvdisaster.1\"" >> $(BUILDROOT)$(BINDIR)/dvdisaster-uninstall.sh ; \
|
||||
echo "rm \"$(MANDIR)/$$i/man1/dvdisaster.1\"" >> "$(BUILDROOT)$(BINDIR)/dvdisaster-uninstall.sh" ; \
|
||||
done
|
||||
@echo "echo \"dvdisaster has been uninstalled.\"" >> $(BUILDROOT)$(BINDIR)/dvdisaster-uninstall.sh
|
||||
@echo "echo \"dvdisaster has been uninstalled.\"" >> "$(BUILDROOT)$(BINDIR)/dvdisaster-uninstall.sh"
|
||||
|
||||
uninstall:
|
||||
@echo "Uninstalling package..."
|
||||
rm -f $(BINDIR)/dvdisaster $(BINDIR)/dvdisaster-uninstall.sh
|
||||
rm -rf $(DOCSUBDIR)
|
||||
rm -f $(MANDIR)/man1/dvdisaster.1
|
||||
rm -f "$(BINDIR)/dvdisaster" "$(BINDIR)/dvdisaster-uninstall.sh"
|
||||
rm -f "$(DOCSUBDIR)/CHANGELOG"
|
||||
rm -f "$(DOCSUBDIR)/COPYING"
|
||||
rm -f "$(DOCSUBDIR)/CREDITS.de"
|
||||
rm -f "$(DOCSUBDIR)/CREDITS.en"
|
||||
rm -f "$(DOCSUBDIR)/manual.pdf"
|
||||
rm -f "$(DOCSUBDIR)/TODO"
|
||||
rmdir "$(DOCSUBDIR)"
|
||||
rm -f "$(MANDIR)/man1/dvdisaster.1"
|
||||
for i in $(PO_LOCALES); do \
|
||||
rm $(LOCALEDIR)/$$i/LC_MESSAGES/dvdisaster.mo; \
|
||||
rm "$(LOCALEDIR)/$$i/LC_MESSAGES/dvdisaster.mo"; \
|
||||
done
|
||||
for i in $(MAN_LOCALES); do \
|
||||
rm $(MANDIR)/$$i/man1/dvdisaster.1; \
|
||||
rm "$(MANDIR)/$$i/man1/dvdisaster.1"; \
|
||||
done
|
||||
|
||||
archclean: distclean
|
||||
@@ -291,50 +332,32 @@ archclean: distclean
|
||||
|
||||
distclean: clean
|
||||
@echo "Removing configuration files"
|
||||
@rm -f configure.log Makefile.config GNUmakefile locale/Makefile
|
||||
@rm -f configure.log Makefile.config src/build.h 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
|
||||
@echo -e "\t@echo" >>GNUmakefile
|
||||
|
||||
# There might be a not executable simple-md5sum from a compiler run
|
||||
# under a different architecture, so make sure we have a working binary
|
||||
# in the clean target.
|
||||
@rm -f dvdisaster-debug
|
||||
|
||||
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
|
||||
@rm -f *.o "$(BUILDTMP)"/*.o medium.* abbild.* dvdisaster .dvdisaster core core.* *.core
|
||||
@rm -f "$(BUILDTMP)"/inlined-icons.c src/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; \
|
||||
$(MAKE) --no-print-directory simple-md5sum; \
|
||||
echo "[simple-md5sum (re-)built]"; \
|
||||
fi; \
|
||||
./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;
|
||||
@$(MAKE) --no-print-directory -C $(SRCDIR)/locale clean;
|
||||
|
||||
BUILD=`grep BUILD $(SRCDIR)/build.h | cut -d ' ' -f 3`
|
||||
arch: archclean time-stamp
|
||||
BUILD=`grep BUILD $(SRCDIR)/src/build.h | cut -d ' ' -f 3`
|
||||
arch: archclean build.h
|
||||
@cd .. ; tar -c -z -f $(TAR_PREFIX)/$(PKGNAME)-$(BUILD).tgz $(PKGNAME)
|
||||
|
||||
INSTALL: documentation/install.template
|
||||
@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)
|
||||
srcdist: INSTALL distclean manual manualclean codecsclean
|
||||
@cd .. ; tar -c -j --owner=dvdisaster --group=devel -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
|
||||
|
||||
|
||||
|
||||
static: dvdisaster
|
||||
$(CC) $(LOPTS) $(OFILES) $(LIBS) -pthread -static -o dvdisaster-static
|
||||
|
||||
44
INSTALL
44
INSTALL
@@ -1,3 +1,24 @@
|
||||
# dvdisaster: Additional error correction for optical media.
|
||||
# Copyright (C) 2004-2018 Carsten Gnoerlich.
|
||||
# Copyright (C) 2019-2021 The dvdisaster development team.
|
||||
#
|
||||
# Email: support@dvdisaster.org
|
||||
#
|
||||
# This file is part of dvdisaster.
|
||||
#
|
||||
# dvdisaster is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation, either version 3 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# dvdisaster 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 dvdisaster. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
Installation of the dvdisaster source code distribution
|
||||
=======================================================
|
||||
[don't edit - generated from documentation/install.template]
|
||||
@@ -111,11 +132,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.79.5.tar.bz2
|
||||
user@host> tar xjf dvdisaster-0.79.6.tar.bz2
|
||||
|
||||
Then change into the newly created directory:
|
||||
|
||||
user@host> cd /var/tmp/dvdisaster-0.79.5
|
||||
user@host> cd /var/tmp/dvdisaster-0.79.6
|
||||
|
||||
3.2. Configuring the package
|
||||
----------------------------
|
||||
@@ -127,6 +148,11 @@ Call the configuration script in the usual way:
|
||||
|
||||
user@host> ./configure
|
||||
|
||||
If you want to build a CLI-only version, which doesn't depend
|
||||
on the gtk2 libraries, you can run instead:
|
||||
|
||||
user@host> ./configure --with-cli-only
|
||||
|
||||
The script will possibly print some errors about missing libraries.
|
||||
Type "configure --help" to learn about pointing configure
|
||||
to the correct path of already installed libraries.
|
||||
@@ -199,8 +225,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.79.5
|
||||
|
||||
user@host> rm -rf dvdisaster-0.79.6
|
||||
|
||||
5. Running the program
|
||||
======================
|
||||
@@ -228,16 +253,7 @@ Use camcontrol to find out which passthrough device
|
||||
is assigned to your drive:
|
||||
|
||||
root@freebsd# camcontrol devlist
|
||||
<NAME OF YOUR DRIVE> at scbus1 target 0 lun 0 (pass1,cd0)
|
||||
|
||||
You can change permission permanently by adding the
|
||||
following line to /etc/devfs.conf:
|
||||
|
||||
perm pass1 0660
|
||||
|
||||
To make the change available immediately, restart devfs:
|
||||
|
||||
root@freebsd# /etc/rc.d/devfs restart
|
||||
<NAME OF YOUR DRIVE> at scbus1 target 0 lun 0 (pass0,cd0)
|
||||
|
||||
|
||||
Avoid copy-on-write filesystems
|
||||
|
||||
8
Makefile
8
Makefile
@@ -4,8 +4,12 @@
|
||||
|
||||
all:
|
||||
@echo
|
||||
@echo "dvdisaster requires GNU make to build."
|
||||
@echo "Please try your command again using gmake."
|
||||
@echo "Please run \`./configure' first."
|
||||
@echo
|
||||
@echo "To build a CLI-only version, run `./configure --with-cli-only'."
|
||||
@echo
|
||||
@echo "Note that dvdisaster requires GNU make to build."
|
||||
@echo "Under non-Linux systems, it might be known as \`gmake'."
|
||||
@echo
|
||||
|
||||
show: all
|
||||
|
||||
32
README
32
README
@@ -1,3 +1,24 @@
|
||||
# dvdisaster: Additional error correction for optical media.
|
||||
# Copyright (C) 2004-2017 Carsten Gnoerlich.
|
||||
# Copyright (C) 2019-2020 The dvdisaster development team.
|
||||
#
|
||||
# Email: support@dvdisaster.org
|
||||
#
|
||||
# This file is part of dvdisaster.
|
||||
#
|
||||
# dvdisaster is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation, either version 3 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# dvdisaster 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 dvdisaster. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
This directory tree contains dvdisaster,
|
||||
a tool providing additional ECC protection for optical media.
|
||||
|
||||
@@ -11,12 +32,6 @@ Roadmap of contained files
|
||||
INSTALL
|
||||
See the file INSTALL on bringing up dvdisaster.
|
||||
|
||||
README.CVS
|
||||
If you got this archive from CVS, make sure to read README.CVS also.
|
||||
|
||||
README.MODIFYING
|
||||
Please read these notes carefully if you plan to modify dvdisaster.
|
||||
|
||||
COPYING
|
||||
This software is distributed under the GNU General Public License,
|
||||
which is contained in the file COPYING.
|
||||
@@ -65,8 +80,3 @@ locale
|
||||
scripts
|
||||
Scripts needed for configuring and building dvdisaster are
|
||||
located in the "scripts" directory.
|
||||
|
||||
tools
|
||||
Auxiliary programs for the build and packaging process reside
|
||||
in "tools".
|
||||
|
||||
|
||||
@@ -1,37 +0,0 @@
|
||||
Please read these notes carefully if you plan to modify dvdisaster.
|
||||
-------------------------------------------------------------------
|
||||
|
||||
When publishing a modified version of dvdisaster you are kindly
|
||||
asked not to misrepresent your work as the original.
|
||||
|
||||
The original authors have undertaken great efforts for putting the
|
||||
project into shape and earning their reputation. So if you hack and
|
||||
publish your own version of dvdisaster, please RESPECT the original
|
||||
authors vision of what the project should be like.
|
||||
|
||||
Document your changes as explained below so that users can tell
|
||||
the modified version from the original.
|
||||
|
||||
|
||||
How to document your changes.
|
||||
-----------------------------
|
||||
|
||||
Document the changes you made in the source code, NOT in a
|
||||
separate file which might get unbundled from the changed source.
|
||||
|
||||
New files start with your copyright notice; modified files
|
||||
get an additional entry under the original copyright notice.
|
||||
See the file md5.c for an example.
|
||||
|
||||
But this is not enough; most people will not read the source
|
||||
code as they are using binary distributions. Give them a way
|
||||
to find out about your modifications in the "About" dialog.
|
||||
|
||||
The build process will prepare a suitable message template
|
||||
for you if it finds that you have modified the sources.
|
||||
Feel free to further customize this message, and even
|
||||
change the project name if you deem that appropriate.
|
||||
|
||||
|
||||
Thank you for your cooperation.
|
||||
|
||||
124
README.md
Normal file
124
README.md
Normal file
@@ -0,0 +1,124 @@
|
||||
# :cd: What is dvdisaster?
|
||||
|
||||
**dvdisaster** provides additional [ECC](https://en.m.wikipedia.org/wiki/Error_correction_code) protection for optical media.
|
||||
If a medium gets damaged, dvdisaster can recover it as long as the amount of damage is smaller than the amount of ECC data you added to protect it.
|
||||
|
||||
It can loosely be compared to [.par2](https://en.m.wikipedia.org/wiki/Parchive) files, but the protection works at the *iso* level instead of working at the file level.
|
||||
This way, even if metadata from the optical medium filesystem is damaged, dvdisaster can still work flawlessly.
|
||||
|
||||
Please refer to the [PDF manual](documentation/user-manual/manual.pdf) for more information.
|
||||
|
||||
# :wrench: Unofficial version
|
||||
|
||||
The last upstream version dates back to 2021, and can be found on the [official website](https://dvdisaster.jcea.es).
|
||||
|
||||
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
|
||||
- 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
|
||||
|
||||
Please refer to the [CHANGELOG](CHANGELOG) for all the details.
|
||||
|
||||
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.
|
||||
|
||||
# :twisted_rightwards_arrows: 3 available protection modes ("codecs")
|
||||
|
||||
For a more detailed explanation of the algorithms, please refer to the [codecs specification PDF](documentation/codecs.pdf).
|
||||
|
||||
:arrow_forward: **RS01** creates error correction files which are stored separately from the image they belong to.
|
||||
The artefact is an **ecc** file, which must be stored on another media than the one we're protecting.
|
||||
|
||||
:arrow_forward: **RS02** creates error correction data which is added to the medium to protect, we call this *augmenting* the image we're protecting.
|
||||
Damaged sectors in the error correction information reduce the data recovering capacity,
|
||||
but do not make recovery impossible - a second medium for keeping or protecting the error correction information is not required.
|
||||
Intelligent adaptive reading is also available when reading a damaged RS02-protected disc: dvdisaster will only attempt
|
||||
to read the minimum amount of required sectors to be able to rebuild the image, using a so-called "divide and conquer"
|
||||
seeking mechanism, cutting off up to 90% of the time required to read and recover a damaged media.
|
||||
|
||||
:arrow_forward: **RS03** is a further development of RS01 and RS02. It can create both error correction files and
|
||||
augmented images, with the following added features:
|
||||
|
||||
- It can use multiple CPU cores and is therefore **WAY** faster than RS01/RS02 on modern hardware.
|
||||
- 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:
|
||||
|
||||
- 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
|
||||
of the correction data.
|
||||
- In image mode, intelligent adaptive reading is not available for RS03-protected images. The "divide and conquer"
|
||||
algorithm will still be used, but dvdisaster will not stop as soon as enough sectors have been recovered to rebuild
|
||||
the image: it'll attempt to read them all until you stop it, or until it tried to read all the sectors. You can still
|
||||
stop it manually and attempt a "verify" of the resulting image file, to see if enough data has been read for recovery,
|
||||
otherwise resuming the adaptive reading until this is the case.
|
||||
- The changes for parallel computation and higher robustness make RS03 a tiny bit less space efficient, e.g. RS03 error
|
||||
correction data has slighly less (around -3%) error correction capacity than RS02 on images with equal size. This is
|
||||
usually considered a cheap price to pay for the added robustness against corruption.
|
||||
|
||||
# :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: |
|
||||
| Space efficiency | :star::star: | :star::star::star::star::star: | :star::star::star::star: | :star::star::star::star: |
|
||||
| Computational generation speed :two: | :star::star: | :star::star: | :star::star::star::star::star: | :star::star::star::star::star: |
|
||||
| Computational repair speed :two: | :star::star::star: | :star::star::star: | :star::star::star: | :star::star::star: |
|
||||
| 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.
|
||||
|
||||
: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.
|
||||
|
||||
: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, ...).
|
||||
|
||||
# :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.
|
||||
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.
|
||||
|
||||
# :hammer: Compiling
|
||||
|
||||
See the [INSTALL](INSTALL) file. The [workflow file](.github/workflows/release.yml) that is used to automatically build binaries for each release can also help.
|
||||
|
||||
# :camera: Screenshots
|
||||
|
||||
### Reading a damaged CD under Windows:
|
||||
|
||||

|
||||
|
||||
### Verifying the ECC correction data from the damaged image:
|
||||
|
||||

|
||||
|
||||
### Repairing the damaged image thanks to augmented data:
|
||||
|
||||

|
||||
|
||||
### Verification of the image after correction:
|
||||
|
||||

|
||||
|
||||
### Reading a quad-layer multi-session BDXL with Linux GUI:
|
||||
|
||||

|
||||
|
||||
Note that the disc still has some room for more sessions (capacity is 128 GB).
|
||||
54
TODO
54
TODO
@@ -1,39 +1,42 @@
|
||||
|
||||
Tentative to do/ release schedule
|
||||
|
||||
Version 0.79: new RS03 codec
|
||||
- lots of speed optimizations in error correction data encoding
|
||||
- multithreaded / multicore processor support for encoding
|
||||
(decoding still single threaded)
|
||||
- add missing functionality, e.g. adaptive reading
|
||||
0.79.5: project re-launch
|
||||
0.79.6: re-introduce CRC and MD5 caching between reading
|
||||
and ecc creation; cosmetical changes; support
|
||||
for 100G BD
|
||||
0.79.7: re-introduce adaptive reading
|
||||
Versions 0.79.x: development releases
|
||||
* restart project, catch up wich recent compiler and OS version
|
||||
* last releases with gtk-2
|
||||
|
||||
Version 0.80: milestone release
|
||||
work in progress (this release):
|
||||
|
||||
- split GUI code from core source to allow for command-line only build (done)
|
||||
- merge patches from Stéphane Lesimple (done) and Debian (done)
|
||||
|
||||
upcoming (next stable release):
|
||||
|
||||
- restore adaptive reading for all codecs
|
||||
|
||||
(no more releases for 0.79.x planned;
|
||||
except for maintenance issues should the need arise)
|
||||
|
||||
Versions 0.80.x: development releases
|
||||
* gtk-4 migration
|
||||
* lots of micro releases to revive the project and resolve outstanding issues
|
||||
|
||||
- upgrade from gtk-2 to gtk-4
|
||||
- remove obsolete features, especially from the GUI
|
||||
- ... many more will likely be added ...
|
||||
|
||||
Version 0.82: milestone/stable release
|
||||
- RS03 encoding considered feature complete
|
||||
|
||||
Version 0.81:
|
||||
Version 0.83: development releases
|
||||
- multithreaded decoding (error correction/repair)
|
||||
for RS01/RS02/RS03
|
||||
- RS01 encoding (not decoding of course) will be
|
||||
removed as RS03 fully replaces it
|
||||
|
||||
Version 0.82: milestone release
|
||||
Version 0.84: milestone/stable release
|
||||
- RS03 decoding considered feature complete
|
||||
|
||||
Version 0.84:
|
||||
- compile option to create a CLI-only binary
|
||||
(without GTK+ linkage)
|
||||
|
||||
Version 0.86:
|
||||
- maybe upgrade from GTK+ 2 to version 3
|
||||
(not decided yet)
|
||||
|
||||
Version 0.90:
|
||||
- Grand finale: add a new feature which isn't jaw dropping
|
||||
- Grand finale: add a last new feature which isn't jaw dropping
|
||||
but very convenient to have (sorry - has nothing to do
|
||||
with ripping). Since I'm not sure whether there
|
||||
is prior art to this feature, I won't get into
|
||||
@@ -51,11 +54,10 @@ Version 1.00: maintenance releases
|
||||
|
||||
Unspecified schedule / later releases
|
||||
|
||||
- native Windows fork
|
||||
- add pause/resume button
|
||||
- optionally pause after n read errors for drives which
|
||||
need to cool down
|
||||
- add function for stripping RS02 data from image
|
||||
- add function for stripping RS02 data from image [done in pl7]
|
||||
- add quiet option for command line mode
|
||||
- display estimated finishing time for encoding/decoding
|
||||
- catch up with many other queued up suggestions
|
||||
|
||||
@@ -1,3 +1,23 @@
|
||||
# dvdisaster: Additional error correction for optical media.
|
||||
# Copyright (C) 2004-2017 Carsten Gnoerlich.
|
||||
# Copyright (C) 2019-2021 The dvdisaster development team.
|
||||
#
|
||||
# Email: support@dvdisaster.org
|
||||
#
|
||||
# This file is part of dvdisaster.
|
||||
#
|
||||
# dvdisaster is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation, either version 3 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# dvdisaster 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 dvdisaster. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
This document describes the process of adding a new translation
|
||||
to dvdisaster. It is work in progress and not yet complete.
|
||||
|
||||
137
configure
vendored
137
configure
vendored
@@ -1,16 +1,37 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
# dvdisaster: Additional error correction for optical media.
|
||||
# Copyright (C) 2004-2018 Carsten Gnoerlich.
|
||||
# Copyright (C) 2019-2021 The dvdisaster development team.
|
||||
#
|
||||
# Email: support@dvdisaster.org
|
||||
#
|
||||
# This file is part of dvdisaster.
|
||||
#
|
||||
# dvdisaster is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation, either version 3 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# dvdisaster 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 dvdisaster. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
# Load the shell functions needed for the rest of this script.
|
||||
|
||||
BASH_BASED_CONFIGURE=./scripts/bash-based-configure
|
||||
REQUIRED_CFLAGS="-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -I."
|
||||
RECOMMENDED_CFLAGS="-O2 -fomit-frame-pointer -Wall"
|
||||
DEBUG_CFLAGS="-ggdb -Wall"
|
||||
|
||||
CFG_USE_CYGWIN="no" # do not change
|
||||
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"
|
||||
NODEBUG_CFLAGS="-O2 -fomit-frame-pointer"
|
||||
DEBUG_CFLAGS="-ggdb"
|
||||
|
||||
if test -e $BASH_BASED_CONFIGURE; then
|
||||
source $BASH_BASED_CONFIGURE
|
||||
source $BASH_BASED_CONFIGURE $BASH_BASED_CONFIGURE_OPTS
|
||||
else
|
||||
echo "Could not find $BASH_BASED_CONFIGURE"
|
||||
echo "You're probably not in the right directory."
|
||||
@@ -19,12 +40,20 @@ fi
|
||||
|
||||
# Set the package name and version
|
||||
|
||||
PACKAGE dvdisaster 0.79.5
|
||||
PACKAGE dvdisaster 0.79.10
|
||||
DEFINE_INT PATCHLEVEL 5
|
||||
DEFINE_STRING HAVE_UNSTABLE_RELEASE 1
|
||||
DEFINE_STRING HOMEPAGE "https://dvdisaster.jcea.es"
|
||||
|
||||
# Check for some essential tools.
|
||||
|
||||
REQUIRE_GMAKE
|
||||
REQUIRE_GCC
|
||||
|
||||
if [[ $(uname) =~ Darwin ]]; then
|
||||
REQUIRE_CLANG
|
||||
else
|
||||
REQUIRE_GCC
|
||||
fi
|
||||
|
||||
# Find out and verify the basedir of the source installation,
|
||||
# and where to install the binary.
|
||||
@@ -34,21 +63,33 @@ GET_PKGNAME
|
||||
GET_PREFIX /usr/local
|
||||
GET_BINDIR
|
||||
GET_MANDIR
|
||||
GET_DOCDIR /usr/share/doc
|
||||
GET_DOCDIR
|
||||
GET_DIR "$PKGNAME" docsub "Documentation sub"\
|
||||
" put documentation into this subdirectory\n under \$DOCDIR "
|
||||
GET_LOCALEDIR /usr/share/locale
|
||||
GET_LOCALEDIR
|
||||
GET_BUILDROOT
|
||||
GET_BUILDTMP
|
||||
|
||||
PRINT_MESSAGE "\nDetermining build flavor:"
|
||||
|
||||
WITH_OPTION gui yes "[yes | no]"
|
||||
|
||||
# Remove the useless CLI console under windows
|
||||
if [[ $(uname) =~ MINGW ]] && [ "$cfg_with_gui" == "yes" ]; then
|
||||
CFG_LDFLAGS="$CFG_LDFLAGS -mwindows"
|
||||
fi
|
||||
|
||||
# Look for required libraries
|
||||
|
||||
PRINT_MESSAGE "\nLooking for includes and libraries:"
|
||||
|
||||
REQUIRE_GLIB2 2 32 0
|
||||
REQUIRE_GTK2 2 6 0 WITH_THREADS
|
||||
echo
|
||||
|
||||
if test "$cfg_with_gui" == "yes"; then
|
||||
REQUIRE_GTK3 3 4 0 WITH_THREADS
|
||||
fi
|
||||
|
||||
if ! CHECK_INCLUDE locale.h locale || ! CHECK_INCLUDE libintl.h intl ; then
|
||||
echo " [previous test forces -with-nls=no]"
|
||||
cfg_force_with_nls=no
|
||||
@@ -67,10 +108,10 @@ PRINT_MESSAGE "\nChecking for functions and symbols..."
|
||||
CHECK_FUNCTION mmap
|
||||
|
||||
if ! CHECK_FUNCTION getopt_long ; then
|
||||
if ! test -e getopt.h || ! test -e getopt.c ; then
|
||||
if ! test -e src/getopt.h || ! test -e src/getopt.c ; then
|
||||
echo " * getopt_long is missing. You can provide one by simply"
|
||||
echo " * copying getopt.c, getopt1.c and getopt.h from the GNU"
|
||||
echo " * C library into this directory."
|
||||
echo " * C library into the src/ directory."
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
@@ -87,6 +128,11 @@ CFG_CFLAGS="$CFG_CFLAGS -D_LARGEFILE64_SOURCE"
|
||||
CHECK_SYMBOL fcntl.h O_LARGEFILE
|
||||
CFG_CFLAGS=$SAVE_CFLAGS
|
||||
|
||||
if [[ $(uname) =~ Darwin ]]; then
|
||||
CFG_CFLAGS="$CFG_CFLAGS -Wno-void-pointer-to-int-cast"
|
||||
CFG_LDFLAGS="$CFG_LDFLAGS -framework CoreFoundation -framework IOKit"
|
||||
fi
|
||||
|
||||
# Machine specific
|
||||
|
||||
echo
|
||||
@@ -108,10 +154,12 @@ if ! EXECUTE_PROGRAM "xgettext --help" xgettext \
|
||||
cfg_force_with_nls=no
|
||||
fi
|
||||
|
||||
if ! EXECUTE_PROGRAM "gdk-pixbuf-csource --help" gdk_pixbuf_csource ; then
|
||||
echo "* gdk-pixbuf not installed"
|
||||
echo "* or path to gdk-pixbuf-csource is missing."
|
||||
if test "$cfg_with_gui" == "yes"; then
|
||||
if ! EXECUTE_PROGRAM "glib-compile-resources --help" gdk_pixbuf_csource ; then
|
||||
echo "* glib-compile-resources not installed"
|
||||
echo "* or path to glib-compile-resources is missing."
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
|
||||
# Evaluate the --with* customization options
|
||||
@@ -124,8 +172,33 @@ WITH_OPTION embedded-src-path yes "[yes | no]"
|
||||
PRINT_MESSAGE "\nDebugging options (do not use in production system):"
|
||||
|
||||
WITH_OPTION memdebug no "[no | yes]"
|
||||
WITH_OPTION debug-printf-format no "[no | yes]"
|
||||
WITH_OPTION werror no "[no | yes]"
|
||||
WITH_OPTION debug no "[no | yes]"
|
||||
WITH_OPTION efence no "[no | yes]"
|
||||
|
||||
if test "$cfg_with_debug_printf_format" == "yes"; then
|
||||
# don't use the binary compiled with this,
|
||||
# it's only useful to properly get all the build-time
|
||||
# warnings around printf-errors, that are otherwise
|
||||
# not catched by the compiler because of the _() macro
|
||||
DEFINE_STRING DEBUG_PRINTF_FORMAT 1
|
||||
else
|
||||
# warnings given by -Wformat-security are bogus because of _(),
|
||||
# see above comment if you actually want to check for format errors
|
||||
CFG_CFLAGS="$CFG_CFLAGS -Wno-format-security"
|
||||
fi
|
||||
|
||||
if test "$cfg_with_werror" == "yes"; then
|
||||
CFG_CFLAGS="$CFG_CFLAGS -Werror"
|
||||
fi
|
||||
|
||||
if test "$cfg_with_debug" == "yes"; then
|
||||
CFG_CFLAGS="$CFG_CFLAGS $DEBUG_CFLAGS"
|
||||
else
|
||||
CFG_CFLAGS="$CFG_CFLAGS $NODEBUG_CFLAGS"
|
||||
fi
|
||||
|
||||
if test "$cfg_with_efence" == "yes"; then
|
||||
if ! CHECK_LIBRARY efence malloc efence; then
|
||||
exit 1;
|
||||
@@ -145,49 +218,59 @@ fi
|
||||
|
||||
PRINT_MESSAGE "\nCollecting source files:"
|
||||
|
||||
rm -f conftest.c method-link.c
|
||||
cfiles="method-link.c"
|
||||
rm -f src/conftest.c src/method-link.c
|
||||
cfiles="src/method-link.c"
|
||||
ofiles="$BUILDTMP/method-link.o"
|
||||
|
||||
for cfile in *.c; do
|
||||
# Only include icons in GUI builds
|
||||
if test "$cfg_with_gui" == "yes"; then
|
||||
icons="$BUILDTMP/inlined-icons.c"
|
||||
else
|
||||
icons=""
|
||||
fi
|
||||
|
||||
for cfile in $icons src/*.c; do
|
||||
cfile_prefix=`echo $cfile | sed -e 's/\.c//'`
|
||||
cfiles="$cfiles $cfile"
|
||||
ofiles="$ofiles $BUILDTMP/$cfile_prefix.o"
|
||||
ofiles="$ofiles $BUILDTMP/$(basename $cfile_prefix.o)"
|
||||
echo -n " $cfile_prefix"
|
||||
done
|
||||
|
||||
echo
|
||||
echo -e "\nCFG_CFILES = $cfiles" >> Makefile.config
|
||||
echo "CFG_OFILES = $ofiles" >> Makefile.config
|
||||
if test "$cfg_with_gui" == "yes"; then
|
||||
echo "ICONS = $icons" >> Makefile.config
|
||||
fi
|
||||
|
||||
# Create the method wrapper
|
||||
|
||||
PRINT_MESSAGE "\nCollecting methods:"
|
||||
|
||||
cat >> method-link.c <<EOF
|
||||
cat >> src/method-link.c <<EOF
|
||||
/* Automatically generated wrapper for registering the methods */
|
||||
|
||||
void BindMethods(void)
|
||||
{
|
||||
EOF
|
||||
|
||||
for method in ecc-*.c; do
|
||||
method_name=`echo $method | sed -e 's/\.c//' -e 's/ecc-//'`
|
||||
for method in src/ecc-*.c; do
|
||||
method_name=`echo $(basename $method) | sed -e 's/\.c//' -e 's/ecc-//'`
|
||||
method_prefix="$method_prefix $method_name"
|
||||
echo -n " $method_name"
|
||||
done
|
||||
|
||||
for method in $method_prefix; do
|
||||
echo " void register_${method}(void);" >> method-link.c
|
||||
echo " void register_${method}(void);" >> src/method-link.c
|
||||
done
|
||||
|
||||
echo >> method-link.c
|
||||
echo >> src/method-link.c
|
||||
|
||||
for method in $method_prefix; do
|
||||
echo " register_${method}();" >> method-link.c
|
||||
echo " register_${method}();" >> src/method-link.c
|
||||
done
|
||||
|
||||
echo "}" >> method-link.c
|
||||
echo "}" >> src/method-link.c
|
||||
echo
|
||||
|
||||
# Okay, hopefully we've got everything together now.
|
||||
|
||||
79
contrib/AppRun.sh
Executable file
79
contrib/AppRun.sh
Executable file
@@ -0,0 +1,79 @@
|
||||
#!/bin/sh
|
||||
DIR="$(readlink -f "$(dirname "$0")")"
|
||||
|
||||
# When adding environment variables in this script, don't forget to sync with the src/show-manual.c
|
||||
# list, as they need to be cleaned up before calling xdg-open to ensure xdg-open works with all the
|
||||
# libs from the host and none from the AppImage (which most of the time just doesn't work).
|
||||
# Also save the original value into an _ORIGINAL variable, which will be restored by dvdisaster
|
||||
# into the xdg-open's environment before calling execve()
|
||||
|
||||
# Point to our own gtk libs
|
||||
[ "_$GTK_PATH" != _ ] && export GTK_PATH_ORIGINAL="$GTK_PATH"
|
||||
export GTK_PATH="$DIR/usr/lib/gtk-3.0"
|
||||
|
||||
# Load our own modules instead of the host ones,
|
||||
# an absolute path pointing to the host is unfortunately hardcoded in ./usr/lib/libgio-2.0.so.0,
|
||||
# but we edited the lib to neutralize said path (replaced gio/modules by :'s):
|
||||
#
|
||||
# $ strings ./usr/lib/libgio-2.0.so.0 | grep :::
|
||||
# /usr/lib/:::::::::::
|
||||
# /usr/lib/x86_64-linux-gnu/:::::::::::
|
||||
#
|
||||
# So the path below should be the only one used in the end:
|
||||
[ "_$GIO_EXTRA_MODULES" != _ ] && export GIO_EXTRA_MODULES_ORIGINAL="$GIO_EXTRA_MODULES"
|
||||
export GIO_EXTRA_MODULES="$DIR/usr/lib/gio/modules"
|
||||
|
||||
# To avoid getting:
|
||||
# '''
|
||||
# (dvdisaster:16170): Gtk-WARNING **: 14:31:41.224: Loading IM context type 'ibus' failed
|
||||
# (dvdisaster:16170): Gtk-WARNING **: 14:31:41.224: /lib/x86_64-linux-gnu/libibus-1.0.so.5: undefined symbol: g_get_language_names_with_category
|
||||
# '''
|
||||
# We use xim instead, which is included in our build, along with the proper immodules cache file referencing our modules
|
||||
[ "_$GTK_IM_MODULE_FILE" != _ ] && export GTK_IM_MODULE_FILE_ORIGINAL="$GTK_IM_MODULE_FILE"
|
||||
export GTK_IM_MODULE_FILE="$(find "$DIR/" -name immodules.cache)"
|
||||
[ "_$GTK_IM_MODULE" != _ ] && export GTK_IM_MODULE_ORIGINAL="$GTK_IM_MODULE"
|
||||
export GTK_IM_MODULE=xim
|
||||
|
||||
# if host has GTK_MODULES set, empty it to prevent it from loading modules from the host
|
||||
[ "_$GTK_MODULES" != _ ] && export GTK_MODULES_ORIGINAL="$GTK_MODULES"
|
||||
export GTK_MODULES=''
|
||||
|
||||
# To avoid getting:
|
||||
# '''
|
||||
# (dvdisaster:16133): GLib-GIO-ERROR **: 14:25:53.270: Settings schema 'org.gnome.settings-daemon.plugins.xsettings' does not contain a key named 'antialiasing'
|
||||
# Trace/breakpoint trap (core dumped)
|
||||
# '''
|
||||
# Under Ubuntu 22.04 and possibly later versions using Wayland
|
||||
# https://github.com/Ultimaker/Cura/issues/12776
|
||||
[ "_$GDK_BACKEND" != _ ] && export GDK_BACKEND_ORIGINAL="$GDK_BACKEND_ORIGINAL"
|
||||
export GDK_BACKEND=x11
|
||||
|
||||
# To avoid getting:
|
||||
# '''
|
||||
# (evince:172616): dbind-WARNING **: 18:02:34.901: Couldn't connect to accessibility bus: Failed to connect to socket /run/user/1000/at-spi/bus: Permission denied
|
||||
# '''
|
||||
[ "_$NO_AT_BRIDGE" != _ ] && export NO_AT_BRIDGE_ORIGINAL="$NO_AT_BRIDGE"
|
||||
export NO_AT_BRIDGE=1
|
||||
|
||||
# To avoid getting:
|
||||
# '''
|
||||
# (dvdisaster:20080): Gtk-WARNING **: 15:43:20.719: Could not load a pixbuf from icon theme.
|
||||
# This may indicate that pixbuf loaders or the mime database could not be found.
|
||||
# '''
|
||||
# Point to our own patched cache file for gdk-pixbuf2
|
||||
[ "_$GDK_PIXBUF_MODULE_FILE" != _ ] && export GDK_PIXBUF_MODULE_FILE_ORIGINAL="$GDK_PIXBUF_MODULE_FILE"
|
||||
export GDK_PIXBUF_MODULE_FILE="$DIR/usr/lib/gdk-pixbuf2/loaders.cache"
|
||||
# As the pixbuf loaders depends themselves on other libs, also adjust LD_LIBRARY_PATH so they load properly
|
||||
[ "_$LD_LIBRARY_PATH" != _ ] && export LD_LIBRARY_PATH_ORIGINAL="$LD_LIBRARY_PATH"
|
||||
export LD_LIBRARY_PATH="$DIR/usr/lib:$LD_LIBRARY_PATH"
|
||||
|
||||
# Change to the proper directory because some .cache files have relative paths starting with "."
|
||||
# we save the current PWD so that dvdisaster can use it as a default to store image and ecc files
|
||||
export ORIGINAL_PWD="$PWD"
|
||||
cd "$DIR" || exit 1
|
||||
|
||||
# Now run the program, with 3 vars it uses at runtime
|
||||
export DVDISASTER_APPIMAGE=1
|
||||
export DOCDIR="$DIR/usr/share/doc/dvdisaster"
|
||||
export BINDIR="$DIR/usr/bin"
|
||||
exec "$DIR/usr/bin/dvdisaster" "$@"
|
||||
@@ -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;
|
||||
|
||||
73
crcbuf.c
73
crcbuf.c
@@ -1,73 +0,0 @@
|
||||
/* dvdisaster: Additional error correction for optical media.
|
||||
* Copyright (C) 2004-2015 Carsten Gnoerlich.
|
||||
*
|
||||
* Email: carsten@dvdisaster.org -or- cgnoerlich@fsfe.org
|
||||
* Project homepage: http://www.dvdisaster.org
|
||||
*
|
||||
* This file is part of dvdisaster.
|
||||
*
|
||||
* dvdisaster is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* dvdisaster 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 dvdisaster. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include "dvdisaster.h"
|
||||
|
||||
#include "scsi-layer.h"
|
||||
#include "rs02-includes.h"
|
||||
|
||||
/***
|
||||
*** Create an uninitialized CRC buffer
|
||||
***/
|
||||
|
||||
CrcBuf *CreateCrcBuf(guint64 sectors)
|
||||
{ CrcBuf *cb = g_malloc(sizeof(CrcBuf));
|
||||
|
||||
cb->crcbuf = g_malloc(sectors * sizeof(guint32));
|
||||
cb->size = sectors;
|
||||
cb->valid = CreateBitmap0(sectors);
|
||||
|
||||
return cb;
|
||||
}
|
||||
|
||||
/***
|
||||
*** Test a 2048 byte block against the checksum in the buffer
|
||||
***/
|
||||
|
||||
int CheckAgainstCrcBuffer(CrcBuf *cb, gint64 idx, unsigned char *buf)
|
||||
{ guint32 crc;
|
||||
|
||||
if(idx < 0 || idx >= cb->size)
|
||||
return CRC_OUTSIDE_BOUND;
|
||||
|
||||
crc = Crc32(buf, 2048);
|
||||
|
||||
if(!GetBit(cb->valid, idx))
|
||||
return CRC_UNKNOWN;
|
||||
|
||||
if(crc == cb->crcbuf[idx])
|
||||
return CRC_GOOD;
|
||||
|
||||
return CRC_BAD;
|
||||
}
|
||||
|
||||
|
||||
/***
|
||||
*** Clean up
|
||||
***/
|
||||
|
||||
void FreeCrcBuf(CrcBuf *cb)
|
||||
{
|
||||
g_free(cb->crcbuf);
|
||||
FreeBitmap(cb->valid);
|
||||
g_free(cb);
|
||||
}
|
||||
378
curve.c
378
curve.c
@@ -1,378 +0,0 @@
|
||||
/* dvdisaster: Additional error correction for optical media.
|
||||
* Copyright (C) 2004-2015 Carsten Gnoerlich.
|
||||
*
|
||||
* Email: carsten@dvdisaster.org -or- cgnoerlich@fsfe.org
|
||||
* Project homepage: http://www.dvdisaster.org
|
||||
*
|
||||
* This file is part of dvdisaster.
|
||||
*
|
||||
* dvdisaster is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* dvdisaster 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 dvdisaster. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include "dvdisaster.h"
|
||||
|
||||
/***
|
||||
*** Constructors and destructors
|
||||
***/
|
||||
|
||||
/*
|
||||
* Initialize the curve
|
||||
*/
|
||||
|
||||
Curve* CreateCurve(GtkWidget *widget, char *left_label, char *left_format, int n_values, int bottom_format)
|
||||
{ Curve *curve = g_malloc0(sizeof(Curve));
|
||||
|
||||
curve->widget = widget;
|
||||
curve->layout = gtk_widget_create_pango_layout(widget, NULL);
|
||||
curve->leftLabel = g_strdup(left_label);
|
||||
curve->leftFormat = g_strdup(left_format);
|
||||
curve->bottomFormat = bottom_format;
|
||||
|
||||
curve->fvalue = g_malloc0(sizeof(gdouble)*(n_values+1));
|
||||
curve->ivalue = g_malloc0(sizeof(gint)*(n_values+1));
|
||||
curve->lvalue = g_malloc0(sizeof(gint)*(n_values+1));
|
||||
curve->lastValueIdx = n_values;
|
||||
|
||||
curve->maxX = 1;
|
||||
curve->maxY = 1;
|
||||
curve->logMaxY = 1;
|
||||
|
||||
if(bottom_format != CURVE_PERCENT)
|
||||
curve->margin = 2;
|
||||
|
||||
return curve;
|
||||
}
|
||||
|
||||
/*
|
||||
* Get rid of it
|
||||
*/
|
||||
|
||||
void FreeCurve(Curve *curve)
|
||||
{
|
||||
g_object_unref(curve->layout);
|
||||
g_free(curve->leftLabel);
|
||||
if(curve->leftLogLabel)
|
||||
g_free(curve->leftLogLabel);
|
||||
g_free(curve->leftFormat);
|
||||
g_free(curve->fvalue);
|
||||
g_free(curve->ivalue);
|
||||
g_free(curve->lvalue);
|
||||
g_free(curve);
|
||||
}
|
||||
|
||||
/*
|
||||
* Reset the values
|
||||
*/
|
||||
|
||||
void ZeroCurve(Curve *curve)
|
||||
{ int i;
|
||||
|
||||
if(curve)
|
||||
for(i=0; i<=curve->lastValueIdx; i++)
|
||||
{ curve->fvalue[i] = -1.0;
|
||||
curve->ivalue[i] = 0;
|
||||
curve->lvalue[i] = 0;
|
||||
}
|
||||
}
|
||||
|
||||
/***
|
||||
*** Auxiliary functions
|
||||
***/
|
||||
|
||||
/*
|
||||
* Calculate pixel coords from curve values
|
||||
*/
|
||||
|
||||
int CurveX(Curve *curve, gdouble x)
|
||||
{ gdouble width = (curve->rightX - curve->leftX - curve->margin);
|
||||
|
||||
return 1 + curve->leftX + ((gdouble)x * width) / 1000.0;
|
||||
}
|
||||
|
||||
int CurveLX(Curve *curve, gdouble x)
|
||||
{ gdouble width = (curve->rightX - curve->leftX - curve->margin);
|
||||
|
||||
return 1 + curve->leftX + (x * width) / (gdouble)curve->maxX;
|
||||
}
|
||||
|
||||
int CurveY(Curve *curve, gdouble y)
|
||||
{ gdouble hfact;
|
||||
|
||||
hfact = (gdouble)(curve->bottomY - curve->topY)
|
||||
/ (gdouble)curve->maxY;
|
||||
|
||||
return curve->bottomY - y * hfact;
|
||||
}
|
||||
|
||||
int CurveLogY(Curve *curve, gdouble y) /* not really a log */
|
||||
{ gdouble hfact;
|
||||
|
||||
if(y<1) return curve->bottomLY;
|
||||
|
||||
hfact = (gdouble)(curve->bottomLY - curve->topLY);
|
||||
|
||||
if(y==1) return curve->bottomLY - ((log(2)/log(curve->logMaxY)) * hfact)/2;
|
||||
return curve->bottomLY - (log(y)/log(curve->logMaxY)) * hfact;
|
||||
}
|
||||
|
||||
/***
|
||||
*** Calculate the curve geometry
|
||||
***/
|
||||
|
||||
void UpdateCurveGeometry(Curve *curve, char *largest_left_label, int right_padding)
|
||||
{ GtkAllocation *a = &curve->widget->allocation;
|
||||
int w,h;
|
||||
|
||||
/* Top and bottom margins */
|
||||
|
||||
SetText(curve->layout, curve->leftLabel, &w, &h);
|
||||
curve->topY = h + 10;
|
||||
|
||||
SetText(curve->layout, "0123456789", &w, &h);
|
||||
curve->bottomY = a->height - h - 10;
|
||||
|
||||
/* Left and right margins */
|
||||
|
||||
SetText(curve->layout, largest_left_label, &w, &h);
|
||||
curve->leftX = 5 + 6 + 3 + w;
|
||||
curve->rightX = a->width - right_padding;
|
||||
|
||||
/* Add space for the lograithmic curve */
|
||||
|
||||
if(curve->enable & DRAW_LCURVE)
|
||||
{ int height = curve->bottomY - curve->topY;
|
||||
|
||||
curve->bottomLY = curve->bottomY;
|
||||
curve->bottomY -= height/4;
|
||||
curve->topLY = curve->bottomY + h + 15;
|
||||
}
|
||||
}
|
||||
|
||||
/***
|
||||
*** Redraw the coordinate axes
|
||||
***/
|
||||
|
||||
void RedrawAxes(Curve *curve)
|
||||
{ GdkDrawable *d = curve->widget->window;
|
||||
int i,w,h,x,y;
|
||||
int yg=0;
|
||||
int step;
|
||||
int bottom_y;
|
||||
|
||||
/* Draw and label the left coordinate axis */
|
||||
|
||||
gdk_gc_set_rgb_fg_color(Closure->drawGC, Closure->foreground);
|
||||
|
||||
gdk_draw_line(d, Closure->drawGC,
|
||||
curve->leftX, curve->topY, curve->leftX, curve->bottomY);
|
||||
|
||||
if(curve->enable & DRAW_LCURVE)
|
||||
{ gdk_draw_line(d, Closure->drawGC,
|
||||
curve->leftX, curve->topLY, curve->leftX, curve->bottomLY);
|
||||
}
|
||||
|
||||
gdk_gc_set_rgb_fg_color(Closure->drawGC, Closure->curveColor);
|
||||
SetText(curve->layout, curve->leftLabel, &w, &h);
|
||||
x = curve->leftX - w/2;
|
||||
if(x < 5) x = 5;
|
||||
gdk_draw_layout(d, Closure->drawGC,
|
||||
x, curve->topY - h - 5, curve->layout);
|
||||
|
||||
|
||||
/* Draw and label the grid lines for the log curve */
|
||||
|
||||
if(curve->enable & DRAW_LCURVE)
|
||||
{ int val;
|
||||
char buf[16];
|
||||
|
||||
gdk_gc_set_rgb_fg_color(Closure->drawGC, Closure->logColor);
|
||||
SetText(curve->layout, curve->leftLogLabel, &w, &h);
|
||||
|
||||
x = curve->leftX - w/2;
|
||||
if(x < 5) x = 5;
|
||||
gdk_draw_layout(d, Closure->drawGC,
|
||||
x, curve->topLY - h - 5, curve->layout);
|
||||
|
||||
|
||||
for(val=400; val>3; val/=2)
|
||||
{ y = CurveLogY(curve, val);
|
||||
sprintf(buf,"%d",val);
|
||||
SetText(curve->layout, buf, &w, &h);
|
||||
gdk_gc_set_rgb_fg_color(Closure->drawGC, Closure->logColor);
|
||||
gdk_draw_layout(d, Closure->drawGC, curve->leftX-9-w, y-h/2, curve->layout);
|
||||
gdk_gc_set_rgb_fg_color(Closure->drawGC, Closure->foreground);
|
||||
gdk_draw_line(d, Closure->drawGC, curve->leftX-6, y, curve->leftX, y);
|
||||
gdk_gc_set_rgb_fg_color(Closure->drawGC, Closure->grid);
|
||||
gdk_draw_line(d, Closure->drawGC, curve->leftX, y, curve->rightX, y);
|
||||
|
||||
val /=2;
|
||||
y = CurveLogY(curve, val);
|
||||
gdk_gc_set_rgb_fg_color(Closure->drawGC, Closure->foreground);
|
||||
gdk_draw_line(d, Closure->drawGC, curve->leftX-3, y, curve->leftX, y);
|
||||
|
||||
if(curve->bottomLY-curve->topLY > 8*h)
|
||||
{ sprintf(buf,"%d",val);
|
||||
SetText(curve->layout, buf, &w, &h);
|
||||
gdk_gc_set_rgb_fg_color(Closure->drawGC, Closure->logColor);
|
||||
gdk_draw_layout(d, Closure->drawGC, curve->leftX-9-w, y-h/2, curve->layout);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/* Draw and label the grid lines for the normal curve */
|
||||
|
||||
if(curve->maxY < 20) step = 4;
|
||||
else step = 10;
|
||||
|
||||
for(i=0; i<=curve->maxY; i+=step)
|
||||
{ char buf[4];
|
||||
|
||||
g_snprintf(buf, 4, curve->leftFormat, i);
|
||||
SetText(curve->layout, buf, &w, &h);
|
||||
|
||||
y = yg = CurveY(curve, i);
|
||||
gdk_gc_set_rgb_fg_color(Closure->drawGC, Closure->curveColor);
|
||||
gdk_draw_layout(d, Closure->drawGC, curve->leftX-9-w, y-h/2, curve->layout);
|
||||
gdk_gc_set_rgb_fg_color(Closure->drawGC, Closure->foreground);
|
||||
gdk_draw_line(d, Closure->drawGC, curve->leftX-6, y, curve->leftX, y);
|
||||
|
||||
gdk_gc_set_rgb_fg_color(Closure->drawGC, Closure->grid);
|
||||
gdk_draw_line(d, Closure->drawGC, curve->leftX, y, curve->rightX, y);
|
||||
|
||||
gdk_gc_set_rgb_fg_color(Closure->drawGC, Closure->foreground);
|
||||
y = CurveY(curve, i+step/2);
|
||||
if(y >= curve->topY)
|
||||
gdk_draw_line(d, Closure->drawGC, curve->leftX-3, y, curve->leftX, y);
|
||||
}
|
||||
|
||||
|
||||
/* Draw the right coordinate axis */
|
||||
|
||||
gdk_gc_set_rgb_fg_color(Closure->drawGC, Closure->foreground);
|
||||
|
||||
gdk_draw_line(d, Closure->drawGC,
|
||||
curve->rightX, curve->topY, curve->rightX, curve->bottomY);
|
||||
|
||||
if(curve->enable & DRAW_LCURVE)
|
||||
gdk_draw_line(d, Closure->drawGC,
|
||||
curve->rightX, curve->topLY, curve->rightX, curve->bottomLY);
|
||||
|
||||
/* Draw and label the bottom coordinate axis */
|
||||
|
||||
gdk_gc_set_rgb_fg_color(Closure->drawGC, Closure->foreground);
|
||||
|
||||
gdk_draw_line(d, Closure->drawGC,
|
||||
curve->leftX, curve->bottomY, curve->rightX, curve->bottomY);
|
||||
|
||||
if(curve->enable & DRAW_LCURVE)
|
||||
{ gdk_draw_line(d, Closure->drawGC,
|
||||
curve->leftX, curve->bottomLY, curve->rightX, curve->bottomLY);
|
||||
bottom_y = curve->bottomLY;
|
||||
}
|
||||
else bottom_y = curve->bottomY;
|
||||
|
||||
if(curve->maxX <= 100) step = 20; /* <100M */
|
||||
else if(curve->maxX < 1000) step = 100; /* 100M ... 1000M */
|
||||
else if(curve->maxX < 8000) step = 1024; /* 1G .. 8G */
|
||||
else if(curve->maxX < 15000) step = 2560; /* 8G .. 15G */
|
||||
else if(curve->maxX < 25000) step = 5120; /* 15G .. 25G */
|
||||
else step = 10240;
|
||||
|
||||
for(i=0; i<=curve->maxX; i+=step)
|
||||
{ char buf[10];
|
||||
|
||||
switch(curve->bottomFormat)
|
||||
{ case CURVE_PERCENT:
|
||||
g_snprintf(buf, 10, "%d%%", i);
|
||||
break;
|
||||
|
||||
case CURVE_MEGABYTES:
|
||||
if(step <= 100)
|
||||
g_snprintf(buf, 10, "%dM",i);
|
||||
else g_snprintf(buf, 10, "%3.1fG",(gdouble)i/1024.0);
|
||||
break;
|
||||
}
|
||||
SetText(curve->layout, buf, &w, &h);
|
||||
|
||||
x = CurveLX(curve,i)-1;
|
||||
gdk_draw_line(d, Closure->drawGC, x, bottom_y+6, x, bottom_y);
|
||||
gdk_draw_layout(d, Closure->drawGC, x-w/2, bottom_y+8, curve->layout);
|
||||
|
||||
if(i && x < curve->rightX)
|
||||
{ gdk_gc_set_rgb_fg_color(Closure->drawGC, Closure->grid);
|
||||
gdk_draw_line(d, Closure->drawGC, x, curve->bottomY-1, x, yg);
|
||||
|
||||
if(curve->enable & DRAW_LCURVE)
|
||||
gdk_draw_line(d, Closure->drawGC, x, curve->bottomLY-1, x, curve->topLY);
|
||||
}
|
||||
|
||||
gdk_gc_set_rgb_fg_color(Closure->drawGC, Closure->foreground);
|
||||
x = CurveLX(curve,i+step/2)-1;
|
||||
if(x < curve->rightX)
|
||||
gdk_draw_line(d, Closure->drawGC, x, bottom_y+3, x, bottom_y);
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* Redraw the curve
|
||||
*/
|
||||
|
||||
void RedrawCurve(Curve *curve, int last)
|
||||
{ int i,x0,x1,fy0,fy1;
|
||||
|
||||
x0 = CurveX(curve, 0);
|
||||
fy0 = CurveY(curve, curve->fvalue[0]);
|
||||
|
||||
gdk_gc_set_rgb_fg_color(Closure->drawGC, Closure->curveColor);
|
||||
|
||||
/* Draw the curve */
|
||||
|
||||
for(i=1; i<=last; i++)
|
||||
{ x1 = CurveX(curve, i);
|
||||
|
||||
if(curve->enable & DRAW_ICURVE)
|
||||
{ int iy = CurveY(curve, curve->ivalue[i]);
|
||||
|
||||
if(curve->ivalue[i] > 0)
|
||||
{ gdk_gc_set_rgb_fg_color(Closure->drawGC, Closure->barColor);
|
||||
gdk_draw_rectangle(curve->widget->window,
|
||||
Closure->drawGC, TRUE,
|
||||
x0, iy, x0==x1 ? 1 : x1-x0, curve->bottomY-iy);
|
||||
}
|
||||
}
|
||||
|
||||
if(curve->enable & DRAW_LCURVE)
|
||||
{ int iy = CurveLogY(curve, curve->lvalue[i]);
|
||||
|
||||
if(curve->lvalue[i] > 0)
|
||||
{ gdk_gc_set_rgb_fg_color(Closure->drawGC, Closure->logColor);
|
||||
gdk_draw_rectangle(curve->widget->window,
|
||||
Closure->drawGC, TRUE,
|
||||
x0, iy, x0==x1 ? 1 : x1-x0, curve->bottomLY-iy);
|
||||
}
|
||||
}
|
||||
|
||||
if(curve->enable & DRAW_FCURVE && curve->fvalue[i] >= 0)
|
||||
{ fy1 = CurveY(curve, curve->fvalue[i]);
|
||||
|
||||
if(x0 < x1)
|
||||
{ gdk_gc_set_rgb_fg_color(Closure->drawGC, Closure->curveColor);
|
||||
gdk_draw_line(curve->widget->window, Closure->drawGC, x0, fy0, x1, fy1);
|
||||
fy0 = fy1;
|
||||
}
|
||||
}
|
||||
|
||||
x0 = x1;
|
||||
}
|
||||
}
|
||||
149
debian/changelog
vendored
149
debian/changelog
vendored
@@ -1,3 +1,150 @@
|
||||
dvdisaster (0.79.6-6) UNRELEASED; urgency=medium
|
||||
|
||||
* Use secure URI in debian/watch.
|
||||
* Update standards version, no changes needed.
|
||||
* Set debhelper-compat version in Build-Depends.
|
||||
* Update standards version to 4.4.1, no changes needed.
|
||||
* Remove obsolete fields Name, Contact from debian/upstream/metadata.
|
||||
* Fix day-of-week for changelog entries 0.71~devel23-4.
|
||||
|
||||
-- Debian Janitor <janitor@jelmer.uk> Tue, 06 Aug 2019 16:08:20 +0000
|
||||
|
||||
dvdisaster (0.79.6-5) experimental; urgency=medium
|
||||
|
||||
* Merge changes from 0.79.5-9.
|
||||
|
||||
-- Carlos Maddela <e7appew@gmail.com> Sat, 02 Feb 2019 16:05:29 +1100
|
||||
|
||||
dvdisaster (0.79.6-4) experimental; urgency=medium
|
||||
|
||||
* Merge changes from 0.79.5-8.
|
||||
|
||||
-- Carlos Maddela <e7appew@gmail.com> Fri, 01 Feb 2019 23:13:16 +1100
|
||||
|
||||
dvdisaster (0.79.6-3) experimental; urgency=medium
|
||||
|
||||
* Merge changes from 0.79.5-7.
|
||||
* Update gbp.conf for debian/experimental branch.
|
||||
|
||||
-- Carlos Maddela <e7appew@gmail.com> Thu, 31 Jan 2019 08:59:58 +1100
|
||||
|
||||
dvdisaster (0.79.6-2) experimental; urgency=medium
|
||||
|
||||
[ TANIGUCHI Takaki ]
|
||||
* Update Vcs-* to salsa.debian.org.
|
||||
|
||||
[ Carlos Maddela ]
|
||||
* Build with DH compat level 11.
|
||||
* Indicate compliance with Debian Policy 4.1.4.
|
||||
* Add machine-readable upstream metadata.
|
||||
* Update debian/copyright.
|
||||
* Update location of PDF manual registered with doc-base (required
|
||||
as a result of DH compat level change).
|
||||
|
||||
-- Carlos Maddela <e7appew@gmail.com> Sat, 23 Jun 2018 05:41:03 +1000
|
||||
|
||||
dvdisaster (0.79.6-1) experimental; urgency=medium
|
||||
|
||||
* New upstream development version [0.79.6].
|
||||
* Rebase patches.
|
||||
|
||||
-- Carlos Maddela <e7appew@gmail.com> Thu, 21 Dec 2017 05:51:54 +1100
|
||||
dvdisaster (0.79.5-9) unstable; urgency=medium
|
||||
|
||||
* Make sure that the upstream changelog remains uncompressed so
|
||||
that the application can display it.
|
||||
|
||||
-- Carlos Maddela <e7appew@gmail.com> Sat, 02 Feb 2019 13:32:34 +1100
|
||||
|
||||
dvdisaster (0.79.5-9) unstable; urgency=medium
|
||||
|
||||
* Make sure that the upstream changelog remains uncompressed so
|
||||
that the application can display it.
|
||||
* Suggest to install dvdisaster-doc in error message, if the PDF manual
|
||||
cannot be found.
|
||||
|
||||
-- Carlos Maddela <e7appew@gmail.com> Sat, 02 Feb 2019 15:20:23 +1100
|
||||
|
||||
dvdisaster (0.79.5-8) unstable; urgency=medium
|
||||
|
||||
* Fix parallel build of locale strings.
|
||||
|
||||
-- Carlos Maddela <e7appew@gmail.com> Fri, 01 Feb 2019 23:03:13 +1100
|
||||
|
||||
dvdisaster (0.79.5-7) unstable; urgency=medium
|
||||
|
||||
* Add debian/gbp.conf to conform with DEP14 conventions.
|
||||
* Build with Debhelper compat level 12.
|
||||
* Set "Rules-Requires-Root: no".
|
||||
* Simplify process by which mutable files are backed up and restored.
|
||||
* Build as verbosely as possible.
|
||||
* Fix location of manual.
|
||||
* Fix dh_auto_build overrides to take advantage of parallel builds.
|
||||
* Fix format security compilation warning in GCC-8.
|
||||
* Change homepage to one archived at web.archive.org.
|
||||
http://dvdisaster.net has been unavailable for a while now.
|
||||
Not certain if this is permanent though, as the domain name still
|
||||
exists for mail.
|
||||
* Add support for nodoc build profile.
|
||||
* Add more details to upstream metadata.
|
||||
* Indicate compliance with Debian Policy 4.3.0.
|
||||
|
||||
-- Carlos Maddela <e7appew@gmail.com> Thu, 31 Jan 2019 07:10:46 +1100
|
||||
|
||||
dvdisaster (0.79.5-6) unstable; urgency=medium
|
||||
|
||||
[ TANIGUCHI Takaki ]
|
||||
* change Vcs-* path
|
||||
|
||||
[ Carlos Maddela ]
|
||||
* Build with DH compat level 11.
|
||||
* Indicate compliance with Debian Policy 4.1.4.
|
||||
* Add machine-readable upstream metadata.
|
||||
* Update debian/copyright.
|
||||
* Update location of PDF manual registered with doc-base (required
|
||||
as a result of DH compat level change).
|
||||
|
||||
-- Carlos Maddela <e7appew@gmail.com> Sat, 23 Jun 2018 05:01:27 +1000
|
||||
|
||||
dvdisaster (0.79.5-5) unstable; urgency=medium
|
||||
|
||||
* Update Vcs-* to salsa.debian.org
|
||||
* Bump Standards-Version to 4.1.3
|
||||
|
||||
-- TANIGUCHI Takaki <takaki@debian.org> Sat, 27 Jan 2018 23:34:08 +0900
|
||||
|
||||
dvdisaster (0.79.5-4) unstable; urgency=medium
|
||||
|
||||
* Use complete Debian revision number as build number, instead of
|
||||
just the numeric part.
|
||||
* Re-implement scripts/time-stamper.bash without direct calls to
|
||||
dpkg-parsechangelog.
|
||||
* Call ./configure script directly, instead of relying on debhelper,
|
||||
to resolve incompatibilities with Bash-based script.
|
||||
* Use alternative way of installing icons to remove dependency on
|
||||
dh-exec.
|
||||
* Drop redundant dependency on dpkg-dev.
|
||||
* Reproducibly generate PDF documentation from TeX sources.
|
||||
* Remove trailing white space from debian/changelog.
|
||||
* Remove unnecessary Testsuite header from debian/control.
|
||||
* Indicate compliance with Debian Policy 4.1.2.
|
||||
* Suppress debian-watch-uses-insecure-uri Lintian warning.
|
||||
* Honour LDFLAGS set by dpkg-buildflags in building all binaries.
|
||||
|
||||
-- Carlos Maddela <e7appew@gmail.com> Thu, 21 Dec 2017 03:14:14 +1100
|
||||
|
||||
dvdisaster (0.79.5-3) unstable; urgency=medium
|
||||
|
||||
* Team upload.
|
||||
* Fix another build failure on kFreeBSD.
|
||||
* Bump Standards Version to 4.0.1.
|
||||
* Regenerate patches with git version 2.14.0.
|
||||
* Do not suppress the display of compilation commands,
|
||||
so that build logs may be analysed by blhc.
|
||||
* Update uploaders list.
|
||||
|
||||
-- Carlos Maddela <e7appew@gmail.com> Mon, 14 Aug 2017 14:52:56 +1000
|
||||
|
||||
dvdisaster (0.79.5-2) unstable; urgency=medium
|
||||
|
||||
[ Carlos Maddela ]
|
||||
@@ -264,7 +411,7 @@ dvdisaster (0.71~devel23-4) unstable; urgency=low
|
||||
|
||||
* Fixed clean target in rules (Closes: #442559).
|
||||
|
||||
-- Daniel Baumann <daniel@debian.org> Sun, 17 Sep 2007 00:37:00 +0200
|
||||
-- Daniel Baumann <daniel@debian.org> Mon, 17 Sep 2007 00:37:00 +0200
|
||||
|
||||
dvdisaster (0.71~devel23-3) unstable; urgency=medium
|
||||
|
||||
|
||||
1
debian/compat
vendored
1
debian/compat
vendored
@@ -1 +0,0 @@
|
||||
10
|
||||
27
debian/control
vendored
27
debian/control
vendored
@@ -3,24 +3,24 @@ Section: otherosfs
|
||||
Priority: optional
|
||||
Maintainer: Optical Media Tools Team <pkg-opt-media-team@lists.alioth.debian.org>
|
||||
Uploaders: TANIGUCHI Takaki <takaki@debian.org>,
|
||||
Rogério Brito <rbrito@ime.usp.br>
|
||||
Build-Depends: debhelper (>= 10),
|
||||
dh-exec,
|
||||
dpkg-dev (>= 1.16.1.1),
|
||||
Rogério Brito <rbrito@ime.usp.br>,
|
||||
Carlos Maddela <e7appew@gmail.com>
|
||||
Build-Depends: debhelper (>= 12),
|
||||
gettext,
|
||||
libbz2-dev,
|
||||
libcam-dev [kfreebsd-any],
|
||||
libgtk2.0-dev,
|
||||
libpng-dev,
|
||||
pkg-config
|
||||
# Build-Depends-Indep: texlive-fonts-recommended,
|
||||
# texlive-latex-base,
|
||||
# texlive-latex-extra
|
||||
Standards-Version: 4.0.0
|
||||
Vcs-Browser: https://anonscm.debian.org/git/pkg-opt-media/dvdisaster.git
|
||||
Vcs-Git: https://anonscm.debian.org/git/pkg-opt-media/dvdisaster.git
|
||||
Homepage: http://dvdisaster.net/
|
||||
Testsuite: autopkgtest
|
||||
pkg-config,
|
||||
debhelper-compat (= 12)
|
||||
Build-Depends-Indep: texlive-fonts-recommended <!nodoc>,
|
||||
texlive-latex-base <!nodoc>,
|
||||
texlive-latex-extra <!nodoc>
|
||||
Standards-Version: 4.4.1
|
||||
Vcs-Browser: https://salsa.debian.org/optical-media-team/dvdisaster
|
||||
Vcs-Git: https://salsa.debian.org/optical-media-team/dvdisaster.git
|
||||
Homepage: https://web.archive.org/web/20180428070843/http://dvdisaster.net/
|
||||
Rules-Requires-Root: no
|
||||
|
||||
Package: dvdisaster
|
||||
Architecture: any
|
||||
@@ -32,6 +32,7 @@ Description: data loss/scratch/aging protection for CD/DVD media
|
||||
used to recover unreadable sectors if the disc becomes damaged at a later time.
|
||||
|
||||
Package: dvdisaster-doc
|
||||
Build-Profiles: <!nodoc>
|
||||
Section: doc
|
||||
Architecture: all
|
||||
Multi-Arch: foreign
|
||||
|
||||
6
debian/copyright
vendored
6
debian/copyright
vendored
@@ -1,7 +1,7 @@
|
||||
Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
|
||||
Upstream-Contact: Carsten Gnörlich <carsten@dvdisaster.org>
|
||||
Upstream-Name: dvdisaster
|
||||
Source: http://dvdisaster.net/
|
||||
Source: https://web.archive.org/web/20180428070843/http://dvdisaster.net/
|
||||
|
||||
Files: *
|
||||
Copyright: 2004–2015, Carsten Gnörlich <carsten@dvdisaster.org>
|
||||
@@ -9,9 +9,9 @@ License: GPL-3+
|
||||
|
||||
Files: debian/*
|
||||
Copyright: 2005–2009, Daniel Baumann <daniel@debian.org>
|
||||
2009–2012, TANIGUCHI Takaki <takaki@debian.org>
|
||||
2009–2018, TANIGUCHI Takaki <takaki@debian.org>
|
||||
2009–2010, Rogério Brito <rbrito@ime.usp.br>
|
||||
2016, Carlos Maddela <e7appew@gmail.com>
|
||||
2016–2018, Carlos Maddela <e7appew@gmail.com>
|
||||
License: GPL-2+
|
||||
|
||||
License: GPL-2+
|
||||
|
||||
2
debian/dvdisaster-doc.doc-base
vendored
2
debian/dvdisaster-doc.doc-base
vendored
@@ -7,4 +7,4 @@ Abstract: This manual describes what dvdisaster is and how it can be used
|
||||
Section: File Management
|
||||
|
||||
Format: PDF
|
||||
Files: /usr/share/doc/dvdisaster-doc/manual.pdf.gz
|
||||
Files: /usr/share/doc/dvdisaster/manual.pdf.gz
|
||||
|
||||
1
debian/dvdisaster-doc.links
vendored
1
debian/dvdisaster-doc.links
vendored
@@ -1 +0,0 @@
|
||||
usr/share/doc/dvdisaster-doc/manual.pdf.gz usr/share/doc/dvdisaster/manual.pdf.gz
|
||||
1
debian/dvdisaster.docs
vendored
1
debian/dvdisaster.docs
vendored
@@ -1,4 +1,3 @@
|
||||
CHANGELOG
|
||||
CREDITS.*
|
||||
README.MODIFYING
|
||||
TODO
|
||||
|
||||
9
debian/dvdisaster.install
vendored
Executable file → Normal file
9
debian/dvdisaster.install
vendored
Executable file → Normal file
@@ -1,10 +1,5 @@
|
||||
#!/usr/bin/dh-exec
|
||||
contrib/dvdisaster.desktop usr/share/applications
|
||||
usr/bin
|
||||
usr/share/icons
|
||||
usr/share/locale
|
||||
usr/share/man
|
||||
contrib/dvdisaster.desktop usr/share/applications
|
||||
contrib/dvdisaster16.png => usr/share/icons/hicolor/16x16/apps/dvdisaster.png
|
||||
contrib/dvdisaster24.png => usr/share/icons/hicolor/24x24/apps/dvdisaster.png
|
||||
contrib/dvdisaster32.png => usr/share/icons/hicolor/32x32/apps/dvdisaster.png
|
||||
contrib/dvdisaster48.png => usr/share/icons/hicolor/48x48/apps/dvdisaster.png
|
||||
contrib/dvdisaster64.png => usr/share/icons/hicolor/64x64/apps/dvdisaster.png
|
||||
|
||||
1
debian/dvdisaster.lintian-overrides
vendored
Normal file
1
debian/dvdisaster.lintian-overrides
vendored
Normal file
@@ -0,0 +1 @@
|
||||
dvdisaster: changelog-file-not-compressed changelog
|
||||
5
debian/gbp.conf
vendored
Normal file
5
debian/gbp.conf
vendored
Normal file
@@ -0,0 +1,5 @@
|
||||
[DEFAULT]
|
||||
debian-branch = debian/master
|
||||
upstream-branch = upstream/latest
|
||||
sign-tags = True
|
||||
pristine-tar = True
|
||||
4
debian/patches/02-encryption.patch
vendored
4
debian/patches/02-encryption.patch
vendored
@@ -12,10 +12,10 @@ This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
|
||||
1 file changed, 2 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/scsi-layer.c b/scsi-layer.c
|
||||
index d68533b..6717b12 100644
|
||||
index cad13d4..866b7ac 100644
|
||||
--- a/scsi-layer.c
|
||||
+++ b/scsi-layer.c
|
||||
@@ -2711,12 +2711,13 @@ Image* OpenImageFromDevice(char *device)
|
||||
@@ -2695,12 +2695,13 @@ Image* OpenImageFromDevice(char *device)
|
||||
return NULL;
|
||||
}
|
||||
}
|
||||
|
||||
2
debian/patches/03-dvdrom.patch
vendored
2
debian/patches/03-dvdrom.patch
vendored
@@ -12,7 +12,7 @@ This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
|
||||
1 file changed, 5 insertions(+)
|
||||
|
||||
diff --git a/scsi-layer.c b/scsi-layer.c
|
||||
index 6717b12..64a3dba 100644
|
||||
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)
|
||||
|
||||
2
debian/patches/05-help-dialog.patch
vendored
2
debian/patches/05-help-dialog.patch
vendored
@@ -16,7 +16,7 @@ This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
|
||||
1 file changed, 6 insertions(+), 6 deletions(-)
|
||||
|
||||
diff --git a/help-dialogs.c b/help-dialogs.c
|
||||
index 4d6f9bb..eae04f2 100644
|
||||
index c486613..758ac19 100644
|
||||
--- a/help-dialogs.c
|
||||
+++ b/help-dialogs.c
|
||||
@@ -403,7 +403,7 @@ void ShowGPL()
|
||||
|
||||
@@ -20,7 +20,7 @@ This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/scripts/bash-based-configure b/scripts/bash-based-configure
|
||||
index f68ecab..d62f5d7 100644
|
||||
index 6baffde..f1a8bd1 100644
|
||||
--- a/scripts/bash-based-configure
|
||||
+++ b/scripts/bash-based-configure
|
||||
@@ -313,13 +313,13 @@ function REQUIRE_GMAKE()
|
||||
|
||||
27
debian/patches/11-no-cruft.patch
vendored
27
debian/patches/11-no-cruft.patch
vendored
@@ -5,15 +5,15 @@ Subject: Do not install cruft.
|
||||
Description: Do not install cruft.
|
||||
Author: Carlos Maddela <e7appew@gmail.com>
|
||||
Forwarded: not-needed
|
||||
Last-Update: 2017-01-05
|
||||
Last-Update: 2017-12-21
|
||||
---
|
||||
This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
|
||||
---
|
||||
GNUmakefile.template | 26 --------------------------
|
||||
1 file changed, 26 deletions(-)
|
||||
GNUmakefile.template | 19 -------------------
|
||||
1 file changed, 19 deletions(-)
|
||||
|
||||
diff --git a/GNUmakefile.template b/GNUmakefile.template
|
||||
index a3074c7..6fda92b 100644
|
||||
index 77a57bf..6fda92b 100644
|
||||
--- a/GNUmakefile.template
|
||||
+++ b/GNUmakefile.template
|
||||
@@ -228,12 +228,6 @@ install: dvdisaster manual
|
||||
@@ -29,28 +29,21 @@ index a3074c7..6fda92b 100644
|
||||
(cd documentation/user-manual; install -m 644 manual.pdf $(BUILDROOT)$(DOCSUBDIR))
|
||||
install -d $(BUILDROOT)$(MANDIR)/man1
|
||||
install -d $(BUILDROOT)$(MANDIR)/de/man1
|
||||
@@ -251,26 +245,6 @@ install: dvdisaster manual
|
||||
@@ -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 -f \"$(DOCSUBDIR)/CHANGELOG\"" >> $(BUILDROOT)$(BINDIR)/dvdisaster-uninstall.sh
|
||||
- @echo "rm -f \"$(DOCSUBDIR)/COPYING\"" >> $(BUILDROOT)$(BINDIR)/dvdisaster-uninstall.sh
|
||||
- @echo "rm -f \"$(DOCSUBDIR)/CREDITS.de\"" >> $(BUILDROOT)$(BINDIR)/dvdisaster-uninstall.sh
|
||||
- @echo "rm -f \"$(DOCSUBDIR)/CREDITS.en\"" >> $(BUILDROOT)$(BINDIR)/dvdisaster-uninstall.sh
|
||||
- @echo "rm -f \"$(DOCSUBDIR)/manual.pdf\"" >> $(BUILDROOT)$(BINDIR)/dvdisaster-uninstall.sh
|
||||
- @echo "rm -f \"$(DOCSUBDIR)/README.MODIFYING\"" >> $(BUILDROOT)$(BINDIR)/dvdisaster-uninstall.sh
|
||||
- @echo "rm -f \"$(DOCSUBDIR)/TODO\"" >> $(BUILDROOT)$(BINDIR)/dvdisaster-uninstall.sh
|
||||
- @echo "rmdir \"$(DOCSUBDIR)\"" >> $(BUILDROOT)$(BINDIR)/dvdisaster-uninstall.sh
|
||||
- @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 -f \"$(LOCALEDIR)/$$i/LC_MESSAGES/dvdisaster.mo\"" >> $(BUILDROOT)$(BINDIR)/dvdisaster-uninstall.sh ; \
|
||||
- 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
|
||||
- @echo "rm -f $(MANDIR)/man1/dvdisaster.1" >> $(BUILDROOT)$(BINDIR)/dvdisaster-uninstall.sh
|
||||
- @for i in $(MAN_LOCALES); do \
|
||||
- echo "rm -f \"$(MANDIR)/$$i/man1/dvdisaster.1\"" >> $(BUILDROOT)$(BINDIR)/dvdisaster-uninstall.sh ; \
|
||||
- echo "rm $(MANDIR)/$$i/man1/dvdisaster.1" >> $(BUILDROOT)$(BINDIR)/dvdisaster-uninstall.sh ; \
|
||||
- done
|
||||
- @echo "echo \"dvdisaster has been uninstalled.\"" >> $(BUILDROOT)$(BINDIR)/dvdisaster-uninstall.sh
|
||||
|
||||
|
||||
114
debian/patches/12-fix-spelling-of-up-to.patch
vendored
114
debian/patches/12-fix-spelling-of-up-to.patch
vendored
@@ -5,7 +5,7 @@ Subject: Fix spelling: upto -> up to
|
||||
Description: Fix spelling: upto -> up to
|
||||
Author: Carlos Maddela <e7appew@gmail.com>
|
||||
Forwarded: no
|
||||
Last-Update: 2017-01-05
|
||||
Last-Update: 2017-12-21
|
||||
---
|
||||
This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
|
||||
---
|
||||
@@ -26,7 +26,7 @@ This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
|
||||
14 files changed, 35 insertions(+), 35 deletions(-)
|
||||
|
||||
diff --git a/debug.c b/debug.c
|
||||
index df70416..b4ffc21 100644
|
||||
index b4a96d1..bd725d6 100644
|
||||
--- a/debug.c
|
||||
+++ b/debug.c
|
||||
@@ -1023,7 +1023,7 @@ void RawSector(char *arg)
|
||||
@@ -52,7 +52,7 @@ index ebb1ee5..a8c0d90 100644
|
||||
figure. The next ecc blocks are calculated and stored accordingly.
|
||||
In total, the ecc section contains $k*ls$ bytes of parity information,
|
||||
diff --git a/documentation/codec-specs/rs02.tex b/documentation/codec-specs/rs02.tex
|
||||
index 3cf5fb1..c026772 100644
|
||||
index 69195a0..fb88384 100644
|
||||
--- a/documentation/codec-specs/rs02.tex
|
||||
+++ b/documentation/codec-specs/rs02.tex
|
||||
@@ -133,7 +133,7 @@ Its format is described in appendix \ref{eh}. For RS02, only the data fields
|
||||
@@ -65,10 +65,10 @@ index 3cf5fb1..c026772 100644
|
||||
to the nearest multiple of 2048.
|
||||
CRC32 checksums are calculated over a whole CD sector comprising 2048 bytes.
|
||||
diff --git a/documentation/dvdisaster.en.1 b/documentation/dvdisaster.en.1
|
||||
index 028c6e0..95faa5a 100644
|
||||
index 3472012..d71abec 100644
|
||||
--- a/documentation/dvdisaster.en.1
|
||||
+++ b/documentation/dvdisaster.en.1
|
||||
@@ -274,7 +274,7 @@ Selects between the sg (SG_IO) driver (default setting) and the
|
||||
@@ -279,7 +279,7 @@ Selects between the sg (SG_IO) driver (default setting) and the
|
||||
older cdrom (CDROM_SEND_PACKET) driver for accessing the optical drives.
|
||||
Both drivers should work equally well; however the cdrom driver is known
|
||||
to cause system failures on some ancient SCSI controllers.
|
||||
@@ -77,7 +77,7 @@ index 028c6e0..95faa5a 100644
|
||||
if the now pre-selected sg driver changes something to the worse for you
|
||||
please switch back to the older driver using \-\-driver=cdrom.
|
||||
.TP
|
||||
@@ -376,7 +376,7 @@ the uncorrected sector instead.
|
||||
@@ -384,7 +384,7 @@ the uncorrected sector instead.
|
||||
.RE
|
||||
.TP
|
||||
.B \-\-read-attempts n-m
|
||||
@@ -87,10 +87,10 @@ index 028c6e0..95faa5a 100644
|
||||
.B \-\-read-medium n
|
||||
read the whole medium up to n times.
|
||||
diff --git a/documentation/user-manual/qa.tex b/documentation/user-manual/qa.tex
|
||||
index 5d4b35a..91befa1 100644
|
||||
index a3465a8..d79ca4d 100644
|
||||
--- a/documentation/user-manual/qa.tex
|
||||
+++ b/documentation/user-manual/qa.tex
|
||||
@@ -457,6 +457,6 @@ drive for reading images in these cases.}
|
||||
@@ -465,6 +465,6 @@ drive for reading images in these cases.}
|
||||
|
||||
\qa{``Ecc file has been created with version 0.40.7.''}
|
||||
{Some developer versions of dvdisaster mark their ecc files with a special bit.
|
||||
@@ -99,10 +99,10 @@ index 5d4b35a..91befa1 100644
|
||||
message. Please use the developer versions only together with dvdisaster
|
||||
0.66 or newer versions. }
|
||||
diff --git a/dvdisaster.c b/dvdisaster.c
|
||||
index a24e599..d549676 100644
|
||||
index 6742d99..6840fd5 100644
|
||||
--- a/dvdisaster.c
|
||||
+++ b/dvdisaster.c
|
||||
@@ -917,7 +917,7 @@ int main(int argc, char *argv[])
|
||||
@@ -930,7 +930,7 @@ int main(int argc, char *argv[])
|
||||
PrintCLI(_(" --old-ds-marker - mark missing sectors compatible with dvdisaster <= 0.70\n"));
|
||||
PrintCLI(_(" --prefetch-sectors n - prefetch n sectors for RS03 encoding (uses ~nMiB)\n"));
|
||||
PrintCLI(_(" --raw-mode n - mode for raw reading CD media (20 or 21)\n"));
|
||||
@@ -110,12 +110,12 @@ index a24e599..d549676 100644
|
||||
+ PrintCLI(_(" --read-attempts n-m - attempts n up to m reads of a defective sector\n"));
|
||||
PrintCLI(_(" --read-medium n - read the whole medium up to n times\n"));
|
||||
PrintCLI(_(" --read-raw - performs read in raw mode if possible\n"));
|
||||
PrintCLI(_(" --resource-file p - get resource file from given path\n"));
|
||||
PrintCLI(_(" --regtest - tweaks output for compatibility with regtests\n"));
|
||||
diff --git a/dvdisaster.h b/dvdisaster.h
|
||||
index 2507ab9..db2031e 100644
|
||||
index 7fb980b..a466450 100644
|
||||
--- a/dvdisaster.h
|
||||
+++ b/dvdisaster.h
|
||||
@@ -101,7 +101,7 @@
|
||||
@@ -112,7 +112,7 @@
|
||||
|
||||
#define MAX_CODEC_THREADS 1024 /* not including IO and GUI */
|
||||
#define MAX_OLD_CACHE_SIZE 8096 /* old cache for RS01/RS02 */
|
||||
@@ -124,7 +124,7 @@ index 2507ab9..db2031e 100644
|
||||
|
||||
/* Choices for I/O strategy */
|
||||
|
||||
@@ -364,7 +364,7 @@ typedef struct _LargeFile
|
||||
@@ -376,7 +376,7 @@ typedef struct _LargeFile
|
||||
#define FINGERPRINT_SECTOR 16 /* Sector currently used to calculate the fingerprint. */
|
||||
/* This is the ISO filesystem root sector which contains */
|
||||
/* the volume label and creation time stamps. */
|
||||
@@ -134,19 +134,19 @@ index 2507ab9..db2031e 100644
|
||||
|
||||
#define MFLAG_DEVEL (1<<0) /* for methodFlags[3] */
|
||||
diff --git a/locale/cs.po b/locale/cs.po
|
||||
index bdec530..ed1fc65 100644
|
||||
index 3274de9..4f766a3 100644
|
||||
--- a/locale/cs.po
|
||||
+++ b/locale/cs.po
|
||||
@@ -658,7 +658,7 @@ msgid " --raw-mode n - mode for raw reading CD media (20 or 21)\n"
|
||||
@@ -662,7 +662,7 @@ msgid " --raw-mode n - mode for raw reading CD media (20 or 21)\n"
|
||||
msgstr " --raw-mode n - režim přímého čtení pro CD disky (20 nebo 21)\n"
|
||||
|
||||
#: dvdisaster.c:920
|
||||
#: dvdisaster.c:933
|
||||
-msgid " --read-attempts n-m - attempts n upto m reads of a defective sector\n"
|
||||
+msgid " --read-attempts n-m - attempts n up to m reads of a defective sector\n"
|
||||
msgstr " --read-attempts n-m - zkusit n až m opakovaných čtení poškozeného sektoru\n"
|
||||
|
||||
#: dvdisaster.c:921
|
||||
@@ -2000,7 +2000,7 @@ msgstr "Přečtení sektoru nezkoušet více než %d krát"
|
||||
#: dvdisaster.c:934
|
||||
@@ -2014,7 +2014,7 @@ msgstr "Přečtení sektoru nezkoušet více než %d krát"
|
||||
msgid ""
|
||||
"<b>Maximum number of reading attempts</b>\n"
|
||||
"\n"
|
||||
@@ -155,7 +155,7 @@ index bdec530..ed1fc65 100644
|
||||
"\n"
|
||||
"The decision to do more attempts depends on the quality of data gathered so far, which in turn is influenced by the capabilities of your optical drive and the operating system. So depending on your configuration, you may or may not see dvdisaster using the maximum value."
|
||||
msgstr ""
|
||||
@@ -2072,7 +2072,7 @@ msgstr " krát"
|
||||
@@ -2086,7 +2086,7 @@ msgstr " krát"
|
||||
msgid ""
|
||||
"<b>Media read attempts</b> for the linear reading strategy\n"
|
||||
"\n"
|
||||
@@ -165,19 +165,19 @@ index bdec530..ed1fc65 100644
|
||||
"Only the missing sectors will be tried in the additional reading passes."
|
||||
msgstr ""
|
||||
diff --git a/locale/de.po b/locale/de.po
|
||||
index af978eb..bbbfdcc 100644
|
||||
index b252c19..5b47778 100644
|
||||
--- a/locale/de.po
|
||||
+++ b/locale/de.po
|
||||
@@ -700,7 +700,7 @@ msgid " --raw-mode n - mode for raw reading CD media (20 or 21)\n"
|
||||
@@ -704,7 +704,7 @@ msgid " --raw-mode n - mode for raw reading CD media (20 or 21)\n"
|
||||
msgstr " --raw-mode n - \"raw-modus\" zum Lesen von CD (20 or 21)\n"
|
||||
|
||||
#: dvdisaster.c:920
|
||||
#: dvdisaster.c:933
|
||||
-msgid " --read-attempts n-m - attempts n upto m reads of a defective sector\n"
|
||||
+msgid " --read-attempts n-m - attempts n up to m reads of a defective sector\n"
|
||||
msgstr " --read-attempts n-m - versucht beschädigten Sektor n bis m-mal zu lesen\n"
|
||||
|
||||
#: dvdisaster.c:921
|
||||
@@ -2057,7 +2057,7 @@ msgstr "Höchstens %d Leseversuche pro Sektor"
|
||||
#: dvdisaster.c:934
|
||||
@@ -2073,7 +2073,7 @@ msgstr "Höchstens %d Leseversuche pro Sektor"
|
||||
msgid ""
|
||||
"<b>Maximum number of reading attempts</b>\n"
|
||||
"\n"
|
||||
@@ -186,7 +186,7 @@ index af978eb..bbbfdcc 100644
|
||||
"\n"
|
||||
"The decision to do more attempts depends on the quality of data gathered so far, which in turn is influenced by the capabilities of your optical drive and the operating system. So depending on your configuration, you may or may not see dvdisaster using the maximum value."
|
||||
msgstr ""
|
||||
@@ -2129,7 +2129,7 @@ msgstr " mal lesen"
|
||||
@@ -2145,7 +2145,7 @@ msgstr " mal lesen"
|
||||
msgid ""
|
||||
"<b>Media read attempts</b> for the linear reading strategy\n"
|
||||
"\n"
|
||||
@@ -196,19 +196,19 @@ index af978eb..bbbfdcc 100644
|
||||
"Only the missing sectors will be tried in the additional reading passes."
|
||||
msgstr ""
|
||||
diff --git a/locale/it.po b/locale/it.po
|
||||
index 9f3a97b..a074339 100644
|
||||
index efd3d27..f6e9dfd 100644
|
||||
--- a/locale/it.po
|
||||
+++ b/locale/it.po
|
||||
@@ -625,7 +625,7 @@ msgid " --raw-mode n - mode for raw reading CD media (20 or 21)\n"
|
||||
@@ -629,7 +629,7 @@ msgid " --raw-mode n - mode for raw reading CD media (20 or 21)\n"
|
||||
msgstr ""
|
||||
|
||||
#: dvdisaster.c:920
|
||||
#: dvdisaster.c:933
|
||||
-msgid " --read-attempts n-m - attempts n upto m reads of a defective sector\n"
|
||||
+msgid " --read-attempts n-m - attempts n up to m reads of a defective sector\n"
|
||||
msgstr ""
|
||||
|
||||
#: dvdisaster.c:921
|
||||
@@ -1824,7 +1824,7 @@ msgstr ""
|
||||
#: dvdisaster.c:934
|
||||
@@ -1838,7 +1838,7 @@ msgstr ""
|
||||
msgid ""
|
||||
"<b>Maximum number of reading attempts</b>\n"
|
||||
"\n"
|
||||
@@ -217,7 +217,7 @@ index 9f3a97b..a074339 100644
|
||||
"\n"
|
||||
"The decision to do more attempts depends on the quality of data gathered so far, which in turn is influenced by the capabilities of your optical drive and the operating system. So depending on your configuration, you may or may not see dvdisaster using the maximum value."
|
||||
msgstr ""
|
||||
@@ -1883,7 +1883,7 @@ msgstr ""
|
||||
@@ -1897,7 +1897,7 @@ msgstr ""
|
||||
msgid ""
|
||||
"<b>Media read attempts</b> for the linear reading strategy\n"
|
||||
"\n"
|
||||
@@ -226,7 +226,7 @@ index 9f3a97b..a074339 100644
|
||||
"\n"
|
||||
"Only the missing sectors will be tried in the additional reading passes."
|
||||
msgstr ""
|
||||
@@ -6054,7 +6054,7 @@ msgstr ""
|
||||
@@ -6086,7 +6086,7 @@ msgstr ""
|
||||
#~ msgstr "Se potete verificate se la dimensione dell'immagine è corretta,\n"
|
||||
|
||||
#~ msgid ""
|
||||
@@ -236,19 +236,19 @@ index 9f3a97b..a074339 100644
|
||||
#~ msgstr ""
|
||||
#~ "Prego inviare l'intero output di dvdisaster fino a questa linea\n"
|
||||
diff --git a/locale/pt_BR.po b/locale/pt_BR.po
|
||||
index b557c84..573531b 100644
|
||||
index 21ea77b..86eda03 100644
|
||||
--- a/locale/pt_BR.po
|
||||
+++ b/locale/pt_BR.po
|
||||
@@ -641,7 +641,7 @@ msgid " --raw-mode n - mode for raw reading CD media (20 or 21)\n"
|
||||
@@ -645,7 +645,7 @@ msgid " --raw-mode n - mode for raw reading CD media (20 or 21)\n"
|
||||
msgstr " --raw-mode n - modo para leitura de mídia CD em modo raw (20 ou 21)\n"
|
||||
|
||||
#: dvdisaster.c:920
|
||||
#: dvdisaster.c:933
|
||||
-msgid " --read-attempts n-m - attempts n upto m reads of a defective sector\n"
|
||||
+msgid " --read-attempts n-m - attempts n up to m reads of a defective sector\n"
|
||||
msgstr " --read-attempts n-m - tenta de n a m leituras em um setor defeituoso\n"
|
||||
|
||||
#: dvdisaster.c:921
|
||||
@@ -1935,7 +1935,7 @@ msgstr "Máx. de %d tentativas de leitura por setor"
|
||||
#: dvdisaster.c:934
|
||||
@@ -1949,7 +1949,7 @@ msgstr "Máx. de %d tentativas de leitura por setor"
|
||||
msgid ""
|
||||
"<b>Maximum number of reading attempts</b>\n"
|
||||
"\n"
|
||||
@@ -257,7 +257,7 @@ index b557c84..573531b 100644
|
||||
"\n"
|
||||
"The decision to do more attempts depends on the quality of data gathered so far, which in turn is influenced by the capabilities of your optical drive and the operating system. So depending on your configuration, you may or may not see dvdisaster using the maximum value."
|
||||
msgstr ""
|
||||
@@ -2007,7 +2007,7 @@ msgstr " vezes"
|
||||
@@ -2021,7 +2021,7 @@ msgstr " vezes"
|
||||
msgid ""
|
||||
"<b>Media read attempts</b> for the linear reading strategy\n"
|
||||
"\n"
|
||||
@@ -266,7 +266,7 @@ index b557c84..573531b 100644
|
||||
"\n"
|
||||
"Only the missing sectors will be tried in the additional reading passes."
|
||||
msgstr ""
|
||||
@@ -6450,7 +6450,7 @@ msgstr "<i>Novidades dessa versão:</i>"
|
||||
@@ -6482,7 +6482,7 @@ msgstr "<i>Novidades dessa versão:</i>"
|
||||
#~ " --internal-rereads n - drive may attempt n rereads before reporting an error\n"
|
||||
#~ " --query-size n - query drive/udf/ecc for image size (default: ecc)\n"
|
||||
#~ " --raw-mode n - mode for raw reading CD media (20 or 21)\n"
|
||||
@@ -275,7 +275,7 @@ index b557c84..573531b 100644
|
||||
#~ " --read-medium n - read the whole medium up to n times\n"
|
||||
#~ " --read-raw - performs read in raw mode if possible\n"
|
||||
#~ " --speed-warning n - print warning if speed changes by more than n percent\n"
|
||||
@@ -6469,7 +6469,7 @@ msgstr "<i>Novidades dessa versão:</i>"
|
||||
@@ -6501,7 +6501,7 @@ msgstr "<i>Novidades dessa versão:</i>"
|
||||
#~ msgid ""
|
||||
#~ "<b>File splitting</b>\n"
|
||||
#~ "\n"
|
||||
@@ -285,19 +285,19 @@ index b557c84..573531b 100644
|
||||
#~ "<b>Separação de arquivos</b>\n"
|
||||
#~ "\n"
|
||||
diff --git a/locale/ru.po b/locale/ru.po
|
||||
index 34b1796..a9fc25c 100644
|
||||
index 767f906..7984c59 100644
|
||||
--- a/locale/ru.po
|
||||
+++ b/locale/ru.po
|
||||
@@ -640,7 +640,7 @@ msgid " --raw-mode n - mode for raw reading CD media (20 or 21)\n"
|
||||
@@ -644,7 +644,7 @@ msgid " --raw-mode n - mode for raw reading CD media (20 or 21)\n"
|
||||
msgstr " --raw-mode n - режим для низкоуровневого чтения CD-носителей (20 или 21)\n"
|
||||
|
||||
#: dvdisaster.c:920
|
||||
#: dvdisaster.c:933
|
||||
-msgid " --read-attempts n-m - attempts n upto m reads of a defective sector\n"
|
||||
+msgid " --read-attempts n-m - attempts n up to m reads of a defective sector\n"
|
||||
msgstr " --read-attempts n-m - делается от n до m попыток чтения поврежденного сектора\n"
|
||||
|
||||
#: dvdisaster.c:921
|
||||
@@ -1938,7 +1938,7 @@ msgstr "Макс. %d попыток чтения на сектор"
|
||||
#: dvdisaster.c:934
|
||||
@@ -1952,7 +1952,7 @@ msgstr "Макс. %d попыток чтения на сектор"
|
||||
msgid ""
|
||||
"<b>Maximum number of reading attempts</b>\n"
|
||||
"\n"
|
||||
@@ -306,7 +306,7 @@ index 34b1796..a9fc25c 100644
|
||||
"\n"
|
||||
"The decision to do more attempts depends on the quality of data gathered so far, which in turn is influenced by the capabilities of your optical drive and the operating system. So depending on your configuration, you may or may not see dvdisaster using the maximum value."
|
||||
msgstr ""
|
||||
@@ -2010,7 +2010,7 @@ msgstr " раз"
|
||||
@@ -2024,7 +2024,7 @@ msgstr " раз"
|
||||
msgid ""
|
||||
"<b>Media read attempts</b> for the linear reading strategy\n"
|
||||
"\n"
|
||||
@@ -315,7 +315,7 @@ index 34b1796..a9fc25c 100644
|
||||
"\n"
|
||||
"Only the missing sectors will be tried in the additional reading passes."
|
||||
msgstr ""
|
||||
@@ -6511,7 +6511,7 @@ msgstr "<i>Новое в этой версии:</i>"
|
||||
@@ -6543,7 +6543,7 @@ msgstr "<i>Новое в этой версии:</i>"
|
||||
#~ " --internal-rereads n - drive may attempt n rereads before reporting an error\n"
|
||||
#~ " --query-size n - query drive/udf/ecc for image size (default: ecc)\n"
|
||||
#~ " --raw-mode n - mode for raw reading CD media (20 or 21)\n"
|
||||
@@ -324,7 +324,7 @@ index 34b1796..a9fc25c 100644
|
||||
#~ " --read-medium n - read the whole medium up to n times\n"
|
||||
#~ " --read-raw - performs read in raw mode if possible\n"
|
||||
#~ " --speed-warning n - print warning if speed changes by more than n percent\n"
|
||||
@@ -6528,7 +6528,7 @@ msgstr "<i>Новое в этой версии:</i>"
|
||||
@@ -6560,7 +6560,7 @@ msgstr "<i>Новое в этой версии:</i>"
|
||||
#~ msgid ""
|
||||
#~ "<b>File splitting</b>\n"
|
||||
#~ "\n"
|
||||
@@ -333,7 +333,7 @@ index 34b1796..a9fc25c 100644
|
||||
#~ msgstr ""
|
||||
#~ "<b>Разбиение файлов</b>\n"
|
||||
#~ "\n"
|
||||
@@ -6574,7 +6574,7 @@ msgstr "<i>Новое в этой версии:</i>"
|
||||
@@ -6606,7 +6606,7 @@ msgstr "<i>Новое в этой версии:</i>"
|
||||
#~ " --internal-rereads n - drive may attempt n rereads before reporting an error\n"
|
||||
#~ " --query-size n - query drive/udf/ecc for image size (default: ecc)\n"
|
||||
#~ " --raw-mode n - mode for raw reading CD media (20 or 21)\n"
|
||||
@@ -343,19 +343,19 @@ index 34b1796..a9fc25c 100644
|
||||
#~ " --read-raw - performs read in raw mode if possible\n"
|
||||
#~ " --speed-warning n - print warning if speed changes by more than n percent\n"
|
||||
diff --git a/locale/sv.po b/locale/sv.po
|
||||
index f69035e..9f70808 100644
|
||||
index 548e2e5..c74a942 100644
|
||||
--- a/locale/sv.po
|
||||
+++ b/locale/sv.po
|
||||
@@ -626,7 +626,7 @@ msgid " --raw-mode n - mode for raw reading CD media (20 or 21)\n"
|
||||
@@ -630,7 +630,7 @@ msgid " --raw-mode n - mode for raw reading CD media (20 or 21)\n"
|
||||
msgstr ""
|
||||
|
||||
#: dvdisaster.c:920
|
||||
#: dvdisaster.c:933
|
||||
-msgid " --read-attempts n-m - attempts n upto m reads of a defective sector\n"
|
||||
+msgid " --read-attempts n-m - attempts n up to m reads of a defective sector\n"
|
||||
msgstr ""
|
||||
|
||||
#: dvdisaster.c:921
|
||||
@@ -1830,7 +1830,7 @@ msgstr ""
|
||||
#: dvdisaster.c:934
|
||||
@@ -1844,7 +1844,7 @@ msgstr ""
|
||||
msgid ""
|
||||
"<b>Maximum number of reading attempts</b>\n"
|
||||
"\n"
|
||||
@@ -364,7 +364,7 @@ index f69035e..9f70808 100644
|
||||
"\n"
|
||||
"The decision to do more attempts depends on the quality of data gathered so far, which in turn is influenced by the capabilities of your optical drive and the operating system. So depending on your configuration, you may or may not see dvdisaster using the maximum value."
|
||||
msgstr ""
|
||||
@@ -1889,7 +1889,7 @@ msgstr ""
|
||||
@@ -1903,7 +1903,7 @@ msgstr ""
|
||||
msgid ""
|
||||
"<b>Media read attempts</b> for the linear reading strategy\n"
|
||||
"\n"
|
||||
@@ -374,7 +374,7 @@ index f69035e..9f70808 100644
|
||||
"Only the missing sectors will be tried in the additional reading passes."
|
||||
msgstr ""
|
||||
diff --git a/preferences.c b/preferences.c
|
||||
index 4f1fe5c..f5ef889 100644
|
||||
index 70afa02..4899317 100644
|
||||
--- a/preferences.c
|
||||
+++ b/preferences.c
|
||||
@@ -2221,7 +2221,7 @@ void CreatePreferencesWindow(void)
|
||||
|
||||
@@ -14,7 +14,7 @@ This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
|
||||
2 files changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/locale/pt_BR.po b/locale/pt_BR.po
|
||||
index 573531b..04b33b5 100644
|
||||
index 86eda03..f3437f3 100644
|
||||
--- a/locale/pt_BR.po
|
||||
+++ b/locale/pt_BR.po
|
||||
@@ -11,7 +11,7 @@ msgstr ""
|
||||
@@ -27,7 +27,7 @@ index 573531b..04b33b5 100644
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
diff --git a/locale/ru.po b/locale/ru.po
|
||||
index a9fc25c..6cd3789 100644
|
||||
index 7984c59..1bc7324 100644
|
||||
--- a/locale/ru.po
|
||||
+++ b/locale/ru.po
|
||||
@@ -13,7 +13,7 @@ msgstr ""
|
||||
|
||||
113
debian/patches/14-make-builds-reproducible.patch
vendored
113
debian/patches/14-make-builds-reproducible.patch
vendored
@@ -7,15 +7,111 @@ Description: Make builds reproducible.
|
||||
so that we can make reproducible binaries.
|
||||
Author: Carlos Maddela <e7appew@gmail.com>
|
||||
Forwarded: not-needed
|
||||
Last-Update: 2016-12-19
|
||||
Last-Update: 2017-08-14
|
||||
---
|
||||
This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
|
||||
---
|
||||
scripts/time-stamper.bash | 6 +++---
|
||||
1 file changed, 3 insertions(+), 3 deletions(-)
|
||||
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..60fe91a 100755
|
||||
index fd28794..4ec3e60 100755
|
||||
--- a/scripts/time-stamper.bash
|
||||
+++ b/scripts/time-stamper.bash
|
||||
@@ -1,7 +1,7 @@
|
||||
@@ -23,9 +119,10 @@ index fd28794..60fe91a 100755
|
||||
|
||||
-build=$(grep BUILD $1 | cut -d\ -f3)
|
||||
-build=$((build+1))
|
||||
+# Use Debian changelog details to derive build number and date.
|
||||
+build=$(dpkg-parsechangelog -S Version | sed 's/.*-\([0-9]\+\).*/\1/')
|
||||
echo "#define BUILD $build" >$1
|
||||
-echo "#define BUILD $build" >$1
|
||||
-date=$(date +"%d.%m.%y (%A, %H:%M)")
|
||||
+date=$(date --date="$(dpkg-parsechangelog -S 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
|
||||
|
||||
2
debian/patches/15-show-new-pkg-tracker.patch
vendored
2
debian/patches/15-show-new-pkg-tracker.patch
vendored
@@ -14,7 +14,7 @@ This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/help-dialogs.c b/help-dialogs.c
|
||||
index eae04f2..c89c552 100644
|
||||
index 758ac19..47551f7 100644
|
||||
--- a/help-dialogs.c
|
||||
+++ b/help-dialogs.c
|
||||
@@ -750,7 +750,7 @@ void AboutDialog()
|
||||
|
||||
@@ -6,23 +6,20 @@ Description: Fix all warnings except for those related to deprecated API.
|
||||
Author: Carlos Maddela <e7appew@gmail.com>
|
||||
Bug-Debian: https://bugs.debian.org/748416
|
||||
Forwarded: no
|
||||
Last-Update: 2017-01-05
|
||||
Last-Update: 2017-12-21
|
||||
---
|
||||
This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
|
||||
---
|
||||
closure.c | 8 +++++---
|
||||
curve.c | 2 +-
|
||||
closure.c | 2 +-
|
||||
menubar.c | 2 +-
|
||||
rs01-create.c | 10 +++++-----
|
||||
rs01-verify.c | 2 +-
|
||||
rs03-create.c | 24 ++++++++++++------------
|
||||
rs03-fix.c | 8 ++++----
|
||||
scsi-layer.c | 4 ++++
|
||||
smart-lec.c | 10 +++++-----
|
||||
9 files changed, 38 insertions(+), 32 deletions(-)
|
||||
6 files changed, 27 insertions(+), 23 deletions(-)
|
||||
|
||||
diff --git a/closure.c b/closure.c
|
||||
index 7568cba..0e2f889 100644
|
||||
index d633d53..fa52f09 100644
|
||||
--- a/closure.c
|
||||
+++ b/closure.c
|
||||
@@ -196,7 +196,7 @@ void ReadDotfile()
|
||||
@@ -34,38 +31,8 @@ index 7568cba..0e2f889 100644
|
||||
if(!line[MAX_LINE_LEN-1]) /* line longer than buffer */
|
||||
while(!feof(dotfile) && fgetc(dotfile) != '\n')
|
||||
;
|
||||
@@ -225,12 +225,14 @@ void ReadDotfile()
|
||||
if(!strcmp(symbol, "last-image")) { g_free(Closure->imageName);
|
||||
if(!strcmp(value, "none"))
|
||||
Closure->imageName = g_strdup("");
|
||||
- else Closure->imageName = g_strdup(value); continue;
|
||||
+ else Closure->imageName = g_strdup(value);
|
||||
+ continue;
|
||||
}
|
||||
if(!strcmp(symbol, "last-ecc")) { g_free(Closure->eccName);
|
||||
if(!strcmp(value, "none"))
|
||||
Closure->eccName = g_strdup("");
|
||||
- else Closure->eccName = g_strdup(value); continue;
|
||||
+ else Closure->eccName = g_strdup(value);
|
||||
+ continue;
|
||||
}
|
||||
if(!strcmp(symbol, "adaptive-read")) { Closure->adaptiveRead = atoi(value); continue; }
|
||||
if(!strcmp(symbol, "auto-suffix")) { Closure->autoSuffix = atoi(value); continue; }
|
||||
diff --git a/curve.c b/curve.c
|
||||
index 668bc40..61b81a9 100644
|
||||
--- a/curve.c
|
||||
+++ b/curve.c
|
||||
@@ -123,7 +123,7 @@ int CurveLogY(Curve *curve, gdouble y) /* not really a log */
|
||||
hfact = (gdouble)(curve->bottomLY - curve->topLY);
|
||||
|
||||
if(y==1) return curve->bottomLY - ((log(2)/log(curve->logMaxY)) * hfact)/2;
|
||||
- return curve->bottomLY - (log(y)/log(curve->logMaxY)) * hfact;
|
||||
+ return curve->bottomLY - (log(y)/log(curve->logMaxY)) * hfact;
|
||||
}
|
||||
|
||||
/***
|
||||
diff --git a/menubar.c b/menubar.c
|
||||
index 8258cfd..12f1933 100644
|
||||
index 94d462b..ee24ebe 100644
|
||||
--- a/menubar.c
|
||||
+++ b/menubar.c
|
||||
@@ -414,7 +414,7 @@ void set_path(GtkWidget *entry, char *path)
|
||||
@@ -77,43 +44,8 @@ index 8258cfd..12f1933 100644
|
||||
strcat(buf,"/");
|
||||
|
||||
strcat(buf,path);
|
||||
diff --git a/rs01-create.c b/rs01-create.c
|
||||
index 5cad591..88c352a 100644
|
||||
--- a/rs01-create.c
|
||||
+++ b/rs01-create.c
|
||||
@@ -107,12 +107,12 @@ static void unlink_image(GtkWidget *label)
|
||||
_("\nImage file %s deleted.\n"), Closure->imageName);
|
||||
}
|
||||
else
|
||||
- { if(!Closure->guiMode)
|
||||
- PrintLog("\n");
|
||||
+ { if(!Closure->guiMode)
|
||||
+ PrintLog("\n");
|
||||
|
||||
- ModalWarning(GTK_MESSAGE_ERROR, GTK_BUTTONS_OK, NULL,
|
||||
- _("Image file %s not deleted: %s\n"),
|
||||
- Closure->imageName, strerror(errno));
|
||||
+ ModalWarning(GTK_MESSAGE_ERROR, GTK_BUTTONS_OK, NULL,
|
||||
+ _("Image file %s not deleted: %s\n"),
|
||||
+ Closure->imageName, strerror(errno));
|
||||
}
|
||||
}
|
||||
|
||||
diff --git a/rs01-verify.c b/rs01-verify.c
|
||||
index 3315659..431a6d0 100644
|
||||
--- a/rs01-verify.c
|
||||
+++ b/rs01-verify.c
|
||||
@@ -830,7 +830,7 @@ process_ecc:
|
||||
{ if(!Closure->guiMode)
|
||||
PrintProgress(_("- ecc md5sum : %3d%%"),percent);
|
||||
else SetLabelText(GTK_LABEL(wl->cmpEccMd5Sum), "%3d%%", percent);
|
||||
- last_percent = percent;
|
||||
+ last_percent = percent;
|
||||
}
|
||||
|
||||
if(Closure->stopActions)
|
||||
diff --git a/rs03-create.c b/rs03-create.c
|
||||
index 40066d2..b2c6033 100644
|
||||
index 71460ef..9c7265d 100644
|
||||
--- a/rs03-create.c
|
||||
+++ b/rs03-create.c
|
||||
@@ -31,9 +31,9 @@
|
||||
@@ -128,7 +60,7 @@ index 40066d2..b2c6033 100644
|
||||
#endif
|
||||
|
||||
#ifdef HAVE_MMAP
|
||||
@@ -688,7 +688,7 @@ static void flush_crc(ecc_closure *ec, LargeFile *file_out)
|
||||
@@ -714,7 +714,7 @@ static void flush_crc(ecc_closure *ec, LargeFile *file_out)
|
||||
|
||||
/* Write out the CRC layer */
|
||||
|
||||
@@ -137,7 +69,7 @@ index 40066d2..b2c6033 100644
|
||||
crc_sect = 2048*(ec->encoderChunk+lay->firstCrcPos);
|
||||
if(!LargeSeek(file_out, crc_sect))
|
||||
{ ec->abortImmediately = TRUE;
|
||||
@@ -709,7 +709,7 @@ static void flush_parity(ecc_closure *ec, LargeFile *file_out)
|
||||
@@ -735,7 +735,7 @@ static void flush_parity(ecc_closure *ec, LargeFile *file_out)
|
||||
|
||||
/* Write out the created parity. */
|
||||
|
||||
@@ -146,7 +78,7 @@ index 40066d2..b2c6033 100644
|
||||
for(k=0; k<lay->nroots; k++)
|
||||
{ gint64 idx=0;
|
||||
|
||||
@@ -726,7 +726,7 @@ static void flush_parity(ecc_closure *ec, LargeFile *file_out)
|
||||
@@ -752,7 +752,7 @@ static void flush_parity(ecc_closure *ec, LargeFile *file_out)
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -155,7 +87,7 @@ index 40066d2..b2c6033 100644
|
||||
}
|
||||
|
||||
static gpointer io_thread(ecc_closure *ec)
|
||||
@@ -741,7 +741,7 @@ static gpointer io_thread(ecc_closure *ec)
|
||||
@@ -767,7 +767,7 @@ static gpointer io_thread(ecc_closure *ec)
|
||||
int parity_available = 0;
|
||||
int i;
|
||||
|
||||
@@ -164,7 +96,7 @@ index 40066d2..b2c6033 100644
|
||||
|
||||
/*** Allocate local parity buffer aligned at 128bit boundary */
|
||||
|
||||
@@ -809,7 +809,7 @@ static gpointer io_thread(ecc_closure *ec)
|
||||
@@ -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;
|
||||
@@ -173,7 +105,7 @@ index 40066d2..b2c6033 100644
|
||||
continue;
|
||||
}
|
||||
|
||||
@@ -856,7 +856,7 @@ static gpointer io_thread(ecc_closure *ec)
|
||||
@@ -882,7 +882,7 @@ static gpointer io_thread(ecc_closure *ec)
|
||||
g_mutex_lock(ec->lock);
|
||||
cpu_bound = ec->buffersToEncode;
|
||||
while(ec->buffersToEncode)
|
||||
@@ -182,7 +114,7 @@ index 40066d2..b2c6033 100644
|
||||
g_cond_wait(ec->ioCond, ec->lock);
|
||||
}
|
||||
g_mutex_unlock(ec->lock);
|
||||
@@ -898,7 +898,7 @@ static gpointer io_thread(ecc_closure *ec)
|
||||
@@ -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)
|
||||
@@ -191,7 +123,7 @@ index 40066d2..b2c6033 100644
|
||||
g_cond_wait(ec->ioCond, ec->lock);
|
||||
}
|
||||
g_mutex_unlock(ec->lock);
|
||||
@@ -911,7 +911,7 @@ static gpointer io_thread(ecc_closure *ec)
|
||||
@@ -937,7 +937,7 @@ static gpointer io_thread(ecc_closure *ec)
|
||||
flush_crc(ec, file_out);
|
||||
flush_parity(ec, file_out);
|
||||
|
||||
@@ -200,7 +132,7 @@ index 40066d2..b2c6033 100644
|
||||
return NULL;
|
||||
}
|
||||
|
||||
@@ -1098,7 +1098,7 @@ static gpointer encoder_thread(ecc_closure *ec)
|
||||
@@ -1123,7 +1123,7 @@ static gpointer encoder_thread(ecc_closure *ec)
|
||||
ec->buffersToEncode-=enc_size;
|
||||
if(!ec->buffersToEncode)
|
||||
{ g_cond_broadcast(ec->ioCond);
|
||||
@@ -209,7 +141,7 @@ index 40066d2..b2c6033 100644
|
||||
fflush(stdout);
|
||||
}
|
||||
g_mutex_unlock(ec->lock);
|
||||
@@ -1198,7 +1198,7 @@ static void create_reed_solomon(ecc_closure *ec)
|
||||
@@ -1223,7 +1223,7 @@ static void create_reed_solomon(ecc_closure *ec)
|
||||
verbose("SCHED: joined with worker %d\n", i);
|
||||
fflush(stdout);
|
||||
}
|
||||
@@ -219,7 +151,7 @@ index 40066d2..b2c6033 100644
|
||||
|
||||
/***
|
||||
diff --git a/rs03-fix.c b/rs03-fix.c
|
||||
index 0a7a1d3..e162e5e 100644
|
||||
index 7afb6d6..19b9322 100644
|
||||
--- a/rs03-fix.c
|
||||
+++ b/rs03-fix.c
|
||||
@@ -829,10 +829,10 @@ void RS03Fix(Image *image)
|
||||
@@ -238,7 +170,7 @@ index 0a7a1d3..e162e5e 100644
|
||||
n = LargeWrite(image->eccFile, cache_offset+fc->imgBlock[i], 2048);
|
||||
if(n != 2048)
|
||||
diff --git a/scsi-layer.c b/scsi-layer.c
|
||||
index 64a3dba..3be21ff 100644
|
||||
index b3a9d0e..f8d2112 100644
|
||||
--- a/scsi-layer.c
|
||||
+++ b/scsi-layer.c
|
||||
@@ -31,7 +31,9 @@
|
||||
@@ -268,7 +200,7 @@ index 64a3dba..3be21ff 100644
|
||||
/*
|
||||
* See whether a sector lies within the user area.
|
||||
diff --git a/smart-lec.c b/smart-lec.c
|
||||
index 8da74ff..0355879 100644
|
||||
index 02b9c49..944b70d 100644
|
||||
--- a/smart-lec.c
|
||||
+++ b/smart-lec.c
|
||||
@@ -27,9 +27,9 @@
|
||||
|
||||
@@ -5,7 +5,7 @@ Subject: Update copyright notice in about dialog.
|
||||
Description: Update copyright notice in about dialog.
|
||||
Author: Carlos Maddela <e7appew@gmail.com>
|
||||
Forwarded: not-needed
|
||||
Last-Update: 2017-01-05
|
||||
Last-Update: 2017-12-21
|
||||
---
|
||||
This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
|
||||
---
|
||||
@@ -13,7 +13,7 @@ This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
|
||||
1 file changed, 3 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/help-dialogs.c b/help-dialogs.c
|
||||
index c89c552..0f4e3b2 100644
|
||||
index 47551f7..3f94920 100644
|
||||
--- a/help-dialogs.c
|
||||
+++ b/help-dialogs.c
|
||||
@@ -723,8 +723,9 @@ void AboutDialog()
|
||||
@@ -21,10 +21,10 @@ index c89c552..0f4e3b2 100644
|
||||
|
||||
#ifdef MODIFIED_SOURCE
|
||||
- AboutTextWithLink(vbox,
|
||||
- _("Modified version Copyright 2015 (please fill in - [directions])\n"
|
||||
- _("Modified version Copyright 2017 (please fill in - [directions])\n"
|
||||
+ AboutTextWithLink(vbox,
|
||||
+ _("[Modified version]\n"
|
||||
+ "Copyright 2005-2016 Debian Optical Media Tools Team\n"
|
||||
"Copyright 2004-2015 Carsten Gnoerlich"),
|
||||
+ "Copyright 2005-2017 Debian Optical Media Tools Team\n"
|
||||
"Copyright 2004-2017 Carsten Gnoerlich"),
|
||||
"MODIFYING");
|
||||
#else
|
||||
|
||||
@@ -13,7 +13,7 @@ This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
|
||||
1 file changed, 18 insertions(+)
|
||||
|
||||
diff --git a/help-dialogs.c b/help-dialogs.c
|
||||
index 0f4e3b2..6214429 100644
|
||||
index 3f94920..d893d33 100644
|
||||
--- a/help-dialogs.c
|
||||
+++ b/help-dialogs.c
|
||||
@@ -423,6 +423,24 @@ char *find_file(char *file, size_t *size, char *lang)
|
||||
|
||||
@@ -16,7 +16,7 @@ This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
|
||||
1 file changed, 3 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/menubar.c b/menubar.c
|
||||
index 12f1933..15ce4ad 100644
|
||||
index ee24ebe..4a9f470 100644
|
||||
--- a/menubar.c
|
||||
+++ b/menubar.c
|
||||
@@ -126,21 +126,21 @@ static void menu_cb(GtkWidget *widget, gpointer data)
|
||||
|
||||
2
debian/patches/22-fix-hurd-i386-ftbfs.patch
vendored
2
debian/patches/22-fix-hurd-i386-ftbfs.patch
vendored
@@ -15,7 +15,7 @@ This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
|
||||
1 file changed, 4 insertions(+)
|
||||
|
||||
diff --git a/menubar.c b/menubar.c
|
||||
index 15ce4ad..df4203c 100644
|
||||
index 4a9f470..8330edb 100644
|
||||
--- a/menubar.c
|
||||
+++ b/menubar.c
|
||||
@@ -24,6 +24,10 @@
|
||||
|
||||
2
debian/patches/23-add-bdrom-support.patch
vendored
2
debian/patches/23-add-bdrom-support.patch
vendored
@@ -18,7 +18,7 @@ This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/scsi-layer.c b/scsi-layer.c
|
||||
index 3be21ff..b70a4a4 100644
|
||||
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)
|
||||
|
||||
2
debian/patches/24-show-gpl3-license.patch
vendored
2
debian/patches/24-show-gpl3-license.patch
vendored
@@ -13,7 +13,7 @@ This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/help-dialogs.c b/help-dialogs.c
|
||||
index 6214429..5065e76 100644
|
||||
index d893d33..75a615e 100644
|
||||
--- a/help-dialogs.c
|
||||
+++ b/help-dialogs.c
|
||||
@@ -403,7 +403,7 @@ void ShowGPL()
|
||||
|
||||
@@ -16,7 +16,7 @@ This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
|
||||
2 files changed, 4 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/show-manual.c b/show-manual.c
|
||||
index d53c9a5..ecb0922 100644
|
||||
index c25342b..4abbe97 100644
|
||||
--- a/show-manual.c
|
||||
+++ b/show-manual.c
|
||||
@@ -287,8 +287,8 @@ void ShowPDF(char *target)
|
||||
@@ -31,10 +31,10 @@ index d53c9a5..ecb0922 100644
|
||||
else
|
||||
if(*target != '/') bi->path = g_strdup_printf("%s/%s",Closure->docDir, target);
|
||||
diff --git a/welcome-window.c b/welcome-window.c
|
||||
index 1046bc8..3261b7c 100644
|
||||
index d30ebd9..63ac3df 100644
|
||||
--- a/welcome-window.c
|
||||
+++ b/welcome-window.c
|
||||
@@ -138,8 +138,8 @@ void CreateWelcomePage(GtkNotebook *notebook)
|
||||
@@ -139,8 +139,8 @@ void CreateWelcomePage(GtkNotebook *notebook)
|
||||
AboutText(box, _("\ndvdisaster creates error correction data to protect\n"
|
||||
"optical media (CD,DVD,BD) against data loss.\n"));
|
||||
|
||||
|
||||
@@ -17,10 +17,10 @@ This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
|
||||
create mode 100644 show-html.c
|
||||
|
||||
diff --git a/closure.c b/closure.c
|
||||
index 0e2f889..632c103 100644
|
||||
index fa52f09..24c1e8c 100644
|
||||
--- a/closure.c
|
||||
+++ b/closure.c
|
||||
@@ -467,6 +467,7 @@ void InitClosure()
|
||||
@@ -474,6 +474,7 @@ void InitClosure()
|
||||
Closure->deviceNames = g_ptr_array_new();
|
||||
Closure->deviceNodes = g_ptr_array_new();
|
||||
Closure->viewer = g_strdup("xdg-open");
|
||||
@@ -28,7 +28,7 @@ index 0e2f889..632c103 100644
|
||||
Closure->methodList = g_ptr_array_new();
|
||||
Closure->methodName = g_strdup("RS01");
|
||||
Closure->dDumpDir = g_strdup(Closure->homeDir);
|
||||
@@ -598,6 +599,7 @@ void FreeClosure()
|
||||
@@ -589,6 +590,7 @@ void FreeClosure()
|
||||
cond_free(Closure->binDir);
|
||||
cond_free(Closure->docDir);
|
||||
cond_free(Closure->viewer);
|
||||
@@ -37,10 +37,10 @@ index 0e2f889..632c103 100644
|
||||
cond_free(Closure->simulateCD);
|
||||
cond_free(Closure->dDumpDir);
|
||||
diff --git a/dvdisaster.h b/dvdisaster.h
|
||||
index db2031e..22eab5a 100644
|
||||
index 9acd094..f536040 100644
|
||||
--- a/dvdisaster.h
|
||||
+++ b/dvdisaster.h
|
||||
@@ -213,6 +213,7 @@ typedef struct _GlobalClosure
|
||||
@@ -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 */
|
||||
@@ -48,21 +48,21 @@ index db2031e..22eab5a 100644
|
||||
|
||||
GMutex progressLock; /* A mutex protected the stuff below */
|
||||
char bs[256]; /* A string of 255 backspace characters */
|
||||
@@ -1299,6 +1300,12 @@ int ProbeAltiVec(void);
|
||||
@@ -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 5065e76..3874463 100644
|
||||
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)
|
||||
|
||||
@@ -1,26 +1,29 @@
|
||||
From: Carlos Maddela <e7appew@gmail.com>
|
||||
Date: Thu, 5 Jan 2017 19:14:35 +1100
|
||||
Subject: Generate the same PDF document IDs for build reproducibility.
|
||||
Subject: Apply pdftex workarounds for build reproducibility.
|
||||
|
||||
Description: Generate the same PDF IDs for build reproducibility.
|
||||
Description: Apply pdftex workarounds for build reproducibility.
|
||||
* Generate the same PDF IDs.
|
||||
* Suppress additional metadata for included images.
|
||||
Author: Carlos Maddela <e7appew@gmail.com>
|
||||
Forwarded: not-needed
|
||||
Last-Update: 2016-12-21
|
||||
Last-Update: 2017-08-15
|
||||
---
|
||||
This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
|
||||
---
|
||||
documentation/user-manual/manual.tex | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
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 60fb51e..aaab4fa 100644
|
||||
index 3024f3a..d943232 100644
|
||||
--- a/documentation/user-manual/manual.tex
|
||||
+++ b/documentation/user-manual/manual.tex
|
||||
@@ -65,6 +65,7 @@
|
||||
@@ -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}
|
||||
40
debian/patches/29-fix-more-typos.patch
vendored
40
debian/patches/29-fix-more-typos.patch
vendored
@@ -9,7 +9,7 @@ Description: Fix more typos in error messages and docs.
|
||||
'sucessful' → 'successful'
|
||||
'improvment' → 'improvement'
|
||||
Author: Carlos Maddela <e7appew@gmail.com>
|
||||
Last-Update: 2017-08-06
|
||||
Last-Update: 2017-12-21
|
||||
---
|
||||
This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
|
||||
---
|
||||
@@ -40,10 +40,10 @@ index 51ff827..80fe9d3 100644
|
||||
\bigskip
|
||||
|
||||
diff --git a/locale/cs.po b/locale/cs.po
|
||||
index ed1fc65..9010d21 100644
|
||||
index 453ec07..d89ff4a 100644
|
||||
--- a/locale/cs.po
|
||||
+++ b/locale/cs.po
|
||||
@@ -1903,7 +1903,7 @@ msgid "Media ejection"
|
||||
@@ -1917,7 +1917,7 @@ msgid "Media ejection"
|
||||
msgstr "Vysunutí disku"
|
||||
|
||||
#: preferences.c:2064 preferences.c:2065
|
||||
@@ -53,10 +53,10 @@ index ed1fc65..9010d21 100644
|
||||
|
||||
#: preferences.c:2091
|
||||
diff --git a/locale/de.po b/locale/de.po
|
||||
index bbbfdcc..bb5baa6 100644
|
||||
index 5b47778..8112b13 100644
|
||||
--- a/locale/de.po
|
||||
+++ b/locale/de.po
|
||||
@@ -1959,7 +1959,7 @@ msgid "Media ejection"
|
||||
@@ -1975,7 +1975,7 @@ msgid "Media ejection"
|
||||
msgstr "Datenträger auswerfen"
|
||||
|
||||
#: preferences.c:2064 preferences.c:2065
|
||||
@@ -66,10 +66,10 @@ index bbbfdcc..bb5baa6 100644
|
||||
|
||||
#: preferences.c:2091
|
||||
diff --git a/locale/it.po b/locale/it.po
|
||||
index a074339..000d5c3 100644
|
||||
index f6e9dfd..b98f8d3 100644
|
||||
--- a/locale/it.po
|
||||
+++ b/locale/it.po
|
||||
@@ -1749,7 +1749,7 @@ msgid "Media ejection"
|
||||
@@ -1763,7 +1763,7 @@ msgid "Media ejection"
|
||||
msgstr ""
|
||||
|
||||
#: preferences.c:2064 preferences.c:2065
|
||||
@@ -79,10 +79,10 @@ index a074339..000d5c3 100644
|
||||
|
||||
#: preferences.c:2091
|
||||
diff --git a/locale/pt_BR.po b/locale/pt_BR.po
|
||||
index 04b33b5..00bcaee 100644
|
||||
index f7f6af0..81ee14d 100644
|
||||
--- a/locale/pt_BR.po
|
||||
+++ b/locale/pt_BR.po
|
||||
@@ -1839,7 +1839,7 @@ msgid "Media ejection"
|
||||
@@ -1853,7 +1853,7 @@ msgid "Media ejection"
|
||||
msgstr "Ejeção da mídia"
|
||||
|
||||
#: preferences.c:2064 preferences.c:2065
|
||||
@@ -92,10 +92,10 @@ index 04b33b5..00bcaee 100644
|
||||
|
||||
#: preferences.c:2091
|
||||
diff --git a/locale/ru.po b/locale/ru.po
|
||||
index 6cd3789..1c677d4 100644
|
||||
index 9625a1f..6e980b9 100644
|
||||
--- a/locale/ru.po
|
||||
+++ b/locale/ru.po
|
||||
@@ -1841,7 +1841,7 @@ msgid "Media ejection"
|
||||
@@ -1855,7 +1855,7 @@ msgid "Media ejection"
|
||||
msgstr "Извлечь носитель"
|
||||
|
||||
#: preferences.c:2064 preferences.c:2065
|
||||
@@ -105,10 +105,10 @@ index 6cd3789..1c677d4 100644
|
||||
|
||||
#: preferences.c:2091
|
||||
diff --git a/locale/sv.po b/locale/sv.po
|
||||
index 9f70808..5cd4927 100644
|
||||
index c74a942..3011969 100644
|
||||
--- a/locale/sv.po
|
||||
+++ b/locale/sv.po
|
||||
@@ -1755,7 +1755,7 @@ msgid "Media ejection"
|
||||
@@ -1769,7 +1769,7 @@ msgid "Media ejection"
|
||||
msgstr ""
|
||||
|
||||
#: preferences.c:2064 preferences.c:2065
|
||||
@@ -118,7 +118,7 @@ index 9f70808..5cd4927 100644
|
||||
|
||||
#: preferences.c:2091
|
||||
diff --git a/preferences.c b/preferences.c
|
||||
index f5ef889..5a24200 100644
|
||||
index 4899317..4309809 100644
|
||||
--- a/preferences.c
|
||||
+++ b/preferences.c
|
||||
@@ -2061,8 +2061,8 @@ void CreatePreferencesWindow(void)
|
||||
@@ -133,11 +133,11 @@ index f5ef889..5a24200 100644
|
||||
|
||||
for(i=0; i<2; i++)
|
||||
diff --git a/regtest/rs01.bash b/regtest/rs01.bash
|
||||
index 46bfac4..45f7611 100755
|
||||
index 3c03f61..cc11f6e 100755
|
||||
--- a/regtest/rs01.bash
|
||||
+++ b/regtest/rs01.bash
|
||||
@@ -1327,7 +1327,7 @@ if try "reading medium in 3 passes; 3rd pass recovers some" read_multipass_parti
|
||||
run_regtest read_multipass_partial_success "--read-medium=3 --spinup-delay=0 -r" $TMPISO $ISODIR/no.ecc
|
||||
@@ -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;
|
||||
@@ -146,10 +146,10 @@ index 46bfac4..45f7611 100755
|
||||
# since CRC caching is a bit complicated in this case.
|
||||
|
||||
diff --git a/scsi-layer.c b/scsi-layer.c
|
||||
index b70a4a4..515cc93 100644
|
||||
index 50f6c4c..22e825d 100644
|
||||
--- a/scsi-layer.c
|
||||
+++ b/scsi-layer.c
|
||||
@@ -2474,7 +2474,7 @@ int ReadSectors(DeviceHandle *dh, unsigned char *buf, gint64 s, int nsectors)
|
||||
@@ -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;
|
||||
|
||||
@@ -159,7 +159,7 @@ index b70a4a4..515cc93 100644
|
||||
|
||||
if(Closure->stopActions) /* user break */
|
||||
diff --git a/smart-lec.c b/smart-lec.c
|
||||
index 0355879..e33ad8f 100644
|
||||
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)
|
||||
|
||||
2
debian/patches/30-hurd-kfreebsd-ftbfs.patch
vendored
2
debian/patches/30-hurd-kfreebsd-ftbfs.patch
vendored
@@ -13,7 +13,7 @@ This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
|
||||
1 file changed, 11 insertions(+), 8 deletions(-)
|
||||
|
||||
diff --git a/rs03-create.c b/rs03-create.c
|
||||
index b2c6033..b14e326 100644
|
||||
index 9c7265d..678644c 100644
|
||||
--- a/rs03-create.c
|
||||
+++ b/rs03-create.c
|
||||
@@ -39,16 +39,19 @@
|
||||
|
||||
@@ -11,17 +11,16 @@ This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
|
||||
---
|
||||
cacheprobe.c | 16 +++++++++-------
|
||||
closure.c | 6 ++++--
|
||||
rs03-create.c | 2 +-
|
||||
scripts/bash-based-configure | 18 ++++++++++++++++++
|
||||
scsi-freebsd.c | 4 ++--
|
||||
scsi-layer.c | 10 ++++++----
|
||||
scsi-layer.h | 17 +++++++++--------
|
||||
scsi-unknown.c | 4 ++--
|
||||
show-html.c | 15 ++++++++++-----
|
||||
9 files changed, 61 insertions(+), 31 deletions(-)
|
||||
8 files changed, 60 insertions(+), 30 deletions(-)
|
||||
|
||||
diff --git a/cacheprobe.c b/cacheprobe.c
|
||||
index 60c55f9..f30f5d3 100644
|
||||
index 545c690..9f754dd 100644
|
||||
--- a/cacheprobe.c
|
||||
+++ b/cacheprobe.c
|
||||
@@ -22,7 +22,8 @@
|
||||
@@ -76,7 +75,7 @@ index 60c55f9..f30f5d3 100644
|
||||
|
||||
|
||||
diff --git a/closure.c b/closure.c
|
||||
index 632c103..7c8b3bd 100644
|
||||
index 24c1e8c..26ee13b 100644
|
||||
--- a/closure.c
|
||||
+++ b/closure.c
|
||||
@@ -50,7 +50,8 @@ static void get_base_dirs()
|
||||
@@ -89,7 +88,7 @@ index 632c103..7c8b3bd 100644
|
||||
if(DirStat(BINDIR))
|
||||
Closure->binDir = g_strdup(BINDIR);
|
||||
|
||||
@@ -425,7 +426,8 @@ void InitClosure()
|
||||
@@ -432,7 +433,8 @@ void InitClosure()
|
||||
|
||||
/* Generate a more comprehensive version string */
|
||||
|
||||
@@ -99,21 +98,8 @@ index 632c103..7c8b3bd 100644
|
||||
#ifdef HAVE_64BIT
|
||||
#define BITNESS_STRING " 64bit"
|
||||
#else
|
||||
diff --git a/rs03-create.c b/rs03-create.c
|
||||
index b14e326..7a22bae 100644
|
||||
--- a/rs03-create.c
|
||||
+++ b/rs03-create.c
|
||||
@@ -43,7 +43,7 @@
|
||||
|
||||
#define MMAP_FLAGS (MAP_SHARED | MAP_POPULATE | MAP_NORESERVE)
|
||||
|
||||
-#elif defined(SYS_FREEBSD)
|
||||
+#elif defined(SYS_FREEBSD) || defined(SYS_KFREEBSD)
|
||||
|
||||
#define MMAP_FLAGS (MAP_SHARED | MAP_PREFAULT_READ)
|
||||
|
||||
diff --git a/scripts/bash-based-configure b/scripts/bash-based-configure
|
||||
index d62f5d7..9abcf96 100644
|
||||
index f1a8bd1..487a50b 100644
|
||||
--- a/scripts/bash-based-configure
|
||||
+++ b/scripts/bash-based-configure
|
||||
@@ -136,6 +136,15 @@ case "$cfg_uname" in
|
||||
@@ -149,7 +135,7 @@ index d62f5d7..9abcf96 100644
|
||||
CFG_SYS_OPTIONS="-DSYS_UNKNOWN"
|
||||
CFG_SYS_NAME="-DSYS_NAME=\\\"Unknown\\\""
|
||||
diff --git a/scsi-freebsd.c b/scsi-freebsd.c
|
||||
index 78d0be4..793f206 100644
|
||||
index 0e3397a..bbfb913 100644
|
||||
--- a/scsi-freebsd.c
|
||||
+++ b/scsi-freebsd.c
|
||||
@@ -25,7 +25,7 @@
|
||||
@@ -168,7 +154,7 @@ index 78d0be4..793f206 100644
|
||||
-#endif /* SYS_FREEBSD */
|
||||
+#endif /* defined(SYS_FREEBSD) || defined(SYS_KFREEBSD) */
|
||||
diff --git a/scsi-layer.c b/scsi-layer.c
|
||||
index 515cc93..609cb73 100644
|
||||
index 22e825d..eaecc5c 100644
|
||||
--- a/scsi-layer.c
|
||||
+++ b/scsi-layer.c
|
||||
@@ -2005,12 +2005,13 @@ static gint64 query_size(Image *image)
|
||||
@@ -198,7 +184,7 @@ index 515cc93..609cb73 100644
|
||||
|
||||
/***
|
||||
diff --git a/scsi-layer.h b/scsi-layer.h
|
||||
index cc7d9fc..0706a22 100644
|
||||
index cb5c559..6169508 100644
|
||||
--- a/scsi-layer.h
|
||||
+++ b/scsi-layer.h
|
||||
@@ -28,7 +28,7 @@
|
||||
@@ -248,7 +234,7 @@ index cc7d9fc..0706a22 100644
|
||||
union ccb *ccb;
|
||||
#endif
|
||||
diff --git a/scsi-unknown.c b/scsi-unknown.c
|
||||
index e9183f6..ef54552 100644
|
||||
index f5f1072..7b2ccdb 100644
|
||||
--- a/scsi-unknown.c
|
||||
+++ b/scsi-unknown.c
|
||||
@@ -25,7 +25,7 @@
|
||||
|
||||
192
debian/patches/32-display-compilation-commands.patch
vendored
Normal file
192
debian/patches/32-display-compilation-commands.patch
vendored
Normal file
@@ -0,0 +1,192 @@
|
||||
From: Carlos Maddela <e7appew@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 <e7appew@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
|
||||
28
debian/patches/33-honour-LDFLAGS.patch
vendored
Normal file
28
debian/patches/33-honour-LDFLAGS.patch
vendored
Normal file
@@ -0,0 +1,28 @@
|
||||
From: Carlos Maddela <e7appew@gmail.com>
|
||||
Date: Thu, 21 Dec 2017 02:44:53 +1100
|
||||
Subject: Honour LDFLAGS set by dpkg-buildflags in building all binaries.
|
||||
|
||||
Description: Honour LDFLAGS set by dpkg-buildflags in building all binaries.
|
||||
Unpackaged simple-md5sum utility must do so as well, to keep blhc happy.
|
||||
Author: Carlos Maddela <e7appew@gmail.com>
|
||||
Forwarded: no
|
||||
Last-Update: 2017-12-21
|
||||
---
|
||||
This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
|
||||
---
|
||||
GNUmakefile.template | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/GNUmakefile.template b/GNUmakefile.template
|
||||
index ac1f597..4509c48 100644
|
||||
--- a/GNUmakefile.template
|
||||
+++ b/GNUmakefile.template
|
||||
@@ -138,7 +138,7 @@ 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 $(LDFLAGS) $(MUDFLAP_LFLAGS) $(MUDFLAP_LIBS) -o simple-md5sum
|
||||
|
||||
version.tex:
|
||||
@echo "\\newcommand{\\projectversion}{$(VERSION)}" >$(SRCDIR)/documentation/config/version.tex
|
||||
27
debian/patches/34-gcc8-format-security.patch
vendored
Normal file
27
debian/patches/34-gcc8-format-security.patch
vendored
Normal file
@@ -0,0 +1,27 @@
|
||||
From: Carlos Maddela <e7appew@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 <e7appew@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);
|
||||
108
debian/patches/35-archived-homepage.patch
vendored
Normal file
108
debian/patches/35-archived-homepage.patch
vendored
Normal file
@@ -0,0 +1,108 @@
|
||||
From: Carlos Maddela <e7appew@gmail.com>
|
||||
Date: Thu, 31 Jan 2019 05:31:03 +1100
|
||||
Subject: Change homepage to one archived at web.archive.org.
|
||||
|
||||
Description: Change homepage to one archived at web.archive.org.
|
||||
http://dvdisaster.net has been unavailable for a while now.
|
||||
Not certain if this is permanent though, as the domain name still
|
||||
exists for mail.
|
||||
Author: Carlos Maddela <e7appew@gmail.com>
|
||||
Forwarded: not-needed
|
||||
Last-Update: 2019-01-31
|
||||
---
|
||||
This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
|
||||
---
|
||||
documentation/codec-specs/rs01.tex | 2 +-
|
||||
documentation/codec-specs/rs02.tex | 2 +-
|
||||
documentation/upstream-site/de/impressum.html | 2 +-
|
||||
documentation/upstream-site/en/imprint.html | 2 +-
|
||||
documentation/user-manual/background.tex | 2 +-
|
||||
documentation/user-manual/download.tex | 4 ++--
|
||||
6 files changed, 7 insertions(+), 7 deletions(-)
|
||||
|
||||
diff --git a/documentation/codec-specs/rs01.tex b/documentation/codec-specs/rs01.tex
|
||||
index a8c0d90..ca7f71f 100644
|
||||
--- a/documentation/codec-specs/rs01.tex
|
||||
+++ b/documentation/codec-specs/rs01.tex
|
||||
@@ -44,7 +44,7 @@ correction files must be protected with an image level
|
||||
error correction layer (by using RS01,RS02 or RS03 on the medium),
|
||||
since only image level error correction avoids meta
|
||||
data sectors to become a single point of failure. See the
|
||||
-discussion at \url{http://dvdisaster.net/en/qa32.html} for
|
||||
+discussion at \url{https://web.archive.org/web/20180428070843/http://dvdisaster.net/en/qa32.html} for
|
||||
more information on the advantages of image level data protection
|
||||
over file level approaches.
|
||||
|
||||
diff --git a/documentation/codec-specs/rs02.tex b/documentation/codec-specs/rs02.tex
|
||||
index fb88384..06e8126 100644
|
||||
--- a/documentation/codec-specs/rs02.tex
|
||||
+++ b/documentation/codec-specs/rs02.tex
|
||||
@@ -74,7 +74,7 @@ the parity data portion of the image might not be written to the medium.
|
||||
Most current writing programs do however measure the .iso image by examining
|
||||
its file size, and will transfer the parity data correctly. To be sure you
|
||||
should follow the steps described under ``Testing image compatibility''
|
||||
-at the dvdisaster site (\url{http://dvdisaster.net/en/howtos92.html}) once
|
||||
+at the dvdisaster site (\url{https://web.archive.org/web/20180428070843/http://dvdisaster.net/en/howtos92.html}) once
|
||||
before using each version of your optical media authoring software.
|
||||
|
||||
Like the other dvdisaster codecs, RS02 is based on a RS(255,k) Reed-Solomon code
|
||||
diff --git a/documentation/upstream-site/de/impressum.html b/documentation/upstream-site/de/impressum.html
|
||||
index 7c5ded3..d8bf4f8 100644
|
||||
--- a/documentation/upstream-site/de/impressum.html
|
||||
+++ b/documentation/upstream-site/de/impressum.html
|
||||
@@ -63,7 +63,7 @@ Carsten Gnörlich (Anschrift wie oben).
|
||||
Das Impressum gilt für die Internetpräsenz unter den Domänen<br>
|
||||
<a href="http://dvdisaster.com">dvdisaster.com</a>,
|
||||
<a href="http://dvdisaster.de">dvdisaster.de</a>,
|
||||
-<a href="http://dvdisaster.net">dvdisaster.net</a>,
|
||||
+<a href="https://web.archive.org/web/20180428070843/http://dvdisaster.net">dvdisaster.net</a>,
|
||||
<a href="http://dvdisaster.org">dvdisaster.org</a>.
|
||||
|
||||
<!-- Page footer -->
|
||||
diff --git a/documentation/upstream-site/en/imprint.html b/documentation/upstream-site/en/imprint.html
|
||||
index d99324b..43641f2 100644
|
||||
--- a/documentation/upstream-site/en/imprint.html
|
||||
+++ b/documentation/upstream-site/en/imprint.html
|
||||
@@ -63,7 +63,7 @@ Carsten Gnörlich (see above for address).
|
||||
This notice covers the web sites under the domains<br>
|
||||
<a href="http://dvdisaster.com">dvdisaster.com</a>,
|
||||
<a href="http://dvdisaster.de">dvdisaster.de</a>,
|
||||
-<a href="http://dvdisaster.net">dvdisaster.net</a>,
|
||||
+<a href="https://web.archive.org/web/20180428070843/http://dvdisaster.net">dvdisaster.net</a>,
|
||||
<a href="http://dvdisaster.org">dvdisaster.org</a>.<br>
|
||||
|
||||
<!-- Page footer -->
|
||||
diff --git a/documentation/user-manual/background.tex b/documentation/user-manual/background.tex
|
||||
index ba602ef..9aba84f 100644
|
||||
--- a/documentation/user-manual/background.tex
|
||||
+++ b/documentation/user-manual/background.tex
|
||||
@@ -272,7 +272,7 @@ media with augmented images may not play correctly on all units \\
|
||||
\end{tabular}
|
||||
|
||||
\paragraph{Further reading.} The specification for the dvdisaster codecs
|
||||
-has been specified in a separate document called \href{http://dvdisaster.net/downloads/codecs.pdf}{codecs.pdf}.
|
||||
+has been specified in a separate document called \href{https://web.archive.org/web/20180428070843/http://dvdisaster.net/downloads/codecs.pdf}{codecs.pdf}.
|
||||
Good knowledge in coding theory and programming is required.
|
||||
|
||||
\subsection{The linear reading strategy}
|
||||
diff --git a/documentation/user-manual/download.tex b/documentation/user-manual/download.tex
|
||||
index 79df7be..a91a44a 100644
|
||||
--- a/documentation/user-manual/download.tex
|
||||
+++ b/documentation/user-manual/download.tex
|
||||
@@ -15,7 +15,7 @@ the \href{http://www.gnu.org/licenses/gpl-3.0.txt}{GNU General Public License v3
|
||||
|
||||
\bigskip
|
||||
|
||||
-The dvdisaster developer site (\url{http://dvdisaster.net}) contains
|
||||
+The dvdisaster developer site (\url{https://web.archive.org/web/20180428070843/http://dvdisaster.net}) contains
|
||||
the latest source code releases for the FreeBSD, GNU/Linux and NetBSD
|
||||
operating systems. These are mostly aimed at maintainers of binary packages for
|
||||
the beforementioned platforms. As an end user you might find it more convenient
|
||||
@@ -133,6 +133,6 @@ We cannot accept them for various reasons.
|
||||
\smallskip
|
||||
|
||||
dvdisaster releases are always published with cryptographic signatures
|
||||
-and md5 checksums. See the \href{http://dvdisaster.net}{download site} for examples.
|
||||
+and md5 checksums. See the \href{https://web.archive.org/web/20180428070843/http://dvdisaster.net}{download site} for examples.
|
||||
Be very cautious if signatures and checksums are missing, invalid or not
|
||||
matching those published at the sites mentioned above.
|
||||
54
debian/patches/36-fix-parallelism.patch
vendored
Normal file
54
debian/patches/36-fix-parallelism.patch
vendored
Normal file
@@ -0,0 +1,54 @@
|
||||
From: Carlos Maddela <e7appew@gmail.com>
|
||||
Date: Fri, 1 Feb 2019 22:28:18 +1100
|
||||
Subject: Fix parallel build of locale strings.
|
||||
|
||||
Description: Fix parallel build of locale strings.
|
||||
Author: Carlos Maddela <e7appew@gmail.com>
|
||||
Forwarded: no
|
||||
Last-Update: 2019-02-01
|
||||
---
|
||||
This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
|
||||
---
|
||||
GNUmakefile.template | 1 +
|
||||
locale/create-makefile | 10 +++++++---
|
||||
2 files changed, 8 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/GNUmakefile.template b/GNUmakefile.template
|
||||
index 4509c48..3aae04e 100644
|
||||
--- a/GNUmakefile.template
|
||||
+++ b/GNUmakefile.template
|
||||
@@ -297,6 +297,7 @@ 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;
|
||||
+ $(MAKE) --no-print-directory -C $(SRCDIR)/locale clean;
|
||||
|
||||
BUILD=`grep BUILD $(SRCDIR)/build.h | cut -d ' ' -f 3`
|
||||
arch: archclean time-stamp
|
||||
diff --git a/locale/create-makefile b/locale/create-makefile
|
||||
index 5ed31ed..83a4abf 100644
|
||||
--- a/locale/create-makefile
|
||||
+++ b/locale/create-makefile
|
||||
@@ -30,15 +30,19 @@ locale: \$(LOCALEFILES)
|
||||
|
||||
# Create the locale files.
|
||||
|
||||
+messages.pot: \$(CFILES)
|
||||
+ @cd ..; xgettext --no-wrap -cTRANSLATORS: -o locale/messages.pot -k_ -k_utf \$(CFILES_NP)
|
||||
+
|
||||
+clean:
|
||||
+ rm -f messages.pot
|
||||
+
|
||||
EOF
|
||||
|
||||
for i in $prefixes; do
|
||||
cat >> Makefile <<EOF
|
||||
-$i.po: \$(CFILES)
|
||||
+$i.po: messages.pot
|
||||
@echo "Updating $i.po"
|
||||
- @cd ..; xgettext --no-wrap -cTRANSLATORS: -o locale/messages.pot -k_ -k_utf \$(CFILES_NP)
|
||||
@msgmerge -q -U --no-wrap --no-fuzzy-matching $i.po messages.pot
|
||||
- @rm -f messages.pot
|
||||
|
||||
$i/LC_MESSAGES/dvdisaster.mo: $i.po
|
||||
@echo "Updating $i.mo"
|
||||
137
debian/patches/37-suggest-dvdisaster-doc.patch
vendored
Normal file
137
debian/patches/37-suggest-dvdisaster-doc.patch
vendored
Normal file
@@ -0,0 +1,137 @@
|
||||
From: Carlos Maddela <e7appew@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 <e7appew@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;
|
||||
22
debian/patches/series
vendored
22
debian/patches/series
vendored
@@ -1,25 +1,9 @@
|
||||
02-encryption.patch
|
||||
03-dvdrom.patch
|
||||
05-help-dialog.patch
|
||||
08-fix-gnu-make-detection.patch
|
||||
10-use-non-size-specific-icon-and-add-keywords-to-desktop-file.patch
|
||||
11-no-cruft.patch
|
||||
12-fix-spelling-of-up-to.patch
|
||||
13-fix-missing-language-field-in-po-files.patch
|
||||
14-make-builds-reproducible.patch
|
||||
15-show-new-pkg-tracker.patch
|
||||
16-remove-auto-build-of-doco-from-install-rule.patch
|
||||
17-fix-all-but-deprecated-api-warnings.patch
|
||||
18-update-copyright-in-about-dialog.patch
|
||||
19-show-text-files-with-abs-path.patch
|
||||
20-display-changelog-credits-and-todo.patch
|
||||
22-fix-hurd-i386-ftbfs.patch
|
||||
23-add-bdrom-support.patch
|
||||
24-show-gpl3-license.patch
|
||||
25-fix-man-pages.patch
|
||||
26-fix-display-of-manual.pdf.patch
|
||||
27-allow-opening-in-browser-again.patch
|
||||
28-fudge-pdf-doc-ids.patch
|
||||
29-fix-more-typos.patch
|
||||
30-hurd-kfreebsd-ftbfs.patch
|
||||
31-improve-hurd-and-kfreebsd-support.patch
|
||||
32-display-compilation-commands.patch
|
||||
34-gcc8-format-security.patch
|
||||
37-suggest-dvdisaster-doc.patch
|
||||
|
||||
74
debian/rules
vendored
74
debian/rules
vendored
@@ -1,5 +1,7 @@
|
||||
#!/usr/bin/make -f
|
||||
|
||||
export DH_VERBOSE = 1
|
||||
|
||||
export DEB_BUILD_MAINT_OPTIONS = hardening=+all
|
||||
DPKG_EXPORT_BUILDFLAGS = 1
|
||||
include /usr/share/dpkg/buildflags.mk
|
||||
@@ -7,55 +9,67 @@ export DEB_CFLAGS_MAINT_APPEND = $(CPPFLAGS) -Wall -Wno-deprecated-declarations
|
||||
export DEB_LDFLAGS_MAINT_APPEND = -Wl,--as-needed
|
||||
|
||||
include /usr/share/dpkg/pkg-info.mk
|
||||
export DEB_VERSION
|
||||
export FORCE_SOURCE_DATE = 1
|
||||
|
||||
MUTABLE_FILES := build.h $(wildcard locale/*.po) \
|
||||
documentation/config/version.tex
|
||||
documentation/config/version.tex \
|
||||
documentation/user-manual/manual.pdf
|
||||
BACKUP_TAR_FILE := debian/backup.tar
|
||||
|
||||
BUILDROOT := $(CURDIR)/debian/tmp
|
||||
ICONS := $(wildcard contrib/dvdisaster*.png)
|
||||
ICON_SIZES := $(patsubst contrib/dvdisaster%.png,%,$(ICONS))
|
||||
|
||||
%:
|
||||
dh $@
|
||||
|
||||
override_dh_auto_configure:
|
||||
for f in $(MUTABLE_FILES); do \
|
||||
cp -an $$f $$f.orig; \
|
||||
done
|
||||
dh_auto_configure -- \
|
||||
--localedir=\$${prefix}/share/locale \
|
||||
--docdir=\$${prefix}share/doc \
|
||||
--docsubdir=dvdisaster-doc \
|
||||
--with-embedded-src-path=no
|
||||
override_dh_update_autotools_config:
|
||||
dh_update_autotools_config
|
||||
test -f $(BACKUP_TAR_FILE) || \
|
||||
tar cpf $(BACKUP_TAR_FILE) $(MUTABLE_FILES)
|
||||
|
||||
override_dh_clean:
|
||||
dh_clean -X.orig
|
||||
for f in $(MUTABLE_FILES); do \
|
||||
test ! -f $$f.orig || mv -f $$f.orig $$f; \
|
||||
done
|
||||
dh_clean
|
||||
test ! -f $(BACKUP_TAR_FILE) || \
|
||||
tar xpf $(BACKUP_TAR_FILE) && rm -f $(BACKUP_TAR_FILE)
|
||||
|
||||
override_dh_auto_configure:
|
||||
./configure \
|
||||
--prefix=/usr \
|
||||
--mandir=share/man \
|
||||
--localedir=share/locale \
|
||||
--docdir=share/doc \
|
||||
--docsubdir=dvdisaster \
|
||||
--with-embedded-src-path=no
|
||||
|
||||
override_dh_auto_build-arch:
|
||||
make all
|
||||
dh_auto_build -a -- all
|
||||
|
||||
# For the time being, we'll just package the upstream-generated
|
||||
# manual.pdf, since we can't build the PDF reproducibly ourselves.
|
||||
# The reason we can't is most probably due to the fact that the
|
||||
# LaTeX document embeds other PDF documents and PNG images.
|
||||
# Although we are able to reproduce the PDF's creation and mod
|
||||
# dates, as well as its PDF IDs, the stream elements representing
|
||||
# the embedded images are always what seem to differ each time we
|
||||
# try to generate the PDF.
|
||||
override_dh_auto_build-indep:
|
||||
# make manual
|
||||
true
|
||||
dh_auto_build -i \
|
||||
$(if $(findstring nodoc,$(DEB_BUILD_OPTIONS)),--no-act) \
|
||||
-- manual
|
||||
|
||||
override_dh_auto_install-arch:
|
||||
dh_auto_install -a -- BUILDROOT=$(CURDIR)/debian/tmp
|
||||
dh_auto_install -a -- BUILDROOT=$(BUILDROOT)
|
||||
set -e; \
|
||||
for S in $(ICON_SIZES); do \
|
||||
D="$(BUILDROOT)/usr/share/icons/hicolor/$${S}x$${S}/apps"; \
|
||||
install -d "$${D}"; \
|
||||
install -T "contrib/dvdisaster$${S}.png" "$${D}/dvdisaster.png"; \
|
||||
done
|
||||
|
||||
override_dh_auto_install-indep:
|
||||
true
|
||||
|
||||
# Ensure that none of the text files that the application
|
||||
# tries to display directly are not compressed, as it doesn't
|
||||
# tries to display directly are compressed, as it doesn't
|
||||
# automatically decompress text files.
|
||||
override_dh_compress:
|
||||
override_dh_compress-arch:
|
||||
dh_compress -p dvdisaster \
|
||||
-XCHANGELOG -XCREDITS -XREADME.MODIFYING -XTODO
|
||||
dh_compress --remaining-packages
|
||||
-Xchangelog -XCREDITS -XREADME.MODIFYING -XTODO
|
||||
gzip -9n debian/dvdisaster/usr/share/doc/dvdisaster/changelog.Debian
|
||||
|
||||
override_dh_installchangelogs-arch:
|
||||
dh_installchangelogs -p dvdisaster -k
|
||||
|
||||
1
debian/source/lintian-overrides
vendored
Normal file
1
debian/source/lintian-overrides
vendored
Normal file
@@ -0,0 +1 @@
|
||||
dvdisaster source: debian-watch-uses-insecure-uri http://dvdisaster.net/en/index.html
|
||||
4
debian/upstream/metadata
vendored
Normal file
4
debian/upstream/metadata
vendored
Normal file
@@ -0,0 +1,4 @@
|
||||
# https://wiki.debian.org/UpstreamMetadata
|
||||
Documentation: https://web.archive.org/web/20180428070843/http://dvdisaster.net/en/misc.html#manual
|
||||
Homepage: https://web.archive.org/web/20180428070843/http://dvdisaster.net/
|
||||
Security-Contact: Carsten Gnörlich <carsten@dvdisaster.org>
|
||||
2
debian/watch
vendored
2
debian/watch
vendored
@@ -1,4 +1,4 @@
|
||||
version=3
|
||||
opts="pgpsigurlmangle=s/$/.gpg/" \
|
||||
http://dvdisaster.net/en/index.html \
|
||||
https://web.archive.org/web/20180428070843/https://dvdisaster.net/en/index.html \
|
||||
(?:.*?/)?dvdisaster-(.*)\.tar\.bz2 debian uupdate
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
.PHONY : all codecs clean
|
||||
.PHONY : all clean
|
||||
|
||||
all: codecs
|
||||
all: codecs.pdf
|
||||
|
||||
clean:
|
||||
@rm -f *~ *.aux *.log *.bak *.out *.toc *.dvi *.ps
|
||||
@@ -8,7 +8,9 @@ clean:
|
||||
archclean: clean
|
||||
@rm -f *.pdf
|
||||
|
||||
codecs:
|
||||
# run latex twice to get the proper number of pages, fig numbers and index table
|
||||
codecs.pdf: *.tex *.fig *.eps
|
||||
latex codecs
|
||||
latex codecs
|
||||
dvips codecs.dvi
|
||||
ps2pdf codecs.ps
|
||||
|
||||
BIN
documentation/codec-specs/codecs.pdf
Normal file
BIN
documentation/codec-specs/codecs.pdf
Normal file
Binary file not shown.
@@ -10,6 +10,7 @@
|
||||
\usepackage{fancyhdr}
|
||||
\usepackage{listings}
|
||||
\usepackage{color}
|
||||
\usepackage{comment}
|
||||
|
||||
\marginsize{30mm}{20mm}{20mm}{20mm} % Seitenränder links, rechts, oben, unten
|
||||
\parindent0em % Keine amerikanische Einrückung am Anfang von Paragraphen
|
||||
@@ -34,12 +35,14 @@
|
||||
\fancyfoot[LO]{created: \today}
|
||||
\fancyfoot[RE]{\paperversion}
|
||||
|
||||
\input{../config/version.tex}
|
||||
|
||||
\begin{document}
|
||||
|
||||
\definecolor{lightblue}{RGB}{224,224,255}
|
||||
\pagecolor{lightblue}
|
||||
\title{The dvdisaster Reed-Solomon Codec specification}
|
||||
\author{Carsten Gnörlich\\carsten@dvdisaster.org}
|
||||
\author{The dvdisaster development team\\support@dvdisaster.org}
|
||||
\date{}
|
||||
\maketitle
|
||||
\thispagestyle{empty}
|
||||
@@ -58,7 +61,7 @@ Reed-Solomon codecs which are currently called RS01, RS02 and RS03.
|
||||
The codecs create Reed-Solomon parity data to protect data stored on optical media.
|
||||
Depending on the codec, parity data can either be stored in a separate file
|
||||
or be integrated with the .iso image on the same medium.
|
||||
See \url{http://dvdisaster.org} for additional resources on the dvdisaster project,
|
||||
See \homepage for additional resources on the dvdisaster pro\-ject,
|
||||
e.g. for the {\em orange manual} (manual.pdf) containing information for end users.
|
||||
\end{abstract}
|
||||
|
||||
@@ -68,7 +71,7 @@ e.g. for the {\em orange manual} (manual.pdf) containing information for end use
|
||||
dvdisaster developers and, when the final version has been crafted, as an implementation
|
||||
guide for third party developers who wish to create and process dvdisaster error correction data.
|
||||
It is {\bf neither intended nor suitable} as end-user documentation; for usage information
|
||||
please refer to the online documentation at \url{http://dvdisaster.org}.
|
||||
please refer to the online documentation at \homepage.
|
||||
|
||||
\bigskip
|
||||
|
||||
@@ -80,7 +83,8 @@ of programming in C is also assumed.
|
||||
\vfill
|
||||
\begin{center}
|
||||
{\em
|
||||
Copyright 2008-2015 Carsten Gnörlich.
|
||||
Copyright 2008-2015 Carsten Gnörlich.\\
|
||||
Copyright 2021 The dvdisaster development team.\\
|
||||
Verbatim copying and distribution of this entire article is permitted in any medium,
|
||||
provided this notice is preserved.}
|
||||
\end{center}
|
||||
|
||||
@@ -44,7 +44,7 @@ correction files must be protected with an image level
|
||||
error correction layer (by using RS01,RS02 or RS03 on the medium),
|
||||
since only image level error correction avoids meta
|
||||
data sectors to become a single point of failure. See the
|
||||
discussion at \url{http://dvdisaster.net/en/qa32.html} for
|
||||
discussion at \url{https://web.archive.org/web/20180428070843/http://dvdisaster.net/en/qa32.html} for
|
||||
more information on the advantages of image level data protection
|
||||
over file level approaches.
|
||||
|
||||
@@ -172,7 +172,7 @@ The $d_{i,j}$ denote the $i-th$ byte in the $j-th$ layer.
|
||||
In order to create the first ecc block, bytes $d_{1,1}$ to $d_{1,n}$ are taken from the
|
||||
$n$ layers. Then the RS(255,k) code is calculated (see appendix \ref{rs} for its parameters)
|
||||
and the
|
||||
resulting $k$ parity bytes $e_{1,1}$ upto $e_{k,1}$ are stored
|
||||
resulting $k$ parity bytes $e_{1,1}$ up to $e_{k,1}$ are stored
|
||||
in the ecc file. The resulting ecc block is marked grey in the
|
||||
figure. The next ecc blocks are calculated and stored accordingly.
|
||||
In total, the ecc section contains $k*ls$ bytes of parity information,
|
||||
|
||||
@@ -74,7 +74,7 @@ the parity data portion of the image might not be written to the medium.
|
||||
Most current writing programs do however measure the .iso image by examining
|
||||
its file size, and will transfer the parity data correctly. To be sure you
|
||||
should follow the steps described under ``Testing image compatibility''
|
||||
at the dvdisaster site (\url{http://dvdisaster.net/en/howtos92.html}) once
|
||||
at the dvdisaster site (\url{https://web.archive.org/web/20180428070843/http://dvdisaster.net/en/howtos92.html}) once
|
||||
before using each version of your optical media authoring software.
|
||||
|
||||
Like the other dvdisaster codecs, RS02 is based on a RS(255,k) Reed-Solomon code
|
||||
@@ -133,7 +133,7 @@ Its format is described in appendix \ref{eh}. For RS02, only the data fields
|
||||
marked with ``all'' or ``RS02'' are relevant; all other fields should be set to zero.
|
||||
|
||||
Data layer $n$ does also contain the CRC32 checksums of each data sector
|
||||
upto the ecc header. If the .iso image contains $s$ sectors,
|
||||
up to the ecc header. If the .iso image contains $s$ sectors,
|
||||
then the CRC field contains $4s$ bytes, rounded up
|
||||
to the nearest multiple of 2048.
|
||||
CRC32 checksums are calculated over a whole CD sector comprising 2048 bytes.
|
||||
@@ -251,6 +251,9 @@ and the expected size of the parity layers is:
|
||||
|
||||
\smallskip
|
||||
|
||||
% TODO: implement in codec
|
||||
\begin{comment}
|
||||
|
||||
From these values we iteratively compute a $2^p$ which has about 20-40 multiples
|
||||
in the {\em preliminary ecc size} address space. This value will be used
|
||||
for interleaving the ecc header copies with the ecc layers:
|
||||
@@ -263,6 +266,16 @@ p := 5
|
||||
while($\frac{preliminary\;ecc\;size}{2^p} > 40$)
|
||||
|
||||
\quad p := p + 1}
|
||||
\end{comment}
|
||||
|
||||
From these values we compute a $2^p$ which has about 20-40 multiples
|
||||
in the {\em preliminary ecc size} address space. This value will be used
|
||||
for interleaving the ecc header copies with the ecc layers:
|
||||
|
||||
\[ p = \left\lceil log_2\; \frac{preliminary\;ecc\;size}{40} \right\rceil \]
|
||||
|
||||
%\[ p = \left\lceil \frac{log\; \frac{preliminary\;ecc\;size}{40}}{log\; 2} \right\rceil \]
|
||||
|
||||
|
||||
\smallskip
|
||||
|
||||
|
||||
1
documentation/codecs.pdf
Symbolic link
1
documentation/codecs.pdf
Symbolic link
@@ -0,0 +1 @@
|
||||
codec-specs/codecs.pdf
|
||||
@@ -1 +0,0 @@
|
||||
\newcommand{\projectversion}{0.79.5}
|
||||
@@ -1,4 +1,4 @@
|
||||
.TH DVDISASTER 1 "2015-12-16" "0.79.5" "Schutz f\[:u]r optische Datentr\[:a]ger"
|
||||
.TH DVDISASTER 1 "2018-05-14" "0.79.7" "Schutz f\[:u]r optische Datentr\[:a]ger"
|
||||
|
||||
.SH NAME
|
||||
DVDISASTER \- Schutz f\[:u]r optische Datentr\[:a]ger gegen Datenverlust durch Alterung
|
||||
@@ -49,6 +49,7 @@ oder Kratzer
|
||||
.RB [\| \-\-internal-rereads
|
||||
.IR n \|]
|
||||
.RB [\| \-\-medium-info \|]
|
||||
.RB [\| \-\-no-progress \|]
|
||||
.RB [\| \-\-old-ds-marker \|]
|
||||
.RB [\| \-\-prefetch-sectors
|
||||
.IR n \|]
|
||||
@@ -59,12 +60,14 @@ oder Kratzer
|
||||
.RB [\| \-\-read-medium
|
||||
.IR n \|]
|
||||
.RB [\| \-\-read-raw \|]
|
||||
.RB [\| \-\-regtest \|]
|
||||
.RB [\| \-\-resource-file
|
||||
.IR n \|]
|
||||
.RB [\| \-\-speed-warning
|
||||
.IR n \|]
|
||||
.RB [\| \-\-spinup\-delay
|
||||
.IR n \|]
|
||||
.RB [\| \-\-version \|]
|
||||
|
||||
.SH BESCHREIBUNG
|
||||
.B DVDISASTER
|
||||
@@ -213,28 +216,31 @@ RS01-Fehlerkorrektur-Dateien unterst\[:u]tzen au\[ss]erdem:
|
||||
.RS
|
||||
RS02-Abbilder:
|
||||
.RS
|
||||
\-n CD\ \ \ erweitert Abbild auf CD-Gr\[:o]\[ss]e.
|
||||
\-n CD\ \ \ \ erweitert Abbild auf CD-Gr\[:o]\[ss]e.
|
||||
.RE
|
||||
.RS
|
||||
\-n DVD\ \ erweitert Abbild auf DVD-Gr\[:o]\[ss]e.
|
||||
\-n DVD\ \ \ erweitert Abbild auf DVD-Gr\[:o]\[ss]e.
|
||||
.RE
|
||||
.RS
|
||||
\-n DVD9 erweitert Abbild auf DVD9-Gr\[:o]\[ss]e.
|
||||
\-n DVD9\ erweitert Abbild auf DVD9-Gr\[:o]\[ss]e.
|
||||
.RE
|
||||
.RS
|
||||
\-n BD\ \ \ erweitert Abbild auf BD-Gr\[:o]\[ss]e.
|
||||
\-n BD\ \ \ \ erweitert Abbild auf BD-Gr\[:o]\[ss]e.
|
||||
.RE
|
||||
.RS
|
||||
\-n BD2\ erweitert Abbild auf zweilagige BD-Gr\[:o]\[ss]e.
|
||||
\-n BD2\ \ erweitert Abbild auf zweilagige BD-Gr\[:o]\[ss]e.
|
||||
.RE
|
||||
.RS
|
||||
\-n x\ \ \ \ erweitert Abbild auf ca. x Sektoren L\[:a]nge.
|
||||
\-n BDXL3 erweitert Abbild auf dreilagige BDXL-Gr\[:o]\[ss]e.
|
||||
.RE
|
||||
.RS
|
||||
\-n x%\ \ \ erweitert Abbild mit ca. x% Redundanz.
|
||||
\-n x\ \ \ \ \ erweitert Abbild auf ca. x Sektoren L\[:a]nge.
|
||||
.RE
|
||||
.RS
|
||||
\-n xr\ \ \ erweitert Abbild mit x Nullstellen Fehlerkorrektur-Daten.
|
||||
\-n x%\ \ \ \ erweitert Abbild mit ca. x% Redundanz.
|
||||
.RE
|
||||
.RS
|
||||
\-n xr\ \ \ \ erweitert Abbild mit x Nullstellen Fehlerkorrektur-Daten.
|
||||
.RE
|
||||
.RE
|
||||
|
||||
@@ -329,7 +335,7 @@ funktioniert am besten beim direkten Arbeiten mit Dateien im Arbeitsspeicher (z.
|
||||
.RE
|
||||
.TP
|
||||
.B \-\-fill-unreadable n
|
||||
f\[:u]lle unlesbare Sektoren mit Byte n.
|
||||
f\[:u]lle unlesbare Sektoren mit Byte n. Hilfreich um Abbilder zu verarbeiten, die von anderen Werkzeugen angelegt wurden. Beispielsweise f\[:u]llt ddrescue unlesbare Sektoren mit Null auf; dementsprechend w\[:a]re \-\-fill-unreadable=0 zu verwenden. Bitte dabei beachten: Sparse files k\[:o]nnen nicht mit dvdisaster verarbeitet werden.
|
||||
.TP
|
||||
.B \-\-ignore-fatal-sense
|
||||
Lesen nach m\[:o]glicherweise schwerwiegenden Fehlern fortsetzen.
|
||||
@@ -364,6 +370,9 @@ die Standardeinstellungen des Laufwerks zu verwenden.
|
||||
.B \-\-medium-info
|
||||
Gibt Informationen \[:u]ber den Datentr\[:a]ger im ausgew\[:a]hlten Laufwerk aus.
|
||||
.TP
|
||||
.B \-\-no-progress
|
||||
Unterdr\[:u]ckt die Fortschrittsanzeige in Prozent.
|
||||
.TP
|
||||
.B \-\-old-ds-marker
|
||||
Markiert fehlende Sektoren in einer Weise, die mit dvdisaster
|
||||
0.70 oder noch fr\[:u]heren Versionen kompatibel ist.
|
||||
@@ -403,6 +412,9 @@ liest den gesamten Datentr\[:a]ger bis zu n-mal.
|
||||
.B \-\-read-raw
|
||||
liest in der "raw"\-Betriebsart sofern m\[:o]glich.
|
||||
.TP
|
||||
.B \-\-regtest
|
||||
ver\[:a]ndert einige Ausgaben so da\[ss] sie von den Regressionstest-Skripten besser verarbeitet werden k\[:o]nnen.
|
||||
.TP
|
||||
.B \-\-resource-file n
|
||||
Gibt den Pfad zur Konfigurationsdatei an (Voreinstellung: $HOME/.dvdisaster)
|
||||
.TP
|
||||
@@ -411,6 +423,9 @@ warnt bei Geschwindigkeits\[:a]nderung um mehr als n Prozent.
|
||||
.TP
|
||||
.B \-\-spinup-delay n
|
||||
gibt dem Laufwerk n Sekunden Zeit zum Hochlaufen.
|
||||
.TP
|
||||
.B \-\-version
|
||||
gibt die Versionsnummer und einige Konfigurationseigenschaften aus
|
||||
.PP
|
||||
|
||||
.SH SIEHE AUCH
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
.TH DVDISASTER 1 "2015-12-16" "0.79.5" "protection for optical media"
|
||||
.TH DVDISASTER 1 "2018-05-14" "0.79.7" "protection for optical media"
|
||||
|
||||
.SH NAME
|
||||
DVDISASTER \- data loss/scratch/aging protection for optical media
|
||||
@@ -48,7 +48,9 @@ DVDISASTER \- data loss/scratch/aging protection for optical media
|
||||
.RB [\| \-\-internal-rereads
|
||||
.IR n \|]
|
||||
.RB [\| \-\-medium-info \|]
|
||||
.RB [\| \-\-no-progress \|]
|
||||
.RB [\| \-\-old-ds-marker \|]
|
||||
.RB [\| \-\-no-bdr-defect-management \|]
|
||||
.RB [\| \-\-prefetch-sectors
|
||||
.IR n \|]
|
||||
.RB [\| \-\-raw-mode
|
||||
@@ -58,12 +60,14 @@ DVDISASTER \- data loss/scratch/aging protection for optical media
|
||||
.RB [\| \-\-read-medium
|
||||
.IR n \|]
|
||||
.RB [\| \-\-read-raw \|]
|
||||
.RB [\| \-\-regtest \|]
|
||||
.RB [\| \-\-resource-file
|
||||
.IR n \|]
|
||||
.RB [\| \-\-speed-warning
|
||||
.IR n \|]
|
||||
.RB [\| \-\-spinup\-delay
|
||||
.IR n \|]
|
||||
.RB [\| \-\-version \|]
|
||||
|
||||
.SH DESCRIPTION
|
||||
.B DVDISASTER
|
||||
@@ -205,28 +209,46 @@ RS01 error correction flles additionally support:
|
||||
.RS
|
||||
RS02 images:
|
||||
.RS
|
||||
\-n CD\ \ \ augments image suitable for CD media.
|
||||
\-n CD\ \ \ \ augments image suitable for CD media.
|
||||
.RE
|
||||
.RS
|
||||
\-n DVD\ \ augments image suitable for DVD media.
|
||||
\-n DVD\ \ \ augments image suitable for DVD media.
|
||||
.RE
|
||||
.RS
|
||||
\-n DVD9 augments image suitable for DVD9 media.
|
||||
\-n DVD9\ augments image suitable for DVD9 media.
|
||||
.RE
|
||||
.RS
|
||||
\-n BD\ \ \ augments image suitable for BD media.
|
||||
\-n BD\ \ \ \ augments image suitable for BD media.
|
||||
.RE
|
||||
.RS
|
||||
\-n BD2\ augments image suitable for two layered BD media.
|
||||
\-n BD2\ \ augments image suitable for two layered BD media.
|
||||
.RE
|
||||
.RS
|
||||
\-n x\ \ \ \ augments image using approx. x sectors in total.
|
||||
\-n BDXL3 augments image suitable for three layered BDXL media.
|
||||
.RE
|
||||
.RS
|
||||
\-n x%\ \ \ augments image with approx. x% redundancy.
|
||||
\-n BDXL4 augments image suitable for quadruple layered BDXL media.
|
||||
.RE
|
||||
.RS
|
||||
\-n xr\ \ \ augments image with x roots error correction data.
|
||||
\-n BDNODM\ \ \ \ augments image suitable for BD media burnt without defect management.
|
||||
.RE
|
||||
.RS
|
||||
\-n BD2NODM\ \ augments image suitable for two layered BD media burnt without defect management.
|
||||
.RE
|
||||
.RS
|
||||
\-n BDXL3NODM augments image suitable for three layered BDXL media burnt without defect management.
|
||||
.RE
|
||||
.RS
|
||||
\-n BDXL4NODM augments image suitable for quadruple layered BDXL media burnt without defect management.
|
||||
.RE
|
||||
.RS
|
||||
\-n x\ \ \ \ \ augments image using approx. x sectors in total.
|
||||
.RE
|
||||
.RS
|
||||
\-n x%\ \ \ \ augments image with approx. x% redundancy.
|
||||
.RE
|
||||
.RS
|
||||
\-n xr\ \ \ \ augments image with x roots error correction data.
|
||||
.RE
|
||||
.RE
|
||||
|
||||
@@ -235,9 +257,22 @@ RS03 images:
|
||||
.RS
|
||||
Setting the redundancy is not possible due to constraints in the format.
|
||||
The codec will automatically choose the size of the smallest fitting medium.
|
||||
However, see --no-bdr-defect-management below.
|
||||
.RE
|
||||
.RE
|
||||
|
||||
.TP
|
||||
.B \-\-no-bdr-defect-management
|
||||
Enable bigger augmented images for BD-R (around +3%).
|
||||
If you know you will use a BD-R medium and want to maximize the free space
|
||||
for parity data, you can skip the defect management formatting before burning,
|
||||
at the expense of potential coasters. Specify this option to tell dvdisaster
|
||||
to produce bigger images that will only fit on BD-R media burnt without defect
|
||||
management. Some burning softwares call it "formatting" the BD-R before burning.
|
||||
Note that should you need to repair such an augmented image, you'll then need to
|
||||
specify this option on the command-line too.
|
||||
.RE
|
||||
|
||||
.TP
|
||||
.B \-m, \-\-method n
|
||||
lists/selects error correction methods (default: RS01).
|
||||
@@ -274,7 +309,7 @@ Selects between the sg (SG_IO) driver (default setting) and the
|
||||
older cdrom (CDROM_SEND_PACKET) driver for accessing the optical drives.
|
||||
Both drivers should work equally well; however the cdrom driver is known
|
||||
to cause system failures on some ancient SCSI controllers.
|
||||
The older cdrom driver was the default upto and including dvdisaster 0.72.x;
|
||||
The older cdrom driver was the default up to and including dvdisaster 0.72.x;
|
||||
if the now pre-selected sg driver changes something to the worse for you
|
||||
please switch back to the older driver using \-\-driver=cdrom.
|
||||
.TP
|
||||
@@ -314,7 +349,7 @@ and on very fast media with low latency such as SSDs.
|
||||
.RE
|
||||
.TP
|
||||
.B \-\-fill-unreadable n
|
||||
fill unreadable sectors with byte n
|
||||
fill unreadable sectors with byte n. Useful for processing images which have been created by other tools. For example, ddrescue fills unreadable sectors with zeros; therefore \-\-fill-unreadable=0 should be used. Please note: Sparse files can not be processed with dvdisaster.
|
||||
.TP
|
||||
.B \-\-ignore-fatal-sense
|
||||
continue reading after potentially fatal error condition.
|
||||
@@ -347,6 +382,9 @@ this setting anyways. Use \-1 to leave the drive at its default setting.
|
||||
.B \-\-medium-info
|
||||
Prints information about the currently inserted medium.
|
||||
.TP
|
||||
.B \-\-no-progress
|
||||
Suppresses the progress percentage indicator.
|
||||
.TP
|
||||
.B \-\-old-ds-marker
|
||||
Marks missing sectors in a manner which is compatible with
|
||||
dvdisaster 0.70 or older.
|
||||
@@ -376,7 +414,7 @@ the uncorrected sector instead.
|
||||
.RE
|
||||
.TP
|
||||
.B \-\-read-attempts n-m
|
||||
attempts n upto m reads of a defective sector.
|
||||
attempts n up to m reads of a defective sector.
|
||||
.TP
|
||||
.B \-\-read-medium n
|
||||
read the whole medium up to n times.
|
||||
@@ -384,6 +422,9 @@ read the whole medium up to n times.
|
||||
.B \-\-read-raw
|
||||
performs read in raw mode if possible.
|
||||
.TP
|
||||
.B \-\-regtest
|
||||
modifies some outputs for better processing with the regression test scripts.
|
||||
.TP
|
||||
.B \-\-resource-file n
|
||||
Specifies the path to the configuration file (default: $HOME/.dvdisaster)
|
||||
.TP
|
||||
@@ -392,6 +433,9 @@ print warning if speed changes by more than n percent.
|
||||
.TP
|
||||
.B \-\-spinup-delay n
|
||||
wait n seconds for drive to spin up.
|
||||
.TP
|
||||
.B \-\-version
|
||||
print version number and some configuration information.
|
||||
.PP
|
||||
|
||||
.SH SEE ALSO
|
||||
|
||||
@@ -1,76 +0,0 @@
|
||||
@charset "UTF-8";
|
||||
|
||||
body { font-family:Helvetica,Arial,sans-serif,Verdana }
|
||||
|
||||
a:link { font-weight:normal; color:#0000ff; text-decoration:none }
|
||||
a:visited { font-weight:normal; color:#0000ff; text-decoration:none }
|
||||
a:hover { font-weight:normal; background-color:#e0e0e0; color:#0000FF; text-decoration:none }
|
||||
a:active { font-weight:normal; background-color:#e0e0e0; color:#0000FF; text-decoration:none }
|
||||
a:focus { font-weight:normal; background-color:#e0e0e0; color:#0000FF; text-decoration:none }
|
||||
|
||||
table.navigation {width:100%; background-color:#f0f0f0}
|
||||
table.download {width:100%; background-color:#f0f0f0}
|
||||
table.thumbnail {border-width:1px; border-style:solid; border-color:#000000; background-color:#e0e0ff}
|
||||
table.screenshot {width:100%; border-width:0px; background-color:#e0e0ff}
|
||||
|
||||
table.ecompat {border-width:0px}
|
||||
table.ecompat td { border-width:0px; vertical-align:text-top}
|
||||
table.ecompat td.file { border-width:0px; background-color:#ffa0ff}
|
||||
table.ecompat td.iso { border-width:0px; background-color:#a0ffff}
|
||||
table.ecompat td.augment { border-width:0px; background-color:#a0a0ff}
|
||||
|
||||
|
||||
table.compat {width:100%; border-style:solid; border-width:0px; border-collapse:collapse}
|
||||
table.compat th { border-width:1px; padding:8px; border-style:solid; background-color:#b0b0b0 }
|
||||
table.compat th.file { border-width:1px; padding:8px; border-style:solid; background-color:#ffa0ff }
|
||||
table.compat th.iso { border-width:1px; padding:8px; border-style:solid; background-color:#a0ffff }
|
||||
table.compat th.augment { border-width:1px; padding:8px; border-style:solid; background-color:#a0a0ff }
|
||||
|
||||
table.compat td { border-width:1px; padding:4px; border-style:solid; text-align:center}
|
||||
|
||||
table.compat td.noalign { border-width:1px; padding:4px; border-style:solid }
|
||||
table.compat td.fullspan { border-width:1px; padding:0px; border-style:solid; background-color:#e0e0e0 }
|
||||
table.compat td.red { border-width:1px; padding:4px; border-style:solid; background-color:#ff8080; text-align:center}
|
||||
table.compat td.yellow { border-width:1px; padding:4px; border-style:solid; background-color:#ffe0a0; text-align:center}
|
||||
table.compat td.green { border-width:1px; padding:4px; border-style:solid; background-color:#a0ffa0; text-align:center}
|
||||
table.compat td.grey { border-width:1px; padding:4px; border-style:solid; background-color:#e0e0e0; text-align:center}
|
||||
table.compat td.white { border-width:1px; padding:4px; border-style:solid; text-align:center}
|
||||
|
||||
a.active {color:#0000ff; text-decoration:none }
|
||||
a.passive {color:#808080; text-decoration:none }
|
||||
|
||||
img.noborder {border:0px solid transparent;}
|
||||
img.nobordervalignm {border:0px solid transparent; vertical-align:middle;}
|
||||
|
||||
span.fl {font-size:large;}
|
||||
span.fxxl {font-size:xx-large;}
|
||||
span.fs {font-size:small;}
|
||||
span.fxs {font-size:x-small;}
|
||||
span.green {color:green;}
|
||||
span.red {color:red;}
|
||||
span.blue {color:blue;}
|
||||
span.yellow {color:gold;}
|
||||
|
||||
h3.top {margin-top: 0;}
|
||||
|
||||
table {empty-cells:show;} /* display border and background color even for empty table cells */
|
||||
td.hsep {height:1px; width:100%; background-color:black;} /* black horizontal separator */
|
||||
td.vsep {height:100%; width:2px; background-color:black;} /* black vertical separator */
|
||||
td.esep {height:3px;}
|
||||
|
||||
.w10p {width:10%;}
|
||||
.w15p {width:15%;}
|
||||
.w20p {width:20%;}
|
||||
.w50p {width:50%;}
|
||||
.w55p {width:55%;}
|
||||
.w65x {width:65px;}
|
||||
.w100x {width:100px;}
|
||||
.w127x {width:127px;}
|
||||
.w150x {width:150px;}
|
||||
.w200x {width:200px;}
|
||||
|
||||
.valignb {vertical-align:bottom;}
|
||||
.valignm {vertical-align:middle;}
|
||||
.valignt {vertical-align:top;}
|
||||
.valigntt {vertical-align:text-top;}
|
||||
.talignr {text-align:right;}
|
||||
@@ -1,120 +0,0 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
|
||||
<title></title>
|
||||
<link rel="stylesheet" type="text/css" href="../css/dvdisaster.css">
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<!-- Title header -->
|
||||
|
||||
<table width="100%" cellpadding="0" border="0">
|
||||
<tr>
|
||||
<td align="left">
|
||||
<span class="fxxl"><b>dvdisaster</b> </span>
|
||||
<i>Version 0.79.5</i>
|
||||
</td>
|
||||
<td align="right">
|
||||
<span class="fxxl"> </span>
|
||||
Deutsch <a href="../en/privacy.html">English</a>
|
||||
</td>
|
||||
</tr>
|
||||
<tr><td colspan="2" class="hsep"></td></tr>
|
||||
<tr><td colspan="2">
|
||||
<table class="navigation" width="100%" cellpadding="0" border="0">
|
||||
<tr>
|
||||
<td>Unterseiten:
|
||||
<a href="index.html">Entwickler-Seite</a> ·
|
||||
<a href="verschiedenes.html">Verschiedenes</a>
|
||||
</td>
|
||||
<td align="right">
|
||||
<b>Datenschutz-Erklärung</b> ·
|
||||
<a href="impressum.html">Impressum</a>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td></tr>
|
||||
<tr><td colspan="2" class="hsep"></td></tr>
|
||||
<tr><td style="height: 10px"></td></tr>
|
||||
</table>
|
||||
|
||||
<!-- Main body -->
|
||||
|
||||
<b>Datenschutzerklärung für die Internetseiten unter</b><p>
|
||||
|
||||
dvdisaster.com,
|
||||
dvdisaster.de,
|
||||
dvdisaster.net,
|
||||
dvdisaster.org
|
||||
|
||||
<p>
|
||||
|
||||
Das dvdisaster-Projekt (<a href="impressum.html">Anbieter siehe Impressum</a>)
|
||||
nimmt den Schutz personenbezogener Daten sehr ernst.
|
||||
Die nachfolgende Erklärung gibt Ihnen einen Überblick darüber,
|
||||
welche Daten zu welchem Zweck erhoben werden:
|
||||
|
||||
<p>
|
||||
|
||||
<b>Protokoll-Dateien</b> (Datenverarbeitung durch die Server dieser Internetseiten)<p>
|
||||
|
||||
Ihr Besuch auf diesen Seiten wird protokolliert.
|
||||
Die Server dieser Internetseiten speichern die folgenden Daten:
|
||||
|
||||
<ul>
|
||||
<li>den Typ und die Version Ihres Browsers</li>
|
||||
<li>das verwendete Betriebssystem</li>
|
||||
<li>gegebenenfalls die Ausgangsseite, von der aus Sie zu diesen Internetseiten gelangt sind</li>
|
||||
<li>den Namen oder die IP-Adresse des zugreifenden Rechners</li>
|
||||
<li>die Uhrzeit und das Datum Ihres Abrufes dieser Seiten</li>
|
||||
<li>die Dateinamen der angefragten Seiten.</li>
|
||||
</ul>
|
||||
|
||||
Diese Daten werden weder dazu genutzt, den Besucher dieser Internetseiten
|
||||
zu identifizieren, noch findet eine Zusammenführung mit anderen Daten
|
||||
statt. Die Daten werden nach einer statistischen Auswertung gelöscht.
|
||||
|
||||
<p>
|
||||
|
||||
<b>Cookies</b><p>
|
||||
|
||||
Diese Internetseiten verwenden keine Cookies.
|
||||
|
||||
<p>
|
||||
|
||||
<b>Verweise zu anderen Internetseiten</b><p>
|
||||
|
||||
Diese Internetseiten enthalten Verweise (Links) zu externen Seiten,
|
||||
die von anderen Anbietern betrieben werden.
|
||||
Das dvdisaster-Projekt hat keinen Einfluß darauf,
|
||||
ob andere Anbieter diese Datenschutzbestimmungen einhalten.
|
||||
|
||||
<p>
|
||||
|
||||
<b>Weiterentwicklung dieser Internetseiten</b><p>
|
||||
|
||||
Im Zuge der Weiterentwicklung dieser Internetseiten können Änderungen
|
||||
dieser Datenschutzerklärung erforderlich werden. Bitte lesen Sie sich
|
||||
diese Datenschutzerklärung von Zeit zu Zeit erneut durch.
|
||||
|
||||
<!-- Page footer -->
|
||||
|
||||
<table width="100%" cellpadding="0" border="0">
|
||||
<tr><td colspan="2" style="width:100%; height:10px;"></td></tr>
|
||||
<tr><td colspan="2" class="hsep"></td></tr>
|
||||
<tr>
|
||||
<td align="center">
|
||||
<span class="fs">
|
||||
<i> Copyright 2004-2015 Carsten Gnörlich.<br>
|
||||
Die unveränderte Vervielfältigung und Verteilung dieses gesamten Artikels in beliebiger Form ist gestattet,
|
||||
sofern dieser Hinweis erhalten bleibt.
|
||||
</i>
|
||||
</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr><td colspan="2" class="hsep"></td>
|
||||
</tr>
|
||||
</table>
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,88 +0,0 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
|
||||
<title></title>
|
||||
<link rel="stylesheet" type="text/css" href="../css/dvdisaster.css">
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<!-- Title header -->
|
||||
|
||||
<table width="100%" cellpadding="0" border="0">
|
||||
<tr>
|
||||
<td align="left">
|
||||
<span class="fxxl"><b>dvdisaster</b> </span>
|
||||
<i>Version 0.79.5</i>
|
||||
</td>
|
||||
<td align="right">
|
||||
<span class="fxxl"> </span>
|
||||
Deutsch <a href="../en/imprint.html">English</a>
|
||||
</td>
|
||||
</tr>
|
||||
<tr><td colspan="2" class="hsep"></td></tr>
|
||||
<tr><td colspan="2">
|
||||
<table class="navigation" width="100%" cellpadding="0" border="0">
|
||||
<tr>
|
||||
<td>Unterseiten:
|
||||
<a href="index.html">Entwickler-Seite</a> ·
|
||||
<a href="verschiedenes.html">Verschiedenes</a>
|
||||
</td>
|
||||
<td align="right">
|
||||
<a href="datenschutz.html">Datenschutz-Erklärung</a> ·
|
||||
<b>Impressum</b>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td></tr>
|
||||
<tr><td colspan="2" class="hsep"></td></tr>
|
||||
<tr><td style="height: 10px"></td></tr>
|
||||
</table>
|
||||
|
||||
<!-- Main body -->
|
||||
|
||||
<b>Impressum</b><p>
|
||||
|
||||
Carsten Gnörlich <br>
|
||||
Karl-von-Hahn-Str. 125 <br>
|
||||
72250 Freudenstadt / Deutschland<br>
|
||||
Tel.: +49 172 566 1442 (kein Support, nur für Anfragen im Rahmen des Telemediengesetzes!)
|
||||
|
||||
<p>
|
||||
|
||||
E-Mail: carsten@dvdisaster.org<br>
|
||||
Internet: www.dvdisaster.org
|
||||
|
||||
<p>
|
||||
|
||||
Inhaltlich Verantwortlicher: <br>
|
||||
Carsten Gnörlich (Anschrift wie oben).
|
||||
|
||||
<p>
|
||||
|
||||
Das Impressum gilt für die Internetpräsenz unter den Domänen<br>
|
||||
<a href="http://dvdisaster.com">dvdisaster.com</a>,
|
||||
<a href="http://dvdisaster.de">dvdisaster.de</a>,
|
||||
<a href="http://dvdisaster.net">dvdisaster.net</a>,
|
||||
<a href="http://dvdisaster.org">dvdisaster.org</a>.
|
||||
|
||||
<!-- Page footer -->
|
||||
|
||||
<table width="100%" cellpadding="0" border="0">
|
||||
<tr><td colspan="2" style="width:100%; height:10px;"></td></tr>
|
||||
<tr><td colspan="2" class="hsep"></td></tr>
|
||||
<tr>
|
||||
<td align="center">
|
||||
<span class="fs">
|
||||
<i> Copyright 2004-2015 Carsten Gnörlich.<br>
|
||||
Die unveränderte Vervielfältigung und Verteilung dieses gesamten Artikels in beliebiger Form ist gestattet,
|
||||
sofern dieser Hinweis erhalten bleibt.
|
||||
</i>
|
||||
</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr><td colspan="2" class="hsep"></td>
|
||||
</tr>
|
||||
</table>
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,223 +0,0 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
|
||||
<title></title>
|
||||
<link rel="stylesheet" type="text/css" href="../css/dvdisaster.css">
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<!-- Title header -->
|
||||
|
||||
<table width="100%" cellpadding="0" border="0">
|
||||
<tr>
|
||||
<td align="left">
|
||||
<span class="fxxl"><b>dvdisaster</b> </span>
|
||||
<i>Version 0.79.5</i>
|
||||
</td>
|
||||
<td align="right">
|
||||
<span class="fxxl"> </span>
|
||||
Deutsch <a href="../en/index.html">English</a>
|
||||
</td>
|
||||
</tr>
|
||||
<tr><td colspan="2" class="hsep"></td></tr>
|
||||
<tr><td colspan="2">
|
||||
<table class="navigation" width="100%" cellpadding="0" border="0">
|
||||
<tr>
|
||||
<td>Unterseiten:
|
||||
<b>Entwickler-Seite</b> ·
|
||||
<a href="verschiedenes.html">Verschiedenes</a>
|
||||
</td>
|
||||
<td align="right"><a href="datenschutz.html">Datenschutz-Erklärung</a> · <a href="impressum.html">Impressum</a></td>
|
||||
</tr>
|
||||
</table>
|
||||
</td></tr>
|
||||
<tr><td colspan="2" class="hsep"></td></tr>
|
||||
<tr><td style="height: 10px"></td></tr>
|
||||
</table>
|
||||
|
||||
<!-- Main body -->
|
||||
|
||||
|
||||
<b>Entwickler-Seite</a></b><p>
|
||||
|
||||
Auf dieser Seite finden Sie den neuesten Quellkode
|
||||
von <i>dvdisaster</i> für die Betriebssysteme
|
||||
FreeBSD, GNU/Linux und NetBSD. Der Inhalt dieser
|
||||
Seite richtet sich vorwiegend an die Betreuer
|
||||
von Binärpaketen für die genannten Plattformen.
|
||||
Typischerweise ist es bequemer, wenn Sie sich
|
||||
dvdisaster aus dem Paketsystem Ihres Betriebssystems
|
||||
bzw. Ihrer Distribution installieren.
|
||||
Natürlich können Sie sich
|
||||
den Quellkode von dvdisaster aber auch selbst
|
||||
herunterladen und übersetzen, wenn Sie dies
|
||||
lieber möchten.<br>
|
||||
|
||||
Diese Seite enthält <i>keine</i> Informationen
|
||||
über den Sinn und die Benutzung von dvdisaster.
|
||||
Dies ist an anderen Stellen besser beschrieben -
|
||||
zum Beispiel in zahlreichen Foren und (in englischer Sprache) im
|
||||
<a href="verschiedenes.html#manual">Benutzerhandbuch</a>.
|
||||
|
||||
<p>
|
||||
|
||||
<a name="download"></a>
|
||||
<b>Quellkode herunterladen</b>
|
||||
|
||||
<table width="100%">
|
||||
<tr>
|
||||
<td>dvdisaster unterstützt die Betriebssysteme <b>FreeBSD</b>, <b>GNU/Linux</b> und <b>NetBSD</b>.
|
||||
Es wird Ihnen
|
||||
als <a href="http://www.germany.fsfeurope.org/documents/freesoftware.de.html">freie Software</a>
|
||||
unter der <a href="http://www.gnu.org/licenses/gpl-3.0.txt">GNU General Public License v3</a> zur
|
||||
Verfügung gestellt.
|
||||
</td>
|
||||
<td class="w127x" valign="top"><img src="../images/gplv3-127x51.png" alt="GPLv3-Logo" width="127">
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<p>
|
||||
|
||||
<table>
|
||||
<tr>
|
||||
<td>Aktuelle Version: </td>
|
||||
<td><a href="../downloads/dvdisaster-0.79.5.tar.bz2">dvdisaster-0.79.5.tar.bz2</a></td>
|
||||
<td>(<a href="../downloads/dvdisaster-0.79.5.tar.bz2.gpg">digitale Unterschrift</a>,
|
||||
MD5-Prüfsumme: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Vorherige (ältere) Version:</td>
|
||||
<td><a href="../downloads/dvdisaster-0.72.6.tar.bz2">dvdisaster-0.72.6.tar.bz2</a></td>
|
||||
<td>(<a href="../downloads/dvdisaster-0.72.6.tar.bz2.gpg">digitale Unterschrift</a>,
|
||||
MD5-Prüfsumme: f4213af05fe5c36e93bdf8a1732a66d1)</td>
|
||||
</tr>
|
||||
</table>
|
||||
<p>
|
||||
|
||||
Die Archive können mit einer <a href="verschiedenes.html#pubkey">digitalen Unterschrift</a> auf
|
||||
ihren Ursprungszustand überprüft werden. In den Archiven gibt die Datei
|
||||
<tt>INSTALL</tt> weitere Informationen zum Übersetzen des Programmes.
|
||||
|
||||
<p>
|
||||
|
||||
Die Unterstützung von <b>Windows</b> and <b>Mac OS</b> wurde eingestellt.
|
||||
Ein anderer Entwickler hat angefangen, eine Version von dvdisaster direkt für Windows zu
|
||||
erstellen, aber es gibt dazu noch nichts anzukündigen. Verwenden Sie
|
||||
bis dahin bitte weiterhin
|
||||
die <a href="verschiedenes.html#windows">letzte veröffentlichte Version 0.72.3 für Windows</a>.
|
||||
|
||||
<p>
|
||||
<b>Was ist mit den alten dvdisaster-Seiten passiert?</b><p>
|
||||
|
||||
Zur Erläuterung eine Übersetzung des Vorwortes aus
|
||||
dem englischen <a href="misc.html#manual">Benutzerhandbuch</a>:<p>
|
||||
|
||||
Seit der Veröffentlichung von dvdisaster 0.79.3 (Version 0.79.4
|
||||
wurde nicht abgeschlossen und veröffentlicht) sind nahezu
|
||||
fünf Jahre vergangen.
|
||||
Dies liegt teilweise an den veränderten Lebensumständen
|
||||
des verantwortlichen Entwicklers, aber auch an vielen
|
||||
Änderungen am Quellkode. Viele interne Strukturen wurden
|
||||
in dvdisaster 0.79.5 im Vergleich zu seinem Vorgänger
|
||||
deutlich verändert.<p>
|
||||
|
||||
Die wichtigste Änderung ist in dvdisaster 0.79.5
|
||||
natürlich der multihreading-fähige RS03-Kodierer.
|
||||
Während es ungefähr 62 Minuten auf einem durchschnittlich
|
||||
leistungsfähigen PC dauert, um ein 36 GiB großes Abbild
|
||||
mit dem RS02-Kodierer zu bearbeiten, so benötigt der
|
||||
neue RS03-Kodierer weniger als 7 Minuten mit sechs
|
||||
Prozessorkernen auf der selben Maschine. Auf einem
|
||||
Hochleistungs-Server mit 16 Prozessorkernen und
|
||||
hohem Ein-/Ausgabe-Durchsatz kann diese Aufgabe in
|
||||
unter einer Minute bearbeitet werden. Das ist
|
||||
ein großer Schritt nach vorne.<p>
|
||||
|
||||
RS03 ist ab dieser Version für den produktiven
|
||||
Einsatz geeignet. Einige nicht grundlegende
|
||||
Funktionen werden noch mit den nächsten Versionen
|
||||
nachgereicht; dies umfaßt unter anderem das
|
||||
adaptive Lesen mit RS03 sowie das schnelle
|
||||
Reparieren von Datenträgern unter Nutzung von
|
||||
Multithreading.<p>
|
||||
|
||||
Andere Teile des Projektes mußten geändert oder
|
||||
eingestellt werden. Ein Softwareprojekt lebt
|
||||
von der Weiterentwicklung und von regelmäßigen
|
||||
Veröffentlichungen; anderenfalls hört das
|
||||
Projekt letztendlich auf zu existieren.
|
||||
dvdisaster lief in den letzten Jahren Gefahr,
|
||||
dieses Schicksal zu erleiden. Um zu verhindern
|
||||
daß dies erneut eintritt, wird sich das
|
||||
Projekt nun auf die Entwicklung des Quellkodes
|
||||
konzentrieren; alle anderen Aktivitäten werden
|
||||
an andere Personen weitergegeben oder
|
||||
eingestellt. Die Quellkode-Entwicklung wird
|
||||
sich nur noch mit der GNU/Linux-Version
|
||||
befassen, die auch die Basis für alle
|
||||
anderen Betriebssysteme liefert. Darin
|
||||
inbegriffen sind die Portierungen für
|
||||
FreeBSD und NetBSD, die sich sehr einfach
|
||||
aus der GNU/Linux-Version ableiten lassen.
|
||||
Dies gilt leider nicht für die Mac OS-
|
||||
und Windows-Versionen, die ab sofort
|
||||
eingestellt werden.<p>
|
||||
|
||||
Ebenso werden die getrennten Versionszweige mit
|
||||
stabilen Versionen und Entwicklerversionen eingestellt.
|
||||
Ab dieser Version werden alle dvdisaster-Veröffentlichungen
|
||||
als bereit für den produktiven Einsatz betrachtet,
|
||||
wodurch sich eine Unterscheidung in verschiedene
|
||||
Zweige erübrigt.<p>
|
||||
|
||||
Die Bereitstellung der mehrsprachlichen Dokumentation,
|
||||
die gleichzeitig auch als Projektseite im Internet diente,
|
||||
hat sich ebenfalls als zu aufwändig erwiesen.
|
||||
Die Projektseite ist nun eine einfache Plattform
|
||||
zum Herunterladen des Quellkodes. Sie wendet sich jetzt
|
||||
an die Paketverwalter, die Binärversionen für
|
||||
GNU/Linux, FreeBSD und NetBSD bereitstellen. <br>
|
||||
|
||||
Das Benutzerhandbuch wird nun im PDF-Format
|
||||
bereitgestellt; dies ist viel einfacher zu
|
||||
erzeugen als die alte HTML-Version. Die
|
||||
einzige verfügbare Sprache ist Englisch.
|
||||
Die meisten Teile des Benutzerhandbuches wurden
|
||||
aus der alten Online-Dokumentation übernommen;
|
||||
daher wirkt sie immer noch mehr wie die
|
||||
Internetseiten als wie ein Buch. Hyperlinks
|
||||
sind in PDF nicht so komfortabel nutzbar
|
||||
wie in HTML, aber sie wurden in dem Handbuch
|
||||
belassen um zu betonen daß es als Online-Referenz
|
||||
gedacht ist. Bitte schonen Sie die Natur und
|
||||
drucken Sie das Benutzerhandbuch nicht aus.
|
||||
Es ist ohnehin nicht dazu gedacht, von
|
||||
vorne nach hinten wie ein Buch gelesen zu werden.<p>
|
||||
|
||||
Nun gut, genug geredet. Möge Ihnen dvdisaster helfen,
|
||||
Ihre Daten zu schützen und wiederherzustellen, und
|
||||
vielen Dank daß Sie es nutzen!<p>
|
||||
|
||||
<i> -- cg, August 2015</i>
|
||||
|
||||
<!-- Page footer -->
|
||||
|
||||
<table width="100%" cellpadding="0" border="0">
|
||||
<tr><td colspan="2" style="width:100%; height:10px;"></td></tr>
|
||||
<tr><td colspan="2" class="hsep"></td></tr>
|
||||
<tr>
|
||||
<td align="center">
|
||||
<span class="fs">
|
||||
<i> Copyright 2004-2015 Carsten Gnörlich.<br>
|
||||
Die unveränderte Vervielfältigung und Verteilung dieses gesamten Artikels in beliebiger Form ist gestattet,
|
||||
sofern dieser Hinweis erhalten bleibt.
|
||||
</i>
|
||||
</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr><td colspan="2" class="hsep"></td>
|
||||
</tr>
|
||||
</table>
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,145 +0,0 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
|
||||
<title></title>
|
||||
<link rel="stylesheet" type="text/css" href="../css/dvdisaster.css">
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<!-- Title header -->
|
||||
|
||||
<table width="100%" cellpadding="0" border="0">
|
||||
<tr>
|
||||
<td align="left">
|
||||
<span class="fxxl"><b>dvdisaster</b> </span>
|
||||
<i>Version 0.79.5</i>
|
||||
</td>
|
||||
<td align="right">
|
||||
<span class="fxxl"> </span>
|
||||
Deutsch <a href="../en/misc.html">English</a>
|
||||
</td>
|
||||
</tr>
|
||||
<tr><td colspan="2" class="hsep"></td></tr>
|
||||
<tr><td colspan="2">
|
||||
<table class="navigation" width="100%" cellpadding="0" border="0">
|
||||
<tr>
|
||||
<td>Unterseiten:
|
||||
<a href="index.html">Entwickler-Seite</a> ·
|
||||
<b>Verschiedenes</b>
|
||||
</td>
|
||||
<td align="right"><a href="datenschutz.html">Datenschutz-Erklärung</a> · <a href="impressum.html">Impressum</a></td>
|
||||
</tr>
|
||||
</table>
|
||||
</td></tr>
|
||||
<tr><td colspan="2" class="hsep"></td></tr>
|
||||
<tr><td style="height: 10px"></td></tr>
|
||||
</table>
|
||||
|
||||
<!-- Main body -->
|
||||
|
||||
<a name="pubkey"></a>
|
||||
<b>Öffentlicher Schlüssel für die digitale Unterschrift</b><p>
|
||||
|
||||
Die herunterladbaren Pakete enthalten
|
||||
eine mit <a href="http://www.gnupg.org">GnuPG</a> erstellte
|
||||
digitale Unterschrift, damit Sie nachprüfen können,
|
||||
ob sich die Software in ihrem ursprünglichen Zustand befindet.<p>
|
||||
|
||||
Ab Version 0.79.5 werden Pakete mit diesem
|
||||
<a href="../downloads/pubkey2.asc">4096bit RSA-Schlüssel</a> unterschrieben:
|
||||
|
||||
<pre>
|
||||
pub 4096R/64F770B2 2015-10-05
|
||||
Schl.-Fingerabdruck = E3AF E703 96CC C0D9 E5D8 381C B0DB CA7D 64F7 70B2
|
||||
uid dvdisaster (pkg signing key #2)
|
||||
sub 4096R/758BCC23 2015-10-05
|
||||
</pre>
|
||||
|
||||
Ältere Versionen (bis zu 0.79.3) wurden mit dem folgenden
|
||||
<a href="../downloadas/pubkey1.asc">1024bit DSA-Schlüssel</a> unterschrieben:
|
||||
|
||||
<pre>
|
||||
pub 1024D/F5F6C46C 2003-08-22
|
||||
Schl.-Fingerabdruck = 12B3 1535 AF90 3ADE 9E73 BA7E 5A59 0EFE F5F6 C46C
|
||||
uid Carsten Gnörlich (pkg signing key #1)
|
||||
sub 1024g/091AD320 2003-08-22
|
||||
</pre>
|
||||
|
||||
Sie können den Fingerabdruck des öffentlichen Schlüssels auch direkt von
|
||||
den Entwicklern erhalten, indem Sie eine E-Mail
|
||||
an carsten@dvdisaster.org schreiben. Bitte verwenden Sie
|
||||
den Betreff "GPG finger print".
|
||||
<p>
|
||||
|
||||
<b>Benutzerhandbuch</b><p>
|
||||
<a name="manual"></a>
|
||||
|
||||
Das Benutzerhandbuch zu dvdisaster gibt es - leider aus Zeitgründen nur
|
||||
in englischer Sprache - als <a href="../downloads/manual.pdf">PDF-Dokument (manual.pdf)</a>.
|
||||
Es erläutert die Benutzung von dvdisaster anhand einiger
|
||||
grundlegender Beispiele und enthält weitere Hintergrundinformationen
|
||||
zu seiner Funktionsweise. <br>
|
||||
Sie brauchen das Handbuch hier nicht herunterzuladen, wenn Sie bereits
|
||||
das Quellkode-Archiv haben - dort ist ebenfalls ein Exemplar enthalten.
|
||||
<p>
|
||||
|
||||
<b>Kodierer-Spezifikation</b><p>
|
||||
|
||||
Die Spezifikation der RS01-, RS02- und RS03-Kodierer
|
||||
ist als <a href="../downloads/codec.pdf">PDF-Dokument (codecs.pdf)</a>
|
||||
verfügbar.
|
||||
|
||||
Dieses Dokument ist zur Diskussion der Kodierer-Implementierung unter
|
||||
den Entwicklern vorgesehen. Er erfordert Kenntnisse in Kodierungstheorie
|
||||
und ist nicht als Endbenutzer-Dokumentation gedacht.
|
||||
|
||||
<table>
|
||||
<tr><td>
|
||||
<a href="http://pdfreaders.org/"><img src="http://pdfreaders.org/graphics/pdfreaders-lang-neutral.png" alt="pdfreaders.org" /></a></td>
|
||||
<td>Programme zum Lesen von PDF-Dokumenten sind bei <a href="http://pdfreaders.org">PDFreaders.org</a> verfügbar.</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<p>
|
||||
<b>Letzte Windows-Version</b><p>
|
||||
|
||||
Ein anderer Entwickler hat angefangen, eine Version von dvdisaster direkt für Windows zu
|
||||
erstellen, aber es gibt dazu noch nichts anzukündigen. Verwenden Sie
|
||||
bis dahin bitte weiterhin die letzte veröffentlichte Version für Windows:
|
||||
|
||||
<table>
|
||||
<tr>
|
||||
<td>Quellkode: </td>
|
||||
<td><a href="../downloads/dvdisaster-0.72.3.tar.bz2">dvdisaster-0.72.3.tar.bz2</a></td>
|
||||
<td>(<a href="../downloads/dvdisaster-0.79.5.tar.bz2.gpg">Digitale Unterschrift</a>,
|
||||
MD5-Prüfsumme: 4eb09c1aa3cdbc1dafdb075148fb471d)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Installierbare Binärversion: </td>
|
||||
<td><a href="../downloads/dvdisaster-0.72.3-setup.exe">dvdisaster-0.72.3-setup.exe</a></td>
|
||||
<td>(<a href="../downloads/dvdisaster-0.72.3-setup-exe..gpg">Digitale Unterschrift</a>,
|
||||
MD5-Prüfsumme: b6861ba1e8de6d91a2da5342a14870e0)</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<!-- Page footer -->
|
||||
|
||||
<table width="100%" cellpadding="0" border="0">
|
||||
<tr><td colspan="2" style="width:100%; height:10px;"></td></tr>
|
||||
<tr><td colspan="2" class="hsep"></td></tr>
|
||||
<tr>
|
||||
<td align="center">
|
||||
<span class="fs">
|
||||
<i> Copyright 2004-2015 Carsten Gnörlich.<br>
|
||||
Die unveränderte Vervielfältigung und Verteilung dieses gesamten Artikels in beliebiger Form ist gestattet,
|
||||
sofern dieser Hinweis erhalten bleibt.
|
||||
</i>
|
||||
</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr><td colspan="2" class="hsep"></td>
|
||||
</tr>
|
||||
</table>
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,24 +0,0 @@
|
||||
-----BEGIN PGP PUBLIC KEY BLOCK-----
|
||||
Version: GnuPG v1.2.4 (GNU/Linux)
|
||||
|
||||
mQGiBD9GYJcRBACXa6CzZ0WPqUvit1d7LvnSOqLDxYQiiphnzjQc+ssJvScNxv9+
|
||||
ThELKXHxaKfDpL9/C4+5qh1pfrsEEpuQ7m+RfXFqz5UPZITgza5Ko/5WPhhVRxkh
|
||||
8b8ux7DIeFlbgmd5YSFPoYIwGWCAtI5OiUC6qa149gAq7k0vtgb+hbxn2wCg0lTu
|
||||
XGNjX7qMNggbnx3aBVVd9SMD/RYWIr2c66w6Kt/EYLLgYGqgZL9MkmocuUoJVgiI
|
||||
Y2pi3SPbIvX3enk1OIRBCFbweEgXiVw+FWu6aK09eZrJcDv2Uns4ecTvzz1d83RH
|
||||
gssV7ulB6P5mU3u6NT39CHW6fJ5Xi1HPkw380+y3dbaRxh/1htmk5Ao0DmDGRohL
|
||||
vzgIA/9P/bdqh0WG0j4qY+8pcsNn0/ymiJXPZzvyr2cEc56AaHgLAVZHMUyE3Rd9
|
||||
9rSZjVS+x/oGbkzVOd8IySUSRx7f2Sxve1sxoaNlwdqcE0vq16PH1iMBQ6KJAvUA
|
||||
NAM4QZhAI7Lav9yB/tXblGrHHjll+fwFB/9t6G0hO9JoJDaEgbQmQ2Fyc3RlbiBH
|
||||
bsO2cmxpY2ggKHBrZyBzaWduaW5nIGtleSAjMSmIXgQTEQIAHgUCQCvkqQIbAwYL
|
||||
CQgHAwIDFQIDAxYCAQIeAQIXgAAKCRBaWQ7+9fbEbGfsAJ9NrkdlRobMhtWpAyeW
|
||||
wPUe8XHzsACfYbMooS0D/UmRGo7wW7rBnrVqLxy5AQ0EP0ZgmBAEAKJos9WBWgw1
|
||||
sGFFM/1eKEzZqGYMt8qk2r/djPyZYEIzqT47aR7P9gPIXDTplOmBgL43hU8MlE9K
|
||||
Q92s4RVP/x/OvMWF04vSO3vBEmeR3HncpbIk4AP17MZGuqEGtyAe1e5hcGiho1CL
|
||||
/6fSanYydC2iciKbfyyfzL9oISHedad7AAMFA/4wtrdqwTI2p05NAGxRA2r4egYI
|
||||
m7x+ixyYuHGkzZzHMdos5zDg/dzNRnarib98JgAkZR+EVT6K0Ez6ykz57oteCt6f
|
||||
jyGjOwI9bUyOFa+LyGJ+QRaeVozhqLLu/b4wgKCuBcKNt2ebpKFHi9JKiGE9hOJz
|
||||
4nanjCbtihUJaf1DLIhJBBgRAgAJBQI/RmCYAhsMAAoJEFpZDv719sRsbk4An2JZ
|
||||
q/8GBvugzgfu5AxacsuiZzfgAKCwzLAuoUTw/Sz6bYaAUfec362gFw==
|
||||
=Sidz
|
||||
-----END PGP PUBLIC KEY BLOCK-----
|
||||
@@ -1,53 +0,0 @@
|
||||
-----BEGIN PGP PUBLIC KEY BLOCK-----
|
||||
Version: GnuPG v1.4.12 (GNU/Linux)
|
||||
|
||||
mQINBFYS0XkBEACxsIQ1dI0k1TiybBztU6BC3DeQsDGC9TeaGBgYDo+62B8U5uiJ
|
||||
AD9ofBXglj0/DOweAIoLdcVsvFzU0sxk4tUnb84plk09qG+UfU2227DWeKTP3YPv
|
||||
E8A6uWopr6Yoc8WGG9mKl9L1CCiqQmNB4L4Um2/yDPrhtN3TxzpMLBoNUo/f271Q
|
||||
yLxQZMEsUDTZq7JxbEQ9hLbBn69zIptsZHyNJwCerqXqhzQcB11BVqZyLrRC+0ZT
|
||||
eUtO1o10Y/EAEi86ivi1upLsgVi5u2LcP9ICIhTVv6MQ+turhThFOIcEvbw/15Hp
|
||||
4Vlb0yZlBx2j4Hr4tDSrWeQ1lmBNA1qhrLkPOIQv+scXhcyzY5nKIjRDKYS1v8OM
|
||||
uMhfVakK/YS+flN5nyS4Ku0x99sae75+PArMjbLNfP738Zw4ywC4i+i958SEIcky
|
||||
4Bia+kyTCPRZWZ5BJe3+GAPDdI1XntS0D1uXPiwi8u91jg1cAEChwjwe2pr0RG+h
|
||||
8ft5BTezJyAeZ9haU8OyrW5GZNddhyBH4QxdRYvMTdmQIbjxNuTYGpBXl4qgTqKn
|
||||
A7Gxbr24hgdUHKIe//AlDQ41VbBTdyBmgyORGCL+uaSpDerADPXh+bwE2vQsKs13
|
||||
+HcVldLBJmL9tYeRZvpvR/vwFBvfkrgAN8+NdPnSzwvLI0JMrL50DOhapwARAQAB
|
||||
tB9kdmRpc2FzdGVyIChwa2cgc2lnbmluZyBrZXkgIzIpiQI4BBMBAgAiBQJWEtF5
|
||||
AhsDBgsJCAcDAgYVCAIJCgsEFgIDAQIeAQIXgAAKCRCw28p9ZPdwsivVD/4wiomj
|
||||
IFNUG0lb4sIvXHZR2sv0rVz1eN74B+Ngefp3viZvjvmXji2cbzPhTsoAq4ys5/nD
|
||||
m9fLnm+mG2TfLKTqXBNRDeEDmknK0aXlFVbdUfgeExvU9Tj1giOORTvTiNPdJpkF
|
||||
qKMrjvtB4t2sHuuL/SNwQAWlWfDUuK52yf1SAZasdFPTAvAuzo+lqfYbi5tnjIY/
|
||||
GkR9e3ZjMEaWvxc0N5CJg7ibKpuX476eo+04oKkNvSbyE7Lpcho4AHy6e4UoJ9e+
|
||||
UBL3o84MtChwrlP5HmMPan1hIL5iyswDUrxUfL36GqAEcAM8tIbZ6A6CfQT+FgnI
|
||||
e/E1dm3FWEje8F7uD2xkCGRBYTN8BG5+UMTF9MaQGU3kxBMPt8xvHmCNZHR6QrdL
|
||||
+vysa+02QmSM1jZz4J37yctM69WY1x3JDC+HGHMxCX3G+BrDntLG3yQkox1nBi2l
|
||||
8JiKTdoX7LhRn1xCijIpYdbszMao0lN/XEiOgx2eygG9a3fQDOqR/yi9tTqmKQM4
|
||||
H/il88tkdsaioWXspWEhrS+8MhiUdr8yz3LA9+DawddnW8ZbTee2R4ARMlKhfXBE
|
||||
kvXO2L37Ub2sX97S9qbKkwaYIs2PHn7NFNRB6OP8Oz0scMuritvUZrNfNjaGba3e
|
||||
YNgR36NFvroM3R2a+Yr0zjbY+rqjJSdNSfcsxIhGBBARAgAGBQJWEtXYAAoJEFpZ
|
||||
Dv719sRsj6kAoL8AIsw7wF1F/LBHOZc/56GmYlAfAJ4nYQAjhx0Hh3fLpsjxtoH7
|
||||
oIuwCLkCDQRWEtF5ARAA3KvEpeB7vbCxolIlzxuF/RHJ770GUYSfTVbYIKSl4Hby
|
||||
wrDak7uXlDWIJ/u1lunu5+albUEHIaduYolrzaTG6A/sslXHgk8RUxZonzAw2/8C
|
||||
0fQCBAPjs2nlwzt61g75/EPJlESocapdRi97EleGmGGK5L6N2CyTX8pjj1DkXwiW
|
||||
X95EOcgWRoLXpf/bpThqFCsRjoJfHO7zcA0b5iIR7LQenMG/3AeGFRr1Oh2UzAL6
|
||||
0MuPypu8NBv3IUXZ6mXdFTNM4bQc/RlmVDoB8B8mz4M1IL0fP98LN+b9ZfUUDz1z
|
||||
k9W8H+OCvfdOVj1srDq+uhaSwDC6jDu7wTaFlaJaPBoqCXCk7xGbVxKdZot6oN5Z
|
||||
rAvMMnD0Jc+QX+MKSodMk5LQRFB+WGI82IwgeS7kqQX2Bt0w7d4xL/3AKTNgQQAG
|
||||
zXRi7dzXR//diKEmESSmaRccVpLZYtR4PdUuY6ZXyayEvZCosV6B7P+lV842lN9Q
|
||||
/KgrZjH09SYKK8pzqRPoAIvPJNT4fP8FeTztnKu9gfS0Zs2MnkKjEK85E8OMSidp
|
||||
ISqn0xgHeuldMPL7gGxJKj95BF4jFUs4fQa8nD1jnnUbKdAsGd5ujpEAjAfV+kkG
|
||||
ZPUyVrJokhGlCLLt2dG4PrgZ4tNXdEQwVGNskHYjs6YU+CGYjzfopvrUPast+cUA
|
||||
EQEAAYkCHwQYAQIACQUCVhLReQIbDAAKCRCw28p9ZPdwsrmqD/sFsulD6nl5DRzn
|
||||
ofkqBJwwl6zdtNN9OKsEi8UKc10iuq+ZvynWFbcARqW9sgbBCoCM5KuA5zMIQ0hv
|
||||
rvlb+HOt8v7DA2D0d/IPU1BPnxoEuMDq5g+a3MYzmP+4Wmp8r6NNAW0ArWhazQsN
|
||||
dIhAVv4ItUCos7+S7q8srsflpEVG78/fC4Fw4sRjAaCd1NsP6D3vHwENtbuoQaT6
|
||||
3kyfPK+r6EADTxmeFe7anovQo6MirRCnLoo3NdPVfQlgXkdL3wiBpwm7W/PYY+9Z
|
||||
6HIfE2AIBs+C5SdxYPR+tVz3+3QC9998egxTRnJMaKkDQ+nG/ROSVpCqXwhzob6H
|
||||
lrKhoe7H7GKVZyl/IVllpUQHKi5C03S8JQxpaJoB85/C5ZlcMtb0e1YUYeVhTKWI
|
||||
REFsx5FlxXcJh5CLVplZKxfn0oiIgnyKHtCOeNcXP2mOYClN8RmhW+/Z198bTmzM
|
||||
rB2jq7a3xbLGWKJqfgfZ6EPwCEu/jZTBSQgyssrrGahyyOIDadEcyfYV+r5pUm1+
|
||||
+1YxSe0/hZ89RjGAIneWmo6sDLwPd44GLKAAb/E/yS/320bu031426gU8Zdw7bK1
|
||||
dVNVQxWOpRc/RTRjmVjrO9NIN+7DSNOFnvep13/48UEDSFXkNnh+VgxGpvpOouw2
|
||||
xUBVNZuhjPr589pvAEQFUyxCTI0uwQ==
|
||||
=sd4U
|
||||
-----END PGP PUBLIC KEY BLOCK-----
|
||||
@@ -1,87 +0,0 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
|
||||
<title></title>
|
||||
<link rel="stylesheet" type="text/css" href="../css/dvdisaster.css">
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<!-- Title header -->
|
||||
|
||||
<table width="100%" cellpadding="0" border="0">
|
||||
<tr>
|
||||
<td align="left">
|
||||
<span class="fxxl"><b>dvdisaster</b> </span>
|
||||
<i>Version 0.79.5</i>
|
||||
</td>
|
||||
<td align="right">
|
||||
<span class="fxxl"> </span>
|
||||
<a href="../de/impressum.html">Deutsch</a> English
|
||||
</td>
|
||||
</tr>
|
||||
<tr><td colspan="2" class="hsep"></td></tr>
|
||||
<tr><td colspan="2">
|
||||
<table class="navigation" width="100%" cellpadding="0" border="0">
|
||||
<tr>
|
||||
<td>Navigation:
|
||||
<a href="index.html">Developer site</a> ·
|
||||
<a href="misc.html">Miscellaneous</a>
|
||||
</td>
|
||||
<td align="right">
|
||||
<a href="privacy.html">Privacy policy</a> ·
|
||||
<b>Contact information</b>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td></tr>
|
||||
<tr><td colspan="2" class="hsep"></td></tr>
|
||||
<tr><td style="height: 10px"></td></tr>
|
||||
</table>
|
||||
|
||||
<!-- Main body -->
|
||||
|
||||
<b>Contact information</b><p>
|
||||
|
||||
Carsten Gnörlich <br>
|
||||
Karl-von-Hahn-Str. 125 <br>
|
||||
72250 Freudenstadt / Germany<br>
|
||||
Tel.: +49 172 566 1442
|
||||
|
||||
<p>
|
||||
|
||||
E-Mail: carsten@dvdisaster.org<br>
|
||||
Internet: www.dvdisaster.org
|
||||
|
||||
<p>
|
||||
|
||||
Responsible for the website content: <br>
|
||||
Carsten Gnörlich (see above for address).
|
||||
|
||||
<p>
|
||||
|
||||
This notice covers the web sites under the domains<br>
|
||||
<a href="http://dvdisaster.com">dvdisaster.com</a>,
|
||||
<a href="http://dvdisaster.de">dvdisaster.de</a>,
|
||||
<a href="http://dvdisaster.net">dvdisaster.net</a>,
|
||||
<a href="http://dvdisaster.org">dvdisaster.org</a>.<br>
|
||||
|
||||
<!-- Page footer -->
|
||||
|
||||
<table width="100%" cellpadding="0" border="0">
|
||||
<tr><td colspan="2" style="width:100%; height:10px;"></td></tr>
|
||||
<tr><td colspan="2" class="hsep"></td></tr>
|
||||
<tr>
|
||||
<td align="center">
|
||||
<span class="fs">
|
||||
<i> Copyright 2004-2015 Carsten Gnörlich.<br>
|
||||
Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved.
|
||||
</i>
|
||||
</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr><td colspan="2" class="hsep"></td>
|
||||
</tr>
|
||||
</table>
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,197 +0,0 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
|
||||
<title></title>
|
||||
<link rel="stylesheet" type="text/css" href="../css/dvdisaster.css">
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<!-- Title header -->
|
||||
|
||||
<table width="100%" cellpadding="0" border="0">
|
||||
<tr>
|
||||
<td align="left">
|
||||
<span class="fxxl"><b>dvdisaster</b> </span>
|
||||
<i>Version 0.79.5</i>
|
||||
</td>
|
||||
<td align="right">
|
||||
<span class="fxxl"> </span>
|
||||
<a href="../de/index.html">Deutsch</a> English
|
||||
</td>
|
||||
</tr>
|
||||
<tr><td colspan="2" class="hsep"></td></tr>
|
||||
<tr><td colspan="2">
|
||||
<table class="navigation" width="100%" cellpadding="0" border="0">
|
||||
<tr>
|
||||
<td>Navigation:
|
||||
<b>Developer site</b> ·
|
||||
<a href="misc.html">Miscellaneous</a>
|
||||
</td>
|
||||
<td align="right">
|
||||
<a href="privacy.html">Privacy policy</a> ·
|
||||
<a href="imprint.html">Contact information</a>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td></tr>
|
||||
<tr><td colspan="2" class="hsep"></td></tr>
|
||||
<tr><td style="height: 10px"></td></tr>
|
||||
</table>
|
||||
|
||||
<!-- Main body -->
|
||||
|
||||
<b>Developer site</b><p>
|
||||
|
||||
This site provides the latest source code release of dvdisaster for the
|
||||
FreeBSD, GNU/Linux and NetBSD operating systems. It is mostly aimed at
|
||||
maintainers of binary packages for the beforementioned platforms.
|
||||
End users might find it more convenient to install dvdisaster from the
|
||||
package system of their operating system bundle or distribution.
|
||||
But if you prefer to download and compile the source package on your own,
|
||||
you're welcome, too.<br>
|
||||
|
||||
This site does <i>not</i> provide information on the purpose and usage
|
||||
of dvdisaster. This is better described at other places, e.g.
|
||||
in the <a href="misc.html#manual">user manual</a> and numerous online
|
||||
forums.
|
||||
<p>
|
||||
|
||||
<a name="download"></a>
|
||||
<b>Download the source code</b>
|
||||
|
||||
<table width="100%">
|
||||
<tr>
|
||||
<td>dvdisaster is available for the <b>FreeBSD</b>, <b>GNU/Linux</b> und <b>NetBSD</b>
|
||||
operating systems.
|
||||
It is provided as
|
||||
<a href="http://fsfe.org/about/basics/freesoftware.en.html">free software</a>
|
||||
under the <a href="http://www.gnu.org/licenses/gpl-3.0.txt">GNU General Public License v3</a>. </td>
|
||||
<td class="w127x" valign="top"><img src="../images/gplv3-127x51.png" alt="GPLv3-Logo" width="127">
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<p>
|
||||
|
||||
<table>
|
||||
<tr>
|
||||
<td>Current version: </td>
|
||||
<td><a href="../downloads/dvdisaster-0.79.5.tar.bz2">dvdisaster-0.79.5.tar.bz2</a></td>
|
||||
<td>(<a href="../downloads/dvdisaster-0.79.5.tar.bz2.gpg">digital signature</a>,
|
||||
MD5 checksum: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Previous (older) version:</td>
|
||||
<td><a href="../downloads/dvdisaster-0.72.6.tar.bz2">dvdisaster-0.72.6.tar.bz2</a></td>
|
||||
<td>(<a href="../downloads/dvdisaster-0.72.6.tar.bz2.gpg">digital signature</a>,
|
||||
MD5 checksum: f4213af05fe5c36e93bdf8a1732a66d1)</td>
|
||||
</tr>
|
||||
</table>
|
||||
<p>
|
||||
|
||||
A <a href="misc.html#pubkey">digital signature</a> is provided for
|
||||
verification that the packages are in their original state. The archives
|
||||
contain a file <tt>INSTALL</tt> with further instructions for building dvdisaster.
|
||||
|
||||
<p>
|
||||
|
||||
<b>Windows</b> and <b>Mac OS</b> are no longer supported. A native Windows fork
|
||||
of dvdisaster will be started soon by another developer, but there is nothing to announce yet.
|
||||
In the mean time, please continue using
|
||||
the <a href="misc.html#windows">last published version for Windows (0.72.3)</a>.
|
||||
|
||||
<p>
|
||||
<b>What happened to the old dvdisaster site?</b><p>
|
||||
To quote from the preface of the <a href="misc.html#manual">user manual</a>:<p>
|
||||
|
||||
Since the release of dvdisaster 0.79.3 (version 0.79.4 was
|
||||
never finished and released), nearly five years have passed.
|
||||
This was partly due to changed circumstances in its
|
||||
primary developer's life, but there was also a lot of
|
||||
coding going on behind the scenes. In comparison with its
|
||||
predecessor, dvdisaster 0.79.5 comes with lots of its
|
||||
internals being significantly reworked. <p>
|
||||
|
||||
The most visible improvement of dvdisaster 0.79.5 is, of
|
||||
course, its multithreaded RS03 codec. While it takes
|
||||
about 62 minutes for protecting a 36 GiB image with RS02
|
||||
on a mid range PC,
|
||||
the same task is done with RS03 in less than 7 minutes
|
||||
using 6 processor cores on the same machine.
|
||||
On a high end server with at least 16 cores and very good I/O,
|
||||
this can be done in under a minute. That's quite an
|
||||
improvement.<br>
|
||||
|
||||
RS03 is ready for production use in the current release.
|
||||
Some non-essential features, especially reworking the
|
||||
adaptive reading for use with RS03 and multi-threaded
|
||||
RS03 decoding (media fixing) will be delivered with
|
||||
the following dvdisaster releases.<p>
|
||||
|
||||
Other parts of the project had to be changed or even
|
||||
discontinued. A software project lives on development
|
||||
and continuous releases; else the
|
||||
project will eventually die. In this respect, dvdisaster
|
||||
was very endangered in the last few years.
|
||||
To prevent this from happening again, most effort
|
||||
is now directed into source code development;
|
||||
everything else is delegated or discontinued.
|
||||
Source code development basically means making
|
||||
the GNU/Linux version, which provides the code base
|
||||
for all other versions, and the FreeBSD and NetBSD ports,
|
||||
which are very easily derived from the GNU/Linux code.
|
||||
This is not the case for the Mac OS and Windows ports,
|
||||
which are, unfortunately, discontinued as of now.<br>
|
||||
|
||||
Another feature which has to go are the separate
|
||||
stable and development releases.
|
||||
Starting with this version, all dvdisaster releases
|
||||
are considered production quality, so there is no
|
||||
need for different branches anymore.<p>
|
||||
|
||||
Maintaining the multi-lingual online documentation, which
|
||||
also served as the project home page, did also prove to
|
||||
be too time consuming. The project home page has
|
||||
been changed into a simple download platform for
|
||||
the project sources. It is now directed at package
|
||||
maintainers who will create and pass on binaries
|
||||
for the GNU/Linux, FreeBSD and NetBSD distributions.<br>
|
||||
|
||||
The program documentation, which you are reading
|
||||
right now, is provided in PDF format which is much
|
||||
easier to author than the HTML version. The only
|
||||
language available is English. Most parts of this
|
||||
manual have been adapted from the old online
|
||||
documentation, so it still feels more like a website
|
||||
than a book. While hyperlinks are not as usable in PDF
|
||||
as in HTML, they have been kept in this document to
|
||||
stress that it is intended to be used as an online reference.
|
||||
So please do our environment a favour and do not print
|
||||
this manual. It is not meant to be read
|
||||
from front cover to back cover, anyways.<p>
|
||||
|
||||
Okay, enough ranting already. May dvdisaster be helpful
|
||||
in protecting and recovering your valuable data,
|
||||
and thanks for using it!<p>
|
||||
|
||||
<i> -- cg, August 2015</i>
|
||||
|
||||
<!-- Page footer -->
|
||||
|
||||
<table width="100%" cellpadding="0" border="0">
|
||||
<tr><td colspan="2" style="width:100%; height:10px;"></td></tr>
|
||||
<tr><td colspan="2" class="hsep"></td></tr>
|
||||
<tr>
|
||||
<td align="center">
|
||||
<span class="fs">
|
||||
<i> Copyright 2004-2015 Carsten Gnörlich.<br>
|
||||
Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved.
|
||||
</i>
|
||||
</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr><td colspan="2" class="hsep"></td>
|
||||
</tr>
|
||||
</table>
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,144 +0,0 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
|
||||
<title></title>
|
||||
<link rel="stylesheet" type="text/css" href="../css/dvdisaster.css">
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<!-- Title header -->
|
||||
|
||||
<table width="100%" cellpadding="0" border="0">
|
||||
<tr>
|
||||
<td align="left">
|
||||
<span class="fxxl"><b>dvdisaster</b> </span>
|
||||
<i>Version 0.79.5</i>
|
||||
</td>
|
||||
<td align="right">
|
||||
<span class="fxxl"> </span>
|
||||
<a href="../de/verschiedenes.html">Deutsch</a> English
|
||||
</td>
|
||||
</tr>
|
||||
<tr><td colspan="2" class="hsep"></td></tr>
|
||||
<tr><td colspan="2">
|
||||
<table class="navigation" width="100%" cellpadding="0" border="0">
|
||||
<tr>
|
||||
<td>Navigation:
|
||||
<a href="index.html">Developer site</a> ·
|
||||
<b>Miscellaneous</b>
|
||||
</td>
|
||||
<td align="right">
|
||||
<a href="privacy.html">Privacy policy</a> ·
|
||||
<a href="imprint.html">Contact information</a>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td></tr>
|
||||
<tr><td colspan="2" class="hsep"></td></tr>
|
||||
<tr><td style="height: 10px"></td></tr>
|
||||
</table>
|
||||
|
||||
<!-- Main body -->
|
||||
|
||||
<b>Public key for the digital signature</b><p>
|
||||
|
||||
The downloadable dvdisaster packages have been digitally signed using
|
||||
<a href="http://www.gnupg.org">GnuPG</a> so that you can verify
|
||||
that the software is in its original state.<p>
|
||||
|
||||
Starting with version 0.79.5, releases are signed with this
|
||||
<a href="../downloads/pubkey2.asc">4096bit RSA key</a>:
|
||||
|
||||
<pre>
|
||||
pub 4096R/64F770B2 2015-10-05
|
||||
Key fingerprint = E3AF E703 96CC C0D9 E5D8 381C B0DB CA7D 64F7 70B2
|
||||
uid dvdisaster (pkg signing key #2)
|
||||
sub 4096R/758BCC23 2015-10-05
|
||||
|
||||
</pre>
|
||||
|
||||
Older releases up to version 0.79.3 have been signed with this <a href="../downloads/pubkey1.asc">1024bit DSA key</a>:
|
||||
|
||||
<pre>
|
||||
pub 1024D/F5F6C46C 2003-08-22
|
||||
Key fingerprint = 12B3 1535 AF90 3ADE 9E73 BA7E 5A59 0EFE F5F6 C46C
|
||||
uid Carsten Gnörlich (pkg signing key #1)
|
||||
sub 1024g/091AD320 2003-08-22
|
||||
</pre>
|
||||
|
||||
Feel free to send an email to carsten@dvdisaster.org to obtain
|
||||
the fingerprint directly from the developers.
|
||||
Please include "GPG finger print" in the subject line.
|
||||
|
||||
<p>
|
||||
|
||||
<b>User's manual</b><p>
|
||||
<a name="manual"></a>
|
||||
|
||||
|
||||
The user manual is provided as a <a href="../downloads/manual.pdf">PDF document (manual.pdf)</a>.
|
||||
It contains several basic examples of using dvdisaster and some background
|
||||
information on its way of working. <br>
|
||||
You do not need to download the manual if you already have the
|
||||
source code archive - a copy of the manual is contained there.
|
||||
<p>
|
||||
|
||||
<b>Codec specification</b><p>
|
||||
|
||||
The specification of the RS01, RS02 and RS03 codec
|
||||
is available as a <a href="../downloads/codec.pdf">PDF document (codecs.pdf)</a>.
|
||||
|
||||
This document is meant to discuss the codec implementation among developers.
|
||||
It requires knowledge in the area of coding theory and is not meant as end
|
||||
user documentation.
|
||||
|
||||
<table>
|
||||
<tr><td>
|
||||
<a href="http://pdfreaders.org/"><img src="http://pdfreaders.org/graphics/pdfreaders-lang-neutral.png" alt="pdfreaders.org" /></a></td>
|
||||
<td>Software for reading the PDF document is available at <a href="http://pdfreaders.org">PDFreaders.org</a>.</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<p>
|
||||
<b>Last Windows release</b><p>
|
||||
<a name="windows"></a>
|
||||
|
||||
A native Windows fork of dvdisaster will be started soon by another developer,
|
||||
but there is nothing to announce yet.
|
||||
In the mean time, please continue using the last published version for Windows (0.72.3):
|
||||
|
||||
<table>
|
||||
<tr>
|
||||
<td>Source code: </td>
|
||||
<td><a href="../downloads/dvdisaster-0.72.3.tar.bz2">dvdisaster-0.72.3.tar.bz2</a></td>
|
||||
<td>(<a href="../downloads/dvdisaster-0.79.5.tar.bz2.gpg">digital signature</a>,
|
||||
MD5 checksum: 4eb09c1aa3cdbc1dafdb075148fb471d)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Binary installer: </td>
|
||||
<td><a href="../downloads/dvdisaster-0.72.3-setup.exe">dvdisaster-0.72.3-setup.exe</a></td>
|
||||
<td>(<a href="../downloads/dvdisaster-0.72.3-setup-exe..gpg">digital signature</a>,
|
||||
MD5 checksum: b6861ba1e8de6d91a2da5342a14870e0)</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<!-- Page footer -->
|
||||
|
||||
<table width="100%" cellpadding="0" border="0">
|
||||
<tr><td colspan="2" style="width:100%; height:10px;"></td></tr>
|
||||
<tr><td colspan="2" class="hsep"></td></tr>
|
||||
<tr>
|
||||
<td align="center">
|
||||
<span class="fs">
|
||||
<i> Copyright 2004-2015 Carsten Gnörlich.<br>
|
||||
Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved.
|
||||
</i>
|
||||
</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr><td colspan="2" class="hsep"></td>
|
||||
</tr>
|
||||
</table>
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,117 +0,0 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
|
||||
<title></title>
|
||||
<link rel="stylesheet" type="text/css" href="../css/dvdisaster.css">
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<!-- Title header -->
|
||||
|
||||
<table width="100%" cellpadding="0" border="0">
|
||||
<tr>
|
||||
<td align="left">
|
||||
<span class="fxxl"><b>dvdisaster</b> </span>
|
||||
<i>Version 0.79.5</i>
|
||||
</td>
|
||||
<td align="right">
|
||||
<span class="fxxl"> </span>
|
||||
<a href="../de/datenschutz.html">Deutsch</a> English
|
||||
</td>
|
||||
</tr>
|
||||
<tr><td colspan="2" class="hsep"></td></tr>
|
||||
<tr><td colspan="2">
|
||||
<table class="navigation" width="100%" cellpadding="0" border="0">
|
||||
<tr>
|
||||
<td>Navigation:
|
||||
<a href="index.html">Developer site</a> ·
|
||||
<a href="misc.html">Miscellaneous</a>
|
||||
</td>
|
||||
<td align="right">
|
||||
<b>Privacy policy</b> ·
|
||||
<a href="imprint.html">Contact information</a>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td></tr>
|
||||
<tr><td colspan="2" class="hsep"></td></tr>
|
||||
<tr><td style="height: 10px"></td></tr>
|
||||
</table>
|
||||
|
||||
<!-- Main body -->
|
||||
|
||||
<b>Privacy statement for the web sites</b><p>
|
||||
|
||||
dvdisaster.com,
|
||||
dvdisaster.de,
|
||||
dvdisaster.net,
|
||||
dvdisaster.org
|
||||
|
||||
<p>
|
||||
|
||||
The dvdisaster project (<a href="imprint.html">see the contact page for representatives</a>)
|
||||
is taking your privacy seriously. The following statement gives you an overview
|
||||
about the kind and purpose of the data we are collecting:
|
||||
|
||||
<p>
|
||||
|
||||
<b>Log files</b> (data processed by our internet servers)<p>
|
||||
|
||||
Your visit of our internet sites is being logged.
|
||||
Our servers collect the following data:
|
||||
|
||||
<ul>
|
||||
<li>the type and version of your web browser</li>
|
||||
<li>the operating system being used</li>
|
||||
<li>the web site from which you were directed to our internet site (if applicable)</li>
|
||||
<li>the host name or IP address of the computer which made the access</li>
|
||||
<li>the time and date of the server query</li>
|
||||
<li>the file names of the visited pages.</li>
|
||||
</ul>
|
||||
|
||||
This data is not used to identify the visitors of our web sites.
|
||||
It will not be combined with other data sources. The data will be
|
||||
deleted after a statistical analysis.
|
||||
|
||||
<p>
|
||||
|
||||
<b>Cookies</b><p>
|
||||
|
||||
This internet site does not use cookies.
|
||||
|
||||
<p>
|
||||
|
||||
<b>Links to other internet sites</b><p>
|
||||
|
||||
Our internet pages contain links to other internet sites.
|
||||
The dvdisaster project has no control over their publishers,
|
||||
and whether they follow our privacy policy.
|
||||
|
||||
<p>
|
||||
|
||||
<b>Further development of these internet pages</b><p>
|
||||
|
||||
Further development of these internet pages may require our privacy policy
|
||||
to be changed. Please revisit this policy statement occasionally and watch for
|
||||
change notices.
|
||||
|
||||
<!-- Page footer -->
|
||||
|
||||
<table width="100%" cellpadding="0" border="0">
|
||||
<tr><td colspan="2" style="width:100%; height:10px;"></td></tr>
|
||||
<tr><td colspan="2" class="hsep"></td></tr>
|
||||
<tr>
|
||||
<td align="center">
|
||||
<span class="fs">
|
||||
<i> Copyright 2004-2015 Carsten Gnörlich.<br>
|
||||
Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved.
|
||||
</i>
|
||||
</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr><td colspan="2" class="hsep"></td>
|
||||
</tr>
|
||||
</table>
|
||||
</body>
|
||||
</html>
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 3.4 KiB |
@@ -11,7 +11,7 @@ archclean: clean
|
||||
single:
|
||||
pdflatex manual
|
||||
|
||||
manual.pdf: preface.tex background.tex defect-reporting.tex howtos.tex manual.tex qa.tex burning-compatibility.tex download.tex local.tex overview.tex
|
||||
manual.pdf: preface.tex background.tex defect-reporting.tex howtos.tex manual.tex qa.tex download.tex local.tex overview.tex
|
||||
pdflatex manual
|
||||
pdflatex manual
|
||||
pdflatex manual
|
||||
|
||||
@@ -272,7 +272,7 @@ media with augmented images may not play correctly on all units \\
|
||||
\end{tabular}
|
||||
|
||||
\paragraph{Further reading.} The specification for the dvdisaster codecs
|
||||
has been specified in a separate document called \href{http://dvdisaster.net/downloads/codecs.pdf}{codecs.pdf}.
|
||||
has been specified in a separate document called \href{https://web.archive.org/web/20180428070843/http://dvdisaster.net/downloads/codecs.pdf}{codecs.pdf}.
|
||||
Good knowledge in coding theory and programming is required.
|
||||
|
||||
\subsection{The linear reading strategy}
|
||||
|
||||
@@ -1,196 +0,0 @@
|
||||
\section{Burning software compatibility}
|
||||
\label{burning-compatibility}
|
||||
|
||||
dvdisaster must be used in conjunction with a CD/DVD/BD writing suite (``burning program'')
|
||||
in order to generate ISO images and to write augmented ISO image files. Unfortunately,
|
||||
not all burning programs provide the required features to work with dvdisaster.
|
||||
Some burning programs may even produce media and/or ISO images which can not be
|
||||
used with dvdisaster.
|
||||
|
||||
\smallskip
|
||||
|
||||
For your convenience, the dvdisaster project has tested some free burning programs
|
||||
available for GNU/Linux. Please note that this list will always be incomplete and
|
||||
only be a snapshot of a certain program version. It is likely to be outdated when
|
||||
you are reading this page. It is therefore recommended that you test your specific
|
||||
burning program version by following the \tlnk{howto-compat-overview}{instructions} given
|
||||
in the howto section.
|
||||
|
||||
\paragraph{Recommended software}\quad
|
||||
|
||||
\medskip
|
||||
|
||||
The dvdisaster project recommends either using the command line tools
|
||||
listed below or using the K3B burning application (which is actually
|
||||
a graphical wrapper around the command line tools).
|
||||
|
||||
\paragraph{Burning program compatibility table}\quad
|
||||
|
||||
\medskip
|
||||
|
||||
\newcommand{\tgrey}[1]{\cellcolor{dkgrey}#1}
|
||||
\newcommand{\tturquoise}[1]{\cellcolor{turquoise}#1}
|
||||
\newcommand{\tpink}[1]{\cellcolor{pink}#1}
|
||||
\newcommand{\tblue}[1]{\cellcolor{dkblue}#1}
|
||||
|
||||
\newcommand{\tred}[1]{&\begin{minipage}{10mm}{\cellcolor{ltred}#1}\end{minipage}}
|
||||
\newcommand{\tyellow}[1]{&\begin{minipage}{10mm}\cellcolor{ltyellow}{#1}\end{minipage}}
|
||||
\newcommand{\ok}{&\cellcolor{ltgreen}OK}
|
||||
\newcommand{\na}{&\cellcolor{ltgrey}n.a.}
|
||||
\newcommand{\nt}{&\begin{minipage}{10mm}{not tested}\end{minipage}}
|
||||
|
||||
\begin{tabular}{|c|c|c|c|c|c|c|c|c|c|}
|
||||
\hline
|
||||
\tgrey{} & \tgrey{} & \tgrey{} & \tturquoise{Create} &
|
||||
\multicolumn{3}{c|}{\tpink{Burning images}} & \multicolumn{3}{c|}{\tblue{Burning images}} \\
|
||||
|
||||
\tgrey{Program} & \tgrey{Version} & \tgrey{Testing} & \tturquoise{ISO/} &
|
||||
\multicolumn{3}{c|}{\tpink{for error}} &
|
||||
\multicolumn{3}{c|}{\tblue{with embedded}} \\
|
||||
|
||||
\tgrey{} & \tgrey{} & \tgrey{Date} & \tturquoise{UDF} &
|
||||
\multicolumn{3}{c|}{\tpink{correction files}} &
|
||||
\multicolumn{3}{c|}{\tblue{error correction}} \\
|
||||
|
||||
\cline{5-10}
|
||||
\tgrey{} & \tgrey{} & \tgrey{} &\tturquoise{Image} &\tpink{CD} &\tpink{DVD} &\tpink{BD} &\tblue{CD} &\tblue{DVD} &\tblue{BD} \\
|
||||
|
||||
\hline
|
||||
\multicolumn{10}{|c|}{\cellcolor{ltgrey}Command line tools} \\
|
||||
|
||||
\hline
|
||||
genisoimage & 1.1.11 & Jul'14 \ok \na \na \na \na \na \na \\
|
||||
|
||||
\hline
|
||||
wodim & 1.1.11 & Jul'14 \na \ok \ok \na \ok \ok \na \\
|
||||
|
||||
\hline
|
||||
growisofs & 7.1 & Jul'14 \na \na \ok \ok \na \ok \ok \\
|
||||
|
||||
\hline
|
||||
\multicolumn{10}{|c|}{\cellcolor{ltgrey}Tools with a graphical user interface} \\
|
||||
|
||||
\hline
|
||||
brasero & 3.4.1 & Jul'14 \tred{no UDF$^{1)}$} \tyellow{avoid$^{2)}$} \ok \na \tyellow{avoid$^{2)}$} \ok \na \\
|
||||
|
||||
\hline
|
||||
K3B & 2.0.2 & Jul'14 \ok \ok \ok \na \ok \ok \na \\
|
||||
|
||||
\hline
|
||||
xfburn & 0.4.3 & Jul'14 \ok \tyellow{re-read only$^{3)}$} \tyellow{re-read only$^{3)}$} \na \tred{do not use$^{3)}$} \tred{do not use$^{3)}$} \na \\
|
||||
\hline
|
||||
\end{tabular}
|
||||
|
||||
\bigskip
|
||||
|
||||
\paragraph{Testing conditions and objectives}\quad
|
||||
\medskip
|
||||
|
||||
Testing was done using Debian 7.5 (wheezy) on an amd64 machine.
|
||||
Versions of the tested writing software are indicated in the table above.
|
||||
|
||||
\medskip
|
||||
|
||||
Evaluation of the burning software is done for the two major cases where
|
||||
interoperability with dvdisaster is required:
|
||||
|
||||
\bigskip
|
||||
|
||||
a) Creating error correction files
|
||||
|
||||
\medskip
|
||||
|
||||
The burning program is used to assemble an ISO image from a selected set of files,
|
||||
and to write a CD, DVD or BD disc from it. An \tlnk{howto-eccfile}{error correction file} will
|
||||
be created to protect this medium.
|
||||
|
||||
\smallskip
|
||||
|
||||
There are two ways of obtaining the ISO image for creating the error correction file:
|
||||
|
||||
\begin{enumerate}
|
||||
\item The burning program is used to create an ISO image which is stored on hard disk.
|
||||
This image is used for burning the medium and for creating the error correction file.
|
||||
If the writing software creates a medium which does not exactly match the image,
|
||||
the resulting error correction file may be useless.
|
||||
A respective \tlnk{howto-compat-file}{testing method} is described
|
||||
in the ``Howtos'' section. An ``OK'' in the table above indicates that
|
||||
this test has been passed. But you are strongly advised to
|
||||
\tlnk{howto-compat-file}{do your own test} at least
|
||||
once to make sure that you are working on the same versions and premises.
|
||||
|
||||
\smallskip
|
||||
|
||||
If it is not possible to use a pre-made ISO image for both writing the medium
|
||||
and for creating the error correction file, the writing software is
|
||||
rated ``Re-read only'' in the table. In that case, use the alternative
|
||||
approach described below (topic 2).
|
||||
|
||||
\item The burning program is used to write a medium, either by using a
|
||||
pre-made ISO image or by creating the image on-the-fly while writing
|
||||
the medium. Afterwards, the pre-made ISO image is discarded. dvdisaster
|
||||
is used to read back a new ISO image from the newly written medium. From
|
||||
this newly created ISO image the error correction file is created. This
|
||||
process should always work; if not, the respective burning software is
|
||||
marked as being unusable in the table.
|
||||
\end{enumerate}
|
||||
|
||||
\bigskip
|
||||
|
||||
b) Augmenting a medium with error correction data
|
||||
|
||||
\medskip
|
||||
|
||||
\tlnk{howto-augment-write-iso}{Creating a medium}
|
||||
\tlnk{howto-augment}{with embedded error correction data} is comprised of
|
||||
several sub tasks: First, the burning application converts a selection of files
|
||||
into an ISO image stored on hard disk. dvdisaster augments the image residing
|
||||
on the hard disk with error correction data. Then, the burning application
|
||||
writes the augmented image to the CD, DVD or BD. The ISO image content or format
|
||||
must not be altered during the writing process. Especially, the added error correction
|
||||
sectors must not be removed and no padding sectors must be added to the image during
|
||||
the writing process. The ``Howto'' section describes
|
||||
\tlnk{howto-compat-augment}{a test for compatibility between
|
||||
a writing software and dvdisaster}. An ``OK'' in the table above indicates that this
|
||||
test has been passed; otherwise you can not use the respective software for writing
|
||||
augmented images. You are strongly advised to \tlnk{howto-compat-augment}{do your own test} at
|
||||
least once to make sure that you are working on the same versions
|
||||
and premises even with software marked as compatible in the table above.
|
||||
|
||||
\bigskip
|
||||
|
||||
c) Creating ISO images
|
||||
|
||||
\medskip
|
||||
|
||||
In addition, the table indicates whether the burning application can convert
|
||||
a selection of files into an ISO image and store that ISO image on hard disk
|
||||
for further processing with dvdisaster.
|
||||
|
||||
\paragraph{Notes (why a certain software failed a test)}\quad
|
||||
\medskip
|
||||
|
||||
$^{1)}${\bf brasero} can only create ISO images, not ISO/UDF. This is not
|
||||
recommended for DVD-Video authoring and has the disadvantage that files
|
||||
with sizes greater than 2GiB can not be used in a portable way (the tested
|
||||
version can not use files larger than 2GiB at all even if it says otherwise).
|
||||
|
||||
\bigskip
|
||||
|
||||
$^{2)}${\bf brasero} does not support the ``disc at once'' writing strategy. This
|
||||
creates two spurious unreadable sectors at the end of CD media. dvdisaster
|
||||
can handle such media, but will issue a warning and requires a preferences
|
||||
setting each time such media is processed.
|
||||
|
||||
\bigskip
|
||||
|
||||
$^{3)}${\bf xfburn} can not be used to write RS02/RS03 augmented images due to a
|
||||
wrong implementation of padding sector handling. In a correct implementation,
|
||||
a burning program would add 150 zero padding sectors to an image it has created
|
||||
itself. However padding sectors must never be added to an image which was created
|
||||
or manipulated by a foreign application, such as an image being augmented by dvdisaster.
|
||||
This results in the image being read back with wrong checksums, and dvdisaster will
|
||||
rightfully complain that the ``Image file is 150 sectors longer than expected.''.
|
||||
Error correction files can - for the same reason - not be used when created from
|
||||
the original image, but it is possible to re-read the image from the written
|
||||
medium and create error correction files from that image.
|
||||
@@ -15,8 +15,8 @@ the \href{http://www.gnu.org/licenses/gpl-3.0.txt}{GNU General Public License v3
|
||||
|
||||
\bigskip
|
||||
|
||||
The dvdisaster developer site (\url{http://dvdisaster.net}) contains
|
||||
the latest source code releases for the FreeBSD, GNU/Linux and NetBSD
|
||||
The dvdisaster developer site (\homepage) contains
|
||||
source code releases for the FreeBSD, GNU/Linux and NetBSD
|
||||
operating systems. These are mostly aimed at maintainers of binary packages for
|
||||
the beforementioned platforms. As an end user you might find it more convenient
|
||||
to install dvdisaster from the package system of your operating system bundle or
|
||||
@@ -36,7 +36,7 @@ is optional; you can use dvdisaster directly from the build tree.
|
||||
\paragraph{Hardware requirements}\quad
|
||||
|
||||
\begin{itemize}
|
||||
\item x86, PowerPC or Sparc processor;
|
||||
\item x86, ARM or PowerPC processor;
|
||||
\item an up-to-date CD/DVD/BD drive with ATAPI, SATA or SCSI interface;
|
||||
\item enough hard disk space for creating .iso images from processed media.
|
||||
\end{itemize}
|
||||
@@ -73,7 +73,7 @@ NetBSD & 6.1.5 \\
|
||||
|
||||
\medskip
|
||||
|
||||
Support for Windows and Mac OS has been ended
|
||||
Support for Windows and Mac OS X has been ended
|
||||
and is not planned to be resumed in the
|
||||
future (see \tlnk{qa-discontinued-os}{QA item 2.4 for an explanation)}.
|
||||
|
||||
@@ -93,6 +93,13 @@ won't do, we have compiled the following list:
|
||||
|
||||
\smallskip
|
||||
|
||||
The dvdisaster project uses the following web site for supplying software downloads:
|
||||
|
||||
\begin{center}
|
||||
\homepage
|
||||
\end{center}
|
||||
|
||||
\begin{comment}
|
||||
The dvdisaster project uses the following internet domains for publishing
|
||||
its web sites and supplying software downloads:
|
||||
|
||||
@@ -106,6 +113,8 @@ dvdisaster.org
|
||||
\end{center}
|
||||
|
||||
All domains are forwarded to the same site at dvdisaster.net.
|
||||
\end{comment}
|
||||
|
||||
No other internet or download sites are run by the dvdisaster project.
|
||||
|
||||
\paragraph{No money or personal data required.}\quad
|
||||
@@ -133,6 +142,6 @@ We cannot accept them for various reasons.
|
||||
\smallskip
|
||||
|
||||
dvdisaster releases are always published with cryptographic signatures
|
||||
and md5 checksums. See the \href{http://dvdisaster.net}{download site} for examples.
|
||||
and md5 checksums. See the \href{https://web.archive.org/web/20180428070843/http://dvdisaster.net}{download site} for examples.
|
||||
Be very cautious if signatures and checksums are missing, invalid or not
|
||||
matching those published at the sites mentioned above.
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -2069,9 +2069,8 @@ want to re-invent medium writing in dvdisaster, as a lot of useful programs
|
||||
have already been written for this task. You should however pick a writing
|
||||
application which supports SAO/DAO (session at once / disc at once) writing
|
||||
on CD media and does not modify ISO images supplied by third-party software
|
||||
(like dvdisaster). Some common free burning programs for GNU/Linux have been
|
||||
\tlnk{burning-compatibility}{evaluated in the burning software compatibility section}.
|
||||
For a start try using the K3B burning program.
|
||||
(like dvdisaster). Not all burning programs are \tlnk{howto-compat-overview}{compatible with dvdisaster}, so new programs should be
|
||||
\tlnk{howto-compat-augment}{checked before using}. For a start we recommend the K3B burning program.
|
||||
|
||||
\bigskip
|
||||
|
||||
@@ -3626,14 +3625,6 @@ writing software does \tlnk{howto-compat-augment}{correctly transfer the error c
|
||||
when using it with augmented images for the first time.
|
||||
\end{itemize}
|
||||
|
||||
\smallskip
|
||||
|
||||
Please see also the \tlnk{burning-compatibility}{burning software compatibility list}. From time
|
||||
to time the dvdisaster project evaluates some of the most popular burning
|
||||
software for the GNU/Linux platform and summarizes the results there.
|
||||
|
||||
%\newpage
|
||||
|
||||
\subsubsection{Testing compatibility with CD/DVD/BD writing software for error correction files}
|
||||
\label{howto-compat-file}
|
||||
|
||||
@@ -3646,6 +3637,8 @@ In order to save time you do the following:
|
||||
\item You create the error correction file from the same image.
|
||||
\end{enumerate}
|
||||
|
||||
\newpage
|
||||
|
||||
\paragraph{Possible incompatibility:} The writing software creates a medium which
|
||||
does not exactly match the image. This might prevent the error correction from recovering
|
||||
the medium contents when it becomes defective.
|
||||
|
||||
Binary file not shown.
@@ -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
|
||||
@@ -11,6 +11,7 @@
|
||||
\usepackage{color}
|
||||
\usepackage[table]{xcolor}
|
||||
\usepackage{hyperref}
|
||||
\usepackage{comment}
|
||||
|
||||
\marginsize{30mm}{20mm}{20mm}{20mm} % Seitenränder links, rechts, oben, unten
|
||||
\parindent0em % Keine amerikanische Einrückung am Anfang von Paragraphen
|
||||
@@ -40,7 +41,7 @@
|
||||
|
||||
\hypersetup{
|
||||
pdftitle={dvdisaster User's Manual},
|
||||
pdfauthor={Carsten Gnörlich},
|
||||
pdfauthor={Written by the dvdisaster development team},
|
||||
colorlinks=true,
|
||||
linkcolor=linkblue,
|
||||
citecolor=linkblue,
|
||||
@@ -65,12 +66,14 @@
|
||||
\fancyfoot{}
|
||||
\fancyfoot[LE,RO]{page \thepage\ of \pageref{LastPage}}
|
||||
|
||||
\pdftrailerid{dvdisaster}
|
||||
\pdfsuppressptexinfo=-1
|
||||
\begin{document}
|
||||
|
||||
\definecolor{lightorange}{RGB}{255,224,150}
|
||||
\pagecolor{lightorange}
|
||||
\title{The dvdisaster User's Manual}
|
||||
\author{Carsten Gnörlich\\carsten@dvdisaster.org}
|
||||
\author{Written by the dvdisaster development team\\support@dvdisaster.org}
|
||||
\date{}
|
||||
\maketitle
|
||||
\thispagestyle{empty}
|
||||
@@ -90,7 +93,7 @@ for optical media such as CD, DVD and BD discs.
|
||||
Use cases for creating ecc data, recovering defective media
|
||||
using ecc data and for general maintenanance of optical
|
||||
media are given.
|
||||
See \url{http://dvdisaster.org} for additional resources on
|
||||
See \homepage for additional resources on
|
||||
the dvdisaster project, e.g. for the {\em blue} manual (codecs.pdf)
|
||||
containing a formal specification of the error correction data format.
|
||||
\end{abstract}
|
||||
@@ -98,9 +101,10 @@ containing a formal specification of the error correction data format.
|
||||
\vfill
|
||||
\begin{center}
|
||||
{\em
|
||||
Copyright 2008-2015 Carsten Gnörlich.
|
||||
Verbatim copying and distribution of this entire article is permitted in any medium,
|
||||
provided this notice is preserved.}
|
||||
Copyright 2008-2017 Carsten Gnörlich.\\
|
||||
Copyright 2019-2021 The dvdisaster development team.\\
|
||||
Verbatim copying and distribution of this entire article is permitted in
|
||||
any medium, provided this notice is preserved.}
|
||||
\end{center}
|
||||
|
||||
\newpage
|
||||
@@ -129,9 +133,6 @@ provided this notice is preserved.}
|
||||
\input{background}
|
||||
\newpage
|
||||
|
||||
\input{burning-compatibility}
|
||||
\newpage
|
||||
|
||||
\input{defect-reporting}
|
||||
|
||||
\label{LastPage}\label{missing}
|
||||
|
||||
@@ -37,7 +37,7 @@ protected media, you're looking at the wrong place. Such functions are
|
||||
outside the scope of dvdisaster's internal design and goals.
|
||||
Contrary to some myths saying otherwise: dvdisaster contains
|
||||
no hidden program fragments or switches for reading protected discs.
|
||||
Check the source code for yourself if you don't trust me.
|
||||
Check the source code for yourself if you don't trust us.
|
||||
|
||||
|
||||
\subsection{How to use this manual}
|
||||
@@ -79,9 +79,8 @@ and finally a few \tlnk{background-eccfile-storage}{hints for storing error corr
|
||||
\smallskip
|
||||
|
||||
As not all optical disc burning software may be compatible with dvdisaster,
|
||||
you might want to check
|
||||
the \tlnk{burning-compatibility}{compatibility table} and the additional
|
||||
information provided with it.
|
||||
you might want to
|
||||
the \tlnk{howto-compat-overview}{perform compatibility tests} before using it .
|
||||
|
||||
\smallskip
|
||||
|
||||
@@ -101,8 +100,8 @@ please see the \tlnk{reporting-defects}{reporting defects} section.
|
||||
|
||||
\paragraph{Recovery of aged media.}
|
||||
The medium processed here has become discolored and partly unreadable in its outer region.
|
||||
A reading attempt yields about 23.000 unreadable sectors of 342.000 sectors total;
|
||||
resulting in about 7,2\% defective sectors. Figure \ref{recover-linear} shows the
|
||||
A reading attempt yields about 23.600 unreadable sectors of 360056 sectors total;
|
||||
resulting in about 6,6\% defective sectors. Figure \ref{recover-linear} shows the
|
||||
dvdisaster window after the reading attempt. The distribution of reading speed and
|
||||
read errors over the medium is graphically shown.
|
||||
The still readable sectors are stored in an ISO image called {\em medium.iso}.
|
||||
@@ -114,7 +113,7 @@ The still readable sectors are stored in an ISO image called {\em medium.iso}.
|
||||
\end{figure}
|
||||
|
||||
\paragraph{Repairing the defective image.}
|
||||
The image which has been just read is incomplete since about 23.000 sectors could
|
||||
The image which has been just read is incomplete since about 23.600 sectors could
|
||||
not be read. These sectors are now reconstructed using the error correction data
|
||||
created with dvdisaster. During the recovery a maximum of 20 errors per error
|
||||
correction block is encountered (see figure \ref{fix-image}).
|
||||
@@ -129,7 +128,7 @@ than a normal backup, though). Like an ordinary backup, the ecc data needs
|
||||
to be created before the medium goes defective.
|
||||
|
||||
So if you have a defective medium but never created ecc data for it, you will
|
||||
not be able to recover the defective sectors (23.000 in the above example).
|
||||
not be able to recover the defective sectors (23.600 in the above example).
|
||||
The data located at the end of the medium will be lost, while you will probably
|
||||
be able to extract some files which are located at the beginning of the medium.
|
||||
\newpage
|
||||
|
||||
@@ -1,6 +1,19 @@
|
||||
\section*{Preface}
|
||||
\markboth{Preface}{Preface}
|
||||
\label{preface}
|
||||
|
||||
After the publishing of version 0.79.5, the project has been dormant for another half decade. As time has passed by, it is foreseeable that optical media will become extinct just like floppy discs did long ago. Still, it is important to preserve the contents of already existing optical media. Towards this end, we will maintain dvdisaster to keep it usable on current hardware and OS versions.
|
||||
|
||||
We do not plan for a rapid release cycle. Neither will many new features be introduduced like it was at the beginning of the project. Instead, we will strive to fill in the missing gaps left over from the still open RS03 release cycle. Afterwards, dvdisaster shall be kept sound and complete as long as optical media are still in use.
|
||||
|
||||
\bigskip
|
||||
|
||||
{\em -- -- The dvdisaster development team, Spring 2021}
|
||||
|
||||
|
||||
\newpage
|
||||
\section*{Preface for version 0.79.5}
|
||||
|
||||
Since the release of dvdisaster 0.79.3\footnote{Version 0.79.4 was never finished
|
||||
and released.}, nearly five years have passed.
|
||||
This was partly due to changed circumstances in its
|
||||
|
||||
@@ -257,11 +257,19 @@ Usable media by type:
|
||||
|
||||
\medskip
|
||||
|
||||
{\bf BD-R, BD-RW}
|
||||
{\bf BD-R, BD-RW} \quad (one or two layers)
|
||||
|
||||
\begin{itemize}
|
||||
\item No limitations are known so far, but very few results on the
|
||||
two-layered type (the 50GiB variety) have been reported yet.
|
||||
\item No limitations are known.
|
||||
\end{itemize}
|
||||
|
||||
\medskip
|
||||
|
||||
{\bf BDXL-R}
|
||||
|
||||
\begin{itemize}
|
||||
\item Currently only the three-layered (100GB) version is tested and supported.
|
||||
\item Note: BDXL is not backwards compatible with standard BD drives.
|
||||
\end{itemize}
|
||||
|
||||
\medskip
|
||||
@@ -351,7 +359,19 @@ Usable media by type:
|
||||
You are welcome, of course, to provide an unoffical translation of the
|
||||
project documentation on your own webspace and at your own discretion. }
|
||||
|
||||
\newpage
|
||||
\qa{There are problems opening this manual from dvdisaster\label{qa-manual}}
|
||||
{dvdisaster uses {\tt xdg-open} for bringing up the PDF viewer. {\tt xdg-open} keeps a record of file types and applications capable of displaying them. However on some systems, {\tt xdg-open} is either not configured properly for viewing PDF, or misconfigured to use inappropriate programs like {\em Gimp}.
|
||||
|
||||
\smallskip
|
||||
|
||||
\paragraph{Remedy.} Configure {\tt xdg-open} properly. Usually the configuration is found in the ``settings'' menu of your desktop. As an alternative, use the command line to configure it for {\em xpdf}:
|
||||
|
||||
\smallskip
|
||||
|
||||
{\tt xdg-mime default xpdf.desktop application/pdf}}
|
||||
|
||||
|
||||
%\newpage
|
||||
|
||||
\subsection{Error messages}
|
||||
\label{qa-error}
|
||||
@@ -457,6 +477,6 @@ drive for reading images in these cases.}
|
||||
|
||||
\qa{``Ecc file has been created with version 0.40.7.''}
|
||||
{Some developer versions of dvdisaster mark their ecc files with a special bit.
|
||||
This causes dvdisaster versions upto 0.65 to falsely display the above error
|
||||
This causes dvdisaster versions up to 0.65 to falsely display the above error
|
||||
message. Please use the developer versions only together with dvdisaster
|
||||
0.66 or newer versions. }
|
||||
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 46 KiB After Width: | Height: | Size: 46 KiB |
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user