diff --git a/Makefile.am b/Makefile.am index 7715223..620571d 100644 --- a/Makefile.am +++ b/Makefile.am @@ -101,9 +101,9 @@ test_structest_CPPFLAGS = -Ilibburn test_structest_LDADD = $(libburn_libburn_la_OBJECTS) $(THREAD_LIBS) test_structest_SOURCES = test/structest.c -## cdrskin construction site - ts A60816 - A70720 +## cdrskin construction site - ts A60816 - A71024 cdrskin_cdrskin_CPPFLAGS = -Ilibburn -cdrskin_cdrskin_CFLAGS = -DCdrskin_libburn_0_3_9 +cdrskin_cdrskin_CFLAGS = -DCdrskin_libburn_0_4_0 cdrskin_cdrskin_LDADD = $(libburn_libburn_la_OBJECTS) $(THREAD_LIBS) cdrskin_cdrskin_SOURCES = cdrskin/cdrskin.c cdrskin/cdrfifo.c cdrskin/cdrfifo.h cdrskin/cdrskin_timestamp.h ## diff --git a/README b/README index 704fe87..07bde53 100644 --- a/README +++ b/README @@ -204,6 +204,12 @@ Project history as far as known to me: We look back on improved stability, a substantially extended list of media and write modes, and better protection against typical user mishaps. +- 24th October 2007 version 0.4.0 is the foundation of new library libisoburn + and an upcomming integrated application for manipulating and writing + ISO 9660 + Rock Ridge images. cdrskin-0.4.0 got capabilities like growisofs + by these enhancements: growing of overwriteable media and disk files. + Taking again a bow towards Andy Polyakov. + ------------------------------------------------------------------------------ diff --git a/cdrskin/README b/cdrskin/README index 5ba8db2..3d2586e 100644 --- a/cdrskin/README +++ b/cdrskin/README @@ -4,7 +4,7 @@ cdrskin. By Thomas Schmitt Integrated sub project of libburnia-project.org but also published via: http://scdbackup.sourceforge.net/cdrskin_eng.html -http://scdbackup.sourceforge.net/cdrskin-0.3.9.tar.gz +http://scdbackup.sourceforge.net/cdrskin-0.4.0.pl00.tar.gz Copyright (C) 2006-2007 Thomas Schmitt, provided under GPL version 2. ------------------------------------------------------------------------------ @@ -20,10 +20,10 @@ By using this software you agree to the disclaimer at the end of this text Compilation, First Glimpse, Installation -Obtain cdrskin-0.3.9.tar.gz, take it to a directory of your choice and do: +Obtain cdrskin-0.4.0.pl00.tar.gz, take it to a directory of your choice and do: - tar xzf cdrskin-0.3.9.tar.gz - cd cdrskin-0.3.9 + tar xzf cdrskin-0.4.0.pl00.tar.gz + cd cdrskin-0.4.0 Within that directory execute: diff --git a/cdrskin/cdrskin.c b/cdrskin/cdrskin.c index d93de93..ea9cfe8 100644 --- a/cdrskin/cdrskin.c +++ b/cdrskin/cdrskin.c @@ -88,7 +88,7 @@ or /** The official program version */ #ifndef Cdrskin_prog_versioN -#define Cdrskin_prog_versioN "0.3.9" +#define Cdrskin_prog_versioN "0.4.0" #endif /** The source code release timestamp */ @@ -121,27 +121,25 @@ or #endif /* Cdrskin_libburn_cvs_A60220_tS */ -#ifdef Cdrskin_libburn_0_3_8 -#define Cdrskin_libburn_versioN "0.3.8" +#ifdef Cdrskin_libburn_0_4_0 +#define Cdrskin_libburn_versioN "0.4.0" #define Cdrskin_libburn_from_pykix_svN 1 -#endif /* Cdrskin_libburn_0_3_8 */ +#endif /* Cdrskin_libburn_0_4_0 */ -#ifdef Cdrskin_libburn_0_3_9 -#define Cdrskin_libburn_versioN "0.3.9" +#ifdef Cdrskin_libburn_0_4_1 +#define Cdrskin_libburn_versioN "0.4.1" #define Cdrskin_libburn_from_pykix_svN 1 /* Place novelty switch macros here. Move them down to Cdrskin_libburn_from_pykix_svN on version leap */ -#define Cdrskin_libburn_has_random_access_rW 1 -#define Cdrskin_libburn_has_get_drive_rolE 1 -#define Cdrskin_libburn_has_drive_equals_adR 1 +/* there are no novelties in 0.4.1 yet */ -#endif /* Cdrskin_libburn_0_3_9 */ +#endif /* Cdrskin_libburn_0_4_1 */ #ifndef Cdrskin_libburn_versioN -#define Cdrskin_libburn_versioN "0.3.8" +#define Cdrskin_libburn_versioN "0.4.0" #define Cdrskin_libburn_from_pykix_svN 1 #endif @@ -202,6 +200,12 @@ or #define Cdrskin_libburn_has_set_waitinG 1 #define Cdrskin_libburn_has_get_best_speeD 1 +/* 0.4.0 */ +#define Cdrskin_libburn_has_random_access_rW 1 +#define Cdrskin_libburn_has_get_drive_rolE 1 +#define Cdrskin_libburn_has_drive_equals_adR 1 + + #ifdef Cdrskin_new_api_tesT /* put macros under test caveat here */ diff --git a/cdrskin/cdrskin_eng.html b/cdrskin/cdrskin_eng.html index 9401b9b..a3cf404 100644 --- a/cdrskin/cdrskin_eng.html +++ b/cdrskin/cdrskin_eng.html @@ -56,8 +56,9 @@ and to MMC-5 for DVD). GPL software included:
-
libburn-0.3.8
-
(by Derek Foreman, Ben Jansens, and team of libburnia-project.org)
+
libburn-0.4.0
+
(founded by Derek Foreman and Ben Jansens, +furthered by team of libburnia-project.org)
transfers data to CD and DVD

