• Home
  • History
  • Annotate
Name Date Size #Lines LOC

..03-May-2022-

cdrskin/H03-May-2022-14,60811,704

doc/H03-May-2022-2,0051,460

libburn/H30-Jan-2021-43,47327,283

test/H30-Jan-2021-2,4551,788

AUTHORSH A D08-Jul-202029 42

CONTRIBUTORSH A D08-Jul-2020100 76

COPYINGH A D08-Jul-202014.8 KiB281237

COPYRIGHTH A D08-Jul-2020918 1914

ChangeLogH A D08-Jul-202024.6 KiB507438

INSTALLH A D08-Jul-20209.2 KiB235177

Makefile.amH A D30-Jan-20215.9 KiB236169

Makefile.inH A D30-Jan-202165.3 KiB1,5261,359

NEWSH A D08-Jul-202017 21

READMEH A D30-Jan-202140.2 KiB863668

acinclude.m4H A D08-Jul-20204.7 KiB173154

aclocal.m4H A D30-Jan-2021350.7 KiB9,9728,982

bootstrapH A D08-Jul-2020183 114

compileH A D30-Jan-20217.2 KiB348258

config.guessH A D30-Jan-202141.9 KiB1,4211,229

config.subH A D30-Jan-202135 KiB1,8001,662

configureH A D03-May-2022437 KiB15,10712,588

configure.acH A D30-Jan-202112.5 KiB379345

depcompH A D30-Jan-202123 KiB792502

install-shH A D30-Jan-202113.7 KiB528351

libburn-1.pc.inH A D08-Jul-2020281 1311

ltmain.shH A D30-Jan-2021277.2 KiB9,6737,318

missingH A D30-Jan-20216.7 KiB216143

version.h.inH A D08-Jul-2020144 43

README

