NEW features of cdrtools-2.01.01a75:
Cdrecord:
- Hidden Track support is now complete:
- Added support for writing Hidden Audio Tracks before Track #1
in the Mtsushita CW-7501 device driver.
- Added support for writing Hidden Audio Tracks before Track #1
in the Sony CDU-924 / CDU-948 device driver.
- Added support for writing Hidden Audio Tracks in RAW mode.
Cdrecord-2.01.01a74 did put "track number 0" into the subchannel
data for track 1 index 0. Cdrecord now correctly writes Track #1
into the sub channel data.
- Added support for Track #1 having a different number than 1 into
the CUE file parser.
- The CUE file parser now prints much better error messages in case that
a keyword is seen out of the permitted order.
- The CUE file parser now supports hidden tracks.
- Fixed a bug in the CUE file parser that caused "pregap size 0" (missing
INDEX 00) to be replaced by the default pregap size of 150 sectors.
Cdda2wav (Maintained/enhanced by J
- Hidden Track support is now complete:
- Fixed a bug in the cdda2wav track loop control that caused cdda2wav
not to write the *.inf file for the last track in case of an audio CD
with a hidden track.
- Introduced an alias "isrc" and "ISRC" for -vtrackid
- Introduced an alias "mcn" and "MCN" for -vcatalog
- cdda2wav now emits a "PREGAP" keyword in the CUE file for a CD without
hidden track if it starts with a sector number > 0.
NEW features of cdrtools-2.01.01a76:
Cdrecord:
- Added a workaround for a firmware bug in the drive:
'HL-DT-ST' 'BD-RE BH10LS30 ' '1.00'
That causes the drive to return zero media size for BluRay media.
- cdrecord now aborts if the cuefile= option was specified with a non-CD
media in the drive.
- CDRWIN CUE files now may refer to several data files where each data file
contains less than the whole disk but more than a single track.
- The CUE parser now correctly sets the sector size information for the
lead-in area.
- The CUE parser now by default only accepts CDRWIN CUE compliant files
but may be switched into an enhanced mode by introducing a special comment
"REM CDRTOOLS"
- The CUE parser now supports a FILE command between INDEX 00 and INDEX 01.
This is needed in order to write CUE sheets from Exact Audio Copy.
Note that cdrecord needs to be switched into the enhanced CUE parser mode
by either specifying "REM CDRTOOLS" or by specifying:
REM COMMENT "ExactAudioCopy v0.99pb5"
Also note that cdrecord currently does not support more than one FILE
command per TRACK. For this reason, hidden audio tracks only work if
the hidden audio data is in the same file that also contains data for
track 1.
- New commands "ARRANGER", "COMPOSER" and "MESSAGE" for adding CD-Text information
in CUE files. Note that these commands are cdrecord specific extensions that
re unknown by CDRWIN and thus need "REM CDRTOOLS" to be enabled.
- The CUE file format is now documented in the cdrecord man page.
- Fixed a small type bug in cdrecord/fifo.c (introduced a few
versions before) that hits if the OS does not support the FIFO.
Cdda2wav (Maintained/enhanced by J
- New cdda2wav option -vaudio-tracks
- Make cdda2wav -q silent again (even with CDs with hidden track) to
make it compatible again with scripts.
- cdda2ogg and cdda2ogg.1 added to standard install
The script cdda2ogg was enhanced to work seamlessly.
- cdda2mp3 and cdda2mp3.1 added to standard install
The script cdda2mp3 was enhanced to work seamlessly.
- the scripts cdda2ogg and cdda2mp3 now allow to forward options to
cdda2wav.
In order to enable "paranoia mode", call:
cdda2ogg -paranoia
In order to enable the most proof "paranoia mode", call:
cdda2ogg -paraopts=proof
- The cdda2ogg man page was completely reworked
- The SYSvr4 pkg definition now includes cdda2ogg and cdda2mp3
- Added a workaround for a broken ASPI that hangs with
odd transfer counts.
Readcd:
- Added a workaround for a broken ASPI that hangs with
odd transfer counts.
NEW features of cdrtools-2.01.01a73:
Cdrecord:
- The *.inf file parser now supports a new tag "Track=" that
is intended to carry the absolute track number from the original disk.
Cdda2wav (Maintained/enhanced by J
- Cdda2wav now permits to use "max" for the endtrack number. This
allows to specify e.g. -t2+max for a list of tracks from track #2
to the last audio track on the disk.
- New option -cuefile allows to tell cdda2wav to create a CDRWIN CUE
file. This currently only works together with wither -tall, or with
-t0+max or -t1+max.
Note that due to a misconception in the CDRWIN CUE file definition,
it is impossible to create 100% correct CD-audio copy by 100%
following the CDRWIN CUE file definition and having separate audio
files for each track at the same time. For this reason, it is currently
impossible to create CDRWIN CUE files while using cdda2wav -B.
- Cdda2wav now only writes a binary *.cdtext file in case that this
file would contain more data than a header that tells that there
is no further content.
- Cdda2wav no longer removes the Index0 entry from a longer Index list
if Index0 is -1.
- Cdda2wav now automatically scans for hidden audio tracks. This is a
complex task as there are drives that do not allow to read the
hidden data before track 1.
- New option -no-hidden-track allows to prevent cdda2wav from scanning
for a hidden audio track.
- Cdda2wav now writes the new tag "Track=" into the *.inf files that
is intended to carry the absolute track number from the original disk.
- A shortcut for paraopts=sectors-per-track-1,retries=200 was introduced.
The name of the shortcut is "proof", so just use "paraopts=proof" for
selecting the most stringent paranoia mode.
- Cdda2wav now automatically selects paranoia mode in case that the
paraopts= option was used.
- Cdda2wav now again works in suid root mode on Solaris 11. It seems that
the development versions from Solaris 11 did change the behavior with
fine grained privileges in a way that was incompatible with the way
cdda2wav did try to handle both suid root and fine grained privileges.
Mkisofs (Maintained/enhanced by J
- The man page for mkisofs was enhanced in order to better mention
that mkisofs always writes ISO-9660 and that other file systems are
thus always added as a hybrid file system.
NEW features of cdrtools-2.01.01a74:
Cdrecord:
- Cdrecord now supports to copy CDs with hidden track if there are *.inf files
created by cdda2wav. In order to copy a CD with hidden Track with optimal
quality, call:
cdda2wav -vall -B -paranoia paraports=proof cddb=0
cdrecord -v -sao -useinfo -text *.wav
- cdwrite@lists.debian.org removed from man page
please use the official mailing lists for cdrecord that exist since 10 years:
http://developer.berlios.de/mail/?group_id=5
Cdda2wav (Maintained/enhanced by J
- A forgotten debug message from implementing support for hidden tracks
has been removed.
- Fixed a small bug that made cdda2wav with hidden track support not fully
compatible to earlier versions. In case that only one track is to be extracted,
this is again always track #1 regsrdless whether the CD has a hidden track.
- Fixed a bug with CDRWIN CUE file support. Cdda2wav used the tag "WAV" instead
of "WAVE" for the data type specifier in the FILE tag.
- cdwrite@lists.debian.org removed from man page
please use the official mailing lists for cdrecord that exist since 10 years:
http://developer.berlios.de/mail/?group_id=5
Readcd:
- cdwrite@lists.debian.org removed from man page
please use the official mailing lists for cdrecord that exist since 10 years:
http://developer.berlios.de/mail/?group_id=5
Scgcheck:
- cdwrite@lists.debian.org removed from man page
please use the official mailing lists for cdrecord that exist since 10 years:
http://developer.berlios.de/mail/?group_id=5
Btcflash:
- cdwrite@lists.debian.org removed from man page
please use the official mailing lists for cdrecord that exist since 10 years:
http://developer.berlios.de/mail/?group_id=5
Mkisofs (Maintained/enhanced by J
- cdwrite@lists.debian.org removed from man page
please use the official mailing lists for cdrecord that exist since 10 years:
http://developer.berlios.de/mail/?group_id=5
2.01.01alpha72:
Cdrecord:
- The CDRWIN cue sheet parser has been enhanced to give better error messages:
- There are now hints on what is missing in the CUE file
- The error message now also contains the column where the problem was detected
- Allow cdrecord to compile again on a pre-C99 compiler (there was a variable delaration
past a statement in a function.
- A description for the *.inf file fomat was added to the cdrecord man page
- New (previously missing) CD-Text tags have been added to auinfo.c (*.inf file parser):
Albumsongwriter=
Albumcomposer=
Albumarranger=
Albummessage=
Albumclosed_info=
Note that these tags do not appear in the CDDB database.
Cdda2wav (Maintained/enhanced by J
- New arg "all" to -t option.
cdda2wav -B extracts all audio tacks into separate files
cdda2wav -tall extracts all audio tacks into a single files
- cdda2wav now by default writes a file "xxx.cdtext" with raw binary
CD-Text data in case cdda2wav was told to retrieve CD-Text.
- A new option -no-textfile allows to disable the creation of the file "audio.cdtext"
This version of cdda2wav creates a file "audio.cdtext" or similar (depending on
the set up file name base) in case that there is CD-Text on the medium and that
the drives supports to read the CD-Text data with MMC SCSI commands.
- Fixed a bug in cdda2wav that caused cdda2wav to set up the file name base too late.
This resultes in the files "audio.cdindex" and "audio.cddb" alwas to have this name
while the *.inf files use the name base from the cdda2wav arguments. Now all
files created by cdda2wav honor the file name base.
- Cdda2wav by default fills empty track specific CD-Text data with the Disk global
value (if present). A new option -no-textdefaults allows to disable this fallback
and leaves the related fields empty if they are empty on the mester CD.
- Fixed a problem with cdda2wav -interactive (used by GNOME GSTREAMER CD-DAE plugin)
that could cause cdda2wav to dump core in case that there is a data
session past the last audio track.
- New (previously missing) CD-Text tags have been added to the *.inf files:
Albumsongwriter=
Songwriter=
Albumcomposer=
Composer=
Albumarranger=
Arranger=
Albummessage=
Message=
Albumclosed_info=
Closed_info=
Note that these tags do not appear in the CDDB database.
Mkisofs (Maintained/enhanced by J
- Fixed a bug with file descriptor handling in mkisofs/apple.c
2.01.01a71:
All:
- include/schily/stat.h now supports nonosecond timestamps in struct stat on AIX.
- New autoconf test for nanosecond time stamps on AIX.
- conf/mkdir.sh
- conf/mkdep-aix.sh was changed to avoid warnings for #pragma weak a = b
as the IBM C-compiler calls a non "#pragma weak" cpp when called with -E
Cdrecord:
- Cdrecord now is able to use -isosize even in case that the image data
is read from stdin. This makes it easier to use "mkisofs | cdrecord".
All:
- Added support for Hurd on i686 to the Schily Makefilesystem.
- Modified conf/mkdir.sh to work around a deviation found in
/usr/xpg4/bin/sed on Solaris
- Modified conf/src-get to include conf/src-get in PATH to make
recursive calls to src-get work.
Libfind:
- Added $(LIB_ACL_TEST) to the libs for libfind to allow a shared libfind
with ACL support on Linux.
Cdrecord:
- Cdrecord now defaults to -sao in case that cuefile=something was specified
- man page restructured
Cdda2wav (Maintained/enhanced by J
- The default outout format is now .wav for all platforms.
Before, the default for Solaris was .au.
- man page restructured
Readcd:
- man page restructured
2.01.01a69:
All:
- Support for 64 Bit compilation was added for IRIX.
Call smake CCOM=cc64 or smake CCOM=gcc64 as usual.
- C++ compilation support fior IRIX was added to the makefile system
- Schily Makefile rules no longer contain Simple Suffix Rules.
All default rules are now based on Pattern Matching Rules.
This speeds up smake.
- Added autoconf test to distinct Linux ACLs from IRIX ACLs
Libschily:
- Removed some GCC warnings from libschily/getargs.c
Libfind:
- let libfind deal with the differences between Linux ACLs and IRIX ACLs
Libscg:
- Removed some GCC warnings from libscg/scsi-sgi.c
Cdrecord:
- Work around a bug in the firmware from drives
developed by PIONEER in November 2009. This affects
drives labelled "Pioneer", "Plextor" and "TEAC".
Do no longer call cdr_buffer_cap() before the drive
buffer was not at least filled once to avoid that
the the drive throughs away all data.
- Man page reworked
Cdda2wav (Maintained/enhanced by J
- Man page reworked
- Removed some (int) casts before the SNDCTL_DSP_* ioctl()s
Readcd:
- Man page reworked
Scgcheck:
- Man page reworked
Btcflash:
- Man page reworked
Mkisofs (Maintained/enhanced by J
- Various Cstyle changes
2.01.01a68:
All:
- VMS rules for libraries not create an archive XXX.olb instead of libXXX.a
- schily/utypes.h enhanced to allow to define maxint_t which is
missing on VMS
- Better autoconf test for union wait vs. int for platforms that
define union wait but use int as wait() parameter.
- schily/vfork.h now includes unistd.h as the related definitions
are there on Solaris
- Fixed a configure bug with opendir() inherited from GNU autoconf
- Enhanced the vfork() autoconf test to avoid a hang on VMS
Libschily:
- libschily/spawn.c now uses vfork()
- libschily/fexec.c now supports IO redirection on VMS
Libparanoia (Ported/enhanced by J
- Some #define inline definitions removed as "inline" is already
handled by schily/mconfig.h
Libfind:
- Fixed a typo in idcache.c
Libfile:
- Some changes for better VMS support
Libhfs_iso:
- Removed a warning from the HP-UX C-compiler about a possible endless loop
Libsiconv:
- Add the VMS C-compiler to the list of exceptions for not fully C99 compliant
compilers to allow compilation.
Libscg:
- changed a include path in libscg/scsi-mac-iokit.c to allow
compilation on "Snow Leopard"
Cdrecord:
- Added a workaround for a firmware oddity with DVD+RW on
'_NEC ' 'DVD_RW ND-3500AG' with media written from other drives.
Cdda2wav (Maintained/enhanced by J
- Added a forgotten modification in ringbuff.c that caused an abort due to
a wrong assert() condition.
Mkisofs (Maintained/enhanced by J
- Fixed a bug (writing to stdout instead of stderr) recently introduced with better
RR recognition support.
- "isoinfo" now supports iconv() based locales for Joliet.
All:
- Prevent a compiler warning when compiling 64 bit binaries on HP-UX
using make CCOM=cc64
- Some files in include/schily/*.h have been enhanced to better support VMS
- config.guess now knows about OpenVMS
- Changed bash test to use --version instead of -version as bash on OpenVMS
is bash-1.x
- include/schily/xmconfig.h (containing a "static" configuration for VMS
because "configure" does not work on VMS) was enhanced.
- Trying to add support for OpenVMS to RULES/*
- New autoconf tests for the type "long double" and a new "max size" type.
Libschily:
- libschily/*bytes.c now support 64 bit compilation and use a "ssize_t"
typed count parameter instead of "int".
Rscsi:
- First complete version of a man page for rscsi.
Cdda2wav (Maintained/enhanced by J
- cdda2wav now correctly deals with the case when no sound device
was specified. Thanks to Robert Grimm <rob@news.robgri.de>
for reporting.
Mkisofs (Maintained/enhanced by J
- Make "isovfy" CD-ROM-XA aware
- Make "isodump" CD-ROM-XA aware
NEW features of cdrtools-2.01.01a65:
All:
- *BSD comes with a broken sed(1), so we need to go back to tr(1) based
code for GNU make in the Schily Makefilesystem.
- Added support for amd64-netbsd-cc.rul to the Schily Makefilesystem
- Added support for DragonFly BSD to config.guess and config.sub
Libscg:
- Added a hack to liscg to allow cdrecord -scanbus to work on NetBSD
- Added a hack to liscg to allow cdrecord -scanbus to work on OpenBSD
Mkisofs (Maintained/enhanced by J
- Avoid signed chars ad parameter to toupper
NEW features of cdrtools-2.01.01a66:
- Added support for 64 bit compilation on HP-HX using "cc".
Use make CCOM=cc64 as usual to switch to 64 bit compilation.
Libschily:
- libschily/fconv.c reworked to deal with non-C99 compliant systems and to deal
with the constraints found in HP-UX-11.11.
Libsiconv:
- Fixed a problem in libsiconv in case that the the locale is specified as
"iconv:name".
Libscg:
- Make libscg deal with the new error code from HP-UX that
is returned for a non-existing ATAPI slave.
- Some minor changes in libscg to make scgcheck report less problems
with HP-UX
Cdrecord:
- Better man page with repect to dev=
- The cdrecord man page has been restructured.
- Fixed a bug in the workaround code for a firmware bug for DVD+R
media in HL-DT-ST drives.
Cdda2wav (Maintained/enhanced by J
- Better man page with repect to dev=
- The cdda2wav man page has been restructured.
Readcd:
- readcd now only send the Plextor specific SCSI commands for the -cxscan
option in case that the drive identifies as Plextor.
- Better man page with repect to dev=
Scgcheck:
- Better man page with repect to dev=
Btcflash:
- Better man page with repect to dev=
Mkisofs (Maintained/enhanced by J
- mkisofs man page reworked
- isoinfo man page reworked
- New file mkisofs/rock.h
- isodump now prints more information about Rock Ridge attributes to
help debugging non-compliant Rock Ridge ISO images.
- isoinfo now correctly identifies ISO images made with the Mac OS X
program "hdiutil" by e.g. calling:
hdiutil makehybrid -iso -hfs -verbose -o xxx.iso some_dir
As filesystems that violate the Rock Ridge standard.
Check e.g. by "isoinfo -i xxx.iso -d"
Interpreting Rock Ridge on such images can be enforced by calling:
"isoinfo -i xxx.iso -lR -debug"
- mkisofs now ignores the broken Rock Ridge attributes that have been
created by the Mac OS X program "hdiutil".
All:
- The schily makefilesystem now by default sets all locale related envronment
variables to "C" in order to avoid problems.
- Make the makefile emulation mode for "non-automake aware" make programs
like SunPro Make and GNU make more immune against oddities in the tr(1)
program that are seen with a locale that differs from LC_ALL=C
Another step to prevent some tr(1) oddities was to replace the call to
tr(1) by a call to sed(1).
- Added GMAKE_NOWARN=true to allow to disable the gmake warning
- Enhanced include/schily/priv.h to distinct Solaris and AIX process privileges
- New include file include/schily/math.h
- Try to workaound a problem with GCC on newer AIX versions. It seems that
e.g. gcc on AIX is not C99 compliant and does not support isnan().
Note that the current solution may compile and run on newer AIX versions
but does not seem to be the optimal solution as it cannot check whether
a float is a number or not.
It is unfortunate, that we do not have an AIX login that would allow
to implement better AIX support.
Libscg:
- The low level SCSI transport code for Mac OS X has been reworked.
The code now supports cdrecord -scanbus
The code now supports cdrecord's autotarget mode
The code now supports to communicate with BluRay drives
The code now prints a longer help text that instructs what to do in order
to work against the "diskarbitrationd" program on Mac OS that tries to
steal us our hardware.
If someone is able and willing to help, please send mail!
I like to be able to tell "diskarbitrationd" to give up specific drives
and to set up shared access.
Cdrecord:
- The cdrecord man page now mentions that the -clone mode is a bad idea to copy
audio CDs.
Readcd:
- The readcd man page now mentions that the -clone mode is a bad idea to copy
audio CDs.
All:
- include/schily/wait.h now includes process.h on DOS systems
- include/schily/resource.h new include file
- include/schily/select.h new include file
- Now all sources use schily/systeminfo.h instead of sys/systeminfo.h
- Now all sources use schily/assert.h instead of assert.h
- Now all sources use schily/priv.h instead of priv.h
- Now all sources use schily/procfs.h instead of profcs.h
- Now all sources use schily/syslog.h instead of syslog.h
- Now all sources use schily/float.h instead of float.h
- Now all sources use schily/ipc.h instead of sys/ipc.h
- Now all sources use schily/sem.h instead of sys/sem.h
- Now all sources use schily/shm.h instead of sys/shm.h
- New autoconf test for "#pragma weak"
Libmdigest:
- New library
Cdrecord:
- Correctly abort the FIFO in cdrecord on BeOS and Haiku
in case that the clone ara cannot be made shared.
Cdda2wav
- Cdda2wav is now using the sha1 implementation from libmdigest
- Try to avoid an endloss loop while parsing ISO-9660 directories
from rotten CD+ sessions.
Readcd:
- Fixed a problem in the man page.
All:
- New include files include/schily/ctype.h, include/schily/pwd.h
and include/schily/grp.h
- All programs are now using schily/stdio.h
for orthogonality.
- Haiku default install dir is now /boot/opt/schily
- New rules RULES/os-cygwin_nt-6.0-wow64.id and
RULES/os-cygwin_nt-6.1-wow64.id support Cygwin on 64bit
installations of Win Vista and "Win 7".
- New rules for compiling 64 Bit binaries on cygwin_nt-wow64
NOTE: You need to have a 64 bit aware gcc on Cygwin to use this!
- TEMPLATES/temp-gcc.rul and TEMPLATES/temp-xcc.rul
now correctly include cc-gcc.rul and cc-dumb.rul and thus
make the automake feature working again for completely
unknown platforms.
- Fixed RULES/rules.inc to make sure we install xx.h instead of
xx.h.exe
- Workaround an infinite hang in an autoconf test on 64 Bit Vista
with Cygwin
- Include limits.h in schily/hostname.h for Linux
- Several "%s" formats have been introduced in order to make gcc-4
happy even though the original strings have been pointer to constant
and well known strings
- Change the option order in the autoconf test for calling the linker
in order to avoid problems with the microsoft linker.
Libschily:
- libschily now is thread aware and uses the thread specific errno
value on Solaris, Linux and FreeBSD.
Libscg:
- Raised the SCSI Bus-number limit from 256 to 500 for Linux as a workaround
for a resource leak bug in the linux kernel. The workaround lets the problem
happen much later but cannot completely avoid it. If you are hit by the Linux
kernel resource leak bug, you need to reboot.
Cdrecord:
- Correctly abort the FIFO in cdrecord on BeOS and Haiku
in case that the clone ara cannot be made shared.
Mkisofs (Maintained/enhanced by J
- Fixed a potential malloc problem in mkisofs
All:
- Support for 64 bit compilation on mac OS X was added.
Call make CCOM=cc64 as on other platforms.
- $OLIBSDIR is no longer in the RUNPATH
- New include file include/schily/limits.h
- Make sure that all include files in include/schily/ include
include/schily/mconfig.h
- wide character support new
- New makefile "Mocsw" sets defaults for "opencsw" instead of Blastwave.
Mcsw for Blastwave of course continues to exist
- New defaults directory DEFAULTS_CSW includes special defaults that
compile e.g. for Sparc-V8 in order to get working binaries for older
Sparc non 64 Bit hardware.
- New autoconf test HAVE_SETBUF and HAVE_SETVBUF
- Several modification in hope to better support MINGW
Libschily:
- wide character support new
- sevaral str*.c functions new for orthogonality with the new wcs* code.
- Added a wide character patern matcher with: patwcompile(), patwmatch(), patwlmatch()
See files:
libschily/matchw.c and libschily/matchwl.c
- libschily/stdio/*.c fixed to use size_t as length parameter for
read*()/write*() operations.
Libscg:
- Added a workaround for the type desaster in the Appls IOKit include files
in order to support 64 bit binaries
Cdda2wav (Maintained/enhanced by J
- The -interactive option is now mentioned in the -help output and the man page.
- Call unit_ready() before retrieving the TOC data in order to work around a Solaris
scsa2usb (SCSA to USB Driver) bug.
Readcd:
- "readcd" no longer dumps core if the C2Scan function is selected from the
interactive interface.
Mkisofs (Maintained/enhanced by J
- Fixed a typo bug in the mkisofs man page that caused the two synopsis lines
to appear as one line when using GNU troff.
- isoinfo now prints "???" in case that an illegal month is in a ISO-9660
filesystem.
All:
- Trying to work around nasty Linux distributions that try to fool autoconf
function tests and thus may result in incorrect results for the functions
fexecl fexecle fexecv fexecve fspawnv fspawnl fspawnv_nowait getline fgetline
- New include files include/schily/dlfcn.h and include/schily/shcall.h
- New autoconf tests for dlopen() and similar functions
- Fixed a typo in include/schily/fnmatch.h that prevented compilation on BeOS
- Fixed a typo in include/schily/libport.h that prevented compilation on BeOS
- New makefile "Mocsw" allows to create packages for "opencsw"
- RULES/rules.csw enhanced to allow to overwrite EMAIL= and HOTLINE= from
the make command line.
- New autoconf test for getprogname()/setprogname()
- Support for using Microsoft "cl" to compile 64 bit binaries from Cygwin now
has been finished
Libschily:
- Code in libschily/fexec.c cleaned up for better readability
- libschily/checkerr.c now correctly handles the "WARN" directive.
Cdrecord:
- Cdrecord now calls read_format_capacities() in silent mode in order to
check whether the current drive supports this SCSI command.
Cdda2wav (Maintained/enhanced by J
- cdda2wav now gives better readable text with cdda2wav -help
- BeOS has a /boot/develop/headers/be/support/ByteOrder.h that also defines
_BYTEORDER_H and thus interferes with our cdda2wav/byteorder.h
Mkisofs (Maintained/enhanced by J
- libschily/checkerr.c (used by mkisofs) now correctly handles the "WARN" directive.
NEW features of cdrtools-2.01.01a59:
All:
- Add -D_GNU_SOURCE to the standard include flags for Linux in order
to unhide needed extensions.
Cdrecord:
- Better error messages when the media size is unknown
- Try to work around a firmware bug in the drive:
'HL-DT-ST' 'DVD-RAM GH22NP20' '1.02'
that is in effect with DVD+R media.
- cdtext.c now checks for empty CD-Text files to prevent a later endless loop in cdrecord
while writing the TOC. Thanks to Sebastian Tr
Cdda2wav (Maintained/enhanced by J
- cdda2wav now supports new parameters for the -output-endianess option.
"host" or "machine" represent the actual byte order of the host CPU in the current OS.
NEW features of cdrtools-2.01.01a58:
All:
- New Make rules for Syllable. Syllable is a fork from AtheOS.
- New make rules for Haiku
- New include file schily/sysexits.h is needed for Haiku
- New autoconf test for sysexits.h
- Autoconf tests for os2.h and os2me.h moved from cdda2wav to
global
- config.guess and config.sub now have support for Haiku
- New rule support for linux on "sh3", "sh4" and "sh4a" platforms.
- autoconf now acts more reliable and more orthogonal with AC_CHECK_TYPE() vs.
AC_CHECK_SIZEOF() and carefully includes include files separately based on
fine grained tests.
- Changed schily/dirent.h to correctly set up NAME_MAX on ATARI MiNT
- Changed schily/maxpath.h to correctly set up NAME_MAX on ATARI MiNT
Libschily:
- fexec now correctly works on Haiku and BeOS
- libschily/format.c now supports the %z (size_t) and %t (ptrdiff_t)
printf format size modifiers (fixed a typo introdiced in the first attempt)
Libscg:
- A first version of the SCSI adaptation layer for Syllable has been added.
Thanks to Kristian Van Der Vliet <vanders@liqwyd.com> for the first
implementation.
- Haiku is a BeOS clone and thus uses scsi-beos.c as SCSI adaptation layer.
IMPORTANT NOTICE: if you like to compile libscg with a current Haiku release
you first need to copy a file:
cd /boot/develop/headers/os
cp device/CAM.h drivers/CAM.h
CAM.h was at /boot/develop/headers/os/drivers/CAM.h in BeOS and as CAM
has no own hardware, it seems to belong into /boot/develop/headers/os/drivers/
Cdrecord:
- Fixed a minor typo in cdrecord
- Some better warnings with cdrecord in case that the environment variables
'CDR_FORCERAWSPEED=' or 'CDR_FORCSPEED=' have been specified.
Cdda2wav (Maintained/enhanced by J
- Cdda2wav now uses an autoconf test to decide whether BEOS clone areas
can be used. THis gives Haiku compatibility.
- Fixed a bug introduced with introducing support for MD5 Sums.
Cdda2wav now disables the MD5 sum output in case -no-infofile has been specified
- Autoconf tests for os2.h and os2me.h moved from cdda2wav to
global
Mkisofs (Maintained/enhanced by J
- Mkisofs now reports "Haiku" for the OS platform if on Haiku.
- The isoinfo man page now includes the -debug option
- Automated support for System ID
Haiku, Syllable, AMIGA-OS, ATARI-MiNT
- Fixed some Rock Ridge bugs that have been identified when investigating
in the OpenSolaris bug 6807009
http://defect.opensolaris.org/bz/show_bug.cgi?id=5385
- Man page description for -abstract -biblio -copyright is now better
to understand
All:
- New Make rules for Syllable. Syllable is a fork from AtheOS.
- New make rules for Haiku
- New include file schily/sysexits.h is needed for Haiku
- New autoconf test for sysexits.h
- config.guess and config.sub now have support for Haiku
- New rule support for linux on "sh3", "sh4" and "sh4a" platforms.
- autoconf now acts more reliable and more orthogonal with AC_CHECK_TYPE() vs.
AC_CHECK_SIZEOF() and carefully includes include files separately based on
fine grained tests.
- Changed schily/dirent.h to correctly set up NAME_MAX on ATARI MiNT
- Changed schily/maxpath.h to correctly set up NAME_MAX on ATARI MiNT
Libschily:
- fexec now correctly works on Haiku and BeOS
- libschily/format.c now supports the %z (size_t) and %t (ptrdiff_t)
printf format size modifiers (fixed a typo introdiced in the first attempt)
Libscg:
- A first version of the SCSI adaptation layer for Syllable has been added.
Thanks to Kristian Van Der Vliet <vanders@liqwyd.com> for the first
implementation.
- Haiku is a BeOS clone and thus uses scsi-beos.c as SCSI adaptation layer.
IMPORTANT NOTICE: if you like to compile libscg with a current Haiku release
you first need to copy a file:
cd /boot/develop/headers/os
cp device/CAM.h drivers/CAM.h
CAM.h was at /boot/develop/headers/os/drivers/CAM.h in BeOS and as CAM
has no own hardware, it seems to belong into /boot/develop/headers/os/drivers/
Cdrecord:
- Fixed a minor typo in cdrecord
- Some better warnings with cdrecord in case that the environment variables
'CDR_FORCERAWSPEED=' or 'CDR_FORCSPEED=' have been specified.
Cdda2wav (Maintained/enhanced by J
- Cdda2wav now uses an autoconf test to decide whether BEOS clone areas
can be used. THis gives Haiku compatibility.
- Fixed a bug introduced with introducing support for MD5 Sums.
Cdda2wav now disables the MD5 sum output in case -no-infofile has been specified
Mkisofs (Maintained/enhanced by J
- Mkisofs now reports "Haiku" for the OS platform if on Haiku.
- The isoinfo man page now includes the -debug option
- Automated support for System ID
Haiku, Syllable, AMIGA-OS, ATARI-MiNT
- Fixed some Rock Ridge bugs that have been identified when investigating
in the OpenSolaris bug 6807009
http://defect.opensolaris.org/bz/show_bug.cgi?id=5385
NEW features of cdrtools-2.01.01a57:
Libscg:
- New SCSI low level transport for ATARI FreeMiNT has been added.
Thanks to Yvan Doyeux
Cdrecord:
- Do not install by overwriting /etc/default/cdrecord in case an earlier file
exists.
Please give feedback on what you like to see in future.
Do you like to see a sample file installed?
- README.cdplus has been renewed
Cdda2wav (Maintained/enhanced by J
- Prevent a core dump from hitting ^C while cdda2wav tries to call
scg_open() to open the SCSI devices.
- A buggy address compuation that caused problems with 64 bit binaries
has been fixed.
- Cdda2wav now correctly deals with longer CD-Text information.
Thanks to Yvan Doyeux for creating a related test CD...
NEW features of cdrtools-2.01.01a56:
All:
- New autoconf test to distinguish between the free of charge
"Bundled" cc on HP-UX and the commercial cc. Only the commercial cc
supports ANSI C and the Bundled cc complains when the ANSI Options
are used:
(Bundled) cc: warning 480: The -A option is available only with the C/ANSI C product; ignored.
(Bundled) cc: warning 480: The -O option is available only with the C/ANSI C product; ignored.
These warnings are no longer present.
- schily/schily.h now auto-includes stdio.h in case that the platform
supports the new POSIX.1-2008 getline()/fgetline() functions that
violate against general POSIX rules and thus overlay our implementation
that exists since 1982.
- schily/stkframe.h now uses Intptr_t for the fr_savp member to make it
work correctly on 64bit systems without OS supplied stkframe.h.
- New autoconf test on whether unistd.h defines extern char ** environ.
- New file schily/stdio.h to simplify layering.
Libschily:
- Fixed a bug in fexecl() introduced in October 2008 that caused the
called program to be called with a too small argc (one too few).
- format() now supports %z for size_t and %t for ptrdiff_t
Libedc (Optimized by J
- Avoid some GCC warnings
Libdeflt:
- lbdeflt needs to be compiled before libcdrdeflt when creating
dynamic libs
Libscg:
- Avoid some GCC warnings
Cdrecord:
- Avoid some GCC warnings
- Some small typos in error messages have been fixed.
- Workaround for 'TSSTcorp' 'CDDVDW SE-S224Q ' 'TS01' firmware bug.
The drives does not return SES_UNDEF for unformatted DVD+RW media.
- Support again cdrecord -v -sao -multi *.wav
This stopped working with 2.01.01a29 when introducing DVD multi-border
support.
Cdda2wav (Maintained/enhanced by J
- struct tocdesc has been restructured to prevent struct tail padding on MC-680x0 systems.
Thanks to Yvan Doyeux for reporting this for the ATARI port.
- The drive 'HP ' 'CD-Writer+ 9600 ' '1.0a' does not like to read SCSI FULL TOC
with a too long transfer lenght. First retrieve the available data count.
- New options -debug -debug-scsi -kdebug -kdebug-scsi -kd to set SCSI low level
debugging in libscg
- The option -v not also supports "!" and "not" to invert the list
of "verbose" options (e.g. -v!indices for everything but indices).
- Avoid some GCC warnings specific to HP-UX
- Added a workaround for gmake < version 3.81.
Older gmake versions evaluate dependencies in the wrong order.
Readcd:
- Try to exit(excode) instead of exit(0) in case that siginificant
problems occured.
- Prevent readcd from dumping core via raisecond("file_write_err")->abort()
in case that the target filesystem fills up.
- Added a workaround for gmake < version 3.81.
Older gmake versions evaluate dependencies in the wrong order.
Scgcheck:
- Avoid some GCC warnings
- Added a workaround for gmake < version 3.81.
Older gmake versions evaluate dependencies in the wrong order.
Scgskeleton:
- Added a workaround for gmake < version 3.81.
Older gmake versions evaluate dependencies in the wrong order.
Btcflash:
- Added a workaround for gmake < version 3.81.
Older gmake versions evaluate dependencies in the wrong order.
Mkisofs (Maintained/enhanced by J
- Some casts have been added to increase the 64 bit compilation support
- mkisofs and the tools isodump, isovfy and isoinfo now completely
support the SUSP termination signature "ST".
- Do no longer flag the absence of a "RR" signature as an error in
isodump, isovfy and isoinfo as newer Rock Ridge standard versions removed RR.
- Fixed a minor problem with a debug print output and 64 bit compile mode.
- Avoid some GCC warnings
- Minor typo fix in the mkisofs man page
pkgsrc: despite changes below, nothing is installed suid for now
NEW features of cdrtools-2.01.01a55
All:
- Default install user changed from "bin" to "root".
- The install-sh script now complains if an attept was made to install
a program suid or sticky and the install user has no root privileges
- The makefile system has been modified to allow a separate set-up
for the install path of the configuration files to e.g. /etc/
via the DEFAULTS variable INS_RBASE
Rscsi:
- the configuration file "rscsi" is now by default installed into
/etc/default/rscsi
Cdrecord:
- Cdrecord is now by default installed suid root in case that the caller
of make install has root privileges
- The call to scg_close() introduced with 2.01.01a54 was not
done in the right order and could cause core dumps.
- the configuration file "cdrecord" is now by default installed into
/etc/default/cdrecord
- Some unused variables and functions have been commented out
Cdda2wav (Maintained/enhanced by J
- Cdda2wav is now by default installed suid root in case that the caller
of make install has root privileges
- Some unused variables and functions have been commented out
Readcd:
- Readcd is now by default installed suid root in case that the caller
of make install has root privileges
NEW features of cdrtools-2.01.01a54:
All:
- config.sub and config.guess now support ATARI MiNT
- All needed definition files for ATARI MiNT are now in RULES/*
- configure now checks whether shmget() works (needed for ATARI MiNT)
- The GNU linker on Linux now seems to support -R to set the LD_RUN_PATH
Added support for -R
- Added definitions to allow dynamic linking with the Sun Studio compiler
on Linux
- Added a new #define (NO_ACL) that alloed to disable ACL support via
command line when compiling
- include/schily/libport.h split into include/schily/libport.h and
include/schily/hostname.h to allow to avoid to include netdb.h for
applications that do not need gethostname() and getdomainname()
- include/schily/prototype.h now inlcludes the definitions for const...
- new autoconf test to check whether the Sun Studio compiler needs
-xarch=generic64 or -m64 for 64 bit compilation.
Libschily:
- New functions eaccess() and findinpath()
- Workaround for a GCC warning with make DEFAULTSDIR=DEFAULTS_ENG
warning: 'sccsid' defined but not used added
Libparanoia (Ported/enhanced by J
- Workaround for a GCC warning with make DEFAULTSDIR=DEFAULTS_ENG
warning: 'sccsid' defined but not used added
Libedc (Optimized by J
- Workaround for a GCC warning with make DEFAULTSDIR=DEFAULTS_ENG
warning: 'sccsid' defined but not used added
Libcdrdeflt:
- Workaround for a GCC warning with make DEFAULTSDIR=DEFAULTS_ENG
warning: 'sccsid' defined but not used added
Libdeflt:
- Workaround for a GCC warning with make DEFAULTSDIR=DEFAULTS_ENG
warning: 'sccsid' defined but not used added
Libfind:
- Workaround for a GCC warning with make DEFAULTSDIR=DEFAULTS_ENG
warning: 'sccsid' defined but not used added
- libfind now correctly deals with ARG_MAX in case that
the bitness of the libfind executable differs from the bitness
of the executable called by -exec name {} +
Libfile:
- Workaround for a GCC warning with make DEFAULTSDIR=DEFAULTS_ENG
warning: 'sccsid' defined but not used added
Libhfs_iso:
- Workaround for a GCC warning with make DEFAULTSDIR=DEFAULTS_ENG
warning: 'sccsid' defined but not used added
Libsiconv:
- Workaround for a GCC warning with make DEFAULTSDIR=DEFAULTS_ENG
warning: 'sccsid' defined but not used added
Libscg:
- Workaround for a GCC warning with make DEFAULTSDIR=DEFAULTS_ENG
warning: 'sccsid' defined but not used added
Libscgcmd:
- Workaround for a GCC warning with make DEFAULTSDIR=DEFAULTS_ENG
warning: 'sccsid' defined but not used added
Rscsi:
- Workaround for a GCC warning with make DEFAULTSDIR=DEFAULTS_ENG
warning: 'sccsid' defined but not used added
- Raise the SCSI bus numer limit to 1024 to allow the new Linux ATA mapping.
Cdrecord:
- Workaround for a GCC warning with make DEFAULTSDIR=DEFAULTS_ENG
warning: 'sccsid' defined but not used added
- New driver "mmc_bdrom" is used for profile 0x40 and allows to
retrieve the ADIP data for BD-R media that is reported as BD-ROM
by some drives.
- Added a workaround for a firmware bug in the drive
'HL-DT-ST' 'DVD-RAM GH22NP20'
that reports DVD-R media as media with zero size.
- Added a workaround for a firmware bug in many 'HL-DT-ST' drives
(e.g. 'HL-DT-ST' 'DVD-RAM GSA-H55N') that return unreliable data
with READ BUFFER and makes it impossible to get the drive DMA
transfer speed.
- Added a workaround for frequent kernel/driver bugs in
FreeBSD and Solaris that prevent the DMA residual count to work.
- Try to call scg_close() before exiting cdrecord.
- Default Transfer Size reverted from 126 kB to 63 kB.
Sorry FreeBSD guys - it seems that FreeBSD is the only OS that
correctly deals with larger DMA sizes.
FreeBSD people may add a line with CDR_TRANSFERSIZE=126k
in /etc/default/cdrecord to raise the default.
The current problems are:
- On Solaris 10 Sparc fs=126k causes a kernel panic
- On Solaris 11 the drivers partially return incorrect
max DMA sizes that may cause cdrecord to fail.
- On Linux with USB fs=126k may not work at all
- On Linux with other interfaces, fs=126k may reduce
the DMA speed to a value that always causes buffer
underruns.
I hope to find a better solution in the next development cycle
after the current code has been release as stable version.
Expect the next stable release to appear very soon.
Cdda2wav (Maintained/enhanced by J
- Workaround for a GCC warning with make DEFAULTSDIR=DEFAULTS_ENG
warning: 'sccsid' defined but not used added
- Suppress some incorrect warnings from GCC by doing a double cast.
- Allow longer path names for *.inf files.
- SCSI *scgp is now a clean parameter to all SCSI transport functions.
- toc.c changed to support the new schily/hostname.h
Readcd:
- Workaround for a GCC warning with make DEFAULTSDIR=DEFAULTS_ENG
warning: 'sccsid' defined but not used added
Scgcheck:
- Workaround for a GCC warning with make DEFAULTSDIR=DEFAULTS_ENG
warning: 'sccsid' defined but not used added
Scgskeleton:
- Workaround for a GCC warning with make DEFAULTSDIR=DEFAULTS_ENG
warning: 'sccsid' defined but not used added
Btcflash:
- Workaround for a GCC warning with make DEFAULTSDIR=DEFAULTS_ENG
warning: 'sccsid' defined but not used added
Mkisofs (Maintained/enhanced by J
- Workaround for a GCC warning with make DEFAULTSDIR=DEFAULTS_ENG
warning: 'sccsid' defined but not used added
- Raising PATH_MAX to be at least 1024 for all platforms as Cygwin
defines PATH_MAX to 260 which is too small for Cygwin.
- Implemented a better error message in case that the boot image
could not be found inside the target tree.
- A description for the -s/-sector option was added to the man page.
This option is used to allow to create conforming multi-session
images for e.g. the Kodak Photo CD or the Kodak Picture CD.
- A description forr the -XA and -xa option was added to the man page.
- Mkisofs now writes a better error message in case that it cannot
sort a directory because more than on directory content was merged
into the ISO image.
- isoinfo -d now prints the checksum for the Eltorito validation header
Libcdrdeflt:
- This is a new library that has been introduced as mans programs like
to parse the content of /etc/default/cdrecord
Libscgcmd:
- This is a new SCSI command library
Cdrecord:
- Converted to use libcdrdeflt
- Converted to use libscgcmd
- Man page now includes many small modifications that mention BluRay media.
Cdda2wav
- Converted to use libcdrdeflt
- Converted to use libscgcmd
- The -M/-md5 option now finally works.
Cdda2wav now computes MD5-sums for the audio data and writes the result
into the *.inf files.
Readcd:
- Converted to use libcdrdeflt
- Converted to use libscgcmd
Scgcheck:
- Converted to use libcdrdeflt
- Converted to use libscgcmd
Scgskeleton:
- Converted to use libcdrdeflt
- Converted to use libscgcmd
Btcflash:
- Converted to use libcdrdeflt
- Converted to use libscgcmd
Mkisofs (Maintained/enhanced by J
- Converted to use libcdrdeflt
- Converted to use libscgcmd
NEW features of cdrtools-2.01.01a52:
All:
- Config.sub now supports NetBSD on AMD64
- The email addresses in many file have been updated.
Libfile:
- The license has been changed from a license (similar to a BSDl 4 clause)
to a new BSDL 2 clause license with permission from all involved authors.
Libscg:
- Unneeded code from libscg/scsierrs.c removed
Cdda2wav
- The MD5 implemenation (although currently unused) has been
changed from the RSA variant (that requires advertizing for RSA)
to a "public domain" implementation from Colin Plumb used
in OpenBSD.
- The new MD5 implementation has been made portable.
All:
- Extended the file COPYING to mention that the GPL used by the "mkisofs project"
requires to publish the full source for all parts of mkisofs in case that you
publish mkisofs binaries.
- Added a new Changelog file for the changes since cdrtools-2.01
- RUlES/rules.prg no longer includes a line with SHELL=/bin/sh.
This is needed to allow to implement a workaround for various bash
bugs that afffect makefiles in case that /bin/sh is linked to bash.
If your platform installs bash in /bin/sh (Linux, ....) or in case
thaat your platform offers a broken variant of the Korn Shell in /bin/sh
(like HP-UX), fetch the "Schily source consolidation" from
ftp://ftp.berlios.de/pub/schily/, compile everything and install the
original Bourne Shell, that comes with this packet, into /bin/bosh.
If you then call ./.clean and re-compilee everything, you get a "smake"
that calls /bin/bosh instead of the broken system shell.
- Added an autoconf test for POSIX violations found in POSIX.1-2008.
The official POSIX rule is not to define "new" interfaces that
are in conflict with older interfaces of the same name.
Our interfaces fexec*() have been defined and published in 1982.
The new POSIX interfaces define a different interface and the
new POSIX interfaces even use names that are not compatible with
POSIX rules. The new POSIX interfaces in question should be called
fdexec*() to follow the rules of other similar POSIX functions.
Simiar problems exist with getline()/fgetline().
We try to automatically rename our functions in case that the functions
could be found in the local libc.
Libschily:
- Added sleep.c and gettimeofday.c that emulate sleep() and gettimeofday()
when using MSVC
- Try to rename ecvt()/fcgt()/gcvt() in case that one of these functions
does not work and the libc implementation does not allow to overwrite the
function.
Libscg:
- Included a patch for the CAM interface from the FreeBSD people.
The patch sets up the CAM data structrures in a way that allows
SCSI bus and target scanning.
Cdrecord:
- Make dure that the DVD and BluRay drivers do not lower the default timeout.
cdrecord timeout=# now always allows to raise the default timeout to a larger
value.
- Added a workaround to prevent the Lite-ON BD B LH-2B1S/AL09
from hanging up when trying to write a BluRay Medium.
- Cdrecord now by default tries to set up a DMA Size of 126 kB.
If non-MMC drives are found, we fall back to the old value of 63 kB
NEW features of cdrtools-2.01.01a50:
Libschily:
- changed __malloc() -> ___malloc() for the ongoing ATARI Port
- changed __realloc() -> ___realloc() for the ongoing ATARI Port
- changed __savestr() -> ___savestr() for the ongoing ATARI Port
Cdrecord:
- The cdrecord DVD multi-border code from May 2007 has been made OpenSource.
Multi-Border is the DVD multi-session equivalent. It allows to write
up to 1024 sessions on a single DVD.
The code currently covers the most important case of writing to DVD-R/DVD-RW
media.
You need to specify -multi for every session.
- The cdrecord man page now mentions -multi with respect to DVD multi-border.
Mkisofs (Maintained/enhanced by J
- mkisofs -UDF now does not longer replace controlchars in case that -J has not
been specified at the same time. This is a workaround for the fact that
mkisofs still shares the file name management code between UDF ans Joliet.
NEW features of cdrtools-2.01.01a49:
All:
- Several Makefiles have been modified to support not only "make all"
but also "make install" without calling "make all" before. This was needed
after the change that omits the symlinks from the tar archive.
Thanks to a report from Klaus Ditze <kd@heise.de>
Libparanoia (Ported/enhanced by J
- Plenty of new comments taken from cdparanoia-III-10.2
This doubles the size of the code!
Thanks to Monty (xiphmont@mit.edu)
- i_paranoia_overlap_r() does not longer increment beginA/beginB after the
match was found searching backwards. Taken from cdparanoia-III-10.2
- paranoia_free() now also frees p->cache and p->fragments taken from cdparanoia-III-10.2
- Some numerical values used in paranoia.c have been replaced by
FLAG_* definitions.
Mkisofs (Maintained/enhanced by J
- First step of changes intended to allow to remove Mac OS 9 "hfs" support
from mkisofs. Mac OS X supports UDF extensions and "hfs" does not support
large files. For this reason, "hfs" support is an anachronism.
NEW features of cdrtools-2.01.01a46:
All:
- New autoconf test AC_CHECK_DLIB() checks for lib members while using
specified include files. This is a workaround for the autoconf hostile
gettext() and iconv() implementations on Linux.
- THe gettext()/iconv() tests have been rewritten to use AC_CHECK_DLIB()
- The autoconf test AC_FUNC_VFORK from Paul Eggert was not written in
clean C and thus failed on a ANSI-C compiler, asuming that vfork()
is not available in the ANSI case.
- README.compile fixed to refer to READMEs/README.gmake instead of
README.gmake
- Symlink support in RULES/MKLINKS added for ia64-hp-ux-cc.rul and
ia64-hp-ux-gcc.rul, thanks to a hint from Steven M. Schweda
Cdda2wav (Maintained/enhanced by J
- The new -interactive option has now been stabilized for a first integration that
allows to replace libcdio for sound-juicer to come to an implementation without
license violations.
Mkisofs (Maintained/enhanced by J
- Mkisofs now correctly limits filenames with non-ISO-8859-1 characters
to 127 chars max.
- Mkisofs now correctly sets the permissions for "invented" unreal
directories in UDF instread of using mode 000.
NEW features of cdrtools-2.01.01a47:
All:
- DEFAULTS*/Defaults.dragonfly added
Thanks to a hint from Thomas Klausner
- Added a workaround for a Sun make bug
Mkisofs (Maintained/enhanced by J
- Mkisofs now correctly sets the permissions for "invented" unreal
directories in UDF instread of using mode 000. The last version
intruced a bug during the code cleanup phase.
- Mkisofs now correctly mixes multi-extent-File directory entries from
old sessions made by mkisofs. This is only related to multi-session
with files >= 4 GB.
- isoinfo now extracts files using 10 sectors at a time to speed up
operation
[pkgsrc note: this is based on patch-cj]
NEW features of cdrtools-2.01.01a48:
All:
- Next attempt to work around the non-autoconf friendly implementation
of GNU gettext and GNU libiconv.
- A new autoconf test allows to check whether the installed system shell
(/bin/sh) properly aborts with failed commands in "sh -ce 'cmd'".
If failed simple commands in "sh -ce 'cmd'" do not abort complex
commands, "make" will not stop on errors in the build process.
Note that this is a definite POSIX incompatibility.
The most well known defective shell with respect to this problem is "bash"
but /bin/sh on HP-UX-10.x (a Korn Shell modification) does not work
correctly either. If your system (Linux, HP-HX, ...) suffers from this
problem, I recommend to fetch the Schily Source consolidation from
ftp://ftp.berlios.de/pub/schily/
Use a version that has been published past September 1st 2008, compile
and install the contained Bourne Shell as "/bin/bosh". Then call
"./.clean" and compile again. The resulting "smake" will then
automatically call "/bin/bosh" instead of "/bin/sh" in order to
execute commands.
Libfind:
- & before some functions removed
Cdrecord:
- cdrecord now correctly writes DVD+R/DL media with all drives.
Before, there have been problems at the layer break with some
drives.
The comment is wrong. With this patch, formatting and writing in RAW
mode (perhaps the latter only with Pioneer drives) does not work.
Bump PKGREVISION.
NEW features of cdrtools-2.01.01a44:
*******
NOTE: cdrtools is currently in a state just before a new major release.
*******
All:
- New directory autoconf/ contains the complete Schily autoconf system.
It is based on GNU autoconf-2.13, the latest GNU autoconf that worked
correctly even on older systems.
- Sources and makefilesystem restructured to allow all needed files to be
retrieved from the SCCS repository and to call "make" later. To achieve
this, all symlinks have been removed from the tarball.
- The Schily Makefile System now includes rules to recreate the file
"configure" by calling "autoconf". This is needed in order to allow the
complete source tree to be extracted from the SCCS repository.
Libscg:
- aspi-win32.h and spti-wnt.h now in SCCS
Cdda2wav (Maintained/enhanced by Jörg Schilling, originated by Heiko Eißfeldt heiko@hexco.de):
- Interactive mode for corrected to allow new tests
for replacing libcdio in GStreamer.
- child_pid variable moved into gloval var structure.
NEW features of cdrtools-2.01.01a45:
All:
- Added a workaround for a GNU make design bug that causes the rules
to create file "foo" to be evaluated _past_ the "include foo"
statement in a Makefile has been evaluated. Note that you still need
GNU make 3.81. GNU make 3.80 and before will still fail to compile
cdrtools because of other unfixed GNU make bugs.
Note that the basic GNU make design bug has been reported to the
GNU make maintainers and accepted as bug by the GNU make maintainers
in 1998 already. It is still unfixed in GNU make although smake and
SunPro make verify that there is no problem to do it right.
Cdrecord:
- Reduced the minimal write speed of a ultraspeed CD-RW capable drive
from 16x to 10x.
Mkisofs (Maintained/enhanced by Jörg Schilling since 1997, originated by Eric Youngdale):
- Try to avoid incostencies with USE_ARGEFILES with multi-extent files
- Corrected the iso directory record size computation in stream-file mode
- Mkisofs no longer tries to write 8 TB of data in case that -stream-media-size
was too small.
NEW features of cdrtools-2.01.01a43:
*******
NOTE: cdrtools is currently in a state just before a new major release.
*******
All:
- config.guess now supports the "free" Apple Darwin variants
Libscg:
- "make install" now installes the libscg include files into $(INS_BASE)/include/scg/
Mkisofs (Maintained/enhanced by Jörg Schilling since 1997, originated by Eric Youngdale):
- Added a workaround for some Linux filesystems that do not deliver "." and ".."
first with readdir()
- Fixed -x pattern not to exclude "." and ".." also
- Always "." and ".." first to the dir content.
NOTE that all these problems have not been present with "mkisofs .. -find <path-list>"
NEW features of cdrtools-2.01.01a42:
*******
NOTE: cdrtools is currently in a state just before a new major release.
Libedc (Optimized by Jörg Schilling, originated by Heiko Eißfeldt heiko@hexco.de):
- Fixed array index overrun in L1 coder. Thanks to Heiko Eißfeldt.
The problem was reported by the coverity test. Note that the L1 coder
is not used by cdrtools.
Cdda2wav (Maintained/enhanced by Jörg Schilling, originated by Heiko Eißfeldt heiko@hexco.de):
- New option -no-fork tells cdda2wav to run in unbuffered mode.
- New option -interactive
The first test implemenation supports the following interactive commands:
stop stop reading
If you like to empty the internal buffers,
send "stop" read everything you get from the output pipe
repeat this until no further data is available.
cont continue reading
read trasks <trackno> Start reading from new trackno
read sectors <secno> Start reading from new sector number
exit
quit exit cdda2wav
This new option is a result from a collaboration with the GNOME
developers to make "sound-juicer" legal. Sound-juicer suffers from
license problems from libcdio which is usually loaded as a
"gstreamer" plugin.
The option -interactive together with the related new libgstcdda2wavsrc
gives better quality of the extracted audio-data and does not cause license
violations.
All:
- several modification have been made to fix warning messages from
a "coverity" test run.
Scgcheck:
- New option -auto for fully automated tests
- Restructured for better results
Mkisofs (Maintained/enhanced by Jörg Schilling since 1997, originated by Eric Youngdale):
- Fixed a bug in the graft -root code from Patrik Ohly thanks to
Ben Korvemaker <neb@drycold.ca> FreeBSD for reporting.
All:
- Added an autoconf test for SIZEOF_FLOAT & SIZEOF_DOUBLE to allow
to compile the Bourne shell in 64 bit mode.
Mkisofs (Maintained/enhanced by Jörg Schilling since 1997, originated by Eric Youngdale):
- mkisofs now prints more explicit error messages if the strings (like
e.g. the volume name) inside the PVD do not fit. This should help
people that use e.g. UTF-8 based locales and don't understand
that the strings may use up more octett space than the number of
characters in the string.
- mkisofs now supports to import multi-extent files (> 4 GB) from old
sessions.
All:
- added a make rule to automatically create the directory
./incs/
Libfind:
- This is the final step to make libfind a "real" library
- find.h walk.h fetchdir.h idcache.h moved to include/schily/
- A bug in libfind was fixed that causes
find . -size -20k -ls
to check for files smaller than 20480 Blocks instead of
looking for files smaller than 2084 characters.
Libscg:
- Allow libscg to correctly compile in 64 bit mode on amd64 Solaris
platforms
Rscsi:
- Minimal rscsi man page added
Mkisofs (Maintained/enhanced by Jörg Schilling since 1997, originated by Eric Youngdale):
- Some code in main() has been reordered to allow mkisofs to recognize that
the installation at /opt/schily/lib/siconv is missing even if the --ethershare
option has ben used. Before, mkisofs did dump core in this case, now it
mentions to install libsiconv.
- mkisofs again supports -no-bak. This option has been
removed by accident with cdrtools-2.01.01a22
- mkisofs again auto-adds a slash to the left part of
a dir=orig/ graft point spec if the right side is a
directory. The problem has been introduced ~ one year
ago when cleaning up buggy old code.
All:
- The Schily Makefile system has been enhanced to install
the profiled version of the archives in a sub-directory "profiled".
This is done via a new macro SUBINSDIR=
- New autoconf test checks sizeof(time_t)
- New autoconf test for the existence of stack_t and siginfo_t in signal.h
- In order to allow better dealing with Solaris linker Mapfiles,
a getfp() function (calling abort(3)) is created when it is not
possible to implement this function because of compiler constraints.
- Many other enhancements of the autoconfiguration have been a result
of porting the Bourne Shell into the Schily Makefilesystem.
Libschily:
- The schily *printf routines now correctly support the %j format (intmax_t)
- getargs now first checks whether an argument can be a combination of
several singlechar flags before starting to set values.
Libfind:
- libfind (used by sfind, bsh, star, mkisofs) fixed the -exec {} +
implementation. Before the fix, it could core dump if the built-in
xargs(1) would exactly fill up args to the size of ARG_MAX.
Libsiconv:
- libsiconv/sic_nls.c modified to allow compilation with older GCC
versions.
Cdrecord:
- cdrecord/readcd/cdda2wav now support an enhanced /etc/default/cdrecord file
with an additional parameter to specify the max. transfer size for a device.
- CDR_FORCESPEED=any now works for cdrecord to switch off DMA speed test results
- Make cdrecord compile again with a K&R compiler
- Add a "blank emulation" layer to the BluRay driver too.
Cdda2wav (Maintained/enhanced by Jörg Schilling, originated by Heiko Eißfeldt heiko@hexco.de):
- cdrecord/readcd/cdda2wav now support an enhanced /etc/default/cdrecord file
with an additional parameter to specify the max. transfer size for a device.
Readcd:
- cdrecord/readcd/cdda2wav now support an enhanced /etc/default/cdrecord file
with an additional parameter to specify the max. transfer size for a device.
Mkisofs (Maintained/enhanced by Jörg Schilling since 1997, originated by Eric Youngdale):
- Fixed a typo unides -> inodes
- Mkisofs now gives better warning for files > 4 GB in hope it
will no direct people to read the documentation.
- superfluous definition for memmove() on memmove()-less platforms removed
All:
- New autoconf test HAVE_SYS_SIGLIST_DEF checks for sys_siglist[]
definition in signal.h Thanks to Tatjana Heuser for reporting
- Possibly double #defines HAVE_ICONV HAVE_ICONV_OPEN HAVE_ICONV_CLOSE
in include/schily/iconv.h fixed. Thanks to Tatjana Heuser for reporting
Libfind:
- -size now understands things like -size +10m
- the function getperm() has been moved to libschily
- find_main() now supports to propagate a different environment
(e.g. with a different PATH) to fexec())
Libsiconv:
- Changed sic_nls.c to allow compilation on SCO OpenServer-5.x and
other compilers that set __STDC__ to 0 and are not at least
fully C89 compliant.
Libscg:
- scg/scgcmd.h upgraded to be sharable with the "scg" Solaris kernel driver
- scg/scgio.h upgraded to be sharable with the "scg" Solaris kernel driver
Cdrecord:
- Cdrecord now correctly recognizes unformatted BD-RE media.
NOTE: The BD support code is not yet completely ready but
I expect this to happen in a few days.
- cdrecord man page now mentiones the "lofi" driver for Solaris
- Cdrecord now re-checks the media after a "blank" or "format"
operation has been issued. This prevents problems with incorrect
media size assumptions.
- cdrecord now implements a simulated "blank" feature for media that
itself does not support blanking: currently DVD-RAM + DVD+RW
Readcd:
- Man page now mentions -edc-corr
Mkisofs (Maintained/enhanced by Jörg Schilling since 1997, originated by Eric Youngdale):
- isoinfo now allows to check the contents of the Joliet Volume descriptor
by calling:
isoinfo -dJ
- mkisofs bug fix for multi extent files, make UDF part from multi extent
files working again. Thanks to a hint from
Pav Lucistnik <pav@oook.cz> <pav@FreeBSD.org>
All speed limitations may be disabled by setting the environment variable
CDR_FORCESPEED to "any". The drive buffer size recognition was changed so
that cdrecord now shows correct size values even for the LG GSA-H55N.
DVD-RW/DL may now be blanked. The "out-fd=descriptor" option was added to
cdda2wav, and allows the user to redirect informational output to a file
descriptor other than stderr. A core dump with mkisofs in the Joliet code
caused by the new Apple UDF extensions is now avoided.
Changes since 2.01.01a28:
NEW features of cdrtools-2.01.01a28:
All:
- Support for SunStudio 12 on Linux was added.
Call "make CCOM=suncc", but note that you then
will not be able to compile Linux specific functions like
support for ext2 file flags. This does not work because the
related include files are not written in clean C.
Note that nearly all programs from cdrtools depend on libscg
which uses platform speficic code for every OS. As the Linux
kernel include files are not written in clean C, you cannot
compile libscg using Sun Studio. If someone from the Linux kernel
team would rewrite the Linux kernel include files to only use clean
C based constructs, cdrecord could be compiled with Sun Studio
compilers.
- Added a workaround to config.guess to get correct
platform names from "configure" even thogh suncc
does not #define __ELF__
- Linux specific autoconf tests are not only executed on Linux
based platforms
- Some make rule definitions for Cygwin restructured to allow
compilation with more Cygwin releases. The -D_WIN32_WINNT=
definitions are now only in effect if the selected compiler
is the Microsoft compiler.
- New include file schily/ioctl.h
- Added Support to create Blastwave SVr4 packages.
To create a Blastwave package, call:
.clean
smake -f Mcsw
You need the program "fakeroot" and will find the results
in packages/<arch-dir>
Note that this source tree will allow you to create the package
CSWcdrtools but not the packages CSWschilybase and CSWschilyutils
on which CSWcdrtools depends.
WARNING: libsiconv.a and it's character translation tables (located in
/opt/*/lib/siconv) are not part of CSWcdrtools but of CSWschilybase.
If you do not update CSWschilybase to include the character translation
tables used by libsiconv, mkisofs will not work correctly.
NOTE: the SVr4 package specific rules are approx. 10 lines of make rules.
It should be simple to create rule definitions for other package systems
found on platforms other than Solaris. Volunteers who like to help
to deveop support for other packaging systems are welcome!
Libparanoia (Ported/enhanced by Jörg Schilling, originated by Monty xiphmont@mit.edu):
- "make install" now also installs the READMEs and other docukmentation to
..../share/doc/libparanoia/
Libsiconv:
- New library libsiconv replaces libunls.
Libsiconv saves ~ 130 kB of executable space in mkisofs and allows to use
iconv() if it is present on the current polatform.
Rscsi:
- "make install" now also installs the READMEs and other docukmentation to
..../share/doc/rscsi/
Cdrecord:
- "make install" now also installs the READMEs and other docukmentation to
..../share/doc/cdrecord/
- New function verify() in high level code.
Cdda2wav (Maintained/enhanced by Jörg Schilling, originated by Heiko Eißfeldt heiko@hexco.de):
- "make install" now also installs the READMEs and other docukmentation to
..../share/doc/cdda2wav/
Scgskeleton:
- New merged code from the "sformat" and "cdrecord" consolidation.
- Bumped to version 1.2
Mkisofs (Maintained/enhanced by Jörg Schilling since 1997, originated my Eric Youngdale):
- "make install" now also installs the READMEs and other docukmentation to
..../share/doc/mkisofs/
- The change from libunls to libsiconv fixes a lot of bugs in the
character translation tables. libsiconv now uses the official tables
from Unicode.org. Any other "single char" -> UNICODE table from
Unicode.org may be taken unmodified and copied to /opt/schily/lib/libsiconv
to become usable by libsiconv.
If you use the same character set names as with old mkisofs, you get
the character translations from the tables in /opt/schily/lib/libsiconv,
if you use ICONV based locale names and iconv() is available on your
platform, then mkisofs used iconv() to translate the character encodings.
If you like to force to use the iconv() code, use something like:
mkisofs -input-charset iconv:8859-1
****** IMPORTANT ********
You need to install the table files from libsiconv to make mkisofs
behave correctly.
- Thanks to the new libsiconv, mkisofs now supports to run in a UTF-8 locale.
As long as no automatic locale support is present, call
mkisofs -input-charset UTF-8
- Completed the Symlink implementation for UDF. The code was 20% ready
from Helios.de from the includes from the Helios variant of mkisofs.
- New option -no-udfsymlinks to turn off support for UDF symlinks.
The UDF standards requires any OS to implement symlink support, but
you never know...
- New option -UDF implements non-anonymous UDF support.
The relation between -UDF vs. -udf is the same as with -R vs. -r
- Integrated a larger code drop from Helios.de, thanks to Helmut Tschemernjak
from helios.de. We did integrate the following new features from Helios.de:
- Support for UID/GID in the UDF file meta data
- Support for permissions in the UDF file meta data
- Support for Mac OS X "/..namedfork/rsrc"
- Avoid Mac OS X syslog entries when "/rsrc" is used.
- Support for UDF based Mac OS extensions (type/creator and
resource forks).
- New option -no-hfs allows to turn off creating a ISO9660/HFS hybrid
when UDF based Mac OS extensions are used.
- Do not chache resorce fork files in the inode cache anymore.
We did not include the following code from the Helios.de code drop:
- Helios UNICODE unification (always tries to create "complete"
characters if e.g. a 'ö' is written as 'o'+'"', this is translated
into a 'ö'.
The reason for not integrating this code is that it did violate
constraints from mkisofs. The translation was done based on UTF-8
regardless of the current locale of the user. It could only work
in a UTF-8 based locale but mkisofs did not yet support UTF-8 an
based locale. The correct implementation would be in most cases
based on UCS-2 characters as used by Joliet and UDF.
- Helios code that did prevent mkisofs to abort on certain kind of
read errors.
The reason for not integrating this code is that it did not work
as expected for all possible cases and that such code should use
a similar mechanism as "star"s error control feature.
- The Helios option -nolimit-pathtables has not been included as the
implementation did cause the PATH table to contain random data in
case that a PATH table overflow was allowed.
- The Helios code drop did modify the libfind callback function to
implement Mac OS extensions. This is not correct as all the Mac OS
related stuff should already in the functions that are called
by the unmodified libfind callback.
Another problem with this code is that it would introduce an
otherwise non-existent path length limitation with "mkisofs -find "
- Helios did remove the artificial limit for UDF files > 2 GB.
This is currently not done for consistency between ISO-9660 and
UDF. Mkisofs will implement multi-extent files soon and then
the UDF file size limitation will be removed.
NEW features of cdrtools-2.01.01a29:
All:
- Added a note to README.compile on how to work around a problem
in /usr/include/linux/types.h that prevents to compile cdrtools
on Linux using the Sun Studio compiler.
- A workaround against non autoconf friendly code in Cygwin has been
fixed in include/schily/iconv.h (a typo).
- Compilations with static configuration are now also possible on HP-UX
- All profiles libraries now have the same name as the non-profiled variants.
To create a profiled version of a command, do something like this:
cd cdrecord
smake clean
smake COPTX=-xpg LXOPTX=-xpg LINKMODE=profiled
For GCC use:
cd cdrecord
smake clean
smake COPTX=-pg LXOPTX=-pg LINKMODE=profiled
Libschily:
- getargs() enhanced to fully support POSIX Command line rules
- snprintf() is again compiled into libschily in case that the function
is missing on the current platform.
Libsiconv:
- sic_open() now allows to be called with a NULL pointer argument
- sic_list() now returns the number of listed translations
Cdrecord:
- Some small typo fixes in the man page
- Speed values are now also displayed as multiple of Blu Ray 1x
- First hacky "support" for Blu Ray media. Note that this support
is based on the assumption that
"cdrecord driver=drv_dvdplusrw driveropts=burnfree" -force
works for BD-RE.
There was no write testing for this new yet but several of the
parameters have been verified and several modifications have been applied
to make some of the commands work for Blu Ray.
The code is fully experimental!
- The read disk structure command has been enhanced to support the
media type field for Blu ray.
- Speed values are now also displayed as multiple of Blu Ray 1x
- Cdrecord now aborts with DVD+R if -dummy has been specified as there is
no -dummy mode for DVD+R. This has been forgotten for years....
Cdda2wav (Maintained/enhanced by Jörg Schilling, originated by Heiko Eißfeldt heiko@hexco.de):
- Added some casts to interface.c and ioctl.c in order to prevent warnings
from the Sun Studio 12 compiler.
- The man page has been restructured to correctly use bold and italic
with option descriptions.
Readcd:
- Speed values are now also displayed as multiple of Blu Ray 1x
- readcd -factor meshpoints=100 now also displays the speed as multiple
of Blu Ray speed if the medium is a BD
Mkisofs (Maintained/enhanced by Jörg Schilling since 1997, originated my Eric Youngdale):
- Avoid a core dump with mkisofs -new-dir-mode XXXX caused by a bad
getargs() option format string. Thanks to Thomas Flock <tf-mkisofs-200611@online.de>
for reporting.
- Some small typo fixes in the man page
- Fix mkisofs to no longer dump core in case that a non-existing locale
is used. Thanks to Dirk Paehl for reporting.
- mkisofs now warns in case that /opt/schily/libsiconv/ is missing
or not populated.
- mkisofs no longer requires the Mac OS extension related locale
translations to be present in case that no Mac extensions are requested.
- diag/isoinfo also has been fixed to correctly use iconv.
Thanks to Kai Raphahn <kai.raphahn@laburec.de> for reporting.
NEW features of cdrtools-2.01.01a30:
All:
- More locale related autoconf tests (see mkisofs)
Libscg:
- Detect & correctly handle SCSI send permission problems with USCSI and Solaris
Cdrecord:
- cdrecord -pad cue=file now works as people expect.
Thanks to to Bernd Eggink for reporting
- Workaround for new Solaris behavor for Console users if hald
is active. Give error message and abort instead of useless messages.
- Print Linux 2.6.8 warnings only if there really was a problem.
- Blu Ray driver now supports "cdrecord -atip" to read manufacturer IDs.
- DVD writing works again. Introducing Blu Ray with 2.01.01a29 did cause
problems with DVDs.
- Several MMC-3+ Text strings for profiles and media codes have been added.
Cdda2wav (Maintained/enhanced by Jörg Schilling, originated by Heiko Eißfeldt heiko@hexco.de):
- Workaround for new Solaris behavor for Console users if hald
is active. Give error message and abort instead of useless messages.
Btcflash:
- Workaround for new Solaris behavor for Console users if hald
is active. Give error message and abort instead of useless messages.
Mkisofs (Maintained/enhanced by Jörg Schilling since 1997, originated my Eric Youngdale):
- mkisofs now sets up -input-charset to the locale read from the
environment in case that no -input-charset has been specified.
To disable this automatic set up, use -input-charset "".
NEW features of cdrtools-2.01.01a31:
Cdrecord:
- New code to better print speed performance values
with cdrecord -prcap
Note: The 'MATSHITA' 'BD-MLT SW-5582 ' seems for unknown
reason not to support to retrieve the current read/write speed
values via get_performance.
- cdrecord -minfo now prints "Mounted media class" and
"Mounted media type" name.
- Fixed a bug in auto-target mode introduced with 2.01.01a30
Cdrecord now again is able to work wihtout a dev= parameter.
Cdda2wav (Maintained/enhanced by Jörg Schilling, originated by Heiko Eißfeldt heiko@hexco.de):
- Fixed a bug in auto-target mode introduced with 2.01.01a30
Cdda2wav now again is able to work wihtout a dev= parameter.
Readcd:
- Fixed a bug in auto-target mode introduced with 2.01.01a30
Readcd now again is able to work wihtout a dev= parameter.
Mkisofs (Maintained/enhanced by Jörg Schilling since 1997, originated my Eric Youngdale):
- New option -no-limit-pathtables allows to create filesystems with
more than 65535 parent directories. Note that this makes the filesystem
violating ISO9660 and the filesystem will not be usable on DOS.
- New option errctl=name or errctl=control-spec similar as in star.
This option allows e.g. to tell mkisofs not to abort if a file
did grow or shrink while mkisofs was reading it.
Currently only OPEN, READ, GROW, SHRINK are implemented more to come
later...
NEW features of cdrtools-2.01.01a32:
All:
- Handling non-large file aware systems is now more correct
Libparanoia (Ported/enhanced by Jörg Schilling, originated by Monty xiphmont@mit.edu):
- Fixed some minor problems with K&R compilers
Libedc (Optimized by Jörg Schilling, originated by Heiko Eißfeldt heiko@hexco.de):
- #define memmove() to movebyted for libedc_dec if memmove is missing.
Libsiconv:
- Deactivate TAB_SIZE check for K&R compilers. They cannot
do complex math in cpp.
Cdda2wav (Maintained/enhanced by Jörg Schilling, originated by Heiko Eißfeldt heiko@hexco.de):
- cdda2wav now includes a copyright message and a year number
with the -version output.
- Add a workaround for a definition in <sundev/srreg.h> on SunOS-4.x
- Fixed some minor problems with K&R compilers
Mkisofs (Maintained/enhanced by Jörg Schilling since 1997, originated my Eric Youngdale):
- mkisofs now includes a copyright message and a year number
with the -version output.
- New option -no-limit-pathtables allows to create filesystems with
more than 65535 parent directories. Note that this makes the filesystem
violating ISO9660 and the filesystem will not be usable on DOS.
With 2.01.01a32, this also applies to the Joliet PATH table.
- Support for ISO-9660 multi extent files added, thanks to
Frederick Bruckman for sending some experimental sample code
that helped to find the right ideas for a final implementation.
This allows mkisofs to support files > 4 GB.
- If you only use ISO-9660 (that may include Rock Ridge) or Joliet,
mkisofs is able to support single files up to a size of 8 TB.
- If UDF is included, files > 190 GB will not appear in the UDF
file tree.
IMPORTANT: You need to specify mkisofs -iso-level 3 or
mkisofs -iso-level 4 to allow mkisofs to archive
files > 4 GB. Also note that if you specify -hfs,
mkisofs will not archive fiiles larger than 2 GB.
NOTE:
Linux currently does not allow to read the complete content of
multi-extent files and will return EIO at some offset.
Solaris currently does not allow you to read multi-extent files at all.
It will return EINVAL and print a kernel message
- New options -hide-udf and -hide-udf-list allow to delectively exclude
files from the UDF tree. Note that mkisofs currently still binds the
UDF tree to the Joliet tree. All files that have been excluded from
the Joliet tree currently are also excluded from the UDF tree.
- Always hide the Trans table (from mkisofs -T) files from the UDF tree.
NEW features of cdrtools-2.01.01a33:
Cdrecord:
- Added support to unlock the free firmware for the Plextor 755 and 760
drives. Thanks to a hint from Alexander Noé.
This makes the following features available again:
GIGAREC SINGLESESSION HIDECDR
Note: You need to install free firmware in the drive first to make this
work.
If you like, you may turn the feature off using "driveropts=plexdisable"
- Added support for enhanced gigarec found in newer Plextor drives.
The gigarec values 0.9 anf 1.1 are now supported. Cdrecord now supports:
0.6, 0.7, 0.8, 0.9, 1.0, 1.1, 1.2, 1.3, 1.4
Note that not all values are supported by all drives.
- Added support for Yamaha AutioMaster in the Plextor Premium 2.
Thanks to a hint from Paolo Saggese. Original Yamaha audiomaster
is like gigarec 0.85, Plextor implemented 0.8666 which still looks
like a useful additional intermdiate value.
- Make the man page more obvious that gigarec with values < 1.0 is _very_
similar to audiomaster except for pit sizes.
- Code restructured from a CD/DVD only program to a program that
writes multiple different similar media.
- New simulation driver "bd_simul"
- Trying to make the text in cdrecord.c that forbids incompatible changes
to be published under the name "cdrecord" more user friendly.
Readcd:
- Added support to read C1/C2/CU errors from Plextor and NEC/Optiarc drives.
Thanks to Alexander Noé for the code.
If you run the test with:
readcd -cxscan
you will only see summary output. If you add one -v, you see the error
information for every second that does include errors. If you add -vv,
you see information for every second in the data range.
Note that the output format will change in future to support GNU plot.
I am looking for suggestions for a useful output format.
- Added support for pisum8 tests for DVDs on drives made by Plextor
If you run the test with:
readcd -pi8scan
- Added support for pif tests for DVDs on drives made by Plextor
If you run the test with:
readcd -pifscan
Fall all three new options, you will only see summary output. If you
add one -v, you see the error information for every second (CD)
8 * 32 KB (pisum8) or 32 KB (pif) that does include errors. If you add
-vv, you see information for every interval in the data range.
Note that the output format may change in future,
I am looking for suggestions for a useful output format.
- New option -plot allows to modify the outputformat for the options
-cxscan, -pi8scan, -pifscan
To plot a list of pisum8 and pif errors, call:
readcd -pi8scan -plot > pisum8
readcd -pifscan -plot > pif
gnuplot
gnuplot> plot "pisum8" w l
gnuplot> replot "pif" w l
To plot a list of C1/C2/CU errors call:
readcd -cxscan > cx
awk '{ print $1 " " $2 }' < cx > c1errs
awk '{ print $1 " " $3 }' < cx > c2errs
awk '{ print $1 " " $4 }' < cx > cuerrs
gnuplot
gnuplot> plot "c1errs" w l
gnuplot> replot "c2errs" w l
gnuplot> replot "cuerrs" w l
Mkisofs (Maintained/enhanced by Jörg Schilling since 1997, originated by Eric Youngdale):
- Avoid warnings when compiling tree.c with some compilers.
- Do no longer warn about violating ISO-9660 if -iso-level 4 has been specified.
NEW features of cdrtools-2.01.01a34:
Cdrecord:
Cdda2wav (Maintained/enhanced by Jörg Schilling, originated by Heiko Eißfeldt heiko@hexco.de):
- Fixed a +- 1 problem in realloc() for TOC handling.
Thanks to a report from Joshua Reuben Roys
Mkisofs (Maintained/enhanced by Jörg Schilling since 1997, originated by Eric Youngdale):
- Fixed a double free problem caused by multi-extent files
- New function e_strdup() checks return code from strdup() for all calls.
NEW features of cdrtools-2.01.01a35:
*******
NOTE: this is _not_ a release that starts a new aplha/beta series of
distibutions. The only reason is to add certain new CD/DVD features
that are important.
So _please_ do not send any patches except when you like to fix
extreme bugs. I am currently mainly working on stable incremental
restore featurs for star-1.5-final.
Once star-1.5-final is out, cdrtools will start a new developent cycle.
*******
Libschily:
- Fixed a bug in checkerr.c that was caused by the fact that errflags()
did try to modify it's string argument.
Libparanoia (Ported/enhanced by Jörg Schilling, originated by Monty xiphmont@mit.edu):
- Set a useful default for the dynamic sector overlap start sector
in case that the dynamic sector overlap limits are manually changed
Cdrecord:
- Better code structure for dvd/bd driver recognition.
Cdda2wav (Maintained/enhanced by Jörg Schilling, originated by Heiko Eißfeldt heiko@hexco.de):
- New option start-sector=sector allows to set an absolute sector number
where to start audio extraction.
This option has been added as a first step to allow to write a
wrapper for cdda2wav to create a "GStreamer plugin". This helps
to:
- avoid license problems in libcdio
- allows to call a privileged programs like cdda2wav from a GUI
to grant full audio extraction quality that needs generic SCSI
commands.
- Cstyle indentation changes
- Man page now includes some forgotten options
- Man page now describes the paraopts= sub option list
- Man page now describes the statistic output from the paranoia code
HELIOS TODO:
- Add the HELIOS UNICODE mapping code. This needs to be done
at UCS-2 level for Joliet and UDF (instead of UTF-8) and only
for Rock Ridge (in case of a UTF-8 based target locale) using
UTF-8 based translations.
- Make the Apple extensions work again with "mkisofs -find"
TODO:
- Support correct inode numbers for UDF hardlinks
- Support sockets, pipes, char/blk-dev specials with UDF
- read Joliet filenames with multi-session if no TRANS.TBL
or RR is present. I am looking for a volunteer for this task!
Note that this can never be 100% correct as there is no relation
between the names on the master (UNIX) filesystem, the ISO-9660
names and the Joliet names. Only the Rock Ridge names are
untranslated with respect to the original files on the
master (UNIX) filesystem.
- add libecc/edc for CDI and similar.
Patch provided by Jukka Salmi in PR 36392.
NEW features of cdrtools-2.01.01a25:
All:
Libschily:
- __fjmalloc()/__jmalloc() now allow to specify JM_EXIT to exit() instead
of callinf siglongjmp()
- New function file_getraise() to get the current file raise value.
Libparanoia (Ported/enhanced by J<F6>rg Schilling, originated by Monty xiphmont@mit.edu):
Libedc (Optimized by J<F6>rg Schilling, originated by Heiko Ei<DF>feldt heiko@hexco.de):
Libfind:
- Libfind is now close from the final state
- Added README file to the directory libfind/ that help to learn how
to create a complete find(1) command, a "bsh" find builtin and a
ksh93 find builtin using libfind.
- Libfind Version is now 1.3
- libfind has been restructured to allow it to be used as builtin function
inside shells like e.g. "bsh" and "ksh93".
- libfind now allows I/O redirection (needed for shell builtins).
- libfind now may be told to check for abort situations (needed for
shell builtins in order to check for abort on ^C).
- New function find_free()
- Libfind no longer leaks memory if called with a commandline with
syntax errors.
Libfile:
Libhfs_iso:
Libscg:
- scg_numbus() function for FreeBSD corrected to make cdrtools work again.
Thanks to a hint from Joseph Terner <jtsn@jtsn.de>
Rscsi:
Cdrecord:
- A typo in the man page has been fixed (mkisofs does not have a -q but
a -quiet option).
- A debug message in the DVD+ driver hav been updated to make cdrecord
again compile in -DDEBUG mode.
Cdda2wav (Maintained/enhanced by J<F6>rg Schilling, originated by Heiko Ei<DF>feldt heiko@hexco.de):
- Fixed a bug that caused cdda2wav to hang when retrieving the CDDB information.
This bug has been introduced with cdrtools-2.01.01a21
Readcd:
Scgcheck:
Scgskeleton:
Btcflash:
Mkisofs (By J<F6>rg Schilling and James Pearson j.pearson@ge.ucl.ac.uk):
TODO:
- read Joliet filenames with multi-session if no TRANS.TBL
or RR is present. I am looking for a volunteer for this task!
Note that this can never be 100% correct as there is no relation
between the names on the master (UNIX) filesystem, the ISO-9660
names and the Joliet names. Only the Rock Ridge names are
untranslated with respect to the original files on the
master (UNIX) filesystem.
- add libecc/edc for CDI and similar.
NEW features of cdrtools-2.01.01a26:
All:
- Now using cdrecord/version.h for the global version number
- New autoconf test for struct timeval in sys/time.h
- New autoconf test for struct timezone in sys/time.h
- Changed include/schily/time.h to depend on the
new autoconf #defines HAVE_STRUCT_TIMEVAL and
HAVE_STRUCT_TIMEZONE
- The Schily makefile system is now also passing OS
specific #defines to "configure".
- New Schily makefile system Target shell allows to
call "make shell" in order to get a shell with exactly
the same environment as the compilers will see from
the makefile system. This helps testing.
- New autoconf test checks whether we need to call
"xx.exe" on a plaform. This is needed in order to
be able to call the Microsoft compiler from the
SFU (Services for UNIX) environment.
- It is now possible to call the Microsoft compiler
from SFU. In order to do this, call "smake CCOM=cl"
If this does not work, you may need to change the
file DEFAULTS/vc7-interix-setup
Libschily:
Libparanoia (Ported/enhanced by J<F6>rg Schilling, originated by Monty xiphmont@mit.edu):
- Fixed a typo in paranoia_init() that gas been introduced with 2.01.01a24
This bug did cause a core dump.
Thanks to Robert Grimm <rob@news.robgri.de> for reporting.
Libedc (Optimized by J<F6>rg Schilling, originated by Heiko Ei<DF>feldt heiko@hexco.de):
Libfind:
- Fixed a bug in names.c that caused nameinit() to go into an endless
recursion and dump core if there is no "nobody" in /etc/passwd.
This bug has been introduced recently.
Libfile:
Libhfs_iso:
Libscg:
Rscsi:
Cdrecord:
- Trying to work around a Pioneer firmware bug that causes cdrecord to write
DVDs at lowest speed.
- Reset SCSI silent mode after cdrecord did use the auto-mode (no dev= parameter)
to find the drive. This again gives visible error messages.
Cdda2wav (Maintained/enhanced by J<F6>rg Schilling, originated by Heiko Ei<DF>feldt heiko@hexco.de):
Readcd:
Scgcheck:
Scgskeleton:
Btcflash:
Mkisofs (By J<F6>rg Schilling and James Pearson j.pearson@ge.ucl.ac.uk):
- added a better error message from Helios in volume.c
- The timezone bug (first fixed in 2.01.01a24 has now been fixed
correctly and works even if the timezone is located east to GMT.
TODO:
- read Joliet filenames with multi-session if no TRANS.TBL
or RR is present. I am looking for a volunteer for this task!
Note that this can never be 100% correct as there is no relation
between the names on the master (UNIX) filesystem, the ISO-9660
names and the Joliet names. Only the Rock Ridge names are
untranslated with respect to the original files on the
master (UNIX) filesystem.
- add libecc/edc for CDI and similar.
NEW features of cdrtools-2.01.01a27:
All:
- Added forgotten file RULES/x86-interix-cl.rul to the Schily Makefilesystem
- Trying to better deal with MS winsock2.h oddities in schily/time.h
- #undef iswalnum ... in schily//wchar.h before defining non wchar fallbacks.
- config.guess now knows about i386 Darwin (Mac OS X on Intel)
- Schily makefilesystem enhanced to check for extended
fields in struct utsname as seen e.g. in MS SFU (Interix).
- New predefined macro OSVERSION in the makefilesystem is needed
for SCO OpenServer 6.x support (because this uses a UnixWare
kernel
- Trying to support Compilation on SCO OpenServer 6.x
- New macro $(CC_OUTPUT_FILTER) allows to filter away the
unwanted file name echo from cl.exe.
- Interix now uses uname -m instead of uname -p for $(OARCH)
- Makefile support for pentium-4-unixware-cc.rul and
pentium-4-unixware-gcc.rul was added.
- New autoconf test for libiconv
- The Schily makefilesystem now by default searches in /usr/local/include
and /usr/local/lib if on FreeBSD. This is needed in order to find
libintl and libiconv.
- make html and make htmlx now works even on the top level directory
and creates html versions of the man pages
- fixed a typo in the autoconf test for C99 isinf/isnan
Libschily:
Libparanoia (Ported/enhanced by J<F6>rg Schilling, originated by Monty xiphmont@mit.edu):
Libedc (Optimized by J<F6>rg Schilling, originated by Heiko Ei<DF>feldt heiko@hexco.de):
Libfind:
- find_list.c now #ifdefs names like S_IFLNK
Libfile:
- Better portability for strerror() in file.h
Libhfs_iso:
Libscg:
- Better help message for Mac OS X wich dev=help
Rscsi:
Cdrecord:
- Cdrecord now correctly reports Copyright ...2007 with -version
-
Cdda2wav (Maintained/enhanced by J<F6>rg Schilling, originated by Heiko Ei<DF>feldt heiko@hexco.de):
- Let cdda2wav print the -version outout to stdout and in a similar form
as other cdrtools programs.
Readcd:
Scgcheck:
Scgskeleton:
Btcflash:
- Make btcflash compile on K&R compilers (like on HP-UX)
Mkisofs (By J<F6>rg Schilling and James Pearson j.pearson@ge.ucl.ac.uk):
- mkisofs -J no longer implies -l as done incorrectly after
converting from GNU getopt_long() to getargs()
TODO:
- read Joliet filenames with multi-session if no TRANS.TBL
or RR is present. I am looking for a volunteer for this task!
Note that this can never be 100% correct as there is no relation
between the names on the master (UNIX) filesystem, the ISO-9660
names and the Joliet names. Only the Rock Ridge names are
untranslated with respect to the original files on the
master (UNIX) filesystem.
- add libecc/edc for CDI and similar.
The change logs with over 3000 lines are too long to mention here.
See AN-2.01.01* in the source directory.
For me it was support for writing DVD+RWs.
Note on the patches:
patch-ak: fix compilation with DVDPLUS_DEBUG defined.
patch-cg: revert "use" from off_t to int again as it is passed to function
expecting an int. The possible values aren't huge, anyway.
patch-ck, patch-cl, patch-cm: fix references to /etc/default/cdrecord.
Remove patches that have been incorporated upstream.
INSTALLATION_DIRS, as well as all occurrences of ${PREFIX}/man with
${PREFIX}/${PKGMANDIR}.
Fixes PR 35265, although I did not use the patch provided therein.
speeds up file extraction significantly by using a much larger buffer.
Also avoid crashing under NetBSD by not making the assumption that
fclose(NULL) is legal.
Bump PKGREVISION to 4.
developer is officially maintaining the package.
The rationale for changing this from "tech-pkg" to "pkgsrc-users" is
that it implies that any user can try to maintain the package (by
submitting patches to the mailing list). Since the folks most likely
to care about the package are the folks that want to use it or are
already using it, this would leverage the energy of users who aren't
developers.
Cdrecord allows you to burn CDs with a CD-R/CD-RW recorder. It
works as a burn engine for several applications. Cdrecord supports
CD recorders from many different vendors; all SCSI-3/mmc and
ATAPI/mmc compliant drives should also work. Supported features
include: IDE/ATAPI, parallel-port, and SCSI drives; audio CDs, data
CDs, and mixed CDs; full multi-session support, CD-RWs (rewritable),
TAO, DAO, and human-readable error messages.
This package also provides tools for retrieving audio tracks,
reading and writing CDs, creating ISO9660/JOLIET/HFS filesystems,
and verifying ISO9660 images.