@@ -175,25 +176,25 @@ Testers wanted who are willing to risk some double layer DVD media.

Download as source code (see README):
-
cdrskin-0.3.8.pl00.tar.gz -(615 KB). +
cdrskin-0.4.0.pl00.tar.gz +(680 KB).
-The "stable" cdrskin tarballs are source code identical with "stable" -libburn releases or with "stabilized" libburn SVN snapshots. They get -produced via a different procedure, though.
+The cdrskin tarballs are source code identical with libburn releases +of the same version number. +They get produced via a different procedure, though.
cdrskin is part of libburn - full libburn is provided with cdrskin releases.
 
Download as single x86 binaries (untar and move to /usr/bin/cdrskin):
-
-cdrskin_0.3.8.pl00-x86-suse9_0.tar.gz, (90 KB), +
+cdrskin_0.4.0.pl00-x86-suse9_0.tar.gz, (106 KB),
runs on SuSE 9.0 (2.4.21) , RIP-14.4 (2.6.14) , Gentoo (2.6.15 x86_64 Athlon).
-
-cdrskin_0.3.8.pl00-x86-suse9_0-static.tar.gz, (290 KB), -static compiled, +
+cdrskin_0.4.0.pl00-x86-suse9_0-static.tar.gz, (310 KB), -static compiled,
runs on SuSE 7.2 (2.4.4), and on the systems above.
@@ -220,18 +221,18 @@ cdrskin_0.3.8.pl00-x86-suse9_0-static.tar.gz, (290 KB), -static compiled,

-Enhancements towards previous stable version cdrskin-0.3.6: +Enhancements towards previous stable version cdrskin-0.3.8:

    -
  • Now able to cope with the peculiarities of Linux 2.4 USB
  • -
  • Refusal to perform -dummy runs on media which cannot simulate burning
  • -
  • Precautions against using the burner drive as track source
  • -
  • New option modesty_on_drive= may help with hda -> hdb burns
  • -
  • New option minbuf= , cdrecord compatible frontend of modesty_on_drive=
  • -
  • New option --adjust_speed_to_drive
  • +
  • New option direct_write_amount=
  • +
  • New option --grow_overwriteable_iso
  • +
  • New option --allow_emulated_drives dev=stdio:<path>
  • +
  • More cdrecord options supported: + -format, -inq, -load, -lock, -immed, -waiti
  • +
  • New option fallback_program=
 
-
README 0.3.9 -
cdrskin_0.3.9 --help
-
cdrskin_0.3.9 -help
-
man cdrskin (as of 0.3.9)
+
README 0.4.1 +
cdrskin_0.4.1 --help
+
cdrskin_0.4.1 -help
+
man cdrskin (as of 0.4.1)
 
Maintainers of cdrskin unstable packages please use SVN of libburnia-project.org
@@ -280,15 +276,15 @@ admins with full system souvereignty. upcoming README ):
-cdrskin-0.3.9.tar.gz -(640 KB). +cdrskin-0.4.1.tar.gz +(680 KB).
Binary (untar and move to /usr/bin/cdrskin):
-
-cdrskin_0.3.9-x86-suse9_0.tar.gz, (90 KB). +
+cdrskin_0.4.1-x86-suse9_0.tar.gz, (105 KB).
-
-cdrskin_0.3.9-x86-suse9_0-static.tar.gz, (290 KB) +
+cdrskin_0.4.1-x86-suse9_0-static.tar.gz, (310 KB)

