Compare commits

...

14 Commits

19 changed files with 347 additions and 117 deletions

View File

@ -1,7 +1,16 @@
SVN trunk (to become libburn-0.9.0.pl00.tar.gz)
SVN trunk (to become libburn-1.0.2.pl00.tar.gz)
===============================================================================
- no novelties yet
libburn-1.0.0.pl00.tar.gz Sun Jan 16 2011
===============================================================================
* Allowed umask to create stdio-drive files with rw-permissions for all
* cdrskin now refuses to burn if the foreseeable size exceeds media capacity
libburn-0.9.0.pl00.tar.gz Wed Dec 08 2010
===============================================================================
* Regression fix: SCSI reply data logging was disabled in release 0.8.6
libburn-0.8.8.pl00.tar.gz Wed Oct 20 2010
===============================================================================
* New API call burn_offst_source_new()

View File

@ -117,9 +117,9 @@ test_structest_CPPFLAGS = -Ilibburn
test_structest_LDADD = $(libburn_libburn_la_OBJECTS) $(LIBBURN_EXTRALIBS)
test_structest_SOURCES = test/structest.c
## cdrskin construction site - ts A60816 - B01020
## cdrskin construction site - ts A60816 - B10116
cdrskin_cdrskin_CPPFLAGS = -Ilibburn
cdrskin_cdrskin_CFLAGS = -DCdrskin_libburn_0_8_9
cdrskin_cdrskin_CFLAGS = -DCdrskin_libburn_1_0_0
# cdrskin_cdrskin_LDADD = $(libburn_libburn_la_OBJECTS) $(LIBBURN_EXTRALIBS)
# ts A80123, change proposed by Simon Huggins to cause dynamic libburn linking

43
README
View File

@ -6,12 +6,12 @@ This all is under GPL.
------------------------------------------------------------------------------
libburn-project.org
By Mario Danic <mario.danic@gmail.com> and Thomas Schmitt <scdbackup@gmx.net>
Copyright (C) 2006-2010 Mario Danic, Thomas Schmitt
Copyright (C) 2006-2011 Mario Danic, Thomas Schmitt
Still containing parts of Libburn. By Derek Foreman <derek@signalmarketing.com>
and Ben Jansens <xor@orodu.net>
Copyright (C) 2002-2006 Derek Foreman and Ben Jansens
http://files.libburnia-project.org/releases/libburn-0.8.8.pl00.tar.gz
http://files.libburnia-project.org/releases/libburn-1.0.0.pl00.tar.gz
------------------------------------------------------------------------------
@ -19,10 +19,10 @@ Copyright (C) 2002-2006 Derek Foreman and Ben Jansens
From tarball
Obtain libburn-0.8.8.pl00.tar.gz, take it to a directory of your choice and do:
Obtain libburn-1.0.0.pl00.tar.gz, take it to a directory of your choice and do:
tar xzf libburn-0.8.8.pl00.tar.gz
cd libburn-0.8.8
tar xzf libburn-1.0.0.pl00.tar.gz
cd libburn-1.0.0
./configure --prefix=/usr
make
@ -563,7 +563,38 @@ Project history as far as known to me:
with non-zero offset for ISO 9660 images on USB sticks, improves mkisofs
emulation, and fixes a regression which existed since version 0.4.2.
- Wed Oct 20 2010 libburn-0.8.8 brings minor improvements.
- Wed Oct 20 2010 libburn-0.8.8 can report the used amount of BD spare blocks.
- Sat Oct 23 2010 Version 0.6.38 of libisofs can use libjte to produce jigdo
files along with the ISO image. Further filesystem images may be appended
as MBR partitions 1 to 4. The capability was added to produce boot blocks
for computers with MIPS CPU.
- Tue Oct 26 2010 Release 0.6.4.pl00 of libisoburn and xorriso makes use of
the new libisofs capabilities.
- Wed Dec 08 2010 libburn-0.9.0 fixes a regression with SCSI command logging.
- Fri Dec 10 2010 Version 0.6.40 of libisofs makes the prediction of the
emerging image size less expensive and is able to make images bootable
for SUN SPARC systems.
- Sun Dec 12 2010 Release 0.6.6.pl00 of libisoburn and xorriso can read ISO
images which were copied to a different start address than they were prepared
for.
- Mon Jan 17 2011 we go for release 1.0.0. This does not indicate a
technological overhaul but shall emphasize the maturity of the software.
libisofs-1.0.0 fixes a bug about the length of ECMA-119 directory names and
is ready to allow untranslated ECMA-119 names (violating the specs).
libburn-1.0.0.pl00 allows umask to create stdio-drive files with
rw-permissions for all. cdrskin now refuses to burn if the foreseeable size
exceeds media capacity
libisoburn-1.0.0.pl00 allows to create an ISO 9660:1999 directory tree,
improved the emulation fidelity of command -as mkisofs, lowered the default
abort threshold for xorriso batch mode, and increased that threshold for
xorriso dialog mode.
------------------------------------------------------------------------------

