README 30.1 KB
Newer Older
1
------------------------------------------------------------------------------
2
                              libburnia-project.org
3
------------------------------------------------------------------------------
4 5
This all is under GPL.
(See GPL reference, our clarification and commitment at the end of this text)
6
------------------------------------------------------------------------------
7
libburn-project.org
8
By Mario Danic <mario.danic@gmail.com> and Thomas Schmitt <scdbackup@gmx.net>
9
Copyright (C) 2006-2011 Mario Danic, Thomas Schmitt
10 11
Still containing parts of Libburn. By Derek Foreman <derek@signalmarketing.com>
and Ben Jansens <xor@orodu.net>
12
Copyright (C) 2002-2006  Derek Foreman and Ben Jansens
13

14
     http://files.libburnia-project.org/releases/libburn-1.0.2.pl00.tar.gz
15

16 17
------------------------------------------------------------------------------

18 19
                           Build and Installation

20
                                From tarball
21

22
Obtain libburn-1.0.2.pl00.tar.gz, take it to a directory of your choice and do:
23

24 25
   tar xzf libburn-1.0.2.pl00.tar.gz
   cd libburn-1.0.2
26
   ./configure --prefix=/usr
27 28
   make

29
To make libburn accessible for running resp. application development,
30 31
and to install the cdrecord compatibility binary cdrskin, do
(as Superuser):
32

33
   make install
34

35
This procedure installs libburn.so.4 and cdrskin depending on it.
36 37
For a standalone cdrskin binary, see cdrskin/README.

38 39 40 41 42
A behavioral conflict is known between any burn software and demons like hald
which probe CD drives. This can spoil burn runs for CD-R or CD-RW.
You may have to keep your hald away from the drive. See for example
   http://www.freebsd.org/gnome/docs/halfaq.html

43

44 45 46 47 48 49
                                  From SVN

Our build system is based on autotools. For preparing the build of a SVN 
snapshot you will need autotools of at least version 1.7. 
Do in a directory of your choice:

50 51
   svn co http://svn.libburnia-project.org/libburn/trunk libburn-svn
   cd libburn-svn
52 53 54 55 56 57 58 59
   ./bootstrap
   ./configure --prefix=/usr
   make
   make install

Warning: The trunk might contain experimental features which might not
         persist until next release. 

60 61 62

                        Special ./configure options

63 64 65 66 67
make install on GNU/Linux will try to run program ldconfig with the library
installation directory as only argument. Failure to do so will not abort
installation. One may disable ldconfig by ./configure option:
   --disable-ldconfig-at-install

68 69 70 71 72 73 74 75 76
In some situations Linux may deliver a better write performance to drives if
the track input is read with O_DIRECT (see man 2 open). The API call
burn_os_open_track_src() and the input readers of cdrskin and libburn fifo
can be told to use this peculiar read mode by:
   --enable-track-src-odirect

But often libburn call burn_write_opts_set_dvd_obs(opts, 64*1024) will yield
even better performance in such a situation. 64k can be made default at
configure time by:
77
    --enable-dvd-obs-64k
78
This may be combined with above --enable-track-src-odirect .
79

80 81 82 83
Alternatively the transport of SCSI commands can be done via libcdio-0.83.
You may install it and re-run libburn's ./configure with option
    --enable-libcdio

84 85 86 87 88 89
By use of a version script, the libburn.so library exposes no other function
names but those of the API definition in libburn/libburn.h.
If -Wl,--version-script=... makes problems with the local compiler, then
disable this encapsulation feature by
    --disable-versioned-libs

90 91 92 93 94
Make sure to re-compile all source files after running ./configure
   make clean ; make
   make install


95 96
------------------------------------------------------------------------------

97 98 99 100 101 102 103 104
An important part of the project, libisofs, is hosted in a bzr repository at
launchpad.net :
   bzr branch lp:libisofs

Another part the project, libisoburn, is hosted in the libburnia SVN, too:
   svn co http://svn.libburnia-project.org/libisoburn/trunk libisoburn

See README files there.
105

106 107
------------------------------------------------------------------------------