diff --git a/cdrskin/cdrskin_timestamp.h b/cdrskin/cdrskin_timestamp.h index b9caa6e..cf7d79b 100644 --- a/cdrskin/cdrskin_timestamp.h +++ b/cdrskin/cdrskin_timestamp.h @@ -1 +1 @@ -#define Cdrskin_timestamP "2007.10.23.150436" +#define Cdrskin_timestamP "2007.10.24.184233" diff --git a/cdrskin/compile_cdrskin.sh b/cdrskin/compile_cdrskin.sh index c46c343..d873acc 100755 --- a/cdrskin/compile_cdrskin.sh +++ b/cdrskin/compile_cdrskin.sh @@ -7,7 +7,7 @@ debug_opts="-O2" def_opts= largefile_opts="-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE=1" -libvers="-DCdrskin_libburn_0_3_9" +libvers="-DCdrskin_libburn_0_4_0" cleanup_src_or_obj="libburn/cleanup.o" libdax_msgs_o="libburn/libdax_msgs.o" libdax_audioxtr_o="libburn/libdax_audioxtr.o" @@ -33,15 +33,15 @@ do libdax_audioxtr_o= libdax_msgs_o="libburn/message.o" cleanup_src_or_obj="-DCleanup_has_no_libburn_os_H cdrskin/cleanup.c" - elif test "$i" = "-libburn_0_3_8" + elif test "$i" = "-libburn_0_4_0" then - libvers="-DCdrskin_libburn_0_3_8" + libvers="-DCdrskin_libburn_0_4_0" libdax_audioxtr_o="libburn/libdax_audioxtr.o" libdax_msgs_o="libburn/libdax_msgs.o" cleanup_src_or_obj="libburn/cleanup.o" elif test "$i" = "-libburn_svn" then - libvers="-DCdrskin_libburn_0_3_9" + libvers="-DCdrskin_libburn_0_4_1" libdax_audioxtr_o="libburn/libdax_audioxtr.o" libdax_msgs_o="libburn/libdax_msgs.o" cleanup_src_or_obj="libburn/cleanup.o" @@ -76,7 +76,7 @@ do echo " -compile_cdrfifo compile program cdrskin/cdrfifo." echo " -compile_dewav compile program test/dewav without libburn." echo " -cvs_A60220 set macro to match libburn-CVS of 20 Feb 2006." - echo " -libburn_0_3_8 set macro to match libburn-0.3.8." + echo " -libburn_0_4_0 set macro to match libburn-0.4.0." echo " -libburn_svn set macro to match current libburn-SVN." echo " -no_largefile do not use 64 bit off_t (must match libburn)." echo " -do_not_compile_cdrskin omit compilation of cdrskin/cdrskin." diff --git a/cdrskin/wiki_plain.txt b/cdrskin/wiki_plain.txt index d90a229..ae80967 100644 --- a/cdrskin/wiki_plain.txt +++ b/cdrskin/wiki_plain.txt @@ -23,8 +23,7 @@ About libburn API for burning CD and DVD: http://api.libburnia-project.org -------------------------------------------------------------------------- -For dual layer DVD types and for appending sessions to ISO filesystems on -DVD other than DVD-RW, DVD-R, DVD+R see the advise to use dvd+rw-tools at +For dual layer DVD types see the advice to use dvd+rw-tools at the end of this text. -------------------------------------------------------------------------- @@ -80,6 +79,39 @@ controls drive accessability by rw-permissions of the drive rather than by x-permission of the burn binary. To be usable with cdrskin, the drive has to offer both, r- and w-permission. +-------------------------------------------------------------------------- + +cdrskin does not only read from and write to optical drives which comply +to the MMC standard but also does the same with regular files or block +devices other than optical drives. + +Because the power to alter a disk file might be a bad surprise for a +traditional user of cdrecord, it is necessary to give option +--allow_emulated_drives before an emulated drive may be addressed. +Eventually one of the startup files would be a good place for it. +See man page, section FILES. + +The addresses of emulated drives begin with the prefix "stdio:". +{{{ +dev=stdio:/tmp/pseudo_drive +dev=stdio:/dev/usbstick +}}} + +Regular files and block devices behave much like DVD-RAM. + +Other file types may be valid targets for write-only operations. +This includes standard output, named pipes, character devices +{{{ +dev=stdio:/dev/fd/1 +dev=stdio:/tmp/named_pipe +dev=stdio:/dev/ptyxy +}}} + +These files behave much like blank DVD-R. + +All files used as pseudo-drives have to offer rw-permission. + + -------------------------------------------------------------------------- The DVD capabilities of cdrskin differ from those of cdrecord-ProDVD. cdrskin @@ -107,8 +139,9 @@ multi-session, if the drive is capable of "Incremental Streaming" (MMC feature 21h). Used sequential DVD-RW media may be blanked by blank=fast or blank=all which -normally both do full blanking. - +normally both do full blanking. Thus sequential DVD-RW behave much like large +CD-RW with possibly more than 99 tracks. + blank=deformat_sequential does minimal blanking of DVD-RW which usually yields media incapable of "Incremental Streaming". @@ -117,6 +150,13 @@ overwriteable DVD-RW which normally ignore those two options. It also makes option -multi tolerable with media and write modes which are not suitable for multi-session. (The default behavior of cdrskin deems me to be preferrable.) +Option --grow_overwriteable_iso gives cdrskin ISO pseudo-multi-session +capabilities on DVD-RAM and DVD+RW similar to growisofs. +Associated options blank=, -multi, -msinfo and -toc are available in this case. +They either pretend a blank media (if there is no ISO 9660 image) or appendable +media with a single session and track on it. blank= invalidates ISO images. + + -------------------------------------------------------------------------- assert_write_lba= allows to ensure that the start block address which @@ -243,15 +283,11 @@ A special feature of dvd+rw-tools is growing of ISO-9660 filesystems on overwriteable media. This is not the same as multi-session writing of cdrskin with CD media, but retrieves additional information from the existing ISO image and finally manipulates the start sectors of this existing image. -So for growable ISO filesystems on DVD-RAM or DVD+RW growisofs is the only -choice, currently. - -cdrskin can offer DVD multi-session only with sequential DVD-R[W] and with -DVD+R. -Associated options blank=, -multi, -msinfo and -toc are available in this case. -Thus sequential DVD-RW behave much like large CD-RW with possibly more than 99 -tracks. +So, inspired by growisofs, cdrskin can offer DVD multi-session not only with +sequential DVD-R[W] and with DVD+R, but also with DVD-RAM, DVD+RW and +even regular disk files or block devices other than CD/DVD writers. +This is enabled by option --grow_overwriteable_iso. -------------------------------------------------------------------------- diff --git a/configure.ac b/configure.ac index f10626f..e92cada 100644 --- a/configure.ac +++ b/configure.ac @@ -1,4 +1,4 @@ -AC_INIT([libburn], [0.3.9], [http://libburnia-project.org]) +AC_INIT([libburn], [0.4.0], [http://libburnia-project.org]) AC_PREREQ([2.50]) dnl AC_CONFIG_HEADER([config.h]) @@ -18,8 +18,8 @@ dnl dnl if MAJOR or MINOR version changes, be sure to change AC_INIT above to match dnl BURN_MAJOR_VERSION=0 -BURN_MINOR_VERSION=3 -BURN_MICRO_VERSION=9 +BURN_MINOR_VERSION=4 +BURN_MICRO_VERSION=0 BURN_INTERFACE_AGE=0 BURN_BINARY_AGE=0 BURN_VERSION=$BURN_MAJOR_VERSION.$BURN_MINOR_VERSION.$BURN_MICRO_VERSION diff --git a/doc/comments b/doc/comments index e0bef28..3c63047 100644 --- a/doc/comments +++ b/doc/comments @@ -43,6 +43,11 @@ scope by help of existing cdrecord frontends. ISO 9660 disk image. This may then be brought to CD via libburn. libisofs is to be the foundation of our upcoming mkisofs emulation. +- libisoburn is an add-on to libburn and libisofs which allows to grow + ISO-9660 filesystem images on multi-session media as well as + on overwriteable media via the same API. All media peculiarities + are handled automatically. + - cdrskin is a limited cdrecord compatibility wrapper for libburn. cdrecord is a powerful GPL'ed burn program included in Joerg Schilling's cdrtools. cdrskin strives to be a second source for @@ -54,6 +59,13 @@ scope by help of existing cdrecord frontends. runs, though. See cdrskin/README for more. +- xorriso is an upcomming application of all three libraries which creates, + loads, manipulates and writes ISO 9660 filesystem images with + Rock Ridge extensions. Manipulation will not only be adding or + overwriting of files but also deletion, renaming, and attribute + changing. + See SVN of libisoburn, man test/xorriso.1, test/compile_xorriso.sh + - "test" is a collection of application gestures and examples given by the authors of the library features. The burn API example of libburn is named test/libburner.c . The API for media information inquiry is