View File

@ -4,9 +4,9 @@
cdrskin. By Thomas Schmitt <scdbackup@gmx.net>
Integrated sub project of libburnia-project.org but also published via:
http://scdbackup.sourceforge.net/cdrskin_eng.html
http://scdbackup.sourceforge.net/cdrskin-0.8.9.tar.gz
http://scdbackup.sourceforge.net/cdrskin-1.0.0.pl00.tar.gz
Copyright (C) 2006-2010 Thomas Schmitt, provided under GPL version 2 or later.
Copyright (C) 2006-2011 Thomas Schmitt, provided under GPL version 2 or later.
------------------------------------------------------------------------------
@ -26,10 +26,10 @@ By using this software you agree to the disclaimer at the end of this text
Compilation, First Glimpse, Installation
Obtain cdrskin-0.8.9.tar.gz, take it to a directory of your choice and do:
Obtain cdrskin-1.0.0.pl00.tar.gz, take it to a directory of your choice and do:
tar xzf cdrskin-0.8.9.tar.gz
cd cdrskin-0.8.9
tar xzf cdrskin-1.0.0.pl00.tar.gz
cd cdrskin-1.0.0
Within that directory execute:

View File

@ -38,7 +38,7 @@ original="./libburn_svn_release.tgz"
# My changes are in $changes , mainly in $changes/cdrskin
changes="./libburn-release"
skin_release="0.8.8"
skin_release="1.0.0"
patch_level=".pl00"
skin_rev="$skin_release""$patch_level"

View File

@ -38,7 +38,7 @@ original="./libburn_svn.tgz"
# My changes are in $changes , mainly in $changes/cdrskin
changes="./libburn-develop"
skin_release="0.8.9"
skin_release="1.0.1"
patch_level=""
skin_rev="$skin_release""$patch_level"

View File

@ -2,7 +2,7 @@
.\" First parameter, NAME, should be all caps
.\" Second parameter, SECTION, should be 1-8, maybe w/ subsection
.\" other parameters are allowed: see man(7), man(1)
.TH CDRSKIN 1 "Aug 21, 2010"
.TH CDRSKIN 1 "Jan 09, 2011"
.\" Please adjust this date whenever revising the manpage.
.\"
.\" Some roff macros, for reference:
@ -554,6 +554,9 @@ which appear to be in the desired blank or format state already.
This option enables a burn run with option -dummy even if libburn believes
that drive and media will not simulate the write mode but will write for real.
.br
It enables a burn run where cdrskin expects to exceed the available media
capacity.
.br
.B Caution:
Use this only when in urgent need.
.TP

View File