108

109
                        Overview of libburnia-project.org
110

111
libburnia-project.org is an open-source software project for reading, mastering
112
and writing optical discs.
113
For now this means CD media, all DVD media except DVD-R DL, all BD media.
114 115 116 117 118

The project comprises of several more or less interdependent parts which
together strive to be a usable foundation for application development.
These are libraries, language bindings, and middleware binaries which emulate
classical (and valuable) Linux tools.
119 120 121
Currently it is supported on GNU/Linux with kernels >= 2.4,
on FreeBSD with ATAPI/CAM enabled in the kernel (see man atapicam),
and on OpenSolaris (tested with kernel 5.11).
122 123
On other X/Open compliant systems there will only be pseudo drives, but no
direct MMC operation on real CD/DVD/BD drives.
124

125
For full ports to other systems we would need : login on a development machine
126 127
resp. a live OS on CD or DVD, advise from a system person about the equivalent
of Linux sg or FreeBSD CAM, volunteers for testing of realistic use cases.
128

129 130 131 132 133 134
We have a well tested code base for burning data and audio CDs, DVDs and BDs.
The burn API is quite comprehensively documented and can be used to build a
presentable application.
We have a functional application which emulates the core use cases of cdrecord
in order to prove that usability, and in order to allow you to explore
libburn's scope by help of existing cdrecord frontends.
135 136 137 138 139

ISO 9660 filesystems with Rock Ridge and Joliet extensions can be created
and manipulated quite freely. This capability together with our burn capability
makes possible a single binary application which covers all steps of image
composition, updating and writing. Quite unique in the Linux world.
140 141 142

The project components (list subject to growth, hopefully):

143
- libburn  is the library by which preformatted data get onto optical media.
144
           It uses either /dev/sgN (e.g. on kernel 2.4 with ide-scsi) or
145
           /dev/srM or /dev/hdX (e.g. on kernel 2.6).
146 147 148 149
           libburn is the foundation of our cdrecord emulation. Its code is
           independent of cdrecord. Its DVD capabilities are learned from
           studying the code of dvd+rw-tools and MMC-5 specs. No code but only
           the pure SCSI knowledge has been taken from dvd+rw-tools, though.
150

151
- libisofs is the library to pack up hard disk files and directories into a
152
           ISO 9660 disk image. This may then be brought to CD via libburn.
153 154
           An own ISO 9660 extension stores ACLs, xattr, and MD5 of file
           content.
155

156 157 158 159
- libisoburn is an add-on to libburn and libisofs which coordinates both and
           also allows to grow ISO-9660 filesystem images on multi-session
           media as well as on overwriteable media via the same API.
           All media peculiarities are handled automatically.
160 161
           It also contains the methods of command oriented application
           xorriso and offers them via a C language API.
162

163
- cdrskin  is a limited cdrecord compatibility wrapper for libburn.
164
           cdrecord is a powerful GPL'ed burn program included in Joerg
165
           Schilling's cdrtools. cdrskin strives to be a second source for
166 167 168
           the services traditionally provided by cdrecord. Additionally it
           provides libburn's DVD capabilities, where only -sao is compatible
           with cdrecord.
169 170 171
           cdrskin does not contain any bytes copied from cdrecord's sources.
           Many bytes have been copied from the message output of cdrecord
           runs, though.
172 173 174 175 176
           See cdrskin/README for more.

- xorriso  is an application of all three libraries which creates, loads,
           manipulates and writes ISO 9660 filesystem images with
           Rock Ridge extensions. Manipulation is not only adding or
177 178
           overwriting of files but also deleting, renaming, attribute
           changing, incremental backups, activating boot images, and
179 180
           extracting of files from ISO images to disk. There is also a
           sparse emulation of cdrecord and a more laborate one of mkisofs.
181 182
           All features of xorriso are also available via a C language API
           of libisoburn.
183
           See xorriso/README for more.
184 185 186 187 188

- "test"   is a collection of application gestures and examples given by the
           authors of the library features. The burn API example of libburn
           is named test/libburner.c . The API for media information inquiry is
           demonstrated in test/telltoc.c .
