NEW features of cdrtools-2.01.01a23:
All:
- "libvms" new from Steven M. Schweda sms@antinode.org
Libscg:
- Trying to implement a workaround for a Linux USB DMA size problem by implementing
support for a new ioctl proposal from Alan Stern
UPDATE: It seems that the final fix in the Linux kernel will take some time
and will be incompatible to the current patch. For this reason, I decided to
make the intermediate patch available at:
ftp://ftp.berlios.de/pub/cdrecord/alpha/Linux-USB-DMA-Size.patch
Cdrecord:
- Enhanced CUE sheet parser to allow writing the new Zeta CD from
http://www.zeta-os.com/cms/custom/lcd/indexe.php
- Supporting -raw/-raw16/-raw96r in CUE sheet mode (with cuefile=).
Please test and report as I am not able to test all possible cases.
As it seems that this new mode works now properly, it it possible
to write SVCDs on Pioneer writers that refuse to write SVCDs in -sao mode
because Pioneer implements a silly internal memory mamagement that
reserves memory for 99 tracks with not more than 2 indices each.
In RAW mode, cdrecord takes care of subchannel data and is able to work
around this deficit in Pioneer drives.
- Correctly reset CDRWIN CUE sheet state at the beginning of a new track
- Added some small changes to help compiling on VMS
Cdda2wav (Maintained/enhanced by Jörg Schilling, originated by Heiko Eißfeldt heiko@hexco.de):
- Added some small changes to help compiling on VMS
New in 2.01.01a21:
All:
- The makefile system now supports the Winsock library
Libfind:
- Is now quiet on NFSv4 ACLs (ZFS) although it still does not support them.
Libscg:
- Bumped libscg version to 0.9
- Trying to support FreeBSD Kernel under non-FreeBSD (GNU) userland
- New interface function scg_numbus() returns the number of SCSI busses.
- Trying to work around a Linux design problem that has been introduced
about 3 years ago when Linux stopped to support an orthogonal SCSI
Kernel transport for all SCSI devices. Since then, ATAPI drives are
handled different from other SCSI devices. The problem is that
the linux maintainers intentionally reduce the information that
is available in the kernel and this way prevent to allow libscg to
only show only unique drives.
libscg now tries to map ATAPI drives to SCSI bus numbers >= 1000.
cdrecord -scanbus should now show even ATAPI drives. This allows
cdrecord/readcd/cdda2wav to implement the auto-target feature even
on Linux.
Rscsi:
- New interface function scg_numbus() returns the number of SCSI busses.
This is implemented via the new emote function "N".
Cdrecord:
- The messages for the auto-target function are now printed on stderr
to avoid problems with merged output from stdout.
- The atip information now includes enhanced rzone information
with dual layer values.
- struct rzone_info now includes the DVD/DL enhancements from MMC
- print_diskinfo() enhanced for DVD support
- New option -minfo/-media-info to print Media information/status
Cdda2wav (By Heiko Eißfeldt heiko@hexco.de):
- Trying to support FreeBSD Kernel under non-FreeBSD (GNU) userland
- The messages for the auto-target function are now printed on stderr
to avoid problems with merged output from stdout.
Readcd:
- The messages for the auto-target function are now printed on stderr
to avoid problems with merged output from stdout.
Mkisofs (By Jörg Schilling and James Pearson j.pearson@ge.ucl.ac.uk):
- Trying to support FreeBSD Kernel under non-FreeBSD (GNU) userland
- Now correctly default to "mac-roman" coding with Apple HFS.
- Trying to better support correct graft-point handling after
2.01.01a20 is the first release that correctly handles the vanilla case
Thanks to a hint from Udo Büdel
- Trying to better handle overlapping directory names.
Thanks to a hint from Thomas Flock
NEW features of cdrtools-2.01.01a22:
All:
- Correctly cast all open(name, oflag, 0666) calls to:
open(name, oflag, (mode_t)0666) as open is a vararg function.
Libscg:
- Try to deal with broken Linux distributions that do not provide a "HZ" macro
in /usr/include/sys/param.h
- Use USER_HZ in favor of HZ (if available) for computing SCSI timeout values.
- Disable automatic ATA (dev(hd*) integration and scan on pre-Linux-2.6 systems.
- Try to skip non-POSIX compliant EROFS error codes when opening /dev/hd*
Cdrecord:
- prdiskstatus() which is supporting cdrecord -minfo is now a globally implemented
function.
- cdrecord -minfo extended to print TOC related media info.
The new option -minfo is now almost complete.
- cdrecord -scanbus now defaults to scan 1024 SCSI busses in case that the "numbus"
function is not yet available on a remote RSCSI server.
- Make cdrecord -msinfo print the right values for "multi-session" (multi-border)
DVD-R and DVD+R.
- cdrecord -atip output for DVD media enhanced and updated for DVD+R/DL & HD-DVD
Cdda2wav (Maintained/enhanced by Jörg Schilling, originated by Heiko Eißfeldt heiko@hexco.de):
- cdda2wav -scanbus now defaults to scan 1024 SCSI busses in case that the "numbus"
function is not yet available on a remote RSCSI server.
Readcd:
- readcd -scanbus now defaults to scan 1024 SCSI busses in case that the "numbus"
function is not yet available on a remote RSCSI server.
Mkisofs (By Jörg Schilling and James Pearson j.pearson@ge.ucl.ac.uk):
- New options -posix-H/-posix-L/-posix-P implement the -H/-L/-P options
defined by POSIX.1-2001 for descending commands like ls/chmod/chown/find/pax/...
Future versions of mkisofs will implement these options under their original
names -H/-L/-P. The current version of mkisofs cannot implement them as
previous versions did implement different functionality with -H and -P.
- mkisofs called without any parameters or called with an illegal option
now prints a short overview of the most important options in 80x24 chars.
All:
- Schily includefiles are now installed with "make install".
- Try to avoid a program execption with a call to access(".", E_OK|F_OK)
caused by a libc bug from the Microsoft C-compiler "cl".
Libschily:
- mem.c moved from libfind to libschily
Libscg:
- Warn Linux users to prefer dev=ATAPI: over dev=ATA:
- Print correct error message (using the right errno) in case that
libscg tries to open more than one file on Solaris.
Cdrecord:
- Cdrecod now default to the write mode "-sao" in case that no write mode
has been specified. Cdrecord -multi continues to default to -tao.
If your drive does not support -sao, or if cdrecord does not support -sao
for your drive, you should now call cdrecod -tao.
- If no dev= option has been specified or of dev= only contains a SCSI transport
specifyer but no address, cdrecord now searches the SCSI address space and
if exactly one CD-ROM drive is found, this drive is used.
Note that this will not work on user unfriendly platforms that do not allow
SCSI address scanning or that do not allow to scan for SCSI drives in a single
address space (like Linux) this new feature does not work.
The two modifications from above now allow dummies to call "cdrecord iso-image"
in case they are on a user-friendly OS that allows "cdrecord -scanbus" without
any further parameters to find all CD-ROM drives.
- "cdrecord file file" now works.
Cdda2wav (By Heiko Eißfeldt heiko@hexco.de):
- If no dev= option has been specified or of dev= only contains a SCSI transport
specifyer but no address, cdda2wav now searches the SCSI address space and
if exactly one CD-ROM drive is found, this drive is used.
Note that this will not work on user unfriendly platforms that do not allow
SCSI address scanning or that do not allow to scan for SCSI drives in a single
address space (like Linux) this new feature does not work.
Readcd:
- If no dev= option has been specified or of dev= only contains a SCSI transport
specifyer but no address, readcd now searches the SCSI address space and
if exactly one CD-ROM drive is found, this drive is used.
Note that this will not work on user unfriendly platforms that do not allow
SCSI address scanning or that do not allow to scan for SCSI drives in a single
address space (like Linux) this new feature does not work.
Mkisofs (By Jörg Schilling and James Pearson j.pearson@ge.ucl.ac.uk):
- Print "correct inode" info on stderr in order to avoid problems
from mkisofs | cdrecord in multi session mode. Thanks to a report
from Oliver Valencia.
- Hide /rr_moved by default.
- Do not count /rr_moved for the link count of /
All:
- A small restructuring of the include file structure:
new file include/schily/xconfig.h
include/schily/xmconfig.h now only contains manual static configuration
2 for VMS
- The Makefilesystem now inclucdes links for sparc64 (Fujitsu-Siemens)
Libschily:
- Fixed a typo in fconv.c that caused problems on IBM AIX5.
Libfind:
- -perm now correctly recognises argument parsing errors by
dealing with the fact that mode_t is unsigned.
Cdrecord:
- Renamed getdelim() to getworddelim() to avoid a name clash in Cygwin.
Note that there is still a name clash on Cygwin with getline(). As this
is a hard POSIX violation caused by Cygwin, you need to edit Cygwin's
/usr/include/stdio.h and remove the non-conforming Cygwin getline()
if you like to compile cdrtools. Please also make a bug report against
Cygwin. Tell the Cygwin people that libschily's getline() is compilant
to a commercial interface published since 1982. Cygwin needs to use a
different name if they don't like to follow the official getline()
prototype.
- The manual layer break code has been modified to deal with the different
GCC behavior with signed/unsigned comparison.
Cdda2wav (By Heiko Eißfeldt heiko@hexco.de):
- New Option ts= # similar to cdrecord's and readcd's options.
This allows to work around a Linux kernel bug that prevents
cdda2wav to be usable with USB drives. To work around this
Linux bug try cdda2wav ts=128k or less.
Mkisofs (By Jörg Schilling and James Pearson j.pearson@ge.ucl.ac.uk):
- mkisofs -T & mkisofs -b boot_file now work correctly.
This fixes a bug introduced with 2.01.01a18
- Deep directory abortion now happens from the right place, so
mkisofs will allow files but no sub-dirs inside the last
permitted directory nesting level.
- Mkisofs will now correctly ignore deep directory nesting
in no Rock Ridge mode with mkisofs -find
- mkisofs -find dir will now correctly deal with Rock Ridge deep
directory relocation.
- Some small compile problems on Cygwin (caused by a unsigned int
vs. UInt32_t clash) have been fixed. Thanks to Uwe Büdel for reporting.
- Symlinks now work in mkisofs -find mode too.
- .. directory in rr_moved now gets the correct mode
- graft dirs now work even if they cause Rock Ridge deep
directory relocation.
All:
- Fixed some files that did include <avoffset.h> instead of <schily/avoffset.h>
- Trying to make the floating point printf() support functions work
on systems that implement C99 only with no fallback.
As this change is a result from a report from a person that does not like
to cooperate, I was not able to test on the reported AIX-5.x platform.
Also note that this change may result in problems on other platforms.
Please test and report!
- The Schily Makefilesystem now includes environment definitions
for the Microsoft Studio 8 compiler. If you like to edit these
definitions, check the DEFAULTS directory
- Next step in supporting Microsoft C-compilers: build in environment
set up for the MS compilers. To compile with the MS C-Compiler,
set up a Cygwin environment and compile a Cygwin 'smake'.
Then use this smake to comile with the MS C-compiler by calling:
smake CCOM=cl
This defaults to VC7. If you like to use VC6, call:
smake CCOM=cl VC=6
Note that smake itself (if compiled with "cl") will not work, as
MS does not implement a reliable way to pass a quoted arg vector
to a new program.
Note that cdrtools do not yet completely compile with MSVC. This
is mostly caused by missing standard comliance in the MS C-compilers.
Cdrecord:
- Fixed a bug introduced with 2.01.01a17 that caused cdrecord to complain about
an illegal layer breadk value if called with a single layer DVD and another
driveropts= option. Thanks to Monika Schillling
Mkisofs (By Jörg Schilling and James Pearson j.pearson@ge.ucl.ac.uk):
- Implement a new "correct inode number" algorithm for zero length files.
- Implement a fingerprint that allows to check whether a ISO-9660 file
system image has been created by a new mkisofs and inplements the
new "correct inode number" algorithm.
- Implementing the new Rock Ridge (rrip) protocol version 1.12 from 1994.
Mkisofs before implemented the old rrip version 1.10 from 1993.
- New option -rrip110 to disable the "new" 1994 Rock Ridge version.
This option may be needed if you know of a system that does not deal with
RRip V-1.12. Currently no such system is known.
- Using better (more portable) values for some special "inode" numbers.
- Implement correct hard link counts for directories and files with Rock Ridge
- Mkisofs cannot live without libschily anymore. For this reason, the
#ifdef USE_LIBSCHILY code has been removed.
- Better & faster hashing:
- Better hach function in hash.c for more balanced hash tree
- Number of hash root entries enhanced from 1024 to 16*1024
- Avoid string compare in find_file_hash()
- Corrected check algorithm, for non-zero-length files that are assigned
to a zero extent
- Avoid uncached entries to clash with real inode numbers.
- Print correct number of written extents in multi session mode.
- All ISO-9660 numbers now correctly use the type UInt32_t
- Convert type of all extent number related variables to UInt32_t
- Use inode caching by default on newer Cygwin releases that use
64 bit inode numbers.
pkgsrc changes: change two-step replacement to one-step (getting
rid of some patches).
Remove fgetstr patch that isn't needed any longer.
Upstream changes:
All:
- make file system restructured: all Schily include files are now located
in ..../include/schily/
- Now using new definitions from Steven M. Schweda in
include/schily/xmconfig.h
VMS users: in future, you need to specify cc -DUSE_STATIC_CONF
in order to get the old static configuration.
- new file schily/errno.h
Libfind:
- Next development step makes libfind usable by star again
Cdrecord:
- New option driveropts=layerbreak switches DVD-R/DL into layer jump mode
- New option driveropts=layerbreak=value sets manual layer break
- cdrecord -prcap now also printf the MMC4 profile list and the feature list
- SCSI MMC4 print feature codes enhanced
- SCSI MMC4 print feature now knows more cecent feature numbers
- "gconf" ebug code removed - no longer needed
- print formated capacity values with cdrecord -atip
Mkisofs (By Jörg Schilling and James Pearson):
- Fixed a bug that could cause mkisofs to core-dump in multi session
mode. Thanks to Fukuhara Kazuhiko
for reporting the bug.
All:
- #undef SIZE_T_MAX in utypes.h for better FreeBSD support
Cdrecord:
- New test for DVD-R/DL layer jump write capability
- Starting to implement a new default write modethat is not always TAO
but fits best to the current writer and medium.
Readcd:
- readcd mschpoints=# -factor now prints correct CD speed factors
as it now correctly computes sector size.
Mkisofs (By Jörg Schilling and James Pearson):
- Fixed some typos, thanks to Vitezslav Samel
- Cstyle fixes
- Fxed a bug with an unitialized variable introduced in 2.01.01a14
This could have caused many different problems!
- Abort writing in case the function xfwrite() gets called with size 0.
- isodebug now finds debug desciptor even when the medium includes a
UDF Filesystem.
All:
- include file system completely restructured to avoid future name conflicts.
The include files now have completely moved to include/schily/.
This also allows to make all include files available in /usr/include/schily/
in the future.
- fixed a type in include/schily/termios.h thanks to Steven M. Schweda for
reporting.
- All libraries now include support for compiling the code as shared library.
The code has been tested on Solaris but should also work in *BSD and Linux.
In order to compile with shared libraries, either call:
make LINKMODE=dynamic
or change the line
DEFLINKMODE= static
to
DEFLINKMODE= dynamic
for your os in DEFAULTS/Defaults.<os_name>
I am interested in feedback for various OS platforms........
- The order for compiling the libraries has been changed to make the
compile process insensitive against old static libraris in the
library search path.
- New Schily autoconf text for gettext() and libintl
- include/schily/nlsdefs.h now also checks for the exstance of HAVE_GETTEXT
Libfind:
- libfind no longer uses static global data. This version of libfind
is the first real library version that even allows to implement
the find(1) program in less than 200 lines of code.
Cdrecord:
- cdrecord now supports to set the layer break for DVD+R/DL.
This reduces the write time but as there is currently no way
to specify the layer break by hand, dual layer DVD-Video does
not yet work.
- cdrecord -atip now also prints the rzone info for DVD+ media
- cdrecord -atip now prints more information for DVD-R/DL media
- cdrecord now also supports to write to DVD-RAM
Cdda2wav (By Heiko Eißfeldt heiko@hexco.de):
- Fixed a typo in scsi_cmds.c thanks to Steven M. Schweda for reporting.
Mkisofs (By Jörg Schilling and James Pearson j.pearson@ge.ucl.ac.uk):
- Fixed a buggy error message (a result from the option parser
rewrite, thanks to Steven M. Schweda for reporting.
- Makefile now uses $(LIB_INTL) because of gettext() in libfind
All:
- Fixed a bug in getvargs() that caused mkisofs -joliet-long to be
declared as illegal option.
- Several small format enhancements for getargs()
- getavrgs() is now (like getargs()) able to correctly handle
combinations of single char boolean flags
Mkisofs (By Jörg Schilling and James Pearson j.pearson@ge.ucl.ac.uk):
- man page extended to include a description for the -find
option.
- Added $(LIB_ACL) tp the mkisofs Makefile to allow the code from
libfind to link properly on all OS.
- Fixed several small problems with option parsing caused by the
change from GNU getopt_long to getvargs()
Thanks to İsmail Dönmez & scdbackup@gmx.net & Sebastian Trüg
- Changed '%' option format specifier to '%0' to reflect a small
enhancement in libschily.
- Better checks and better error messages for mkisofs -dvd-video
Mkisofs now correectly checks for the existence of a directory
"VIDEO_TS" in the root diretory of the media.
- mkisofs -find now allows to use -graft-points
- mkisofs -find now allows to use -path-list
NEW features of cdrtools-2.01.01a13:
All:
- libschily now includes a fallback fnmatch() for better portability
This fnmatch() implementation has been taken from th BSD project.
Libfind:
- The libfind code (developed as part of the sfind(1) command) has been added
in order to support "mkisofs -find ..."
Mkisofs (By Jörg Schilling and James Pearson j.pearson@ge.ucl.ac.uk):
- mkisofs now includes libfind and allows to use the find(1) command line
syntay to be used.
The new -find option acts as a option separator. To the right of the
-find option, find(1) syntax is used. No other mkisofs option may
appear anymore.
Files are considered to be taken into the .ISO image in case that the
find(1) expression used on the command line yields TRUE.
In addition to the find(1) utility, libfind allows to modify the stat(2)
data for each file before it is included in the .ISO. The following
find(1) primaries are implemented for this feature:
-chmod mode/onum Modify the permissions for a file usinf the
chmod(1) syntax.
This primary always yields TRUE
-chown uname/uid Modify the owner for a file.
This primary always yields TRUE
-chgrp gname/gid Modify the group for a file.
This primary always yields TRUE
The command line: "mkisofs -o image.iso -R -J somedir"
may be written as: "mkisofs -o image.iso -R -J -find somedir"
to give the same results as before.
The command line:
mkisofs -o image.iso -R -J -find somedir -chmod a+r -chown root -chgrp 0
will ensure that all files will have at least read permission for all users
and set the user/group to 0.
The command line:
mkisofs -o image.iso -R -J -find somedir ( -type d -chown root ) -o -true
will change the owner of all directories to root, leaving other file
types untouched.
Graft points are not yet implemented in -find mode.
- removed fnmatch.c
mkisofs now uses the fnmatch() implementation from the OS if present
and the fallback version from libschily if fnmatch() is missing in the OS.
NEW features of cdrtools-2.01.01a12:
All:
- New function strlcpy() for better portability.
- New function strncpy() for better portability.
- Enhanced Makefile system for better MSVC support
- Enhanced Makefile system for C++ support
- Fixed some typos in dirdefs.h
- New functions getvallargs()/getvargs()/getvfiles()
allow to have a vector based interface to the
advanced argument parsing library functions.
Currently used by mkisofs.
- getargs.c is now at up to date again and libschily
from cdrtools is 100% complete and may be used
as a shared library to be used by e.g. star too.
- Added a workaround for a core dump problem with
running avoffset.c on FreeBSD/sparc64 (gcc)
Cdrecord:
- Replace nice(-20) by nice(-NZERO)
Cdda2wav (By Heiko Eißfeldt heiko@hexco.de):
- Replace nice(-20) by nice(-NZERO)
- Renamed Inquiry() by ScsiInquiry() for better VMS support
- Fixed an unsigned comparison with zero in resample.c
- Fixed a printf format string with short argument.
Mkisofs (By Jörg Schilling and James Pearson j.pearson@ge.ucl.ac.uk):
- Replaced GNU getopt_long() by getargs(). This has been done for
several reasons:
- Get rid of the annoying oddities/bugs of GNU getopt_long()
- Use a unique option parser for all programs from cdrtools.
- Find a way to better deal with historic badly planned
options. These problems are caused by the fact that
several options that take arguments start the same way.
With GNU getopt_long, there is no clean way to deal with
the resulting problems. getargs() allows to specify
whether an option needs to have a space between the option
name and the argument or not.
- Make the code easier to understand and to maintain.
- Segregation of option parsing and option conflict checking.
- Code size reduction.
Note that the intention is that all options still behave as documented
in the man page. If you have problems with scripts, first check whether
your usage is aligned with the the documentation or whether you did
depend from a side effect from GNU getopt_long before sending a bug
report.
- Fixed an Eltorito Boot bug that happenes together with
ISO-9660:1999
- Added some patches for better VMS portability from Steven M. Schweda
sms@antinode.org
All:
- The makefile system has been completely rewritten to be more reusable
and to not replicate code.
- The makefile system now supports to compile under "Services For Unix",
a free POSIX add on from Microsoft (identifies as "Interix").
Note that you need the latest 'smake' relase smake-1.2a36 or never
from ftp://ftp.berlios.de/pub/smake/alpha/
Currently, cdrecord is not able to send SCSI commands from this
environment. I am looking for help from experienced users.
- The makefile system now supports to compile using the Microsoft
C-Compiler "cl".
Note that you need the latest 'smake' relase smake-1.2a36 or never
from ftp://ftp.berlios.de/pub/smake/alpha/
This compilation currently may only be cone from a "Cygwin" environment
using smake with the Environment variables set up in a way that allows
"cl" to work (find it's include files and libraries).
Run "smake CCOM=cl" for this kiond of compilation.
Cdrecord has not yet been verified to compile in this environment.
Note that I am interested in feedback for these new compile possibilities.
Cdrecord:
- Avoid a GCC warning in the code that works around a Linux DMA residual bug.
Cdda2wav (By Heiko Eißfeldt heiko@hexco.de):
- Some modifications needed because of the restructured makefiles.
All:
- The file "CONTRIBUTING" has been updated.
Libscg:
- scsi-apollo.c & scsi-hpux.c indented properly to follow Cstyle
- scsi-linux-ata.c cast added to avoid strange warning from GCC
caused by bad coding style in the Linux kernel.
- scsi-linux-ata.c trying again to add workarounds for new Linux
Kernel self-incompatibilities: Adding the same uid workaround
as for scsi-linux-sg.c. Note that I am not sure if this is the
only incompatibility that has been added with Linux-2.6.16, it may
be that they did also break the behavior of seteuid().
Please help me with further testing and debugging.
I am however short before giving up completely with Linux.
Cdrecord:
- Fixed a typo in defaults.c & scsimmc.h
- Fixed a bug (ignoring DVD+R/DL media) that has been introduced
with cdrecord-2.01.01a09 when trying to work around a Pioneer
firmware problem.
- Introduced a better DMA speed test that now hopefully notices
all cases when the SCSI read buffer command does not work.
- Print the physical drive buffer size in addition to the logical
drive buffer size when both differ.
- Added a workaround for a NEC DVD firmwarebug that caused cdrecord
to use the CD write speed instead of the DVD write speed.
- Added a workaround for the fact that some NEC writers return a too
small size for half written DVD+RW (use end_lba from GET PERFORMANCE
in this case).
- Better error messages in case of no track options that are called
together with file type arguments.
- Added new Mt.Fuji6 profile texts for HD-DVD and Blu ray writers.
Cdda2wav (By Heiko Eißfeldt heiko@hexco.de):
- Fixed several typos that have been introduced with 2.01.01a09 and that
did prevent compilation on Linux, FreeBSD and Cygwin.
Readcd:
- New experimental option -edc-corr. This has already been added with
2.01.01a09 but forgotten to list here.
Module Name: pkgsrc
Committed By: drochner
Date: Sat May 27 10:55:52 UTC 2006
Log Message:
get default OSS sound device from oss.buildlink3.mk, so that "cdda2wav -e"
just works
Major new feature: dvd support.
Here's the complete announcement:
The license of many programs has been modified. Here is the current state:
btcflash/
A firmwareflash program (CDDL)
Note: uses libscg
cdda2wav/
A DAE program (CDDL)
Note: uses libscg
cdrecord/
A CD/DVD-recording program (CDDL)
Note: uses libscg
conf/
The Schily Autoconf program (GPL)
Support shell scripts for the Schily Makefile system (CDDL)
DEFAULTS/
Default files for the Schily Makefile system (CDDL)
DEFAULTS_ENG/
Default files for the Schily Makefile system (CDDL)
inc/
Support C-Files for the Schily Makefile system (CDDL)
include/
Support H-Files for the Schily Makefile system (CDDL)
libdeflt/
A lib for accessing files under /etc/default/ (CDDL)
libedc/
A Reed Solomon Encoder and Decoder (CDDL)
libfile/
A lib that implements the 'file' command (GPL)
libhfs_iso/
HFS support lib (GPL)
libparanoia/
CD paranoia CD-DAE support lib (LGPL)
librscg/
A remote SCSI-generic transport lib (CDDL)
This code may only be used together with other
code that is under an approved OpenSource license,
see http://www.opensource.org/.
libscg/
A local SCSI-generic transport lib (CDDL)
This code may only be used together with other
code that is under an approved OpenSource license,
see http://www.opensource.org/.
libschily/
The schily basic support library (CDDL)
libunls/
A simple iconv replacement (GPL)
mkisofs/
A ISO-9660/Rock-Ridge/Joliet/HFS/UDF filesystem formatter (GPL)
Note: uses libscg
readcd/
A CD/DVD read utility (CDDL)
Note: uses libscg
rscsi/
The remote SCSI generic transport daemon (CDDL)
Note: uses libscg
RULES/
The main part of the Schily Makefilesystem (CDDL)
scgcheck/
The libscg interface comliance check program (CDDL)
Note: uses libscg
scgskeleton/
A libscg skeleton demo program (CDDL)
Note: uses libscg
TARGETS/
Slot support for the Schily Makefile system (CDDL)
TEMPLATES/
Template support for the Schily Makefile system (CDDL)
For more information on the CDDL read the file CDDL.Schily.txt
For more information on the GPL read the file GPL-2.0.txt
For more information on the LGPL read the file LGPL-2.1.txt
All:
- Today, I happily announce new features and the release of the DVD-code
into the OpenSource. After long discussions with various people on
OpenSource Licenses and their effects on interproject usage and the
effect on the authors themselves, I contacted the authors of included
parts in this software suite and got, in most cases their support and
grant on selecting the CDDL as the new license. Altough this took some
time, it was worth reading the different OpenSource licenses completly
with some support of people working in that field.
Now I know why it took Sun so much time to offer OpenSolaris under
an OpenSource license...if you take a license change seriously, it is
a real hard job.
Libparanoia (Ported by Jörg Schilling, originated by Monty xiphmont@mit.edu):
- Changed from GPL to LGPL with permission from Monty.
Libedc (Optimized by Jörg Schilling, originated by Heiko Eißfeldt heiko@hexco.de):
- Changed from GPL to CDDL with permission from Heiko
- New Reed Solomon decoder from Heiko allows to repair defective
CD-ROM sectors. Note that this code is from ~ Y2000 and note that
I did discuss OpenSource activities for the Reed Solomon Decoder
and the Cdrecord DVD support code with Heiko at that time.
We did agree in 2000 to make both OpenSource at the same time.
Libscg:
- Changed from GPL to CDDL
This code may only be used together with other
code that is under an approved OpenSource license,
see http://www.opensource.org/.
Rscsi:
- Changed from GPL to CDDL
Cdrecord:
- Changed from GPL to CDDL
- Moved the DVD support code to the OpenSource part.
Note that this has been planned in 1998 already. The plan
was to make the DVD support code OpenSource at the time when
the sucessor of the DVD becomes ready.
In case you do not know the reason why the DVD support
code has not been OpenSourced bofore....Cdrecord is the 3rd
program that did start suporting DVD-R. This was in February 1998.
A company from the MS-WIN area did steal my libscg code
in a way that made it hard if not impossible to sue them.
This company did implement DVD support very late (not much
more than a year ago) and I did not like to "help" them again.
Cdda2wav (By Heiko Eißfeldt heiko@hexco.de):
- Changed from GPL to CDDL with permission from Heiko
- Code now has been completeley reindented to follow the "Cstyle"
rules. As this did result in touching more than 50% of the
code, and as some of the code is platform specific I cannot grant
that I did not introduce bugs. Please test, in special on
platforms other than Solaris.
Readcd:
- Changed from GPL to CDDL
Scgcheck:
- Changed from GPL to CDDL
Scgskeleton:
- Changed from GPL to CDDL
Btcflash:
- Changed from GPL to CDDL
NEW features of cdrtools-2.01.01a08:
Cdda2wav (By Heiko Eißfeldt heiko@hexco.de):
- Started to make cdda2wav Cstyle compliant.
- Avoid to shutdown the whole system when kill(getppid(), SKGINT)
would result in kill -INT 1 because the parent cdda2wav is
dead and the child is orphaned and cdda2wav has been called by root.
- __FreeBSD_version >= 600021 have devmajor == 0 for all devices.
Thanks to Marius Strobl <marius@alchemy.franken.de> for reporting.
- General #ifdef structure related to FreeBSD in mycdrom.h now
corrected, thanks to Marius Strobl.
- Try to fix some FreeBSD/DragonFly related problems that have been
introduced with a06 when Heiko's changes from 2004 have been integrated
IMPORTANT: I need testers for FreeBSD and DragonFly BSD as
a result of the merge with the complex changes
from Heiko.
All:
- Autoconf script added to 'conf' directory
Cdrecord:
- Fixed a bug caused by an uninitalized variable when handling
CDR_MAXFIFOSIZE= and no file /etc/default/cdrecord exists
Cdda2wav (By Heiko Eißfeldt heiko@hexco.de):
- Write correct error info in case that BeOS/Zeta *_area() calls
fail.
- As Heiko did not work on cdda2wav during the past 2.5 years,
Heiko did hand over the SCCS history for cdda2wav.
- Autoconf test for <sys/cdio.h> added (FreeBSD)
- Some FreeBSD related changes from Heiko done in 2004
IMPORTANT: I need testers for FreeBSD and DragonFly BSD as
a result of the merge with the complex changes
from Heiko.
All:
- Better support for BeOS/Zeta in the makefile system
- Support for armv5teb-linux-cc was added to the makefile system
-
If you like all users to be able to call cdrecord root-less, you need
Solaris 10 or newer.
Edit the file /etc/security/exec_attr and add:
All:solaris:cmd:::/opt/schily/bin/cdrecord: privs=file_dac_read,sys_devices,proc_lock_memory,proc_priocntl,net_privaddr
All:solaris:cmd:::/opt/schily/bin/readcd: privs=file_dac_read,sys_devices,net_privaddr
All:solaris:cmd:::/opt/schily/bin/cdda2wav: privs=file_dac_read,sys_devices,proc_priocntl,net_privaddr
If you like to allow only specific user to use cdrecord,
use something like:
CD RW:solaris:cmd:::/opt/schily/bin/cdrecord: privs=file_dac_read,sys_devices,proc_lock_memory,proc_priocntl,net_privaddr
Also edit /etc/security/prof_attr
CD RW:::CD-R/RW Recording Authorizations:auths=solaris.device.cdrw
instead and make the users members of the profile "CD RW"
by adding a line like:
joerg::::profiles=CD RW
into /etc/user_attr
Note that you either need to call cdrecord via "pfexec cdrecord ....."
or by using a profile aware shell (e.g. /usr/bin/pfksh)
Libscg:
- BeOS/Zeta libscg low level adoption code fixed.
The code now is passing a "scgcheck" test.
Cdrecord:
- Adjust some timeouts to prevent that the drive buffer of
newer Pioneer DVD writers empties when writing high speed DVD
media.
- Support for BeOS/Zeta shared memory was added
- New tag CDR_MAXFIFOSIZE= in /etc/default/cdrecord allows to
limit the size of the FIFO cdrecord is using. This helps the
sysadmin to prevent other people from locking up the system.
Readcd:
- Support for BeOS/Zeta shared memory was added
- -scanbus behavior corrected
Scgcheck:
- Fixed DMA overrun test. BeOS/Zeta did pass the test but
scgcheck did complain before.
Scgskeleton:
- -scanbus behavior corrected
Btcflash:
- -scanbus behavior corrected
- man page added
Mkisofs (By Jörg Schilling and James Pearson j.pearson@ge.ucl.ac.uk):
- try to work around a GCC trigraph problem
- man pages for diag commands added
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.