@ -1,6 +1,6 @@
/*
cdrskin.c , Copyright 2006-2010 Thomas Schmitt <scdbackup@gmx.net>
cdrskin.c , Copyright 2006-2011 Thomas Schmitt <scdbackup@gmx.net>
Provided under GPL version 2 or later.
A cdrecord compatible command line interface for libburn.
@ -88,20 +88,20 @@ or
/** The official program version */
#ifndef Cdrskin_prog_versioN
#define Cdrskin_prog_versioN "0.8.9"
#define Cdrskin_prog_versioN "1.0.0"
#endif
/** The official libburn interface revision to use.
(May get changed further below)
*/
#ifndef Cdrskin_libburn_majoR
#define Cdrskin_libburn_majoR 0
#define Cdrskin_libburn_majoR 1
#endif
#ifndef Cdrskin_libburn_minoR
#define Cdrskin_libburn_minoR 8
#define Cdrskin_libburn_minoR 0
#endif
#ifndef Cdrskin_libburn_micrO
#define Cdrskin_libburn_micrO 9
#define Cdrskin_libburn_micrO 0
#endif
@ -135,13 +135,13 @@ or
#endif /* Cdrskin_libburn_cvs_A60220_tS */
#ifdef Cdrskin_libburn_0_8_8
#define Cdrskin_libburn_versioN "0.8.8"
#ifdef Cdrskin_libburn_1_0_0
#define Cdrskin_libburn_versioN "1.0.0"
#define Cdrskin_libburn_from_pykix_svN 1
#endif /* Cdrskin_libburn_0_8_8 */
#endif /* Cdrskin_libburn_1_0_0 */
#ifdef Cdrskin_libburn_0_8_9
#define Cdrskin_libburn_versioN "0.8.9"
#ifdef Cdrskin_libburn_1_0_1
#define Cdrskin_libburn_versioN "1.0.1"
#define Cdrskin_libburn_from_pykix_svN 1
/* Place novelty switch macros here.
@ -153,29 +153,29 @@ or
*/
#endif /* Cdrskin_libburn_0_8_9 */
#endif /* Cdrskin_libburn_1_0_1 */
#ifndef Cdrskin_libburn_versioN
#define Cdrskin_libburn_0_8_8
#define Cdrskin_libburn_versioN "0.8.8"
#define Cdrskin_libburn_1_0_0
#define Cdrskin_libburn_versioN "1.0.0"
#define Cdrskin_libburn_from_pykix_svN 1
#endif
#ifdef Cdrskin_libburn_0_8_8
#ifdef Cdrskin_libburn_1_0_0
#undef Cdrskin_libburn_majoR
#undef Cdrskin_libburn_minoR
#undef Cdrskin_libburn_micrO
#define Cdrskin_libburn_majoR 0
#define Cdrskin_libburn_minoR 8
#define Cdrskin_libburn_micrO 8
#define Cdrskin_libburn_majoR 1
#define Cdrskin_libburn_minoR 0
#define Cdrskin_libburn_micrO 0
#endif
#ifdef Cdrskin_libburn_0_8_9
#ifdef Cdrskin_libburn_1_0_1
#undef Cdrskin_libburn_majoR
#undef Cdrskin_libburn_minoR
#undef Cdrskin_libburn_micrO
#define Cdrskin_libburn_majoR 0
#define Cdrskin_libburn_minoR 8
#define Cdrskin_libburn_micrO 9
#define Cdrskin_libburn_majoR 1
#define Cdrskin_libburn_minoR 0
#define Cdrskin_libburn_micrO 1
#endif
@ -7081,6 +7081,10 @@ int Cdrskin_burn(struct CdrskiN *skin, int flag)
double put_counter, get_counter, empty_counter, full_counter;
int total_min_fill, fifo_percent;
#endif
#ifdef Cdrskin_libburn_has_get_spacE
off_t free_space;
char msg[80];
#endif
if(skin->tell_media_space)
doing= "estimating";
@ -7324,17 +7328,12 @@ burn_failed:;
/* write capacity estimation and return without actual burning */
#ifdef Cdrskin_libburn_has_get_spacE
{
off_t free_space;
char msg[80];
free_space= burn_disc_available_space(drive,o);
sprintf(msg,"%d\n",(int) (free_space/(off_t) 2048));
if(skin->preskin->result_fd>=0) {
write(skin->preskin->result_fd,msg,strlen(msg));
} else
printf("%s",msg);
}
free_space= burn_disc_available_space(drive,o);
sprintf(msg,"%d\n",(int) (free_space/(off_t) 2048));
if(skin->preskin->result_fd>=0) {
write(skin->preskin->result_fd,msg,strlen(msg));
} else
printf("%s",msg);
#endif /* Cdrskin_libburn_has_get_spacE */
if(skin->track_counter>0)
@ -7344,6 +7343,23 @@ burn_failed:;
{ret= 1; goto ex;}
}
#ifdef Cdrskin_libburn_has_get_spacE
if(skin->fixed_size > 0 && !skin->force_is_set) {
free_space= burn_disc_available_space(drive,o);
if(skin->fixed_size > free_space && free_space > 0) {
fprintf(stderr,
"cdrskin: FATAL : predicted session size %lus does not fit on media (%lus)\n",
(unsigned long) ((skin->fixed_size + 2047.0) / 2048.0),
(unsigned long) ((free_space + 2047) / 2048));
ClN(fprintf(stderr,
"cdrskin: HINT : This test may be disabled by option -force\n");)
{ret= 0; goto ex;}
}
}
#endif /* Cdrskin_libburn_has_get_spacE */
Cdrskin_adjust_speed(skin,0);
#ifndef Cdrskin_extra_leaN

View File