189
           Explore these examples if you look for inspiration.
190

191 192 193 194 195 196 197 198 199 200
We strive to be a responsive upstream.

Our libraries are committed to maintain older feature sets in newer versions.
This applies to source code headers (API) as well as to linkable objects (ABI).
The only exception from this rule is about non-release versions x.y.*[13579]
which are allowed to introduce new features, change those new features in
any way and even may revoke such new features before the next release of
x.y.*[02468]. As soon as it is released, a feature is promised to persist.

SONAMES:
Thomas Schmitt's avatar
Thomas Schmitt committed
201 202
libburn.so.4    (since 0.3.4, March    2007),
libisofs.so.6   (since 0.6.2, February 2008),
203
libisoburn.so.1 (since 0.1.0, February 2008).
204

205 206 207 208
Applications must use 64 bit off_t. E.g. by defining
#define _LARGEFILE_SOURCE
#define _FILE_OFFSET_BITS 64
or take special precautions to interface with the libraries by 64 bit integers
209 210
where the .h files prescribe off_t. To reduce libburn's off_t size to 32 bit
will keep it from processing tracks of more than 2 GB size.
211

212

213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229
------------------------------------------------------------------------------
Project history as far as known to me:

- Founded in 2002 as it seems. See mailing list archives
     http://lists.freedesktop.org/archives/libburn/
  The site of this founder team is reachable and offers download of a
  (somewhat outdated) tarball and from CVS :
     http://icculus.org/burn/
  Copyright holders and most probably founders:
  Derek Foreman and Ben Jansens.

- I came to using libburn in 2005. Founded the cdrskin project and submitted
  necessary patches which were accepted or implemented better. Except one
  remaining patch which prevented cdrskin from using vanilla libburn from CVS.
  The cdrskin project site is reachable and offers download of the heavily
  patched (elsewise outdated) tarball under the name  cdrskin-0.1.2  :
     http://scdbackup.sourceforge.net/cdrskin_eng.html
230 231 232
  It has meanwhile moved to use vanilla libburn.pykix.org , though.
  Version 0.1.4 constitutes the first release of this kind.

233
- In July 2006 our team mate Mario Danic announced a revival of libburn
234 235 236 237 238
  which by about nearly everybody else was perceived as unfriendly fork.
  Derek Foreman four days later posted a message which expressed his
  discontent.
  The situation first caused me to publically regret it and then - after i
  got the opportunity to move in with cdrskin - gave me true reason to
239
  personally apologize to Derek Foreman, Ben Jansens and the contributors at 
240 241 242 243
  icculus.org/burn. Posted to both projects:
    http://lists.freedesktop.org/archives/libburn/2006-August/000446.html
    http://mailman-mail1.webfaction.com/pipermail/libburn-hackers/2006-August/000024.html

244 245 246 247
- Mid August 2006 project cdrskin established a branch office in 
  libburn.pykix.org so that all maintainers of our tools have one single place
  to get the current (at least slightely) usable coordinated versions of
  everything.
248 249 250 251 252 253 254 255 256 257 258
  Project cdrskin will live forth independendly for a while but it is committed
  to stay in sync with libburn.pykix.org (or some successor, if ever).
  cdrskin is also committed to support  icculus.org/burn  if the pending fork
  is made reality by content changes in that project. It will cease to maintain
  a patched version of  icculus.org/burn  though. Precondition for a new
  release of cdrskin on base of  icculus.org/burn  would be the pending
  "whitelist patch" therefore.
  I would rather prefer if both projects find consense and merge, or at least
  cooperate. I have not given up hope totally, yet.
  I, personally, will honor any approach.

259 260 261 262 263 264 265 266 267
- 2nd September 2006 the decision is made to strive for a consolidation of
  copyright and a commitment to GPL in a reasonable and open minded way.
  This is to avoid long term problems with code of unknown origin and
  with finding consense among the not so clearly defined group of copyright
  claimers and -holders.
  libisofs is already claimed sole copyright Mario Danic.
  cdrskin and libburner are already claimed sole copyright Thomas Schmitt.
  Rewrites of other components will follow and concluded by claiming full
  copyright within the group of libburn.pykix.org-copyright holders.
