Log message:
Update to 2.01.01a35. Install more programs and documentation.
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.
|