@ -65,7 +65,7 @@ connected via SCSI, PATA (aka IDE, ATA), USB, or SATA.
GPL software included:<BR>
</H2>
<DL>
<DT>libburn-0.8.8</DT>
<DT>libburn-1.0.0</DT>
<DD>(founded by Derek Foreman and Ben Jansens,
developed and maintained since August 2006 by
Thomas Schmitt from team of libburnia-project.org)
@ -200,7 +200,7 @@ Standalone ISO 9660 multi-session CD/DVD/BD tool
<P>
<DL>
<DT>Download as source code (see README):</DT>
<DD><A HREF="cdrskin-0.8.8.pl00.tar.gz">cdrskin-0.8.8.pl00.tar.gz</A>
<DD><A HREF="cdrskin-1.0.0.pl00.tar.gz">cdrskin-1.0.0.pl00.tar.gz</A>
(870 KB).
</DD>
<DD>
@ -250,17 +250,18 @@ cdrskin_0.4.2.pl00-x86-suse9_0-static.tar.gz</A>, (310 KB), -static compiled,
<HR>
<P>
Enhancements towards previous stable version cdrskin-0.8.6.pl00:
Enhancements towards previous stable version cdrskin-0.9.0.pl00:
<UL>
<LI>
Reporting spare area use of formatted BD media.
<LI>Allowed umask to create stdio-drive files with rw-permissions for all</LI>
<LI>cdrskin now refuses to burn if the foreseeable size exceeds media capacity
</LI>
<!--
<LI>none</LI>
-->
</UL>
Bug fixes towards cdrskin-0.8.6.pl00:
Bug fixes towards cdrskin-0.9.0.pl00:
<UL>
<LI>none</LI>
<!--
@ -272,8 +273,8 @@ Bug fixes towards cdrskin-0.8.6.pl00:
<P>
<DL>
<DT><H3>Development snapshot, version 0.8.9 :</H3></DT>
<DD>Enhancements towards current stable version 0.8.8.pl00:
<DT><H3>Development snapshot, version 1.0.1 :</H3></DT>
<DD>Enhancements towards current stable version 1.0.0.pl00:
<UL>
<LI>none yet</LI>
<!--
@ -283,7 +284,7 @@ Bug fixes towards cdrskin-0.8.6.pl00:
</UL>
</DD>
<DD>Bug fixes towards cdrskin-0.8.8.pl00:
<DD>Bug fixes towards cdrskin-1.0.0.pl00:
<UL>
<LI>none yet</LI>
<!--
@ -293,10 +294,10 @@ Bug fixes towards cdrskin-0.8.6.pl00:
</DD>
<DD>&nbsp;</DD>
<DD><A HREF="README_cdrskin_devel">README 0.8.9</A>
<DD><A HREF="cdrskin__help_devel">cdrskin_0.8.9 --help</A></DD>
<DD><A HREF="cdrskin_help_devel">cdrskin_0.8.9 -help</A></DD>
<DD><A HREF="man_1_cdrskin_devel.html">man cdrskin (as of 0.8.9)</A></DD>
<DD><A HREF="README_cdrskin_devel">README 1.0.1</A>
<DD><A HREF="cdrskin__help_devel">cdrskin-1.0.1 --help</A></DD>
<DD><A HREF="cdrskin_help_devel">cdrskin-1.0.1 -help</A></DD>
<DD><A HREF="man_1_cdrskin_devel.html">man cdrskin (as of 1.0.1)</A></DD>
<DD>&nbsp;</DD>
<DT>Maintainers of cdrskin unstable packages please use SVN of
<A HREF="http://libburnia-project.org"> libburnia-project.org</A></DT>
@ -316,7 +317,7 @@ admins with full system souvereignty.</DT>
<A HREF="README_cdrskin_devel">upcoming README</A> ):
</DD>
<DD>
<A HREF="cdrskin-0.8.9.tar.gz">cdrskin-0.8.9.tar.gz</A>
<A HREF="cdrskin-1.0.1.tar.gz">cdrskin-1.0.1.tar.gz</A>
(870 KB).
</DD>

View File

@ -1 +1 @@
#define Cdrskin_timestamP "2010.11.16.131221"
#define Cdrskin_timestamP "2011.01.16.123001"

View File

