6 Releases
Thomas Schmitt edited this page 2023-08-31 19:46:52 +00:00


This page contains the official source code releases of the libburnia project and pointers to the current development repository.


libisofs-1.5.6.pl01.tar.gz Mon Jun 12 2023 git tag | wiki | Signature: libisofs-1.5.6.pl01.tar.gz.sig

libisofs novelties:

  • Bug fix: iso_write_opts_set_part_like_isohybrid() did not cause a MBR partition table if the partitions are data files in the ISO rather than appended
  • Bug fix: The lseek methods of IsoFileSource for local filesystem and loaded ISO returned libisofs error codes as positive off_t numbers
  • Bug fix: Freshly cloned data files from imported image were not marked as imported. Thanks to Ivan Shmakov. (Closes: #1022851)
  • Bug fix: Size of further CE area was calculated wrong if its CE entry ended exactly at a block boundary
  • New iso_write_opts_set_system_area() option bits 16: GPT "Legacy BIOS bootable" and 17: GPT writable
  • New API calls iso_assess_written_features(), iso_read_image_feature_named(), iso_read_image_features_text()
  • Allowed lseekable device files with iso_tree_add_new_cut_out_node(). Proof-of-concept by Ivan Shmakov.
  • New API call iso_write_opts_set_max_ce_entries()

Reason for .pl01:

  • Bug fix: On non-GNU/Linux systems ssize_t was not defined in rockridge.h . Report and fix proposal by Rui Chen.

libburn-1.5.6.tar.gz Wed Jun 07 2023 git tag | wiki | Signature: libburn-1.5.6.tar.gz.sig

libburn and cdrskin novelties:

  • Bug fix: Overburning with cdrskin option -force ended by a libburn error
  • New API call burn_write_opts_set_bdr_obs_exempt()
  • New cdrskin option --bdr_obs_exempt
  • Officially enabled overburning with burn_write_opts_set_force(,1)

libisoburn-1.5.6.tar.gz Wed Jun 07 2023 git tag | wiki | Signature: libisoburn-1.5.6.tar.gz.sig

libisoburn and xorriso novelties:

  • New API call isoburn_assess_written_features()
  • New API calls isoburn_igopt_set_max_ce_entries(), isoburn_igopt_get_max_ce_entries()
  • New flag bit12 with isoburn_read_iso_head(): Read even if start of multi-session emulation is damaged
  • Bug fix: False -status failure with -boot_image --interval:appended_partition
  • Bug fix: -no_rc prevented pre-scanning of arguments for stdio output and others. Introduced by mistake in a62f6af5, 2011.10.18.162119.
  • Bug fix: -not_leaf and -not_paths were not applied to -extract and alike
  • Bug fix: -report_system_area cmd misperceived -part_like_isohybrid with -isohybrid-gpt-basdat
  • Bug fix: -report_system_area cmd misperceived combination of isohybrid and appended partition in GPT
  • Bug fix: -as mkisofs option -part_like_isohybrid did not cause a MBR partition table if the partitions are data files in the ISO rather than appended
  • Bug fix: Split file directories (-split_size) were created with wrong permissions
  • Bug fix: Partition offset was preserved from -indev rather than from -outdev
  • Bug fix: Data files named /boot.catalog or ./boot.cat could be left out of the emerging ISO if the boot catalog was set to be hidden
  • Bug fix: -toc reported wrong track LBA with overwritable media with unrecognized content (pseudo-closed)
  • Bug fix: -find test -has_xattr matched "isofs." attributes in -xattr mode "any"
  • New -boot_image settings gpt_iso_bootable= and gpt_iso_not_ro=
  • New -as mkisofs options --gpt-iso-bootable and --gpt-iso-not-ro
  • New -as cdrecord option --obs_pad. Automatic no_emul_toc with -as cdrecord.
  • New parameters "obs_pad" and "bdr_obs_exempt" for -dvd_obs
  • New -as cdrecord option --bdr_obs_exempt
  • New command -assess_indev_features
  • New -find test -size
  • New -compliance rules max_ce_entries=, max_ce_drop=
  • Allowed lseekable device files with -cut_out. Proof-of-concept by Ivan Shmakov on bugs.debian.org. (Closes: #1010098)

The release tarballs above need only vanilla tools like make and cc.

You may verify the downloaded tarballs by help of the provided Signature files lib...x.y.z.tar.gz.sig.

gpg --keyserver keyserver.ubuntu.com --recv-keys ABC0A854
gpg --verify lib...x.y.z.tar.gz.sig lib...x.y.z.tar.gz

which should confirm

gpg: Good signature from "Thomas Schmitt <scdbackup@gmx.net>"
Primary key fingerprint: 44BC 9FD0 D688 EB00 7C4D  D029 E9CB DFC0 ABC0 A854

For building the libraries do

tar xzf .../lib...x.y.z.tar.gz
cd lib...x.y.z
./configure ; make

For installation execute (probably you need to be superuser)

make install

System Requirements:

  • Linux with kernel 2.4: libc, libpthread, ide-scsi for IDE CD/DVD drives

  • Linux with kernel 2.6 or newer: libc, libpthread

  • FreeBSD : libc, libpthread, libcam, libiconv, atapicam for IDE and SATA drives.

  • Solaris : libc, libpthread, libvolmgt

  • NetBSD : libc, libpthread

  • OpenBSD : libc, libpthread

  • Other X/Open compliant systems: libc, libpthread. There will only be POSIX i/o with disk file objects, but no direct MMC operation on CD/DVD/BD drives.

Optional System Components:

  • Linux : libacl, libacl-devel, libreadline, libreadline-dev, zlib, zlib-devel, libjte, libbz2.

  • Other systems: libreadline, zlib, libjte, libbz2.

  • libedit can substitute for libreadline. See libisoburn/README.

If the development and runtime part of an optional component is present at compile time, then the runtime part must be present at run time. See ./configure --help for enable/disable options.

Development Repositories

If you want to run a bleeding-edge version of libburn, libisofs, and libisoburn then you need autotools of at least version 1.7. You need git for downloading. On FreeBSD or for release tarball production you will have to make a change in files ./ltmain.sh. See below.

Download and build libburn:

git clone https://dev.lovelyhq.com/libburnia/libburn.git
cd libburn
./bootstrap ; ./configure ; make 

Download and build libisofs:

git clone https://dev.lovelyhq.com/libburnia/libisofs.git
cd libisofs
./bootstrap ; ./configure ; make 

Download and build libisoburn:

git clone https://dev.lovelyhq.com/libburnia/libisoburn.git
cd libisoburn
./bootstrap ; ./configure ; make 

Building from Repositories on BSD and General Release Tarball Production

Above release tarballs are well prepared for FreeBSD, NetBSD, and OpenBSD. But build step ./bootstrap, which is necessary when building from repositories, imports some undesirable settings from a vanilla autotools installation.

In order to get our intended .so numbering on FreeBSD (library.so.SONAME), you have to change the file ./ltmain.sh after it got generated by ./bootstrap from a global template file on your system.

For NetBSD and OpenBSD, the file ./aclocal.m4 must be edited and ./ltmain.sh probably needs another change.

This must be done before anybody runs


on FreeBSD, NetBSD, or OpenBSD.

For FreeBSD the change in ./ltmain.sh is from



          major=.`expr $current - $age`

To get the .so numbering scheme of NetBSD and OpenBSD (library.so.SONAME.age), make sure that ./aclocal.m4 sets version_type to "netbsd":


which ./ltmain.sh has to interpret by

          major=.`expr $current - $age`

The new case block should be inserted after the one for freebsd-elf).

./ltmain.sh stems from e.g. /usr/share/libtool/config/ltmain.sh.

./aclocal.m4 stems from e.g. /usr/share/aclocal/libtool.m4. On my system there are cases for netbsd*) and openbsd*) which set version_type to "sunos".

For producing libburnia release tarballs - regardless on what kind of system - this change must have been applied and ./configure must have been run before

make dist

so that it will not be needed when building those releases on FreeBSD.

(Sorry for the inconvenience. autotools had to choose from two undesirable alternatives on FreeBSD. Regrettably it implements the one that is not in our intention. One can change this choice in the global template file.)

Outdated Releases