268

269 270
- 16th September 2006 feature freeze for release of libburn-0.2.2 .

271 272 273 274 275 276
- 20th September 2006 release of libburn-0.2.2 .

- 26th October 2006 feature freeze for cdrskin-0.2.4 based on libburn-0.2.3 .
  This version of cdrskin is much more cdrecord compatible in repect
  to drive addressing and audio features.

277 278 279
- 30th October 2006 release of cdrskin-0.2.4 .

- 13th November 2006 splitting releases of libburn+cdrskin from libisofs.
280

281 282 283 284 285 286 287 288 289
- 24th November 2006 release of libburn-0.2.6 and cdrskin-0.2.6 . cdrskin has
  become suitable for unaware frontends as long as they perform only the core 
  of cdrecord use cases (including open-ended input streams, audio, and
  multi-session).

- 28th November 2006 the umbrella project which encloses both, libisofs and
  libburn, is now called libburnia. For the origin of this name, see 
  http://en.wikipedia.org/wiki/Liburnians .

290 291 292 293 294 295
- 16th January 2007 release of libburn-0.3.0 and cdrskin-0.3.0 . Now the scope
  is widened to a first class of DVD media: overwriteable single layer types
  DVD-RAM, DVD+RW, DVD-RW. This is not a cdrecord emulation but rather inspired
  by dvd+rw-tools' "poor man" writing facility for this class of media.
  Taking a bow towards Andy Polyakov.

296 297
- 11th February 2007 version 0.3.2 covers sequential DVD-RW and DVD-R with
  multi-session and with DAO.
298 299 300 301

- 12th March 2007 version 0.3.4 supports DVD+R and thus covers all single layer
  DVD media. Code for double layer DVD+/-R is implemented but awaits a tester
  yet.
302

303
- 23th April 2007 version 0.3.6 follows the unanimous opinion of Linux kernel
304
  people that one should not use /dev/sg on kernel 2.6.
305

306 307 308 309
- 31st July 2007 version 0.3.8 marks the first anniversary of libburn revival.
  We look back on improved stability, a substantially extended list of media
  and write modes, and better protection against typical user mishaps.

310 311 312 313 314 315
- 24th October 2007 version 0.4.0 is the foundation of new library libisoburn
  and an upcomming integrated application for manipulating and writing
  ISO 9660 + Rock Ridge images. cdrskin-0.4.0 got capabilities like growisofs
  by these enhancements: growing of overwriteable media and disk files.
  Taking again a bow towards Andy Polyakov.

316 317 318 319 320
- 26th Januar 2008 version 0.4.2 rectifies the version numbering so that we
  reliably release libburn.so.4 as should have been done since libburn-0.3.2.
  cdrskin now is by default linked dynamically and does a runtime check
  to ensure not to be started with a libburn which is older than itself.

321 322 323 324 325 326 327 328 329
- 3rd Feb 2008 libisofs-0.2.x (.so.5) has been deprecated.

- 14th Feb 2008 libisofs-0.6.2 permanently replaces the old libisofs-0.2.x. 
  It is the first release of new libisofs.so.6 which will guarantee future
  API/ABI compatibility for its whole feature set.

- 15th Feb 2008 libisoburn-0.1.0 (.so.1) coordinates libisofs and libburn for
  the purpose of ISO image reading and writing. It emulates multi-session on
  overwriteable media. Application xorriso makes use of all three libraries.
330

331 332 333
- 8th Apr 2008 libburn-0.4.4 has proven to be capable of burning to DVD+R/DL
  and read performance on disk file pseudo-drives has been improved.

Thomas Schmitt's avatar
Thomas Schmitt committed
334 335 336 337 338 339
- 27th Apr 2008 libisofs-0.6.4 can now read data file content from images
  and can map pieces of disk files onto image files. Image directory iteration
  has been enhanced. Input data streams and extended information have been
  exposed in the API to allow future development.