@ -8927,16 +8927,170 @@ Made number transition to 0.8.9
+ cdrskin/add_ts_changes_to_libburn_0_8_9
Updated cdrskin tarball generator
20 Oct 2010 []
20 Oct 2010 [3459]
ChangeLog
cdrskin/changelog.txt
Documented changes and release timestamp
20 Oct 2010
svn move -m libburn release 0.8.8 is ready
http://svn.libburnia-project.org/libburn/branches/ZeroEightEight
http://svn.libburnia-project.org/libburn/tags/ZeroEightEight
------------------------------------ cycle - cdrskin-0.8.9 -
------------------------------------ cycle - cdrskin-0.8.9 -
------------------------------------ cycle - cdrskin-0.8.9 - 2010.10.20.134102
2010.10.29.164059 [3474]
libburn/mmc.c
libburn/libdax_msgs.h
Issueing error messages if cache syncing or closing fails
2010.10.29.174455 [3476]
libburn/spc.c
Regression fix: SCSI reply data logging was disabled in rev 3368, 0.8.6
2010.11.16.131221 [3483]
libburn/sg-linux.c
libburn/sg-freebsd.c
libburn/sg-libcdio.c
libburn/sg-solaris.c
Removed outdated development macros
08 Dec 2010 [3502]
svn copy -m Branching for libburn release 0.9.0
http://svn.libburnia-project.org/libburn/trunk
http://svn.libburnia-project.org/libburn/branches/ZeroNineZero
2010.12.08.133001 [3503]
Makefile.am
configure.ac
README
libburn/libburn.h
cdrskin/cdrskin.c
cdrskin/README
cdrskin/compile_cdrskin.sh
cdrskin/cdrskin_timestamp.h
cdrskin/cdrskin_eng.html
Made number transition to 0.9.0
08 Dec 2010 [3504]
- cdrskin/add_ts_changes_to_libburn_0_8_8
- cdrskin/add_ts_changes_to_lisburn_0_8_9
+ cdrskin/add_ts_changes_to_libburn_0_9_0
+ cdrskin/add_ts_changes_to_libburn_0_9_1
Updated cdrskin tarball generator
08 Dec 2010 [3505]
ChangeLog
cdrskin/changelog.txt
Documented changes and release timestamp
------------------------------ release - cdrskin-0.9.0.pl00 - 2010.12.08.133001
Regression fix: SCSI reply data logging was disabled in release 0.8.6
2010.12.08.131934 [3506]
Makefile.am
configure.ac
README
libburn/libburn.h
cdrskin/cdrskin.c
cdrskin/README
cdrskin/compile_cdrskin.sh
cdrskin/cdrskin_timestamp.h
cdrskin/cdrskin_eng.html
Made number transition to 0.9.1
08 Dec 2010 [3507]
- cdrskin/add_ts_changes_to_libburn_0_8_8
- cdrskin/add_ts_changes_to_lisburn_0_8_9
+ cdrskin/add_ts_changes_to_libburn_0_9_0
+ cdrskin/add_ts_changes_to_libburn_0_9_1
Updated cdrskin tarball generator
08 Dec 2010 [3508]
ChangeLog
cdrskin/changelog.txt
Documented changes and release timestamp
08 Dec 2010 [3509]
svn move -m libburn release 0.9.0 is ready
http://svn.libburnia-project.org/libburn/branches/ZeroNineZero
http://svn.libburnia-project.org/libburn/tags/ZeroNineZero
------------------------------------ cycle - cdrskin-0.9.1 - 2010.12.08.154833
2010.12.13.075956 [3522]
configure.ac
Prepending ./configure generated options to CFLAGS rather than appending them
23 Dec 2010 [3528]
doc/comments
Updated API introduction
2010.12.28.071904 [3537]
libburn/write.c
Allowed umask to create stdio-drive files with rw-permissions for all
2011.01.03.195125 [3542]
libburn/write.c
libburn/sector.c
libburn/structure.h
libburn/structure.c
Allowed stdio tracks of known size to end in TAO mode on premature EOF
2011.01.09.135915 [3546]
cdrskin/cdrskin.c
cdrskin/cdrskin.1
Refusing to burn if foreseeable size exceeds media capacity
------------------------------------ cycle - cdrskin-0.9.1 - 2011.01.09.140240
* Allowed umask to create stdio-drive files with rw-permissions for all
* cdrskin now refuses to burn if the foreseeable size exceeds media capacity
09 Jan 2011 [3547]
cdrskin/cdrskin_eng.html
ChangeLog
Updated change log and web page
16 Jan 2011 [3548]
svn copy -m "Branching for libburn release 1.0.0" \
http://svn.libburnia-project.org/libburn/trunk \
http://svn.libburnia-project.org/libburn/1.0.0"
2011.01.16.123001 [3549] [3550]
Makefile.am
configure.ac
README
libburn/libburn.h
cdrskin/cdrskin.c
cdrskin/README
cdrskin/compile_cdrskin.sh
cdrskin/cdrskin_timestamp.h
cdrskin/cdrskin_eng.html
Made number transition to 1.0.0
16 Jan 2011 [3551]
- cdrskin/add_ts_changes_to_libburn_0_9_0
- cdrskin/add_ts_changes_to_libburn_0_9_1
+ cdrskin/add_ts_changes_to_libburn_1_0_0
+ cdrskin/add_ts_changes_to_libburn_1_0_1
Updated cdrskin tarball generator
[]
ChangeLog
cdrskin/changelog.txt
Documented changes and release timestamp
------------------------------ release - cdrskin-1.0.0.pl00 - 2011.01.16.123001
* Allowed umask to create stdio-drive files with rw-permissions for all
* cdrskin now refuses to burn if the foreseeable size exceeds media capacity
------------------------------------ cycle - cdrskin-1.0.1 -
------------------------------------ cycle - cdrskin-1.0.1 -
**********************************************************************
@ -8951,7 +9105,6 @@ Important: When adding a public API function then add its name to file
Better motivation of burn_set_signal_handling() in libburn.h.
-------------------------------- Solaris -----------------------------------
Locking of device files.
@ -8973,11 +9126,6 @@ pntadm -A 10.0.0.24 -f MANUAL -i 010008544255E7 -m 10.0.0.0 -y 10.0.0.0
--------------------------------- bugs -------------------------------------
- recognise sense data format 0x72 rather than 0x70
Key=[1], ASC=[2], ASCQ=[3]
(check libcdio too)
- handle HD DVD profiles 0x50 "HD DVD-ROM", 0x51 "HD DVD-R", 0x52 "HD DVD-RAM"
as readable.

View File

