Subject: CVS commit: pkgsrc/sysutils/cdrtools
To: None <pkgsrc-changes@NetBSD.org>
From: Thomas Klausner <wiz@netbsd.org>
List: pkgsrc-changes
Date: 09/18/2007 23:07:27
Module Name:	pkgsrc
Committed By:	wiz
Date:		Tue Sep 18 23:07:27 UTC 2007

Modified Files:
	pkgsrc/sysutils/cdrtools: Makefile PLIST distinfo
	pkgsrc/sysutils/cdrtools/patches: patch-ai patch-aj patch-ba patch-bb
	    patch-cf patch-cg patch-cj

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.


To generate a diff of this commit:
cvs rdiff -r1.18 -r1.19 pkgsrc/sysutils/cdrtools/Makefile
cvs rdiff -r1.1.1.1 -r1.2 pkgsrc/sysutils/cdrtools/PLIST
cvs rdiff -r1.9 -r1.10 pkgsrc/sysutils/cdrtools/distinfo
cvs rdiff -r1.4 -r1.5 pkgsrc/sysutils/cdrtools/patches/patch-ai
cvs rdiff -r1.2 -r1.3 pkgsrc/sysutils/cdrtools/patches/patch-aj \
    pkgsrc/sysutils/cdrtools/patches/patch-ba \
    pkgsrc/sysutils/cdrtools/patches/patch-bb \
    pkgsrc/sysutils/cdrtools/patches/patch-cf \
    pkgsrc/sysutils/cdrtools/patches/patch-cj
cvs rdiff -r1.3 -r1.4 pkgsrc/sysutils/cdrtools/patches/patch-cg

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.