[Debburn-devel] Suggestions

Nathanael Nerode neroden at fastmail.fm
Tue Sep 12 08:55:25 UTC 2006

(1) Merge changes made in dvdrtools.  dvdrtools forked from an even
earlier version of cdrtools, and all the additions are GPLv2-or-later.

(dvdrtools is in non-free solely because of the libscg "You may not" lines, which
are *also* present in cdrkit.  Um.... there's some small problem there.)

(2) Strip out all the cruft related to support for Linux kernel interfaces
other than the ones in Linux 2.6.

(3) Drop support for obscure operating systems, starting with the VMS support
files.  (All of those ".com" files are VMS build files -- there's no way those
are going to stay maintained, so remove them.)  I think several of the
proprietary Unices are clearly not worth supporting either.  You might want to
just go all-Linux (or Linux + *BSD); do you really care about non-free OS support?

(4) Phase out libscg altogether in favor of a 'new interface' of your own design.
A new interface will allow the removal of the "You may not" lines, which will
become totally irrelevant.  The libscg interface is bizarrely Solaris-centric, and
also excessively old-style-SCSI-centric, because it's a direct emulation of a hardware

>From the TODO for dvdrtools: 
"- Better support for writing directly to device files, without having
   to create fake SCSI bus mappings"

This will mean that Solaris support would require a translation layer, but that
can be provided as soon as a Solaris user cares.  :-)

(5) btcflash should not be part of the 'cdrecord' package; it should definitely
be a separate package.

(6) Rather than using the built-in hacked-up libparanoia, dynamically link to the
standard cdparanoia.

(7) Move the man pages to their own subdirectories instead of leaving them scattered
amidst the source code.

(8) Move all the old cdrecord/cdrtools changelogs, NEWS files, announcements, etc. to
one "old changelog" directory.  (a.k.a: get them out of the way)

(9) Break out mkisofs into an independent package; sever the links with
wodim/cdrecord/etc.  mkisofs shouldn't be messing around with SCSI, so it has
no excuse for using libscg, scsi_cdr.c, or modes.c (or indeed several of the other
files it uses).

This is apart from the existing suggestions other people have already made. :-)
Clearly the first priority should be the elimination of libschily, since it should
be relatively trivial.

More information about the Debburn-devel mailing list