Made number transition and activated development documentation

Thomas Schmitt 16 years ago
parent 660bf40a3c
commit ba7cd6d66e

@ -103,7 +103,7 @@ test_structest_SOURCES = test/structest.c
## cdrskin construction site - ts A60816 - A70312
cdrskin_cdrskin_CPPFLAGS = -Ilibburn
cdrskin_cdrskin_CFLAGS = -DCdrskin_libburn_0_3_5
cdrskin_cdrskin_CFLAGS = -DCdrskin_libburn_0_3_7
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

@ -197,6 +197,8 @@ Project history as far as known to me:
DVD media. Code for double layer DVD+/-R is implemented but awaits a tester
- 23th April 2000 version 0.3.6 follows the unanimous opinion of Linux kernel
people that one should not use /dev/sg on kernel 2.6.

@ -26,12 +26,12 @@ following possible.
cdrskin. By Thomas Schmitt <>
Integrated sub project of but also published via:
Copyright (C) 2006-2007 Thomas Schmitt
On top of libburn there is implemented cdrskin 0.3.5, a limited cdrecord
On top of libburn there is implemented cdrskin 0.3.7, a limited cdrecord
compatibility wrapper which allows to use some libburn features from
the command line.
Interested users of cdrecord are invited to participate in the development
@ -59,16 +59,16 @@ systems, including 64 bit systems. (Further reports are welcome.)
Compilation, First Glimpse, Installation
Obtain cdrskin-0.3.5.tar.gz, take it to a directory of your choice and do:
Obtain cdrskin-0.3.7.tar.gz, take it to a directory of your choice and do:
tar xzf cdrskin-0.3.5.tar.gz
cd cdrskin-0.3.5
tar xzf cdrskin-0.3.7.tar.gz
cd cdrskin-0.3.7
Or obtain a SVN snapshot,
go into the toplevel directory of the snapshot (e.g. cd libburn_pykix ),
and execute the autotools script ./bootstrap . Use autools version >= 1.7 .
Within that toplevel directory of either cdrskin-0.3.5 or libburn then execute:
Within that toplevel directory of either cdrskin-0.3.7 or libburn then execute:
@ -126,16 +126,16 @@ The superuser should be able to see any usable drive and then set the
permissions as needed. If this hangs then there is a drive with
unexpected problems (locked, busy, broken, whatever). You might have to
guess the address of your (non-broken) burner by other means, then.
On Linux 2.4 this would be some /dev/sgN and on 2.6. some /dev/hdX.
On Linux 2.4 this would be some /dev/sgN and on 2.6. some /dev/srM or /dev/hdX.
The output of cdrskin --devices might look like
0 dev='/dev/sg0' rwrwr- : '_NEC' 'DVD_RW ND-4570A'
1 dev='/dev/sg1' rwrw-- : 'HL-DT-ST' 'DVDRAM GSA-4082B'
0 dev='/dev/sr0' rwrwr- : '_NEC' 'DVD_RW ND-4570A'
1 dev='/dev/sr1' rwrw-- : 'HL-DT-ST' 'DVDRAM GSA-4082B'
So full and insecure enabling of both for everybody would look like
chmod a+rw /dev/sg0 /dev/sg1
chmod a+rw /dev/sr0 /dev/sr1
I strongly discourage to run cdrskin with setuid root or via sudo !
It is not checked for the necessary degree of hacker safety.
@ -152,7 +152,7 @@ Get an overview of cdrecord style addresses of available devices
cdrskin --devices
Adresses reported with dev=ATA need prefix "ATA:". Address examples:
dev=0,1,0 dev=ATA:1,0,0 dev=/dev/sg1 dev=/dev/hdc
dev=0,1,0 dev=ATA:1,0,0 dev=/dev/sg1 dev=/dev/hdc dev=/dev/sr0
See also "Drive Addressing" below.
Obtain some info about the drive
@ -210,7 +210,7 @@ cdrskin -scanbus (and hopefully as listed with cdrecord -scanbus) :
or a device file address as listed by --devices with an accessible drive :
export SCDBACKUP_SCSI_ADR="/dev/sg1"
export SCDBACKUP_SCSI_ADR="/dev/sr1"
Set usage of cdrskin with appropriate options rather than cdrecord :
@ -272,8 +272,8 @@ the meaning of the components. A cdrecord-style address for cdrskin
can be interpreted in two different modes.
Standard mode tries to be compatible to original cdrecord. This should be true
with (emulated) SCSI where the /dev/sgN with is looked up with matching
scsibus,target,lun as given by the operating system.
with (emulated) SCSI where the device file /dev/s[rg]N with is looked up with
matching scsibus,target,lun as given by the operating system.
With dev=ATA: or dev=ATAPI: the translation to /dev/hdX is purely literal
but matches the cdrecord addresses on all systems tested so far:
X = 'a' + 2 * scsibus + target
@ -293,8 +293,8 @@ Component "scsibus" indicates the translation method. Defined busses are:
1 associated to device file /dev/sgN , target chooses N
2 associated to device file /dev/hdX , target 0='a', 1='b' ..., 25='z'
So "1,1,0" is /dev/sg1, "2,3,0" is /dev/hdd, "0,2,0" is libburn drive #2 at
some unspecified device file.
So "1,1,0" is /dev/sg1 (resp. its /dev/sr*), "2,3,0" is /dev/hdd,
"0,2,0" is libburn drive #2 at some unspecified device file.
This scheme shall help to keep cdrecord-style addresses stable and exchangeable
between users without excluding drives with unexpected device addresses.
The numbering on bus 0 is prone to arbitrary changes caused by changes in
@ -314,12 +314,12 @@ Old frontends which do not know dev=ATA or dev=ATAPI and which do ask their
To direct any remaining stubborn callers to the appropriate drives, cdrskin
allows to define device address aliases. Like
cdrskin dev_translation=+1,0,0+/dev/sg1 \
dev_translation=+ATA:1,0,0+/dev/sg1 \
cdrskin dev_translation=+1,0,0+/dev/sr1 \
dev_translation=+ATA:1,0,0+/dev/sr1 \
dev_translation=-"cd+dvd"-0,1,0 \
Any of the addresses dev=1,0,0, dev=ATA:1,0,0, dev=cd+dvd will be mapped to
/dev/sg1 resp. to 0,1,0.
/dev/sr1 resp. to 0,1,0.
The first character after "dev_translation=" defines the character which
separates the two parts of the translation pair. (Above: "+" and "-".)
@ -331,7 +331,7 @@ and to make them default in menu
A suitable setting for "cdrecord" in menu
Settings:Configure K3b...:Programs:User Parameters
would then probably be
-v dev_translation=+1,0,0+/dev/sg1
-v dev_translation=+1,0,0+/dev/sr1
You will learn from button "Show Debugging Output" after a failed burn run
what cdrecord command was used with what address "dev=...". This address "..."
will be the right one to replace "1,0,0" in above example.