- 29th Apr 2008 libisoburn-0.1.4 was made more efficient with reading of
340
  image tree nodes. It now depends on libisofs-0.6.4 and libburn-0.4.4.
Thomas Schmitt's avatar
Thomas Schmitt committed
341 342
  xorriso makes use of new libisofs features by performing incremental
  updates of directory trees and by cutting oversized data files into
343
  pieces. A primitive single session emulation of cdrecord and mkisofs is
Thomas Schmitt's avatar
Thomas Schmitt committed
344
  provided.
345

346 347 348 349
- 10th May 2008 libburn-0.4.6 supports formatting and writing of BD-RE,
  full nominal speed for DVD-RAM and BD-RE. cdrskin has a unified blank
  type with automatic media state recognition.

350 351 352
- 17th May 2008 an old bug with DVD-RAM and now with BD-RE is fixed by
  libburn-0.4.8 to allow libisoburn emulation of multisession on those media.

Thomas Schmitt's avatar
Thomas Schmitt committed
353 354 355 356 357 358
- 19th May 2008 libisoburn-0.1.6 brings better table-of-content emulation
  on overwriteble media and disk files.

- 1st Jun 2008 libisofs-0.6.6 fixes some problems around device files.

- 3rd Jun 2008 libisoburn-0.1.8 fixes a bug with overwriteable media.
359

360 361 362 363 364 365
- 23rd Jun 2008 libisoburn-0.2.0 introduces extraction of files from
  ISO images.

- 16th Jul 2008 libburn-0.5.0 handles systems with no /dev/sr* but only
  /dev/scd*.

366 367 368 369 370 371 372
- 19th Jul 2008 libisoburn/xorriso-0.2.2 can do multi-session in mkisofs
  and cdrecord style. xorriso now can serve underneath growisofs.

- 20th Aug 2008 libburn-0.5.2 revokes the necessity that a drive must be
  enumerable in order to be adressable. Enumeration is enhanced by examining
  /proc/sys/dev/cdrom/info.
  
373 374 375
- 24th Aug 2008 libisoburn/xorriso-0.2.4 introduces a media readability check
  with data retrieval option.

376 377 378 379 380
- 18th Sep 2008 libisofs-0.6.8 supports ISO 9660 Level 3 which allows very
  large data files in the image.

- 20th Sep 2008 libisoburn/xorriso-0.2.6 takes into respect the new Level 3
  capabilities of libisofs. 
381

382 383 384
- 6th Oct 2008 libburn-0.5.4 adjusts the changes of 0.5.2 to the needs of
  Linux kernel 2.4 and introduces human readable SCSI error messages.

385 386 387 388 389 390 391 392 393
- 6th Oct 2008 libisofs-0.6.10 fixes two bugs which prevented adding and
  manipulation of ISOLINUX boot images.

- 15th Oct 2008 libisoburn/xorriso-0.2.8 can activate and maintain an
  ISOLINUX boot image by an EL Torito boot record.

- 12th Nov 2008 libburn-0.5.6 fixes usage of freed memory by the fifo thread
  of an aborted burn run.

Thomas Schmitt's avatar
Thomas Schmitt committed
394 395 396 397 398 399 400 401 402 403 404
- 26th Nov 2008 libisofs-0.6.12 can produce a ISOLINUX isohybrid MBR on the fly
  and allows to produce ISO images which resemble old mkisofs images.

- 2nd Dec 2008 libisoburn-0.3.0. xorriso now is ready for exotic character
  sets, for legacy FreeBSD systems which expect an outdated Rock Ridge
  signature, and for producing ISO images with MBR which boot from hard disk
  or USB stick. Three minor bugs were fixed.

- 7th Dec 2008 libburn-0.5.8 prevents a SIGSEGV with wierd CD table-of-content
  and improves BD-RE formatting.

405 406
- 9th Dec 2008 Our project received a donation from Thomas Weber.

407 408 409
- 2nd Jan 2009 libburn-0.6.0 allows to format BD-R and to write to either
  formatted or unformatted BD-R.

