Compare commits

...

10 Commits

13 changed files with 289 additions and 80 deletions

View File

@ -1,5 +1,4 @@
Developers: Developers:
Mario Danic Mario Danic
Thomas Schmitt
Lorenzo Taylor

1
ChangeLog Normal file
View File

@ -0,0 +1 @@
nothing here now

234
INSTALL Normal file
View File

@ -0,0 +1,234 @@
Installation Instructions
*************************
Copyright (C) 1994, 1995, 1996, 1999, 2000, 2001, 2002, 2004, 2005,
2006 Free Software Foundation, Inc.
This file is free documentation; the Free Software Foundation gives
unlimited permission to copy, distribute and modify it.
Basic Installation
==================
Briefly, the shell commands `./configure; make; make install' should
configure, build, and install this package. The following
more-detailed instructions are generic; see the `README' file for
instructions specific to this package.
The `configure' shell script attempts to guess correct values for
various system-dependent variables used during compilation. It uses
those values to create a `Makefile' in each directory of the package.
It may also create one or more `.h' files containing system-dependent
definitions. Finally, it creates a shell script `config.status' that
you can run in the future to recreate the current configuration, and a
file `config.log' containing compiler output (useful mainly for
debugging `configure').
It can also use an optional file (typically called `config.cache'
and enabled with `--cache-file=config.cache' or simply `-C') that saves
the results of its tests to speed up reconfiguring. Caching is
disabled by default to prevent problems with accidental use of stale
cache files.
If you need to do unusual things to compile the package, please try
to figure out how `configure' could check whether to do them, and mail
diffs or instructions to the address given in the `README' so they can
be considered for the next release. If you are using the cache, and at
some point `config.cache' contains results you don't want to keep, you
may remove or edit it.
The file `configure.ac' (or `configure.in') is used to create
`configure' by a program called `autoconf'. You need `configure.ac' if
you want to change it or regenerate `configure' using a newer version
of `autoconf'.
The simplest way to compile this package is:
1. `cd' to the directory containing the package's source code and type
`./configure' to configure the package for your system.
Running `configure' might take a while. While running, it prints
some messages telling which features it is checking for.
2. Type `make' to compile the package.
3. Optionally, type `make check' to run any self-tests that come with
the package.
4. Type `make install' to install the programs and any data files and
documentation.
5. You can remove the program binaries and object files from the
source code directory by typing `make clean'. To also remove the
files that `configure' created (so you can compile the package for
a different kind of computer), type `make distclean'. There is
also a `make maintainer-clean' target, but that is intended mainly
for the package's developers. If you use it, you may have to get
all sorts of other programs in order to regenerate files that came
with the distribution.
Compilers and Options
=====================
Some systems require unusual options for compilation or linking that the
`configure' script does not know about. Run `./configure --help' for
details on some of the pertinent environment variables.
You can give `configure' initial values for configuration parameters
by setting variables in the command line or in the environment. Here
is an example:
./configure CC=c99 CFLAGS=-g LIBS=-lposix
*Note Defining Variables::, for more details.
Compiling For Multiple Architectures
====================================
You can compile the package for more than one kind of computer at the
same time, by placing the object files for each architecture in their
own directory. To do this, you can use GNU `make'. `cd' to the
directory where you want the object files and executables to go and run
the `configure' script. `configure' automatically checks for the
source code in the directory that `configure' is in and in `..'.
With a non-GNU `make', it is safer to compile the package for one
architecture at a time in the source code directory. After you have
installed the package for one architecture, use `make distclean' before
reconfiguring for another architecture.
Installation Names
==================
By default, `make install' installs the package's commands under
`/usr/local/bin', include files under `/usr/local/include', etc. You
can specify an installation prefix other than `/usr/local' by giving
`configure' the option `--prefix=PREFIX'.
You can specify separate installation prefixes for
architecture-specific files and architecture-independent files. If you
pass the option `--exec-prefix=PREFIX' to `configure', the package uses
PREFIX as the prefix for installing programs and libraries.
Documentation and other data files still use the regular prefix.
In addition, if you use an unusual directory layout you can give
options like `--bindir=DIR' to specify different values for particular
kinds of files. Run `configure --help' for a list of the directories
you can set and what kinds of files go in them.
If the package supports it, you can cause programs to be installed
with an extra prefix or suffix on their names by giving `configure' the
option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'.
Optional Features
=================
Some packages pay attention to `--enable-FEATURE' options to
`configure', where FEATURE indicates an optional part of the package.
They may also pay attention to `--with-PACKAGE' options, where PACKAGE
is something like `gnu-as' or `x' (for the X Window System). The
`README' should mention any `--enable-' and `--with-' options that the
package recognizes.
For packages that use the X Window System, `configure' can usually
find the X include and library files automatically, but if it doesn't,
you can use the `configure' options `--x-includes=DIR' and
`--x-libraries=DIR' to specify their locations.
Specifying the System Type
==========================
There may be some features `configure' cannot figure out automatically,
but needs to determine by the type of machine the package will run on.
Usually, assuming the package is built to be run on the _same_
architectures, `configure' can figure that out, but if it prints a
message saying it cannot guess the machine type, give it the
`--build=TYPE' option. TYPE can either be a short name for the system
type, such as `sun4', or a canonical name which has the form:
CPU-COMPANY-SYSTEM
where SYSTEM can have one of these forms:
OS KERNEL-OS
See the file `config.sub' for the possible values of each field. If
`config.sub' isn't included in this package, then this package doesn't
need to know the machine type.
If you are _building_ compiler tools for cross-compiling, you should
use the option `--target=TYPE' to select the type of system they will
produce code for.
If you want to _use_ a cross compiler, that generates code for a
platform different from the build platform, you should specify the
"host" platform (i.e., that on which the generated programs will
eventually be run) with `--host=TYPE'.
Sharing Defaults
================
If you want to set default values for `configure' scripts to share, you
can create a site shell script called `config.site' that gives default
values for variables like `CC', `cache_file', and `prefix'.
`configure' looks for `PREFIX/share/config.site' if it exists, then
`PREFIX/etc/config.site' if it exists. Or, you can set the
`CONFIG_SITE' environment variable to the location of the site script.
A warning: not all `configure' scripts look for a site script.
Defining Variables
==================
Variables not defined in a site shell script can be set in the
environment passed to `configure'. However, some packages may run
configure again during the build, and the customized values of these
variables may be lost. In order to avoid this problem, you should set
them in the `configure' command line, using `VAR=value'. For example:
./configure CC=/usr/local2/bin/gcc
causes the specified `gcc' to be used as the C compiler (unless it is
overridden in the site shell script).
Unfortunately, this technique does not work for `CONFIG_SHELL' due to
an Autoconf bug. Until the bug is fixed you can use this workaround:
CONFIG_SHELL=/bin/bash /bin/bash ./configure CONFIG_SHELL=/bin/bash
`configure' Invocation
======================
`configure' recognizes the following options to control how it operates.
`--help'
`-h'
Print a summary of the options to `configure', and exit.
`--version'
`-V'
Print the version of Autoconf used to generate the `configure'
script, and exit.
`--cache-file=FILE'
Enable the cache: use and save the results of the tests in FILE,
traditionally `config.cache'. FILE defaults to `/dev/null' to
disable caching.
`--config-cache'
`-C'
Alias for `--cache-file=config.cache'.
`--quiet'
`--silent'
`-q'
Do not print messages saying which checks are being made. To
suppress all normal output, redirect it to `/dev/null' (any error
messages will still be shown).
`--srcdir=DIR'
Look for the package's source code in directory DIR. Usually
`configure' can determine that directory automatically.
`configure' also accepts some other, not widely useful, options. Run
`configure --help' for more details.

View File

@ -106,5 +106,8 @@ EXTRA_DIST = \
AUTHORS \ AUTHORS \
CONTRIBUTORS \ CONTRIBUTORS \
COPYRIGHT \ COPYRIGHT \
COPYING COPYING \
NEWS \
INSTALL \
ChangeLog

1
NEWS Normal file
View File

@ -0,0 +1 @@
nothing here now

58
README
View File

@ -1,10 +1,10 @@
------------------------------------------------------------------------------ ------------------------------------------------------------------------------
libburn.pykix.org libburnia.pykix.org
------------------------------------------------------------------------------ ------------------------------------------------------------------------------
This all is under GPL. This all is under GPL.
(See GPL reference, our clarification and commitment at the end of this text) (See GPL reference, our clarification and commitment at the end of this text)
------------------------------------------------------------------------------ ------------------------------------------------------------------------------
libburn.pykix.org libburnia.pykix.org
By Mario Danic <mario.danic@gmail.com> and Thomas Schmitt <scdbackup@gmx.net> By Mario Danic <mario.danic@gmail.com> and Thomas Schmitt <scdbackup@gmx.net>
Copyright (C) 2006 Mario Danic, Thomas Schmitt Copyright (C) 2006 Mario Danic, Thomas Schmitt
@ -12,14 +12,14 @@ Still containing parts of
Libburn. By Derek Foreman <derek@signalmarketing.com> and Libburn. By Derek Foreman <derek@signalmarketing.com> and
Ben Jansens <xor@orodu.net> Ben Jansens <xor@orodu.net>
Copyright (C) 2002-2006 Derek Foreman and Ben Jansens Copyright (C) 2002-2006 Derek Foreman and Ben Jansens
These parts are to be replaced by own code of above libburn.pykix.org-copyright These parts are to be replaced by own code of above libburnia.pykix.org
holders and then libburn.pykix.org is to be their sole copyright. copyright holders and then libburnia.pykix.org is to be their sole copyright.
This is done to achieve the right to issue the clarification and the This is done to achieve the right to issue the clarification and the
commitment as written at the end of this text. commitment as written at the end of this text.
The rights and merits of the Libburn-copyright holders Derek Foreman and The rights and merits of the Libburn-copyright holders Derek Foreman and
Ben Jansens will be duely respected. Ben Jansens will be duely respected.
This libburn.pykix.org toplevel README (C) 2006 Thomas Schmitt This libburnia.pykix.org toplevel README (C) 2006 Thomas Schmitt
------------------------------------------------------------------------------ ------------------------------------------------------------------------------
Build and Installation Build and Installation
@ -27,14 +27,14 @@ This libburn.pykix.org toplevel README (C) 2006 Thomas Schmitt
Our build system is based on autotools. For preparing the build of a SVN Our build system is based on autotools. For preparing the build of a SVN
snapshot you will need autotools of at least version 1.7. snapshot you will need autotools of at least version 1.7.
Check out from SVN by Check out from SVN by
svn co http://libburn-svn.pykix.org/trunk libburn_pykix svn co http://libburnia-svn.pykix.org/libburn/trunk libburn_pykix
and apply autotools by go into directory libburn_pykix and apply autotools by
./bootstrap ./bootstrap
Alternatively you may unpack a release tarball for which you do not need Alternatively you may unpack a release tarball for which you do not need
autotools installed. autotools installed.
To build libburn.pykix.org and its subprojects it should be sufficient to go To build a libburnia.pykix.org subproject it should be sufficient to go
into its toplevel directory (here: "libburn_pykix") and execute into its toplevel directory (here: "libburn_pykix") and execute
./configure ./configure
make make
@ -42,28 +42,35 @@ into its toplevel directory (here: "libburn_pykix") and execute
To make the libraries accessible for running resp. developing applications To make the libraries accessible for running resp. developing applications
make install make install
The other half of the project, libisofs, is hosted in the libburnia SVN, too:
svn co http://libburnia-svn.pykix.org/libisofs/trunk libisofs_pykix
See README file there.
------------------------------------------------------------------------------ ------------------------------------------------------------------------------
Overview of libburn.pykix.org
libburn.pykix.org is an open-source library for reading, mastering and writing Overview of libburnia.pykix.org
optical discs. For now this means only CD-R and CD-RW.
libburnia.pykix.org is an open-source software project for reading, mastering
and writing optical discs. For now this means only CD-R and CD-RW.
The project comprises of several more or less interdependent parts which The project comprises of several more or less interdependent parts which
together strive to be a usable foundation for application development. together strive to be a usable foundation for application development.
These are libraries, language bindings, and middleware binaries which emulate These are libraries, language bindings, and middleware binaries which emulate
classical (and valuable) Linux tools. classical (and valuable) Linux tools.
Our scope is currently Linux 2.4 and 2.6 and we will have a hard time to widen Our scope is currently Linux 2.4 and 2.6 only. For ports to other systems
this for now, because of our history. The project could need advise from or we would need : login on a development machine resp. a live OS on CD or DVD,
membership of skilled kernel people and people who know how to talk CD/DVD advise from a system person about the equivalent of Linux sg or FreeBSD CAM,
drives into doing things. volunteers for testing of realistic use cases.
We do have a workable code base for burning data CDs, though. The burn API is We do have a workable code base for burning data CDs, though. The burn API is
quite comprehensively documented and can be used to build a presentable quite comprehensively documented and can be used to build a presentable
application. application.
We do have a functional binary which emulates parts of cdrecord in order to We do have a functional binary which emulates parts of cdrecord in order to
prove that usability, and in order to allow you to explore libburn's scope prove that usability, and in order to allow you to explore libburnia's scope
by help of existing cdrecord frontends. by help of existing cdrecord frontends.
The project components (list subject to growth, hopefully): The project components (list subject to growth, hopefully):
@ -158,6 +165,19 @@ Project history as far as known to me:
This version of cdrskin is much more cdrecord compatible in repect This version of cdrskin is much more cdrecord compatible in repect
to drive addressing and audio features. to drive addressing and audio features.
- 30th October 2006 release of cdrskin-0.2.4 .
- 13th November 2006 splitting releases of libburn+cdrskin from libisofs.
- 24th November 2006 release of libburn-0.2.6 and cdrskin-0.2.6 . cdrskin has
become suitable for unaware frontends as long as they perform only the core
of cdrecord use cases (including open-ended input streams, audio, and
multi-session).
- 28th November 2006 the umbrella project which encloses both, libisofs and
libburn, is now called libburnia. For the origin of this name, see
http://en.wikipedia.org/wiki/Liburnians .
------------------------------------------------------------------------------ ------------------------------------------------------------------------------
@ -177,9 +197,9 @@ Project history as far as known to me:
------------------------------------------------------------------------------ ------------------------------------------------------------------------------
Clarification in my name and in the name of Mario Danic, upcoming copyright Clarification in my name and in the name of Mario Danic, upcoming copyright
holders on toplevel of libburn. To be fully in effect after the remaining other holders on toplevel of libburnia. To be fully in effect after the remaining
copyrighted code has been replaced by ours and by copyright-free contributions other copyrighted code has been replaced by ours and by copyright-free
of our friends: contributions of our friends:
------------------------------------------------------------------------------ ------------------------------------------------------------------------------
We, the copyright holders, agree on the interpretation that We, the copyright holders, agree on the interpretation that

View File

@ -1,4 +1,4 @@
AC_INIT([libisofs], [0.2.3], [http://libburn.pykix.org]) AC_INIT([libisofs], [0.2.4], [http://libburnia.pykix.org])
AC_PREREQ([2.50]) AC_PREREQ([2.50])
dnl AC_CONFIG_HEADER([config.h]) dnl AC_CONFIG_HEADER([config.h])
@ -25,7 +25,7 @@ dnl if MAJOR or MINOR version changes, be sure to change AC_INIT above to match
dnl dnl
BURN_MAJOR_VERSION=0 BURN_MAJOR_VERSION=0
BURN_MINOR_VERSION=2 BURN_MINOR_VERSION=2
BURN_MICRO_VERSION=3 BURN_MICRO_VERSION=4
BURN_INTERFACE_AGE=0 BURN_INTERFACE_AGE=0
BURN_BINARY_AGE=0 BURN_BINARY_AGE=0
BURN_VERSION=$BURN_MAJOR_VERSION.$BURN_MINOR_VERSION.$BURN_MICRO_VERSION BURN_VERSION=$BURN_MAJOR_VERSION.$BURN_MINOR_VERSION.$BURN_MICRO_VERSION
@ -63,8 +63,9 @@ AC_C_BIGENDIAN
dnl Large file support dnl Large file support
AC_SYS_LARGEFILE AC_SYS_LARGEFILE
AC_FUNC_FSEEKO AC_FUNC_FSEEKO
AC_CHECK_FUNC([fseeko])
if test ! $ac_cv_func_fseeko; then if test ! $ac_cv_func_fseeko; then
AC_ERROR([Libburn requires largefile support.]) AC_ERROR([Libisofs requires largefile support.])
fi fi
AC_PROG_LIBTOOL AC_PROG_LIBTOOL

View File

@ -120,5 +120,4 @@ Program tar would need a clean EOF which our padded CD cannot deliver.
Click on blue names of functions, structures, variables, etc in oder to Click on blue names of functions, structures, variables, etc in oder to
get to the according specs of libburn API or libburner sourcecode. get to the according specs of libburn API or libburner sourcecode.
@include libburner.c
*/ */

View File

@ -56,8 +56,8 @@ WARN_LOGFILE =
#--------------------------------------------------------------------------- #---------------------------------------------------------------------------
# configuration options related to the input files # configuration options related to the input files
#--------------------------------------------------------------------------- #---------------------------------------------------------------------------
INPUT = libburn libisofs doc test INPUT = libisofs doc
FILE_PATTERNS = libburn.h libisofs.h comments libburner.c FILE_PATTERNS = libisofs.h comments
RECURSIVE = NO RECURSIVE = NO
EXCLUDE = EXCLUDE =
EXCLUDE_SYMLINKS = NO EXCLUDE_SYMLINKS = NO

View File

@ -8,4 +8,4 @@ Description: ISO9660 filesystem creation library
Version: @VERSION@ Version: @VERSION@
Requires: Requires:
Libs: -L${libdir} -lisofs Libs: -L${libdir} -lisofs
Cflags: -I${includedir}/libburn Cflags: -I${includedir}/libisofs

View File

@ -1,49 +0,0 @@
pkgconfigdir=$(libdir)/pkgconfig
libincludedir=$(includedir)/libburn
##bin_PROGRAMS = test
lib_LTLIBRARIES = libisofs.la
libisofs_la_SOURCES = \
tree.h \
tree.c \
volume.h \
volume.c \
util.h \
util.c \
ecma119.c \
ecma119.h \
ecma119_tree.c \
ecma119_tree.h \
susp.h \
susp.c \
rockridge.h \
rockridge.c \
joliet.c \
joliet.h
libinclude_HEADERS = libisofs.h
##test_SOURCES = test.c
##test_LDADD = libisofs.la
##noinst_PROGRAMS = test
##test_SOURCES = test.c
##test_LDADD = $(libisofs_la_OBJECTS)
##INCLUDES = -I../burn/libburn
## ========================================================================= ##
indent_files = $(libisofs_la_SOURCES)
indent: $(indent_files)
indent -bad -bap -nbbb -nbbo -nbc -bli0 -br -bls \
-cdw -ce -cli0 -ncs -nbfda -i8 -l79 -lc79 \
-lp -saf -sai -nprs -npsl -saw -sob -ss -ut \
-sbi0 -nsc -ts8 -npcs -ncdb -fca \
$^
.PHONY: indent
## ========================================================================= ##

View File

@ -75,12 +75,12 @@ int main(int argc, char **argv)
} }
if (argc < 2) { if (argc < 2) {
printf ("must pass directory to build iso from\n"); printf ("Please pass directory from which to build ISO\n");
usage(); usage();
return 1; return 1;
} }
if (argc < 3) { if (argc < 3) {
printf ("must supply output file\n"); printf ("Please supply output file\n");
usage(); usage();
return 1; return 1;
} }

Binary file not shown.