1------------------------------------------------------------------------------
2                              libburnia-project.org
3------------------------------------------------------------------------------
4This all is under GPL.
5(See GPL reference, our clarification and commitment at the end of this text)
6------------------------------------------------------------------------------
7libburnia-project.org
8By Mario Danic <mario.danic@gmail.com> and Thomas Schmitt <scdbackup@gmx.net>
9Copyright (C) 2006-2021 Mario Danic, Thomas Schmitt
10Still containing parts of Libburn. By Derek Foreman <derek@signalmarketing.com>
11and Ben Jansens <xor@orodu.net>
12Copyright (C) 2002-2006  Derek Foreman and Ben Jansens
13
14     http://files.libburnia-project.org/releases/libburn-1.5.4.tar.gz
15
16------------------------------------------------------------------------------
17
18                           Build and Installation
19
20                                From tarball
21
22Obtain libburn-1.5.4.tar.gz, take it to a directory of your choice and do:
23
24   tar xzf libburn-1.5.4.tar.gz
25   cd libburn-1.5.4
26   ./configure --prefix=/usr
27   make
28
29To make libburn accessible for running and application development,
30and to install the cdrecord compatibility binary cdrskin, do
31(as Superuser):
32
33   make install
34
35This procedure installs libburn.so.4 and cdrskin depending on it.
36For a standalone cdrskin binary, see cdrskin/README.
37
38A behavioral conflict is known between any burn software and demons like hald
39which probe CD drives. This can spoil burn runs for CD-R or CD-RW.
40You may have to keep your hald away from the drive. See for example
41   http://www.freebsd.org/gnome/docs/halfaq.html
42
43
44                                  From SVN
45
46Our build system is based on autotools. For preparing the build of a SVN
47snapshot you will need autotools of at least version 1.7.
48Do in a directory of your choice:
49
50   svn co http://svn.libburnia-project.org/libburn/trunk libburn-svn
51   cd libburn-svn
52   ./bootstrap
53   ./configure --prefix=/usr
54   make
55   make install
56
57Warning: The trunk might contain experimental features which might not
58         persist until next release.
59
60
61                        Special ./configure options
62
63make install on GNU/Linux will try to run program ldconfig with the library
64installation directory as only argument. Failure to do so will not abort
65installation. One may disable ldconfig by ./configure option:
66   --disable-ldconfig-at-install
67
68In some situations Linux may deliver a better write performance to drives if
69the track input is read with O_DIRECT (see man 2 open). The API call
70burn_os_open_track_src() and the input readers of cdrskin and libburn fifo
71can be told to use this peculiar read mode by:
72   --enable-track-src-odirect
73
74But often libburn call burn_write_opts_set_dvd_obs(opts, 64*1024) will yield
75even better performance in such a situation. 64k can be made default at
76configure time by:
77    --enable-dvd-obs-64k
78This may be combined with above --enable-track-src-odirect .
79
80If it is desired that DVD DAO writing and stdio: writing get padded up to
81a full write chunk of 32k or 64k, then use ./configure option:
82    --enable-dvd-obs-pad
83
84Alternatively the transport of SCSI commands can be done via libcdio-0.83.
85You may install it and re-run libburn's ./configure with option
86    --enable-libcdio
87
88By use of a version script, the libburn.so library exposes no other function
89names but those of the API definition in libburn/libburn.h.
90If -Wl,--version-script=... makes problems with the local compiler, then
91disable this encapsulation feature by
92    --disable-versioned-libs
93
94Make sure to re-compile all source files after running ./configure
95   make clean ; make
96   make install
97
98
99Linux only:
100
101libburn tries to avoid a collision with udev's drive examination by waiting
1020.1 seconds before opening the device file for a longer time, after udev
103might have been alarmed by drive scanning activities.
104The waiting time can be set at ./configure time with microsecond granularity.
105E.g. 2 seconds:
106  CFLAGS="$CFLAGS -DLibburn_udev_wait_useC=2000000"
107  ./configure ...options...
108Waiting can be disabled by zero waiting time:
109  CFLAGS="$CFLAGS -DLibburn_udev_wait_useC=0"
110Alternatively, libburn can try to be nice by opening the device file,
111closing it immediately, waiting, and only then opening it for real:
112  CFLAGS="$CFLAGS -DLibburn_udev_extra_open_cyclE -DLibburn_udev_wait_useC=500000"
113
114------------------------------------------------------------------------------
115
116An important part of the project, libisofs, is hosted in a bzr repository at
117launchpad.net :
118   bzr branch lp:libisofs
119
120Another part the project, libisoburn, is hosted in the libburnia SVN, too:
121   svn co http://svn.libburnia-project.org/libisoburn/trunk libisoburn
122
123See README files there.
124
125------------------------------------------------------------------------------
126
127
128                        Overview of libburnia-project.org
129
130libburnia-project.org is an open-source software project for reading, mastering
131and writing optical discs.
132For now this means CD media, all DVD media, all BD media.
133
134The project comprises of several more or less interdependent parts which
135together strive to be a usable foundation for application development.
136These are libraries, language bindings, and middleware binaries which emulate
137classical (and valuable) Linux tools.
138Currently it is supported on GNU/Linux with kernels >= 2.4,
139on FreeBSD with ATAPI/CAM enabled in the kernel (see man atapicam),
140on OpenSolaris (tested with kernel 5.11),
141on NetBSD (tested with 6.1.3).
142On other X/Open compliant systems there will only be pseudo drives, but no
143direct MMC operation on real CD/DVD/BD drives.
144
145For full ports to other systems we would need : login on a development machine
146or a live OS on CD or DVD, advise from a system person about the equivalent
147of Linux sg or FreeBSD CAM, volunteers for testing of realistic use cases.
148
149We have a well tested code base for burning data and audio CDs, DVDs and BDs.
150The burn API is quite comprehensively documented and can be used to build a
151presentable application.
152We have a functional application which emulates the core use cases of cdrecord
153in order to prove that usability, and in order to allow you to explore
154libburn's scope by help of existing cdrecord frontends.
155
156ISO 9660 filesystems with Rock Ridge and Joliet extensions can be created
157and manipulated quite freely. This capability together with our burn capability
158makes possible a single binary application which covers all steps of image
159composition, updating and writing. Quite unique in the Linux world.
160
161The project components (list subject to growth, hopefully):
162
163- libburn  is the library by which preformatted data get onto optical media.
164           It uses either /dev/sgN (e.g. on kernel 2.4 with ide-scsi) or
165           /dev/srM or /dev/hdX (e.g. on kernel 2.6).
166           libburn is the foundation of our cdrecord emulation. Its code is
167           independent of cdrecord. Its DVD capabilities are learned from
168           studying the code of dvd+rw-tools and MMC-5 specs. No code but only
169           the pure SCSI knowledge has been taken from dvd+rw-tools, though.
170
171- libisofs is the library to pack up hard disk files and directories into a
172           ISO 9660 disk image. This may then be brought to CD via libburn.
173           An own ISO 9660 extension stores ACLs, xattr, and MD5 of file
174           content.
175
176- libisoburn is an add-on to libburn and libisofs which coordinates both and
177           also can grow ISO-9660 filesystem images on multi-session media
178           as well as on overwriteable media via the same API.
179           All media peculiarities are handled automatically.
180           It also contains the methods of command oriented application
181           xorriso and offers them via a C language API.
182
183- cdrskin  is a limited cdrecord compatibility wrapper for libburn.
184           cdrecord is a powerful GPL'ed burn program included in Joerg
185           Schilling's cdrtools. cdrskin strives to be a second source for
186           the services traditionally provided by cdrecord. Additionally it
187           provides libburn's DVD capabilities, where only -sao is compatible
188           with cdrecord.
189           cdrskin does not contain any bytes copied from cdrecord's sources.
190           Many bytes have been copied from the message output of cdrecord
191           runs, though.
192           See cdrskin/README for more.
193
194- xorriso  is an application of all three libraries which creates, loads,
195           manipulates and writes ISO 9660 filesystem images with
196           Rock Ridge extensions. Manipulation is not only adding or
197           overwriting of files but also deleting, renaming, attribute
198           changing, incremental backups, activating boot images, and
199           extracting of files from ISO images to disk. There is also a
200           sparse emulation of cdrecord and a more laborate one of mkisofs.
201           All features of xorriso are also available via a C language API
202           of libisoburn.
203           A static compilation of xorriso and the libraries is dedicated
204           to the GNU Operating System. See xorriso/README_gnu_xorriso .
205
206- "test"   is a collection of application gestures and examples given by the
207           authors of the library features. The burn API example of libburn
208           is named test/libburner.c . The API for media information inquiry is
209           demonstrated in test/telltoc.c .
210           Explore these examples if you look for inspiration.
211
212We strive to be a responsive upstream.
213
214Our libraries are committed to maintain older feature sets in newer versions.
215This applies to source code headers (API) as well as to linkable objects (ABI).
216The only exception from this rule is about non-release versions x.y.*[13579]
217which are allowed to introduce new features, change those new features in
218any way and even may revoke such new features before the next release of
219x.y.*[02468]. As soon as it is released, a feature is promised to persist.
220
221SONAMES:
222libburn.so.4    (since 0.3.4, March    2007),
223libisofs.so.6   (since 0.6.2, February 2008),
224libisoburn.so.1 (since 0.1.0, February 2008).
225
226Applications must use 64 bit off_t. E.g. by defining
227#define _LARGEFILE_SOURCE
228#define _FILE_OFFSET_BITS 64
229or take special precautions to interface with the libraries by 64 bit integers
230where the .h files prescribe off_t. To reduce libburn's off_t size to 32 bit
231will keep it from processing tracks of more than 2 GB size.
232
233
234------------------------------------------------------------------------------
235Project history as far as known to me:
236
237- Founded in 2002 as it seems. See mailing list archives
238     http://lists.freedesktop.org/archives/libburn/
239  The site of this founder team is reachable and offers download of a
240  (somewhat outdated) tarball and from CVS :
241     http://icculus.org/burn/
242  Copyright holders and most probably founders:
243  Derek Foreman and Ben Jansens.
244
245- I came to using libburn in 2005. Founded the cdrskin project and submitted
246  necessary patches which were accepted or implemented better. Except one
247  remaining patch which prevented cdrskin from using vanilla libburn from CVS.
248  The cdrskin project site is reachable and offers download of the heavily
249  patched (elsewise outdated) tarball under the name  cdrskin-0.1.2  :
250     http://scdbackup.sourceforge.net/cdrskin_eng.html
251  It has meanwhile moved to use vanilla libburn.pykix.org , though.
252  Version 0.1.4 constitutes the first release of this kind.
253
254- In July 2006 our team mate Mario Danic announced a revival of libburn
255  which by about nearly everybody else was perceived as unfriendly fork.
256  Derek Foreman four days later posted a message which expressed his
257  discontent.
258  The situation first caused me to publicly regret it and then - after i
259  got the opportunity to move in with cdrskin - gave me true reason to
260  personally apologize to Derek Foreman, Ben Jansens and the contributors at
261  icculus.org/burn. Posted to both projects:
262    http://lists.freedesktop.org/archives/libburn/2006-August/000446.html
263    http://mailman-mail1.webfaction.com/pipermail/libburn-hackers/2006-August/000024.html
264
265- Mid August 2006 project cdrskin established a branch office in
266  libburn.pykix.org so that all maintainers of our tools have one single place
267  to get the current (at least slightely) usable coordinated versions of
268  everything.
269  Project cdrskin will live forth independendly for a while but it is committed
270  to stay in sync with libburn.pykix.org (or some successor, if ever).
271  cdrskin is also committed to support  icculus.org/burn  if the pending fork
272  is made reality by content changes in that project. It will cease to maintain
273  a patched version of  icculus.org/burn  though. Precondition for a new
274  release of cdrskin on base of  icculus.org/burn  would be the pending
275  "whitelist patch" therefore.
276  I would rather prefer if both projects find consense and merge, or at least
277  cooperate. I have not given up hope totally, yet.
278  I, personally, will honor any approach.
279
280- 2nd September 2006 the decision is made to strive for a consolidation of
281  copyright and a commitment to GPL in a reasonable and open minded way.
282  This is to avoid long term problems with code of unknown origin and
283  with finding consense among the not so clearly defined group of copyright
284  claimers and -holders.
285  libisofs is already claimed sole copyright Mario Danic.
286  cdrskin and libburner are already claimed sole copyright Thomas Schmitt.
287  Rewrites of other components will follow and concluded by claiming full
288  copyright within the group of libburn.pykix.org-copyright holders.
289
290- 16th September 2006 feature freeze for release of libburn-0.2.2 .
291
292- 20th September 2006 release of libburn-0.2.2 .
293
294- 26th October 2006 feature freeze for cdrskin-0.2.4 based on libburn-0.2.3 .
295  This version of cdrskin is much more cdrecord compatible in repect
296  to drive addressing and audio features.
297
298- 30th October 2006 release of cdrskin-0.2.4 .
299
300- 13th November 2006 splitting releases of libburn+cdrskin from libisofs.
301
302- 24th November 2006 release of libburn-0.2.6 and cdrskin-0.2.6 . cdrskin has
303  become suitable for unaware frontends as long as they perform only the core
304  of cdrecord use cases (including open-ended input streams, audio, and
305  multi-session).
306
307- 28th November 2006 the umbrella project which encloses both, libisofs and
308  libburn, is now called libburnia. For the origin of this name, see
309  http://en.wikipedia.org/wiki/Liburnians .
310
311- 16th January 2007 release of libburn-0.3.0 and cdrskin-0.3.0 . Now the scope
312  is widened to a first class of DVD media: overwriteable single layer types
313  DVD-RAM, DVD+RW, DVD-RW. This is not a cdrecord emulation but rather inspired
314  by dvd+rw-tools' "poor man" writing facility for this class of media.
315  Taking a bow towards Andy Polyakov.
316
317- 11th February 2007 version 0.3.2 covers sequential DVD-RW and DVD-R with
318  multi-session and with DAO.
319
320- 12th March 2007 version 0.3.4 supports DVD+R and thus covers all single layer
321  DVD media. Code for double layer DVD+/-R is implemented but awaits a tester
322  yet.
323
324- 23th April 2007 version 0.3.6 follows the unanimous opinion of Linux kernel
325  people that one should not use /dev/sg on kernel 2.6.
326
327- 31st July 2007 version 0.3.8 marks the first anniversary of libburn revival.
328  We look back on improved stability, a substantially extended list of media
329  and write modes, and better protection against typical user mishaps.
330
331- 24th October 2007 version 0.4.0 is the foundation of new library libisoburn
332  and an upcoming integrated application for manipulating and writing
333  ISO 9660 + Rock Ridge images. cdrskin-0.4.0 got capabilities like growisofs
334  by these enhancements: growing of overwriteable media and disk files.
335  Taking again a bow towards Andy Polyakov.
336
337- 26th Januar 2008 version 0.4.2 rectifies the version numbering so that we
338  reliably release libburn.so.4 as should have been done since libburn-0.3.2.
339  cdrskin now is by default linked dynamically and does a runtime check
340  to ensure not to be started with a libburn which is older than itself.
341
342- 3rd Feb 2008 libisofs-0.2.x (.so.5) has been deprecated.
343
344- 14th Feb 2008 libisofs-0.6.2 permanently replaces the old libisofs-0.2.x.
345  It is the first release of new libisofs.so.6 which will guarantee future
346  API/ABI compatibility for its whole feature set.
347
348- 15th Feb 2008 libisoburn-0.1.0 (.so.1) coordinates libisofs and libburn for
349  the purpose of ISO image reading and writing. It emulates multi-session on
350  overwriteable media. Application xorriso makes use of all three libraries.
351
352- 8th Apr 2008 libburn-0.4.4 has proven to be capable of burning to DVD+R/DL
353  and read performance on disk file pseudo-drives has been improved.
354
355- 27th Apr 2008 libisofs-0.6.4 can now read data file content from images
356  and can map pieces of disk files onto image files. Image directory iteration
357  has been enhanced. Input data streams and extended information have been
358  exposed in the API to enable future development.
359
360- 29th Apr 2008 libisoburn-0.1.4 was made more efficient with reading of
361  image tree nodes. It now depends on libisofs-0.6.4 and libburn-0.4.4.
362  xorriso makes use of new libisofs features by performing incremental
363  updates of directory trees and by cutting oversized data files into
364  pieces. A primitive single session emulation of cdrecord and mkisofs is
365  provided.
366
367- 10th May 2008 libburn-0.4.6 supports formatting and writing of BD-RE,
368  full nominal speed for DVD-RAM and BD-RE. cdrskin has a unified blank
369  type with automatic media state recognition.
370
371- 17th May 2008 an old bug with DVD-RAM and now with BD-RE is fixed by
372  libburn-0.4.8. So libisoburn can now perform emulation of multisession
373  on those media.
374
375- 19th May 2008 libisoburn-0.1.6 brings better table-of-content emulation
376  on overwriteble media and disk files.
377
378- 1st Jun 2008 libisofs-0.6.6 fixes some problems around device files.
379
380- 3rd Jun 2008 libisoburn-0.1.8 fixes a bug with overwriteable media.
381
382- 23rd Jun 2008 libisoburn-0.2.0 introduces extraction of files from
383  ISO images.
384
385- 16th Jul 2008 libburn-0.5.0 handles systems with no /dev/sr* but only
386  /dev/scd*.
387
388- 19th Jul 2008 libisoburn/xorriso-0.2.2 can do multi-session in mkisofs
389  and cdrecord style. xorriso now can serve underneath growisofs.
390
391- 20th Aug 2008 libburn-0.5.2 revokes the necessity that a drive must be
392  enumerable in order to be addressable. Enumeration is enhanced by examining
393  /proc/sys/dev/cdrom/info.
394
395- 24th Aug 2008 libisoburn/xorriso-0.2.4 introduces a media readability check
396  with data retrieval option.
397
398- 18th Sep 2008 libisofs-0.6.8 supports ISO 9660 Level 3 which can represent
399  very large data files in the image.
400
401- 20th Sep 2008 libisoburn/xorriso-0.2.6 takes into respect the new Level 3
402  capabilities of libisofs.
403
404- 6th Oct 2008 libburn-0.5.4 adjusts the changes of 0.5.2 to the needs of
405  Linux kernel 2.4 and introduces human readable SCSI error messages.
406
407- 6th Oct 2008 libisofs-0.6.10 fixes two bugs which prevented adding and
408  manipulation of ISOLINUX boot images.
409
410- 15th Oct 2008 libisoburn/xorriso-0.2.8 can activate and maintain an
411  ISOLINUX boot image by an EL Torito boot record.
412
413- 12th Nov 2008 libburn-0.5.6 fixes usage of freed memory by the fifo thread
414  of an aborted burn run.
415
416- 26th Nov 2008 libisofs-0.6.12 can produce a ISOLINUX isohybrid MBR on the fly
417  and can produce ISO images which resemble old mkisofs images.
418
419- 2nd Dec 2008 libisoburn-0.3.0. xorriso now is ready for exotic character
420  sets, for legacy FreeBSD systems which expect an outdated Rock Ridge
421  signature, and for producing ISO images with MBR which boot from hard disk
422  or USB stick. Three minor bugs were fixed.
423
424- 7th Dec 2008 libburn-0.5.8 prevents a SIGSEGV with weird CD table-of-content
425  and improves BD-RE formatting.
426
427- 9th Dec 2008 Our project received a donation from Thomas Weber.
428
429- 2nd Jan 2009 libburn-0.6.0 learned to format BD-R and write to either
430  formatted or unformatted BD-R.
431
432- 6th Jan 2009 libisoburn-0.3.2. xorriso can produce and execute commands for
433  mounting older sessions from all kinds of media. Pseudo-drives outside the
434  /dev/ tree can be addressed without prefix "stdio:".
435
436- 20th Feb 2009 libburn-0.6.2 source release now compiles out of the box
437  on FreeBSD.
438
439- 28 Feb 2009 libisofs-0.6.14 can record ACLs and Extended Attributes xattr
440  in its ISO images.
441
442- 01 Mar 2009 libisoburn-0.3.4. xorriso makes use of the ACL and xattr
443  capabilities provided by libisofs for xorriso backup features.
444
445- 11 Mar 2009 libisofs-0.6.16 of libisofs fixes two bugs which on Solaris
446  prevented to navigate the ISO images by ".." and to recognize the Rock Ridge
447  extensions of ISO images. The ban to build libisofs on operating systems
448  other than Linux and FreeBSD has been lifted.
449
450- 13 Mar 2009 libburn-0.6.4 got a dummy adapter for SCSI/MMC command transport.
451  It will show no drives and thus libburn will only be able to perform
452  operations on "stdio:" pseudo drives. Nevertheless this was precondition
453  to lift the ban to build libburn on operating systems other than Linux
454  and FreeBSD.
455
456- 16 Mar 2009 libisoburn-0.3.6: xorriso uses RRIP version 1.10 as default
457  in order to be mountable where mkisofs images are mountable.
458
459- 17 Apr 2009 libisofs-0.6.18 introduces content filtering of data files.
460  Built-in filters implement compression to formats gzip and zisofs. External
461  filter processes can perform arbitrary data conversions like encryption.
462
463- 19 Apr 2009 libisoburn-0.3.8 makes use of the new libisofs capability to
464  perform content filtering of data files.
465
466- 08 May 2009 libburn-0.6.6 fixes a bug with aborting on broken output pipe
467  and a bug with device scan on FreeBSD.
468
469- 31 May 2009 libisofs-0.6.20 can record hard link relations in ISO images
470  and offers support with restoring them to disk. Current Linux kernels will
471  mount images with such hard links but will attribute a unique inode number
472  to each file.
473
474- 28 Jun 2009 libisoburn-0.4.0: xorriso can record and restore hard link
475  relations of files. Performance of data reading has been improved. Option
476  -find now supports logical operators with its tests.
477
478- 14 Jul 2009 libburn-0.6.8 fixes bugs and shortcommings with old MMC-1 drives
479  and with large SCSI bus numbers as handed out by Linux for USB drives.
480
481- 20 Jul 2009 libisoburn-0.4.0.pl01 fixes a regression in xorriso which caused
482  data loss in older sessions if xorriso was used underneath growisofs.
483  Affected are releases since libisoburn-0.3.2 in january 2009.
484
485- 25 Aug 2009 libisofs-0.6.22 can record MD5 checksums for the whole session
486  and for each single data file. Checksum tags can be used to verify superblock
487  and directory tree before importing them.
488
489- 27 Aug 2009 libburn-0.7.0 learned to calm down a drive and to inquire its
490  supported profiles. It works around some pitfalls with U3 enhanced memory
491  sticks which emulate a CD-ROM.
492
493- 27 Aug 2009 libisoburn-0.4.0.pl00 can record MD5 checksums by which one may
494  verify the session or single data files in the image. When comparing image
495  files with files in the local filesystem, the MD5 sums avoid the need for
496  reading file content from the image.
497
498- 22 Sep 2009 libisoburn-0.4.0.pl01 fixes a bug in xorriso option -cut_out.
499
500- 08 Oct 2009 libisofs-0.6.24 fixes a bug which could cause the loss of blanks
501  in file names when a new session got added to an ISO image. With names
502  shorter than 251 characters this happened only to trailing blanks.
503
504- 08 Oct 2009 libisoburn-0.4.0.pl02 fixes bugs with xorriso option -for_backup,
505  with xorrisofs -help, and with xorrecord -help.
506
507- 12 Oct 2009 libburn-0.7.2 fixes a bug with CD TAO multi-track dummy sessions.
508  It can retrieve media product info and can process track input which was
509  prepared for CD-ROM XA Mode 2 Form 1. cdrskin now performs option -minfo.
510
511- 28 Oct 2009 libisoburn-0.4.4 fixes a bug with cdrecord emulation and
512  introduces new information options about media type and ISO image id strings.
513  On Linux it helps with mounting two sessions of the same media
514  simultaneously.
515
516- 12 Nov 2009 libburn-0.7.2.pl01 works around problems with Pioneer DVR-216D.
517  DVD-R runs made the drive stuck. Ejecting the tray did not work properly.
518
519- 06 Dec 2009 libburn-0.7.4 works around problems with newer DVD burners,
520  provides throughput enhancements with hampered busses on Linux, and new
521  API calls to log SCSI commands and to control the libburn fifo.
522
523- 09 Dec 2009 libisoburn-0.4.6 now offers performance tuning of output to DVD
524  drives or disk files.
525
526- 26 Dec 2009 libburn-0.7.4.pl01 fixes the release tarball which was lacking
527  the files of the generic system adapter for X/Open.
528
529- 29 Dec 2009 Our project received a donation for purchasing a fine small
530  computer which shall serve as OS farm for development and support.
531
532- 20 Jan 2010 Version 0.6.26 of libisofs fixes minor bugs and shall enhance
533  portability.
534
535- 22 Jan 2010 libburn-0.7.6 has an improved system adapter for FreeBSD,
536  fixes bugs about the generic X/Open system adapter, and can use
537  libcdio >= 0.83 as SCSI transport facility.
538
539- 10 Feb 2010 libisofs-0.6.28 fixes a regression about bootable images which
540  was introduced by version 0.6.22 in August 2009.
541
542- 23 Feb 2010 libisoburn-0.5.0 marks the transition of the xorriso standalone
543  version to an official GNU project. The name changed to "GNU xorriso" and its
544  license is now GPLv3+.
545  The licenses of libburnia libraries and applications are not affected by
546  this change.
547
548- 10 Mar 2010 libburn-0.7.8 fixes bugs and improves the built-in abort handler
549  on FreeBSD.
550
551- 30 Mar 2010 Release 0.5.2 of libisoburn provides xorriso documentation in
552  GNU Texinfo format with embedded extra data to derive a full man page.
553
554- 09 Apr 2010 libburn-0.8.0 now works with ahci driver on FreeBSD 8-STABLE.
555
556- 03 May 2010 Version 0.6.32 of libisofs is able to create ISO images with
557  multiple boot images. All boot catalog parameters described in El-Torito
558  specs can be set and inquired. This was needed to use GRUB boot images
559  for EFI.
560
561- 04 May 2010 Release 0.5.6.pl00 of libisoburn makes use of the new libisofs
562  capabilities about boot images.
563
564- 11 Jun 2010 libburn-0.8.2 now works on Solaris.
565
566- 14 Jun 2010 By release 0.5.8.pl00 of libisoburn, xorriso becomes a public C
567  language API of libisoburn. The emulations of mkisofs and cdrecord have
568  been enhanced.
569
570- Tue Jun 29 2010 Version 0.6.34 of libisofs provides new features about
571  hiding file names from directory trees.
572
573- Wed Jun 30 2010 libburn-0.8.4 removes some restrictions on operating
574  systems other than Linux and FreeBSD.
575
576- Fri Jul 02 2010 Release 0.6.0.pl00 of libisoburn adds more options to the
577  mkisofs emulation of xorriso. It also fixes minor bugs and shortcommings.
578
579- Wed Sep 15 2010 Version 0.6.36 of libisofs can produce ISO images which
580  bear a partiton 1 with non-zero start address. They can be mounted from
581  USB stick via the main device file (e.g. /dev/sdb) as well as via the
582  partition device file (e.g. /dev/sdb1).
583
584- Fri Sep 17 2010 libburn-0.8.6 lifts the test reservation on DVD-R DL media.
585
586- Sat Sep 18 2010 Release 0.6.2.pl00 of libisoburn introduces a partition
587  with non-zero offset for ISO 9660 images on USB sticks, improves mkisofs
588  emulation, and fixes a regression which existed since version 0.4.2.
589
590- Wed Oct 20 2010 libburn-0.8.8 can report the used amount of BD spare blocks.
591
592- Sat Oct 23 2010 Version 0.6.38 of libisofs can use libjte to produce jigdo
593  files along with the ISO image. Further filesystem images may be appended
594  as MBR partitions 1 to 4. The capability was added to produce boot blocks
595  for computers with MIPS CPU.
596
597- Tue Oct 26 2010 Release 0.6.4.pl00 of libisoburn and xorriso makes use of
598  the new libisofs capabilities.
599
600- Wed Dec 08 2010 libburn-0.9.0 fixes a regression with SCSI command logging.
601
602- Fri Dec 10 2010 Version 0.6.40 of libisofs makes the prediction of the
603  emerging image size less expensive and is able to make images bootable
604  for SUN SPARC systems.
605
606- Sun Dec 12 2010 Release 0.6.6.pl00 of libisoburn and xorriso can read ISO
607  images which were copied to a different start address than they were prepared
608  for.
609
610- Mon Jan 17 2011 we go for release 1.0.0. This does not indicate a
611  technological overhaul but shall emphasize the maturity of the software.
612  libisofs-1.0.0 fixes a bug about the length of ECMA-119 directory names and
613  is ready to store untranslated ECMA-119 names (violating the specs).
614  libburn-1.0.0.pl00 is now willing to create stdio-drive files with
615  rw-permissions for all, if umask really asks for it. cdrskin now refuses
616  to burn if the foreseeable size exceeds media capacity
617  libisoburn-1.0.0.pl00 can now create an ISO 9660:1999 directory tree,
618  improved the emulation fidelity of command -as mkisofs, lowered the default
619  abort threshold for xorriso batch mode, and increased that threshold for
620  xorriso dialog mode.
621
622- Wed Feb 23 2011 release 1.0.2:
623  libisofs fixes several bugs and introduces the capability to copy files
624  inside the ISO filesystem.
625  libburn removed a compilation obstacle on Solaris 9 and improved recognition
626  of stdio pseudo-drives.
627  libisoburn and xorriso fix bugs and make use of the new libisofs capability.
628  xorriso improves its mkisofs emulation.
629
630- Thu Mar 10 2011 release 1.0.4:
631  Several bugs were fixed in the libraries and in the mkisofs emulation of
632  xorriso. This emulation xorrisofs has now an own man page and info document.
633
634- Sat Apr 09 2011 release 1.0.6:
635  libburn refined its representation of emulated drives. The size alignment
636  of DVD DAO is now 2 kB rather than 32 kB. libisofs produces Joliet names of
637  up to 103 characters. xorriso fixes two bugs and makes use of the library
638  improvements.
639
640- Thu Apr 14 2011 release libisoburn-1.0.8:
641  A bug in the mkisofs emulation of xorriso could cause options to be ignored.
642  The problem was freshly introduced with libisoburn-1.0.6.
643
644- Fri May 13 2011 release libisofs-1.0.8:
645  Fixes a few rarely occurring bugs that have been found during the last month.
646
647- Sat Jun 18 2011 release 1.1.0:
648  The consumption of stack memory was reduced. Statical program analysis found
649  some rarely occurring memory leaks. Several small bugs were fixed.
650  The suffix .plXY was dropped from tarball names of libburn and libisoburn.
651
652- Mon Jun 20 2011 patch release libburn-1.1.0.pl01:
653  libburn-1.1.0 compiled only on Linux, FreeBSD, and Solaris, but not on
654  other X/Open compliant systems.
655
656- Fri Jul 08 2011 release libisofs-1.1.2 and libisoburn-1.1.2:
657  A severe regression was fixed in libisoburn and xorriso, which was introduced
658  with version 1.0.6. It caused ISO 9660 images to be unreadable if they were
659  written to a write-only random-access file. E.g. by: xorrisofs ... >image.iso
660
661- Mon Aug 08 2011 release 1.1.4:
662  Several bugs were fixed in libburn. The most severe of them prevented xorriso
663  on some drives from burning mountable ISO 9660 images to CD media.
664  New means to list drives by their udev symbolic links help to deal with
665  the non-persistent drive addresses on modern GNU/Linux.
666
667- Tue Sep 27 2011 release 1.1.6:
668  libisoburn now comes with a test suite. See releng/README. Bugs were fixed
669  in several rarely used features. Processing of ACL and extattr was enabled
670  on FreeBSD. Workarounds try to cope with vanishing udev links on GNU/Linux.
671
672- Mon Nov 21 2011 release libburn-1.1.8 and libisoburn-1.1.8:
673  libburn avoids to close and open drive device files while operating on them.
674  xorriso emulation mode xorrecord now has an own manual. libburn and xorriso
675  were prepared to operate on qemu virtio-blk-pci devices.
676
677- Sat Jan 28 2012 release 1.2.0:
678  libburn has learned to read and write CD-TEXT with CD SAO audio sessions.
679  It can now read CDRWIN .cue files which define pure audio or pure data
680  sessions. libisofs and libisoburn improved timestamp handling. Several
681  minor bugs were fixed.
682
683- Mon Apr 02 2012 release 1.2.2:
684  The handling of intentional deviations from ECMA-119 specifications has
685  been improved in libisofs. libisoburn and xorriso now make use of these
686  improvements. Some rarely occurring bugs have been fixed.
687
688- Fri Jul 20 2012 release 1.2.4:
689  libburn and libisofs got some rarely occurring bugs fixed. libisofs learned
690  to produce HFS+ metadata and Apple Partition Map. The capabilities of
691  isohybrid options --efi and --mac have been implemented (GPT and APM).
692
693- Tue Jan 08 2013 release 1.2.6:
694  Small improvements were made in libburn. Minor bugs were fixed in the
695  libraries. xorriso improved its capabilities to serve the needs of frontend
696  programs. A proof of concept for a GUI frontend has been implemented:
697  xorriso-tcltk
698
699- Mon Mar 18 2013 release 1.2.8:
700  Some rarely occurring bugs were fixed in libisofs and libburn. libburn's
701  handling of incomplete sessions has been improved. xorriso's mkisofs
702  emulation learned to set El Torito section id strings.
703
704- Fri May 17 2013 release 1.3.0:
705  Several bugs were fixed in the libraries and in xorriso. The recently
706  introduced new boot preparation capabilities have been tested. New
707  boot preparation options for GRUB2 were added.
708
709- Fri May 31 2013 patch release libburn-1.3.0.pl01:
710  cdrskin -msinfo on DVD and BD reported as old session start the same
711  number as the next writable address.
712  Regression introduced by version 1.2.8.
713
714- Fri Aug 07 2013 release 1.3.2:
715  cdrskin has acquired the capability to copy audio tracks to .wav files.
716  It can extract CD-TEXT in a form that is readable for humans and for
717  cdrskin itself. Several small bugs were fixed in xorriso. Its capabilities
718  to serve frontend programs in dialog mode have been improved.
719
720- Thu Dec 12 2013 release 1.3.4:
721  A long standing hidden bug was fixed, which affected inspection of
722  unformatted DVD+RW.
723  xorriso now by default puts EL Torito boot images to low block addresses.
724  It can report and set read speeds. Several rarely occurring bugs were fixed.
725
726- Tue Mar 04 2014 release 1.3.6:
727  libburn learned to operate optical drives and media on NetBSD. libisofs got
728  a bug fix about HFS+ and enhancements about character set conversion.
729  Minor bugs were fixed in libisoburn. xorriso can now find files with names
730  which cannot be represented unchanged in ECMA-119, Joliet, or HFS+.
731
732- Sat Jun 28 2014 release 1.3.8:
733  libburn got several bugs fixed. libisofs offers new API calls for inspection
734  of boot sectors in ISO 9660 filesystems. xorriso improved its support for
735  NetBSD, offers new features with command -find, and a command to extract
736  ISO 9660 file content onto standard output or into filter processes.
737
738- Sun May 17 2015 release 1.4.0:
739  This release is mainly about bug fixes and a new feature of xorriso to
740  propose commands or as_mkisofs options which can reproduce the boot
741  equipment of the loaded ISO filesystem.
742
743- Sat Nov 28 2015 release 1.4.2:
744  libburn got some bugs fixed and learned to inquire the drive serial number.
745  libisofs now sorts data file content by ECMA-119 file names for better
746  reproducability of ISO content. Rock Ridge filenames may be restricted to
747  lengths between 64 and 255 bytes. If needed, a qualified truncation happens.
748  xorriso now can replay boot settings when modifying ISO filesystems.
749  In order to avoid clogging of concurrent Linux SG_IO, xorriso got command
750  -modesty_on_drive to enable an old workaround from IDE master/slave days.
751  The source code underwent a scan by Coverity. About 150 code changes
752  resulted, but no easy-to-trigger bugs were found.
753
754- Fri Jan 29 2016 patch release libburn-1.4.2.pl01:
755  cdrskin did not work with "-" (stdin) as input.
756  Regression introduced by version 1.4.2.
757
758- Fri Jul 01 2016 release 1.4.4:
759  The capability to use Linux /dev/sg was revived in order to circumvent the
760  sr_mutex lock which hampers concurrent use of optical drives via SG_IO.
761  libisofs now can use appended partitions by El Torito, avoiding the need
762  for duplicate EFI System Partition images.
763  Several bugs have been fixed.
764
765- Fri Sep 16 2016 release 1.4.6:
766  libburn now operates optical drives on OpenBSD. libisofs makes pseudo-random
767  id generation reproducible by relating it to the volume date.
768  xorriso interprets environment variable SOURCE_DATE_EPOCH of
769  reproducible-builds.org to prepare a default setting which leads to identical
770  ISO images on identical input and identical constant options.
771  Several moderately embarrassing bugs have been fixed.
772
773- Tue Sep 12 2017 release 1.4.8:
774  libburn now refuses to write to SRM+POW formatted BD-R, because it would
775  spoil them. libisofs got several bugs fixed and offers new API calls to
776  support new xorriso features. libisoburn and xorriso offer more detail
777  control with particular boot sector types. New bugs and a regression from
778  version 1.4.4 were fixed.
779
780- Sat Sep 15 2018 release 1.5.0
781  libisofs now can record all xattr namespaces, user defined padding was moved
782  after appended partitions. libisoburn and xorriso make use of the new xattr
783  capability of libisofs.
784  All three libraries got some rarely triggered bugs fixed.
785
786- Sat Oct 26 2019 release 1.5.2
787  The libraries are now ready for building out-of-source. libisofs got minor
788  API extensions. libburn got a bug fixed which spoiled burn runs on
789  some MATSHITA laptop drives. It is now able to list all features which
790  the drive announces. xorriso can now set GPT type GUIDs with appended
791  partitions and the ISO partition.
792  All three libraries got some rarely triggered bugs fixed.
793
794- Mon Nov 25 2019 patch release 1.5.2.pl01
795  cdrskin did not properly burn multiple tracks. Track 1 was slow and burning
796  stalled before track 2. Regression introduced by 1.5.0.
797
798- Sat Jan 30 2021 release 1.5.4
799  libburn offers new opportunities to influence drive speed. libisofs switched
800  to usage of libjte-2.0.0. Further it can now write and read zisofs2 format,
801  which enables compression of files >= 4 GiB. When reading Joliet file trees
802  the names get stripped of their version numbers by default. After loading
803  metadata, libisofs can now tell which directory tree was loaded and whether
804  Rock Ridge is used. libisoburn and xorrso make use of these new features.
805  xorriso can put out the data stream of -check_media to standard output. It
806  can restore files with many zero bytes as sparse files and it is able to
807  extract recognized boot images into data files on hard disk.
808  A new script xorriso-dd-target helps to put an ISO image onto an USB stick
809  without endangering valuable hard disk content.
810  Several rarely triggered bugs were fixed.
811
812
813------------------------------------------------------------------------------
814
815    This program is free software; you can redistribute it and/or modify
816    it under the terms of the GNU General Public License version 2 or later
817    as published by the Free Software Foundation.
818
819    This program is distributed in the hope that it will be useful,
820    but WITHOUT ANY WARRANTY; without even the implied warranty of
821    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
822    GNU General Public License for more details.
823
824    You should have received a copy of the GNU General Public License
825    along with this program; if not, write to the Free Software
826    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
827
828------------------------------------------------------------------------------
829Clarification in my name and in the name of Mario Danic, upcoming copyright
830holders on toplevel of libburnia. To be fully in effect after the remaining
831other copyrighted code has been replaced by ours and by copyright-free
832contributions of our friends:
833------------------------------------------------------------------------------
834
835We, the copyright holders, agree on the interpretation that dynamical linking
836of our libraries constitutes "use of" and not "derivation from" our work in
837the sense of GPL, provided those libraries are compiled from our unaltered
838code or from altered code published under GPL.
839
840So we will not raise legal protest if you link our libraries dynamically with
841applications which are not under GPL, or if you distribute our libraries
842and application tools in binary form, as long as you fulfill the usual
843condition of GPL to offer a copy of their source code -altered or unaltered-
844under GPL.
845
846We ask you politely to use our work in open source spirit
847and with the due reference to the entire open source community.
848
849If there should really arise the case where above clarification
850does not suffice to fulfill a clear and neat request in open source
851spirit that would otherwise be declined for mere formal reasons,
852only in that case we will duely consider to issue a special license
853covering only that special case.
854It is the open source idea of responsible freedom which will be
855decisive and you will have to prove that you exhausted all own
856means to qualify for GPL.
857
858For now we are firmly committed to maintain one single license: GPL.
859
860signed: Mario Danic, Thomas Schmitt
861Agreement joined later by: Vreixo Formoso
862
863