410 411 412
- 6th Jan 2009 libisoburn-0.3.2. xorriso can produce and execute commands for
  mounting older sessions from all kinds of media. Pseudo-drives outside the
  /dev/ tree can be addressed without prefix "stdio:". 
413 414 415 416

- 20th Feb 2009 libburn-0.6.2 source release now compiles out of the box
  on FreeBSD.

417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432
- 28 Feb 2009 libisofs-0.6.14 can record ACLs and Extended Attributes xattr
  in its ISO images. 

- 01 Mar 2009 libisoburn-0.3.4. xorriso makes use of the ACL and xattr
  capabilities provided by libisofs for xorriso backup features.

- 11 Mar 2009 libisofs-0.6.16 of libisofs fixes two bugs which on Solaris
  prevented to navigate the ISO images by ".." and to recognize the Rock Ridge
  extensions of ISO images. The ban to build libisofs on operating systems
  other than Linux and FreeBSD has been lifted.

- 13 Mar 2009 libburn-0.6.4 got a dummy adapter for SCSI/MMC command transport.
  It will show no drives and thus libburn will only be able to perform
  operations on "stdio:" pseudo drives. Nevertheless this allowed to lift the
  ban to build libburn on operating systems other than Linux and FreeBSD.

433 434 435 436 437 438 439 440 441 442 443 444 445
- 16 Mar 2009 libisoburn-0.3.6: xorriso uses RRIP version 1.10 as default 
  in order to be mountable where mkisofs images are mountable.

- 17 Apr 2009 libisofs-0.6.18 introduces content filtering of data files.
  Built-in filters allow compression to formats gzip and zisofs. External
  filter processes allow arbitrary data conversions like encryption.

- 19 Apr 2009 libisoburn-0.3.8 makes use of the new libisofs capability to
  perform content filtering of data files.

- 08 May 2009 libburn-0.6.6 fixes a bug with aborting on broken output pipe
  and a bug with device scan on FreeBSD.

446 447 448 449 450 451 452 453 454 455 456 457
- 31 May 2009 libisofs-0.6.20 can record hard link relations in ISO images
  and offers support with restoring them to disk. Current Linux kernels will
  mount images with such hard links but will attribute a unique inode number
  to each file.

- 28 Jun 2009 libisoburn-0.4.0: xorriso can record and restore hard link
  relations of files. Performance of data reading has been improved. Option
  -find now supports logical operators with its tests.

- 14 Jul 2009 libburn-0.6.8 fixes bugs and shortcommings with old MMC-1 drives
  and with large SCSI bus numbers as handed out by Linux for USB drives.

458 459 460 461 462 463 464 465 466 467 468 469
- 20 Jul 2009 libisoburn-0.4.0.pl01 fixes a regression in xorriso which caused
  data loss in older sessions if xorriso was used underneath growisofs.
  Affected are releases since libisoburn-0.3.2 in january 2009.

- 25 Aug 2009 libisofs-0.6.22 can record MD5 checksums for the whole session
  and for each single data file. Checksum tags allow to verify superblock and
  directory tree before importing them.

- 27 Aug 2009 libburn-0.7.0 allows to calm down a drive and to inquire its
  supported profiles. It works around some pitfalls with U3 enhanced memory
  sticks which emulate a CD-ROM.

470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487
- 27 Aug 2009 libisoburn-0.4.0.pl00 can record MD5 checksums by which one may
  verify the session or single data files in the image. When comparing image
  files with files in the local filesystem, the MD5 sums avoid the need for
  reading file content from the image.

- 22 Sep 2009 libisoburn-0.4.0.pl01 fixes a bug in xorriso option -cut_out.

- 08 Oct 2009 libisofs-0.6.24 fixes a bug which could cause the loss of blanks
  in file names when a new session got added to an ISO image. With names
  shorter than 251 characters this happened only to trailing blanks.

- 08 Oct 2009 libisoburn-0.4.0.pl02 fixes bugs with xorriso option -for_backup,
  with xorrisofs -help, and with xorrecord -help.

