legacy/libisoburn/trunk
2008-12-11 07:24:45 +00:00
..
doc I hope this fixes doc stuff 2008-09-11 22:19:46 +00:00
libisoburn Requiring at least libburn-0.5.8 2008-12-08 12:11:33 +00:00
test Revoked proposal AAIP 0.0 in favor of 0.2 which is nearly like RRIP field SL 2008-11-22 16:44:28 +00:00
xorriso Proper message after failed or refused formatting 2008-12-11 07:24:45 +00:00
acinclude.m4 Fixed initial dummy files placement 2007-09-14 04:32:46 +00:00
AUTHORS Added Thomas and Vreixo as authors 2007-09-14 04:27:38 +00:00
bootstrap Moved source to src/, created bootstrap 2007-09-14 04:14:21 +00:00
configure.ac Requiring at least libburn-0.5.8 2008-12-08 12:11:33 +00:00
CONTRIBUTORS Added dummy authors and contributors files 2007-09-14 04:26:49 +00:00
COPYING Completing documentation 2008-02-14 08:44:29 +00:00
COPYRIGHT Corrected GPL version 2008-04-02 07:44:31 +00:00
INSTALL Completing documentation 2008-02-14 08:44:29 +00:00
libisoburn-1.pc.in Enabled build of dynamically linked xorriso, joined -1.pc club 2008-02-01 19:59:12 +00:00
Makefile.am Got rid of Xorriso_with_regeX 2008-12-08 15:46:17 +00:00
README Requiring at least libburn-0.5.8 2008-12-08 12:11:33 +00:00
TODO Added more tasks to TODO, done some initial build system preparation 2007-09-14 04:41:55 +00:00
version.h.in New API call isoburn_is_compatible() 2008-01-29 18:44:54 +00:00

------------------------------------------------------------------------------
                         http:libburnia-project.org
------------------------------------------------------------------------------
libisoburn. By Vreixo Formoso <metalpain2002@yahoo.es> 
            and Thomas Schmitt <scdbackup@gmx.net>
Integrated sub project of libburnia-project.org.
http://files.libburnia-project.org/releases/libisoburn-0.3.1.tar.gz
Copyright (C) 2006-2008 Vreixo Formoso, Thomas Schmitt.
Provided under GPL version 2.
------------------------------------------------------------------------------

libisoburn is a frontend for libraries libburn and libisofs which enables
creation and expansion of ISO-9660 filesystems on all CD/DVD/BD media supported
by libburn. This includes media like DVD+RW, which do not support multi-session
management on media level and even plain disk files or block devices.

The price for that is thorough specialization on data files in ISO-9660
filesystem images. So libisoburn is not suitable for audio (CD-DA) or any
other CD layout which does not entirely consist of ISO-9660 sessions.

Currently it is supported on Linux with kernels >= 2.4 and on FreeBSD versions
with ATAPI/CAM support enabled in the kernel, see atapicam(4).

By using this software you agree to the disclaimer at the end of this text:
"... without even the implied warranty ..."


                   Compilation, First Glimpse, Installation

Dynamic library and compile time header requirements for libisoburn-0.3.1 :
- libburn.so.4  , version libburn-0.5.8 or higher
- libisofs.so.6 , version libisofs-0.6.12 or higher
libisoburn and xorriso will not start with libraries which are older than their
headers seen at compile time. So compile in the oldest possible installation
setup unless you have reason to enforce a newer bug fix level.

Obtain libisoburn-0.3.1.tar.gz, take it to a directory of your choice
and do:

    tar xzf libisoburn-0.3.1.tar.gz
    cd libisoburn-0.3.1

Within that directory execute:

    ./configure --prefix=/usr
    make

Then become superuser and execute
    make install
which will make available libisoburn.so.1 and program xorriso.

For the API concepts and calls see
    ./libisoburn/libisoburn.h
as well as
    /usr/lib/libisofs/libisofs.h
    /usr/lib/libburn/libburn.h


                              xorriso

libisoburn comes with a command line and dialog application named xorriso,
which offers a substantial part of libisoburn features to shell scripts and
users. Its file xorriso/README describes a standalone tarball as first
preference for statically linked xorriso installation.
The libisoburn installation described above produces a dynamically linked
xorriso binary depending on libburn.so, libisofs.so, libisoburn.so.

After installation documentation is available via
    man xorriso

Several alias links point to the xorriso binary:
    xorrisofs  starts xorriso with -as mkisofs emulation already enabled
    xorrecord  starts xorriso with -as cdrecord emulation already enabled
    osirrox    starts with -osirrox image-to-disk copying already enabled

By default xorriso will depend on libreadline if the readline-dev headers
are present. This dependcy can be avoided by running
    ./configure --prefix=/usr --disable-libreadline
    make clean ; make
Never omit the "make clean" command after switching libreadline enabling.


                       Drives and Disk File Objects 

The user of libisoburn applications needs rw-permission for the CD/DVD burner
devices which shall be used.
A list of rw-accessible drives can be obtained by
    xorriso -devices
resp. by libburn API call
    burn_drive_scan()


A possible source of problems are hald or other automounters. 
If you can spot a process "hald-addon-storage" with the address of
your desired drive, then consider to kill it.

If you cannot get rid of the automounter that easily, try whether it helps
to always load the drive tray manually before starting a write run of
xorriso. Wait until the drive light is off.
Better try to unmount an eventually mounted media before a write run.


Besides true optical drives, libisoburn can also address disk files as input or
output drives. The addresses of the disk files have to be preceded by "stdio:".
Like:
    "stdio:/tmp/pseudo_drive"


                              Testing

We are quite sure that libisofs produces accurate representations of the disk
files. This opinion is founded on a lot of test burns and checks by a little
test program which compares files from the mounted image with the orignals
on disk. It uses the normal POSIX filesystem calls, i.e. no libburnia stuff.

This program is not installed systemwide but stays in the installation
directory of the xorriso tarball as  test/compare_file . Usually it is
run as -exec payload of a find command. It demands at least three arguments:
The path of the file to compare, the prefix1 to be cut off from path
and the prefix2 which gets prepended afterwards to obtain the path of the
second file to compare.
As further argument there can be -no_ctime which suppresses the comparison
of ctime date stamps.
The exit value is 0 if no difference was detected, non-0 else.

Example: After
   xorriso ... -pathspecs on -add /=/original/dir --
   mount /media/dvd
   cd test
compare tree /media/dvd with tree /original/dir :
   find /original/dir -exec ./compare_file '{}' /original/dir /media/dvd ';' \
   | less
and vice versa:
   find /media/dvd -exec ./compare_file '{}' /media/dvd /original/dir ';' \
   | less


------------------------------------------------------------------------------

    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License version 2 as
    published by the Free Software Foundation.

    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

------------------------------------------------------------------------------
Based on and sub project of:
libburnia-project.org
By Mario Danic           <mario.danic@gmail.com>,
   Vreixo Formoso        <metalpain2002@yahoo.es>
   Thomas Schmitt        <scdbackup@gmx.net>
Copyright (C) 2006-2008 Mario Danic, Vreixo Formoso, Thomas Schmitt.

libburnia-project.org is inspired by and in other components still containing
parts of old
Libburn. By Derek Foreman <derek@signalmarketing.com> and
            Ben Jansens <xor@orodu.net>
Copyright (C) 2002-2006  Derek Foreman and Ben Jansens