Installation of the dvdisaster source code distribution
=======================================================
[don't edit - generated from documentation/install.template]

Contents

1. Required tools and libraries
1.1 C compiler, make and other build tools
1.2 Gtk+ and localozation support

2. Operating system specific issues
2.1 FreeBSD
2.1.1 Required packages
2.2 NetBSD
2.2.1 Required packages

3. Compiling the source code
3.1 Unpacking the source code archive
3.2 Configuring the package
3.3 Compiling the package

4. Installation
4.1 Installation of the program
4.2 Removing an installation

5 Running the program
5.1 Program documentation
5.2 FreeBSD hints
5.3 NetBSD hints

=======================================================

1. Required tools and libraries
===============================

1.1 C compiler, make and other build tools
------------------------------------------

dvdisaster requires the usual GNU development tools for compiling 
C programs. You must have gcc, GNU make, the bash shell and the
GNU fileutils and textutils packages installed.
Using other compilers and tools is currently not tested,
recommended or supported in any way. Patches for them will
not be accepted.

FreeBSD, Linux and NetBSD typically come with suitable packages on 
their installation media. Sometimes these packages are not installed
completely by default; you may need to install their development versions
also. The additional packages are usually suffixed with "-devel" or "-dev".

See Section 3.2 for information on configuring the build process,
and for specifying the compiler.


1.2 Gtk+ and localization support
---------------------------------

Depending on your operating system you will also need:

- The gettext library			http://www.gnu.org/software/gettext/
- The pkgconfig tool			http://www.freedesktop.org/software/pkgconfig/releases
- The GTK+ library version 2.2 or better,    http://www.gtk.org
  including all auxiliary libraries.

Again, the supported Unices should have suitable packages on their distribution media.


2. Operating system specific issues
===================================

2.1 FreeBSD
-----------

2.1.1 Required packages

For your convenience, building dvdisaster required
the following packages under FreeBSD 10.1:

# pkg install bash
# pkg install gmake
# pkg install gettext
# pkg install gcc
# pkg install pkgconf
# pkg install gtk2

2.2 NetBSD
----------

2.2.1 Required packages

For your convenience, building dvdisaster required
the following packages under NetBSD 9.0:

# pkg_add bash
# pkg_add gmake
# pkg_add pkg-config
# pkg_add gtk2+


3. Compiling the source code
============================

It is recommended to compile the source code as a normal
user, not root. In the following instructions, user@host>
denotes the shell prompt.

3.1 Unpacking the source code archive
-------------------------------------

Please change into a directory which is writeable
for you and unpack the source code archive:

user@host> cd /var/tmp
user@host> tar xjf dvdisaster-0.79.5.tar.bz2

Then change into the newly created directory:

user@host> cd /var/tmp/dvdisaster-0.79.5

3.2. Configuring the package
----------------------------

Please note that the dvdisaster configure script is not 
generated by GNU autoconf, but should behave in a similar way.

Call the configuration script in the usual way:

user@host> ./configure

The script will possibly print some errors about missing libraries.
Type "configure --help" to learn about pointing configure 
to the correct path of already installed libraries.

The "--help" option will also give information about some
options which are useful if you plan to install the package
to a certain location.

Please note that the --buildroot=DIR option is mainly useful for
package maintainers, but will mess up things when trying a direct
install via "make install".

If your gcc compiler resides in an unusual place, specify it
by setting the CC environment variable for the ./configure
script. Example (may be helpful for FreeBSD):

CC=/usr/local/bin/gcc48 ./configure

Please note that changing CC at a later time, e.g. when doing
the make step, has no effect.

After ./configure has been run, do a "make show" to review
the settings obtained by the configuration.

3.3 Compiling the package
-------------------------

When the configuration script finishes without error messages,
compile the source code into the executable program:

user@host> gmake

On some systems, GNU make must be invoked as "make".

Invoke the program for a quick test:

user@linux> ./dvdisaster

After a short moment the main window should open an the program
is ready for use. Working with the program from the current 
directory (e.g. without installation) is okay.


4. Installation
===============

4.1 Installation of the program
-------------------------------

To install the program and documentation permanently
on your system, become root and do:

root@host# gmake install

Before doing the install, please review the output of the "configure" script
or type "gmake show" to learn about the target directories of the installation.
Enter "bash configure --help" to get information on changing the installation
paths.

4.2. Removing an installation
-----------------------------

During the installation process a shell script is created
which can be used to remove dvdisaster from your system:

root@host# dvdisaster-uninstall.sh

In order to remove the source code distribution,
please remove the directory you have created as described
in section 3.1:

user@host> cd /var/tmp
user@host> rm -rf dvdisaster-0.79.5


5. Running the program
======================

5.1 Program documentation
-------------------------

The online documentation is located in the
sub directory documentation/manual.pdf
You can also press the respective toolbar button 
in dvdisaster to view the online docs.

5.2 FreeBSD hints
-----------------

Running as an unpriviledged user

If you want to run dvdisaster as an unpriviledged
user (which is recommended), make sure that the
respective user is member of the "operator" group
and that he has read _and_ write permission on the
optical drive, e.g. /dev/pass1.

Use camcontrol to find out which passthrough device
is assigned to your drive:

root@freebsd# camcontrol devlist
<NAME OF YOUR DRIVE>  at scbus1 target 0 lun 0 (pass1,cd0)

You can change permission permanently by adding the
following line to /etc/devfs.conf:

perm pass1 0660

To make the change available immediately, restart devfs:

root@freebsd# /etc/rc.d/devfs restart


Avoid copy-on-write filesystems

dvdisaster assumes that ISO images are laid out
sequentially on the hard disk, and that it can
rewrite sectors in place. Therefore avoid
processing images on ZFS volumes, as reading and
recovering defective images may lead to serious
fragmentation and performance hits.


5.3 NetBSD hints
----------------

Running as an unpriviledged user

If you want to run dvdisaster as an unpriviledged
user (which is recommended), make sure that the
respective user is member of the "operator" group
and that he has read _and_ write permission on the
optical drive, e.g. /dev/rcd0d.



Enjoy using dvdisaster!