@ -1,14 +1,14 @@
#!/bin/sh
# compile_cdrskin.sh
# Copyright 2005 - 2010 Thomas Schmitt, scdbackup@gmx.net, GPL
# Copyright 2005 - 2011 Thomas Schmitt, scdbackup@gmx.net, GPL
# to be executed within ./libburn-* resp ./cdrskin-*
debug_opts="-O2"
def_opts=
largefile_opts="-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE=1"
fifo_opts=""
libvers="-DCdrskin_libburn_0_8_9"
libvers="-DCdrskin_libburn_1_0_0"
# To be used if Makefile.am uses libburn_libburn_la_CFLAGS
# burn="libburn/libburn_libburn_la-"
@ -47,15 +47,15 @@ do
libdax_audioxtr_o=
libdax_msgs_o="$burn"message.o
cleanup_src_or_obj="-DCleanup_has_no_libburn_os_H cdrskin/cleanup.c"
elif test "$i" = "-libburn_0_8_8"
elif test "$i" = "-libburn_1_0_0"
then
libvers="-DCdrskin_libburn_0_8_8"
libvers="-DCdrskin_libburn_1_0_0"
libdax_audioxtr_o="$burn"libdax_audioxtr.o
libdax_msgs_o="$burn"libdax_msgs.o
cleanup_src_or_obj="$burn"cleanup.o
elif test "$i" = "-libburn_svn"
then
libvers="-DCdrskin_libburn_0_8_9"
libvers="-DCdrskin_libburn_1_0_1"
libdax_audioxtr_o="$burn"libdax_audioxtr.o
libdax_msgs_o="$burn"libdax_msgs.o
cleanup_src_or_obj="$burn"cleanup.o
@ -109,7 +109,7 @@ do
echo "Options:"
echo " -compile_cdrfifo compile program cdrskin/cdrfifo."
echo " -compile_dewav compile program test/dewav without libburn."
echo " -libburn_0_8_8 set macro to match libburn-0.8.8"
echo " -libburn_1_0_0 set macro to match libburn-1.0.0"
echo " -libburn_svn set macro to match current libburn-SVN."
echo " -dvd_obs_64k 64 KB default size for DVD/BD writing."
echo " -use_libcdio link with -lcdio because libburn uses it."

View File