@ -86,7 +86,7 @@ or
/** The official program version */
#ifndef Cdrskin_prog_versioN
#define Cdrskin_prog_versioN "0.3.5"
#define Cdrskin_prog_versioN "0.3.7"
/** The source code release timestamp */
@ -119,25 +119,24 @@ or
#endif /* Cdrskin_libburn_cvs_A60220_tS */
#ifdef Cdrskin_libburn_0_3_4
#define Cdrskin_libburn_versioN "0.3.4"
#ifdef Cdrskin_libburn_0_3_6
#define Cdrskin_libburn_versioN "0.3.6"
#define Cdrskin_libburn_from_pykix_svN 1
#endif /* Cdrskin_libburn_0_3_4 */
#endif /* Cdrskin_libburn_0_3_6 */
#ifdef Cdrskin_libburn_0_3_5
#define Cdrskin_libburn_versioN "0.3.5"
#ifdef Cdrskin_libburn_0_3_7
#define Cdrskin_libburn_versioN "0.3.7"
#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_preset_device_familY 1
#define Cdrskin_libburn_has_track_set_sizE 1
/* - no novelty switches currently - */
#endif /* Cdrskin_libburn_0_3_5 */
#endif /* Cdrskin_libburn_0_3_7 */
#ifndef Cdrskin_libburn_versioN
#define Cdrskin_libburn_versioN "0.3.4"
#define Cdrskin_libburn_versioN "0.3.6"
#define Cdrskin_libburn_from_pykix_svN 1
@ -190,6 +189,10 @@ or
#define Cdrskin_libburn_has_allow_untested_profileS 1
#define Cdrskin_libburn_has_set_forcE 1
/* 0.3.6 */
#define Cdrskin_libburn_preset_device_familY 1
#define Cdrskin_libburn_has_track_set_sizE 1
#ifdef Cdrskin_new_api_tesT
/* put macros under test caveat here */