- 12 Oct 2009 libburn-0.7.2 fixes a bug with CD TAO multi-track dummy sessions.
  It can retrieve media product info and can process track input which was
  prepared for CD-ROM XA Mode 2 Form 1. cdrskin now performs option -minfo.

488 489 490 491 492 493 494 495
- 28 Oct 2009 libisoburn-0.4.4 fixes a bug with cdrecord emulation and
  introduces new information options about media type and ISO image id strings.
  On Linux it helps with mounting two sessions of the same media
  simultaneously.

- 12 Nov 2009 libburn-0.7.2.pl01 works around problems with Pioneer DVR-216D.
  DVD-R runs made the drive stuck. Ejecting the tray did not work properly.

496 497 498
- 06 Dec 2009 libburn-0.7.4 works around problems with newer DVD burners,
  provides throughput enhancements with hampered busses on Linux, and new
  API calls to log SCSI commands and to control the libburn fifo.
499

500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515
- 09 Dec 2009 libisoburn-0.4.6 allows performance tuning of output to DVD
  drives or disk files.

- 26 Dec 2009 libburn-0.7.4.pl01 fixes the release tarball which was lacking
  the files of the generic system adapter for X/Open.

- 29 Dec 2009 Our project received a donation for purchasing a fine small
  computer which shall serve as OS farm for development and support.

- 20 Jan 2010 Version 0.6.26 of libisofs fixes minor bugs and shall enhance
  portability.

- 22 Jan 2010 libburn-0.7.6 has an improved system adapter for FreeBSD,
  fixes bugs about the generic X/Open system adapter, and allows to use
  libcdio >= 0.83 as SCSI transport facility.

516 517 518 519 520 521 522 523 524 525 526 527
- 10 Feb 2010 libisofs-0.6.28 fixes a regression about bootable images which
  was introduced by version 0.6.22 in August 2009.

- 23 Feb 2010 libisoburn-0.5.0 marks the transition of the xorriso standalone
  version to an official GNU project. The name changed to "GNU xorriso" and its
  license is now GPLv3+.
  The licenses of libburnia libraries and applications are not affected by
  this change. 

- 10 Mar 2010 libburn-0.7.8 fixes bugs and improves the built-in abort handler
  on FreeBSD.

528 529 530 531 532
- 30 Mar 2010 Release 0.5.2 of libisoburn provides xorriso documentation in
  GNU Texinfo format with embedded extra data to derive a full man page.

- 09 Apr 2010 libburn-0.8.0 now works with ahci driver on FreeBSD 8-STABLE.

533 534 535 536 537 538 539 540 541
- 03 May 2010 Version 0.6.32 of libisofs is able to create ISO images with
  multiple boot images. All boot catalog parameters described in El-Torito
  specs can be set and inquired. This allows to use GRUB boot images for EFI. 

- 04 May 2010 Release 0.5.6.pl00 of libisoburn makes use of the new libisofs
  capabilities about boot images.

- 11 Jun 2010 libburn-0.8.2 now works on Solaris. 

542 543 544 545 546 547 548
- 14 Jun 2010 By release 0.5.8.pl00 of libisoburn, xorriso becomes a public C
  language API of libisoburn. The emulations of mkisofs and cdrecord have
  been enhanced. 

- Tue Jun 29 2010 Version 0.6.34 of libisofs provides new features about
  hiding file names from directory trees.

549 550
- Wed Jun 30 2010 libburn-0.8.4 removes some restrictions on operating
  systems other than Linux and FreeBSD.
551

552 553 554 555 556 557 558 559 560
- Fri Jul 02 2010 Release 0.6.0.pl00 of libisoburn adds more options to the
  mkisofs emulation of xorriso. It also fixes minor bugs and shortcommings.

- Wed Sep 15 2010 Version 0.6.36 of libisofs can produce ISO images which
  bear a partiton 1 with non-zero start address. They can be mounted from
  USB stick via the main device file (e.g. /dev/sdb) as well as via the
  partition device file (e.g. /dev/sdb1).

- Fri Sep 17 2010 libburn-0.8.6 lifts the test reservation on DVD-R DL media.
561