@ -1,4 +1,4 @@
AC_INIT([libburn], [0.8.9], [http://libburnia-project.org])
AC_INIT([libburn], [1.0.0], [http://libburnia-project.org])
AC_PREREQ([2.50])
dnl AC_CONFIG_HEADER([config.h])
@ -9,7 +9,7 @@ LIBBURNIA_SET_FLAGS
AM_INIT_AUTOMAKE([subdir-objects])
dnl Notes by ts A71207 - B00630 :
dnl Notes by ts A71207 - B10116 :
dnl
dnl Regrettably the meaning of the various version types was misunderstood
dnl before version 0.4.1.
@ -85,6 +85,8 @@ dnl 0.8.2 = libburn.so.4.47.0
dnl 0.8.4 = libburn.so.4.49.0
dnl 0.8.6 = libburn.so.4.51.0
dnl 0.8.8 = libburn.so.4.53.0
dnl 0.9.0 = libburn.so.4.55.0
dnl 1.0.0 = libburn.so.4.57.0
dnl
dnl So LT_CURRENT, LT_REVISION and LT_AGE get set directly here.
dnl SONAME of the emerging library is LT_CURRENT - LT_AGE.
@ -108,9 +110,9 @@ dnl
dnl If BURN_*_VERSION changes, be sure to change AC_INIT above to match.
dnl
dnl As said: Only copies. Original in libburn/libburn.h : burn_header_version_*
BURN_MAJOR_VERSION=0
BURN_MINOR_VERSION=8
BURN_MICRO_VERSION=9
BURN_MAJOR_VERSION=1
BURN_MINOR_VERSION=0
BURN_MICRO_VERSION=0
BURN_VERSION=$BURN_MAJOR_VERSION.$BURN_MINOR_VERSION.$BURN_MICRO_VERSION
AC_SUBST(BURN_MAJOR_VERSION)
@ -121,14 +123,14 @@ AC_SUBST(BURN_VERSION)
dnl Libtool versioning
LT_RELEASE=$BURN_MAJOR_VERSION.$BURN_MINOR_VERSION.$BURN_MICRO_VERSION
dnl
dnl ### This is the release version libburn-0.8.8
dnl ### This is the release version libburn-1.0.0
dnl This is the development version after above release version
dnl LT_CURRENT++, LT_AGE++ has not yet happened.
dnl ### LT_CURRENT++, LT_AGE++ has happened meanwhile.
dnl
dnl SONAME = 57 - 53 = 4 . Linux library name = libburn.so.4.53.0
LT_CURRENT=57
LT_AGE=53
dnl SONAME = 61 - 57 = 4 . Linux library name = libburn.so.4.57.0
LT_CURRENT=61
LT_AGE=57
LT_REVISION=0
LT_CURRENT_MINUS_AGE=`expr $LT_CURRENT - $LT_AGE`
@ -186,7 +188,7 @@ AC_CHECK_HEADER(sys/statvfs.h, X=, STATVFS_DEF=)
AC_CHECK_FUNC([statvfs], X=, STATVFS_DEF=)
dnl If this would be done more specifically in Makefile.am
dnl via libburn_libburn_la_CFLAGS then undesired .o file names would emerge
CFLAGS="$CFLAGS $STATVFS_DEF"
CFLAGS="$STATVFS_DEF $CFLAGS"
dnl ts A91122
AC_ARG_ENABLE(track-src-odirect,
@ -201,7 +203,7 @@ else
fi
dnl Avoid the need for libburn_libburn_la_CFLAGS in Makefile.am (ugly .o names)
dnl ### AC_SUBST(LIBBURN_O_DIRECT_DEF)
CFLAGS="$CFLAGS $LIBBURN_O_DIRECT_DEF"
CFLAGS="$LIBBURN_O_DIRECT_DEF $CFLAGS"
dnl ts A91116
AC_ARG_ENABLE(dvd-obs-64k,
@ -214,7 +216,7 @@ else
LIBBURN_DVD_OBS_64K=
echo "disabled write size default 64 KB on DVD and BD"
fi
CFLAGS="$CFLAGS $LIBBURN_DVD_OBS_64K"
CFLAGS="$LIBBURN_DVD_OBS_64K $CFLAGS"
dnl ts A91218
AC_ARG_ENABLE(libcdio,
@ -237,7 +239,7 @@ then
fi
else
echo "enabled EXPERIMENTAL use of libcdio as system adapter"
CFLAGS="$CFLAGS $LIBCDIO_DEF"
CFLAGS="$LIBCDIO_DEF $CFLAGS"
LIBCDIO_REQUIRED=0.83
PKG_CHECK_MODULES(LIBCDIO, libcdio >= $LIBCDIO_REQUIRED)
@ -285,15 +287,15 @@ AC_ARG_ENABLE(debug,
, enable_debug=yes)
if test x$enable_debug != xyes; then
if test x$GCC = xyes; then
CFLAGS="$CFLAGS -O3"
CFLAGS="$CFLAGS -fexpensive-optimizations"
CFLAGS="-O3 $CFLAGS"
CFLAGS="-fexpensive-optimizations $CFLAGS"
fi
CFLAGS="$CFLAGS -DNDEBUG"
CFLAGS="-DNDEBUG $CFLAGS"
else
if test x$GCC = xyes; then
CFLAGS="$CFLAGS -g -pedantic -Wall"
CFLAGS="-g -pedantic -Wall $CFLAGS"
fi
CFLAGS="$CFLAGS -DDEBUG"
CFLAGS="-DDEBUG $CFLAGS"
fi
dnl Determine target directory for libburn-*.pc

View File

@ -8,14 +8,13 @@
Libburnia is an open-source project for reading, mastering and writing
optical discs. This page is about its capability to handle optical media.
For now this means CD-R, CD-RW, DVD-RAM, DVD+RW, DVD+R, DVD+R/DL, DVD-RW,
DVD-R, BD-R, BD-RE.
DVD-R, DVD-R/DL, BD-R, BD-RE.
Not supported yet are DVD-R/DL. Testers wanted.
Our scope is currently Linux 2.4 and 2.6, or FreeBSD . For ports to other
systems we would need : login on a development machine resp. a live OS on CD
or DVD, advise from a system person about the equivalent of Linux sg or FreeBSD
CAM, volunteers for testing of realistic use cases.
Our scope is currently Linux 2.4 and 2.6, or FreeBSD, or Solaris . For ports
to other systems we would need : login on a development machine resp.
an OS ithat is installable on an AMD 64-bit PC, advise from a system person
about the equivalent of Linux sg or FreeBSD CAM, volunteers for testing of
realistic use cases.
libburn is the library by which preformatted data get onto optical media.
Its code is independent of cdrecord. Its DVD capabilities are learned from

View File

@ -1,7 +1,7 @@
/* -*- indent-tabs-mode: t; tab-width: 8; c-basic-offset: 8; -*- */
/* Copyright (c) 2004 - 2006 Derek Foreman, Ben Jansens
Copyright (c) 2006 - 2010 Thomas Schmitt <scdbackup@gmx.net>
Copyright (c) 2006 - 2011 Thomas Schmitt <scdbackup@gmx.net>
Provided under GPL version 2 or later.
This is the official API definition of libburn.
@ -2690,9 +2690,9 @@ void burn_version(int *major, int *minor, int *micro);
}
*/
#define burn_header_version_major 0
#define burn_header_version_minor 8
#define burn_header_version_micro 9
#define burn_header_version_major 1
#define burn_header_version_minor 0
#define burn_header_version_micro 0
/** Note:
Above version numbers are also recorded in configure.ac because libtool
wants them as parameters at build time.

View File

@ -1,7 +1,7 @@
/* -*- indent-tabs-mode: t; tab-width: 8; c-basic-offset: 8; -*- */
/* Copyright (c) 2004 - 2006 Derek Foreman, Ben Jansens
Copyright (c) 2006 - 2010 Thomas Schmitt <scdbackup@gmx.net>
Copyright (c) 2006 - 2011 Thomas Schmitt <scdbackup@gmx.net>
Provided under GPL version 2 or later.
*/
@ -179,10 +179,14 @@ static void get_bytes(struct burn_track *track, int count, unsigned char *data)
if (!shortage)
goto ex;
/* ts A61031 */
/* ts A61031 - B10103 */
if (shortage >= count)
track->track_data_done = 1;
if (track->open_ended)
if (track->end_on_premature_eoi && !track->open_ended) {
/* Memorize that premature end of input happened */
track->end_on_premature_eoi = 2;
}
if (track->open_ended || track->end_on_premature_eoi)
goto ex;
/* If we're still short, and there's a "next" pointer, we pull from that.
@ -688,7 +692,7 @@ int sector_data(struct burn_write_opts *o, struct burn_track *t, int psub)
return 0;
/* ts A61031 */
if (t->open_ended && t->track_data_done) {
if ((t->open_ended || t->end_on_premature_eoi) && t->track_data_done) {
unget_sector(o, t->mode);
return 2;
}

View File

@ -1,6 +1,6 @@
/* Copyright (c) 2004 - 2006 Derek Foreman, Ben Jansens
Copyright (c) 2006 - 2010 Thomas Schmitt <scdbackup@gmx.net>
Copyright (c) 2006 - 2011 Thomas Schmitt <scdbackup@gmx.net>
Provided under GPL version 2 or later.
*/
@ -170,6 +170,8 @@ struct burn_track *burn_track_create(void)
/* ts A61031 */
t->open_ended = 0;
t->track_data_done = 0;
/* ts B10103 */
t->end_on_premature_eoi = 0;
t->postgap = 0;
t->pregap1 = 0;

View File

@ -1,6 +1,6 @@
/* Copyright (c) 2004 - 2006 Derek Foreman, Ben Jansens
Copyright (c) 2006 - 2010 Thomas Schmitt <scdbackup@gmx.net>
Copyright (c) 2006 - 2011 Thomas Schmitt <scdbackup@gmx.net>
Provided under GPL version 2 or later.
*/
@ -55,6 +55,14 @@ struct burn_track
int open_ended;
/** End of open ended track flag : offset+payload+tail are delivered */
int track_data_done;
/* ts B10103 */
/** End track writing on premature End-of-input if source is of
defined length.
0= normal operation in case of eoi
1= be ready to end track writing on eoi
2= eoi was encountered with previously set value of 1
*/
int end_on_premature_eoi;
/** The audio/data mode for the entry. Derived from control and
possibly from reading the track's first sector. */

View File

@ -1,7 +1,7 @@
/* -*- indent-tabs-mode: t; tab-width: 8; c-basic-offset: 8; -*- */
/* Copyright (c) 2004 - 2006 Derek Foreman, Ben Jansens
Copyright (c) 2006 - 2010 Thomas Schmitt <scdbackup@gmx.net>
Copyright (c) 2006 - 2011 Thomas Schmitt <scdbackup@gmx.net>
Provided under GPL version 2 or later.
*/
@ -2024,7 +2024,8 @@ int burn_stdio_open_write(struct burn_drive *d, off_t start_byte,
int sector_size, int flag)
{
/* <<< We need _LARGEFILE64_SOURCE defined by the build system.
/* We normally need _LARGEFILE64_SOURCE defined by the build system.
Nevertheless the system might use large address integers by default.
*/
#ifndef O_LARGEFILE
#define O_LARGEFILE 0
@ -2040,7 +2041,8 @@ int burn_stdio_open_write(struct burn_drive *d, off_t start_byte,
if (fd >= 0)
fd = dup(fd); /* check validity and make closeable */
else
fd = open(d->devname, mode, S_IRUSR | S_IWUSR);
fd = open(d->devname, mode,
S_IRUSR | S_IWUSR | S_IRGRP | S_IWGRP | S_IROTH | S_IWOTH);
if (fd == -1) {
libdax_msgs_submit(libdax_messenger, d->global_index,
0x00020005,
@ -2255,6 +2257,8 @@ int burn_stdio_write_track(struct burn_write_opts *o, struct burn_session *s,
burn_disc_init_track_status(o, s, tnum, sectors);
open_ended = burn_track_is_open_ended(t);
t->end_on_premature_eoi = (o->write_type == BURN_WRITE_TAO);
/* attach stdio emulators for mmc_*() functions */
if (o->simulate)
d->write = burn_stdio_mmc_dummy_write;
@ -2267,8 +2271,9 @@ int burn_stdio_write_track(struct burn_write_opts *o, struct burn_session *s,
/* transact a (CD sized) sector */
if (!sector_data(o, t, 0))
{ret= 0; goto ex;}
if (open_ended) {
if (open_ended)
d->progress.sectors = sectors = d->progress.sector;
if (open_ended || t->end_on_premature_eoi) {
if (burn_track_is_data_done(t))
break;
}
@ -2295,6 +2300,8 @@ int burn_stdio_write_track(struct burn_write_opts *o, struct burn_session *s,
ex:;
if (d->cancel)
burn_source_cancel(t->source);
if (t->end_on_premature_eoi == 2)
d->cancel = 1;
return ret;
}