@ -56,9 +56,9 @@ and to MMC-5 for DVD).
GPL software included:<BR>
<DD>(by Derek Foreman, Ben Jansens, and team of</DD>
<DD>transfers data to CD</DD>
<DD>transfers data to CD and DVD</DD>
@ -98,7 +98,7 @@ wishes as well as on the development of libburn.</DT>
<DD>#<KBD>&nbsp;cdrskin -scanbus</KBD></DD>
<DD>#<KBD>&nbsp;cdrskin dev=ATA -scanbus</KBD></DD>
<DD>#<KBD>&nbsp;cdrskin --devices</KBD></DD>
<DT>Being superuser avoids permission problems with /dev/sgN resp. /dev/hdX .
<DT>Being superuser avoids permission problems with /dev/srN resp. /dev/hdX .
<DT>Ordinary users should then get granted rw access to the /dev files
as listed by option --devices.</DT>
@ -178,8 +178,8 @@ man cdrecord</A></KBD></DD>
<DT>Download as source code (see README):</DT>
<DD><A HREF="cdrskin-0.3.4.pl00.tar.gz">cdrskin-0.3.4.pl00.tar.gz</A>
(590 KB).
<DD><A HREF="cdrskin-0.3.6.pl00.tar.gz">cdrskin-0.3.6.pl00.tar.gz</A>
(605 KB).
The "stable" cdrskin tarballs are source code identical with "stable"
@ -189,14 +189,14 @@ cdrskin is part of libburn - full libburn is provided with cdrskin releases.
<DT>Download as single x86 binaries (untar and move to /usr/bin/cdrskin):</DT>
<DD><A HREF="cdrskin_0.3.4.pl00-x86-suse9_0.tar.gz">
cdrskin_0.3.4.pl00-x86-suse9_0.tar.gz</A>, (85 KB),
<DD><A HREF="cdrskin_0.3.6.pl00-x86-suse9_0.tar.gz">
cdrskin_0.3.6.pl00-x86-suse9_0.tar.gz</A>, (90 KB),
<DD>runs on SuSE 9.0 (2.4.21) , RIP-14.4 (2.6.14) ,
Gentoo (2.6.15 x86_64 Athlon).</DD>
<DD><A HREF="cdrskin_0.3.4.pl00-x86-suse9_0-static.tar.gz">
cdrskin_0.3.4.pl00-x86-suse9_0-static.tar.gz</A>, (285 KB), -static compiled,
<DD><A HREF="cdrskin_0.3.6.pl00-x86-suse9_0-static.tar.gz">
cdrskin_0.3.6.pl00-x86-suse9_0-static.tar.gz</A>, (290 KB), -static compiled,
<DD>runs on SuSE 7.2 (2.4.4), and on the systems above.</DD>
@ -223,17 +223,16 @@ cdrskin_0.3.4.pl00-x86-suse9_0-static.tar.gz</A>, (285 KB), -static compiled,
Enhancements towards previous stable version cdrskin-0.3.2:
Enhancements towards previous stable version cdrskin-0.3.4:
<LI>Multi-session burning to DVD+R</LI>
<LI>New option --tell_media_space tells the maximum size for the next burn</LI>
<LI>New option assert_write_lba=0 prevents inadverted writing to appendable
<LI>Bug fix: Multi-track runs with fifo could stall in rare cases</LI>
<LI>Use of /dev/srN rather than /dev/sgN on Linux >= 2.6</LI>
<LI>Option drive_scsi_dev_family=sr|scd|sg to select explicitely</LI>
<LI>Option -isosize is supported now</LI>
<LI>DVD+R now get finalized (if not -multi is given)</LI>
Bug fixes towards cdrskin-0.3.4.pl00:
Bug fixes towards cdrskin-0.3.6.pl00:
<LI>none yet</LI>
@ -245,19 +244,17 @@ media</LI>
<DT><H3>Development snapshot, version 0.3.5 :</H3></DT>
<DD>Enhancements towards stable version 0.3.4.pl00:
<DT><H3>Development snapshot, version 0.3.7 :</H3></DT>
<DD>Enhancements towards stable version 0.3.6.pl00:
<LI>Usage of /dev/srN rather than /dev/sgN on Linux >= 2.6</LI>
<LI>Option drive_scsi_dev_family=sr|scd|sg to select explicitely</LI>
<LI>Option -isosize is supported now</LI>
<LI>-none yet-</LI>
<DD><A HREF="README_cdrskin_devel">README 0.3.5</A>
<DD><A HREF="cdrskin__help_devel">cdrskin_0.3.5 --help</A></DD>
<DD><A HREF="cdrskin_help_devel">cdrskin_0.3.5 -help</A></DD>
<DD><A HREF="man_1_cdrskin_devel.html">man cdrskin (as of 0.3.5)</A></DD>
<DD><A HREF="README_cdrskin_devel">README 0.3.7</A>
<DD><A HREF="cdrskin__help_devel">cdrskin_0.3.7 --help</A></DD>
<DD><A HREF="cdrskin_help_devel">cdrskin_0.3.7 -help</A></DD>
<DD><A HREF="man_1_cdrskin_devel.html">man cdrskin (as of 0.3.7)</A></DD>
<DT>Maintainers of cdrskin unstable packages please use SVN of
<A HREF=""></A></DT>
@ -277,15 +274,15 @@ admins with full system souvereignty.</DT>
<A HREF="README_cdrskin_devel">upcoming README</A> ):
<A HREF="cdrskin-0.3.5.tar.gz">cdrskin-0.3.5.tar.gz</A>
(590 KB).
<A HREF="cdrskin-0.3.7.tar.gz">cdrskin-0.3.7.tar.gz</A>
(605 KB).
<DD>Binary (untar and move to /usr/bin/cdrskin):</DD>
<DD><A HREF="cdrskin_0.3.5-x86-suse9_0.tar.gz">
cdrskin_0.3.5-x86-suse9_0.tar.gz</A>, (85 KB).
<DD><A HREF="cdrskin_0.3.7-x86-suse9_0.tar.gz">
cdrskin_0.3.7-x86-suse9_0.tar.gz</A>, (90 KB).
<DD><A HREF="cdrskin_0.3.5-x86-suse9_0-static.tar.gz">
cdrskin_0.3.5-x86-suse9_0-static.tar.gz</A>, (285 KB)
<DD><A HREF="cdrskin_0.3.7-x86-suse9_0-static.tar.gz">
cdrskin_0.3.7-x86-suse9_0-static.tar.gz</A>, (285 KB)
@ -313,13 +310,13 @@ provide libburn with invaluable examples on how to deal with DVD media.
<DT>Example for a setup of device permissions. To be done by the superuser:</DT>
<DT>(CD devices which offer no r-permission are invisible to normal users.)</DT>
<DT>(CD devices which offer no w-permission are not useable.)</DT>
<DT>(CD devices which offer no rw-permission are invisible to normal users.)
<DD># <KBD><B>cdrskin --devices</B></KBD></DD>
<DD><KBD>0&nbsp; dev='/dev/sg0'&nbsp; rwrwr- :&nbsp; 'TEAC' 'CD-ROM CD-532S'</KBD></DD>
<DD><KBD>0&nbsp; dev='/dev/sr0'&nbsp; rwrwr- :&nbsp; 'TEAC' 'CD-ROM CD-532S'</KBD></DD>
<DD><KBD>1&nbsp; dev='/dev/hdc'&nbsp; rwrw-- :&nbsp; 'LITE-ON' 'LTR-48125S'</KBD></DD>
<DD># <KBD><B>chmod a+rw /dev/sg0 /dev/hdc</B></KBD></DD>
<DD># <KBD><B>chmod a+rw /dev/sr0 /dev/hdc</B></KBD></DD>
@ -356,7 +353,7 @@ is a GUI frontend which uses cdrecord for CD burning.)
<DD><KBD>cdrskin 0.3.4 : limited cdrecord compatibility wrapper for libburn</KBD></DD>
<DD><KBD>cdrskin 0.3.6 : limited cdrecord compatibility wrapper for libburn</KBD></DD>
If your system is stricken with some ill CD device then this can stall
and you will have to press <KBD>Ctrl+C</KBD> to abort.