562 563 564 565
- Sat Sep 18 2010 Release 0.6.2.pl00 of libisoburn introduces a partition
  with non-zero offset for ISO 9660 images on USB sticks, improves mkisofs
  emulation, and fixes a regression which existed since version 0.4.2.

566 567 568 569 570 571 572 573 574 575
- Wed Oct 20 2010 libburn-0.8.8 can report the used amount of BD spare blocks.

- Sat Oct 23 2010 Version 0.6.38 of libisofs can use libjte to produce jigdo
  files along with the ISO image. Further filesystem images may be appended
  as MBR partitions 1 to 4. The capability was added to produce boot blocks
  for computers with MIPS CPU.

- Tue Oct 26 2010 Release 0.6.4.pl00 of libisoburn and xorriso makes use of
  the new libisofs capabilities.

576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597
- Wed Dec 08 2010 libburn-0.9.0 fixes a regression with SCSI command logging.

- Fri Dec 10 2010 Version 0.6.40 of libisofs makes the prediction of the
  emerging image size less expensive and is able to make images bootable
  for SUN SPARC systems.

- Sun Dec 12 2010 Release 0.6.6.pl00 of libisoburn and xorriso can read ISO
  images which were copied to a different start address than they were prepared
  for.

- Mon Jan 17 2011 we go for release 1.0.0. This does not indicate a
  technological overhaul but shall emphasize the maturity of the software.
  libisofs-1.0.0 fixes a bug about the length of ECMA-119 directory names and
  is ready to allow untranslated ECMA-119 names (violating the specs).
  libburn-1.0.0.pl00 allows umask to create stdio-drive files with
  rw-permissions for all. cdrskin now refuses to burn if the foreseeable size
  exceeds media capacity
  libisoburn-1.0.0.pl00 allows to create an ISO 9660:1999 directory tree,
  improved the emulation fidelity of command -as mkisofs, lowered the default
  abort threshold for xorriso batch mode, and increased that threshold for
  xorriso dialog mode.

598 599 600 601 602 603 604
- Wed 23 2011 release 1.0.2:
  libisofs fixes several bugs and introduces the capability to copy files
  inside the ISO filesystem.
  libburn removed a compilation obstacle on Solaris 9 and improved recognition
  of stdio pseudo-drives.
  libisoburn and xorriso fix bugs and make use of the new libisofs capability.
  xorriso improves its mkisofs emulation.
605

606 607 608
------------------------------------------------------------------------------

    This program is free software; you can redistribute it and/or modify
609 610
    it under the terms of the GNU General Public License version 2 or later
    as published by the Free Software Foundation.
611 612 613 614 615 616 617 618 619

    This program is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.

    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
620 621 622

------------------------------------------------------------------------------
Clarification in my name and in the name of Mario Danic, upcoming copyright
623 624 625
holders on toplevel of libburnia. To be fully in effect after the remaining
other copyrighted code has been replaced by ours and by copyright-free
contributions of our friends:
626 627
------------------------------------------------------------------------------

628 629 630 631
We, the copyright holders, agree on the interpretation that dynamical linking
of our libraries constitutes "use of" and not "derivation from" our work in
the sense of GPL, provided those libraries are compiled from our unaltered
code or from altered code published under GPL.
632

633 634 635 636 637
So we will not raise legal protest if you link our libraries dynamically with
applications which are not under GPL, or if you distribute our libraries
and application tools in binary form, as long as you fulfill the usual
condition of GPL to offer a copy of their source code -altered or unaltered-
under GPL.
638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653

We ask you politely to use our work in open source spirit
and with the due reference to the entire open source community.

If there should really arise the case where above clarification
does not suffice to fulfill a clear and neat request in open source
spirit that would otherwise be declined for mere formal reasons,
only in that case we will duely consider to issue a special license
covering only that special case.
It is the open source idea of responsible freedom which will be
decisive and you will have to prove that you exhausted all own
means to qualify for GPL.

For now we are firmly committed to maintain one single license: GPL.

signed: Mario Danic, Thomas Schmitt
654
Agreement joined later by: Vreixo Formoso
655