Compare commits
237 Commits
upstream/0
...
v0.79.6-pl
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
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 | ||
|
|
2388e522b3 | ||
|
|
b3b74e69d9 | ||
|
|
3af39d5b74 | ||
|
|
d813ad385b | ||
|
|
c4d7120860 | ||
|
|
5f5aef550f | ||
|
|
0144e738fb | ||
|
|
5d5e943c51 | ||
|
|
06c675c1fd | ||
|
|
a5f48d91a3 | ||
|
|
f83f9e81b0 | ||
|
|
38a3127d2f | ||
|
|
9f38622429 | ||
|
|
520b4cb8c9 | ||
|
|
af00bbb1cb | ||
|
|
34afe54009 | ||
|
|
a66cebafd3 | ||
|
|
eaa545b89c | ||
|
|
72767c589f | ||
|
|
1a3b3cbfa7 | ||
|
|
1b266ccbde | ||
|
|
7d36061007 | ||
|
|
645178ef92 | ||
|
|
1a6b38f9a5 | ||
|
|
a614f5d1f7 | ||
|
|
52204ec502 | ||
|
|
84716913ad | ||
|
|
f16a9b9c7b | ||
|
|
bb6d3049f5 | ||
|
|
c68a08fb59 | ||
|
|
c71560a5f2 | ||
|
|
a8579f2310 | ||
|
|
89cf9f96be | ||
|
|
1d80dd8d65 | ||
|
|
f7d26c5dda | ||
|
|
66e2abac90 | ||
|
|
ba84c34dce | ||
|
|
ce67360bbf | ||
|
|
2f2a3918ee | ||
|
|
71f4bac562 | ||
|
|
5343babeb4 | ||
|
|
f9b03ad387 | ||
|
|
b603c4f5be | ||
|
|
09760e826d | ||
|
|
4f4b91805a | ||
|
|
df576e4510 | ||
|
|
16c1f0cc01 | ||
|
|
5fe15556d7 | ||
|
|
499f5b41ae | ||
|
|
f85bbb920a | ||
|
|
04ce38ec85 | ||
|
|
f8dc3ae4a9 | ||
|
|
367a650129 | ||
|
|
1d134855eb | ||
|
|
352e03e296 | ||
|
|
254a31248c | ||
|
|
0efa890674 | ||
|
|
4a360d1e86 | ||
|
|
df6fe7761f | ||
|
|
c525e2fdf9 | ||
|
|
6715d62989 | ||
|
|
a8f06a0b4d | ||
|
|
5f8bcae4b3 | ||
|
|
5d0bcafecc | ||
|
|
8467adff67 | ||
|
|
e8f1c10d5c | ||
|
|
649f2e6e80 | ||
|
|
37a0c5dacb | ||
|
|
ee5d92b276 | ||
|
|
76b5a1b44b | ||
|
|
53629e2ee7 | ||
|
|
0b5d917bab | ||
|
|
63e31ec0b1 | ||
|
|
d2a8cb357b | ||
|
|
943c49baca | ||
|
|
2b2db42faf | ||
|
|
52734ab081 | ||
|
|
f2faa26920 | ||
|
|
cbea35454b | ||
|
|
beb037c83a | ||
|
|
55e2eceb2f | ||
|
|
66a09cac46 | ||
|
|
35a67aeb62 | ||
|
|
5223f60753 | ||
|
|
e2e5998004 | ||
|
|
ceff546a54 | ||
|
|
a24f411118 | ||
|
|
7757fa7186 | ||
|
|
f754ce1075 | ||
|
|
0a72a11315 | ||
|
|
45af00b78e | ||
|
|
5249b88996 | ||
|
|
ec90405195 | ||
|
|
02429d92bc | ||
|
|
e4dd16533b | ||
|
|
86278fbab4 | ||
|
|
638e490827 | ||
|
|
1af1a99951 | ||
|
|
318f2c2256 | ||
|
|
17aa97679e | ||
|
|
cc2d9f8e3a | ||
|
|
5a462353d1 | ||
|
|
53abce82da | ||
|
|
9876613ba0 | ||
|
|
e3cdc289e4 | ||
|
|
deeb8cc725 | ||
|
|
606d4178ee | ||
|
|
ab070f0354 | ||
|
|
bfe15b23fb | ||
|
|
c3da7b4a44 | ||
|
|
e95352d3f5 | ||
|
|
f18c1018bc | ||
|
|
c63439d879 | ||
|
|
7d95600ddb | ||
|
|
fb476bac8c | ||
|
|
e4fb88eb2d | ||
|
|
5053ead62f | ||
|
|
95d251f6c4 | ||
|
|
774cba8932 | ||
|
|
09f902b05f | ||
|
|
848b6782bd | ||
|
|
b8f0e626e4 | ||
|
|
96b581bdd0 | ||
|
|
cea78c3862 | ||
|
|
80e291c7e4 | ||
|
|
57e4fab14b | ||
|
|
219494102d | ||
|
|
f51c51aad9 | ||
|
|
7771474ad7 | ||
|
|
65764829ad | ||
|
|
9fe0db45c7 | ||
|
|
70a6efdc89 | ||
|
|
fac6933b94 | ||
|
|
00e19688b4 | ||
|
|
237207698a | ||
|
|
af26379c0c | ||
|
|
3ee8b47d0c | ||
|
|
da276c7fc4 | ||
|
|
d8edfc2ac4 | ||
|
|
0683a48953 | ||
|
|
a6dd6eaf97 | ||
|
|
9e778cc617 | ||
|
|
26207495ec | ||
|
|
487811728e | ||
|
|
1fbaa497e2 | ||
|
|
8f429ba0a8 | ||
|
|
a02e5d8a10 | ||
|
|
8ea2ebcd2a |
@@ -1,4 +0,0 @@
|
||||
PRIVATE
|
||||
test-cases
|
||||
regtest
|
||||
st
|
||||
18
.gitignore
vendored
Normal file
18
.gitignore
vendored
Normal file
@@ -0,0 +1,18 @@
|
||||
.pc
|
||||
*.o
|
||||
*~
|
||||
*.gcno
|
||||
*.gcda
|
||||
*.gcov
|
||||
Makefile.config
|
||||
configure.log
|
||||
locale/Makefile
|
||||
GNUmakefile
|
||||
.gitignore
|
||||
simple-md5sum
|
||||
inlined-icons.h
|
||||
help-dialogs.h
|
||||
dvdisaster
|
||||
build.h
|
||||
dvdisaster.mo
|
||||
locale/messages.pot
|
||||
24
CHANGELOG
24
CHANGELOG
@@ -1,5 +1,29 @@
|
||||
# dvdisaster changelog -*-text-*-
|
||||
|
||||
0.79.6.patchlevel-1 20-08-2020 *UNOFFICIAL*
|
||||
- This is an UNOFFICIAL version, not from the original author,
|
||||
based on the latest available pre-release, 0.79.6.
|
||||
Changes will be kept minimal (this is not a hard fork),
|
||||
to be able to merge in any new upstream version should it arise.
|
||||
- Most patches from the Debian maintainer have been applied,
|
||||
up to Debian version 0.79.6-5. Patches that are purely Debian
|
||||
specific have been omitted.
|
||||
- This release keeps the debian/ folder untouched, with only
|
||||
the patches/series file adjusted. Building the package has
|
||||
not been tested.
|
||||
- Added support for BDXL-QL (quadruple layer, 128GB)
|
||||
- Added support to compile a CLI-only version, without
|
||||
the GTK dependency (only glib2), compile with:
|
||||
$ CLI_ONLY=1 ./configure && make clean all
|
||||
- Added support to compile a Windows version under MingW (tested
|
||||
with MSYS2)
|
||||
- All regression tests are passing on Linux 64, Win 32 and Win 64.
|
||||
- A few tweaks and fixes around have been done while massively
|
||||
amending the source files to make the CLI-only version possible.
|
||||
This hopefully removes a few quirks without adding too many.
|
||||
|
||||
THE ORIGINAL UPSTREAM CHANGELOG IS KEPT BELOW:
|
||||
|
||||
0.79.6 20-11-2017
|
||||
- The Verify/Test option will now output dvdisaster version
|
||||
numbers always in x.yy.zz format, as the old scheme
|
||||
|
||||
@@ -1,4 +0,0 @@
|
||||
all:
|
||||
@echo
|
||||
@echo "Please create a Makefile by entering \"bash configure\" first"
|
||||
@echo
|
||||
@@ -39,9 +39,9 @@ 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)
|
||||
GTK_CFLAGS = $(CFG_GTK2_CFLAGS) $(CFG_GLIB2_CFLAGS)
|
||||
GTK_LIBS = $(CFG_GTK2_LIBS) $(CFG_GLIB2_LIBS)
|
||||
GTK_BINDIR = $(CFG_GTK2_BINDIR) $(CFG_GLIB2_BINDIR)
|
||||
|
||||
EFENCE_LFLAGS = $(CFG_EFENCE_LFLAGS)
|
||||
EFENCE_LIBS = $(CFG_EFENCE_LIBS)
|
||||
@@ -75,14 +75,22 @@ ${BUILDTMP}/%.o : %.c
|
||||
|
||||
all: time-stamp dvdisaster
|
||||
|
||||
${BUILDTMP}/build.o : build.c build.h
|
||||
@echo "Compiling:" build.o
|
||||
@$(CC) $(COPTS) -c build.c -o $@
|
||||
|
||||
# Building the dvdisaster binary
|
||||
|
||||
time-stamp:
|
||||
@$(SRCDIR)/scripts/time-stamper.bash $(SRCDIR)/build.h
|
||||
|
||||
dvdisaster: inlined-icons.h $(OFILES)
|
||||
dvdisaster: $(ICONS) $(OFILES)
|
||||
@echo "Linking : dvdisaster"
|
||||
@$(CC) $(LOPTS) $(OFILES) $(LIBS) -o dvdisaster
|
||||
@if test $(CFG_SYS_OPTIONS) == -DSYS_MINGW; \
|
||||
then windres -v winres.rc -O coff -o winres.o >/dev/null ; \
|
||||
$(CC) $(LOPTS) $(OFILES) $(LIBS) 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"; \
|
||||
@@ -138,7 +146,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
|
||||
@@ -221,7 +229,7 @@ show:
|
||||
######################################################################
|
||||
|
||||
.PHONY : install uninstall clean distclean arch
|
||||
.PHONY : srcdist
|
||||
.PHONY : srcdist dist
|
||||
|
||||
install: dvdisaster manual
|
||||
@echo "Installing package..."
|
||||
@@ -239,9 +247,9 @@ install: dvdisaster manual
|
||||
install -d $(BUILDROOT)$(MANDIR)/de/man1
|
||||
cd documentation; \
|
||||
ESCAPED_DOCSUBDIR=`echo $(DOCSUBDIR) | sed -e 's/\//\\\\\//g'`; \
|
||||
sed "s/%docdir%/$$ESCAPED_DOCSUBDIR\/html/" <dvdisaster.en.1 >dvdisaster.updated; \
|
||||
sed "s/%docdir%/$$ESCAPED_DOCSUBDIR/" <dvdisaster.en.1 >dvdisaster.updated; \
|
||||
install -m 644 dvdisaster.updated $(BUILDROOT)$(MANDIR)/man1/dvdisaster.1; \
|
||||
sed "s/%docdir%/$$ESCAPED_DOCSUBDIR\/html/" <dvdisaster.de.1 >dvdisaster.updated; \
|
||||
sed "s/%docdir%/$$ESCAPED_DOCSUBDIR/" <dvdisaster.de.1 >dvdisaster.updated; \
|
||||
install -m 644 dvdisaster.updated $(BUILDROOT)$(MANDIR)/de/man1/dvdisaster.1; \
|
||||
rm dvdisaster.updated
|
||||
if echo $(WITH_OPTIONS) | grep "NLS_YES" >/dev/null; then \
|
||||
@@ -286,10 +294,6 @@ 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
|
||||
@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
|
||||
@@ -317,6 +321,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
|
||||
@@ -329,5 +334,14 @@ 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
|
||||
|
||||
|
||||
|
||||
MINGWROOT = $(shell dirname $(CC))/..
|
||||
windist:
|
||||
rm -rf dist
|
||||
mkdir -p dist/lib dist/locale dist/share/themes
|
||||
for i in libatk-1.0-*.dll libbrotlicommon.dll libbrotlidec.dll libbz2-*.dll libcairo-*.dll libdatrie-*.dll libexpat-*.dll libffi-*.dll libfontconfig-*.dll libfreetype-*.dll libfribidi-*.dll libgcc_s_*.dll libgdk_pixbuf-2.0-*.dll libgdk-win32-2.0-*.dll libgio-2.0-*.dll libglib-2.0-*.dll libgmodule-2.0-*.dll libgobject-2.0-*.dll libgraphite2.dll libgtk-win32-2.0-*.dll libharfbuzz-*.dll libiconv-*.dll libintl-*.dll libpango-1.0-*.dll libpangocairo-1.0-*.dll libpangoft2-1.0-*.dll libpangowin32-1.0-*.dll libpcre-*.dll libpixman-1-*.dll libpng16-*.dll libssp-*.dll libstdc++-*.dll libthai-*.dll libwinpthread-*.dll zlib1.dll; \
|
||||
do cp -v $(MINGWROOT)/bin/$$i dist/ ; done
|
||||
cp -v dvdisaster.exe dist/
|
||||
cp -vr locale/*/ dist/locale/
|
||||
cp -vr $(MINGWROOT)/share/themes/MS-Windows dist/share/themes/
|
||||
cp -vr $(MINGWROOT)/lib/gtk-2.0 dist/lib/
|
||||
find dist -type f -name "*.a" -delete
|
||||
|
||||
7
Makefile
7
Makefile
@@ -4,8 +4,11 @@
|
||||
|
||||
all:
|
||||
@echo
|
||||
@echo "dvdisaster requires GNU make to build."
|
||||
@echo "Please try your command again using gmake."
|
||||
@echo "Please run \`./configure' first."
|
||||
@echo "To build a CLI-only version,"
|
||||
@echo "run \`CLI_ONLY=1 ./configure' instead."
|
||||
@echo "Note that dvdisaster requires GNU make to build."
|
||||
@echo "Under non-Linux systems, it might be known as \`gmake'."
|
||||
@echo
|
||||
|
||||
show: all
|
||||
|
||||
5
README
5
README
@@ -65,8 +65,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".
|
||||
|
||||
|
||||
53
README.md
Normal file
53
README.md
Normal file
@@ -0,0 +1,53 @@
|
||||
# dvdisaster provides additional ECC protection for optical media
|
||||
|
||||
It can loosely be compared to *par2* files, but the protection works at the *iso* level instead of working at the file level. This way, even if metadata from the optical media filesystem is damaged, dvdisaster can still work flawlessly.
|
||||
|
||||
This version of dvdisaster supports the following platforms:
|
||||
Linux, FreeBSD, NetBSD on x86, PowerPC, Sparc, and Windows.
|
||||
|
||||
Three protection codecs are supported, they're quickly detailed below. Please see the documentation/manual.pdf for more information about these, and everything else.
|
||||
|
||||
# The codecs
|
||||
|
||||
## RS01
|
||||
|
||||
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.
|
||||
|
||||
## RS02
|
||||
|
||||
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.
|
||||
|
||||
## RS03
|
||||
|
||||
RS03 is a further development of RS01 and RS02. It can create both error correction files and
|
||||
augmented images, with the following added features:
|
||||
|
||||
- RS03 can distribute work over multiple processor cores and is therefore much faster than
|
||||
RS01/RS02 on modern hardware.
|
||||
- RS03 error correction files are - contrary to RS01 - robust against damage. This should
|
||||
not delude you into careless handling of your error correction files though - the disadvan-
|
||||
tages of reading at the filesystem level are still valid.
|
||||
- RS03 augmented images do not require so-called master blocks holding important in-
|
||||
formation. This makes RS03 a bit more robust, but also more restrictive: The augmented
|
||||
image must completely fill the medium now while the size of augmented images can be
|
||||
freely chosen in RS02.
|
||||
The changes for parallel computation and higher robustness make RS03 a bit less space efficient,
|
||||
e.g. RS03 error correction data has slighly less error correction capacity than its RS01/RS02
|
||||
counterparts on images with equal size.
|
||||
|
||||
# Unofficial version
|
||||
|
||||
The last upstream version is dated 2017, and the official website is down.
|
||||
The original README has been left untouched in this repository.
|
||||
This version is built on top of the latest upstream version, with the following notable enhancements:
|
||||
|
||||
- Most Debian patches have been applied (The Debian version source code can be found [here](https://sources.debian.org/src/dvdisaster/))
|
||||
- Windows build added back (was dropped upstream a few versions before the last one)
|
||||
- A Linux CLI-only version can now be compiled, without depending on gtk
|
||||
- Regression tests confirmed working on Linux64 (normal and CLI-only), Windows32 and Windows64
|
||||
- Added pre-defined sizes for BD-R Triple Layer (100GB), BD-R Quadruple Layer (128GB)
|
||||
|
||||
# Screenshots
|
||||
(todo)
|
||||
2
build.c
2
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;
|
||||
|
||||
18
cacheprobe.c
18
cacheprobe.c
@@ -22,7 +22,8 @@
|
||||
|
||||
#include "dvdisaster.h"
|
||||
|
||||
#ifdef SYS_LINUX
|
||||
#if defined(SYS_LINUX)
|
||||
|
||||
int ProbeCacheLineSize()
|
||||
{ int cl_size = 0;
|
||||
|
||||
@@ -36,9 +37,9 @@ int ProbeCacheLineSize()
|
||||
|
||||
return cl_size;
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef SYS_FREEBSD
|
||||
#elif defined(SYS_FREEBSD) || defined(SYS_KFREEBSD)
|
||||
|
||||
#include <sys/param.h>
|
||||
|
||||
int ProbeCacheLineSize()
|
||||
@@ -52,9 +53,9 @@ int ProbeCacheLineSize()
|
||||
|
||||
return cl_size;
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef SYS_NETBSD
|
||||
#elif defined(SYS_NETBSD)
|
||||
|
||||
#include <sys/param.h>
|
||||
|
||||
int ProbeCacheLineSize()
|
||||
@@ -68,13 +69,14 @@ int ProbeCacheLineSize()
|
||||
|
||||
return cl_size;
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef SYS_UNKNOWN
|
||||
#else /* SYS_UNKNOWN and others. */
|
||||
|
||||
int ProbeCacheLineSize()
|
||||
{
|
||||
return 64;
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
/* TODO MINGW: https://docs.microsoft.com/en-us/windows/win32/api/winnt/ns-winnt-cache_descriptor */
|
||||
|
||||
33
closure.c
33
closure.c
@@ -50,7 +50,8 @@ static void get_base_dirs()
|
||||
/*** Otherwise try the installation directory.
|
||||
On Unices this is a hardcoded directory. */
|
||||
|
||||
#if defined(SYS_LINUX) || defined(SYS_FREEBSD) || defined(SYS_NETBSD) || defined(SYS_UNKNOWN)
|
||||
#if defined(SYS_LINUX) || defined(SYS_FREEBSD) || defined(SYS_KFREEBSD) || \
|
||||
defined(SYS_NETBSD) || defined(SYS_HURD) || defined(SYS_UNKNOWN)
|
||||
if(DirStat(BINDIR))
|
||||
Closure->binDir = g_strdup(BINDIR);
|
||||
|
||||
@@ -89,6 +90,7 @@ find_dotfile:
|
||||
* Update color string for the <span color="#f00baa">...</span> string
|
||||
*/
|
||||
|
||||
#ifndef CLI
|
||||
void UpdateMarkup(char **string, GdkColor *color)
|
||||
{ int hexval;
|
||||
|
||||
@@ -173,6 +175,7 @@ static void get_color(GdkColor *color, char *value)
|
||||
color->green = hex&0xff00;
|
||||
color->blue = (hex<<8)&0xff00;
|
||||
}
|
||||
#endif
|
||||
|
||||
/***
|
||||
*** Save and restore user settings to/from the .dvdisaster file
|
||||
@@ -196,7 +199,7 @@ void ReadDotfile()
|
||||
/* Get first MAX_LINE_LEN bytes of line, discard the rest */
|
||||
|
||||
line[MAX_LINE_LEN-1] = 1;
|
||||
fgets(line, MAX_LINE_LEN, dotfile);
|
||||
if (!fgets(line, MAX_LINE_LEN, dotfile)) break;
|
||||
if(!line[MAX_LINE_LEN-1]) /* line longer than buffer */
|
||||
while(!feof(dotfile) && fgetc(dotfile) != '\n')
|
||||
;
|
||||
@@ -239,6 +242,7 @@ void ReadDotfile()
|
||||
if(!strcmp(symbol, "bd-size1")) { Closure->bdSize1 = Closure->savedBDSize1 = atoll(value); continue; }
|
||||
if(!strcmp(symbol, "bd-size2")) { Closure->bdSize2 = Closure->savedBDSize2 = atoll(value); continue; }
|
||||
if(!strcmp(symbol, "bd-size3")) { Closure->bdSize3 = Closure->savedBDSize3 = atoll(value); continue; }
|
||||
if(!strcmp(symbol, "bd-size4")) { Closure->bdSize4 = Closure->savedBDSize4 = atoll(value); continue; }
|
||||
if(!strcmp(symbol, "cache-size")) { Closure->cacheMiB = atoi(value); continue; }
|
||||
if(!strcmp(symbol, "cd-size")) { Closure->cdSize = Closure->savedCDSize = atoll(value); continue; }
|
||||
if(!strcmp(symbol, "codec-threads")) { Closure->codecThreads = atoi(value); continue; }
|
||||
@@ -288,6 +292,7 @@ void ReadDotfile()
|
||||
if(!strcmp(symbol, "verbose")) { Closure->verbose = atoi(value); continue; }
|
||||
if(!strcmp(symbol, "welcome-msg")) { Closure->welcomeMessage = atoi(value); continue; }
|
||||
|
||||
#ifndef CLI
|
||||
if(!strcmp(symbol, "positive-text")) { get_color(Closure->greenText, value);
|
||||
UpdateMarkup(&Closure->greenMarkup, Closure->greenText);
|
||||
continue;
|
||||
@@ -305,6 +310,7 @@ void ReadDotfile()
|
||||
if(!strcmp(symbol, "ignored-sector")) { get_color(Closure->blueSector, value); continue; }
|
||||
if(!strcmp(symbol, "highlit-sector")) { get_color(Closure->whiteSector, value); continue; }
|
||||
if(!strcmp(symbol, "present-sector")) { get_color(Closure->darkSector, value); continue; }
|
||||
#endif
|
||||
}
|
||||
|
||||
if(fclose(dotfile))
|
||||
@@ -348,6 +354,7 @@ static void update_dotfile()
|
||||
g_fprintf(dotfile, "bd-size1: %lld\n", (long long int)Closure->bdSize1);
|
||||
g_fprintf(dotfile, "bd-size2: %lld\n", (long long int)Closure->bdSize2);
|
||||
g_fprintf(dotfile, "bd-size3: %lld\n", (long long int)Closure->bdSize3);
|
||||
g_fprintf(dotfile, "bd-size4: %lld\n", (long long int)Closure->bdSize4);
|
||||
g_fprintf(dotfile, "cache-size: %d\n", Closure->cacheMiB);
|
||||
g_fprintf(dotfile, "cd-size: %lld\n", (long long int)Closure->cdSize);
|
||||
g_fprintf(dotfile, "codec-threads: %d\n", Closure->codecThreads);
|
||||
@@ -391,6 +398,7 @@ static void update_dotfile()
|
||||
g_fprintf(dotfile, "verbose: %d\n", Closure->verbose);
|
||||
g_fprintf(dotfile, "welcome-msg: %d\n\n", Closure->welcomeMessage);
|
||||
|
||||
#ifndef CLI
|
||||
save_colors(dotfile, "positive-text", Closure->greenText);
|
||||
save_colors(dotfile, "negative-text", Closure->redText);
|
||||
save_colors(dotfile, "bar-color", Closure->barColor);
|
||||
@@ -402,6 +410,7 @@ static void update_dotfile()
|
||||
save_colors(dotfile, "ignored-sector", Closure->blueSector);
|
||||
save_colors(dotfile, "highlit-sector", Closure->whiteSector);
|
||||
save_colors(dotfile, "present-sector", Closure->darkSector);
|
||||
#endif
|
||||
|
||||
if(fclose(dotfile))
|
||||
g_printf("Error closing configuration file %s: %s\n",
|
||||
@@ -423,7 +432,10 @@ void InitClosure()
|
||||
|
||||
/* Extract the version string */
|
||||
|
||||
#ifdef HAVE_UNSTABLE_RELEASE
|
||||
#if defined(HAVE_UNSTABLE_RELEASE) && defined(PATCHLEVEL)
|
||||
Closure->cookedVersion = g_strdup_printf("%s (unstable-unofficial patchlevel %d)", VERSION, PATCHLEVEL);
|
||||
Closure->releaseFlags = MFLAG_DEVEL;
|
||||
#elif defined(HAVE_UNSTABLE_RELEASE)
|
||||
Closure->cookedVersion = g_strdup_printf("%s (unstable)", VERSION);
|
||||
Closure->releaseFlags = MFLAG_DEVEL;
|
||||
#else
|
||||
@@ -432,7 +444,8 @@ void InitClosure()
|
||||
|
||||
/* Generate a more comprehensive version string */
|
||||
|
||||
#if defined(SYS_LINUX) || defined(SYS_FREEBSD) || defined(SYS_NETBSD)
|
||||
#if defined(SYS_LINUX) || defined(SYS_FREEBSD) || defined(SYS_KFREEBSD) || \
|
||||
defined(SYS_NETBSD) || defined(SYS_HURD)
|
||||
#ifdef HAVE_64BIT
|
||||
#define BITNESS_STRING " 64bit"
|
||||
#else
|
||||
@@ -442,7 +455,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 */
|
||||
@@ -474,6 +487,7 @@ void InitClosure()
|
||||
Closure->deviceNames = g_ptr_array_new();
|
||||
Closure->deviceNodes = g_ptr_array_new();
|
||||
Closure->viewer = g_strdup("xdg-open");
|
||||
Closure->browser = g_strdup("xdg-open");
|
||||
Closure->methodList = g_ptr_array_new();
|
||||
Closure->methodName = g_strdup("RS01");
|
||||
Closure->dDumpDir = g_strdup(Closure->homeDir);
|
||||
@@ -501,7 +515,9 @@ void InitClosure()
|
||||
Closure->bdSize1 = Closure->savedBDSize1 = BD_SL_SIZE;
|
||||
Closure->bdSize2 = Closure->savedBDSize2 = BD_DL_SIZE;
|
||||
Closure->bdSize3 = Closure->savedBDSize3 = BDXL_TL_SIZE;
|
||||
Closure->bdSize4 = Closure->savedBDSize4 = BDXL_QL_SIZE;
|
||||
|
||||
#ifndef CLI
|
||||
Closure->logString = g_string_sized_new(1024);
|
||||
Closure->logLock = g_malloc0(sizeof(GMutex));
|
||||
g_mutex_init(Closure->logLock);
|
||||
@@ -523,6 +539,7 @@ void InitClosure()
|
||||
Closure->darkSector = g_malloc0(sizeof(GdkColor));
|
||||
|
||||
DefaultColors();
|
||||
#endif
|
||||
|
||||
memset(Closure->bs, '\b', 255);
|
||||
memset(Closure->sp, ' ', 255);
|
||||
@@ -567,7 +584,10 @@ void cond_free_ptr_array(GPtrArray *a)
|
||||
|
||||
void FreeClosure()
|
||||
{
|
||||
#ifndef CLI
|
||||
if(Closure->guiMode)
|
||||
#endif
|
||||
/* in CLI-only mode, always update dotfile */
|
||||
update_dotfile();
|
||||
|
||||
cond_free(Closure->cookedVersion);
|
||||
@@ -589,11 +609,13 @@ void FreeClosure()
|
||||
cond_free(Closure->binDir);
|
||||
cond_free(Closure->docDir);
|
||||
cond_free(Closure->viewer);
|
||||
cond_free(Closure->browser);
|
||||
cond_free(Closure->errorTitle);
|
||||
cond_free(Closure->simulateCD);
|
||||
cond_free(Closure->dDumpDir);
|
||||
cond_free(Closure->dDumpPrefix);
|
||||
|
||||
#ifndef CLI
|
||||
if(Closure->prefsContext)
|
||||
FreePreferences(Closure->prefsContext);
|
||||
|
||||
@@ -644,6 +666,7 @@ void FreeClosure()
|
||||
|
||||
if(Closure->readAdaptiveErrorMsg)
|
||||
g_free(Closure->readAdaptiveErrorMsg);
|
||||
#endif
|
||||
|
||||
g_free(Closure);
|
||||
}
|
||||
|
||||
29
configure
vendored
29
configure
vendored
@@ -4,9 +4,16 @@
|
||||
|
||||
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"
|
||||
RECOMMENDED_CFLAGS="-DPATCHLEVEL=1 -O2 -fomit-frame-pointer -Wall -Wno-deprecated-declarations -Wno-stringop-truncation"
|
||||
DEBUG_CFLAGS="-ggdb -Wall"
|
||||
|
||||
if [ "$CLI_ONLY" = 1 ]; then
|
||||
REQUIRED_CFLAGS="-DCLI $REQUIRED_CFLAGS"
|
||||
echo '#define FLAVOR CLI' > build.h
|
||||
else
|
||||
echo '#define FLAVOR GUI' > build.h
|
||||
fi
|
||||
|
||||
CFG_USE_CYGWIN="no" # do not change
|
||||
|
||||
if test -e $BASH_BASED_CONFIGURE; then
|
||||
@@ -48,7 +55,9 @@ GET_BUILDTMP
|
||||
PRINT_MESSAGE "\nLooking for includes and libraries:"
|
||||
|
||||
REQUIRE_GLIB2 2 32 0
|
||||
REQUIRE_GTK2 2 6 0 WITH_THREADS
|
||||
if [ "$CLI_ONLY" != 1 ]; then
|
||||
REQUIRE_GTK2 2 6 0 WITH_THREADS
|
||||
fi
|
||||
echo
|
||||
|
||||
if ! CHECK_INCLUDE locale.h locale || ! CHECK_INCLUDE libintl.h intl ; then
|
||||
@@ -110,10 +119,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."
|
||||
exit 1
|
||||
if [ "$CLI_ONLY" != 1 ]; then
|
||||
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."
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
|
||||
# Evaluate the --with* customization options
|
||||
@@ -151,6 +162,9 @@ cfiles="method-link.c"
|
||||
ofiles="$BUILDTMP/method-link.o"
|
||||
|
||||
for cfile in *.c; do
|
||||
if [ "$CLI_ONLY" = 1 ]; then
|
||||
grep -q 'DVDISASTER_GUI_FILE' "$cfile" && continue
|
||||
fi
|
||||
cfile_prefix=`echo $cfile | sed -e 's/\.c//'`
|
||||
cfiles="$cfiles $cfile"
|
||||
ofiles="$ofiles $BUILDTMP/$cfile_prefix.o"
|
||||
@@ -160,6 +174,9 @@ done
|
||||
echo
|
||||
echo -e "\nCFG_CFILES = $cfiles" >> Makefile.config
|
||||
echo "CFG_OFILES = $ofiles" >> Makefile.config
|
||||
if [ "$CLI_ONLY" != 1 ]; then
|
||||
echo "ICONS = inlined-icons.h" >> Makefile.config
|
||||
fi
|
||||
|
||||
# Create the method wrapper
|
||||
|
||||
|
||||
@@ -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;
|
||||
|
||||
1
curve.c
1
curve.c
@@ -19,6 +19,7 @@
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with dvdisaster. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
// DVDISASTER_GUI_FILE
|
||||
|
||||
#include "dvdisaster.h"
|
||||
|
||||
|
||||
564
debian/changelog
vendored
Normal file
564
debian/changelog
vendored
Normal file
@@ -0,0 +1,564 @@
|
||||
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 ]
|
||||
* Team upload.
|
||||
* Bump Standards Version to 4.0.0.
|
||||
* Remove unnecessary calls to dpkg-parsechangelog from debian/rules.
|
||||
* debian/watch: Avoid repacking upstream tarballs unnecessarily.
|
||||
* Fix more typos in error messages and docs.
|
||||
* Fix FTBFS on Hurd and kFreeBSD.
|
||||
* Remove incorrect use of 'Origin: vendor' from DEP-3 patch headers.
|
||||
* Improve support for Hurd and kFreeBSD systems, although Hurd still
|
||||
builds without SCSI.
|
||||
|
||||
-- TANIGUCHI Takaki <takaki@debian.org> Mon, 07 Aug 2017 17:34:01 +0900
|
||||
|
||||
dvdisaster (0.79.5-1) unstable; urgency=medium
|
||||
|
||||
[ Carlos Maddela ]
|
||||
* Team upload.
|
||||
* New upstream version [0.79.5]
|
||||
* Refresh and drop patches. The following patches have been dropped:
|
||||
+ 01-libpng15.patch
|
||||
+ 06-remove-encoding-from-desktop-file.patch
|
||||
+ 07-fix-spelling-errors-in-binaries.patch
|
||||
+ 09-fix-format-security-warnings.patch
|
||||
+ 21-fix-privacy-breach-in-doco.patch
|
||||
* Update license to GPL-3.
|
||||
* Update clean rule as old files no longer apply.
|
||||
* Update documentation build and install rules.
|
||||
* debian/rules: Update mutable file list.
|
||||
* Fix generated man pages. The generated man pages incorrectly direct
|
||||
users to the directory of the old HTML documentation, which is no
|
||||
longer available.
|
||||
* Fix display of manual.pdf. The PDF file is automatically compressed
|
||||
by Debhelper, so we need to account for this.
|
||||
* Resurrect old code to support opening URLs in a browser.
|
||||
* Ship upstream-generated manual.pdf for the time being, as we can't
|
||||
generate it ourselves reproducibly.
|
||||
|
||||
-- TANIGUCHI Takaki <takaki@debian.org> Thu, 02 Feb 2017 22:28:25 +0900
|
||||
|
||||
dvdisaster (0.72.4-3) unstable; urgency=medium
|
||||
|
||||
[ Carlos Maddela ]
|
||||
* Team upload.
|
||||
* Bump compat level to 10.
|
||||
* debian/watch: Relax upstream version restriction.
|
||||
* Use original name for the duplicate uncompressed upstream CHANGELOG.
|
||||
* Backup and restore mutable files to allow multiple builds.
|
||||
* Fix FTBFS for hurd-i386.
|
||||
|
||||
[ Corey Wright ]
|
||||
* Add support for BD-ROM media-type. (Closes: #849518)
|
||||
|
||||
-- Carlos Maddela <e7appew@gmail.com> Sat, 07 Jan 2017 00:29:19 +1100
|
||||
|
||||
dvdisaster (0.72.4-2) unstable; urgency=medium
|
||||
|
||||
* Team upload.
|
||||
* Make builds reproducible:
|
||||
+ Use the Debian changelog details to derive a build number and date.
|
||||
+ Don't build with source path embedded in binary.
|
||||
* debian/control:
|
||||
+ Update to Standards Version 3.9.8.
|
||||
- Format security warnings required fixing in tools/memory.c as
|
||||
a result.
|
||||
+ Update VCS details.
|
||||
+ Remove obsolete DM-Upload-Alllowed control field.
|
||||
+ Perform wrap and sort.
|
||||
+ Mark dvdisaster-doc as a multi-arch foreign package.
|
||||
* debian/rules:
|
||||
+ Build with all hardening flags set.
|
||||
+ Link required libraries as needed.
|
||||
+ Fix installation of desktop file and icon images.
|
||||
+ Tidy up installation of doc files.
|
||||
+ Fix clean up.
|
||||
+ Separate binary-arch and binary-indep rules.
|
||||
+ Silence deprecated API warnings.
|
||||
* debian/*:
|
||||
+ Update uscan rules.
|
||||
+ Drop debian/dvdisaster.menu file in favour of desktop file.
|
||||
+ Convert copyright file into proper DEP5 format and update.
|
||||
+ Drop no longer required debian/pixmaps/dvdisaster.xpm.
|
||||
+ Add debian/dvdisaster-doc.doc-base file.
|
||||
+ Add link to html docs in dvdisaster-doc package.
|
||||
+ Remove unnecessary duplication of doc files in the two packages.
|
||||
+ Link all duplicate doc files.
|
||||
+ Fix installation of thumbnails for Czech doco.
|
||||
* debian/patches/*:
|
||||
+ Fix headers to work with git-buildpackage, retaining as much
|
||||
meta info as possible.
|
||||
+ Fix GNU Make detection. (Closes: #848811)
|
||||
+ Fix path of GPL-2 license in 05-help-dialog.patch. (Closes: #708384)
|
||||
+ Fix all warnings except for those related to deprecated API.
|
||||
(Closes: #748416)
|
||||
+ Use non-size-specific icon and add keywords to desktop file.
|
||||
+ Fix spelling: upto -> up to
|
||||
+ Fix missing language fields in PO files.
|
||||
+ Update help dialog to show link to the new Debian package tracker.
|
||||
+ Update copyright notice in about dialog.
|
||||
+ Allow ShowTextFile() to work with absolute path names.
|
||||
+ Fix display of changelog, credits and to-do files.
|
||||
+ Remove link to the newsfeed, to fix Lintian privacy-breach-generic
|
||||
warning. The news feed no longer works anyway.
|
||||
|
||||
-- Carlos Maddela <e7appew@gmail.com> Fri, 23 Dec 2016 15:53:13 +1100
|
||||
|
||||
dvdisaster (0.72.4-1) unstable; urgency=low
|
||||
|
||||
* New upstream (Closes: #665522)
|
||||
* debian/paches/04-manpage.patch: Removed (merged by upstream).
|
||||
|
||||
-- TANIGUCHI Takaki <takaki@debian.org> Sun, 08 Apr 2012 22:02:16 +0900
|
||||
|
||||
dvdisaster (0.72.3-2) unstable; urgency=low
|
||||
|
||||
* debian/patches/libpng15: Build with libpng15. (Closes: #649555)
|
||||
|
||||
-- TANIGUCHI Takaki <takaki@debian.org> Mon, 19 Mar 2012 11:08:53 +0900
|
||||
|
||||
dvdisaster (0.72.3-1) unstable; urgency=low
|
||||
|
||||
[ Rogério Brito ]
|
||||
* debian/patches/*: refresh and adapt every patch
|
||||
* debian/patches/04-manpage.patch: escape one hyphen
|
||||
|
||||
[ TANIGUCHI Takaki ]
|
||||
* New upstream 0.72.3 (Closes: #643869)
|
||||
* Bump Standards-Version to 3.9.3
|
||||
* debian/patches/*: Refreshed.
|
||||
* Depend unversion libpng-dev (Closes: #662306)
|
||||
* debian/rules: Rewrite in dh7 style
|
||||
|
||||
-- TANIGUCHI Takaki <takaki@debian.org> Tue, 06 Mar 2012 12:44:08 +0900
|
||||
|
||||
dvdisaster (0.72.1-2) unstable; urgency=low
|
||||
|
||||
* [da276c7] Refresh patches to avoid potential problems with the
|
||||
buildds.
|
||||
* [3ee8b47] Initial migration to format "3.0 (quilt)".
|
||||
* [af26379] Wrap some long lines for legibility.
|
||||
* [2372076] Wrap one extra line.
|
||||
* [00e1968] Don't patch the documentation directly.
|
||||
* [fac6933] Add missing misc-depends on dvdisaster
|
||||
* [70a6efd] Rewrap the build-depends line, for diff-friendliness.
|
||||
* [9fe0db4] Fix incorrect place of misc:depends.
|
||||
* [6576482] Remove unneeded patch
|
||||
* [7771474] Remove duplicate section field for dvdisaster
|
||||
* [f51c51a] Add debian/watch file to more closely follow upstream
|
||||
* [2194941] Remove UTF-8 encoding from desktop file
|
||||
* [57e4fab] Update patch to deal with hyphens used as minus signs
|
||||
* [80e291c] Add description for the patch
|
||||
* [cea78c3] Add patch to fix spelling errors in the binaries
|
||||
* [96b581b] Fix for another typo in the manpage
|
||||
* [b8f0e62] Update standards version with no changes needed
|
||||
|
||||
-- Rogério Brito <rbrito@ime.usp.br> Tue, 24 Aug 2010 12:10:21 -0300
|
||||
|
||||
dvdisaster (0.72.1-1) unstable; urgency=low
|
||||
|
||||
* New maintainer (Closes: 543876)
|
||||
* new upstream version.
|
||||
* debian/control: update Homepage:
|
||||
* debian/README.source: create
|
||||
* debian/control: add Vcs-*.
|
||||
|
||||
-- TANIGUCHI Takaki <takaki@debian.org> Mon, 23 Nov 2009 10:29:09 +0900
|
||||
|
||||
dvdisaster (0.72-2) unstable; urgency=low
|
||||
|
||||
* Updating to standards version 3.8.3.
|
||||
* Removing vcs fields.
|
||||
* Orphaning package.
|
||||
|
||||
-- Daniel Baumann <daniel@debian.org> Thu, 27 Aug 2009 10:24:34 +0200
|
||||
|
||||
dvdisaster (0.72-1) unstable; urgency=low
|
||||
|
||||
* Using correct rfc-2822 date formats in changelog.
|
||||
* Merging upstream version 0.72.
|
||||
* Removing shebang.patch, not required anymore.
|
||||
* Updating standards version to 3.8.2.
|
||||
* Tidy rules file.
|
||||
|
||||
-- Daniel Baumann <daniel@debian.org> Tue, 07 Jul 2009 01:11:52 +0200
|
||||
|
||||
dvdisaster (0.72~rc1-1) unstable; urgency=low
|
||||
|
||||
* Merging upstream version 0.72~rc1.
|
||||
* Upgrading to standards 3.8.1.
|
||||
|
||||
-- Daniel Baumann <daniel@debian.org> Fri, 17 Apr 2009 21:20:00 +0200
|
||||
|
||||
dvdisaster (0.71.28-1) unstable; urgency=medium
|
||||
|
||||
* Merging upstream version 0.71.28:
|
||||
- Fixes "illegal instruction" crashes on x86 machines which do not support
|
||||
SSE2 (Closes: #515950).
|
||||
|
||||
-- Daniel Baumann <daniel@debian.org> Tue, 17 Mar 2009 09:55:00 +0100
|
||||
|
||||
dvdisaster (0.71.27-1) unstable; urgency=low
|
||||
|
||||
* Using patch-stamp rather than patch in rules file.
|
||||
* Replacing obsolete dh_clean -k with dh_prep.
|
||||
* Merging upstream version 0.71.27.
|
||||
* Rediffing help-dialog.dpatch.
|
||||
* Using quilt rather than dpatch.
|
||||
* Updating year in copyright.
|
||||
* Adding longtitle and description in menu file.
|
||||
* Using usual name for pixmaps directory.
|
||||
* Updating rules to current state of the art.
|
||||
|
||||
-- Daniel Baumann <daniel@debian.org> Sun, 25 Jan 2009 14:01:00 +0100
|
||||
|
||||
dvdisaster (0.71.26-2) unstable; urgency=medium
|
||||
|
||||
* Updating to standards 3.8.0.
|
||||
* Updating vcs fields in control file.
|
||||
* Correcting 03-dvdrom.dpatch to not crash when opening a DVD-ROM.
|
||||
Thanks to Tobias Gruetzmacher <tobias-debian@23.gs> (Closes: #498296).
|
||||
|
||||
-- Daniel Baumann <daniel@debian.org> Mon, 08 Sep 2008 22:08:00 +0200
|
||||
|
||||
dvdisaster (0.71.26-1) unstable; urgency=medium
|
||||
|
||||
* Reordering rules file.
|
||||
* Using examples debhelper to install examples.
|
||||
* Removing 08-xdg.dpatch, went upstream.
|
||||
* Removing 07-adaptive-read.dpatch, went upstream.
|
||||
* Rediffing 05-help-dialog.dpatch.
|
||||
* Rediffing 03-dvdrom.dpatch.
|
||||
* Rediffing 02-encryption.dpatch.
|
||||
* Removing watch file.
|
||||
* Removing useless whitespaces at end of debian gmkrs02 example.
|
||||
* Rewriting copyright file in machine-interpretable format.
|
||||
* Adding vcs fields in control file.
|
||||
* Upgrading package to debhelper 7.
|
||||
* Merging upstream version 0.71.26.
|
||||
|
||||
-- Daniel Baumann <daniel@debian.org> Sat, 03 May 2008 11:34:00 +0200
|
||||
|
||||
dvdisaster (0.71~devel23-7) unstable; urgency=low
|
||||
|
||||
* Bumping to new policy.
|
||||
* Updating menu file to new policy.
|
||||
* Don't hide make errors in clean target of rules.
|
||||
|
||||
-- Daniel Baumann <daniel@debian.org> Sun, 23 Dec 2007 13:26:00 +0100
|
||||
|
||||
dvdisaster (0.71~devel23-6) unstable; urgency=low
|
||||
|
||||
* Using xdg-open rather than gnome-open.
|
||||
|
||||
-- Daniel Baumann <daniel@debian.org> Thu, 29 Nov 2007 10:39:00 +0100
|
||||
|
||||
dvdisaster (0.71~devel23-5) unstable; urgency=low
|
||||
|
||||
* Setting configure shebang to bash.
|
||||
|
||||
-- Daniel Baumann <daniel@debian.org> Wed, 24 Oct 2007 06:14:00 +0200
|
||||
|
||||
dvdisaster (0.71~devel23-4) unstable; urgency=low
|
||||
|
||||
* Fixed clean target in rules (Closes: #442559).
|
||||
|
||||
-- Daniel Baumann <daniel@debian.org> Mon, 17 Sep 2007 00:37:00 +0200
|
||||
|
||||
dvdisaster (0.71~devel23-3) unstable; urgency=medium
|
||||
|
||||
* Applied patch from Wolfgang Weisselberg <g35fckt001@sneakemail.com> to fix
|
||||
segfault when reading CD with --adaptive-read (Closes: #427980).
|
||||
* Including example script from Osamu Aoki <osamu@debian.org> to provide a
|
||||
GUI for creating RS02 supplimented ISO images (Closes: #442145).
|
||||
|
||||
-- Daniel Baumann <daniel@debian.org> Fri, 14 Sep 2007 11:13:00 +0200
|
||||
|
||||
dvdisaster (0.71~devel23-2) unstable; urgency=low
|
||||
|
||||
* Fix shebang in configure.
|
||||
|
||||
-- Daniel Baumann <daniel@debian.org> Tue, 04 Sep 2007 22:53:00 +0200
|
||||
|
||||
dvdisaster (0.71~devel23-1) unstable; urgency=low
|
||||
|
||||
* New upstream release.
|
||||
|
||||
-- Daniel Baumann <daniel@debian.org> Mon, 14 May 2007 10:46:00 +0200
|
||||
|
||||
dvdisaster (0.71~devel22-1) unstable; urgency=low
|
||||
|
||||
* New upstream release.
|
||||
|
||||
-- Daniel Baumann <daniel@debian.org> Sun, 29 Apr 2007 16:47:00 +0200
|
||||
|
||||
dvdisaster (0.70.4-2) unstable; urgency=low
|
||||
|
||||
* Uploading to unstable.
|
||||
* Bumped package to debhelper 5.
|
||||
|
||||
-- Daniel Baumann <daniel@debian.org> Thu, 08 Mar 2007 10:35:00 +0100
|
||||
|
||||
dvdisaster (0.70.4-1) experimental; urgency=low
|
||||
|
||||
* New upstream release.
|
||||
|
||||
-- Daniel Baumann <daniel@debian.org> Sat, 27 Jan 2007 18:05:00 +0100
|
||||
|
||||
dvdisaster (0.70.3-2) unstable; urgency=medium
|
||||
|
||||
* Added patch from Carsten Gnoerlich <carsten@dvdisaster.com> to fix issues
|
||||
with glib threading (Closes: #405757).
|
||||
|
||||
-- Daniel Baumann <daniel@debian.org> Wed, 17 Jan 2007 10:42:00 +0100
|
||||
|
||||
dvdisaster (0.70.3-1) unstable; urgency=low
|
||||
|
||||
* New upstream release.
|
||||
|
||||
-- Daniel Baumann <daniel@debian.org> Wed, 13 Dec 2006 11:57:00 +0100
|
||||
|
||||
dvdisaster (0.70.2-2) unstable; urgency=medium
|
||||
|
||||
* Adjusted 05-help-dialog.dpatch as suggested by
|
||||
Corey Wright <undefined@pobox.com> (Closes: #393671).
|
||||
|
||||
-- Daniel Baumann <daniel@debian.org> Tue, 17 Oct 2006 14:01:00 +0200
|
||||
|
||||
dvdisaster (0.70.2-1) unstable; urgency=low
|
||||
|
||||
* New upstream release.
|
||||
* Added patch to customize the help-dialog according to README.MODIFYING.
|
||||
|
||||
-- Daniel Baumann <daniel@debian.org> Tue, 03 Oct 2006 20:58:00 +0200
|
||||
|
||||
dvdisaster (0.70.1-2) unstable; urgency=low
|
||||
|
||||
* Added patch from upstream to fix some code errors (Closes: #388304).
|
||||
|
||||
-- Daniel Baumann <daniel@debian.org> Thu, 21 Sep 2006 01:29:00 +0200
|
||||
|
||||
dvdisaster (0.70.1-1) unstable; urgency=low
|
||||
|
||||
* New upstream release.
|
||||
|
||||
-- Daniel Baumann <daniel@debian.org> Tue, 22 Aug 2006 23:09:00 +0200
|
||||
|
||||
dvdisaster (0.70-1) unstable; urgency=low
|
||||
|
||||
* New upstream release (Closes: #377757).
|
||||
|
||||
-- Daniel Baumann <daniel@debian.org> Tue, 11 Jul 2006 07:19:00 +0200
|
||||
|
||||
dvdisaster (0.66-4) unstable; urgency=low
|
||||
|
||||
* New email address.
|
||||
* Fixed typo in manpage (Closes: #376752).
|
||||
|
||||
-- Daniel Baumann <daniel@debian.org> Fri, 07 Jul 2006 09:01:00 +0200
|
||||
|
||||
dvdisaster (0.66-3) unstable; urgency=low
|
||||
|
||||
* Fixed docsubdir (Closes: #366274).
|
||||
* Disabled skipping of encrypted disks (Closes: #366399).
|
||||
* Added patch for DVD-ROM medias (Closes: #366392).
|
||||
|
||||
-- Daniel Baumann <daniel.baumann@panthera-systems.net> Mon, 15 May 2006 03:17:00 -0500
|
||||
|
||||
dvdisaster (0.66-2) unstable; urgency=low
|
||||
|
||||
* Set dvdisaster-doc to recommends instead of suggests (Closes: #363291).
|
||||
|
||||
-- Daniel Baumann <daniel.baumann@panthera-systems.net> Tue, 18 Apr 2006 16:35:00 +0100
|
||||
|
||||
dvdisaster (0.66-1) unstable; urgency=low
|
||||
|
||||
* New upstream release.
|
||||
* Added pixmap.
|
||||
|
||||
-- Daniel Baumann <daniel.baumann@panthera-systems.net> Tue, 28 Mar 2006 10:13:00 +0100
|
||||
|
||||
dvdisaster (0.65-1) unstable; urgency=low
|
||||
|
||||
* New upstream release.
|
||||
* Removed patch stack buffer patch (went upstream).
|
||||
* Removed manpage patches (went upstream).
|
||||
|
||||
-- Daniel Baumann <daniel.baumann@panthera-systems.net> Tue, 17 Jan 2006 14:32:00 +0100
|
||||
|
||||
dvdisaster (0.64.2-1) unstable; urgency=low
|
||||
|
||||
* New upstream release.
|
||||
* Now using dpatch for updating manpages.
|
||||
* Fixed definitely the documentation path in the manpages (Closes: #333591).
|
||||
* Added patch from Robert Bihlmeyer <robbe@orcus.priv.at> to fix segfault on
|
||||
allocating stack buffer (Closes: #335792).
|
||||
|
||||
-- Daniel Baumann <daniel.baumann@panthera-systems.net> Fri, 25 Nov 2005 11:01:00 +0100
|
||||
|
||||
dvdisaster (0.63.2-1) unstable; urgency=low
|
||||
|
||||
* New upstream release:
|
||||
- no longer needs gawk.
|
||||
- manpage updated and moved to upstream.
|
||||
- manpage now mentions correct documentation-location (Closes: #322187).
|
||||
* Now update config.{guess,sub} via .diff.gz.
|
||||
* Corrected non-ascii chars in the German and Italian manpage.
|
||||
|
||||
-- Daniel Baumann <daniel.baumann@panthera-systems.net> Sat, 06 Aug 2005 20:03:00 +0200
|
||||
|
||||
dvdisaster (0.63-1) unstable; urgency=low
|
||||
|
||||
* Initial release (Closes: #319742).
|
||||
* Fixed Makefile for $(DESTDIR)-use.
|
||||
* Added manpage.
|
||||
|
||||
-- Daniel Baumann <daniel.baumann@panthera-systems.net> Sun, 24 Jul 2005 13:35:00 +0200
|
||||
46
debian/control
vendored
Normal file
46
debian/control
vendored
Normal file
@@ -0,0 +1,46 @@
|
||||
Source: dvdisaster
|
||||
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>,
|
||||
Carlos Maddela <e7appew@gmail.com>
|
||||
Build-Depends: debhelper (>= 12),
|
||||
gettext,
|
||||
libbz2-dev,
|
||||
libcam-dev [kfreebsd-any],
|
||||
libgtk2.0-dev,
|
||||
libpng-dev,
|
||||
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
|
||||
Depends: xdg-utils, ${misc:Depends}, ${shlibs:Depends}
|
||||
Recommends: dvdisaster-doc
|
||||
Description: data loss/scratch/aging protection for CD/DVD media
|
||||
dvdisaster provides a margin of safety against data loss on CD and DVD media
|
||||
caused by scratches or aging media. It creates error correction data which is
|
||||
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
|
||||
Depends: ${misc:Depends}
|
||||
Suggests: dvdisaster
|
||||
Description: data loss/scratch/aging protection for CD/DVD media (documentation)
|
||||
dvdisaster provides a margin of safety against data loss on CD and DVD media
|
||||
caused by scratches or aging media. It creates error correction data which is
|
||||
used to recover unreadable sectors if the disc becomes damaged at a later time.
|
||||
.
|
||||
This package contains the documentation.
|
||||
49
debian/copyright
vendored
Normal file
49
debian/copyright
vendored
Normal file
@@ -0,0 +1,49 @@
|
||||
Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
|
||||
Upstream-Contact: Carsten Gnörlich <carsten@dvdisaster.org>
|
||||
Upstream-Name: dvdisaster
|
||||
Source: https://web.archive.org/web/20180428070843/http://dvdisaster.net/
|
||||
|
||||
Files: *
|
||||
Copyright: 2004–2015, Carsten Gnörlich <carsten@dvdisaster.org>
|
||||
License: GPL-3+
|
||||
|
||||
Files: debian/*
|
||||
Copyright: 2005–2009, Daniel Baumann <daniel@debian.org>
|
||||
2009–2018, TANIGUCHI Takaki <takaki@debian.org>
|
||||
2009–2010, Rogério Brito <rbrito@ime.usp.br>
|
||||
2016–2018, Carlos Maddela <e7appew@gmail.com>
|
||||
License: GPL-2+
|
||||
|
||||
License: GPL-2+
|
||||
This package is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation; either version 2 of the License, or
|
||||
(at your option) any later version.
|
||||
.
|
||||
This package is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
.
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
.
|
||||
On Debian systems, the complete text of the GNU General
|
||||
Public License version 2 can be found in "/usr/share/common-licenses/GPL-2".
|
||||
|
||||
License: GPL-3+
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
.
|
||||
This package is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
.
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
.
|
||||
On Debian systems, the complete text of the GNU General
|
||||
Public License version 3 can be found in "/usr/share/common-licenses/GPL-3".
|
||||
10
debian/dvdisaster-doc.doc-base
vendored
Normal file
10
debian/dvdisaster-doc.doc-base
vendored
Normal file
@@ -0,0 +1,10 @@
|
||||
Document: dvdisaster
|
||||
Title: The dvdisaster User's Manual
|
||||
Author: Carsten Gnörlich
|
||||
Abstract: This manual describes what dvdisaster is and how it can be used
|
||||
to protect optical media (CD/DVD/BD) from data loss, due to scratches
|
||||
and aging.
|
||||
Section: File Management
|
||||
|
||||
Format: PDF
|
||||
Files: /usr/share/doc/dvdisaster/manual.pdf.gz
|
||||
1
debian/dvdisaster-doc.docs
vendored
Normal file
1
debian/dvdisaster-doc.docs
vendored
Normal file
@@ -0,0 +1 @@
|
||||
documentation/user-manual/manual.pdf
|
||||
4
debian/dvdisaster.docs
vendored
Normal file
4
debian/dvdisaster.docs
vendored
Normal file
@@ -0,0 +1,4 @@
|
||||
CREDITS.*
|
||||
README.MODIFYING
|
||||
TODO
|
||||
TRANSLATION.HOWTO
|
||||
1
debian/dvdisaster.examples
vendored
Normal file
1
debian/dvdisaster.examples
vendored
Normal file
@@ -0,0 +1 @@
|
||||
debian/examples/*
|
||||
5
debian/dvdisaster.install
vendored
Normal file
5
debian/dvdisaster.install
vendored
Normal file
@@ -0,0 +1,5 @@
|
||||
contrib/dvdisaster.desktop usr/share/applications
|
||||
usr/bin
|
||||
usr/share/icons
|
||||
usr/share/locale
|
||||
usr/share/man
|
||||
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
|
||||
41
debian/examples/gmkrs02
vendored
Normal file
41
debian/examples/gmkrs02
vendored
Normal file
@@ -0,0 +1,41 @@
|
||||
#!/bin/sh -e
|
||||
# Copyright (C) 2007 Osamu Aoki <osamu@debian.org>, Public Domain
|
||||
set -x
|
||||
# Initialize variables
|
||||
DATA_SRC=""
|
||||
DATA_ISO="$HOME/Desktop/iso-$$.img"
|
||||
LABEL=$(date +%Y%m%d-%H%M%S-%Z)
|
||||
error_exit()
|
||||
{
|
||||
echo "$1" >&2
|
||||
exit 1
|
||||
}
|
||||
# Erase disk image
|
||||
rm -f "$DATA_ISO" || true
|
||||
# Select directory for creating ISO image from folder on desktop
|
||||
DATA_SRC=$(zenity --file-selection --directory \
|
||||
--title="Select the directory tree root to create ISO image") \
|
||||
|| error_exit "Exit on directry selection"
|
||||
# Check size of archive
|
||||
xterm -T "Check size $DATA_SRC" -e du -s $DATA_SRC/*
|
||||
SIZE=$(($(du -s $DATA_SRC | awk '{print $1}')/1024))
|
||||
if [ $SIZE -le 520 ] ; then
|
||||
zenity --info --title="Dvdisaster RS02" --width 640 --height 400 \
|
||||
--text="The data size is good for CD backup:\\n $SIZE MB"
|
||||
elif [ $SIZE -le 3500 ]; then
|
||||
zenity --info --title="Dvdisaster RS02" --width 640 --height 400 \
|
||||
--text="The data size is good for DVD backup :\\n $SIZE MB"
|
||||
else
|
||||
zenity --info --title="Dvdisaster RS02" --width 640 --height 400 \
|
||||
--text="The data size is too big to backup : $SIZE MB"
|
||||
error_exit "The data size is too big to backup :\\n $SIZE MB"
|
||||
fi
|
||||
# only xterm is sure to have working -e option
|
||||
# Create raw ISO image
|
||||
xterm -T "genisoimage $DATA_ISO" \
|
||||
-e genisoimage -r -J -V "$LABEL" -o "$DATA_ISO" "$DATA_SRC"
|
||||
# Create RS02 supplimental redundancy
|
||||
xterm -T "dvdisaster $DATA_ISO" -e dvdisaster -i "$DATA_ISO" -mRS02 -c
|
||||
zenity --info --title="Dvdisaster RS02" --width 640 --height 400 \
|
||||
--text="ISO/RS02 data ($SIZE MB) \\n created at: $DATA_ISO"
|
||||
# EOF
|
||||
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
|
||||
32
debian/patches/02-encryption.patch
vendored
Normal file
32
debian/patches/02-encryption.patch
vendored
Normal file
@@ -0,0 +1,32 @@
|
||||
From: Optical Media Tools Team <pkg-opt-media-team@lists.alioth.debian.org>
|
||||
Date: Sun, 8 Apr 2012 21:51:29 +0900
|
||||
Subject: Disables to skip on encrypted disks (e.g. DVD with CSS-Encryption).
|
||||
|
||||
Description: Disables to skip on encrypted disks (e.g. DVD with CSS-Encryption).
|
||||
Author: n/a
|
||||
Last-Update: 2012-04-08
|
||||
---
|
||||
This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
|
||||
---
|
||||
scsi-layer.c | 3 ++-
|
||||
1 file changed, 2 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/scsi-layer.c b/scsi-layer.c
|
||||
index cad13d4..866b7ac 100644
|
||||
--- a/scsi-layer.c
|
||||
+++ b/scsi-layer.c
|
||||
@@ -2695,12 +2695,13 @@ Image* OpenImageFromDevice(char *device)
|
||||
return NULL;
|
||||
}
|
||||
}
|
||||
-
|
||||
+/*
|
||||
if(dh->mainType == DVD && query_copyright(dh))
|
||||
{ CloseImage(image);
|
||||
Stop(_("This software does not support encrypted media.\n"));
|
||||
return NULL;
|
||||
}
|
||||
+*/
|
||||
|
||||
/* Create the bitmap of simulated defects */
|
||||
|
||||
29
debian/patches/03-dvdrom.patch
vendored
Normal file
29
debian/patches/03-dvdrom.patch
vendored
Normal file
@@ -0,0 +1,29 @@
|
||||
From: Corey Wright <undefined@pobox.com>
|
||||
Date: Tue, 6 Mar 2012 11:10:30 +0900
|
||||
Subject: Adds support for DVD-ROM medium-type.
|
||||
|
||||
Description: Adds support for DVD-ROM medium-type.
|
||||
Author: Corey Wright <undefined@pobox.com>
|
||||
Last-Update: 2012-03-06
|
||||
---
|
||||
This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
|
||||
---
|
||||
scsi-layer.c | 5 +++++
|
||||
1 file changed, 5 insertions(+)
|
||||
|
||||
diff --git a/scsi-layer.c b/scsi-layer.c
|
||||
index 866b7ac..b3a9d0e 100644
|
||||
--- a/scsi-layer.c
|
||||
+++ b/scsi-layer.c
|
||||
@@ -908,6 +908,11 @@ static int query_dvd(DeviceHandle *dh, int probe_only)
|
||||
break;
|
||||
}
|
||||
|
||||
+ if(layer_type & 0x01)
|
||||
+ { dh->typeDescr = g_strdup("DVD-ROM");
|
||||
+ break;
|
||||
+ }
|
||||
+
|
||||
if(layer_type & 0x06) /* strange thing: (re-)writeable but neither plus nor dash */
|
||||
{ dh->typeDescr = g_strdup("DVD-ROM (fake)");
|
||||
dh->subType = DVD;
|
||||
55
debian/patches/05-help-dialog.patch
vendored
Normal file
55
debian/patches/05-help-dialog.patch
vendored
Normal file
@@ -0,0 +1,55 @@
|
||||
From: Daniel Baumann <daniel@debian.org>
|
||||
Date: Sun, 8 Apr 2012 21:53:29 +0900
|
||||
Subject: Customizes the help-dialog according to README.MODIFYING.
|
||||
|
||||
Description: Customizes the help-dialog according to README.MODIFYING.
|
||||
.
|
||||
* 2016-12-19 - Fixed path:
|
||||
/usr/share/common/licenses/GPL-2 -> /usr/share/common-licenses/GPL-2
|
||||
and restored use of "GPL" label.
|
||||
Author: Daniel Baumann <daniel@debian.org>
|
||||
Last-Update: 2016-12-19
|
||||
---
|
||||
This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
|
||||
---
|
||||
help-dialogs.c | 12 ++++++------
|
||||
1 file changed, 6 insertions(+), 6 deletions(-)
|
||||
|
||||
diff --git a/help-dialogs.c b/help-dialogs.c
|
||||
index c486613..758ac19 100644
|
||||
--- a/help-dialogs.c
|
||||
+++ b/help-dialogs.c
|
||||
@@ -403,7 +403,7 @@ void ShowGPL()
|
||||
ShowTextfile(_("windowtitle|GNU General Public License"),
|
||||
_("<big>GNU General Public License</big>\n"
|
||||
"<i>The license terms of dvdisaster.</i>"),
|
||||
- "COPYING", NULL, NULL);
|
||||
+ "/usr/share/common-licenses/GPL-2", NULL, NULL);
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -567,7 +567,7 @@ static void show_modifying(void)
|
||||
{ ShowTextfile(_("windowtitle|Modifying dvdisaster"),
|
||||
_("<big>Modifying dvdisaster</big>\n"
|
||||
"<i>Your changes are not ours.</i>"),
|
||||
- "README.MODIFYING", NULL, NULL);
|
||||
+ "/usr/share/doc/dvdisaster/README.MODIFYING", NULL, NULL);
|
||||
}
|
||||
|
||||
static gint about_cb(GtkWidget *widget, GdkEvent *event, gpointer data)
|
||||
@@ -746,11 +746,11 @@ void AboutDialog()
|
||||
"GPL");
|
||||
|
||||
#ifdef MODIFIED_SOURCE
|
||||
- AboutTextWithLink(vbox, _("\nThis program is <b>not the original</b>. It is based on the\n"
|
||||
- "source code of dvdisaster, but contains third-party changes.\n\n"
|
||||
+ AboutTextWithLink(vbox, _("\nThis version is <b>not the original</b>. It has been patched\n"
|
||||
+ "for Debian to support DVD-ROMs (with and without encryption).\n\n"
|
||||
"Please do not bother the original authors of dvdisaster\n"
|
||||
- "([www.dvdisaster.org]) about issues with this version.\n"),
|
||||
- "http://www.dvdisaster.org");
|
||||
+ "but submit bugreports against the [debian package] instead.\n"),
|
||||
+ "http://packages.qa.debian.org/dvdisaster");
|
||||
|
||||
#else
|
||||
lang = g_getenv("LANG");
|
||||
41
debian/patches/08-fix-gnu-make-detection.patch
vendored
Normal file
41
debian/patches/08-fix-gnu-make-detection.patch
vendored
Normal file
@@ -0,0 +1,41 @@
|
||||
From: Carlos Maddela <e7appew@gmail.com>
|
||||
Date: Sun, 18 Dec 2016 23:05:03 +1100
|
||||
Subject: Fix GNU Make detection.
|
||||
|
||||
Description: Fix GNU Make detection.
|
||||
While the previous code works with earlier versions of bash, it doesn't
|
||||
seem to work with bash 4.4.5. The redirection to /dev/null somehow causes
|
||||
grep to return an error code of 2.
|
||||
.
|
||||
This change allows for more predictable behaviour: grep returns an
|
||||
error code of 0 or 1.
|
||||
Author: Carlos Maddela <e7appew@gmail.com>
|
||||
Bug-Debian: https://bugs.debian.org/848811
|
||||
Forwarded: no
|
||||
Last-Update: 2016-12-18
|
||||
---
|
||||
This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
|
||||
---
|
||||
scripts/bash-based-configure | 4 ++--
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/scripts/bash-based-configure b/scripts/bash-based-configure
|
||||
index 6baffde..f1a8bd1 100644
|
||||
--- a/scripts/bash-based-configure
|
||||
+++ b/scripts/bash-based-configure
|
||||
@@ -313,13 +313,13 @@ function REQUIRE_GMAKE()
|
||||
|
||||
echo -n "Checking for gmake: "
|
||||
|
||||
- if (gmake -v | grep "GNU Make") > /dev/null 2>&1 ;
|
||||
+ if (gmake -v 2>&1 | grep "GNU Make") > /dev/null 2>&1 ;
|
||||
then echo "yes"
|
||||
echo "MAKE = `which gmake`" >>Makefile.config
|
||||
return 0
|
||||
fi;
|
||||
|
||||
- if (make -v | grep "GNU Make") > /dev/null 2>&1 ;
|
||||
+ if (make -v 2>&1 | grep "GNU Make") > /dev/null 2>&1 ;
|
||||
then echo "yes"
|
||||
echo "MAKE = `which make`" >>Makefile.config
|
||||
return 0
|
||||
28
debian/patches/10-use-non-size-specific-icon-and-add-keywords-to-desktop-file.patch
vendored
Normal file
28
debian/patches/10-use-non-size-specific-icon-and-add-keywords-to-desktop-file.patch
vendored
Normal file
@@ -0,0 +1,28 @@
|
||||
From: Carlos Maddela <e7appew@gmail.com>
|
||||
Date: Mon, 19 Dec 2016 03:40:41 +1100
|
||||
Subject: Use non-size-specific icon and add keywords to desktop file.
|
||||
|
||||
Description: Use non-size-specific icon and add keywords to desktop file.
|
||||
Author: Carlos Maddela <e7appew@gmail.com>
|
||||
Forwarded: no
|
||||
Last-Update: 2016-12-19
|
||||
---
|
||||
This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
|
||||
---
|
||||
contrib/dvdisaster.desktop | 3 ++-
|
||||
1 file changed, 2 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/contrib/dvdisaster.desktop b/contrib/dvdisaster.desktop
|
||||
index c7661ec..1f9926b 100644
|
||||
--- a/contrib/dvdisaster.desktop
|
||||
+++ b/contrib/dvdisaster.desktop
|
||||
@@ -6,7 +6,8 @@ Comment=Additional error protection for CD/DVD media
|
||||
Comment[cs]=Přídavná ochrana pro média CD/DVD
|
||||
Comment[de]=Zusätzliche Fehlerkorrektur für CD/DVD
|
||||
Exec=dvdisaster
|
||||
-Icon=dvdisaster48.png
|
||||
+Icon=dvdisaster
|
||||
Terminal=false
|
||||
Type=Application
|
||||
Categories=Application;System;
|
||||
+Keywords=CD;DVD;media;data loss;scratch;aging;error;protection;recovery;
|
||||
51
debian/patches/11-no-cruft.patch
vendored
Normal file
51
debian/patches/11-no-cruft.patch
vendored
Normal file
@@ -0,0 +1,51 @@
|
||||
From: Carlos Maddela <e7appew@gmail.com>
|
||||
Date: Mon, 19 Dec 2016 05:06:30 +1100
|
||||
Subject: Do not install cruft.
|
||||
|
||||
Description: Do not install cruft.
|
||||
Author: Carlos Maddela <e7appew@gmail.com>
|
||||
Forwarded: not-needed
|
||||
Last-Update: 2017-12-21
|
||||
---
|
||||
This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
|
||||
---
|
||||
GNUmakefile.template | 19 -------------------
|
||||
1 file changed, 19 deletions(-)
|
||||
|
||||
diff --git a/GNUmakefile.template b/GNUmakefile.template
|
||||
index 77a57bf..6fda92b 100644
|
||||
--- a/GNUmakefile.template
|
||||
+++ b/GNUmakefile.template
|
||||
@@ -228,12 +228,6 @@ install: dvdisaster manual
|
||||
install -d $(BUILDROOT)$(BINDIR)
|
||||
install dvdisaster $(BUILDROOT)$(BINDIR)
|
||||
install -d $(BUILDROOT)$(DOCSUBDIR)
|
||||
- install -m 644 CHANGELOG $(BUILDROOT)$(DOCSUBDIR)
|
||||
- install -m 644 COPYING $(BUILDROOT)$(DOCSUBDIR)
|
||||
- install -m 644 CREDITS* $(BUILDROOT)$(DOCSUBDIR)
|
||||
- install -m 644 README.MODIFYING $(BUILDROOT)$(DOCSUBDIR)
|
||||
- install -m 644 TODO $(BUILDROOT)$(DOCSUBDIR)
|
||||
- install -d $(BUILDROOT)$(DOCSUBDIR)
|
||||
(cd documentation/user-manual; install -m 644 manual.pdf $(BUILDROOT)$(DOCSUBDIR))
|
||||
install -d $(BUILDROOT)$(MANDIR)/man1
|
||||
install -d $(BUILDROOT)$(MANDIR)/de/man1
|
||||
@@ -251,19 +245,6 @@ install: dvdisaster manual
|
||||
install -m 644 $$i/LC_MESSAGES/dvdisaster.mo $(BUILDROOT)$(LOCALEDIR)/$$i/LC_MESSAGES; \
|
||||
done \
|
||||
fi
|
||||
- @echo "# dvdisaster uninstaller script" > $(BUILDROOT)$(BINDIR)/dvdisaster-uninstall.sh
|
||||
- @echo "# Usage: sh dvdisaster-uninstall.sh" >> $(BUILDROOT)$(BINDIR)/dvdisaster-uninstall.sh
|
||||
- @echo >> $(BUILDROOT)$(BINDIR)/dvdisaster-uninstall.sh
|
||||
- @echo "rm -f $(BINDIR)/dvdisaster $(BINDIR)/dvdisaster-uninstall.sh" >> $(BUILDROOT)$(BINDIR)/dvdisaster-uninstall.sh
|
||||
- @echo "rm -rf $(DOCSUBDIR)" >> $(BUILDROOT)$(BINDIR)/dvdisaster-uninstall.sh
|
||||
- @for i in $(PO_LOCALES); do \
|
||||
- echo "rm $(LOCALEDIR)/$$i/LC_MESSAGES/dvdisaster.mo" >> $(BUILDROOT)$(BINDIR)/dvdisaster-uninstall.sh ; \
|
||||
- done
|
||||
- @echo "rm -f $(MANDIR)/man1/dvdisaster.1" >> $(BUILDROOT)$(BINDIR)/dvdisaster-uninstall.sh
|
||||
- @for i in $(MAN_LOCALES); do \
|
||||
- echo "rm $(MANDIR)/$$i/man1/dvdisaster.1" >> $(BUILDROOT)$(BINDIR)/dvdisaster-uninstall.sh ; \
|
||||
- done
|
||||
- @echo "echo \"dvdisaster has been uninstalled.\"" >> $(BUILDROOT)$(BINDIR)/dvdisaster-uninstall.sh
|
||||
|
||||
uninstall:
|
||||
@echo "Uninstalling package..."
|
||||
397
debian/patches/12-fix-spelling-of-up-to.patch
vendored
Normal file
397
debian/patches/12-fix-spelling-of-up-to.patch
vendored
Normal file
@@ -0,0 +1,397 @@
|
||||
From: Carlos Maddela <e7appew@gmail.com>
|
||||
Date: Mon, 19 Dec 2016 06:03:48 +1100
|
||||
Subject: Fix spelling: upto -> up to
|
||||
|
||||
Description: Fix spelling: upto -> up to
|
||||
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/
|
||||
---
|
||||
debug.c | 2 +-
|
||||
documentation/codec-specs/rs01.tex | 2 +-
|
||||
documentation/codec-specs/rs02.tex | 2 +-
|
||||
documentation/dvdisaster.en.1 | 4 ++--
|
||||
documentation/user-manual/qa.tex | 2 +-
|
||||
dvdisaster.c | 2 +-
|
||||
dvdisaster.h | 4 ++--
|
||||
locale/cs.po | 6 +++---
|
||||
locale/de.po | 6 +++---
|
||||
locale/it.po | 8 ++++----
|
||||
locale/pt_BR.po | 10 +++++-----
|
||||
locale/ru.po | 12 ++++++------
|
||||
locale/sv.po | 6 +++---
|
||||
preferences.c | 4 ++--
|
||||
14 files changed, 35 insertions(+), 35 deletions(-)
|
||||
|
||||
diff --git a/debug.c b/debug.c
|
||||
index b4a96d1..bd725d6 100644
|
||||
--- a/debug.c
|
||||
+++ b/debug.c
|
||||
@@ -1023,7 +1023,7 @@ void RawSector(char *arg)
|
||||
*
|
||||
* ./dvdisaster --debug --send-cdb 12,00,00,00,24,00:24
|
||||
*
|
||||
- * The first six bytes make up the cdb; cdbs with upto 12 bytes are possible.
|
||||
+ * The first six bytes make up the cdb; cdbs with up to 12 bytes are possible.
|
||||
* The :24 arg is the allocation length.
|
||||
* Note that the allocation length must match those specified in the cdb;
|
||||
* differing values may crash the system.
|
||||
diff --git a/documentation/codec-specs/rs01.tex b/documentation/codec-specs/rs01.tex
|
||||
index ebb1ee5..a8c0d90 100644
|
||||
--- a/documentation/codec-specs/rs01.tex
|
||||
+++ b/documentation/codec-specs/rs01.tex
|
||||
@@ -172,7 +172,7 @@ The $d_{i,j}$ denote the $i-th$ byte in the $j-th$ layer.
|
||||
In order to create the first ecc block, bytes $d_{1,1}$ to $d_{1,n}$ are taken from the
|
||||
$n$ layers. Then the RS(255,k) code is calculated (see appendix \ref{rs} for its parameters)
|
||||
and the
|
||||
-resulting $k$ parity bytes $e_{1,1}$ upto $e_{k,1}$ are stored
|
||||
+resulting $k$ parity bytes $e_{1,1}$ up to $e_{k,1}$ are stored
|
||||
in the ecc file. The resulting ecc block is marked grey in the
|
||||
figure. The next ecc blocks are calculated and stored accordingly.
|
||||
In total, the ecc section contains $k*ls$ bytes of parity information,
|
||||
diff --git a/documentation/codec-specs/rs02.tex b/documentation/codec-specs/rs02.tex
|
||||
index 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
|
||||
marked with ``all'' or ``RS02'' are relevant; all other fields should be set to zero.
|
||||
|
||||
Data layer $n$ does also contain the CRC32 checksums of each data sector
|
||||
-upto the ecc header. If the .iso image contains $s$ sectors,
|
||||
+up to the ecc header. If the .iso image contains $s$ sectors,
|
||||
then the CRC field contains $4s$ bytes, rounded up
|
||||
to the nearest multiple of 2048.
|
||||
CRC32 checksums are calculated over a whole CD sector comprising 2048 bytes.
|
||||
diff --git a/documentation/dvdisaster.en.1 b/documentation/dvdisaster.en.1
|
||||
index 3472012..d71abec 100644
|
||||
--- a/documentation/dvdisaster.en.1
|
||||
+++ b/documentation/dvdisaster.en.1
|
||||
@@ -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.
|
||||
-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
|
||||
@@ -384,7 +384,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.
|
||||
diff --git a/documentation/user-manual/qa.tex b/documentation/user-manual/qa.tex
|
||||
index a3465a8..d79ca4d 100644
|
||||
--- a/documentation/user-manual/qa.tex
|
||||
+++ b/documentation/user-manual/qa.tex
|
||||
@@ -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.
|
||||
- This causes dvdisaster versions upto 0.65 to falsely display the above error
|
||||
+ This causes dvdisaster versions up to 0.65 to falsely display the above error
|
||||
message. Please use the developer versions only together with dvdisaster
|
||||
0.66 or newer versions. }
|
||||
diff --git a/dvdisaster.c b/dvdisaster.c
|
||||
index 6742d99..6840fd5 100644
|
||||
--- a/dvdisaster.c
|
||||
+++ b/dvdisaster.c
|
||||
@@ -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"));
|
||||
- PrintCLI(_(" --read-attempts n-m - attempts n upto m reads of a defective sector\n"));
|
||||
+ PrintCLI(_(" --read-attempts n-m - attempts n up to m reads of a defective sector\n"));
|
||||
PrintCLI(_(" --read-medium n - read the whole medium up to n times\n"));
|
||||
PrintCLI(_(" --read-raw - performs read in raw mode if possible\n"));
|
||||
PrintCLI(_(" --regtest - tweaks output for compatibility with regtests\n"));
|
||||
diff --git a/dvdisaster.h b/dvdisaster.h
|
||||
index 7fb980b..a466450 100644
|
||||
--- a/dvdisaster.h
|
||||
+++ b/dvdisaster.h
|
||||
@@ -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 */
|
||||
-#define MAX_PREFETCH_CACHE_SIZE (512*1024) /* upto 0.5TB RS03 */
|
||||
+#define MAX_PREFETCH_CACHE_SIZE (512*1024) /* up to 0.5TB RS03 */
|
||||
|
||||
/* Choices for I/O strategy */
|
||||
|
||||
@@ -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. */
|
||||
- /* Versions upto 0.64 used sector 257, */
|
||||
+ /* Versions up to 0.64 used sector 257, */
|
||||
/* but that was not a wise choice for CD media.*/
|
||||
|
||||
#define MFLAG_DEVEL (1<<0) /* for methodFlags[3] */
|
||||
diff --git a/locale/cs.po b/locale/cs.po
|
||||
index 3274de9..4f766a3 100644
|
||||
--- a/locale/cs.po
|
||||
+++ b/locale/cs.po
|
||||
@@ -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: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: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"
|
||||
-"When the minimum number of reading attempts is reached without success, dvdisaster might choose to perform additional reading attempts upto this number.\n"
|
||||
+"When the minimum number of reading attempts is reached without success, dvdisaster might choose to perform additional reading attempts up to this number.\n"
|
||||
"\n"
|
||||
"The decision to do more attempts depends on the quality of data gathered so far, which in turn is influenced by the capabilities of your optical drive and the operating system. So depending on your configuration, you may or may not see dvdisaster using the maximum value."
|
||||
msgstr ""
|
||||
@@ -2086,7 +2086,7 @@ msgstr " krát"
|
||||
msgid ""
|
||||
"<b>Media read attempts</b> for the linear reading strategy\n"
|
||||
"\n"
|
||||
-"If unreadable sectors remain after reading the medium from start to end, the medium is read again upto he given number of times.\n"
|
||||
+"If unreadable sectors remain after reading the medium from start to end, the medium is read again up to he given number of times.\n"
|
||||
"\n"
|
||||
"Only the missing sectors will be tried in the additional reading passes."
|
||||
msgstr ""
|
||||
diff --git a/locale/de.po b/locale/de.po
|
||||
index b252c19..5b47778 100644
|
||||
--- a/locale/de.po
|
||||
+++ b/locale/de.po
|
||||
@@ -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: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:934
|
||||
@@ -2073,7 +2073,7 @@ msgstr "Höchstens %d Leseversuche pro Sektor"
|
||||
msgid ""
|
||||
"<b>Maximum number of reading attempts</b>\n"
|
||||
"\n"
|
||||
-"When the minimum number of reading attempts is reached without success, dvdisaster might choose to perform additional reading attempts upto this number.\n"
|
||||
+"When the minimum number of reading attempts is reached without success, dvdisaster might choose to perform additional reading attempts up to this number.\n"
|
||||
"\n"
|
||||
"The decision to do more attempts depends on the quality of data gathered so far, which in turn is influenced by the capabilities of your optical drive and the operating system. So depending on your configuration, you may or may not see dvdisaster using the maximum value."
|
||||
msgstr ""
|
||||
@@ -2145,7 +2145,7 @@ msgstr " mal lesen"
|
||||
msgid ""
|
||||
"<b>Media read attempts</b> for the linear reading strategy\n"
|
||||
"\n"
|
||||
-"If unreadable sectors remain after reading the medium from start to end, the medium is read again upto he given number of times.\n"
|
||||
+"If unreadable sectors remain after reading the medium from start to end, the medium is read again up to he given number of times.\n"
|
||||
"\n"
|
||||
"Only the missing sectors will be tried in the additional reading passes."
|
||||
msgstr ""
|
||||
diff --git a/locale/it.po b/locale/it.po
|
||||
index efd3d27..f6e9dfd 100644
|
||||
--- a/locale/it.po
|
||||
+++ b/locale/it.po
|
||||
@@ -629,7 +629,7 @@ msgid " --raw-mode n - mode for raw reading CD media (20 or 21)\n"
|
||||
msgstr ""
|
||||
|
||||
#: 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:934
|
||||
@@ -1838,7 +1838,7 @@ msgstr ""
|
||||
msgid ""
|
||||
"<b>Maximum number of reading attempts</b>\n"
|
||||
"\n"
|
||||
-"When the minimum number of reading attempts is reached without success, dvdisaster might choose to perform additional reading attempts upto this number.\n"
|
||||
+"When the minimum number of reading attempts is reached without success, dvdisaster might choose to perform additional reading attempts up to this number.\n"
|
||||
"\n"
|
||||
"The decision to do more attempts depends on the quality of data gathered so far, which in turn is influenced by the capabilities of your optical drive and the operating system. So depending on your configuration, you may or may not see dvdisaster using the maximum value."
|
||||
msgstr ""
|
||||
@@ -1897,7 +1897,7 @@ msgstr ""
|
||||
msgid ""
|
||||
"<b>Media read attempts</b> for the linear reading strategy\n"
|
||||
"\n"
|
||||
-"If unreadable sectors remain after reading the medium from start to end, the medium is read again upto he given number of times.\n"
|
||||
+"If unreadable sectors remain after reading the medium from start to end, the medium is read again up to he given number of times.\n"
|
||||
"\n"
|
||||
"Only the missing sectors will be tried in the additional reading passes."
|
||||
msgstr ""
|
||||
@@ -6086,7 +6086,7 @@ msgstr ""
|
||||
#~ msgstr "Se potete verificate se la dimensione dell'immagine è corretta,\n"
|
||||
|
||||
#~ msgid ""
|
||||
-#~ "please send in the whole dvdisaster output upto this line\n"
|
||||
+#~ "please send in the whole dvdisaster output up to this line\n"
|
||||
#~ "to have your drive included in the internal data base.\n"
|
||||
#~ msgstr ""
|
||||
#~ "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 21ea77b..86eda03 100644
|
||||
--- a/locale/pt_BR.po
|
||||
+++ b/locale/pt_BR.po
|
||||
@@ -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: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: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"
|
||||
-"When the minimum number of reading attempts is reached without success, dvdisaster might choose to perform additional reading attempts upto this number.\n"
|
||||
+"When the minimum number of reading attempts is reached without success, dvdisaster might choose to perform additional reading attempts up to this number.\n"
|
||||
"\n"
|
||||
"The decision to do more attempts depends on the quality of data gathered so far, which in turn is influenced by the capabilities of your optical drive and the operating system. So depending on your configuration, you may or may not see dvdisaster using the maximum value."
|
||||
msgstr ""
|
||||
@@ -2021,7 +2021,7 @@ msgstr " vezes"
|
||||
msgid ""
|
||||
"<b>Media read attempts</b> for the linear reading strategy\n"
|
||||
"\n"
|
||||
-"If unreadable sectors remain after reading the medium from start to end, the medium is read again upto he given number of times.\n"
|
||||
+"If unreadable sectors remain after reading the medium from start to end, the medium is read again up to he given number of times.\n"
|
||||
"\n"
|
||||
"Only the missing sectors will be tried in the additional reading passes."
|
||||
msgstr ""
|
||||
@@ -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"
|
||||
-#~ " --read-attempts n-m - attempts n upto m reads of a defective sector\n"
|
||||
+#~ " --read-attempts n-m - attempts n up to m reads of a defective sector\n"
|
||||
#~ " --read-medium n - read the whole medium up to n times\n"
|
||||
#~ " --read-raw - performs read in raw mode if possible\n"
|
||||
#~ " --speed-warning n - print warning if speed changes by more than n percent\n"
|
||||
@@ -6501,7 +6501,7 @@ msgstr "<i>Novidades dessa versão:</i>"
|
||||
#~ msgid ""
|
||||
#~ "<b>File splitting</b>\n"
|
||||
#~ "\n"
|
||||
-#~ "Allows working with file systems which are limited to 2GB per file, e.g. FAT from Windows. Created files are spread over upto 100 segments called \"medium00.iso\", \"medium01.iso\" etc. at the cost of a small performance hit."
|
||||
+#~ "Allows working with file systems which are limited to 2GB per file, e.g. FAT from Windows. Created files are spread over up to 100 segments called \"medium00.iso\", \"medium01.iso\" etc. at the cost of a small performance hit."
|
||||
#~ msgstr ""
|
||||
#~ "<b>Separação de arquivos</b>\n"
|
||||
#~ "\n"
|
||||
diff --git a/locale/ru.po b/locale/ru.po
|
||||
index 767f906..7984c59 100644
|
||||
--- a/locale/ru.po
|
||||
+++ b/locale/ru.po
|
||||
@@ -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: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:934
|
||||
@@ -1952,7 +1952,7 @@ msgstr "Макс. %d попыток чтения на сектор"
|
||||
msgid ""
|
||||
"<b>Maximum number of reading attempts</b>\n"
|
||||
"\n"
|
||||
-"When the minimum number of reading attempts is reached without success, dvdisaster might choose to perform additional reading attempts upto this number.\n"
|
||||
+"When the minimum number of reading attempts is reached without success, dvdisaster might choose to perform additional reading attempts up to this number.\n"
|
||||
"\n"
|
||||
"The decision to do more attempts depends on the quality of data gathered so far, which in turn is influenced by the capabilities of your optical drive and the operating system. So depending on your configuration, you may or may not see dvdisaster using the maximum value."
|
||||
msgstr ""
|
||||
@@ -2024,7 +2024,7 @@ msgstr " раз"
|
||||
msgid ""
|
||||
"<b>Media read attempts</b> for the linear reading strategy\n"
|
||||
"\n"
|
||||
-"If unreadable sectors remain after reading the medium from start to end, the medium is read again upto he given number of times.\n"
|
||||
+"If unreadable sectors remain after reading the medium from start to end, the medium is read again up to he given number of times.\n"
|
||||
"\n"
|
||||
"Only the missing sectors will be tried in the additional reading passes."
|
||||
msgstr ""
|
||||
@@ -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"
|
||||
-#~ " --read-attempts n-m - attempts n upto m reads of a defective sector\n"
|
||||
+#~ " --read-attempts n-m - attempts n up to m reads of a defective sector\n"
|
||||
#~ " --read-medium n - read the whole medium up to n times\n"
|
||||
#~ " --read-raw - performs read in raw mode if possible\n"
|
||||
#~ " --speed-warning n - print warning if speed changes by more than n percent\n"
|
||||
@@ -6560,7 +6560,7 @@ msgstr "<i>Новое в этой версии:</i>"
|
||||
#~ msgid ""
|
||||
#~ "<b>File splitting</b>\n"
|
||||
#~ "\n"
|
||||
-#~ "Allows working with file systems which are limited to 2GB per file, e.g. FAT from Windows. Created files are spread over upto 100 segments called \"medium00.iso\", \"medium01.iso\" etc. at the cost of a small performance hit."
|
||||
+#~ "Allows working with file systems which are limited to 2GB per file, e.g. FAT from Windows. Created files are spread over up to 100 segments called \"medium00.iso\", \"medium01.iso\" etc. at the cost of a small performance hit."
|
||||
#~ msgstr ""
|
||||
#~ "<b>Разбиение файлов</b>\n"
|
||||
#~ "\n"
|
||||
@@ -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"
|
||||
-#~ " --read-attempts n-m - attempts n upto m reads of a defective sector\n"
|
||||
+#~ " --read-attempts n-m - attempts n up to m reads of a defective sector\n"
|
||||
#~ " --read-medium n - read the whole medium up to n times\n"
|
||||
#~ " --read-raw - performs read in raw mode if possible\n"
|
||||
#~ " --speed-warning n - print warning if speed changes by more than n percent\n"
|
||||
diff --git a/locale/sv.po b/locale/sv.po
|
||||
index 548e2e5..c74a942 100644
|
||||
--- a/locale/sv.po
|
||||
+++ b/locale/sv.po
|
||||
@@ -630,7 +630,7 @@ msgid " --raw-mode n - mode for raw reading CD media (20 or 21)\n"
|
||||
msgstr ""
|
||||
|
||||
#: 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:934
|
||||
@@ -1844,7 +1844,7 @@ msgstr ""
|
||||
msgid ""
|
||||
"<b>Maximum number of reading attempts</b>\n"
|
||||
"\n"
|
||||
-"When the minimum number of reading attempts is reached without success, dvdisaster might choose to perform additional reading attempts upto this number.\n"
|
||||
+"When the minimum number of reading attempts is reached without success, dvdisaster might choose to perform additional reading attempts up to this number.\n"
|
||||
"\n"
|
||||
"The decision to do more attempts depends on the quality of data gathered so far, which in turn is influenced by the capabilities of your optical drive and the operating system. So depending on your configuration, you may or may not see dvdisaster using the maximum value."
|
||||
msgstr ""
|
||||
@@ -1903,7 +1903,7 @@ msgstr ""
|
||||
msgid ""
|
||||
"<b>Media read attempts</b> for the linear reading strategy\n"
|
||||
"\n"
|
||||
-"If unreadable sectors remain after reading the medium from start to end, the medium is read again upto he given number of times.\n"
|
||||
+"If unreadable sectors remain after reading the medium from start to end, the medium is read again up to he given number of times.\n"
|
||||
"\n"
|
||||
"Only the missing sectors will be tried in the additional reading passes."
|
||||
msgstr ""
|
||||
diff --git a/preferences.c b/preferences.c
|
||||
index 70afa02..4899317 100644
|
||||
--- a/preferences.c
|
||||
+++ b/preferences.c
|
||||
@@ -2221,7 +2221,7 @@ void CreatePreferencesWindow(void)
|
||||
_("<b>Maximum number of reading attempts</b>\n\n"
|
||||
"When the minimum number of reading attempts is reached "
|
||||
"without success, dvdisaster might choose to perform additional "
|
||||
- "reading attempts upto this number.\n\n"
|
||||
+ "reading attempts up to this number.\n\n"
|
||||
|
||||
"The decision to do more attempts depends on the quality of "
|
||||
"data gathered so far, which in turn is influenced by the "
|
||||
@@ -2336,7 +2336,7 @@ void CreatePreferencesWindow(void)
|
||||
AddHelpParagraph(lwoh,
|
||||
_("<b>Media read attempts</b> for the linear reading strategy\n\n"
|
||||
"If unreadable sectors remain after reading the medium from start to end, "
|
||||
- "the medium is read again upto he given number of times.\n\n"
|
||||
+ "the medium is read again up to he given number of times.\n\n"
|
||||
"Only the missing sectors will be tried in the additional reading passes."));
|
||||
|
||||
/** Defective sector caching */
|
||||
41
debian/patches/13-fix-missing-language-field-in-po-files.patch
vendored
Normal file
41
debian/patches/13-fix-missing-language-field-in-po-files.patch
vendored
Normal file
@@ -0,0 +1,41 @@
|
||||
From: Carlos Maddela <e7appew@gmail.com>
|
||||
Date: Mon, 19 Dec 2016 07:04:02 +1100
|
||||
Subject: Fix missing language fields in PO files.
|
||||
|
||||
Description: Fix missing language fields in PO files.
|
||||
Author: Carlos Maddela <e7appew@gmail.com>
|
||||
Forwarded: no
|
||||
Last-Update: 2017-01-05
|
||||
---
|
||||
This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
|
||||
---
|
||||
locale/pt_BR.po | 2 +-
|
||||
locale/ru.po | 2 +-
|
||||
2 files changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/locale/pt_BR.po b/locale/pt_BR.po
|
||||
index 86eda03..f3437f3 100644
|
||||
--- a/locale/pt_BR.po
|
||||
+++ b/locale/pt_BR.po
|
||||
@@ -11,7 +11,7 @@ msgstr ""
|
||||
"PO-Revision-Date: 2010-06-09 11:13+0200\n"
|
||||
"Last-Translator: cg <cg@dvdisaster.org>\n"
|
||||
"Language-Team: Portuguese\n"
|
||||
-"Language: \n"
|
||||
+"Language: pt_BR\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
diff --git a/locale/ru.po b/locale/ru.po
|
||||
index 7984c59..1bc7324 100644
|
||||
--- a/locale/ru.po
|
||||
+++ b/locale/ru.po
|
||||
@@ -13,7 +13,7 @@ msgstr ""
|
||||
"PO-Revision-Date: 2009-07-23 08:11+0300\n"
|
||||
"Last-Translator: Igor Gorbounov <igor.gorbounov@gmail.com>\n"
|
||||
"Language-Team: Russian\n"
|
||||
-"Language: \n"
|
||||
+"Language: ru\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
128
debian/patches/14-make-builds-reproducible.patch
vendored
Normal file
128
debian/patches/14-make-builds-reproducible.patch
vendored
Normal file
@@ -0,0 +1,128 @@
|
||||
From: Carlos Maddela <e7appew@gmail.com>
|
||||
Date: Mon, 19 Dec 2016 09:39:49 +1100
|
||||
Subject: Make builds reproducible.
|
||||
|
||||
Description: Make builds reproducible.
|
||||
Use the Debian changelog details to derive a build number and date,
|
||||
so that we can make reproducible binaries.
|
||||
Author: Carlos Maddela <e7appew@gmail.com>
|
||||
Forwarded: not-needed
|
||||
Last-Update: 2017-08-14
|
||||
---
|
||||
This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
|
||||
---
|
||||
build.c | 2 +-
|
||||
closure.c | 2 +-
|
||||
dvdisaster.h | 2 +-
|
||||
locale/cs.po | 4 ++--
|
||||
locale/pt_BR.po | 4 ++--
|
||||
locale/ru.po | 4 ++--
|
||||
scripts/time-stamper.bash | 8 ++++----
|
||||
7 files changed, 13 insertions(+), 13 deletions(-)
|
||||
|
||||
diff --git a/build.c b/build.c
|
||||
index 0e99b22..65b17cd 100644
|
||||
--- a/build.c
|
||||
+++ b/build.c
|
||||
@@ -25,4 +25,4 @@
|
||||
/* build is incremented at each make;
|
||||
make recompile of dependent file as fast as possible */
|
||||
|
||||
-int buildCount = BUILD;
|
||||
+const char *const buildCount = BUILD;
|
||||
diff --git a/closure.c b/closure.c
|
||||
index 58ba86f..d633d53 100644
|
||||
--- a/closure.c
|
||||
+++ b/closure.c
|
||||
@@ -442,7 +442,7 @@ void InitClosure()
|
||||
#define BITNESS_STRING ""
|
||||
#endif
|
||||
|
||||
- Closure->versionString = g_strdup_printf("dvdisaster %s build %d, %s%s",
|
||||
+ Closure->versionString = g_strdup_printf("dvdisaster %s build %s, %s%s",
|
||||
Closure->cookedVersion, buildCount, SYS_NAME, BITNESS_STRING);
|
||||
|
||||
/* Replace the dot with a locale-resistant separator */
|
||||
diff --git a/dvdisaster.h b/dvdisaster.h
|
||||
index a466450..9acd094 100644
|
||||
--- a/dvdisaster.h
|
||||
+++ b/dvdisaster.h
|
||||
@@ -463,7 +463,7 @@ void FreeBitmap(Bitmap*);
|
||||
*** build.h
|
||||
***/
|
||||
|
||||
-int buildCount;
|
||||
+extern const char *const buildCount;
|
||||
|
||||
/***
|
||||
*** cacheprobe.h
|
||||
diff --git a/locale/cs.po b/locale/cs.po
|
||||
index 4f766a3..453ec07 100644
|
||||
--- a/locale/cs.po
|
||||
+++ b/locale/cs.po
|
||||
@@ -6511,11 +6511,11 @@ msgstr "<i>Novinky v této verzi:</i>"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "\n"
|
||||
-#~ "dvdisaster version %s build %d\n"
|
||||
+#~ "dvdisaster version %s build %s\n"
|
||||
#~ "\n"
|
||||
#~ msgstr ""
|
||||
#~ "\n"
|
||||
-#~ "dvdisaster verze %s sestavení %d\n"
|
||||
+#~ "dvdisaster verze %s sestavení %s\n"
|
||||
#~ "\n"
|
||||
|
||||
#~ msgid "--prefetch-sectors must be in range 32...8096"
|
||||
diff --git a/locale/pt_BR.po b/locale/pt_BR.po
|
||||
index f3437f3..f7f6af0 100644
|
||||
--- a/locale/pt_BR.po
|
||||
+++ b/locale/pt_BR.po
|
||||
@@ -6232,11 +6232,11 @@ msgstr "<i>Novidades dessa versão:</i>"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "\n"
|
||||
-#~ "dvdisaster version %s build %d\n"
|
||||
+#~ "dvdisaster version %s build %s\n"
|
||||
#~ "\n"
|
||||
#~ msgstr ""
|
||||
#~ "\n"
|
||||
-#~ "dvdisaster, versão %s build %d\n"
|
||||
+#~ "dvdisaster, versão %s build %s\n"
|
||||
|
||||
#~ msgid "--cache-size maximum is 8192MiB."
|
||||
#~ msgstr "--cache-size máximo é 8192MiB."
|
||||
diff --git a/locale/ru.po b/locale/ru.po
|
||||
index 1bc7324..9625a1f 100644
|
||||
--- a/locale/ru.po
|
||||
+++ b/locale/ru.po
|
||||
@@ -6247,11 +6247,11 @@ msgstr "<i>Новое в этой версии:</i>"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "\n"
|
||||
-#~ "dvdisaster version %s build %d\n"
|
||||
+#~ "dvdisaster version %s build %s\n"
|
||||
#~ "\n"
|
||||
#~ msgstr ""
|
||||
#~ "\n"
|
||||
-#~ "dvdisaster версия %s сборка %d\n"
|
||||
+#~ "dvdisaster версия %s сборка %s\n"
|
||||
#~ "\n"
|
||||
|
||||
#~ msgid "--cache-size maximum is 8192MiB."
|
||||
diff --git a/scripts/time-stamper.bash b/scripts/time-stamper.bash
|
||||
index fd28794..4ec3e60 100755
|
||||
--- a/scripts/time-stamper.bash
|
||||
+++ b/scripts/time-stamper.bash
|
||||
@@ -1,7 +1,7 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
-build=$(grep BUILD $1 | cut -d\ -f3)
|
||||
-build=$((build+1))
|
||||
-echo "#define BUILD $build" >$1
|
||||
-date=$(date +"%d.%m.%y (%A, %H:%M)")
|
||||
+# Use Debian changelog details to derive build number and date.
|
||||
+build=$(echo "${DEB_VERSION}" | cut -f2 -d-)
|
||||
+echo "#define BUILD \"$build\"" >$1
|
||||
+date=$(date --date="@${SOURCE_DATE_EPOCH}" --utc +"%d.%m.%y (%A, %H:%M)")
|
||||
echo "#define BDATE \"$date\"" >>$1
|
||||
28
debian/patches/15-show-new-pkg-tracker.patch
vendored
Normal file
28
debian/patches/15-show-new-pkg-tracker.patch
vendored
Normal file
@@ -0,0 +1,28 @@
|
||||
From: Carlos Maddela <e7appew@gmail.com>
|
||||
Date: Mon, 19 Dec 2016 12:02:51 +1100
|
||||
Subject: Update help dialog to show link to the new Debian package tracker.
|
||||
|
||||
Description: Update help dialog to show link to the new Debian
|
||||
package tracker.
|
||||
Author: Carlos Maddela <e7appew@gmail.com>
|
||||
Forwarded: not-needed
|
||||
Last-Update: 2016-12-19
|
||||
---
|
||||
This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
|
||||
---
|
||||
help-dialogs.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/help-dialogs.c b/help-dialogs.c
|
||||
index 758ac19..47551f7 100644
|
||||
--- a/help-dialogs.c
|
||||
+++ b/help-dialogs.c
|
||||
@@ -750,7 +750,7 @@ void AboutDialog()
|
||||
"for Debian to support DVD-ROMs (with and without encryption).\n\n"
|
||||
"Please do not bother the original authors of dvdisaster\n"
|
||||
"but submit bugreports against the [debian package] instead.\n"),
|
||||
- "http://packages.qa.debian.org/dvdisaster");
|
||||
+ "https://tracker.debian.org/pkg/dvdisaster");
|
||||
|
||||
#else
|
||||
lang = g_getenv("LANG");
|
||||
33
debian/patches/16-remove-auto-build-of-doco-from-install-rule.patch
vendored
Normal file
33
debian/patches/16-remove-auto-build-of-doco-from-install-rule.patch
vendored
Normal file
@@ -0,0 +1,33 @@
|
||||
From: Carlos Maddela <e7appew@gmail.com>
|
||||
Date: Thu, 22 Dec 2016 02:20:30 +1100
|
||||
Subject: Don't build and install documentation automatically.
|
||||
|
||||
Description: Don't build and install documentation automatically.
|
||||
This allows for better control over binary-arch and binary-indep builds.
|
||||
Author: Carlos Maddela <e7appew@gmail.com>
|
||||
Forwarded: not-needed
|
||||
Last-Update: 2017-01-05
|
||||
---
|
||||
This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
|
||||
---
|
||||
GNUmakefile.template | 3 +--
|
||||
1 file changed, 1 insertion(+), 2 deletions(-)
|
||||
|
||||
diff --git a/GNUmakefile.template b/GNUmakefile.template
|
||||
index 6fda92b..d9bef11 100644
|
||||
--- a/GNUmakefile.template
|
||||
+++ b/GNUmakefile.template
|
||||
@@ -223,12 +223,11 @@ show:
|
||||
.PHONY : install uninstall clean distclean arch
|
||||
.PHONY : srcdist
|
||||
|
||||
-install: dvdisaster manual
|
||||
+install: dvdisaster
|
||||
@echo "Installing package..."
|
||||
install -d $(BUILDROOT)$(BINDIR)
|
||||
install dvdisaster $(BUILDROOT)$(BINDIR)
|
||||
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; \
|
||||
244
debian/patches/17-fix-all-but-deprecated-api-warnings.patch
vendored
Normal file
244
debian/patches/17-fix-all-but-deprecated-api-warnings.patch
vendored
Normal file
@@ -0,0 +1,244 @@
|
||||
From: Carlos Maddela <e7appew@gmail.com>
|
||||
Date: Thu, 22 Dec 2016 11:19:20 +1100
|
||||
Subject: Fix all warnings except for those related to deprecated API.
|
||||
|
||||
Description: Fix all warnings except for those related to deprecated API.
|
||||
Author: Carlos Maddela <e7appew@gmail.com>
|
||||
Bug-Debian: https://bugs.debian.org/748416
|
||||
Forwarded: no
|
||||
Last-Update: 2017-12-21
|
||||
---
|
||||
This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
|
||||
---
|
||||
closure.c | 2 +-
|
||||
menubar.c | 2 +-
|
||||
rs03-create.c | 24 ++++++++++++------------
|
||||
rs03-fix.c | 8 ++++----
|
||||
scsi-layer.c | 4 ++++
|
||||
smart-lec.c | 10 +++++-----
|
||||
6 files changed, 27 insertions(+), 23 deletions(-)
|
||||
|
||||
diff --git a/closure.c b/closure.c
|
||||
index d633d53..fa52f09 100644
|
||||
--- a/closure.c
|
||||
+++ b/closure.c
|
||||
@@ -196,7 +196,7 @@ void ReadDotfile()
|
||||
/* Get first MAX_LINE_LEN bytes of line, discard the rest */
|
||||
|
||||
line[MAX_LINE_LEN-1] = 1;
|
||||
- fgets(line, MAX_LINE_LEN, dotfile);
|
||||
+ if(!fgets(line, MAX_LINE_LEN, dotfile)) break;
|
||||
if(!line[MAX_LINE_LEN-1]) /* line longer than buffer */
|
||||
while(!feof(dotfile) && fgetc(dotfile) != '\n')
|
||||
;
|
||||
diff --git a/menubar.c b/menubar.c
|
||||
index 94d462b..ee24ebe 100644
|
||||
--- a/menubar.c
|
||||
+++ b/menubar.c
|
||||
@@ -414,7 +414,7 @@ void set_path(GtkWidget *entry, char *path)
|
||||
else
|
||||
{ char buf[PATH_MAX + strlen(path) + 2];
|
||||
|
||||
- getcwd(buf, PATH_MAX);
|
||||
+ if(!getcwd(buf, PATH_MAX)) return;
|
||||
strcat(buf,"/");
|
||||
|
||||
strcat(buf,path);
|
||||
diff --git a/rs03-create.c b/rs03-create.c
|
||||
index 71460ef..9c7265d 100644
|
||||
--- a/rs03-create.c
|
||||
+++ b/rs03-create.c
|
||||
@@ -31,9 +31,9 @@
|
||||
|
||||
//#define VERBOSE 1
|
||||
#ifdef VERBOSE
|
||||
- #define verbose(format,args...) printf(format, ## args)
|
||||
+ #define verbose(format,...) printf(format, __VA_ARGS__)
|
||||
#else
|
||||
- #define verbose(format,args...)
|
||||
+ #define verbose(format,...)
|
||||
#endif
|
||||
|
||||
#ifdef HAVE_MMAP
|
||||
@@ -714,7 +714,7 @@ static void flush_crc(ecc_closure *ec, LargeFile *file_out)
|
||||
|
||||
/* Write out the CRC layer */
|
||||
|
||||
- verbose("IO: writing CRC layer\n");
|
||||
+ verbose("%s", "IO: writing CRC layer\n");
|
||||
crc_sect = 2048*(ec->encoderChunk+lay->firstCrcPos);
|
||||
if(!LargeSeek(file_out, crc_sect))
|
||||
{ ec->abortImmediately = TRUE;
|
||||
@@ -735,7 +735,7 @@ static void flush_parity(ecc_closure *ec, LargeFile *file_out)
|
||||
|
||||
/* Write out the created parity. */
|
||||
|
||||
- verbose("IO: writing parity...\n");
|
||||
+ verbose("%s", "IO: writing parity...\n");
|
||||
for(k=0; k<lay->nroots; k++)
|
||||
{ gint64 idx=0;
|
||||
|
||||
@@ -752,7 +752,7 @@ static void flush_parity(ecc_closure *ec, LargeFile *file_out)
|
||||
}
|
||||
}
|
||||
}
|
||||
- verbose("IO: parity written.\n");
|
||||
+ verbose("%s", "IO: parity written.\n");
|
||||
}
|
||||
|
||||
static gpointer io_thread(ecc_closure *ec)
|
||||
@@ -767,7 +767,7 @@ static gpointer io_thread(ecc_closure *ec)
|
||||
int parity_available = 0;
|
||||
int i;
|
||||
|
||||
- verbose("Reader thread initializing\n");
|
||||
+ verbose("%s", "Reader thread initializing\n");
|
||||
|
||||
/*** Allocate local parity buffer aligned at 128bit boundary */
|
||||
|
||||
@@ -835,7 +835,7 @@ static gpointer io_thread(ecc_closure *ec)
|
||||
{ read_next_chunk(ec, chunk);
|
||||
// flush_crc(ec, file_out); // FIXME
|
||||
needs_preload = 0;
|
||||
- verbose("IO: first chunk loaded\n");
|
||||
+ verbose("%s", "IO: first chunk loaded\n");
|
||||
continue;
|
||||
}
|
||||
|
||||
@@ -882,7 +882,7 @@ static gpointer io_thread(ecc_closure *ec)
|
||||
g_mutex_lock(ec->lock);
|
||||
cpu_bound = ec->buffersToEncode;
|
||||
while(ec->buffersToEncode)
|
||||
- { verbose("IO: Waiting for encoders to finish\n");
|
||||
+ { verbose("%s", "IO: Waiting for encoders to finish\n");
|
||||
g_cond_wait(ec->ioCond, ec->lock);
|
||||
}
|
||||
g_mutex_unlock(ec->lock);
|
||||
@@ -924,7 +924,7 @@ static gpointer io_thread(ecc_closure *ec)
|
||||
ec->slicesFree = TRUE; /* we have saved the slices; go ahead */
|
||||
g_cond_broadcast(ec->ioCond);
|
||||
while(ec->buffersToEncode)
|
||||
- { verbose("IO: Waiting for encoders to finish last chunk\n");
|
||||
+ { verbose("%s", "IO: Waiting for encoders to finish last chunk\n");
|
||||
g_cond_wait(ec->ioCond, ec->lock);
|
||||
}
|
||||
g_mutex_unlock(ec->lock);
|
||||
@@ -937,7 +937,7 @@ static gpointer io_thread(ecc_closure *ec)
|
||||
flush_crc(ec, file_out);
|
||||
flush_parity(ec, file_out);
|
||||
|
||||
- verbose("IO: finished\n"); fflush(stdout);
|
||||
+ verbose("%s", "IO: finished\n"); fflush(stdout);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
@@ -1123,7 +1123,7 @@ static gpointer encoder_thread(ecc_closure *ec)
|
||||
ec->buffersToEncode-=enc_size;
|
||||
if(!ec->buffersToEncode)
|
||||
{ g_cond_broadcast(ec->ioCond);
|
||||
- verbose("ENC: processed last buffer; telling IO process.\n");
|
||||
+ verbose("%s", "ENC: processed last buffer; telling IO process.\n");
|
||||
fflush(stdout);
|
||||
}
|
||||
g_mutex_unlock(ec->lock);
|
||||
@@ -1223,7 +1223,7 @@ static void create_reed_solomon(ecc_closure *ec)
|
||||
verbose("SCHED: joined with worker %d\n", i);
|
||||
fflush(stdout);
|
||||
}
|
||||
- verbose("SCHED: scheduler finished.\n");
|
||||
+ verbose("%s", "SCHED: scheduler finished.\n");
|
||||
}
|
||||
|
||||
/***
|
||||
diff --git a/rs03-fix.c b/rs03-fix.c
|
||||
index 7afb6d6..19b9322 100644
|
||||
--- a/rs03-fix.c
|
||||
+++ b/rs03-fix.c
|
||||
@@ -829,10 +829,10 @@ void RS03Fix(Image *image)
|
||||
if we were processing an augmented image. */
|
||||
|
||||
if(lay->target == ECC_FILE && i >= ndata-1)
|
||||
- {
|
||||
- if(!LargeSeek(image->eccFile, (gint64)(2048*sec)))
|
||||
- Stop(_("Failed seeking to sector %lld in ecc file [%s]: %s"),
|
||||
- sec, "FW", strerror(errno));
|
||||
+ {
|
||||
+ if(!LargeSeek(image->eccFile, (gint64)(2048*sec)))
|
||||
+ Stop(_("Failed seeking to sector %lld in ecc file [%s]: %s"),
|
||||
+ sec, "FW", strerror(errno));
|
||||
|
||||
n = LargeWrite(image->eccFile, cache_offset+fc->imgBlock[i], 2048);
|
||||
if(n != 2048)
|
||||
diff --git a/scsi-layer.c b/scsi-layer.c
|
||||
index b3a9d0e..f8d2112 100644
|
||||
--- a/scsi-layer.c
|
||||
+++ b/scsi-layer.c
|
||||
@@ -31,7 +31,9 @@
|
||||
|
||||
static int query_type(DeviceHandle*, int);
|
||||
static gint64 query_size(Image*);
|
||||
+#if 0
|
||||
static int query_copyright(DeviceHandle*);
|
||||
+#endif
|
||||
|
||||
static int read_dvd_sector(DeviceHandle*, unsigned char*, int, int);
|
||||
static int read_cd_sector(DeviceHandle*, unsigned char*, int, int);
|
||||
@@ -1649,6 +1651,7 @@ reset_mode_page:
|
||||
* Find out whether we are allowed to create an image from the DVD.
|
||||
*/
|
||||
|
||||
+#if 0
|
||||
static int query_copyright(DeviceHandle *dh)
|
||||
{ Sense sense;
|
||||
AlignedBuffer *ab = CreateAlignedBuffer(2048);
|
||||
@@ -1709,6 +1712,7 @@ static int query_copyright(DeviceHandle *dh)
|
||||
|
||||
return result;
|
||||
}
|
||||
+#endif
|
||||
|
||||
/*
|
||||
* See whether a sector lies within the user area.
|
||||
diff --git a/smart-lec.c b/smart-lec.c
|
||||
index 02b9c49..944b70d 100644
|
||||
--- a/smart-lec.c
|
||||
+++ b/smart-lec.c
|
||||
@@ -27,9 +27,9 @@
|
||||
|
||||
#define VERBOSE 1
|
||||
#ifdef VERBOSE
|
||||
- #define verbose(format,args...) printf(format, ## args)
|
||||
+ #define verbose(format,...) printf(format, __VA_ARGS__)
|
||||
#else
|
||||
- #define verbose(format,args...)
|
||||
+ #define verbose(format,...)
|
||||
#endif
|
||||
|
||||
/***
|
||||
@@ -432,7 +432,7 @@ static void update_pq_state(sh_context *shc)
|
||||
static void print_pq_state(sh_context *shc)
|
||||
{ int i;
|
||||
|
||||
- verbose("PQ states: \n");
|
||||
+ verbose("%s", "PQ states: \n");
|
||||
|
||||
for(i=0; i<N_P_VECTORS; i++)
|
||||
{ if(shc->pState[i] == 1)
|
||||
@@ -1354,7 +1354,7 @@ static void swap_p_for_new_improvement(sh_context *shc)
|
||||
count++;
|
||||
|
||||
if(count < 2)
|
||||
- { verbose(" pruned");
|
||||
+ { verbose("%s", " pruned");
|
||||
goto decrement;
|
||||
}
|
||||
|
||||
@@ -1417,7 +1417,7 @@ decrement:
|
||||
if(index >= n_q) break;
|
||||
selection[index]=0;
|
||||
|
||||
- verbose("\n");
|
||||
+ verbose("%s", "\n");
|
||||
}
|
||||
}
|
||||
}
|
||||
30
debian/patches/18-update-copyright-in-about-dialog.patch
vendored
Normal file
30
debian/patches/18-update-copyright-in-about-dialog.patch
vendored
Normal file
@@ -0,0 +1,30 @@
|
||||
From: Carlos Maddela <e7appew@gmail.com>
|
||||
Date: Wed, 21 Dec 2016 07:25:17 +1100
|
||||
Subject: Update copyright notice in about dialog.
|
||||
|
||||
Description: Update copyright notice in about dialog.
|
||||
Author: Carlos Maddela <e7appew@gmail.com>
|
||||
Forwarded: not-needed
|
||||
Last-Update: 2017-12-21
|
||||
---
|
||||
This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
|
||||
---
|
||||
help-dialogs.c | 5 +++--
|
||||
1 file changed, 3 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/help-dialogs.c b/help-dialogs.c
|
||||
index 47551f7..3f94920 100644
|
||||
--- a/help-dialogs.c
|
||||
+++ b/help-dialogs.c
|
||||
@@ -723,8 +723,9 @@ void AboutDialog()
|
||||
g_free(text);
|
||||
|
||||
#ifdef MODIFIED_SOURCE
|
||||
- AboutTextWithLink(vbox,
|
||||
- _("Modified version Copyright 2017 (please fill in - [directions])\n"
|
||||
+ AboutTextWithLink(vbox,
|
||||
+ _("[Modified version]\n"
|
||||
+ "Copyright 2005-2017 Debian Optical Media Tools Team\n"
|
||||
"Copyright 2004-2017 Carsten Gnoerlich"),
|
||||
"MODIFYING");
|
||||
#else
|
||||
43
debian/patches/19-show-text-files-with-abs-path.patch
vendored
Normal file
43
debian/patches/19-show-text-files-with-abs-path.patch
vendored
Normal file
@@ -0,0 +1,43 @@
|
||||
From: Carlos Maddela <e7appew@gmail.com>
|
||||
Date: Wed, 21 Dec 2016 09:08:05 +1100
|
||||
Subject: Allow ShowTextFile() to work with absolute path names.
|
||||
|
||||
Description: Allow ShowTextFile() to work with absolute path names.
|
||||
Author: Carlos Maddela <e7appew@gmail.com>
|
||||
Forwarded: no
|
||||
Last-Update: 2016-12-21
|
||||
---
|
||||
This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
|
||||
---
|
||||
help-dialogs.c | 18 ++++++++++++++++++
|
||||
1 file changed, 18 insertions(+)
|
||||
|
||||
diff --git a/help-dialogs.c b/help-dialogs.c
|
||||
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)
|
||||
lang_suffix[1] = lang[1];
|
||||
}
|
||||
|
||||
+ /* Test for absolute path first. */
|
||||
+ if(*file == '/')
|
||||
+ {
|
||||
+ if(lang)
|
||||
+ path = g_strdup_printf("%s.%s", file, lang_suffix);
|
||||
+ else
|
||||
+ path = g_strdup(file);
|
||||
+
|
||||
+ if(LargeStat(path, &stat_size))
|
||||
+ {
|
||||
+ *size = stat_size;
|
||||
+ return path;
|
||||
+ }
|
||||
+
|
||||
+ g_free(path);
|
||||
+ return NULL;
|
||||
+ }
|
||||
+
|
||||
/* Try file in bin dir */
|
||||
|
||||
if(Closure->binDir)
|
||||
46
debian/patches/20-display-changelog-credits-and-todo.patch
vendored
Normal file
46
debian/patches/20-display-changelog-credits-and-todo.patch
vendored
Normal file
@@ -0,0 +1,46 @@
|
||||
From: Carlos Maddela <e7appew@gmail.com>
|
||||
Date: Wed, 21 Dec 2016 09:59:58 +1100
|
||||
Subject: Fix display of changelog, credits and to-do files.
|
||||
|
||||
Description: Fix display of changelog, credits and to-do files.
|
||||
Use absolute paths to compensate for the fact that we don't install
|
||||
duplicates in /usr/share/doc/dvdisaster-doc or build with source
|
||||
path embedded anymore.
|
||||
Author: Carlos Maddela <e7appew@gmail.com>
|
||||
Forwarded: not-needed
|
||||
Last-Update: 2017-01-05
|
||||
---
|
||||
This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
|
||||
---
|
||||
menubar.c | 6 +++---
|
||||
1 file changed, 3 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/menubar.c b/menubar.c
|
||||
index ee24ebe..4a9f470 100644
|
||||
--- a/menubar.c
|
||||
+++ b/menubar.c
|
||||
@@ -126,21 +126,21 @@ static void menu_cb(GtkWidget *widget, gpointer data)
|
||||
ShowTextfile(_("windowtitle|Change log"),
|
||||
_("<big>Change log</big>\n"
|
||||
"<i>Major differences from earlier program versions.</i>"),
|
||||
- "CHANGELOG", NULL, NULL);
|
||||
+ "/usr/share/doc/dvdisaster/CHANGELOG", NULL, NULL);
|
||||
break;
|
||||
|
||||
case MENU_HELP_CREDITS:
|
||||
ShowTextfile(_("windowtitle|Credits"),
|
||||
_("<big>Credits</big>\n"
|
||||
"<i>Thanks go out to...</i>"),
|
||||
- "CREDITS", NULL, NULL);
|
||||
+ "/usr/share/doc/dvdisaster/CREDITS", NULL, NULL);
|
||||
break;
|
||||
|
||||
case MENU_HELP_TODO:
|
||||
ShowTextfile(_("windowtitle|To do list"),
|
||||
_("<big>To do list</big>\n"
|
||||
"<i>A sneak preview of coming features ... perhaps ;-)</i>"),
|
||||
- "TODO", NULL, NULL);
|
||||
+ "/usr/share/doc/dvdisaster/TODO", NULL, NULL);
|
||||
break;
|
||||
|
||||
default:
|
||||
31
debian/patches/22-fix-hurd-i386-ftbfs.patch
vendored
Normal file
31
debian/patches/22-fix-hurd-i386-ftbfs.patch
vendored
Normal file
@@ -0,0 +1,31 @@
|
||||
From: Carlos Maddela <e7appew@gmail.com>
|
||||
Date: Wed, 4 Jan 2017 03:55:58 +1100
|
||||
Subject: Fix FTBFS for hurd-i386.
|
||||
|
||||
Description: Fix FTBFS for hurd-i386.
|
||||
Hurd does not have path length restrictions, so doesn't define
|
||||
PATH_MAX. Assuming a PATH_MAX of 4096 as a quick workaround.
|
||||
Author: Carlos Maddela <e7appew@gmail.com>
|
||||
Forwarded: no
|
||||
Last-Update: 2017-01-04
|
||||
---
|
||||
This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
|
||||
---
|
||||
menubar.c | 4 ++++
|
||||
1 file changed, 4 insertions(+)
|
||||
|
||||
diff --git a/menubar.c b/menubar.c
|
||||
index 4a9f470..8330edb 100644
|
||||
--- a/menubar.c
|
||||
+++ b/menubar.c
|
||||
@@ -24,6 +24,10 @@
|
||||
|
||||
#include <limits.h>
|
||||
|
||||
+#ifndef PATH_MAX
|
||||
+ #define PATH_MAX 4096
|
||||
+#endif
|
||||
+
|
||||
/***
|
||||
*** Forward declarations
|
||||
***/
|
||||
32
debian/patches/23-add-bdrom-support.patch
vendored
Normal file
32
debian/patches/23-add-bdrom-support.patch
vendored
Normal file
@@ -0,0 +1,32 @@
|
||||
From: Corey Wright <undefined@pobox.com>
|
||||
Date: Sat, 24 Sep 2016 14:16:10 -0500
|
||||
Subject: Add support for BD-ROM media-type.
|
||||
|
||||
Description: Add support for BD-ROM media-type.
|
||||
The attached patch adds support to dvdisaster for the BD-ROM
|
||||
media-type. This allows dvdisaster to scan and read (ie create ISO
|
||||
images of) BD-ROM media.
|
||||
Author: Corey Write <undefined@pobox.com>
|
||||
Origin: other, https://bugs.debian.org/cgi-bin/bugreport.cgi?att=1;bug=849518;filename=dvdisaster-add_bdrom_support.patch;msg=5
|
||||
Bug-Debian: https://bugs.debian.org/849518
|
||||
Forwarded: no
|
||||
Last-Update: 2016-12-27
|
||||
---
|
||||
This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
|
||||
---
|
||||
scsi-layer.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/scsi-layer.c b/scsi-layer.c
|
||||
index f8d2112..50f6c4c 100644
|
||||
--- a/scsi-layer.c
|
||||
+++ b/scsi-layer.c
|
||||
@@ -1029,7 +1029,7 @@ static int query_bd(DeviceHandle *dh, int probe_only)
|
||||
|
||||
if(!strncmp((char*)&buf[4+8], "BDO", 3))
|
||||
{ dh->typeDescr = g_strdup("BD-ROM");
|
||||
- dh->subType = UNSUPPORTED;
|
||||
+ dh->subType = BD;
|
||||
}
|
||||
|
||||
if(!strncmp((char*)&buf[4+8], "BDW", 3))
|
||||
27
debian/patches/24-show-gpl3-license.patch
vendored
Normal file
27
debian/patches/24-show-gpl3-license.patch
vendored
Normal file
@@ -0,0 +1,27 @@
|
||||
From: Carlos Maddela <e7appew@gmail.com>
|
||||
Date: Thu, 5 Jan 2017 14:36:27 +1100
|
||||
Subject: Update help dialog to show GPL-3 license.
|
||||
|
||||
Description: Update help dialog to show GPL-3 license.
|
||||
Author: Carlos Maddela <e7appew@gmail.com>
|
||||
Forwarded: not-needed
|
||||
Last-Update: 2017-01-05
|
||||
---
|
||||
This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
|
||||
---
|
||||
help-dialogs.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/help-dialogs.c b/help-dialogs.c
|
||||
index d893d33..75a615e 100644
|
||||
--- a/help-dialogs.c
|
||||
+++ b/help-dialogs.c
|
||||
@@ -403,7 +403,7 @@ void ShowGPL()
|
||||
ShowTextfile(_("windowtitle|GNU General Public License"),
|
||||
_("<big>GNU General Public License</big>\n"
|
||||
"<i>The license terms of dvdisaster.</i>"),
|
||||
- "/usr/share/common-licenses/GPL-2", NULL, NULL);
|
||||
+ "/usr/share/common-licenses/GPL-3", NULL, NULL);
|
||||
}
|
||||
|
||||
/*
|
||||
32
debian/patches/25-fix-man-pages.patch
vendored
Normal file
32
debian/patches/25-fix-man-pages.patch
vendored
Normal file
@@ -0,0 +1,32 @@
|
||||
From: Carlos Maddela <e7appew@gmail.com>
|
||||
Date: Thu, 5 Jan 2017 18:51:49 +1100
|
||||
Subject: Fix generated man pages.
|
||||
|
||||
Description: Fix generated man pages.
|
||||
The generated man pages incorrectly direct users to the directory of
|
||||
the old HTML documentation, which is no longer available.
|
||||
Author: Carlos Maddela <e7appew@gmail.com>
|
||||
Forwarded: no
|
||||
Last-Update: 2016-12-21
|
||||
---
|
||||
This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
|
||||
---
|
||||
GNUmakefile.template | 4 ++--
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/GNUmakefile.template b/GNUmakefile.template
|
||||
index d9bef11..d80932d 100644
|
||||
--- a/GNUmakefile.template
|
||||
+++ b/GNUmakefile.template
|
||||
@@ -232,9 +232,9 @@ install: dvdisaster
|
||||
install -d $(BUILDROOT)$(MANDIR)/de/man1
|
||||
cd documentation; \
|
||||
ESCAPED_DOCSUBDIR=`echo $(DOCSUBDIR) | sed -e 's/\//\\\\\//g'`; \
|
||||
- sed "s/%docdir%/$$ESCAPED_DOCSUBDIR\/html/" <dvdisaster.en.1 >dvdisaster.updated; \
|
||||
+ sed "s/%docdir%/$$ESCAPED_DOCSUBDIR/" <dvdisaster.en.1 >dvdisaster.updated; \
|
||||
install -m 644 dvdisaster.updated $(BUILDROOT)$(MANDIR)/man1/dvdisaster.1; \
|
||||
- sed "s/%docdir%/$$ESCAPED_DOCSUBDIR\/html/" <dvdisaster.de.1 >dvdisaster.updated; \
|
||||
+ sed "s/%docdir%/$$ESCAPED_DOCSUBDIR/" <dvdisaster.de.1 >dvdisaster.updated; \
|
||||
install -m 644 dvdisaster.updated $(BUILDROOT)$(MANDIR)/de/man1/dvdisaster.1; \
|
||||
rm dvdisaster.updated
|
||||
if echo $(WITH_OPTIONS) | grep "NLS_YES" >/dev/null; then \
|
||||
47
debian/patches/26-fix-display-of-manual.pdf.patch
vendored
Normal file
47
debian/patches/26-fix-display-of-manual.pdf.patch
vendored
Normal file
@@ -0,0 +1,47 @@
|
||||
From: Carlos Maddela <e7appew@gmail.com>
|
||||
Date: Thu, 5 Jan 2017 18:59:30 +1100
|
||||
Subject: Fix display of manual.pdf.
|
||||
|
||||
Description: Fix display of manual.pdf.
|
||||
The PDF file is automatically compressed by Debhelper, so we need to
|
||||
account for this.
|
||||
Author: Carlos Maddela <e7appew@gmail.com>
|
||||
Forwarded: not-needed
|
||||
Last-Update: 2017-01-05
|
||||
---
|
||||
This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
|
||||
---
|
||||
show-manual.c | 4 ++--
|
||||
welcome-window.c | 4 ++--
|
||||
2 files changed, 4 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/show-manual.c b/show-manual.c
|
||||
index c25342b..4abbe97 100644
|
||||
--- a/show-manual.c
|
||||
+++ b/show-manual.c
|
||||
@@ -287,8 +287,8 @@ void ShowPDF(char *target)
|
||||
|
||||
/* If no target is given, show the manual. */
|
||||
|
||||
- if(!target)
|
||||
- { bi->path = g_strdup_printf("%s/manual.pdf",Closure->docDir);
|
||||
+ if(!target)
|
||||
+ { bi->path = g_strdup_printf("%s/manual.pdf.gz",Closure->docDir);
|
||||
}
|
||||
else
|
||||
if(*target != '/') bi->path = g_strdup_printf("%s/%s",Closure->docDir, target);
|
||||
diff --git a/welcome-window.c b/welcome-window.c
|
||||
index d30ebd9..63ac3df 100644
|
||||
--- a/welcome-window.c
|
||||
+++ b/welcome-window.c
|
||||
@@ -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"));
|
||||
|
||||
- AboutTextWithLink(box, _("Please see the [manual] for typical uses of dvdisaster.\n\n"),
|
||||
- "manual.pdf");
|
||||
+ AboutTextWithLink(box, _("Please see the [manual] for typical uses of dvdisaster.\n\n"),
|
||||
+ "manual.pdf.gz");
|
||||
|
||||
AboutText(box, _("<i>New in this Version:</i>"));
|
||||
|
||||
485
debian/patches/27-allow-opening-in-browser-again.patch
vendored
Normal file
485
debian/patches/27-allow-opening-in-browser-again.patch
vendored
Normal file
@@ -0,0 +1,485 @@
|
||||
From: Carlos Maddela <e7appew@gmail.com>
|
||||
Date: Thu, 5 Jan 2017 19:11:38 +1100
|
||||
Subject: Resurrect old code to support opening URLs in a browser.
|
||||
|
||||
Description: Resurrect old code to support opening URLs in a browser.
|
||||
Author: Carlos Maddela <e7appew@gmail.com>
|
||||
Forwarded: not-needed
|
||||
Last-Update: 2016-12-21
|
||||
---
|
||||
This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
|
||||
---
|
||||
closure.c | 2 +
|
||||
dvdisaster.h | 7 +
|
||||
help-dialogs.c | 3 +-
|
||||
show-html.c | 402 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||||
4 files changed, 413 insertions(+), 1 deletion(-)
|
||||
create mode 100644 show-html.c
|
||||
|
||||
diff --git a/closure.c b/closure.c
|
||||
index fa52f09..24c1e8c 100644
|
||||
--- a/closure.c
|
||||
+++ b/closure.c
|
||||
@@ -474,6 +474,7 @@ void InitClosure()
|
||||
Closure->deviceNames = g_ptr_array_new();
|
||||
Closure->deviceNodes = g_ptr_array_new();
|
||||
Closure->viewer = g_strdup("xdg-open");
|
||||
+ Closure->browser = g_strdup("xdg-open");
|
||||
Closure->methodList = g_ptr_array_new();
|
||||
Closure->methodName = g_strdup("RS01");
|
||||
Closure->dDumpDir = g_strdup(Closure->homeDir);
|
||||
@@ -589,6 +590,7 @@ void FreeClosure()
|
||||
cond_free(Closure->binDir);
|
||||
cond_free(Closure->docDir);
|
||||
cond_free(Closure->viewer);
|
||||
+ cond_free(Closure->browser);
|
||||
cond_free(Closure->errorTitle);
|
||||
cond_free(Closure->simulateCD);
|
||||
cond_free(Closure->dDumpDir);
|
||||
diff --git a/dvdisaster.h b/dvdisaster.h
|
||||
index 9acd094..f536040 100644
|
||||
--- a/dvdisaster.h
|
||||
+++ b/dvdisaster.h
|
||||
@@ -229,6 +229,7 @@ typedef struct _GlobalClosure
|
||||
char *binDir; /* place where the binary resides */
|
||||
char *docDir; /* place where our documentation resides */
|
||||
char *viewer; /* Name of preferred PDF viewer */
|
||||
+ char *browser; /* Name of preferred browser */
|
||||
|
||||
GMutex progressLock; /* A mutex protected the stuff below */
|
||||
char bs[256]; /* A string of 255 backspace characters */
|
||||
@@ -1348,6 +1349,12 @@ int ProbeAltiVec(void);
|
||||
|
||||
void ShowPDF(char*);
|
||||
|
||||
+/***
|
||||
+ *** show-html.c
|
||||
+ ***/
|
||||
+
|
||||
+void ShowHTML(char*);
|
||||
+
|
||||
/***
|
||||
*** smart-lec.c
|
||||
***/
|
||||
diff --git a/help-dialogs.c b/help-dialogs.c
|
||||
index 75a615e..dc5b440 100644
|
||||
--- a/help-dialogs.c
|
||||
+++ b/help-dialogs.c
|
||||
@@ -599,7 +599,8 @@ static gint about_cb(GtkWidget *widget, GdkEvent *event, gpointer data)
|
||||
{ case GDK_BUTTON_PRESS:
|
||||
if(!inside) return FALSE; /* Defect in certain Gtk versions? */
|
||||
if(!strcmp(label,"GPL")) ShowGPL();
|
||||
- else if(!strcmp(label,"MODIFYING")) show_modifying();
|
||||
+ else if(!strcmp(label,"MODIFYING")) show_modifying();
|
||||
+ else if(strlen(label) > 4 && !strncmp(label, "http", 4)) ShowHTML(g_strdup(label));
|
||||
else ShowPDF(g_strdup(label));
|
||||
break;
|
||||
case GDK_ENTER_NOTIFY:
|
||||
diff --git a/show-html.c b/show-html.c
|
||||
new file mode 100644
|
||||
index 0000000..608e8ec
|
||||
--- /dev/null
|
||||
+++ b/show-html.c
|
||||
@@ -0,0 +1,402 @@
|
||||
+/* dvdisaster: Additional error correction for optical media.
|
||||
+ * Copyright (C) 2004-2012 Carsten Gnoerlich.
|
||||
+ * Project home page: http://www.dvdisaster.com
|
||||
+ * Email: carsten@dvdisaster.com -or- cgnoerlich@fsfe.org
|
||||
+ *
|
||||
+ * This program is free software; you can redistribute it and/or modify
|
||||
+ * it under the terms of the GNU General Public License as published by
|
||||
+ * the Free Software Foundation; either version 2 of the License, or
|
||||
+ * (at your option) any later version.
|
||||
+ *
|
||||
+ * This program is distributed in the hope that it will be useful,
|
||||
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
+ * GNU General Public License for more details.
|
||||
+ *
|
||||
+ * You should have received a copy of the GNU General Public License
|
||||
+ * along with this program; if not, write to the Free Software
|
||||
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA,
|
||||
+ * or direct your browser at http://www.gnu.org.
|
||||
+ */
|
||||
+
|
||||
+#include "dvdisaster.h"
|
||||
+
|
||||
+#if defined(SYS_LINUX) || defined(SYS_FREEBSD) || defined(SYS_NETBSD)
|
||||
+#include <sys/wait.h>
|
||||
+#endif
|
||||
+
|
||||
+#ifdef SYS_MINGW
|
||||
+#include "windows.h"
|
||||
+#include "shellapi.h"
|
||||
+#endif
|
||||
+
|
||||
+/***
|
||||
+ *** Ask user to specify his browser
|
||||
+ ***/
|
||||
+
|
||||
+#if defined(SYS_LINUX) || defined(SYS_FREEBSD) || defined(SYS_NETBSD)
|
||||
+
|
||||
+#define SEARCH_BUTTON 1
|
||||
+
|
||||
+typedef struct
|
||||
+{ GtkWidget *dialog;
|
||||
+ GtkWidget *entry;
|
||||
+ GtkWidget *search;
|
||||
+ GtkWidget *filesel;
|
||||
+ GtkWidget *fileok;
|
||||
+ GtkWidget *filecancel;
|
||||
+ char *url;
|
||||
+} browser_dialog_info;
|
||||
+
|
||||
+static void response_cb(GtkWidget *widget, int response, gpointer data)
|
||||
+{ browser_dialog_info *bdi = (browser_dialog_info*)data;
|
||||
+
|
||||
+ switch(response)
|
||||
+ { case GTK_RESPONSE_ACCEPT:
|
||||
+ if(Closure->browser) g_free(Closure->browser);
|
||||
+ Closure->browser = g_strdup(gtk_entry_get_text(GTK_ENTRY(bdi->entry)));
|
||||
+ ShowHTML(bdi->url);
|
||||
+ break;
|
||||
+
|
||||
+ case GTK_RESPONSE_REJECT:
|
||||
+ if(bdi->url) g_free(bdi->url);
|
||||
+ break;
|
||||
+ }
|
||||
+ gtk_widget_destroy(widget);
|
||||
+ if(bdi->filesel)
|
||||
+ gtk_widget_destroy(bdi->filesel);
|
||||
+ g_free(bdi);
|
||||
+}
|
||||
+
|
||||
+static void search_cb(GtkWidget *widget, gpointer data)
|
||||
+{ browser_dialog_info *bdi = (browser_dialog_info*)data;
|
||||
+
|
||||
+ if(widget == bdi->search)
|
||||
+ { bdi->filesel = gtk_file_selection_new(_utf("windowtitle|Choose a browser"));
|
||||
+ bdi->fileok = GTK_FILE_SELECTION(bdi->filesel)->ok_button;
|
||||
+ bdi->filecancel = GTK_FILE_SELECTION(bdi->filesel)->cancel_button;
|
||||
+ ReverseCancelOK(GTK_DIALOG(bdi->filesel));
|
||||
+ gtk_file_selection_hide_fileop_buttons(GTK_FILE_SELECTION(bdi->filesel));
|
||||
+ g_signal_connect(G_OBJECT(GTK_FILE_SELECTION(bdi->filesel)->ok_button), "clicked",
|
||||
+ G_CALLBACK(search_cb), bdi);
|
||||
+
|
||||
+ g_signal_connect(G_OBJECT(GTK_FILE_SELECTION(bdi->filesel)->cancel_button), "clicked",
|
||||
+ G_CALLBACK(search_cb), bdi);
|
||||
+
|
||||
+ gtk_widget_show(bdi->filesel);
|
||||
+ }
|
||||
+
|
||||
+ if(widget == bdi->fileok)
|
||||
+ {
|
||||
+ if(Closure->browser) g_free(Closure->browser);
|
||||
+ Closure->browser = g_strdup(gtk_file_selection_get_filename(GTK_FILE_SELECTION(bdi->filesel)));
|
||||
+ ShowHTML(bdi->url);
|
||||
+ gtk_widget_destroy(bdi->filesel);
|
||||
+ gtk_widget_destroy(bdi->dialog);
|
||||
+ g_free(bdi);
|
||||
+ return;
|
||||
+ }
|
||||
+
|
||||
+ if(widget == bdi->filecancel)
|
||||
+ { gtk_widget_destroy(bdi->filesel);
|
||||
+ bdi->filesel = NULL;
|
||||
+ }
|
||||
+}
|
||||
+
|
||||
+static void browser_dialog(char *url)
|
||||
+{ GtkWidget *dialog, *vbox, *hbox, *label, *entry, *button;
|
||||
+ browser_dialog_info *bdi = g_malloc0(sizeof(browser_dialog_info));
|
||||
+
|
||||
+ /* Create the dialog */
|
||||
+
|
||||
+ dialog = gtk_dialog_new_with_buttons(_utf("windowtitle|Browser required"),
|
||||
+ Closure->window, GTK_DIALOG_DESTROY_WITH_PARENT,
|
||||
+ GTK_STOCK_OK, GTK_RESPONSE_ACCEPT,
|
||||
+ GTK_STOCK_CANCEL, GTK_RESPONSE_REJECT, NULL);
|
||||
+ bdi->dialog = dialog;
|
||||
+ if(url)
|
||||
+ { bdi->url = g_strdup(url);
|
||||
+ }
|
||||
+
|
||||
+ vbox = gtk_vbox_new(FALSE, 0);
|
||||
+ gtk_box_pack_start(GTK_BOX(GTK_DIALOG(dialog)->vbox), vbox, FALSE, FALSE, 0);
|
||||
+ gtk_container_set_border_width(GTK_CONTAINER(vbox), 10);
|
||||
+
|
||||
+ /* Insert the contents */
|
||||
+
|
||||
+ label = gtk_label_new(NULL);
|
||||
+ gtk_label_set_markup(GTK_LABEL(label), _utf("<b>Could not find a suitable browser.</b>\n\n"
|
||||
+ "Which browser would you like to use\n"
|
||||
+ "for reading the online documentation?\n\n"
|
||||
+ "Please enter its name (e.g. mozilla) or\n"
|
||||
+ "use the \"Search\" button for a file dialog.\n")),
|
||||
+ gtk_box_pack_start(GTK_BOX(vbox), label, TRUE, TRUE, 10);
|
||||
+
|
||||
+ hbox = gtk_hbox_new(FALSE, 0);
|
||||
+ gtk_box_pack_start(GTK_BOX(vbox), hbox, TRUE, TRUE, 10);
|
||||
+
|
||||
+ bdi->entry = entry = gtk_entry_new();
|
||||
+ gtk_box_pack_start(GTK_BOX(hbox), entry, FALSE, FALSE, 10);
|
||||
+
|
||||
+ bdi->search = button = gtk_button_new_with_label(_utf("Search"));
|
||||
+ g_signal_connect(G_OBJECT(button), "clicked", G_CALLBACK(search_cb), bdi);
|
||||
+ gtk_box_pack_start(GTK_BOX(hbox), button, FALSE, FALSE, 10);
|
||||
+
|
||||
+ /* Show it */
|
||||
+
|
||||
+ g_signal_connect(dialog, "response", G_CALLBACK(response_cb), bdi);
|
||||
+
|
||||
+ gtk_widget_show_all(dialog);
|
||||
+}
|
||||
+#endif /* SYS_ unix-like */
|
||||
+
|
||||
+/***
|
||||
+ *** Show the manual in an external browser
|
||||
+ ***/
|
||||
+
|
||||
+/*
|
||||
+ * Check the child processes exit status
|
||||
+ * to find whether the browser could be invoked.
|
||||
+ */
|
||||
+
|
||||
+typedef struct
|
||||
+{ pid_t pid;
|
||||
+ char *url;
|
||||
+ GtkWidget *msg;
|
||||
+ int seconds;
|
||||
+} browser_info;
|
||||
+
|
||||
+
|
||||
+static void msg_destroy_cb(GtkWidget *widget, gpointer data)
|
||||
+{ browser_info *bi = (browser_info*)data;
|
||||
+
|
||||
+ bi->msg = NULL;
|
||||
+}
|
||||
+
|
||||
+#if defined(SYS_LINUX) || defined(SYS_FREEBSD) || defined(SYS_NETBSD)
|
||||
+
|
||||
+/*
|
||||
+ * The following list of browsers and html wrappers
|
||||
+ * will be tried one at a time until one entry succeeds by:
|
||||
+ * - returning zero
|
||||
+ * - not returning within 60 seconds
|
||||
+ */
|
||||
+
|
||||
+static int browser_index;
|
||||
+static void try_browser(browser_info*);
|
||||
+
|
||||
+static char *browsers[] =
|
||||
+{ "user-selection",
|
||||
+ "xdg-open",
|
||||
+ "gnome-open",
|
||||
+ "htmlview",
|
||||
+ "firefox",
|
||||
+ "mozilla",
|
||||
+ "konqueror",
|
||||
+ "epiphany",
|
||||
+ "opera",
|
||||
+ "/Applications/Safari.app/Contents/MacOS/Safari", /* better way to do this? */
|
||||
+ NULL
|
||||
+};
|
||||
+
|
||||
+static gboolean browser_timeout_func(gpointer data)
|
||||
+{ browser_info *bi = (browser_info*)data;
|
||||
+ int status;
|
||||
+
|
||||
+ waitpid(bi->pid, &status, WNOHANG);
|
||||
+
|
||||
+ /* At least mozilla returns random values under FreeBSD on success,
|
||||
+ so we can't rely on the return value exept our own 110 one. */
|
||||
+
|
||||
+ if(WIFEXITED(status))
|
||||
+ {
|
||||
+ switch(WEXITSTATUS(status))
|
||||
+ { case 110: /* browser did not execute */
|
||||
+ browser_index++;
|
||||
+ if(!browsers[browser_index]) /* all browsers from the list failed */
|
||||
+ { browser_dialog(bi->url);
|
||||
+
|
||||
+ if(bi->msg)
|
||||
+ gtk_widget_destroy(bi->msg);
|
||||
+ if(bi->url)
|
||||
+ g_free(bi->url);
|
||||
+ g_free(bi);
|
||||
+ }
|
||||
+ else /* try next browser from list */
|
||||
+ { bi->seconds = 0;
|
||||
+ try_browser(bi);
|
||||
+ }
|
||||
+ return FALSE;
|
||||
+
|
||||
+ case 0: /* browser assumed to be successful */
|
||||
+ default:
|
||||
+ if(bi->msg)
|
||||
+ gtk_widget_destroy(bi->msg);
|
||||
+ if(bi->url)
|
||||
+ g_free(bi->url);
|
||||
+ g_free(bi);
|
||||
+ return FALSE;
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
+ bi->seconds++;
|
||||
+ if(bi->seconds == 10 && bi->msg)
|
||||
+ { gtk_widget_destroy(bi->msg);
|
||||
+ bi->msg = NULL;
|
||||
+ }
|
||||
+
|
||||
+ return bi->seconds > 60 ? FALSE : TRUE;
|
||||
+}
|
||||
+#endif /* SYS_ unix-like */
|
||||
+
|
||||
+#ifdef SYS_MINGW
|
||||
+static gboolean browser_timeout_func(gpointer data)
|
||||
+{ browser_info *bi = (browser_info*)data;
|
||||
+
|
||||
+ bi->seconds++;
|
||||
+
|
||||
+ if(bi->seconds >= 10)
|
||||
+ { if(bi->msg)
|
||||
+ { gtk_widget_destroy(bi->msg);
|
||||
+ bi->msg = NULL;
|
||||
+ }
|
||||
+ if(bi->url) g_free(bi->url);
|
||||
+ g_free(bi);
|
||||
+ return FALSE;
|
||||
+ }
|
||||
+
|
||||
+ return TRUE;
|
||||
+}
|
||||
+#endif /* SYS_MINGW */
|
||||
+
|
||||
+/*
|
||||
+ * Invoke the browser
|
||||
+ */
|
||||
+
|
||||
+#if defined(SYS_LINUX) || defined(SYS_FREEBSD) || defined(SYS_NETBSD)
|
||||
+static void try_browser(browser_info *bi)
|
||||
+{ pid_t pid;
|
||||
+
|
||||
+ bi->pid = pid = fork();
|
||||
+
|
||||
+ if(pid == -1)
|
||||
+ { printf("fork failed\n");
|
||||
+ return;
|
||||
+ }
|
||||
+
|
||||
+ /* make the parent remember and wait() for the browser */
|
||||
+
|
||||
+ if(pid > 0)
|
||||
+ { g_timeout_add(1000, browser_timeout_func, (gpointer)bi);
|
||||
+
|
||||
+ if(browser_index)
|
||||
+ { g_free(Closure->browser);
|
||||
+ Closure->browser = g_strdup(browsers[browser_index]);
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
+ /* try calling the browser */
|
||||
+
|
||||
+ if(pid == 0)
|
||||
+ { char *argv[10];
|
||||
+ int argc = 0;
|
||||
+
|
||||
+ argv[argc++] = browser_index ? browsers[browser_index] : Closure->browser;
|
||||
+ argv[argc++] = bi->url;
|
||||
+ argv[argc++] = NULL;
|
||||
+ execvp(argv[0], argv);
|
||||
+
|
||||
+ _exit(110); /* couldn't execute */
|
||||
+ }
|
||||
+}
|
||||
+#endif /* SYS_ unix-like */
|
||||
+
|
||||
+
|
||||
+void ShowHTML(char *target)
|
||||
+{ browser_info *bi = g_malloc0(sizeof(browser_info));
|
||||
+ guint64 ignore;
|
||||
+ const char *lang;
|
||||
+ char *path = NULL;
|
||||
+ int http_url;
|
||||
+
|
||||
+ /* If no target is given, select between translations of the manual. */
|
||||
+
|
||||
+ if(!target) target = g_strdup("index.html");
|
||||
+
|
||||
+ http_url = strlen(target) > 4 && !strncmp(target, "http", 4);
|
||||
+
|
||||
+ if(!http_url && !strchr(target, '/')) /* create full path */
|
||||
+ {
|
||||
+ if(!Closure->docDir)
|
||||
+ {
|
||||
+ CreateMessage(_("Documentation not installed."), GTK_MESSAGE_ERROR);
|
||||
+ g_free(bi);
|
||||
+ return;
|
||||
+ }
|
||||
+
|
||||
+ lang = g_getenv("LANG");
|
||||
+
|
||||
+ if(lang)
|
||||
+ { if(!strncmp(lang, "ru", 2))
|
||||
+#ifdef SYS_MINGW
|
||||
+ path = g_strdup_printf("%s\\ru\\%s",Closure->docDir,target);
|
||||
+#else
|
||||
+ path = g_strdup_printf("%s/ru/%s",Closure->docDir,target);
|
||||
+#endif
|
||||
+ else if(!strncmp(lang, "de", 2))
|
||||
+#ifdef SYS_MINGW
|
||||
+ path = g_strdup_printf("%s\\de\\%s",Closure->docDir,target);
|
||||
+#else
|
||||
+ path = g_strdup_printf("%s/de/%s",Closure->docDir,target);
|
||||
+#endif
|
||||
+ }
|
||||
+
|
||||
+ if(!path)
|
||||
+ {
|
||||
+#ifdef SYS_MINGW
|
||||
+ path = g_strdup_printf("%s\\en\\%s",Closure->docDir,target);
|
||||
+#else
|
||||
+ path = g_strdup_printf("%s/en/%s",Closure->docDir,target);
|
||||
+#endif
|
||||
+ }
|
||||
+
|
||||
+#ifdef SYS_MINGW
|
||||
+ if(!LargeStat(path, &ignore))
|
||||
+ {
|
||||
+ g_free(path); /* the local dir is Windows specific */
|
||||
+ path = g_strdup_printf("%s\\local\\%s",Closure->docDir,target);
|
||||
+ }
|
||||
+#endif
|
||||
+ g_free(target);
|
||||
+ bi->url = path;
|
||||
+ }
|
||||
+ else bi->url = target;
|
||||
+
|
||||
+ if(!http_url && !LargeStat(bi->url, &ignore))
|
||||
+ {
|
||||
+ CreateMessage(_("Documentation file\n%s\nnot found.\n"), GTK_MESSAGE_ERROR, bi->url);
|
||||
+ g_free(bi);
|
||||
+ g_free(bi->url);
|
||||
+ return;
|
||||
+ }
|
||||
+
|
||||
+ /* Lock the help button and show a message for 10 seconds. */
|
||||
+
|
||||
+ TimedInsensitive(Closure->helpButton, 10000);
|
||||
+ bi->msg = CreateMessage(_("Please hang on until the browser comes up!"), GTK_MESSAGE_INFO);
|
||||
+ g_signal_connect(G_OBJECT(bi->msg), "destroy", G_CALLBACK(msg_destroy_cb), bi);
|
||||
+
|
||||
+#ifdef SYS_MINGW
|
||||
+ /* Okay, Billy wins big time here ;-) */
|
||||
+
|
||||
+ ShellExecute(NULL, "open", bi->url, NULL, NULL, SW_SHOWNORMAL);
|
||||
+ g_timeout_add(1000, browser_timeout_func, (gpointer)bi);
|
||||
+#endif
|
||||
+
|
||||
+#if defined(SYS_LINUX) || defined(SYS_FREEBSD) || defined(SYS_NETBSD)
|
||||
+ /* Try the first browser */
|
||||
+
|
||||
+ browser_index = 0;
|
||||
+ try_browser(bi);
|
||||
+#endif
|
||||
+}
|
||||
29
debian/patches/28-pdftex-reproducibility.patch
vendored
Normal file
29
debian/patches/28-pdftex-reproducibility.patch
vendored
Normal file
@@ -0,0 +1,29 @@
|
||||
From: Carlos Maddela <e7appew@gmail.com>
|
||||
Date: Thu, 5 Jan 2017 19:14:35 +1100
|
||||
Subject: Apply pdftex workarounds for build reproducibility.
|
||||
|
||||
Description: Apply pdftex workarounds for build reproducibility.
|
||||
* Generate the same PDF IDs.
|
||||
* Suppress additional metadata for included images.
|
||||
Author: Carlos Maddela <e7appew@gmail.com>
|
||||
Forwarded: not-needed
|
||||
Last-Update: 2017-08-15
|
||||
---
|
||||
This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
|
||||
---
|
||||
documentation/user-manual/manual.tex | 2 ++
|
||||
1 file changed, 2 insertions(+)
|
||||
|
||||
diff --git a/documentation/user-manual/manual.tex b/documentation/user-manual/manual.tex
|
||||
index 3024f3a..d943232 100644
|
||||
--- a/documentation/user-manual/manual.tex
|
||||
+++ b/documentation/user-manual/manual.tex
|
||||
@@ -65,6 +65,8 @@
|
||||
\fancyfoot{}
|
||||
\fancyfoot[LE,RO]{page \thepage\ of \pageref{LastPage}}
|
||||
|
||||
+\pdftrailerid{dvdisaster}
|
||||
+\pdfsuppressptexinfo=-1
|
||||
\begin{document}
|
||||
|
||||
\definecolor{lightorange}{RGB}{255,224,150}
|
||||
173
debian/patches/29-fix-more-typos.patch
vendored
Normal file
173
debian/patches/29-fix-more-typos.patch
vendored
Normal file
@@ -0,0 +1,173 @@
|
||||
From: Carlos Maddela <e7appew@gmail.com>
|
||||
Date: Sun, 6 Aug 2017 02:16:17 +1000
|
||||
Subject: Fix more typos in error messages and docs.
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset="utf-8"
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
Description: Fix more typos in error messages and docs.
|
||||
'sucessful' → 'successful'
|
||||
'improvment' → 'improvement'
|
||||
Author: Carlos Maddela <e7appew@gmail.com>
|
||||
Last-Update: 2017-12-21
|
||||
---
|
||||
This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
|
||||
---
|
||||
documentation/user-manual/howtos.tex | 2 +-
|
||||
locale/cs.po | 2 +-
|
||||
locale/de.po | 2 +-
|
||||
locale/it.po | 2 +-
|
||||
locale/pt_BR.po | 2 +-
|
||||
locale/ru.po | 2 +-
|
||||
locale/sv.po | 2 +-
|
||||
preferences.c | 4 ++--
|
||||
regtest/rs01.bash | 2 +-
|
||||
scsi-layer.c | 2 +-
|
||||
smart-lec.c | 2 +-
|
||||
11 files changed, 12 insertions(+), 12 deletions(-)
|
||||
|
||||
diff --git a/documentation/user-manual/howtos.tex b/documentation/user-manual/howtos.tex
|
||||
index 51ff827..80fe9d3 100644
|
||||
--- a/documentation/user-manual/howtos.tex
|
||||
+++ b/documentation/user-manual/howtos.tex
|
||||
@@ -1822,7 +1822,7 @@ process of creating error correction files using these options. The
|
||||
first option marked green lets dvdisaster create the error correction
|
||||
file immediately after the medium has been (completely) read.
|
||||
The second option marked green deletes the image when the error correction
|
||||
-file has been sucessfully created.
|
||||
+file has been successfully created.
|
||||
|
||||
\bigskip
|
||||
|
||||
diff --git a/locale/cs.po b/locale/cs.po
|
||||
index 453ec07..d89ff4a 100644
|
||||
--- a/locale/cs.po
|
||||
+++ b/locale/cs.po
|
||||
@@ -1917,7 +1917,7 @@ msgid "Media ejection"
|
||||
msgstr "Vysunutí disku"
|
||||
|
||||
#: preferences.c:2064 preferences.c:2065
|
||||
-msgid "Eject medium after sucessful read"
|
||||
+msgid "Eject medium after successful read"
|
||||
msgstr "Po úspěšném načtení vysunout disk"
|
||||
|
||||
#: preferences.c:2091
|
||||
diff --git a/locale/de.po b/locale/de.po
|
||||
index 5b47778..8112b13 100644
|
||||
--- a/locale/de.po
|
||||
+++ b/locale/de.po
|
||||
@@ -1975,7 +1975,7 @@ msgid "Media ejection"
|
||||
msgstr "Datenträger auswerfen"
|
||||
|
||||
#: preferences.c:2064 preferences.c:2065
|
||||
-msgid "Eject medium after sucessful read"
|
||||
+msgid "Eject medium after successful read"
|
||||
msgstr "Datenträger nach erfolgreichem Lesen auswerfen"
|
||||
|
||||
#: preferences.c:2091
|
||||
diff --git a/locale/it.po b/locale/it.po
|
||||
index f6e9dfd..b98f8d3 100644
|
||||
--- a/locale/it.po
|
||||
+++ b/locale/it.po
|
||||
@@ -1763,7 +1763,7 @@ msgid "Media ejection"
|
||||
msgstr ""
|
||||
|
||||
#: preferences.c:2064 preferences.c:2065
|
||||
-msgid "Eject medium after sucessful read"
|
||||
+msgid "Eject medium after successful read"
|
||||
msgstr ""
|
||||
|
||||
#: preferences.c:2091
|
||||
diff --git a/locale/pt_BR.po b/locale/pt_BR.po
|
||||
index f7f6af0..81ee14d 100644
|
||||
--- a/locale/pt_BR.po
|
||||
+++ b/locale/pt_BR.po
|
||||
@@ -1853,7 +1853,7 @@ msgid "Media ejection"
|
||||
msgstr "Ejeção da mídia"
|
||||
|
||||
#: preferences.c:2064 preferences.c:2065
|
||||
-msgid "Eject medium after sucessful read"
|
||||
+msgid "Eject medium after successful read"
|
||||
msgstr "Ejetar mídia após uma leitura completa"
|
||||
|
||||
#: preferences.c:2091
|
||||
diff --git a/locale/ru.po b/locale/ru.po
|
||||
index 9625a1f..6e980b9 100644
|
||||
--- a/locale/ru.po
|
||||
+++ b/locale/ru.po
|
||||
@@ -1855,7 +1855,7 @@ msgid "Media ejection"
|
||||
msgstr "Извлечь носитель"
|
||||
|
||||
#: preferences.c:2064 preferences.c:2065
|
||||
-msgid "Eject medium after sucessful read"
|
||||
+msgid "Eject medium after successful read"
|
||||
msgstr "Извлечь носитель после успешного чтения"
|
||||
|
||||
#: preferences.c:2091
|
||||
diff --git a/locale/sv.po b/locale/sv.po
|
||||
index c74a942..3011969 100644
|
||||
--- a/locale/sv.po
|
||||
+++ b/locale/sv.po
|
||||
@@ -1769,7 +1769,7 @@ msgid "Media ejection"
|
||||
msgstr ""
|
||||
|
||||
#: preferences.c:2064 preferences.c:2065
|
||||
-msgid "Eject medium after sucessful read"
|
||||
+msgid "Eject medium after successful read"
|
||||
msgstr ""
|
||||
|
||||
#: preferences.c:2091
|
||||
diff --git a/preferences.c b/preferences.c
|
||||
index 4899317..4309809 100644
|
||||
--- a/preferences.c
|
||||
+++ b/preferences.c
|
||||
@@ -2061,8 +2061,8 @@ void CreatePreferencesWindow(void)
|
||||
frame = gtk_frame_new(_utf("Media ejection"));
|
||||
gtk_box_pack_start(GTK_BOX(vbox), frame, FALSE, FALSE, 0);
|
||||
|
||||
- lwoh = CreateLabelWithOnlineHelp(_("Eject medium after sucessful read"),
|
||||
- _("Eject medium after sucessful read"));
|
||||
+ lwoh = CreateLabelWithOnlineHelp(_("Eject medium after successful read"),
|
||||
+ _("Eject medium after successful read"));
|
||||
RegisterPreferencesHelpWindow(lwoh);
|
||||
|
||||
for(i=0; i<2; i++)
|
||||
diff --git a/regtest/rs01.bash b/regtest/rs01.bash
|
||||
index 3c03f61..cc11f6e 100755
|
||||
--- a/regtest/rs01.bash
|
||||
+++ b/regtest/rs01.bash
|
||||
@@ -1323,7 +1323,7 @@ if try "reading medium w/ ecc in 3 passes; 3rd pass recovers some" read_multipas
|
||||
run_regtest read_multipass_ecc_partial_success "--read-medium=3 --spinup-delay=0 -r" $TMPISO $TMPECC
|
||||
fi
|
||||
|
||||
-# Do a second sucessful read attempt at an incomplete image;
|
||||
+# Do a second successful read attempt at an incomplete image;
|
||||
# see whether correct results are reported when ecc data is present
|
||||
# since CRC caching is a bit complicated in this case.
|
||||
|
||||
diff --git a/scsi-layer.c b/scsi-layer.c
|
||||
index 50f6c4c..22e825d 100644
|
||||
--- a/scsi-layer.c
|
||||
+++ b/scsi-layer.c
|
||||
@@ -2458,7 +2458,7 @@ int ReadSectors(DeviceHandle *dh, unsigned char *buf, gint64 s, int nsectors)
|
||||
if(Closure->readRaw && dh->rawBuffer)
|
||||
recommended_attempts = dh->rawBuffer->recommendedAttempts;
|
||||
|
||||
- if(status) /* current try was unsucessful */
|
||||
+ if(status) /* current try was unsuccessful */
|
||||
{ int last_key, last_asc, last_ascq;
|
||||
|
||||
if(Closure->stopActions) /* user break */
|
||||
diff --git a/smart-lec.c b/smart-lec.c
|
||||
index 944b70d..534dd65 100644
|
||||
--- a/smart-lec.c
|
||||
+++ b/smart-lec.c
|
||||
@@ -1609,7 +1609,7 @@ static int smart_lec_iteration(sh_context *shc, char *message)
|
||||
shc->bestBonus = 0;
|
||||
shc->bestMalus = 100000;
|
||||
memcpy(shc->bestFrame, rb->recovered, rb->sampleSize);
|
||||
- sprintf(shc->msg, "smart_lec: no further improvment");
|
||||
+ sprintf(shc->msg, "smart_lec: no further improvement");
|
||||
|
||||
update_pq_state(shc);
|
||||
print_pq_state(shc);
|
||||
46
debian/patches/30-hurd-kfreebsd-ftbfs.patch
vendored
Normal file
46
debian/patches/30-hurd-kfreebsd-ftbfs.patch
vendored
Normal file
@@ -0,0 +1,46 @@
|
||||
From: Carlos Maddela <e7appew@gmail.com>
|
||||
Date: Sun, 6 Aug 2017 02:40:33 +1000
|
||||
Subject: Fix FTBFS on Hurd and kFreeBSD.
|
||||
|
||||
Description: Fix FTBFS on Hurd and kFreeBSD.
|
||||
Make sure MMAP_FLAGS gets defined.
|
||||
Author: Carlos Maddela <e7appew@gmail.com>
|
||||
Last-Update: 2017-08-06
|
||||
---
|
||||
This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
|
||||
---
|
||||
rs03-create.c | 19 +++++++++++--------
|
||||
1 file changed, 11 insertions(+), 8 deletions(-)
|
||||
|
||||
diff --git a/rs03-create.c b/rs03-create.c
|
||||
index 9c7265d..678644c 100644
|
||||
--- a/rs03-create.c
|
||||
+++ b/rs03-create.c
|
||||
@@ -39,16 +39,19 @@
|
||||
#ifdef HAVE_MMAP
|
||||
#include <sys/mman.h>
|
||||
|
||||
-#ifdef SYS_LINUX
|
||||
- #define MMAP_FLAGS (MAP_SHARED | MAP_POPULATE | MAP_NORESERVE)
|
||||
-#endif
|
||||
+#if defined(SYS_LINUX)
|
||||
|
||||
-#ifdef SYS_FREEBSD
|
||||
- #define MMAP_FLAGS (MAP_SHARED | MAP_PREFAULT_READ)
|
||||
-#endif
|
||||
+ #define MMAP_FLAGS (MAP_SHARED | MAP_POPULATE | MAP_NORESERVE)
|
||||
+
|
||||
+#elif defined(SYS_FREEBSD)
|
||||
+
|
||||
+ #define MMAP_FLAGS (MAP_SHARED | MAP_PREFAULT_READ)
|
||||
+
|
||||
+#else
|
||||
+
|
||||
+ /* SYS_NETBSD and others. */
|
||||
+ #define MMAP_FLAGS (MAP_SHARED)
|
||||
|
||||
-#ifdef SYS_NETBSD
|
||||
- #define MMAP_FLAGS (MAP_SHARED)
|
||||
#endif
|
||||
|
||||
#endif
|
||||
308
debian/patches/31-improve-hurd-and-kfreebsd-support.patch
vendored
Normal file
308
debian/patches/31-improve-hurd-and-kfreebsd-support.patch
vendored
Normal file
@@ -0,0 +1,308 @@
|
||||
From: Carlos Maddela <e7appew@gmail.com>
|
||||
Date: Sun, 6 Aug 2017 10:37:18 +1000
|
||||
Subject: Add better support for HURD and kFreeBSD systems.
|
||||
|
||||
Description: Add better support for HURD and kFreeBSD systems.
|
||||
Hurd still compiles without SCSI layer, however.
|
||||
Author: Carlos Maddela <e7appew@gmail.com>
|
||||
Last-Update: 2017-08-06
|
||||
---
|
||||
This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
|
||||
---
|
||||
cacheprobe.c | 16 +++++++++-------
|
||||
closure.c | 6 ++++--
|
||||
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 ++++++++++-----
|
||||
8 files changed, 60 insertions(+), 30 deletions(-)
|
||||
|
||||
diff --git a/cacheprobe.c b/cacheprobe.c
|
||||
index 545c690..9f754dd 100644
|
||||
--- a/cacheprobe.c
|
||||
+++ b/cacheprobe.c
|
||||
@@ -22,7 +22,8 @@
|
||||
|
||||
#include "dvdisaster.h"
|
||||
|
||||
-#ifdef SYS_LINUX
|
||||
+#if defined(SYS_LINUX)
|
||||
+
|
||||
int ProbeCacheLineSize()
|
||||
{ int cl_size = 0;
|
||||
|
||||
@@ -36,9 +37,9 @@ int ProbeCacheLineSize()
|
||||
|
||||
return cl_size;
|
||||
}
|
||||
-#endif
|
||||
|
||||
-#ifdef SYS_FREEBSD
|
||||
+#elif defined(SYS_FREEBSD) || defined(SYS_KFREEBSD)
|
||||
+
|
||||
#include <sys/param.h>
|
||||
|
||||
int ProbeCacheLineSize()
|
||||
@@ -52,9 +53,9 @@ int ProbeCacheLineSize()
|
||||
|
||||
return cl_size;
|
||||
}
|
||||
-#endif
|
||||
|
||||
-#ifdef SYS_NETBSD
|
||||
+#elif defined(SYS_NETBSD)
|
||||
+
|
||||
#include <sys/param.h>
|
||||
|
||||
int ProbeCacheLineSize()
|
||||
@@ -68,13 +69,14 @@ int ProbeCacheLineSize()
|
||||
|
||||
return cl_size;
|
||||
}
|
||||
-#endif
|
||||
|
||||
-#ifdef SYS_UNKNOWN
|
||||
+#else /* SYS_UNKNOWN and others. */
|
||||
+
|
||||
int ProbeCacheLineSize()
|
||||
{
|
||||
return 64;
|
||||
}
|
||||
+
|
||||
#endif
|
||||
|
||||
|
||||
diff --git a/closure.c b/closure.c
|
||||
index 24c1e8c..26ee13b 100644
|
||||
--- a/closure.c
|
||||
+++ b/closure.c
|
||||
@@ -50,7 +50,8 @@ static void get_base_dirs()
|
||||
/*** Otherwise try the installation directory.
|
||||
On Unices this is a hardcoded directory. */
|
||||
|
||||
-#if defined(SYS_LINUX) || defined(SYS_FREEBSD) || defined(SYS_NETBSD) || defined(SYS_UNKNOWN)
|
||||
+#if defined(SYS_LINUX) || defined(SYS_FREEBSD) || defined(SYS_KFREEBSD) || \
|
||||
+ defined(SYS_NETBSD) || defined(SYS_HURD) || defined(SYS_UNKNOWN)
|
||||
if(DirStat(BINDIR))
|
||||
Closure->binDir = g_strdup(BINDIR);
|
||||
|
||||
@@ -432,7 +433,8 @@ void InitClosure()
|
||||
|
||||
/* Generate a more comprehensive version string */
|
||||
|
||||
-#if defined(SYS_LINUX) || defined(SYS_FREEBSD) || defined(SYS_NETBSD)
|
||||
+#if defined(SYS_LINUX) || defined(SYS_FREEBSD) || defined(SYS_KFREEBSD) || \
|
||||
+ defined(SYS_NETBSD) || defined(SYS_HURD)
|
||||
#ifdef HAVE_64BIT
|
||||
#define BITNESS_STRING " 64bit"
|
||||
#else
|
||||
diff --git a/scripts/bash-based-configure b/scripts/bash-based-configure
|
||||
index f1a8bd1..487a50b 100644
|
||||
--- a/scripts/bash-based-configure
|
||||
+++ b/scripts/bash-based-configure
|
||||
@@ -136,6 +136,15 @@ case "$cfg_uname" in
|
||||
}
|
||||
;;
|
||||
|
||||
+ GNU/kFreeBSD*) cfg_system=kfreebsd
|
||||
+ CFG_SYS_OPTIONS="-DSYS_KFREEBSD"
|
||||
+ CFG_SYS_NAME="-DSYS_NAME=\\\"GNU/kFreeBSD\\\""
|
||||
+ CFG_EXE_SUFFIX=""
|
||||
+ function add_linker_flags()
|
||||
+ { lflags_return="-L$1 -Wl,-rpath,$1 $2"
|
||||
+ }
|
||||
+ ;;
|
||||
+
|
||||
NetBSD*) cfg_system=netbsd
|
||||
CFG_SYS_OPTIONS="-DSYS_NETBSD"
|
||||
CFG_SYS_NAME="-DSYS_NAME=\\\"NetBSD\\\""
|
||||
@@ -146,6 +155,15 @@ case "$cfg_uname" in
|
||||
}
|
||||
;;
|
||||
|
||||
+ GNU*) cfg_system=hurd
|
||||
+ CFG_SYS_OPTIONS="-DSYS_HURD"
|
||||
+ CFG_SYS_NAME="-DSYS_NAME=\\\"GNU/Hurd\\\""
|
||||
+ CFG_EXE_SUFFIX=""
|
||||
+ function add_linker_flags()
|
||||
+ { lflags_return="-L$1 -Wl,-rpath,$1 $2"
|
||||
+ }
|
||||
+ ;;
|
||||
+
|
||||
*) cfg_system=unknown-system
|
||||
CFG_SYS_OPTIONS="-DSYS_UNKNOWN"
|
||||
CFG_SYS_NAME="-DSYS_NAME=\\\"Unknown\\\""
|
||||
diff --git a/scsi-freebsd.c b/scsi-freebsd.c
|
||||
index 0e3397a..bbfb913 100644
|
||||
--- a/scsi-freebsd.c
|
||||
+++ b/scsi-freebsd.c
|
||||
@@ -25,7 +25,7 @@
|
||||
#include "scsi-layer.h"
|
||||
#include "udf.h"
|
||||
|
||||
-#ifdef SYS_FREEBSD
|
||||
+#if defined(SYS_FREEBSD) || defined(SYS_KFREEBSD)
|
||||
|
||||
/* SCSI wrappers for FreeBSD are still work in progress. */
|
||||
|
||||
@@ -241,4 +241,4 @@ int SendPacket(DeviceHandle *dh, unsigned char *cmd, int cdb_size, unsigned char
|
||||
return -1;
|
||||
}
|
||||
|
||||
-#endif /* SYS_FREEBSD */
|
||||
+#endif /* defined(SYS_FREEBSD) || defined(SYS_KFREEBSD) */
|
||||
diff --git a/scsi-layer.c b/scsi-layer.c
|
||||
index 22e825d..eaecc5c 100644
|
||||
--- a/scsi-layer.c
|
||||
+++ b/scsi-layer.c
|
||||
@@ -2005,12 +2005,13 @@ static gint64 query_size(Image *image)
|
||||
*/
|
||||
|
||||
gint64 CurrentMediumSize(int get_blank_size)
|
||||
-{ Image *image;
|
||||
+{
|
||||
+#if defined(SYS_UNKNOWN) || defined(SYS_HURD)
|
||||
+ return 0;
|
||||
+#else
|
||||
+ Image *image;
|
||||
gint64 size;
|
||||
|
||||
-#ifdef SYS_UNKNOWN
|
||||
- return 0;
|
||||
-#endif
|
||||
|
||||
image = OpenImageFromDevice(Closure->device);
|
||||
if(!image) return 0;
|
||||
@@ -2051,6 +2052,7 @@ gint64 CurrentMediumSize(int get_blank_size)
|
||||
CloseImage(image);
|
||||
|
||||
return size;
|
||||
+#endif
|
||||
}
|
||||
|
||||
/***
|
||||
diff --git a/scsi-layer.h b/scsi-layer.h
|
||||
index cb5c559..6169508 100644
|
||||
--- a/scsi-layer.h
|
||||
+++ b/scsi-layer.h
|
||||
@@ -28,7 +28,7 @@
|
||||
#include <linux/cdrom.h>
|
||||
#endif
|
||||
|
||||
-#ifdef SYS_FREEBSD
|
||||
+#if defined(SYS_FREEBSD) || defined(SYS_KFREEBSD)
|
||||
#include <camlib.h>
|
||||
#endif
|
||||
|
||||
@@ -49,19 +49,21 @@
|
||||
* Linux already has one
|
||||
*/
|
||||
|
||||
-#ifdef SYS_LINUX
|
||||
+#if defined(SYS_LINUX)
|
||||
+
|
||||
#define MAX_CDB_SIZE CDROM_PACKET_SIZE
|
||||
|
||||
/* Now globally defined for all OSes here */
|
||||
//typedef struct request_sense Sense;
|
||||
-#endif
|
||||
|
||||
-#ifdef SYS_FREEBSD
|
||||
+#elif defined(SYS_FREEBSD) || defined(SYS_KFREEBSD)
|
||||
+
|
||||
#define MAX_CDB_SIZE SCSI_MAX_CDBLEN
|
||||
-#endif
|
||||
|
||||
-#if defined(SYS_UNKNOWN) || defined(SYS_NETBSD)
|
||||
+#else /* SYS_UNKNOWN and others. */
|
||||
+
|
||||
#define MAX_CDB_SIZE 16 /* longest possible SCSI command */
|
||||
+
|
||||
#endif
|
||||
|
||||
/*
|
||||
@@ -101,8 +103,7 @@ typedef struct _DeviceHandle
|
||||
*/
|
||||
#if defined(SYS_LINUX) || defined(SYS_NETBSD)
|
||||
int fd; /* device file descriptor */
|
||||
-#endif
|
||||
-#ifdef SYS_FREEBSD
|
||||
+#elif defined(SYS_FREEBSD) || defined(SYS_KFREEBSD)
|
||||
struct cam_device *camdev; /* camlib device handle */
|
||||
union ccb *ccb;
|
||||
#endif
|
||||
diff --git a/scsi-unknown.c b/scsi-unknown.c
|
||||
index f5f1072..7b2ccdb 100644
|
||||
--- a/scsi-unknown.c
|
||||
+++ b/scsi-unknown.c
|
||||
@@ -25,7 +25,7 @@
|
||||
#include "scsi-layer.h"
|
||||
#include "udf.h"
|
||||
|
||||
-#ifdef SYS_UNKNOWN
|
||||
+#if defined(SYS_UNKNOWN) || defined(SYS_HURD)
|
||||
|
||||
/* Dummy routines so that we can compile on unknown architectures
|
||||
for which we don't have SCSI support yet. */
|
||||
@@ -51,4 +51,4 @@ int SendPacket(DeviceHandle *dh, unsigned char *cmd, int cdb_size, unsigned char
|
||||
return -1;
|
||||
}
|
||||
|
||||
-#endif /* SYS_UNKNOWN */
|
||||
+#endif /* defined(SYS_UNKNOWN) || defined(SYS_HURD) */
|
||||
diff --git a/show-html.c b/show-html.c
|
||||
index 608e8ec..20715f4 100644
|
||||
--- a/show-html.c
|
||||
+++ b/show-html.c
|
||||
@@ -21,7 +21,8 @@
|
||||
|
||||
#include "dvdisaster.h"
|
||||
|
||||
-#if defined(SYS_LINUX) || defined(SYS_FREEBSD) || defined(SYS_NETBSD)
|
||||
+#if defined(SYS_LINUX) || defined(SYS_FREEBSD) || defined(SYS_KFREEBSD) || \
|
||||
+ defined(SYS_NETBSD) || defined(SYS_HURD)
|
||||
#include <sys/wait.h>
|
||||
#endif
|
||||
|
||||
@@ -34,7 +35,8 @@
|
||||
*** Ask user to specify his browser
|
||||
***/
|
||||
|
||||
-#if defined(SYS_LINUX) || defined(SYS_FREEBSD) || defined(SYS_NETBSD)
|
||||
+#if defined(SYS_LINUX) || defined(SYS_FREEBSD) || defined(SYS_KFREEBSD) || \
|
||||
+ defined(SYS_NETBSD) || defined(SYS_HURD)
|
||||
|
||||
#define SEARCH_BUTTON 1
|
||||
|
||||
@@ -173,7 +175,8 @@ static void msg_destroy_cb(GtkWidget *widget, gpointer data)
|
||||
bi->msg = NULL;
|
||||
}
|
||||
|
||||
-#if defined(SYS_LINUX) || defined(SYS_FREEBSD) || defined(SYS_NETBSD)
|
||||
+#if defined(SYS_LINUX) || defined(SYS_FREEBSD) || defined(SYS_KFREEBSD) || \
|
||||
+ defined(SYS_NETBSD) || defined(SYS_HURD)
|
||||
|
||||
/*
|
||||
* The following list of browsers and html wrappers
|
||||
@@ -273,7 +276,8 @@ static gboolean browser_timeout_func(gpointer data)
|
||||
* Invoke the browser
|
||||
*/
|
||||
|
||||
-#if defined(SYS_LINUX) || defined(SYS_FREEBSD) || defined(SYS_NETBSD)
|
||||
+#if defined(SYS_LINUX) || defined(SYS_FREEBSD) || defined(SYS_KFREEBSD) || \
|
||||
+ defined(SYS_NETBSD) || defined(SYS_HURD)
|
||||
static void try_browser(browser_info *bi)
|
||||
{ pid_t pid;
|
||||
|
||||
@@ -393,7 +397,8 @@ void ShowHTML(char *target)
|
||||
g_timeout_add(1000, browser_timeout_func, (gpointer)bi);
|
||||
#endif
|
||||
|
||||
-#if defined(SYS_LINUX) || defined(SYS_FREEBSD) || defined(SYS_NETBSD)
|
||||
+#if defined(SYS_LINUX) || defined(SYS_FREEBSD) || defined(SYS_KFREEBSD) || \
|
||||
+ defined(SYS_NETBSD) || defined(SYS_HURD)
|
||||
/* Try the first browser */
|
||||
|
||||
browser_index = 0;
|
||||
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;
|
||||
9
debian/patches/series
vendored
Normal file
9
debian/patches/series
vendored
Normal file
@@ -0,0 +1,9 @@
|
||||
11-no-cruft.patch
|
||||
15-show-new-pkg-tracker.patch
|
||||
16-remove-auto-build-of-doco-from-install-rule.patch
|
||||
20-display-changelog-credits-and-todo.patch
|
||||
24-show-gpl3-license.patch
|
||||
26-fix-display-of-manual.pdf.patch
|
||||
32-display-compilation-commands.patch
|
||||
34-gcc8-format-security.patch
|
||||
37-suggest-dvdisaster-doc.patch
|
||||
75
debian/rules
vendored
Executable file
75
debian/rules
vendored
Executable file
@@ -0,0 +1,75 @@
|
||||
#!/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
|
||||
export DEB_CFLAGS_MAINT_APPEND = $(CPPFLAGS) -Wall -Wno-deprecated-declarations -pedantic
|
||||
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/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_update_autotools_config:
|
||||
dh_update_autotools_config
|
||||
test -f $(BACKUP_TAR_FILE) || \
|
||||
tar cpf $(BACKUP_TAR_FILE) $(MUTABLE_FILES)
|
||||
|
||||
override_dh_clean:
|
||||
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:
|
||||
dh_auto_build -a -- all
|
||||
|
||||
override_dh_auto_build-indep:
|
||||
dh_auto_build -i \
|
||||
$(if $(findstring nodoc,$(DEB_BUILD_OPTIONS)),--no-act) \
|
||||
-- manual
|
||||
|
||||
override_dh_auto_install-arch:
|
||||
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 compressed, as it doesn't
|
||||
# automatically decompress text files.
|
||||
override_dh_compress-arch:
|
||||
dh_compress -p dvdisaster \
|
||||
-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/format
vendored
Normal file
1
debian/source/format
vendored
Normal file
@@ -0,0 +1 @@
|
||||
3.0 (quilt)
|
||||
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
|
||||
1
debian/source/options
vendored
Normal file
1
debian/source/options
vendored
Normal file
@@ -0,0 +1 @@
|
||||
no-unapply-patches
|
||||
2
debian/tests/control
vendored
Normal file
2
debian/tests/control
vendored
Normal file
@@ -0,0 +1,2 @@
|
||||
Tests: unknown-system
|
||||
Depends: dvdisaster
|
||||
6
debian/tests/unknown-system
vendored
Executable file
6
debian/tests/unknown-system
vendored
Executable file
@@ -0,0 +1,6 @@
|
||||
#!/bin/sh
|
||||
|
||||
set -e
|
||||
|
||||
# Make sure we haven't built for an unknown system.
|
||||
! (dvdisaster --version | grep -qiw unknown)
|
||||
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>
|
||||
73
debian/upstream/signing-key.asc
vendored
Normal file
73
debian/upstream/signing-key.asc
vendored
Normal file
@@ -0,0 +1,73 @@
|
||||
-----BEGIN PGP PUBLIC KEY BLOCK-----
|
||||
|
||||
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-----
|
||||
-----BEGIN PGP PUBLIC KEY BLOCK-----
|
||||
|
||||
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+rqjJSdNSfcsxLkCDQRWEtF5ARAA3KvEpeB7vbCx
|
||||
olIlzxuF/RHJ770GUYSfTVbYIKSl4HbywrDak7uXlDWIJ/u1lunu5+albUEHIadu
|
||||
YolrzaTG6A/sslXHgk8RUxZonzAw2/8C0fQCBAPjs2nlwzt61g75/EPJlESocapd
|
||||
Ri97EleGmGGK5L6N2CyTX8pjj1DkXwiWX95EOcgWRoLXpf/bpThqFCsRjoJfHO7z
|
||||
cA0b5iIR7LQenMG/3AeGFRr1Oh2UzAL60MuPypu8NBv3IUXZ6mXdFTNM4bQc/Rlm
|
||||
VDoB8B8mz4M1IL0fP98LN+b9ZfUUDz1zk9W8H+OCvfdOVj1srDq+uhaSwDC6jDu7
|
||||
wTaFlaJaPBoqCXCk7xGbVxKdZot6oN5ZrAvMMnD0Jc+QX+MKSodMk5LQRFB+WGI8
|
||||
2IwgeS7kqQX2Bt0w7d4xL/3AKTNgQQAGzXRi7dzXR//diKEmESSmaRccVpLZYtR4
|
||||
PdUuY6ZXyayEvZCosV6B7P+lV842lN9Q/KgrZjH09SYKK8pzqRPoAIvPJNT4fP8F
|
||||
eTztnKu9gfS0Zs2MnkKjEK85E8OMSidpISqn0xgHeuldMPL7gGxJKj95BF4jFUs4
|
||||
fQa8nD1jnnUbKdAsGd5ujpEAjAfV+kkGZPUyVrJokhGlCLLt2dG4PrgZ4tNXdEQw
|
||||
VGNskHYjs6YU+CGYjzfopvrUPast+cUAEQEAAYkCHwQYAQIACQUCVhLReQIbDAAK
|
||||
CRCw28p9ZPdwsrmqD/sFsulD6nl5DRznofkqBJwwl6zdtNN9OKsEi8UKc10iuq+Z
|
||||
vynWFbcARqW9sgbBCoCM5KuA5zMIQ0hvrvlb+HOt8v7DA2D0d/IPU1BPnxoEuMDq
|
||||
5g+a3MYzmP+4Wmp8r6NNAW0ArWhazQsNdIhAVv4ItUCos7+S7q8srsflpEVG78/f
|
||||
C4Fw4sRjAaCd1NsP6D3vHwENtbuoQaT63kyfPK+r6EADTxmeFe7anovQo6MirRCn
|
||||
Loo3NdPVfQlgXkdL3wiBpwm7W/PYY+9Z6HIfE2AIBs+C5SdxYPR+tVz3+3QC9998
|
||||
egxTRnJMaKkDQ+nG/ROSVpCqXwhzob6HlrKhoe7H7GKVZyl/IVllpUQHKi5C03S8
|
||||
JQxpaJoB85/C5ZlcMtb0e1YUYeVhTKWIREFsx5FlxXcJh5CLVplZKxfn0oiIgnyK
|
||||
HtCOeNcXP2mOYClN8RmhW+/Z198bTmzMrB2jq7a3xbLGWKJqfgfZ6EPwCEu/jZTB
|
||||
SQgyssrrGahyyOIDadEcyfYV+r5pUm1++1YxSe0/hZ89RjGAIneWmo6sDLwPd44G
|
||||
LKAAb/E/yS/320bu031426gU8Zdw7bK1dVNVQxWOpRc/RTRjmVjrO9NIN+7DSNOF
|
||||
nvep13/48UEDSFXkNnh+VgxGpvpOouw2xUBVNZuhjPr589pvAEQFUyxCTI0uwQ==
|
||||
=mXsc
|
||||
-----END PGP PUBLIC KEY BLOCK-----
|
||||
4
debian/watch
vendored
Normal file
4
debian/watch
vendored
Normal file
@@ -0,0 +1,4 @@
|
||||
version=3
|
||||
opts="pgpsigurlmangle=s/$/.gpg/" \
|
||||
https://web.archive.org/web/20180428070843/https://dvdisaster.net/en/index.html \
|
||||
(?:.*?/)?dvdisaster-(.*)\.tar\.bz2 debian uupdate
|
||||
6
debug.c
6
debug.c
@@ -747,8 +747,8 @@ void HexDump(unsigned char *buf, int len, int step)
|
||||
for(j=0; j<step; j++)
|
||||
{ if(i+j >= len) break;
|
||||
if((j&0x07) == 0x07)
|
||||
PrintLog("%c ", isprint(buf[i+j]) ? buf[i+j] : '.');
|
||||
else PrintLog("%c", isprint(buf[i+j]) ? buf[i+j] : '.');
|
||||
PrintLog("%c ", canprint(buf[i+j]) ? buf[i+j] : '.');
|
||||
else PrintLog("%c", canprint(buf[i+j]) ? buf[i+j] : '.');
|
||||
}
|
||||
|
||||
PrintLog("\n");
|
||||
@@ -1023,7 +1023,7 @@ void RawSector(char *arg)
|
||||
*
|
||||
* ./dvdisaster --debug --send-cdb 12,00,00,00,24,00:24
|
||||
*
|
||||
* The first six bytes make up the cdb; cdbs with upto 12 bytes are possible.
|
||||
* The first six bytes make up the cdb; cdbs with up to 12 bytes are possible.
|
||||
* The :24 arg is the allocation length.
|
||||
* Note that the allocation length must match those specified in the cdb;
|
||||
* differing values may crash the system.
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -1 +0,0 @@
|
||||
\newcommand{\projectversion}{0.79.6}
|
||||
@@ -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.
|
||||
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
|
||||
@@ -384,7 +384,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.
|
||||
|
||||
@@ -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 -->
|
||||
|
||||
@@ -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 -->
|
||||
|
||||
@@ -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}
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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}
|
||||
|
||||
@@ -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.
|
||||
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. }
|
||||
|
||||
35
ds-marker.c
35
ds-marker.c
@@ -260,15 +260,20 @@ int CheckForMissingSectors(unsigned char *buf, guint64 sector,
|
||||
*** Dialogue for indicating problem with the missing sector
|
||||
***/
|
||||
|
||||
#ifndef CLI
|
||||
static void insert_buttons(GtkDialog *dialog)
|
||||
{
|
||||
gtk_dialog_add_buttons(dialog,
|
||||
_utf("Stop reporting these errors"), 1,
|
||||
_utf("Continue reporting"), 0, NULL);
|
||||
}
|
||||
#endif
|
||||
|
||||
void ExplainMissingSector(unsigned char *buf, guint64 sector, int error, int source_type, int *number)
|
||||
{ int answer;
|
||||
{
|
||||
#ifndef CLI
|
||||
int answer;
|
||||
#endif
|
||||
guint64 recorded_number;
|
||||
char *vol_label, *label_msg;
|
||||
|
||||
@@ -288,7 +293,11 @@ void ExplainMissingSector(unsigned char *buf, guint64 sector, int error, int sou
|
||||
|
||||
/* In CLI mode, only report the first unrecoverable sector unless verbose is given. */
|
||||
|
||||
#ifndef CLI
|
||||
if(!Closure->guiMode && !Closure->verbose && *number > 0)
|
||||
#else
|
||||
if(!Closure->verbose && *number > 0)
|
||||
#endif
|
||||
{ if(*number == 1)
|
||||
PrintLog(_("* ... more unrecoverable sectors found ...\n"
|
||||
"* further messages are suppressed unless the -v option is given.\n"));
|
||||
@@ -303,9 +312,13 @@ void ExplainMissingSector(unsigned char *buf, guint64 sector, int error, int sou
|
||||
|
||||
vol_label = get_volume_label(buf);
|
||||
if(vol_label)
|
||||
{ if(Closure->guiMode)
|
||||
{
|
||||
#ifndef CLI
|
||||
if(Closure->guiMode)
|
||||
label_msg = g_strdup_printf(_("\n\nThe label of the original (defective) medium was:\n%s\n\n"), vol_label);
|
||||
else label_msg = g_strdup_printf(_("\n* \n* The label of the original (defective) medium was:\n* \n* %s\n* "), vol_label);
|
||||
else
|
||||
#endif
|
||||
label_msg = g_strdup_printf(_("\n* \n* The label of the original (defective) medium was:\n* \n* %s\n* "), vol_label);
|
||||
g_free(vol_label);
|
||||
}
|
||||
else label_msg = g_strdup("\n");
|
||||
@@ -326,14 +339,18 @@ void ExplainMissingSector(unsigned char *buf, guint64 sector, int error, int sou
|
||||
"repaired by dvdisaster. Also it will not be possible to create\n"
|
||||
"error correction data for it. Sorry for the bad news.\n");
|
||||
|
||||
#ifndef CLI
|
||||
if(!Closure->guiMode)
|
||||
#endif
|
||||
PrintLogWithAsterisks(msg,sector, recorded_number, label_msg);
|
||||
#ifndef CLI
|
||||
else
|
||||
{ answer = ModalDialog(GTK_MESSAGE_ERROR, GTK_BUTTONS_NONE, insert_buttons, msg,
|
||||
sector, recorded_number, label_msg);
|
||||
|
||||
if(answer) Closure->noMissingWarnings = TRUE;
|
||||
}
|
||||
#endif
|
||||
}
|
||||
break;
|
||||
|
||||
@@ -349,13 +366,17 @@ void ExplainMissingSector(unsigned char *buf, guint64 sector, int error, int sou
|
||||
"repaired by dvdisaster. Also it will not be possible to create\n"
|
||||
"error correction data for it. Sorry for the bad news.\n");
|
||||
|
||||
#ifndef CLI
|
||||
if(!Closure->guiMode)
|
||||
#endif
|
||||
PrintLogWithAsterisks(msg,sector, label_msg);
|
||||
#ifndef CLI
|
||||
else
|
||||
{ answer = ModalDialog(GTK_MESSAGE_ERROR, GTK_BUTTONS_NONE, insert_buttons, msg,
|
||||
sector, label_msg);
|
||||
if(answer) Closure->noMissingWarnings = TRUE;
|
||||
}
|
||||
#endif
|
||||
}
|
||||
break;
|
||||
}
|
||||
@@ -374,14 +395,18 @@ void ExplainMissingSector(unsigned char *buf, guint64 sector, int error, int sou
|
||||
"repaired by dvdisaster. Also it will not be possible to create\n"
|
||||
"error correction data for it. Sorry for the bad news.\n");
|
||||
|
||||
#ifndef CLI
|
||||
if(!Closure->guiMode)
|
||||
#endif
|
||||
PrintLogWithAsterisks(msg, sector);
|
||||
#ifndef CLI
|
||||
else
|
||||
{ answer = ModalDialog(GTK_MESSAGE_ERROR, GTK_BUTTONS_NONE, insert_buttons, msg,
|
||||
sector);
|
||||
|
||||
if(answer) Closure->noMissingWarnings = TRUE;
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
/* Error was found while reading an ecc file */
|
||||
@@ -394,14 +419,18 @@ void ExplainMissingSector(unsigned char *buf, guint64 sector, int error, int sou
|
||||
"in the ecc file are missing and its error correction\n"
|
||||
"capacity will be reduced.\n");
|
||||
|
||||
#ifndef CLI
|
||||
if(!Closure->guiMode)
|
||||
#endif
|
||||
PrintLogWithAsterisks(msg, sector);
|
||||
#ifndef CLI
|
||||
else
|
||||
{ answer = ModalDialog(GTK_MESSAGE_ERROR, GTK_BUTTONS_NONE, insert_buttons, msg,
|
||||
sector);
|
||||
|
||||
if(answer) Closure->noMissingWarnings = TRUE;
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
g_free(label_msg);
|
||||
|
||||
27
dvdisaster.c
27
dvdisaster.c
@@ -22,6 +22,19 @@
|
||||
|
||||
#include "dvdisaster.h"
|
||||
|
||||
|
||||
/*
|
||||
* Those are now declared as extern in dvdisaster.h,
|
||||
* and as such are accessible from everywhere.
|
||||
* MinGW didn't link these being declared directly
|
||||
* in dvdisaster.h (ended up having one copy of each
|
||||
* struct for every .c including dvdisaster.h)
|
||||
*/
|
||||
struct _RawBuffer *rawbuffer_forward;
|
||||
struct _DefectiveSectorHeader *dsh_forward;
|
||||
struct _DeviceHandle *dh_forward;
|
||||
struct _Image *dh_image;
|
||||
|
||||
/*
|
||||
* The all-famous main() loop
|
||||
*/
|
||||
@@ -96,7 +109,9 @@ typedef enum
|
||||
int main(int argc, char *argv[])
|
||||
{ int mode = MODE_NONE;
|
||||
int sequence = MODE_NONE;
|
||||
#ifndef CLI
|
||||
int devices_queried = FALSE;
|
||||
#endif
|
||||
char *debug_arg = NULL;
|
||||
char *read_range = NULL;
|
||||
#ifdef WITH_NLS_YES
|
||||
@@ -324,6 +339,8 @@ int main(int argc, char *argv[])
|
||||
Closure->mediumSize = BD_DL_SIZE;
|
||||
else if(!strcmp(optarg, "BDXL3") || !strcmp(optarg, "bdxl3"))
|
||||
Closure->mediumSize = BDXL_TL_SIZE;
|
||||
else if(!strcmp(optarg, "BDXL4") || !strcmp(optarg, "bdxl4"))
|
||||
Closure->mediumSize = BDXL_QL_SIZE;
|
||||
else
|
||||
{ int len = strlen(optarg);
|
||||
if(strchr("0123456789", optarg[len-1]))
|
||||
@@ -724,7 +741,9 @@ int main(int argc, char *argv[])
|
||||
if(!Closure->device && mode == MODE_SEQUENCE
|
||||
&& (sequence & (1<<MODE_READ | 1<<MODE_SCAN)))
|
||||
{ Closure->device = DefaultDevice();
|
||||
#ifndef CLI
|
||||
devices_queried = TRUE;
|
||||
#endif
|
||||
}
|
||||
|
||||
/*** Dispatch action depending on mode.
|
||||
@@ -879,7 +898,11 @@ int main(int argc, char *argv[])
|
||||
|
||||
/*** If no mode was selected, print the help screen. */
|
||||
|
||||
#ifndef CLI
|
||||
if(mode == MODE_HELP)
|
||||
#else
|
||||
if(mode == MODE_HELP || mode == MODE_NONE)
|
||||
#endif
|
||||
{
|
||||
/* TRANSLATORS: Program options like -r and --read are not to be translated
|
||||
to avoid confusion when discussing the program in international forums. */
|
||||
@@ -930,7 +953,7 @@ int main(int argc, char *argv[])
|
||||
PrintCLI(_(" --old-ds-marker - mark missing sectors compatible with dvdisaster <= 0.70\n"));
|
||||
PrintCLI(_(" --prefetch-sectors n - prefetch n sectors for RS03 encoding (uses ~nMiB)\n"));
|
||||
PrintCLI(_(" --raw-mode n - mode for raw reading CD media (20 or 21)\n"));
|
||||
PrintCLI(_(" --read-attempts n-m - attempts n upto m reads of a defective sector\n"));
|
||||
PrintCLI(_(" --read-attempts n-m - attempts n up to m reads of a defective sector\n"));
|
||||
PrintCLI(_(" --read-medium n - read the whole medium up to n times\n"));
|
||||
PrintCLI(_(" --read-raw - performs read in raw mode if possible\n"));
|
||||
PrintCLI(_(" --regtest - tweaks output for compatibility with regtests\n"));
|
||||
@@ -971,6 +994,7 @@ int main(int argc, char *argv[])
|
||||
exit(EXIT_FAILURE);
|
||||
}
|
||||
|
||||
#ifndef CLI
|
||||
/* If no mode was selected at the command line,
|
||||
start the graphical user interface. */
|
||||
|
||||
@@ -1001,6 +1025,7 @@ int main(int argc, char *argv[])
|
||||
ReadDotfile();
|
||||
CreateMainWindow(&argc, &argv);
|
||||
}
|
||||
#endif
|
||||
|
||||
FreeClosure();
|
||||
exit(exitCode);
|
||||
|
||||
85
dvdisaster.h
85
dvdisaster.h
@@ -40,7 +40,9 @@
|
||||
|
||||
#include <glib.h>
|
||||
#include <glib/gprintf.h>
|
||||
#ifndef CLI
|
||||
#include <gtk/gtk.h>
|
||||
#endif
|
||||
|
||||
#include <ctype.h>
|
||||
#include <errno.h>
|
||||
@@ -75,7 +77,11 @@
|
||||
|
||||
/* File permissions for images */
|
||||
|
||||
#ifdef SYS_MINGW
|
||||
#define IMG_PERMS (S_IRUSR | S_IWUSR)
|
||||
#else
|
||||
#define IMG_PERMS (S_IRUSR | S_IWUSR | S_IRGRP | S_IWGRP | S_IROTH | S_IWOTH)
|
||||
#endif
|
||||
|
||||
/* Using round() is preferred over rint() on systems which have it */
|
||||
|
||||
@@ -83,6 +89,12 @@
|
||||
#define round(x) rint(x)
|
||||
#endif
|
||||
|
||||
#ifdef CLI
|
||||
#define STATUS_LABEL_OR_NULL NULL
|
||||
#else
|
||||
#define STATUS_LABEL_OR_NULL Closure->status
|
||||
#endif
|
||||
|
||||
/* Some standard media sizes */
|
||||
|
||||
/* WARNING: These values affect RS03 in non-obvious ways.
|
||||
@@ -98,9 +110,10 @@
|
||||
#define CDR_SIZE (351*1024)
|
||||
#define DVD_SL_SIZE 2295104 /* DVD+R/RW size used as least common denominator */
|
||||
#define DVD_DL_SIZE 4171712 /* also seen: 4148992 4173824 */
|
||||
#define BD_SL_SIZE 11826176
|
||||
#define BD_SL_SIZE 12219392
|
||||
#define BD_DL_SIZE 23652352
|
||||
#define BDXL_TL_SIZE 47305728
|
||||
#define BDXL_QL_SIZE (128001769472/2048)
|
||||
|
||||
/* Maximum accepted media sizes (in 2K sectors) */
|
||||
|
||||
@@ -112,7 +125,7 @@
|
||||
|
||||
#define MAX_CODEC_THREADS 1024 /* not including IO and GUI */
|
||||
#define MAX_OLD_CACHE_SIZE 8096 /* old cache for RS01/RS02 */
|
||||
#define MAX_PREFETCH_CACHE_SIZE (512*1024) /* upto 0.5TB RS03 */
|
||||
#define MAX_PREFETCH_CACHE_SIZE (512*1024) /* up to 0.5TB RS03 */
|
||||
|
||||
/* Choices for I/O strategy */
|
||||
|
||||
@@ -159,12 +172,14 @@ typedef struct _GlobalClosure
|
||||
gint64 bdSize1; /* Maximum 1-layer bd size (for augmented images) */
|
||||
gint64 bdSize2; /* Maximum 2-layer bd size (for augmented images) */
|
||||
gint64 bdSize3; /* Maximum 3-layer bdxl size (for augmented images) */
|
||||
gint64 bdSize4; /* Maximum 4-layer bdxl size (for augmented images) */
|
||||
gint64 savedCDSize; /* Undo values for above */
|
||||
gint64 savedDVDSize1;
|
||||
gint64 savedDVDSize2;
|
||||
gint64 savedBDSize1;
|
||||
gint64 savedBDSize2;
|
||||
gint64 savedBDSize3;
|
||||
gint64 savedBDSize4;
|
||||
gint64 mediumSize; /* Maximum medium size (for augmented images) */
|
||||
int cacheMiB; /* Cache setting for the parity codec, in megabytes */
|
||||
int prefetchSectors; /* Prefetch setting per encoder thread */
|
||||
@@ -229,6 +244,7 @@ typedef struct _GlobalClosure
|
||||
char *binDir; /* place where the binary resides */
|
||||
char *docDir; /* place where our documentation resides */
|
||||
char *viewer; /* Name of preferred PDF viewer */
|
||||
char *browser; /* Name of preferred browser */
|
||||
|
||||
GMutex progressLock; /* A mutex protected the stuff below */
|
||||
char bs[256]; /* A string of 255 backspace characters */
|
||||
@@ -244,12 +260,15 @@ typedef struct _GlobalClosure
|
||||
|
||||
struct _CrcBuf *crcBuf; /* crcBuf of last image read */
|
||||
|
||||
#ifndef CLI
|
||||
/*** GUI-related things */
|
||||
|
||||
int guiMode; /* TRUE if GUI is active */
|
||||
int stopActions; /* crude method to stop ongoing action(s) */
|
||||
#endif
|
||||
int noMissingWarnings; /* suppress warnings about inconsistent missing sectors */
|
||||
|
||||
#ifndef CLI
|
||||
GtkWidget *logWidget; /* Dialog for the log display */
|
||||
GtkScrolledWindow *logScroll; /* and its scrolled window */
|
||||
GtkTextBuffer *logBuffer; /* Text buffer for the log output */
|
||||
@@ -330,7 +349,9 @@ typedef struct _GlobalClosure
|
||||
GtkWidget *readLinearErrors;
|
||||
GtkWidget *readLinearFootline;
|
||||
GtkWidget *readLinearFootlineBox;
|
||||
#endif
|
||||
gint64 crcErrors, readErrors; /* these are passed between threads and must therefore be global */
|
||||
#ifndef CLI
|
||||
|
||||
/*** Widgets for the adaptive reading action */
|
||||
|
||||
@@ -340,6 +361,7 @@ typedef struct _GlobalClosure
|
||||
char *readAdaptiveSubtitle;
|
||||
char *readAdaptiveErrorMsg;
|
||||
int additionalSpiralColor;
|
||||
#endif
|
||||
|
||||
} GlobalClosure;
|
||||
|
||||
@@ -376,7 +398,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. */
|
||||
/* Versions upto 0.64 used sector 257, */
|
||||
/* Versions up to 0.64 used sector 257, */
|
||||
/* but that was not a wise choice for CD media.*/
|
||||
|
||||
#define MFLAG_DEVEL (1<<0) /* for methodFlags[3] */
|
||||
@@ -434,13 +456,13 @@ typedef struct _CrcBlock
|
||||
} CrcBlock;
|
||||
|
||||
/***
|
||||
*** forward declarations
|
||||
*** dvdisaster.c
|
||||
***/
|
||||
|
||||
struct _RawBuffer *rawbuffer_forward;
|
||||
struct _DefectiveSectorHeader *dsh_forward;
|
||||
struct _DeviceHandle *dh_forward;
|
||||
struct _Image *dh_image;
|
||||
extern struct _RawBuffer *rawbuffer_forward;
|
||||
extern struct _DefectiveSectorHeader *dsh_forward;
|
||||
extern struct _DeviceHandle *dh_forward;
|
||||
extern struct _Image *dh_image;
|
||||
|
||||
/***
|
||||
*** bitmap.c
|
||||
@@ -463,7 +485,7 @@ void FreeBitmap(Bitmap*);
|
||||
*** build.h
|
||||
***/
|
||||
|
||||
int buildCount;
|
||||
extern const char *const buildCount;
|
||||
|
||||
/***
|
||||
*** cacheprobe.h
|
||||
@@ -477,8 +499,10 @@ int ProbeCacheLineSize();
|
||||
|
||||
void InitClosure(void);
|
||||
void LocalizedFileDefaults(void);
|
||||
#ifndef CLI
|
||||
void UpdateMarkup(char**, GdkColor*);
|
||||
void DefaultColors(void);
|
||||
#endif
|
||||
void FreeClosure(void);
|
||||
void ReadDotfile(void);
|
||||
void WriteSignature(void);
|
||||
@@ -550,6 +574,7 @@ int CrcBufValid(CrcBuf*, struct _Image*, EccHeader*);
|
||||
|
||||
void PrintCrcBuf(CrcBuf*);
|
||||
|
||||
#ifndef CLI
|
||||
/***
|
||||
*** curve.c
|
||||
***/
|
||||
@@ -593,6 +618,7 @@ int CurveY(Curve*, gdouble);
|
||||
int CurveLogY(Curve*, gdouble);
|
||||
void RedrawAxes(Curve*);
|
||||
void RedrawCurve(Curve*, int);
|
||||
#endif
|
||||
|
||||
/***
|
||||
*** debug.c
|
||||
@@ -659,7 +685,9 @@ void PrintEccHeader(EccHeader*);
|
||||
*** fix-window.c
|
||||
***/
|
||||
|
||||
#ifndef CLI
|
||||
void CreateFixWindow(GtkWidget*);
|
||||
#endif
|
||||
|
||||
/***
|
||||
*** galois.c
|
||||
@@ -717,6 +745,7 @@ void FreeGaloisTables(GaloisTables*);
|
||||
ReedSolomonTables *CreateReedSolomonTables(GaloisTables*, gint32, gint32, int);
|
||||
void FreeReedSolomonTables(ReedSolomonTables*);
|
||||
|
||||
#ifndef CLI
|
||||
/***
|
||||
*** help-dialogs.c
|
||||
***/
|
||||
@@ -757,6 +786,7 @@ void AboutDialog();
|
||||
void AboutText(GtkWidget*, char*, ...);
|
||||
void AboutLink(GtkWidget*, char*, char*);
|
||||
void AboutTextWithLink(GtkWidget*, char*, char*);
|
||||
#endif
|
||||
|
||||
/***
|
||||
*** heuristic-lec.c
|
||||
@@ -993,6 +1023,7 @@ int forget(void*);
|
||||
|
||||
void check_memleaks(void);
|
||||
|
||||
#ifndef CLI
|
||||
/***
|
||||
*** menubar.c
|
||||
***/
|
||||
@@ -1000,6 +1031,7 @@ void check_memleaks(void);
|
||||
void AttachTooltip(GtkWidget*, char*, char*);
|
||||
GtkWidget* CreateMenuBar(GtkWidget*);
|
||||
GtkWidget* CreateToolBar(GtkWidget*);
|
||||
#endif
|
||||
|
||||
/***
|
||||
*** method.c / method-link.c
|
||||
@@ -1012,7 +1044,7 @@ GtkWidget* CreateToolBar(GtkWidget*);
|
||||
#define ECC_MD5_BAD (1<<2)
|
||||
|
||||
typedef struct _Method
|
||||
{ char name[4]; /* Method name tag */
|
||||
{ char name[5]; /* Method name tag */
|
||||
guint32 properties; /* see definition above */
|
||||
char *description; /* Fulltext description */
|
||||
char *menuEntry; /* Text for use in preferences menu */
|
||||
@@ -1027,6 +1059,7 @@ typedef struct _Method
|
||||
void (*updateCksums)(Image*, gint64, unsigned char*);/* checksum while reading an image */
|
||||
int (*finalizeCksums)(Image*);
|
||||
void *ckSumClosure; /* working closure for above */
|
||||
#ifndef CLI
|
||||
void (*createVerifyWindow)(struct _Method*, GtkWidget*);
|
||||
void (*createCreateWindow)(struct _Method*, GtkWidget*);
|
||||
void (*createFixWindow)(struct _Method*, GtkWidget*);
|
||||
@@ -1036,9 +1069,12 @@ typedef struct _Method
|
||||
void (*resetFixWindow)(struct _Method*);
|
||||
void (*resetPrefsPage)(struct _Method*);
|
||||
void (*readPreferences)(struct _Method*);
|
||||
#endif
|
||||
void (*destroy)(struct _Method*);
|
||||
#ifndef CLI
|
||||
int tabWindowIndex; /* our position in the (invisible) notebook */
|
||||
void *widgetList; /* linkage to window system */
|
||||
#endif
|
||||
} Method;
|
||||
|
||||
void BindMethods(void); /* created by configure in method-link.c */
|
||||
@@ -1053,6 +1089,7 @@ void CallMethodDestructors(void);
|
||||
*** misc.c
|
||||
***/
|
||||
|
||||
int canprint(char);
|
||||
char* sgettext(char*);
|
||||
char* sgettext_utf8(char*);
|
||||
|
||||
@@ -1068,7 +1105,11 @@ void Verbose(char*, ...);
|
||||
void PrintTimeToLog(GTimer*, char*, ...);
|
||||
void PrintProgress(char*, ...);
|
||||
void ClearProgress(void);
|
||||
#ifndef CLI
|
||||
void PrintCLIorLabel(GtkLabel*, char*, ...);
|
||||
#else
|
||||
void PrintCLIorLabel(void*, char*, ...);
|
||||
#endif
|
||||
int GetLongestTranslation(char*, ...);
|
||||
|
||||
void LogWarning(char*, ...);
|
||||
@@ -1078,6 +1119,7 @@ void UnregisterCleanup(void);
|
||||
|
||||
GThread* CreateGThread(GThreadFunc, gpointer);
|
||||
|
||||
#ifndef CLI
|
||||
void ShowWidget(GtkWidget*);
|
||||
void AllowActions(gboolean);
|
||||
|
||||
@@ -1088,7 +1130,13 @@ void SetProgress(GtkWidget*, int, int);
|
||||
|
||||
int ModalDialog(GtkMessageType, GtkButtonsType, void (*)(GtkDialog*), char*, ...);
|
||||
int ModalWarning(GtkMessageType, GtkButtonsType, void (*)(GtkDialog*), char*, ...);
|
||||
#define ModalWarningOrCLI(a,b,c,d,...) ModalWarning(a,b,c,d,__VA_ARGS__)
|
||||
#else
|
||||
int ModalWarning(char*, ...);
|
||||
#define ModalWarningOrCLI(a,b,c,d,...) ModalWarning(d,__VA_ARGS__)
|
||||
#endif
|
||||
|
||||
#ifndef CLI
|
||||
void SetText(PangoLayout*, char*, int*, int*);
|
||||
void SwitchAndSetFootline(GtkWidget*, int, GtkWidget*, char*, ...);
|
||||
|
||||
@@ -1097,10 +1145,12 @@ void TimedInsensitive(GtkWidget*, int);
|
||||
|
||||
int GetLabelWidth(GtkLabel*, char*, ...);
|
||||
void LockLabelSize(GtkLabel*, char*, ...);
|
||||
#endif
|
||||
|
||||
int ConfirmImageDeletion(char *);
|
||||
int ConfirmEccDeletion(char *);
|
||||
|
||||
#ifndef CLI
|
||||
/***
|
||||
*** preferences.c
|
||||
***/
|
||||
@@ -1113,6 +1163,7 @@ void FreePreferences(void*);
|
||||
void UpdatePrefsExhaustiveSearch(void);
|
||||
void UpdatePrefsConfirmDeletion(void);
|
||||
void RegisterPreferencesHelpWindow(LabelWithOnlineHelp*);
|
||||
#endif
|
||||
|
||||
/***
|
||||
*** print-sense.c
|
||||
@@ -1125,7 +1176,7 @@ void GetLastSense(int*, int*, int*);
|
||||
|
||||
/***
|
||||
*** random.c
|
||||
***/
|
||||
**/
|
||||
|
||||
#define MY_RAND_MAX 2147483647
|
||||
|
||||
@@ -1169,6 +1220,7 @@ void ReadDefectiveSectorFile(DefectiveSectorHeader *, struct _RawBuffer*, char*)
|
||||
|
||||
void ReadMediumLinear(gpointer);
|
||||
|
||||
#ifndef CLI
|
||||
/***
|
||||
*** read-linear-window.c
|
||||
***/
|
||||
@@ -1180,6 +1232,7 @@ void InitializeCurve(void*, int, int);
|
||||
void AddCurveValues(void*, int, int, int);
|
||||
void MarkExistingSectors(void);
|
||||
void RedrawReadLinearWindow(void);
|
||||
#endif
|
||||
|
||||
/***
|
||||
*** read-adaptive.c
|
||||
@@ -1189,6 +1242,7 @@ void GetReadingRange(gint64, gint64*, gint64*);
|
||||
|
||||
void ReadMediumAdaptive(gpointer);
|
||||
|
||||
#ifndef CLI
|
||||
/***
|
||||
*** read-adaptive-window.c
|
||||
***/
|
||||
@@ -1205,6 +1259,7 @@ void SetAdaptiveReadFootline(char*, GdkColor*);
|
||||
void UpdateAdaptiveResults(gint64, gint64, gint64, int);
|
||||
void ChangeSegmentColor(GdkColor*, int);
|
||||
void RemoveFillMarkers();
|
||||
#endif
|
||||
|
||||
/***
|
||||
*** recover-raw.c
|
||||
@@ -1348,6 +1403,12 @@ int ProbeAltiVec(void);
|
||||
|
||||
void ShowPDF(char*);
|
||||
|
||||
/***
|
||||
*** show-html.c
|
||||
***/
|
||||
|
||||
void ShowHTML(char*);
|
||||
|
||||
/***
|
||||
*** smart-lec.c
|
||||
***/
|
||||
@@ -1362,6 +1423,7 @@ void *PrepareIterativeSmartLEC(RawBuffer*);
|
||||
void SmartLECIteration(void*, char*);
|
||||
void EndIterativeSmartLEC(void*);
|
||||
|
||||
#ifndef CLI
|
||||
/***
|
||||
*** spiral.c
|
||||
***/
|
||||
@@ -1397,5 +1459,6 @@ void MoveSpiralCursor(Spiral*, int);
|
||||
***/
|
||||
|
||||
void CreateWelcomePage(GtkNotebook*);
|
||||
#endif
|
||||
|
||||
#endif /* DVDISASTER_H */
|
||||
|
||||
@@ -53,6 +53,7 @@ void register_rs01(void)
|
||||
method->finalizeCksums = RS01FinalizeCksums;
|
||||
method->expectedImageSize = RS01ExpectedImageSize;
|
||||
|
||||
#ifndef CLI
|
||||
/*** Linkage to rs01-window.c */
|
||||
|
||||
method->createCreateWindow = CreateRS01EWindow;
|
||||
@@ -68,6 +69,7 @@ void register_rs01(void)
|
||||
|
||||
method->createVerifyWindow = CreateRS01VerifyWindow;
|
||||
method->resetVerifyWindow = ResetRS01VerifyWindow;
|
||||
#endif
|
||||
|
||||
/*** Register ourself */
|
||||
|
||||
@@ -77,10 +79,14 @@ void register_rs01(void)
|
||||
}
|
||||
|
||||
static void destroy(Method *method)
|
||||
{ RS01Widgets *wl = (RS01Widgets*)method->widgetList;
|
||||
{
|
||||
#ifndef CLI
|
||||
RS01Widgets *wl = (RS01Widgets*)method->widgetList;
|
||||
#endif
|
||||
|
||||
g_free(method->ckSumClosure);
|
||||
|
||||
#ifndef CLI
|
||||
if(wl)
|
||||
{ if(wl->fixCurve) FreeCurve(wl->fixCurve);
|
||||
|
||||
@@ -92,6 +98,7 @@ static void destroy(Method *method)
|
||||
|
||||
g_free(wl);
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -54,6 +54,7 @@ void register_rs02(void)
|
||||
method->finalizeCksums = RS02FinalizeCksums;
|
||||
method->expectedImageSize = RS02ExpectedImageSize;
|
||||
|
||||
#ifndef CLI
|
||||
/*** Linkage to rs02-window.c */
|
||||
|
||||
method->createCreateWindow = CreateRS02EncWindow;
|
||||
@@ -70,6 +71,7 @@ void register_rs02(void)
|
||||
|
||||
method->createVerifyWindow = CreateRS02VerifyWindow;
|
||||
method->resetVerifyWindow = ResetRS02VerifyWindow;
|
||||
#endif
|
||||
|
||||
/*** Register ourself */
|
||||
|
||||
@@ -79,13 +81,17 @@ void register_rs02(void)
|
||||
}
|
||||
|
||||
static void destroy(Method *method)
|
||||
{ RS02Widgets *wl = (RS02Widgets*)method->widgetList;
|
||||
{
|
||||
#ifndef CLI
|
||||
RS02Widgets *wl = (RS02Widgets*)method->widgetList;
|
||||
#endif
|
||||
RS02CksumClosure *csc = (RS02CksumClosure*)method->ckSumClosure;
|
||||
|
||||
if(csc->lay)
|
||||
g_free(csc->lay);
|
||||
g_free(method->ckSumClosure);
|
||||
|
||||
#ifndef CLI
|
||||
if(wl)
|
||||
{ if(wl->fixCurve) FreeCurve(wl->fixCurve);
|
||||
|
||||
@@ -97,5 +103,6 @@ static void destroy(Method *method)
|
||||
|
||||
g_free(wl);
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
|
||||
@@ -55,6 +55,7 @@ void register_rs03(void)
|
||||
method->recognizeEccFile = RS03RecognizeFile;
|
||||
method->recognizeEccImage = RS03RecognizeImage;
|
||||
|
||||
#ifndef CLI
|
||||
/*** Linkage to rs03-window.c */
|
||||
|
||||
method->createCreateWindow = CreateRS03EncWindow;
|
||||
@@ -71,6 +72,7 @@ void register_rs03(void)
|
||||
|
||||
method->createVerifyWindow = CreateRS03VerifyWindow;
|
||||
method->resetVerifyWindow = ResetRS03VerifyWindow;
|
||||
#endif
|
||||
|
||||
/*** Register ourself */
|
||||
|
||||
@@ -80,13 +82,17 @@ void register_rs03(void)
|
||||
}
|
||||
|
||||
static void destroy(Method *method)
|
||||
{ RS03Widgets *wl = (RS03Widgets*)method->widgetList;
|
||||
{
|
||||
#ifndef CLI
|
||||
RS03Widgets *wl = (RS03Widgets*)method->widgetList;
|
||||
#endif
|
||||
RS03CksumClosure *csc = (RS03CksumClosure*)method->ckSumClosure;
|
||||
|
||||
if(csc->lay)
|
||||
g_free(csc->lay);
|
||||
g_free(method->ckSumClosure);
|
||||
|
||||
#ifndef CLI
|
||||
if(wl)
|
||||
{ if(wl->fixCurve) FreeCurve(wl->fixCurve);
|
||||
|
||||
@@ -98,5 +104,6 @@ static void destroy(Method *method)
|
||||
|
||||
g_free(wl);
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
|
||||
@@ -19,6 +19,7 @@
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with dvdisaster. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
// DVDISASTER_GUI_FILE
|
||||
|
||||
#include "dvdisaster.h"
|
||||
|
||||
@@ -423,6 +424,24 @@ char *find_file(char *file, size_t *size, char *lang)
|
||||
lang_suffix[1] = lang[1];
|
||||
}
|
||||
|
||||
/* Test for absolute path first. */
|
||||
if(*file == '/')
|
||||
{
|
||||
if(lang)
|
||||
path = g_strdup_printf("%s.%s", file, lang_suffix);
|
||||
else
|
||||
path = g_strdup(file);
|
||||
|
||||
if(LargeStat(path, &stat_size))
|
||||
{
|
||||
*size = stat_size;
|
||||
return path;
|
||||
}
|
||||
|
||||
g_free(path);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
/* Try file in bin dir */
|
||||
|
||||
if(Closure->binDir)
|
||||
@@ -581,7 +600,8 @@ static gint about_cb(GtkWidget *widget, GdkEvent *event, gpointer data)
|
||||
{ case GDK_BUTTON_PRESS:
|
||||
if(!inside) return FALSE; /* Defect in certain Gtk versions? */
|
||||
if(!strcmp(label,"GPL")) ShowGPL();
|
||||
else if(!strcmp(label,"MODIFYING")) show_modifying();
|
||||
else if(!strcmp(label,"MODIFYING")) show_modifying();
|
||||
else if(strlen(label) > 4 && !strncmp(label, "http", 4)) ShowHTML(g_strdup(label));
|
||||
else ShowPDF(g_strdup(label));
|
||||
break;
|
||||
case GDK_ENTER_NOTIFY:
|
||||
@@ -723,8 +743,10 @@ void AboutDialog()
|
||||
g_free(text);
|
||||
|
||||
#ifdef MODIFIED_SOURCE
|
||||
AboutTextWithLink(vbox,
|
||||
_("Modified version Copyright 2017 (please fill in - [directions])\n"
|
||||
AboutTextWithLink(vbox,
|
||||
_("[Modified version]\n"
|
||||
"Copyright 2019-2020 Stephane Lesimple\n"
|
||||
"Copyright 2005-2017 Debian Optical Media Tools Team\n"
|
||||
"Copyright 2004-2017 Carsten Gnoerlich"),
|
||||
"MODIFYING");
|
||||
#else
|
||||
@@ -746,11 +768,12 @@ void AboutDialog()
|
||||
"GPL");
|
||||
|
||||
#ifdef MODIFIED_SOURCE
|
||||
AboutTextWithLink(vbox, _("\nThis program is <b>not the original</b>. It is based on the\n"
|
||||
"source code of dvdisaster, but contains third-party changes.\n\n"
|
||||
"Please do not bother the original authors of dvdisaster\n"
|
||||
"([www.dvdisaster.org]) about issues with this version.\n"),
|
||||
"http://www.dvdisaster.org");
|
||||
AboutTextWithLink(vbox, _("\nThis version is <b>not the original</b>. It has been patched\n"
|
||||
"for Debian to support DVD-ROMs (with and without encryption),\n"
|
||||
"and subsequently patched again to support a CLI-only build, among other things.\n\n"
|
||||
"Please do not bother the original authors of dvdisaster nor the Debian maintainer\n"
|
||||
"but submit bugreports against [GitHub] instead.\n"),
|
||||
"https://github.com/speed47/dvdisaster");
|
||||
|
||||
#else
|
||||
lang = g_getenv("LANG");
|
||||
|
||||
@@ -19,6 +19,7 @@
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with dvdisaster. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
// DVDISASTER_GUI_FILE
|
||||
|
||||
#include "dvdisaster.h"
|
||||
|
||||
|
||||
BIN
icons/win.ico
Normal file
BIN
icons/win.ico
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 7.2 KiB |
8
image.c
8
image.c
@@ -148,11 +148,13 @@ int ReportImageEccInconsistencies(Image *image)
|
||||
|
||||
if(!image || image->type == IMAGE_NONE)
|
||||
{ if(image) CloseImage(image);
|
||||
#ifndef CLI
|
||||
if(Closure->guiMode)
|
||||
{ CreateMessage(_("Image file %s not present or permission denied.\n"), GTK_MESSAGE_ERROR, Closure->imageName);
|
||||
return TRUE;
|
||||
}
|
||||
else
|
||||
#endif
|
||||
{ Stop(_("Image file %s not present or permission denied.\n"), Closure->imageName);
|
||||
}
|
||||
}
|
||||
@@ -161,11 +163,13 @@ int ReportImageEccInconsistencies(Image *image)
|
||||
|
||||
if(image->eccFile && !image->eccFileMethod)
|
||||
{ CloseImage(image);
|
||||
#ifndef CLI
|
||||
if(Closure->guiMode)
|
||||
{ CreateMessage(_("\nError correction file type unknown.\n"), GTK_MESSAGE_ERROR);
|
||||
return TRUE;
|
||||
}
|
||||
else
|
||||
#endif
|
||||
{ Stop(_("\nError correction file type unknown.\n"));
|
||||
}
|
||||
}
|
||||
@@ -174,12 +178,14 @@ int ReportImageEccInconsistencies(Image *image)
|
||||
|
||||
if(!image->eccFile && image->eccFileState == ECCFILE_NOPERM)
|
||||
{ CloseImage(image);
|
||||
#ifndef CLI
|
||||
if(Closure->guiMode)
|
||||
{ CreateMessage(_("\nPermission denied on ecc file (perhaps not writeable?).\n"),
|
||||
GTK_MESSAGE_ERROR);
|
||||
return TRUE;
|
||||
}
|
||||
else
|
||||
#endif
|
||||
{ Stop(_("\nPermission denied on ecc file (perhaps not writeable?).\n"));
|
||||
}
|
||||
}
|
||||
@@ -189,12 +195,14 @@ int ReportImageEccInconsistencies(Image *image)
|
||||
|
||||
if(!image->eccFile && !image->eccMethod)
|
||||
{ CloseImage(image);
|
||||
#ifndef CLI
|
||||
if(Closure->guiMode)
|
||||
{ CreateMessage(_("\nNo error correction file present.\n"
|
||||
"No error correction data recognized in image.\n"), GTK_MESSAGE_ERROR);
|
||||
return TRUE;
|
||||
}
|
||||
else
|
||||
#endif
|
||||
{ Stop(_("\nNo error correction file present.\n"
|
||||
"No error correction data recognized in image.\n"));
|
||||
}
|
||||
|
||||
52
large-io.c
52
large-io.c
@@ -36,6 +36,34 @@
|
||||
* Also, individual behaviour may deviate from standard functions.
|
||||
*/
|
||||
|
||||
#ifdef SYS_MINGW
|
||||
|
||||
#include <windows.h>
|
||||
|
||||
#define stat _stati64
|
||||
#define lseek _lseeki64
|
||||
|
||||
/* The original windows ftruncate has off_size (32bit) */
|
||||
|
||||
int large_ftruncate(int fd, gint64 size)
|
||||
{ gint32 handle;
|
||||
|
||||
if((handle=_get_osfhandle(fd)) == -1)
|
||||
return -1;
|
||||
|
||||
if(_lseeki64(fd, size, SEEK_SET) == -1)
|
||||
return -1;
|
||||
|
||||
if(SetEndOfFile((HANDLE)handle) == 0)
|
||||
return -1;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
#else
|
||||
#define large_ftruncate ftruncate
|
||||
#endif /* SYS_MINGW */
|
||||
|
||||
/*
|
||||
* convert special chars in file names to correct OS encoding
|
||||
*/
|
||||
@@ -109,6 +137,9 @@ LargeFile* LargeOpen(char *name, int flags, mode_t mode)
|
||||
#ifdef HAVE_O_LARGEFILE
|
||||
flags |= O_LARGEFILE;
|
||||
#endif
|
||||
#ifdef SYS_MINGW
|
||||
flags |= O_BINARY;
|
||||
#endif
|
||||
|
||||
cp_path = os_path(name);
|
||||
if(!cp_path)
|
||||
@@ -178,12 +209,14 @@ ssize_t LargeRead(LargeFile *lf, void *buf, size_t count)
|
||||
* Writing large files
|
||||
*/
|
||||
|
||||
#ifndef CLI
|
||||
static void insert_buttons(GtkDialog *dialog)
|
||||
{
|
||||
gtk_dialog_add_buttons(dialog,
|
||||
GTK_STOCK_REDO , 1,
|
||||
GTK_STOCK_CANCEL, 0, NULL);
|
||||
}
|
||||
#endif
|
||||
|
||||
static ssize_t xwrite(int fdes, void *buf_base, size_t count)
|
||||
{ unsigned char *buf = (unsigned char*)buf_base;
|
||||
@@ -191,7 +224,9 @@ static ssize_t xwrite(int fdes, void *buf_base, size_t count)
|
||||
|
||||
/* Simply fail when going out of space in command line mode */
|
||||
|
||||
#ifndef CLI
|
||||
if(!Closure->guiMode)
|
||||
#endif
|
||||
{ while(count)
|
||||
{ ssize_t n = write(fdes, buf, count);
|
||||
|
||||
@@ -206,6 +241,7 @@ static ssize_t xwrite(int fdes, void *buf_base, size_t count)
|
||||
return total;
|
||||
}
|
||||
|
||||
#ifndef CLI
|
||||
/* Give the user a chance to free more space in GUI mode.
|
||||
When running out of space, the last write() may complete
|
||||
with n<count but no error condition, so we try writing
|
||||
@@ -235,6 +271,7 @@ static ssize_t xwrite(int fdes, void *buf_base, size_t count)
|
||||
}
|
||||
|
||||
return total;
|
||||
#endif
|
||||
}
|
||||
|
||||
ssize_t LargeWrite(LargeFile *lf, void *buf, size_t count)
|
||||
@@ -270,7 +307,7 @@ int LargeClose(LargeFile *lf)
|
||||
int LargeTruncate(LargeFile *lf, off_t length)
|
||||
{ int result;
|
||||
|
||||
result = (ftruncate(lf->fileHandle, length) == 0);
|
||||
result = (large_ftruncate(lf->fileHandle, length) == 0);
|
||||
|
||||
if(result)
|
||||
lf->size = length;
|
||||
@@ -310,6 +347,19 @@ FILE *portable_fopen(char *path, char *modes)
|
||||
return file;
|
||||
}
|
||||
|
||||
#ifdef SYS_MINGW
|
||||
int portable_mkdir(char *path)
|
||||
{ int status;
|
||||
char *cp_path;
|
||||
|
||||
cp_path = os_path(path);
|
||||
status = mkdir(cp_path);
|
||||
g_free(cp_path);
|
||||
|
||||
return status;
|
||||
}
|
||||
#endif
|
||||
|
||||
/***
|
||||
*** Convenience functions
|
||||
***/
|
||||
|
||||
@@ -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"
|
||||
|
||||
2962
locale/cs.po
2962
locale/cs.po
File diff suppressed because it is too large
Load Diff
3154
locale/de.po
3154
locale/de.po
File diff suppressed because it is too large
Load Diff
2340
locale/it.po
2340
locale/it.po
File diff suppressed because it is too large
Load Diff
2605
locale/pt_BR.po
2605
locale/pt_BR.po
File diff suppressed because it is too large
Load Diff
2653
locale/ru.po
2653
locale/ru.po
File diff suppressed because it is too large
Load Diff
2486
locale/sv.po
2486
locale/sv.po
File diff suppressed because it is too large
Load Diff
@@ -19,6 +19,7 @@
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with dvdisaster. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
// DVDISASTER_GUI_FILE
|
||||
|
||||
#include "dvdisaster.h"
|
||||
|
||||
@@ -60,7 +61,6 @@ static void action_cb(GtkWidget *widget, gpointer data)
|
||||
if(action != ACTION_STOP)
|
||||
{
|
||||
/* Clear the log buffer, request new log file time stamp */
|
||||
|
||||
if(action != ACTION_CREATE_CONT)
|
||||
{ g_mutex_lock(Closure->logLock);
|
||||
g_string_truncate(Closure->logString, 0);
|
||||
@@ -68,7 +68,6 @@ static void action_cb(GtkWidget *widget, gpointer data)
|
||||
g_mutex_unlock(Closure->logLock);
|
||||
Closure->logFileStamped = FALSE;
|
||||
}
|
||||
|
||||
/* Make sure we're using the current file selections */
|
||||
|
||||
g_free(Closure->imageName);
|
||||
|
||||
117
medium-info.c
117
medium-info.c
@@ -25,6 +25,7 @@
|
||||
#include "scsi-layer.h"
|
||||
#include "udf.h"
|
||||
|
||||
#ifndef CLI
|
||||
/*
|
||||
* Local data
|
||||
*/
|
||||
@@ -65,6 +66,7 @@ static void print_defaults(medium_info *mi)
|
||||
SetLabelText(mi->eccSize, "-");
|
||||
SetLabelText(mi->eccVersion, "-");
|
||||
}
|
||||
#endif
|
||||
|
||||
static void print_tab(char *label, int tab_width)
|
||||
{ char *translation=_(label);
|
||||
@@ -83,18 +85,24 @@ static void print_tab(char *label, int tab_width)
|
||||
void PrintMediumInfo(void *mi_ptr)
|
||||
{ Image *image;
|
||||
DeviceHandle *dh;
|
||||
#ifndef CLI
|
||||
medium_info *mi=(medium_info*)mi_ptr;
|
||||
#endif
|
||||
char *disc_status;
|
||||
char *sess_status;
|
||||
int tab_width=30;
|
||||
|
||||
#ifndef CLI
|
||||
if(!mi) /* create dummy medium_info in CLI mode so that PrintCLIorLabel() won't crash */
|
||||
{ mi=alloca(sizeof(medium_info));
|
||||
memset(mi, 0, sizeof(medium_info));
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifndef CLI
|
||||
if(Closure->guiMode)
|
||||
print_defaults(mi);
|
||||
#endif
|
||||
|
||||
image = OpenImageFromDevice(Closure->device);
|
||||
if(!image) return;
|
||||
@@ -116,13 +124,37 @@ void PrintMediumInfo(void *mi_ptr)
|
||||
NULL)+1;
|
||||
|
||||
print_tab("Medium type:",tab_width);
|
||||
PrintCLIorLabel(mi->physicalType, "%s\n", dh->typeDescr);
|
||||
PrintCLIorLabel(
|
||||
#ifndef CLI
|
||||
mi->physicalType,
|
||||
#else
|
||||
NULL,
|
||||
#endif
|
||||
"%s\n", dh->typeDescr);
|
||||
print_tab("Book type:",tab_width);
|
||||
PrintCLIorLabel(mi->bookType, "%s\n", dh->bookDescr);
|
||||
PrintCLIorLabel(
|
||||
#ifndef CLI
|
||||
mi->bookType,
|
||||
#else
|
||||
NULL,
|
||||
#endif
|
||||
"%s\n", dh->bookDescr);
|
||||
print_tab("Manuf.-ID:",tab_width);
|
||||
PrintCLIorLabel(mi->manufID, "%s\n", dh->manuID);
|
||||
PrintCLIorLabel(
|
||||
#ifndef CLI
|
||||
mi->manufID,
|
||||
#else
|
||||
NULL,
|
||||
#endif
|
||||
"%s\n", dh->manuID);
|
||||
print_tab("Drive profile:",tab_width);
|
||||
PrintCLIorLabel(mi->profileDescr, "%s\n", dh->profileDescr);
|
||||
PrintCLIorLabel(
|
||||
#ifndef CLI
|
||||
mi->profileDescr,
|
||||
#else
|
||||
NULL,
|
||||
#endif
|
||||
"%s\n", dh->profileDescr);
|
||||
|
||||
switch(dh->discStatus&3)
|
||||
{ case 0: disc_status = g_strdup(_("empty")); break;
|
||||
@@ -139,20 +171,44 @@ void PrintMediumInfo(void *mi_ptr)
|
||||
|
||||
|
||||
print_tab("Disc status:",tab_width);
|
||||
PrintCLIorLabel(mi->discStatus, _("%s (%d sessions; last session %s)\n"),
|
||||
PrintCLIorLabel(
|
||||
#ifndef CLI
|
||||
mi->discStatus,
|
||||
#else
|
||||
NULL,
|
||||
#endif
|
||||
_("%s (%d sessions; last session %s)\n"),
|
||||
disc_status, dh->sessions, sess_status);
|
||||
g_free(disc_status);
|
||||
g_free(sess_status);
|
||||
|
||||
print_tab("Used sectors:",tab_width);
|
||||
PrintCLIorLabel(mi->usedCapacity1, _("%lld sectors (%lld MiB), from READ CAPACITY\n"),
|
||||
PrintCLIorLabel(
|
||||
#ifndef CLI
|
||||
mi->usedCapacity1,
|
||||
#else
|
||||
NULL,
|
||||
#endif
|
||||
_("%lld sectors (%lld MiB), from READ CAPACITY\n"),
|
||||
dh->readCapacity+1, (dh->readCapacity+1)>>9);
|
||||
print_tab(" ",tab_width);
|
||||
PrintCLIorLabel(mi->usedCapacity2, _("%lld sectors (%lld MiB), from DVD structure\n"),
|
||||
PrintCLIorLabel(
|
||||
#ifndef CLI
|
||||
mi->usedCapacity2,
|
||||
#else
|
||||
NULL,
|
||||
#endif
|
||||
_("%lld sectors (%lld MiB), from DVD structure\n"),
|
||||
dh->userAreaSize, dh->userAreaSize>>9);
|
||||
|
||||
print_tab("Blank capacity:",tab_width);
|
||||
PrintCLIorLabel(mi->blankCapacity, _("%lld sectors (%lld MiB)\n"),
|
||||
PrintCLIorLabel(
|
||||
#ifndef CLI
|
||||
mi->blankCapacity,
|
||||
#else
|
||||
NULL,
|
||||
#endif
|
||||
_("%lld sectors (%lld MiB)\n"),
|
||||
dh->blankCapacity, (dh->blankCapacity)>>9);
|
||||
|
||||
/* Filesystem properties */
|
||||
@@ -168,12 +224,30 @@ void PrintMediumInfo(void *mi_ptr)
|
||||
PrintCLI("\n\n");
|
||||
|
||||
print_tab("Medium label:",tab_width);
|
||||
PrintCLIorLabel(mi->isoLabel, "%s\n", image->isoInfo->volumeLabel);
|
||||
PrintCLIorLabel(
|
||||
#ifndef CLI
|
||||
mi->isoLabel,
|
||||
#else
|
||||
NULL,
|
||||
#endif
|
||||
"%s\n", image->isoInfo->volumeLabel);
|
||||
print_tab("File system size:",tab_width);
|
||||
PrintCLIorLabel(mi->isoSize, _("%d sectors (%lld MiB)\n"),
|
||||
PrintCLIorLabel(
|
||||
#ifndef CLI
|
||||
mi->isoSize,
|
||||
#else
|
||||
NULL,
|
||||
#endif
|
||||
_("%d sectors (%lld MiB)\n"),
|
||||
image->isoInfo->volumeSize, (gint64)image->isoInfo->volumeSize>>9);
|
||||
print_tab("Creation time:",tab_width);
|
||||
PrintCLIorLabel(mi->isoTime, "%s\n", image->isoInfo->creationDate);
|
||||
PrintCLIorLabel(
|
||||
#ifndef CLI
|
||||
mi->isoTime,
|
||||
#else
|
||||
NULL,
|
||||
#endif
|
||||
"%s\n", image->isoInfo->creationDate);
|
||||
}
|
||||
|
||||
/* Augmented image properties
|
||||
@@ -197,18 +271,35 @@ void PrintMediumInfo(void *mi_ptr)
|
||||
memcpy(method, eh->method, 4);
|
||||
method[4] = 0;
|
||||
print_tab("Error correction data:",tab_width);
|
||||
#ifndef CLI
|
||||
PrintCLIorLabel(mi->eccState, _("%s, %d roots, %4.1f%% redundancy.\n"),
|
||||
#else
|
||||
PrintCLIorLabel(NULL, _("%s, %d roots, %4.1f%% redundancy.\n"),
|
||||
#endif
|
||||
method, eh->eccBytes,
|
||||
((double)eh->eccBytes*100.0)/(double)eh->dataBytes);
|
||||
print_tab("Augmented image size:",tab_width);
|
||||
#ifndef CLI
|
||||
PrintCLIorLabel(mi->eccSize, _("%lld sectors (%lld MiB)\n"),
|
||||
#else
|
||||
PrintCLIorLabel(NULL, _("%lld sectors (%lld MiB)\n"),
|
||||
#endif
|
||||
image->expectedSectors, image->expectedSectors>>9);
|
||||
|
||||
print_tab("dvdisaster version:", tab_width);
|
||||
|
||||
if(micro)
|
||||
#ifndef CLI
|
||||
PrintCLIorLabel(mi->eccVersion, "%d.%d.%d", major, minor, micro);
|
||||
else PrintCLIorLabel(mi->eccVersion, "%d.%d", major, minor);
|
||||
#else
|
||||
PrintCLIorLabel(NULL, "%d.%d.%d", major, minor, micro);
|
||||
#endif
|
||||
else
|
||||
#ifndef CLI
|
||||
PrintCLIorLabel(mi->eccVersion, "%d.%d", major, minor);
|
||||
#else
|
||||
PrintCLIorLabel(NULL, "%d.%d", major, minor);
|
||||
#endif
|
||||
}
|
||||
|
||||
/* Clean up */
|
||||
@@ -219,6 +310,7 @@ void PrintMediumInfo(void *mi_ptr)
|
||||
/***
|
||||
*** GUI callbacks
|
||||
***/
|
||||
#ifndef CLI
|
||||
|
||||
/*
|
||||
* Callback for drive selection
|
||||
@@ -496,3 +588,4 @@ void CreateMediumInfoWindow()
|
||||
PrintMediumInfo(mi);
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
@@ -20,6 +20,8 @@
|
||||
* along with dvdisaster. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#ifndef SYS_MINGW /* completely untested under Windows, and we don't need it for releases anyway */
|
||||
|
||||
#define _GNU_SOURCE
|
||||
|
||||
#if !defined(SYS_FREEBSD) /* FreeBSD declares malloc() in stdlib.h */
|
||||
@@ -85,7 +87,7 @@ void remember(void *ptr, int size, char *file, int line)
|
||||
|
||||
g_mutex_lock(&phMutex);
|
||||
|
||||
hash_idx = (((long)ptr)>>3)&63;
|
||||
hash_idx = (((long long)ptr)>>3)&63;
|
||||
if(phCnt[hash_idx] >= phMax[hash_idx])
|
||||
{ if(!phMax[hash_idx]) phMax[hash_idx] = 16;
|
||||
else phMax[hash_idx] *= 2;
|
||||
@@ -348,3 +350,4 @@ void check_memleaks(void)
|
||||
else g_printf("dvdisaster: No memory leaks found.\n");
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user