@ -1 +1 @@
#define Cdrskin_timestamP "2007.04.18.103734"
#define Cdrskin_timestamP "2007.04.23.154600"

@ -7,7 +7,7 @@
@ -33,15 +33,15 @@ do
cleanup_src_or_obj="-DCleanup_has_no_libburn_os_H cdrskin/cleanup.c"
elif test "$i" = "-libburn_0_3_4"
elif test "$i" = "-libburn_0_3_6"
elif test "$i" = "-libburn_svn"
@ -79,7 +79,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_4 set macro to match libburn-0.3.4."
echo " -libburn_0_3_6 set macro to match libburn-0.3.6."
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."

@ -67,7 +67,7 @@ and displays their detected properties.
The drives are listed one per line, with fields:
libburn-drive-number, sysadmin-device-file, permissions, vendor, type
0 dev='/dev/sg0' rwrw-- : 'HL-DT-ST' 'DVDRAM GSA-4082B'
0 dev='/dev/sr0' rwrw-- : 'HL-DT-ST' 'DVDRAM GSA-4082B'
This feature is valuable since cdrskin -scanbus will not give you
the device file name and its current permissions.

@ -1,4 +1,4 @@
AC_INIT([libburn], [0.3.5], [])
AC_INIT([libburn], [0.3.7], [])
dnl AC_CONFIG_HEADER([config.h])
@ -19,7 +19,7 @@ dnl if MAJOR or MINOR version changes, be sure to change AC_INIT above to match

@ -33,7 +33,7 @@ scope by help of existing cdrecord frontends.
- libburn is the library by which preformatted data get onto optical media.
It uses either /dev/sgN (e.g. on kernel 2.4 with ide-scsi) or
/dev/hdX (e.g. on kernel 2.6).
/dev/srM or /dev/hdX (e.g. on kernel 2.6).
libburn is the foundation of our cdrecord emulation. Its code is
independent of cdrecord. Its DVD capabilities are learned from
studying the code of dvd+rw-tools and MMC-5 specs. No code but only