Compare commits

...

30 Commits

Author SHA1 Message Date
5d5e0af75f Promoted branch to tag 2011-01-17 09:59:51 +00:00
58741d9156 Documented changes and release timestamp 2011-01-16 19:43:28 +00:00
ed999190b2 Version leap to libisoburn-1.0.0 2011-01-16 19:41:25 +00:00
da38bd6c0d Updated copyright messages to 2011 2011-01-16 19:37:27 +00:00
3a2deccb66 Branching for libisoburn release 1.0.0 2011-01-16 18:32:02 +00:00
e492965b6e Updated partition offset wiki text about --no-emul-toc 2011-01-16 18:28:32 +00:00
896d59c02e Adapted GNU xorriso to version leap libisofs-1.0.1 , libburn-1.0.1 2011-01-16 18:27:08 +00:00
97740ad93d Requiring libisofs-1.0.0 and libburn-1.0.0 now 2011-01-16 18:26:01 +00:00
4f780339e1 Updated change log 2011-01-06 11:11:50 +00:00
01d89bd9bc Changed dialog default -abort_on value to "NEVER" 2011-01-06 11:10:36 +00:00
56aecf2459 Default -abort_on value is now "FAILURE", for dialog it stays "FATAL" 2011-01-04 19:30:49 +00:00
9b88d6220d Mentioned Debian daily and weekly builds as examples of partiton_offset 2010-12-30 22:00:24 +00:00
7340920384 Bug fix: -as mkisofs -print-size did not account for -partition_offset 2010-12-29 10:40:53 +00:00
5f1eac8777 Disabled TOC emulation with -as mkisofs. May be re-enabled by --emul-toc. 2010-12-28 12:33:52 +00:00
633cd2008d Made -print_size take into account the toc emulation on blank overwriteables 2010-12-28 09:32:06 +00:00
0b641cf425 New -as mkisofs option -disallow_dir_id_ext, allow_dir_id_ext is default 2010-12-25 09:43:15 +00:00
77ff5f5cb9 New -compliance option allow_dir_id_ext 2010-12-25 09:28:35 +00:00
59d873c385 New isoburn_igopt_set_relaxed() option isoburn_igopt_allow_dir_id_ext 2010-12-25 09:23:08 +00:00
8262c19e40 New -compliance option iso_9660_level=number 2010-12-25 07:15:36 +00:00
96455fcf56 Requiring libisofs-0.6.41 now 2010-12-25 07:12:15 +00:00
ee4ba9d033 Mentioned ISO 9660 level 3 in libisoburn API 2010-12-24 13:55:17 +00:00
6e17a979e5 New q in faq 2010-12-24 13:35:28 +00:00
3cbf74b32e New -compliance option iso_9660_1999, -as mkisofs option -iso-level 4 2010-12-23 19:01:42 +00:00
86fb1eb0cf Took source file of libburnia-project.org/wiki/FAQ into SVN 2010-12-23 14:02:01 +00:00
3ef177f1c9 New -as mkisofs option -untranslated_name_len 2010-12-22 15:15:47 +00:00
18f1f0a8f9 New -compliance options untranslated_names , untranslated_name_len= 2010-12-22 13:39:55 +00:00
2e64464c7c New API call isoburn_igopt_set_untranslated_name_len() 2010-12-22 13:37:47 +00:00
4803a31fa4 Prepending ./configure generated options to CFLAGS rather than appending them 2010-12-13 12:32:33 +00:00
9351707d83 Documented changes and release timestamp 2010-12-12 12:19:13 +00:00
03b709cb1f Version leap to libisoburn-0.6.7 2010-12-12 12:17:41 +00:00
28 changed files with 1458 additions and 432 deletions

View File

@ -1,4 +1,22 @@
SVN trunk (to become libisoburn-0.6.6.pl00.tar.gz)
SVN trunk (to become libisoburn-1.0.2.pl00.tar.gz)
===============================================================================
- no novelties yet
libisoburn-1.0.0.pl00.tar.gz Mon Jan 17 2011
===============================================================================
libisoburn novelties:
* New API call isoburn_igopt_set_untranslated_name_len()
xorriso novelties:
* Bug fix: -as mkisofs -print-size did not account for -partition_offset
* Default -abort_on value is now "FAILURE" with batch and "NEVER" with dialog
* New -compliance options untranslated_names , untranslated_name_len=
* New -as mkisofs option -untranslated_name_len
* New -compliance option iso_9660_1999, -as mkisofs option -iso-level 4
* New -compliance option iso_9660_level=number
* New -compliance option allow_dir_id_ext, -as mkisofs -disallow_dir_id_ext
* Disabled TOC emulation with -as mkisofs. May be re-enabled by --emul-toc.
libisoburn-0.6.6.pl00.tar.gz Sun Dec 12 2010
===============================================================================
libisoburn novelties:
* New API calls isoburn_igopt_set_disc_label(), isoburn_igopt_get_disc_label()

18
README
View File

@ -4,8 +4,8 @@
libisoburn and xorriso. By Vreixo Formoso <metalpain2002@yahoo.es>
and Thomas Schmitt <scdbackup@gmx.net>
Integrated sub project of libburnia-project.org.
http://files.libburnia-project.org/releases/libisoburn-0.6.4.pl00.tar.gz
Copyright (C) 2006-2010 Vreixo Formoso, Thomas Schmitt.
http://files.libburnia-project.org/releases/libisoburn-1.0.0.pl00.tar.gz
Copyright (C) 2006-2011 Vreixo Formoso, Thomas Schmitt.
Provided under GPL version 2 or later.
------------------------------------------------------------------------------
@ -34,17 +34,17 @@ By using this software you agree to the disclaimer at the end of this text:
Compilation, First Glimpse, Installation
Dynamic library and compile time header requirements for libisoburn-0.6.4 :
- libburn.so.4 , version libburn-0.8.8 or higher
- libisofs.so.6 , version libisofs-0.6.38 or higher
Dynamic library and compile time header requirements for libisoburn-1.0.0 :
- libburn.so.4 , version libburn-1.0.0 or higher
- libisofs.so.6 , version libisofs-1.0.0 or higher
libisoburn and xorriso will not start with libraries which are older than their
include headers seen at compile time.
Obtain libisoburn-0.6.4.pl00.tar.gz, take it to a directory of your choice
Obtain libisoburn-1.0.0.pl00.tar.gz, take it to a directory of your choice
and do:
tar xzf libisoburn-0.6.4.pl00.tar.gz
cd libisoburn-0.6.4
tar xzf libisoburn-1.0.0.pl00.tar.gz
cd libisoburn-1.0.0
Within that directory execute:
@ -224,7 +224,7 @@ libburnia-project.org
By Mario Danic <mario.danic@gmail.com>,
Vreixo Formoso <metalpain2002@yahoo.es>
Thomas Schmitt <scdbackup@gmx.net>
Copyright (C) 2006-2010 Mario Danic, Vreixo Formoso, Thomas Schmitt.
Copyright (C) 2006-2011 Mario Danic, Vreixo Formoso, Thomas Schmitt.
We will not raise any legal protest to dynamic linking of our libraries
with applications that are not under GPL, as long as they fulfill

View File

@ -1,4 +1,4 @@
AC_INIT([libisoburn], [0.6.5], [http://libburnia-project.org])
AC_INIT([libisoburn], [1.0.0], [http://libburnia-project.org])
AC_PREREQ([2.50])
dnl AC_CONFIG_HEADER([config.h])
@ -21,9 +21,9 @@ dnl configure.ac only rules the libtool revision numbering about
dnl LT_CURREN, LT_AGE, LT_REVISION where SONAME becomes LT_CURRENT - LT_AGE
dnl
dnl These three are only copies to provide libtool with unused LT_RELEASE
ISOBURN_MAJOR_VERSION=0
ISOBURN_MINOR_VERSION=6
ISOBURN_MICRO_VERSION=5
ISOBURN_MAJOR_VERSION=1
ISOBURN_MINOR_VERSION=0
ISOBURN_MICRO_VERSION=0
dnl ISOBURN_VERSION=$ISOBURN_MAJOR_VERSION.$ISOBURN_MINOR_VERSION.$ISOBURN_MICRO_VERSION
@ -36,16 +36,16 @@ dnl Libtool versioning
dnl Generate libisoburn.so.1.x.y
dnl SONAME will become LT_CURRENT - LT_AGE
dnl
dnl ts B01026
dnl ### This is the release version 0.6.4 = libisoburn.so.1.53.0
dnl ts B10116
dnl This is the release version 1.0.0 = libisoburn.so.1.57.0
dnl This is the development version after above stable release
dnl LT_CURRENT++, LT_AGE++ have not happened yet.
dnl ### LT_CURRENT++, LT_AGE++ has happened meanwhile.
dnl
dnl SONAME = 54 - 53 = 1 . Library name = libisoburn.so.1.53.0
dnl SONAME = 58 - 57 = 1 . Library name = libisoburn.so.1.57.0
LT_RELEASE=$ISOBURN_MAJOR_VERSION.$ISOBURN_MINOR_VERSION
LT_CURRENT=54
LT_AGE=53
LT_CURRENT=58
LT_AGE=57
LT_REVISION=0
LT_CURRENT_MINUS_AGE=`expr $LT_CURRENT - $LT_AGE`
@ -302,8 +302,8 @@ AC_CHECK_HEADER(libisofs/libisofs.h)
# ------- Visible mark in configure : Start of library check
dnl Check for proper library versions
LIBBURN_REQUIRED=0.8.8
LIBISOFS_REQUIRED=0.6.40
LIBBURN_REQUIRED=1.0.0
LIBISOFS_REQUIRED=1.0.0
PKG_CHECK_MODULES(LIBBURN, libburn-1 >= $LIBBURN_REQUIRED)
PKG_CHECK_MODULES(LIBISOFS, libisofs-1 >= $LIBISOFS_REQUIRED)
@ -333,18 +333,18 @@ AC_ARG_ENABLE(debug,
, enable_debug=yes)
if test x$enable_debug != xyes; then
if test x$GCC = xyes; then
CFLAGS="$CFLAGS -O3"
CFLAGS="$CFLAGS -fexpensive-optimizations"
CFLAGS="-O3 $CFLAGS"
CFLAGS="-fexpensive-optimizations $CFLAGS"
fi
CFLAGS="$CFLAGS -DNDEBUG"
CFLAGS="-DNDEBUG $CFLAGS"
else
if test x$GCC = xyes; then
CFLAGS="$CFLAGS -g -pedantic -Wall"
CFLAGS="-g -pedantic -Wall $CFLAGS"
fi
CFLAGS="$CFLAGS -DDEBUG"
CFLAGS="-DDEBUG $CFLAGS"
fi
CFLAGS="$CFLAGS $READLINE_DEF $LIBACL_DEF $XATTR_DEF $EXTF_DEF $EXTF_SUID_DEF $ZLIB_DEF $LIBJTE_DEF $XORRISO_DVD_OBS_64K"
CFLAGS="$READLINE_DEF $LIBACL_DEF $XATTR_DEF $EXTF_DEF $EXTF_SUID_DEF $ZLIB_DEF $LIBJTE_DEF $XORRISO_DVD_OBS_64K $CFLAGS"
AC_CONFIG_FILES([
Makefile

221
doc/faq.wiki Normal file
View File

@ -0,0 +1,221 @@
'''Libburnia Frequently Asked Questions'''
Please post your questions to
[http://mailman-mail1.webfaction.com/listinfo/libburn-hackers/ libburn-hackers mailing list].
----------------------------------------------------------------------------
'''Content:'''
----------------------------------------------------------------------------
Burning:
[#diff_cdrskin_xorriso What is the difference between cdrskin and xorriso ?]
Imaging:
[#edit_files Is there a way to edit files inside the ISO image ?]
[#boot_arch For which architectures xorriso is able to create bootable images ?]
[#isohybrid What is isohybrid MBR useful for ?]
[#partition_offset What is partition offset feature all about?]
Development:
[#api_specs Where are the APIs of libburnia libraries described ?]
[#gui_advise I want to write a GUI on the top of libburnia libraries. Any pointers or recommendations ?]
Miscellaneous:
[#example_links Where to see examples ?]
[#xorriso_aliases What personalities are supported by xorriso ?]
[#xorriso_dialog_mode What is xorriso dialog mode useful for ?]
----------------------------------------------------------------------------
'''Burning'''
----------------------------------------------------------------------------
===== What is the difference between cdrskin and xorriso ? ===== #diff_cdrskin_xorriso
[wiki:Cdrskin cdrskin] is a dedicated emulator of program cdrecord, based on
libburn. It tries to be as similar as cdrecord as is possible under that
premise.
[wiki:Xorriso xorriso] is an integrated tool which creates, loads, manipulates,
and writes ISO 9660 filesystem images with Rock Ridge extensions.
It is based on libburn, libisofs, and libisoburn. One of its features is
the emulation of the corresponding tasks as done by mkisofs and cdrecord.
----------------------------------------------------------------------------
'''Imaging'''
----------------------------------------------------------------------------
===== Is there a way to edit files inside the ISO image ? ===== #edit_files
File content cannot be altered. But files may be replaced by new copies from
the disk filesystem.
The main method of manipulating an existing ISO image is to append a session
with a new complete directory tree and the file content of the added or
overwritten files. Depending on the media type you get gaps between sessions
of up to 20 MB. So better try to do all foreseeable changes by one add-on
session.
===== For which architectures xorriso is able to create bootable images ? ===== #boot_arch
Currently it supports systems with PC-BIOS via El Torito for booting from
CD, DVD, or BD media, and via MBR for booting from memory sticks or hard
disks. Further it supports machines with MIPS processor from SGI (Big Endian)
and DEC (Little Endian), and SUN SPARC machines.
(See [http://bazaar.launchpad.net/%7Elibburnia-team/libisofs/scdbackup/annotate/head%3A/doc/boot_sectors.txt libisofs/doc/boot_sectors.txt]
for technical details.)
Machines which support EFI may either boot via El Torito or use the files
of the ISO image directly. It is possible to append to the ISO image a
writeable FAT12 partition where files for EFI may be stored and changed.
===== What is isohybrid MBR useful for ? ===== #isohybrid
The ISOLINUX boot manager system is normally started from CD, DVD or BD media
by a PC-BIOS via an El Torito boot record. But if the ISO image resides on an
USB stick or another hard-disk-like device, then PC-BIOS ignores El Torito
and rather expects a Master Boot Record (MBR). Both boot record types can
reside in the same ISO image. Therefore it is possible to create an MBR that
starts the boot image file of ISOLINUX which is already target of the El Torito
boot record. This kind of MBR is called "isohybrid". ISOLINUX provides
a program named isohybrid to patch existing images, but libisofs can create an
MBR already when producing the ISO image. See in
[http://www.gnu.org/software/xorriso/man_1_xorriso.html manual page of xorriso]
option -boot_image with arguments "isolinux" "system_area=",
and -as mkisofs option -isohybrid-mbr.
See [http://en.wikipedia.org/wiki/Master_boot_record Wikipedia on MBR] for
general information about PC-DOS Master Boot Records, and
[http://syslinux.zytor.com/wiki/index.php/ISOLINUX ISOLINUX wiki] for special
information about ISOLINUX. The wiki example with mkisofs can be performed
as well by help of xorriso option -as mkisofs.
A similar combination of El Torito and MBR is created by GRUB2 tool
grub-mkrescue. See [http://www.gnu.org/software/grub/ homepage of GNU GRUB 2]
for general information.
===== What is partition offset feature all about? ===== #partition_offset
If an MBR is present, then it contains a partition table with up to four
entries. The MBR is located at the very start of the ISO image. By
tradition the first partition should begin only after the range of MBR and
eventual supporting data blocks. On hard disk one often sees partition 1
starting at byte 63*512. Further it is tradition that the payload filesystem
is mountable via one of the partitions.
The isohybrid MBR has its only partition start at byte 0. Thus it is mountable
but does not obey the tradition to begin only after the MBR. The grub-mkrescue
MBR on the other hand has partition 1 start at byte 512, which makes it
unmountable. Only the unpartitioned base device can be mounted. (On GNU/Linux
e.g. /dev/sdb is the base device whereas /dev/sdb1 is partition 1.)
The compromise offered by libisofs is to create a second superblock at
address 16*2048 and to let start partition 1 at this address. The second
superblock leads to a second directory tree which takes into account the
address difference between partition 1 and the base device. So the image
gets mountable via both devices and reserves 32 kB for boot manager software
where it eventually can manipulate and augment the MBR.
(See [http://libburnia-project.org/wiki/PartitionOffset Partition Offset Wiki]
for examples.)
----------------------------------------------------------------------------
'''Developing'''
----------------------------------------------------------------------------
===== Where are the APIs of libburnia libraries described ? ===== #api_specs
The decisive references are the inclusion headers of the libraries
<libburn/libburn.h>, <libisofs/libisofs.h>, <libisoburn/libisoburn.h>,
and <libisoburn/xorriso.h>.
Current SVN versions of these files:
[http://libburnia-project.org/browser/libburn/trunk/libburn/libburn.h libburn/libburn.h] ,
[http://bazaar.launchpad.net/%7Elibburnia-team/libisofs/scdbackup/annotate/head%3A/libisofs/libisofs.h libisofs/libisofs.h] ,
[http://libburnia-project.org/browser/libisoburn/trunk/libisoburn/libisoburn.h libisoburn/libisoburn.h] ,
[http://libburnia-project.org/browser/libisoburn/trunk/xorriso/xorriso.h libisoburn/xorriso.h]
Doxygen generated API descriptions at
[http://api.libburnia-project.org api.libburnia-project.org]
might be slightly behind the latest developments.
===== I want to write a GUI on the top of libburnia libraries. Any pointers or recommendations ? ===== #gui_advise
Most appreciated would be a GUI for xorriso which allows to copy files from
a view of the hard disk filesystem to a view of the ISO filesystem, and vice
versa. The xorriso implementation is located inside libisoburn.
Each option that is described in
[http://www.gnu.org/software/xorriso/man_1_xorriso.html man 1 xorriso]
can be performed by a corresponding C function that is defined in
[http://libburnia-project.org/browser/libisoburn/trunk/xorriso/xorriso.h xorriso.h].
Further there are calls for library startup and shutdown, for problem
handling, and for the interpreters of xorriso's command line interface.
The xorriso API encapsulates calls to libisofs, libburn, and libisoburn.
An alternative to the xorriso C API is xorriso dialog mode.
[#xorriso_dialog_mode See below.]
The known existing GUIs [http://www.xfce.org/projects/xfburn/ Xfburn],
[http://projects.gnome.org/brasero/ Brasero],
[http://flburn.sourceforge.net/ FlBurn]
rather use libisofs and libburn directly.
(Please submit an URI if you want your libburnia GUI application mentioned
here.)
----------------------------------------------------------------------------
'''Miscellaneous'''
----------------------------------------------------------------------------
===== Where to see examples ? ===== #example_links
[http://www.gnu.org/software/xorriso/man_1_xorriso.html#EXAMPLES xorriso examples] ,
[http://scdbackup.sourceforge.net/man_1_cdrskin_devel.html#EXAMPLES cdrskin examples] ,
[http://libburnia-project.org/browser/libburn/trunk/test/libburner.c libburner.c a minimal but complete burn program]
(also illustrated at the end of [http://api.libburnia-project.org/libburn/ libburn API intro]).
===== What personalities are supported by xorriso ? ===== #xorriso_aliases
The name by which xorriso is started may trigger certain features which
normally would need to be enabled by program options.
xorrisofs starts up in mkisofs emulation mode, which otherwise would have to
be entered by command -as "mkisofs".
xorrecord starts up in cdrecord emulation mode, which is normally entered by
command -as "cdrecord". This emulation is only able to write a single data
track as new session to blank or appendable media. No audio. No multiple
tracks in one session.
osirrox allows to copy files from ISO image to disk and to apply option -mount
to one or more of the existing ISO sessions. This is normally enabled by
option -osirrox "on:o_excl_off".
===== What is xorriso dialog mode useful for ? ===== #xorriso_dialog_mode
Dialog mode is initiated if -dialog "on" is among the program arguments.
It can be used to inspect and exploit existing ISO 9660 images or
to explore xorriso's behavior in order to develop the command sequence
for a batch run.
Frontend programmers may fork xorriso initiating a xorriso dialog session
(-dialog "on" -use_readline "off" -pkt_output "on" -mark "done"),
and interact with it from their own program via pipes connected to
xorriso's stdin and stdout. This is more efficient than forking xorriso
every now and then to perform various commands in order to complete
complex tasks like image size prediction.
----------------------------------------------------------------------------
Site maintainer: Do not edit this wiki directly but rather the SVN version
of libisoburn/trunk/doc/faq.wiki. When done, paste it into the wiki editor.

View File

@ -19,6 +19,14 @@ extend the unclaimed area into vital blocks of the ISO image.
--------------------------------------------------------------------------
Meanwhile Debian
[http://cdimage.debian.org/cdimage/daily-builds/daily/current/ daily]
and [http://cdimage.debian.org/cdimage/weekly-builds/ weekly] builds make
use of this feature with their bootable ISO images for i386 and amd64. E.g.
[http://cdimage.debian.org/cdimage/daily-builds/daily/current/i386/iso-cd/debian-testing-i386-businesscard.iso debian-testing-i386-businesscard.iso].
--------------------------------------------------------------------------
Example:
Testing mountability and ISOLINUX bootability from USB stick and CD.
@ -132,7 +140,8 @@ as above RIPLinux example. It boots to a GRUB prompt.
Due to options -no-pad --no-emul-toc the image is about 300 kB smaller than
the image produced by original grub-mkrescue. Else it would have grown by
about 130 kB.
about 130 kB. The mkisofs emulation of newer versions of xorriso has
--no-emul-toc as default. Thus the overhead would only be about 50 kB.
--------------------------------------------------------------------------

View File

@ -465,6 +465,8 @@ int isoburn_prepare_disc_aux(struct burn_drive *in_d, struct burn_drive *out_d,
if(opts->hardlinks)
iso_write_opts_set_rrip_1_10_px_ino(wopts, 1);
iso_write_opts_set_aaip(wopts, opts->aaip);
iso_write_opts_set_untranslated_name_len(wopts, opts->untranslated_name_len);
iso_write_opts_set_allow_dir_id_ext(wopts, opts->allow_dir_id_ext);
iso_write_opts_set_omit_version_numbers(wopts, opts->omit_version_numbers);
iso_write_opts_set_allow_deep_paths(wopts, opts->allow_deep_paths);
iso_write_opts_set_allow_longer_paths(wopts, opts->allow_longer_paths);
@ -932,6 +934,8 @@ int isoburn_igopt_new(struct isoburn_imgen_opts **new_o, int flag)
o->iso1999= 0;
o->hardlinks= 0;
o->aaip = 0;
o->untranslated_name_len = 0;
o->allow_dir_id_ext = 0;
o->omit_version_numbers= 0;
o->allow_deep_paths= 1;
o->allow_longer_paths= 0;
@ -1046,6 +1050,7 @@ int isoburn_igopt_set_relaxed(struct isoburn_imgen_opts *o, int relax)
o->rrip_version_1_10= !!(relax & isoburn_igopt_rrip_version_1_10);
o->dir_rec_mtime= !!(relax & isoburn_igopt_dir_rec_mtime);
o->aaip_susp_1_10= !!(relax & isoburn_igopt_aaip_susp_1_10);
o->allow_dir_id_ext= !!(relax & isoburn_igopt_allow_dir_id_ext);
return(1);
}
@ -1054,10 +1059,49 @@ int isoburn_igopt_get_relaxed(struct isoburn_imgen_opts *o, int *relax)
{
*relax= (!!o->omit_version_numbers) | ((!!o->allow_deep_paths)<<1) |
((!!o->allow_longer_paths)<<2) | ((!!o->max_37_char_filenames)<<3) |
((!!o->no_force_dots)<<4) | ((!!o->allow_lowercase)<<5) |
((!!(o->no_force_dots & 1))<<4)| ((!!o->allow_lowercase)<<5) |
((!!o->allow_full_ascii)<<6) | ((!!o->joliet_longer_paths)<<7) |
((!!o->always_gmt)<<8) | ((!!o->rrip_version_1_10)<<9) |
((!!o->dir_rec_mtime)<<10) | ((!!o->aaip_susp_1_10)<<11);
((!!o->dir_rec_mtime)<<10) | ((!!o->aaip_susp_1_10)<<11) |
((!!(o->omit_version_numbers & 2))<<12) |
((!!(o->no_force_dots & 2))<<13) |
((!!o->allow_dir_id_ext) << 14);
return(1);
}
int isoburn_igopt_set_untranslated_name_len(struct isoburn_imgen_opts *o,
int len)
{
int ret;
IsoWriteOpts *opts = NULL;
char msg[160];
ret= iso_write_opts_new(&opts, 0);
if(ret < 0) {
isoburn_msgs_submit(NULL, 0x00060000,
"Cannot create libisofs write options object", 0, "FATAL", 0);
return(0);
}
ret= iso_write_opts_set_untranslated_name_len(opts, len);
if(ret < 0) {
ret= iso_write_opts_set_untranslated_name_len(opts, -1);
sprintf(msg,
"Improper value for maximum length of untranslated names (%d <-> -1 ... %d)",
len, ret);
isoburn_msgs_submit(NULL, 0x00060000, msg, 0, "FAILURE", 0);
iso_write_opts_free(opts);
return(0);
}
o->untranslated_name_len= ret; /* Normalized len value */
iso_write_opts_free(opts);
return(1);
}
int isoburn_igopt_get_untranslated_name_len(struct isoburn_imgen_opts *o,
int *len)
{
*len = o->untranslated_name_len;
return(1);
}

View File

@ -386,6 +386,24 @@ struct isoburn_imgen_opts {
* but it is supposed to work on most moderns systems. Use with caution.
*/
/*
* Extra Caution: This option breaks any assumptions about names that
* are supported by ECMA-119 specifications.
* Omit any translation which would make a file name compliant to the
* ECMA-119 rules. This includes and exceeds omit_version_numbers,
* max_37_char_filenames, no_force_dots bit0, allow_lowercase.
*/
unsigned int untranslated_name_len;
/*
* Convert directory names for ECMA-119 similar to other file names, but do
* not force a dot or add a version number.
* This violates ECMA-119 by allowing one "." and especially ISO level 1
* by allowing DOS style 8.3 names rather than only 8 characters.
* (mkisofs and its clones seem to do this violation.)
*/
unsigned int allow_dir_id_ext :1;
/**
* Omit the version number (";1") at the end of the ISO-9660 identifiers.
* Version numbers are usually not used.

View File

@ -2,7 +2,7 @@
/*
Lower level API definition of libisoburn.
Copyright 2007-2010 Vreixo Formoso Lopes <metalpain2002@yahoo.es>
Copyright 2007-2011 Vreixo Formoso Lopes <metalpain2002@yahoo.es>
and Thomas Schmitt <scdbackup@gmx.net>
Provided under GPL version 2 or later.
*/
@ -222,17 +222,17 @@ void isoburn_version(int *major, int *minor, int *micro);
at compile time.
@since 0.1.0
*/
#define isoburn_libisofs_req_major 0
#define isoburn_libisofs_req_minor 6
#define isoburn_libisofs_req_micro 40
#define isoburn_libisofs_req_major 1
#define isoburn_libisofs_req_minor 0
#define isoburn_libisofs_req_micro 0
/** The minimum version of libburn to be used with this version of libisoburn
at compile time.
@since 0.1.0
*/
#define isoburn_libburn_req_major 0
#define isoburn_libburn_req_minor 8
#define isoburn_libburn_req_micro 8
#define isoburn_libburn_req_major 1
#define isoburn_libburn_req_minor 0
#define isoburn_libburn_req_micro 0
/** The minimum compile time requirements of libisoburn towards libjte are
the same as of a suitable libisofs towards libjte.
@ -285,9 +285,9 @@ int isoburn_libburn_req(int *major, int *minor, int *micro);
time.
@since 0.1.0
*/
#define isoburn_header_version_major 0
#define isoburn_header_version_minor 6
#define isoburn_header_version_micro 5
#define isoburn_header_version_major 1
#define isoburn_header_version_minor 0
#define isoburn_header_version_micro 0
/** Note:
Above version numbers are also recorded in configure.ac because libtool
wants them as parameters at build time.
@ -952,6 +952,7 @@ int isoburn_igopt_destroy(struct isoburn_imgen_opts **o, int flag);
@param level is a term of the ISO 9660 standard. It should be one of:
1= filenames restricted to form 8.3
2= filenames allowed up to 31 characters
3= file content may be larger than 4 GB - 1.
@return 1 success, <=0 failure
*/
int isoburn_igopt_set_level(struct isoburn_imgen_opts *o, int level);
@ -1089,6 +1090,14 @@ int isoburn_igopt_get_extensions(struct isoburn_imgen_opts *o, int *ext);
Joliet tree rather than the ISO 9660 / ECMA-119 names.
@since 0.5.4
Previous versions added dots to Joliet names unconditionally.
bit14= allow_dir_id_ext
Convert directory names for ECMA-119 similar to other file
names, but do not force a dot or add a version number.
This violates ECMA-119 by allowing one "." and especially
ISO level 1 by allowing DOS style 8.3 names rather than
only 8 characters.
(mkisofs and its clones obviously do this violation.)
@since 1.0.0
@return 1 success, <=0 failure
*/
#define isoburn_igopt_omit_version_numbers 1
@ -1105,10 +1114,40 @@ int isoburn_igopt_get_extensions(struct isoburn_imgen_opts *o, int *ext);
#define isoburn_igopt_aaip_susp_1_10 2048
#define isoburn_igopt_only_iso_versions 4096
#define isoburn_igopt_no_j_force_dots 8192
#define isoburn_igopt_allow_dir_id_ext 16384
int isoburn_igopt_set_relaxed(struct isoburn_imgen_opts *o, int relax);
int isoburn_igopt_get_relaxed(struct isoburn_imgen_opts *o, int *relax);
/** Caution: This option breaks any assumptions about names that
are supported by ECMA-119 specifications.
Try to omit any translation which would make a file name compliant to the
ECMA-119 rules. This includes and exceeds omit_version_numbers,
max_37_char_filenames, no_force_dots bit0, allow_full_ascii. Further it
prevents the conversion from local character set to ASCII.
The maximum name length is given by this call. If a filename exceeds
this length or cannot be recorded untranslated for other reasons, then
image production gets aborted.
Currently the length limit is 96 characters, because an ECMA-119 directory
record may at most have 254 bytes and up to 158 other bytes must fit into
the record. Probably 96 more bytes can be made free for the name in future.
@since 1.0.0
@param o The option set to work on
@param len 0 = disable this feature and perform name translation
according to other settings.
>0 = Omit any translation. Eventually abort image production
if a name is longer than the given value.
-1 = Like >0. Allow maximum possible length.
isoburn_igopt_get_untranslated_name_len() will tell the
effectively resulting value.
@return >0 success, <=0 failure
*/
int isoburn_igopt_set_untranslated_name_len(struct isoburn_imgen_opts *o,
int len);
int isoburn_igopt_get_untranslated_name_len(struct isoburn_imgen_opts *o,
int *len);
/** Whether and how files should be sorted.
@since 0.1.0
@param o The option set to work on
@ -1165,7 +1204,7 @@ int isoburn_igopt_get_over_ugid(struct isoburn_imgen_opts *o,
int *replace_uid, int *replace_gid,
uid_t *uid, gid_t *gid);
/** Set the charcter set to use for representing filenames in the image.
/** Set the charcter set to use for representing RR filenames in the image.
@since 0.1.0
@param o The option set to work on
@param output_charset Set this to NULL to use the default output charset.

View File

@ -40,6 +40,7 @@ isoburn_igopt_get_scdbackup_tag;
isoburn_igopt_get_sort_files;
isoburn_igopt_get_system_area;
isoburn_igopt_get_tail_blocks;
isoburn_igopt_get_untranslated_name_len;
isoburn_igopt_new;
isoburn_igopt_set_disc_label;
isoburn_igopt_set_extensions;
@ -55,6 +56,7 @@ isoburn_igopt_set_scdbackup_tag;
isoburn_igopt_set_sort_files;
isoburn_igopt_set_system_area;
isoburn_igopt_set_tail_blocks;
isoburn_igopt_set_untranslated_name_len;
isoburn_initialize;
isoburn_is_compatible;
isoburn_libburn_req;

View File

@ -4,7 +4,7 @@
GNU xorriso. By Thomas Schmitt <scdbackup@gmx.net>
Derived from and supported by libburnia-project.org, published via:
http://www.gnu.org/software/xorriso/xorriso_eng.html
ftp://ftp.gnu.org/gnu/xorriso/xorriso-0.6.5.tar.gz
ftp://ftp.gnu.org/gnu/xorriso/xorriso-1.0.0.tar.gz
Provided under GPL version 3 or later. No warranty.
------------------------------------------------------------------------------
@ -46,10 +46,10 @@ Optional at compile time are:
If they were present at compile time, then the optional libraries have to
be present at runtime, too.
Obtain xorriso-0.6.5.tar.gz, take it to a directory of your choice and do:
Obtain xorriso-1.0.0.tar.gz, take it to a directory of your choice and do:
tar xzf xorriso-0.6.5.tar.gz
cd xorriso-0.6.5
tar xzf xorriso-1.0.0.tar.gz
cd xorriso-1.0.0
Within that directory execute:
@ -291,9 +291,9 @@ and a matching dynamically linked xorriso binary.
This binary is very lean but depends on properly installed libraries of
suitable revision.
Dynamic library and compile time header requirements for libisoburn-0.6.4 :
- libburn.so.4 , version libburn-0.8.8 or higher
- libisofs.so.6 , version libisofs-0.6.38 or higher
Dynamic library and compile time header requirements for libisoburn-1.0.0 :
- libburn.so.4 , version libburn-1.0.0 or higher
- libisofs.so.6 , version libisofs-1.0.0 or higher
libisoburn and xorriso will not start with libraries which are older than their
headers seen at compile time. So compile in the oldest possible installation
setup unless you have reason to enforce a newer bug fix level.
@ -411,7 +411,7 @@ By Mario Danic <mario.danic@gmail.com>, libburn, libisofs
Vreixo Formoso <metalpain2002@yahoo.es>, libisofs, libisoburn
Thomas Schmitt <scdbackup@gmx.net>, libburn, libisofs,
libisoburn, xorriso
Copyright (C) 2006-2010 Mario Danic, Vreixo Formoso, Thomas Schmitt.
Copyright (C) 2006-2011 Mario Danic, Vreixo Formoso, Thomas Schmitt.
libburnia-project.org is inspired by and in libburn still containing parts
of old
@ -422,12 +422,12 @@ Copyright (C) 2002-2006 Derek Foreman and Ben Jansens
GNU xorriso contains libjte
Copyright (C) 2000-2007 Free Software Foundation, Inc.
2004-2010 Steve McIntyre
2010-2010 George Danchev, Thomas Schmitt
2010-2011 George Danchev, Thomas Schmitt
------------------------------------------------------------------------------
This text itself is
Copyright (c) 2007 - 2010 Thomas Schmitt <scdbackup@gmx.net>
Copyright (c) 2007 - 2011 Thomas Schmitt <scdbackup@gmx.net>
and is freely distributable.
It shall only be modified in sync with the technical properties of xorriso.
If you make use of the license to derive modified versions of xorriso

View File

@ -3,7 +3,7 @@
/* xorriso - creates, loads, manipulates and burns ISO 9660 filesystem images.
Copyright 2007-2010 Thomas Schmitt, <scdbackup@gmx.net>
Copyright 2007-2011 Thomas Schmitt, <scdbackup@gmx.net>
Provided under GPL version 2 or later.
@ -119,7 +119,9 @@ int Xorriso_new(struct XorrisO ** xorriso,char *progname, int flag)
m->split_size= 0;
strcpy(m->list_delimiter, "--");
m->ino_behavior= 7;
m->iso_level= 3;
m->do_joliet= 0;
m->do_iso1999= 0;
m->do_aaip= 0;
m->do_md5= 0;
m->no_emul_toc= 0;
@ -128,6 +130,7 @@ int Xorriso_new(struct XorrisO ** xorriso,char *progname, int flag)
m->scdbackup_tag_written[0]= 0;
m->scdbackup_tag_listname[0]= 0;
m->relax_compliance= 0;
m->untranslated_name_len= 0;
m->do_follow_pattern= 1;
m->do_follow_param= 0;
m->do_follow_links= 0;
@ -285,8 +288,9 @@ int Xorriso_new(struct XorrisO ** xorriso,char *progname, int flag)
strcpy(m->report_about_text, "UPDATE");
Xorriso__text_to_sev(m->report_about_text, &m->report_about_severity, 0);
m->library_msg_direct_print= 0;
strcpy(m->abort_on_text,"FATAL");
strcpy(m->abort_on_text,"FAILURE");
Xorriso__text_to_sev(m->abort_on_text, &m->abort_on_severity, 0);
m->abort_on_is_default= 1;
m->problem_status= 0;
m->problem_status_text[0]= 0;
m->errfile_log[0]= 0;

View File

@ -8962,17 +8962,530 @@ xorriso/configure_ac.txt
xorriso/xorriso_timestamp.h
Version leap to libisoburn-0.6.5
26 Oct 2010 []
26 Oct 2010 [3470]
ChangeLog
xorriso/changelog.txt
Documented changes and release timestamp
26 Oct 2010 [3471]
svn move -m Promoted branch to tag
http://svn.libburnia-project.org/libisoburn/branches/ZeroSixFour
http://svn.libburnia-project.org/libisoburn/tags/ZeroSixFour
------------------------------------ cycle - xorriso-0.6.5 - 2010.10.26.104219
2010.10.27.063628 [3472]
xorriso/emulators.c
Bug fix: -as mkisofs -print-size printed the size but also produced ISO image
------------------------------------ cycle - xorriso-0.6.5 -
------------------------------------ cycle - xorriso-0.6.5 -
2010.10.27.063705 [3473]
xorriso/emulators.c
New -as mkisofs option -joliet-long
------------------------------------ cycle - xorriso-0.6.5 - 2010.10.27.063705
* Bug fix: -as mkisofs -print-size printed the size but also produced ISO image
* New -as mkisofs option -joliet-long
2010.10.29.164503 [3475]
xorriso/write_run.c
Added necessary isoburn_cancel_prepared_write() calls
------------------------------------ cycle - xorriso-0.6.5 - 2010.10.29.164503
------------------------------------ cycle - xorriso-0.6.5 - 2010.11.01.113243
* Build problem fix on Linux 2.4 in GNU xorriso libjte/checksum.c
2010.11.01.191542 [3477]
xorriso/iso_manip.c
Allowed to perform -rm_r /
2010.11.03.081124 [3478]
xorriso/xorriso_private.h
xorriso/base_obj.c
xorriso/drive_mgt.h
xorriso/drive_mgt.c
xorriso/findjob.c
xorriso/read_run.c
Testing for abort file during -check_media
2010.11.05.143916 [3470]
libisoburn/libisoburn.h
libisoburn/isoburn.h
libisoburn/isoburn.c
libisoburn/libisoburn.ver
New API calls isoburn_igopt_set_disc_label(), isoburn_igopt_get_disc_label()
2010.11.05.144616 [3480]
xorriso/xorriso_private.h
xorriso/base_obj.c
xorriso/opts_a_c.c
xorriso/opts_d_h.c
xorriso/emulators.c
xorriso/iso_img.c
xorriso/write_run.c
New bootspec sparc_label=, new -as mkisofs options -sparc-boot , -sparc-label
05 Nov 2010 [3481]
xorriso/xorriso.texi
xorriso/xorriso.info
xorriso/xorriso.1
Documentation changes of rev 3480
------------------------------------ cycle - xorriso-0.6.5 - 2010.11.05.144616
* New API calls isoburn_igopt_set_disc_label(), isoburn_igopt_get_disc_label()
* New bootspec sparc_label=, new -as mkisofs options -sparc-boot , -sparc-label
2010.11.06.133454 [3482]
libisoburn/libisoburn.h
xorriso/write_run.c
ChangeLog
Declared that isoburn_cancel_prepared_write() waits until iso write thread ends
2010.11.21.065727 [3484]
xorriso/make_xorriso_standalone.sh
Included jigdo-gen-md5-list in GNU xorriso
------------------------------------ cycle - xorriso-0.6.5 - 2010.11.21.065727
2010.11.23.193708 [3485]
xorriso/iso_img.c
Improved behavior with loading multiple boot images of identical content
2010.11.23.200346 [3486]
xorriso/xorriso_private.h
xorriso/base_obj.c
xorriso/lib_mgt.c
xorriso/write_run.c
Avoided to bother libjte if no output paths are given
------------------------------------ cycle - xorriso-0.6.5 - 2010.11.23.200346
2010.11.24.100845 [3487]
libisoburn/libisoburn.h
libisoburn/isoburn.h
libisoburn/isoburn.c
New pseudo extension isoburn_igopt_will_cancel to avoid MISHAP event
2010.11.24.101056 [3488]
xorriso/write_run.c
Making use of isoburn_igopt_will_cancel with xorriso -print_size
------------------------------------ cycle - xorriso-0.6.5 - 2010.11.24.101056
2010.11.27.134702 [3489]
configure.ac
libisoburn/libisoburn.h
Requiring libisofs-0.6.39 now
2010.11.30.093929 [3490]
libisoburn/libisoburn.h
libisoburn/isoburn.h
libisoburn/isoburn.c
libisoburn/isofs_wrap.c
libisoburn/data_source.c
libisoburn/libisoburn.ver
New API calls isoburn_ropt_set_displacement(), isoburn_ropt_get_displacement()
2010.11.30.094310 [3491]
xorriso/xorriso.h
xorriso/xorriso_private.h
xorriso/base_obj.c
xorriso/parse_exec.c
xorriso/opts_d_h.c
xorriso/drive_mgt.c
xorriso/text_io.c
xorriso/xorriso.texi
xorriso/xorriso.info
xorriso/xorriso.1
libisoburn/libisoburn.ver
ChangeLog
New option -displacement
2010.11.30.104719 [3492]
xorriso/opts_a_c.c
xorriso/opts_d_h.c
xorriso/opts_i_o.c
xorriso/disk_ops.h
xorriso/disk_ops.c
Improved messages at the end of partially failed -extract runs
2010.11.30.112050 [3493]
xorriso/opts_p_z.c
Processing output of -as mkisofs by -pkt_output if enabled
2010.11.30.170112 [3494]
xorriso/parse_exec.c
xorriso/xorriso.texi
xorriso/xorriso.info
xorriso/xorriso.1
Clarified occasions of -mark message and removed surplus -mark message emitter
2010.12.01.173750 [3495]
libisoburn/libisoburn.h
Clarified description of isoburn_ropt_set_displacement()
2010.12.02.063209 [3496]
xorriso/xorriso.h
xorriso/xorriso_private.h
xorriso/xorriso_main.c
xorriso/opts_d_h.c
xorriso/emulators.c
xorriso/iso_img.c
xorriso/xorriso.texi
xorriso/xorriso.info
xorriso/xorriso.1
No -rollback in -as mkisofs -print-size. New flag in Xorriso_change_is_pending.
2010.12.02.111029 [3497]
xorriso/xorrisoburn.h
xorriso/opts_d_h.c
xorriso/disk_ops.c
xorriso/iso_manip.c
xorriso/findjob.h
xorriso/findjob.c
xorriso/xorriso.texi
xorriso/xorriso.info
xorriso/xorriso.1
New action estimate_size for -find and -findx
------------------------------------ cycle - xorriso-0.6.5 - 2010.12.02.111029
* New API calls isoburn_ropt_set_displacement(), isoburn_ropt_get_displacement()
* New option -displacement
* New action estimate_size for -find and -findx
2010.12.04.174311 [3498]
libisoburn/isofs_wrap.c
Fixed a bug about read displacement introduced with rev 3490
2010.12.04.174431 [3499]
xorriso/write_run.c
xorriso/xorriso.texi
xorriso/xorriso.info
xorriso/xorriso.1
Preliminarily banned writing while read displacement is non-zero
2010.12.06.094347 [3500]
xorriso/opts_a_c.c
xorriso/write_run.c
xorriso/xorriso.texi
xorriso/xorriso.info
xorriso/xorriso.1
Allowed writing with read displacement if target media is blank
2010.12.07.174921 [3501]
xorriso/iso_img.c
Made -rom_toc_scan emul_off work with -mount ... sbsector ...
2010.12.08.194225 [3510]
xorriso/opts_d_h.c
Fixed a potential bug introduced with rev 3497
2010.12.08.194325 [3511]
xorriso/iso_img.c
Fixed a bug introduced with rev 3501
08 Dec 2010 [3512]
xorriso/configure_ac.txt
GNU xorriso version leap to libburn-0.9.1
2010.12.10.123534 [3513]
configure.ac
libisoburn/libisoburn.h
Requiring libisofs-0.6.40 now
2010.12.10.123634 [3514]
xorriso/configure_ac.txt
Adapted GNU xorriso to version leap libisofs-0.6.41
11 Dec 2010 [3515]
xorriso/xorriso.texi
xorriso/xorriso.info
xorriso/xorriso.1
Clarification about -md5, -check_media and -find ... -damaged
12 Dec 2010 [2516]
svn copy -m Branching for libisoburn release 0.6.6
http://svn.libburnia-project.org/libisoburn/trunk
http://svn.libburnia-project.org/libisoburn/branches/ZeroSixSix
2010.12.12.090001 [3517]
configure.ac
README
libisoburn/libisoburn.h
xorriso/README_gnu_xorriso
xorriso/xorriso.h
xorriso/xorrisoburn.h
xorriso/xorriso_main.c
xorriso/xorriso_eng.html
xorriso/make_xorriso_standalone.sh
xorriso/configure_ac.txt
xorriso/xorriso_timestamp.h
Version leap to libisoburn-0.6.6
12 Dec 2010 [3518]
ChangeLog
xorriso/changelog.txt
Documented changes and release timestamp
----------------------------------- release - xorriso-0.6.6 - 2010.12.12.090001
* New API calls isoburn_igopt_set_disc_label(), isoburn_igopt_get_disc_label()
* New API calls isoburn_ropt_set_displacement(), isoburn_ropt_get_displacement()
* Bug fix: -as mkisofs -print-size printed the size but also produced ISO image
* Build problem fix on Linux 2.4 in GNU xorriso libjte/checksum.c
* New -as mkisofs option -joliet-long
* New bootspec sparc_label=, new -as mkisofs options -sparc-boot , -sparc-label
* New option -displacement
2010.12.12.120823 [3519]
configure.ac
README
libisoburn/libisoburn.h
xorriso/README_gnu_xorriso
xorriso/xorriso.h
xorriso/xorrisoburn.h
xorriso/xorriso_main.c
xorriso/xorriso_eng.html
xorriso/make_xorriso_standalone.sh
xorriso/configure_ac.txt
xorriso/xorriso_timestamp.h
Version leap to libisoburn-0.6.7
12 Dec 2010 [3520]
ChangeLog
xorriso/changelog.txt
Documented changes and release timestamp
12 Dec 2010 [3521]
svn move -m Promoted branch to tag
ttp://svn.libburnia-project.org/libisoburn/branches/ZeroSixSix
http://svn.libburnia-project.org/libisoburn/tags/ZeroSixSix
------------------------------------ cycle - xorriso-0.6.7 - 2010.12.12.120823
2010.12.13.123226 [3523]
configure.ac
xorriso/configure_ac.txt
Prepending ./configure generated options to CFLAGS rather than appending them
2010.12.22.133742 [3524]
libisoburn/libisoburn.h
libisoburn/isoburn.h
libisoburn/isoburn.c
libisoburn/libisoburn.ver
New API call isoburn_igopt_set_untranslated_name_len()
2010.12.22.133936 [3525]
xorriso/xorriso_private.h
xorriso/base_obj.c
xorriso/write_run.c
xorriso/xorriso.texi
xorriso/xorriso.info
xorriso/xorriso.1
New -compliance options untranslated_names , untranslated_name_len=
2010.12.22.151542 [3526]
xorriso/emulators.c
xorriso/xorriso.texi
xorriso/xorriso.info
xorriso/xorriso.1
New -as mkisofs option -untranslated_name_len
23 Dec 2010 [3527]
+ doc/faq.wiki
Took source file of libburnia-project.org/wiki/FAQ into SVN
2010.12.23.190134 [3529]
xorriso/xorriso_private.h
xorriso/base_obj.c
xorriso/emulators.c
xorriso/write_run.c
xorriso/xorriso.texi
xorriso/xorriso.info
xorriso/xorriso.1
ChangeLog
New -compliance option iso_9660_1999, -as mkisofs option -iso-level 4
------------------------------------ cycle - xorriso-0.6.7 -
* New API call isoburn_igopt_set_untranslated_name_len()
* New -compliance options untranslated_names , untranslated_name_len=
* New -as mkisofs option -untranslated_name_len
* New -compliance option iso_9660_1999, -as mkisofs option -iso-level 4
24 Dec 2010 [3530]
doc/faq.wiki
New q in faq
2010.12.24.135515 [3531]
libisoburn/libisoburn.h
Mentioned ISO 9660 level 3 in libisoburn API
2010.12.25.071212 [3532]
configure.ac
libisoburn/libisoburn.h
Requiring libisofs-0.6.41 now
2010.12.25.071522 [3533]
xorriso/xorriso_private.h
xorriso/base_obj.c
xorriso/write_run.c
xorriso/emulators.c
xorriso/xorriso.texi
xorriso/xorriso.info
xorriso/xorriso.1
New -compliance option iso_9660_level=number
2010.12.25.091515 [3534]
libisoburn/libisoburn.h
libisoburn/isoburn.h
libisoburn/isoburn.c
New isoburn_igopt_set_relaxed() option isoburn_igopt_allow_dir_id_ext
2010.12.25.092828 [3535]
xorriso/write_run.c
xorriso/xorriso.texi
xorriso/xorriso.info
xorriso/xorriso.1
New -compliance option allow_dir_id_ext
2010.12.25.094309 [3536]
xorriso/emulators.c
xorriso/xorriso.texi
xorriso/xorriso.info
xorriso/xorriso.1
New -as mkisofs option -disallow_dir_id_ext, allow_dir_id_ext is default
------------------------------------ cycle - xorriso-0.6.7 - 2010.12.25.094309
* New -compliance option iso_9660_level=number
* New -compliance option allow_dir_id_ext
* New -as mkisofs option -disallow_dir_id_ext
2010.12.28.093144 [3538]
xorriso/write_run.c
Made -print_size take into account the toc emulation on blank overwriteables
2010.12.28.123348 [3539]
xorriso/emulators.c
xorriso/xorriso.texi
xorriso/xorriso.info
xorriso/xorriso.1
Disabled TOC emulation with -as mkisofs. May be re-enabled by --emul-toc.
------------------------------------ cycle - xorriso-0.6.7 - 2010.12.28.123348
* Disabled TOC emulation with -as mkisofs. May be re-enabled by --emul-toc.
2010.12.29.104047 [3540]
xorriso/emulators.c
Bug fix: -as mkisofs -print-size did not account for -partition_offset
------------------------------------ cycle - xorriso-0.6.7 - 2010.12.29.104047
* Bug fix: -as mkisofs -print-size did not account for -partition_offset
30 Dec 2010 [3541]
doc/partition_offset.wiki
Mentioned Debian daily and weekly builds as examples of partiton_offset
2011.01.04.193042 [3543]
xorriso/xorriso.h
xorriso/xorriso_private.h
xorriso/base_obj.c
xorriso/opts_a_c.c
xorriso/xorriso.texi
xorriso/xorriso.info
xorriso/xorriso.1
Default -abort_on value is now "FAILURE", for dialog it stays "FATAL"
2011.01.06.111034 [3544]
xorriso/parse_exec.c
xorriso/xorriso.texi
xorriso/xorriso.info
xorriso/xorriso.1
Changed dialog default -abort_on value to "NEVER"
6 Jan 2011 [3545]
ChangeLog
Updated change log
------------------------------------ cycle - xorriso-0.6.7 - 2011.01.06.111034
* Default -abort_on value is now "FAILURE" with batch and "NEVER" with dialog
2011.01.16.182558 [3557]
configure.ac
libisoburn/libisoburn.h
Requiring libisofs-1.0.0 and libburn-1.0.0 now
16 Jan 2011 [3558]
xorriso/configure_ac.txt
Adapted GNU xorriso to version leap libisofs-1.0.1 , libburn-1.0.1
16 Jan 2011 [3559]
doc/partition_offset.wiki
Updated partition offset wiki text about --no-emul-toc
16 Jan 2011 [3560]
svn copy -m "Branching for libisoburn release 1.0.0" \
http://svn.libburnia-project.org/libisoburn/trunk \
http://svn.libburnia-project.org/libisoburn/branches/1.0.0
2011.01.16.193257 [3562]
xorriso/emulators.c
xorriso/opts_p_z.c
Updated copyright messages to 2011
2011.01.16.200001 [3563]
configure.ac
README
libisoburn/libisoburn.h
xorriso/README_gnu_xorriso
xorriso/xorriso.h
xorriso/xorrisoburn.h
xorriso/xorriso_main.c
xorriso/xorriso_eng.html
xorriso/make_xorriso_standalone.sh
xorriso/configure_ac.txt
xorriso/xorriso_timestamp.h
Version leap to libisoburn-1.0.0
[]
ChangeLog
xorriso/changelog.txt
Documented changes and release timestamp
----------------------------------- release - xorriso-1.0.0 - 2011.01.16.200001
* New API call isoburn_igopt_set_untranslated_name_len()
* New -compliance options untranslated_names , untranslated_name_len=
* New -as mkisofs option -untranslated_name_len
* New -compliance option iso_9660_1999, -as mkisofs option -iso-level 4
* New -compliance option iso_9660_level=number
* New -compliance option allow_dir_id_ext
* New -as mkisofs option -disallow_dir_id_ext
* Disabled TOC emulation with -as mkisofs. May be re-enabled by --emul-toc.
* Default -abort_on value is now "FAILURE" with batch and "NEVER" with dialog
* Bug fix: -as mkisofs -print-size did not account for -partition_offset
2011.01.16.193257 [3561]
xorriso/emulators.c
xorriso/opts_p_z.c
Updated copyright messages to 2011
------------------------------------ cycle - xorriso-1.0.1 -
------------------------------------ cycle - xorriso-1.0.1 -
**********************************************************************
@ -8985,86 +9498,6 @@ Important: When adding a public API function then add its name to file
===============================================================================
- If libburn ends reading before libisofs is done and without canceling
burn source, then xorriso pacifier finally has to give up waiting
- Does isoburn_cancel_prepared_write() guarantee wait until it is done ?
- Does ecma119.c:bs_cancel() guarantee this ?
/sbin/mkfs.msdos -n Bla -C /dvdbuffer/test.fat 8192
dd if=/dvdbuffer/RIPLinux-9.3-non-X.iso bs=1K count=32 \
of=/dvdbuffer/RIPLinux-9.3-non-X.sysarea
mount -o loop /dvdbuffer/RIPLinux-9.3-non-X.iso /mnt
../jte/bin/jigdo-gen-md5-list /mnt >/dvdbuffer/riplinux-9.3-non-X.md5
r -as mkisofs \
-o /dvdbuffer/riplinux-9.3-non-X.iso \
-b boot/isolinux/isolinux.bin -c boot/boot.cat \
-no-emul-boot -boot-load-size 4 -boot-info-table \
-isohybrid-mbr /dvdbuffer/RIPLinux-9.3-non-X.sysarea \
-partition_offset 16 \
-append_partition 2 0x01 /dvdbuffer/test.fat \
\
-R -V 'RIPLinux_9_3' \
-jigdo-template-compress gzip \
-checksum_algorithm_iso md5,sha1,sha256,sha512 \
-checksum_algorithm_template all \
-jigdo-jigdo /dvdbuffer/riplinux-9.3-non-X.jigdo \
-jigdo-template /dvdbuffer/riplinux-9.3-non-X.template \
-jigdo-map Debian=/mnt/ \
-jigdo-exclude boot/syslinux \
-md5-list /dvdbuffer/riplinux-9.3-non-X.md5 \
-jigdo-min-file-size 0 \
-J -joliet-long -cache-inodes \
\
/mnt
On debian:
$ jigit-mkimage \
-t ~/test/test_jte.template \
-j ~/test/test_jte.jigdo \
-m Debian=/home/thomas/projekte/libburn_dir/cdrskin-0.7.2/ \
-o ~/test/test_jte.rebuilt
r -as mkisofs \
-jigdo-template-compress gzip \
-checksum_algorithm_iso md5,sha1,sha256,sha512 \
-checksum_algorithm_template md5,sha512 \
-R -V 'Debian 5.0.6 amd64 Bin-1' \
-o /home/test/test_jte.iso \
-jigdo-jigdo /home/test/test_jte.jigdo \
-jigdo-template /home/test/test_jte.template \
-jigdo-map Debian=/home/test/cdrskin-0.7.2/ \
-jigdo-exclude xorriso-0.5.6 \
-md5-list /home/test/test_jte.md5 \
-jigdo-min-file-size 0 \
-jigdo-exclude 'README*' \
-jigdo-exclude /doc/ \
-jigdo-exclude /md5sum.txt \
-jigdo-exclude /.disk/ \
-jigdo-exclude /pics/ \
-jigdo-exclude 'Release*' \
-jigdo-exclude 'Packages*' \
-jigdo-exclude 'Sources*' \
-J -J -joliet-long -cache-inodes \
-b libburn/libdax_audioxtr.h \
-c libburn/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table \
/home/test/xorriso-0.5.6 \
/home/test/cdrskin-0.7.2 \
? jte-develop/bin/jigdo-gen-md5-list
? jte-develop/doc/jigdo-gen-md5-list.1
- Should iso_write() buffer up to full 2k blocks ?
Currently it forwards many small chunks to .template.
------------------------------------------------- For Debian:
- Need specs for the exotic boot options
@ -9072,15 +9505,11 @@ r -as mkisofs \
- recognize at load time and build boot file list
-mipsel-boot is implemented
- recognize at load time and build boot file list
-sparc-boot
# Make the firmware volume.
tmpdir="$(mktemp -d)"
firmware_volume_file="$tmpdir/fat"
mkfs.msdos -n "$firmware_volume_name" -C "$firmware_volume_file" \
$(expr $firmware_volume_size_M \* 1024)
-sparc-boot is implemented
- recognize at load time
-chrp-boot
- needs HFS
- where to get specs ?
------------------------------------------------- For Solaris
@ -9120,36 +9549,9 @@ mkfs.msdos -n "$firmware_volume_name" -C "$firmware_volume_file" \
------------------------------------------------- bugs
- Empty boot image file
-boot_image any bin_path=/with_bytes
-boot_image any next
-boot_image any bin_path=/empty_file
reports no problems during write but causes strange load messages
xorriso : NOTE : Loading ISO image tree from LBA 0
libisofs: WARNING : More than one ISO node has been found for the same boot image.
xorriso : UPDATE : 3905 nodes read in 1 seconds
libisofs: WARNING : More than one ISO node has been found for the same boot image.
libisofs: WARNING : Found hidden El-Torito image. Its size could not be figure out, so image modify or boot image patching may lead to bad results.
-boot_image any show_status
yields
Boot record : El Torito
Boot catalog : '/u/boot.cat'
Boot image : '/u/x'
Boot image : -not-found-any-more-
- xorriso ... -b ... -c does/not/exist/in/image ...
yields riddling error message:
libisofs: FAILURE : A requested node does not exist
xorriso : FAILURE : Could not attach El-Torito boot image to ISO 9660 image
- An ISO image as first file of a stdout stream might start at LBA 32
and thus look like a session. It has not the proper offset, though.
- reduce xorriso -abort_on default to FAILURE ?
or increase "Not a known option" to FATAL ?
- xorriso_eng.html on www.gnu.org it should rather be xorriso.html
- DVD-ROM drives report CD tracks with size up to the next track start.
@ -9173,8 +9575,13 @@ xorriso : UPDATE : 3691 MB written (fifo 78%) [buf 100%] 2.3x.
------------------------------------------------- important
- introduce a read offset for displaced ISO images ?
(Copy from CD block 123456 to disk. Apply -img_displaced_by 123456s )
- introduce a read offset for displaced ISO images
- coordinate -displacement with image growing
- improve find action estimate_size.
- take into account indispensible RR and eventual Joliet stuff
- take into account the eventual file checksums.
- options -print_info , -print_mark
@ -9208,10 +9615,6 @@ xorriso : UPDATE : 3691 MB written (fifo 78%) [buf 100%] 2.3x.
------------------------------------------------- development
- Is it possible to make use of iso_node_set_hidden()
to hide e.g. boot catalogs ?
Eventually emulate mkisofs -hide -hide-list
- Special pseudo ACL: "--remove-default"
- libisofs , libburn , own system adapter ? :
@ -9221,9 +9624,6 @@ xorriso : UPDATE : 3691 MB written (fifo 78%) [buf 100%] 2.3x.
- -load option to ignore existing images
- image sort weight control:
isoburn_igopt_set_sort_files iso_node_set_sort_weight
- random access read and write option
- option to patch the mount image size and location on overwriteables
@ -9284,9 +9684,6 @@ xorriso : UPDATE : 3691 MB written (fifo 78%) [buf 100%] 2.3x.
Some hash accelerator would be nice.
- A dummy option in IsoWriteOpts which causes iso_image_create_burn_source()
to end before actually data get written. (For -print_size)
- Re-use unchanged sub trees in the previous image in order to
reduce the session overhead.

View File

@ -1,9 +1,9 @@
# configure.ac stems from xorriso/configure_ac.txt and leads to ./configure
# Copyright (c) 2007 - 2010 Thomas Schmitt <scdbackup@gmx.net>
# Copyright (c) 2007 - 2011 Thomas Schmitt <scdbackup@gmx.net>
# Provided under GPL version 2 or later.
AC_INIT([xorriso], [0.6.5], [http://libburnia-project.org])
AC_INIT([xorriso], [1.0.0], [http://libburnia-project.org])
AC_PREREQ([2.50])
AC_CANONICAL_HOST
@ -20,16 +20,16 @@ AC_CONFIG_HEADER(config.h)
AH_TEMPLATE([Xorriso_standalonE], [Define to prepare sources for statically linked xorriso])
AC_DEFINE([Xorriso_standalonE], [])
BURN_MAJOR_VERSION=0
BURN_MINOR_VERSION=9
BURN_MAJOR_VERSION=1
BURN_MINOR_VERSION=0
BURN_MICRO_VERSION=1
AC_SUBST(BURN_MAJOR_VERSION)
AC_SUBST(BURN_MINOR_VERSION)
AC_SUBST(BURN_MICRO_VERSION)
LIBISOFS_MAJOR_VERSION=0
LIBISOFS_MINOR_VERSION=6
LIBISOFS_MICRO_VERSION=41
LIBISOFS_MAJOR_VERSION=1
LIBISOFS_MINOR_VERSION=0
LIBISOFS_MICRO_VERSION=1
AC_SUBST(LIBISOFS_MAJOR_VERSION)
AC_SUBST(LIBISOFS_MINOR_VERSION)
AC_SUBST(LIBISOFS_MICRO_VERSION)
@ -130,15 +130,15 @@ AC_ARG_ENABLE(debug,
, enable_debug=yes)
if test x$enable_debug != xyes; then
if test x$GCC = xyes; then
CFLAGS="$CFLAGS -O3"
CFLAGS="$CFLAGS -fexpensive-optimizations"
CFLAGS="-O3 $CFLAGS"
CFLAGS="-fexpensive-optimizations $CFLAGS"
fi
CFLAGS="$CFLAGS -DNDEBUG"
CFLAGS="-DNDEBUG $CFLAGS"
else
if test x$GCC = xyes; then
CFLAGS="$CFLAGS -g -pedantic -Wall"
CFLAGS="-g -pedantic -Wall $CFLAGS"
fi
CFLAGS="$CFLAGS -DDEBUG"
CFLAGS="-DDEBUG $CFLAGS"
fi

View File

@ -1,7 +1,7 @@
/* xorriso - creates, loads, manipulates and burns ISO 9660 filesystem images.
Copyright 2007-2010 Thomas Schmitt, <scdbackup@gmx.net>
Copyright 2007-2011 Thomas Schmitt, <scdbackup@gmx.net>
Provided under GPL version 2 or later.
@ -359,7 +359,7 @@ no_volunteer:;
/* Perform actions */
Xorriso_option_report_about(xorriso, "NOTE", 0);
if(do_version) {
sprintf(xorriso->result_line, "Cdrecord 2.01-Emulation Copyright (C) 2010 see libburnia-project.org xorriso\n");
sprintf(xorriso->result_line, "Cdrecord 2.01-Emulation Copyright (C) 2011 see libburnia-project.org xorriso\n");
Xorriso_result(xorriso, 1);
Xorriso_option_version(xorriso, 0);
ret= 1; goto ex;
@ -533,6 +533,7 @@ int Xorriso_genisofs_count_args(struct XorrisO *xorriso, int argc, char **argv,
"-no-mac-files", "-chrp-boot",
"--hardlinks", "--acl", "--xattr", "--md5", "--for_backup",
"--protective-msdos-label", "--boot-catalog-hide", "--no-emul-toc",
"--emul-toc", "-disallow_dir_id_ext",
""
};
static char arg1_options[][41]= {
@ -563,7 +564,7 @@ int Xorriso_genisofs_count_args(struct XorrisO *xorriso, int argc, char **argv,
"-checksum_algorithm_iso", "-checksum_algorithm_template",
"--stdio_sync", "--quoted_path_list", "--efi-boot", "--embedded-boot",
"-isohybrid-mbr", "-e", "-partition_offset", "-partition_hd_cyl",
"-partition_sec_hd",
"-partition_sec_hd", "-untranslated_name_len",
""
};
static char arg2_options[][41]= {
@ -682,10 +683,12 @@ int Xorriso_genisofs_help(struct XorrisO *xorriso, int flag)
" -hide-joliet-list FILE File with list of Joliet files to hide",
" -input-charset CHARSET Local input charset for file name conversion",
" -output-charset CHARSET Output charset for file name conversion",
" -iso-level LEVEL Set ISO9660 conformance level (1..3)",
" -iso-level LEVEL Set ISO9660 conformance level (1..3) or 4 for ISO9660 version 2",
" -disallow_dir_id_ext Do not allow dot in ISO directory names",
" -J, -joliet Generate Joliet directory information",
" -joliet-long Allow Joliet file names to be 103 Unicode characters",
" -U, -untranslated-filenames Allow Untranslated filenames (for HPUX & AIX - violates ISO9660).",
" -untranslated_name_len LEN Allow up to LEN (1..96) name characters (heavily violates ISO9660).",
" -allow-lowercase Allow lower case characters in addition to the current character set (violates ISO9660)",
" -d, -omit-period Omit trailing periods from filenames (violates ISO9660)",
" -l, -full-iso9660-filenames Allow full 31 character filenames for ISO9660 names",
@ -769,6 +772,7 @@ int Xorriso_genisofs_help(struct XorrisO *xorriso, int flag)
" --sort-weight NUMBER FILE Set LBA weight number to file or file tree",
" --stdio_sync on|off|number Control forced output to disk files",
" --no-emul-toc Save 64 kB size on random access output files",
" --emul-toc Multi-session history on such output files",
" -z, -transparent-compression",
" Enable transparent compression of files",
" -v, -verbose Verbose",
@ -875,11 +879,11 @@ int Xorriso_genisofs(struct XorrisO *xorriso, char *whom,
int argc, char **argv, int flag)
{
int ret, i, j, was_path= 0, was_other_option= 0, mem_graft_points, mem;
int do_print_size= 0, fd, idx, iso_level= 0, emul_boot= 2;
int do_print_size= 0, fd, idx, iso_level= 1, emul_boot= 2;
int option_b= 0, was_failure= 0, fret, lower_r= 0, zero= 0;
int dir_mode= -1, file_mode= -1, count, partition_number;
int dir_mode= -1, file_mode= -1, count, partition_number, allow_dir_id_ext= 1;
mode_t mode_and, mode_or;
int with_boot_image= 0, with_cat_path= 0;
int with_boot_image= 0, with_cat_path= 0, with_emul_toc= 0;
int *weight_list= NULL, weight_count= 0;
int *delay_opt_list= NULL, delay_opt_count= 0;
char sfe[5*SfileadrL], adr[SfileadrL+8], ra_text[80], pathspec[2*SfileadrL];
@ -910,7 +914,7 @@ int Xorriso_genisofs(struct XorrisO *xorriso, char *whom,
continue;
if(strcmp(argv[i], "-version")==0) {
sprintf(xorriso->result_line,
"mkisofs 2.01-Emulation Copyright (C) 2010 see libburnia-project.org xorriso\n"
"mkisofs 2.01-Emulation Copyright (C) 2011 see libburnia-project.org xorriso\n"
);
fd= xorriso->dev_fd_1;
if(fd<0)
@ -960,18 +964,21 @@ int Xorriso_genisofs(struct XorrisO *xorriso, char *whom,
goto not_enough_args;
i++;
sscanf(argv[i], "%d", &iso_level);
if(iso_level < 1 || iso_level > 3) {
if(iso_level < 1 || iso_level > 4) {
sprintf(xorriso->info_text,
"-as %s: unsupported -iso-level '%s' (use one of: 1,2,3)",
"-as %s: unsupported -iso-level '%s' (use one of: 1,2,3,4)",
whom, argv[i]);
Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "FAILURE", 0);
ret= 0; goto problem_handler_1;
}
if(iso_level < 3)
xorriso->file_size_limit=
((off_t) 4) * ((off_t) 1024*1024*1024) - ((off_t) 1);
else
xorriso->file_size_limit= 0;
if(iso_level == 4)
xorriso->do_iso1999= 1;
else {
sprintf(sfe, "iso_9660_level=%s", argv[i]);
ret= Xorriso_relax_compliance(xorriso, sfe, 0);
if(ret <= 0)
goto problem_handler_1;
}
} else if(strcmp(argv[i], "-input-charset")==0) {
if(i+1>=argc)
@ -1042,6 +1049,14 @@ int Xorriso_genisofs(struct XorrisO *xorriso, char *whom,
goto not_enough_args;
i++;
Xorriso_option_stdio_sync(xorriso, argv[i], 0);
} else if(strcmp(argv[i], "-disallow_dir_id_ext")==0) {
allow_dir_id_ext= 0;
} else if(strcmp(argv[i], "--emul-toc")==0) {
with_emul_toc= 1;
xorriso->no_emul_toc&= ~1;
} else if(strcmp(argv[i], "--no-emul-toc")==0) {
with_emul_toc= 0;
xorriso->no_emul_toc|= 1;
} else
was_other_option= 1;
ret= Xorriso_genisofs_count_args(xorriso, argc - i, argv + i, &count, 0);
@ -1171,10 +1186,12 @@ not_enough_args:;
} else if(strcmp(argv[i], "-o")==0) {
i++;
/* was already handled in first argument scan */;
} else if(strcmp(argv[i], "-M")==0 || strcmp(argv[i], "-dev")==0) {
} else if(strcmp(argv[i], "-M")==0 || strcmp(argv[i], "-dev")==0 ||
strcmp(argv[i], "-prev-session")==0) {
i++;
/* was already handled in first argument scan */;
} else if(strcmp(argv[i], "-C")==0) {
} else if(strcmp(argv[i], "-C")==0 ||
strcmp(argv[i], "-cdrecord-params")==0) {
i++;
/* was already handled in first argument scan */;
} else if(strcmp(argv[i], "-help")==0) {
@ -1303,12 +1320,18 @@ not_enough_args:;
} else if(strcmp(argv[i], "-z")==0 ||
strcmp(argv[i], "-transparent-compression")==0) {
/* was already handled in first argument scan */;
} else if(strcmp(argv[i], "--no-emul-toc")==0) {
xorriso->no_emul_toc|= 1;
} else if(strcmp(argv[i], "-U") == 0 ||
strcmp(argv[i], "-untranslated-filenames") == 0) {
Xorriso_relax_compliance(xorriso,
"no_force_dots:long_paths:omit_version:full_ascii:lowercase", 0);
} else if(strcmp(argv[i], "-untranslated_name_len") == 0) {
if(i+1>=argc)
goto not_enough_args;
i++;
sprintf(sfe, "untranslated_name_len=%s", argv[i]);
ret= Xorriso_relax_compliance(xorriso, sfe, 0);
if(ret <= 0)
goto problem_handler_2;
} else if(strcmp(argv[i], "-N") == 0 ||
strcmp(argv[i], "-omit-version-number") == 0) {
Xorriso_relax_compliance(xorriso, "omit_version", 0);
@ -1421,6 +1444,19 @@ not_enough_args:;
strncpy(xorriso->ascii_disc_label, argv[i], Xorriso_disc_label_sizE - 1);
xorriso->ascii_disc_label[Xorriso_disc_label_sizE - 1] = 0;
} else if(strcmp(argv[i], "--stdio_sync")==0) {
if(i+1>=argc)
goto not_enough_args;
i++;
/* was already handled in first argument scan */;
} else if(strcmp(argv[i], "--emul-toc")==0 ||
strcmp(argv[i], "--no-emul-toc")==0) {
/* was already handled in first argument scan */;
} else if(strcmp(argv[i], "-disallow_dir_id_ext")==0) {
/* was already handled in first argument scan */;
} else if(argv[i][0]=='-' && argv[i][1]!=0) {
ret= Xorriso_genisofs_count_args(xorriso, argc - i, argv + i, &count, 1);
if(ret > 0) {
@ -1465,7 +1501,22 @@ is_pathspec_2:;
if(ret<=0)
goto problem_handler_2;
was_path= 1;
/* Enforce odd mkisofs defaults on first pathspec */
xorriso->pacifier_style= 1;
if(allow_dir_id_ext == 1) {
Xorriso_relax_compliance(xorriso, "allow_dir_id_ext", 0);
allow_dir_id_ext= 2;
}
if(iso_level >= 1 && iso_level <= 3) {
sprintf(sfe, "iso_9660_level=%d", iso_level);
Xorriso_relax_compliance(xorriso, sfe, 0);
iso_level= 0;
}
/* For the sake of compatibility give up emulated multi-session by default
*/
if(with_emul_toc == 0)
xorriso->no_emul_toc|= 1;
}
continue; /* regular bottom of loop */
problem_handler_2:;
@ -1475,10 +1526,6 @@ problem_handler_2:;
continue;
goto ex;
}
if(do_print_size) {
ret= Xorriso_option_print_size(xorriso, 1);
goto ex;
}
if(lower_r) {
static char *lower_r_args[3]= {"/", "-exec", "mkisofs_r"};
zero= 0;
@ -1673,6 +1720,11 @@ problem_handler_boot:;
was_failure= 1;
}
if(do_print_size) {
ret= Xorriso_option_print_size(xorriso, 1);
goto ex;
}
ret= !was_failure;
ex:;
if(was_path && !do_print_size)

View File

@ -1,7 +1,7 @@
#!/bin/sh
# make_xorriso_standalone.sh
# Copyright 2008 - 2010 Thomas Schmitt, scdbackup@gmx.net, GPLv2+
# Copyright 2008 - 2011 Thomas Schmitt, scdbackup@gmx.net, GPLv2+
#
# Not intended for general use in production installations !
#
@ -40,7 +40,7 @@ create_gnu_xorriso="yes"
current_dir=$(pwd)
lone_dir="$current_dir"/"xorriso-standalone"
xorriso_rev=0.6.5
xorriso_rev=1.0.0
# For unstable uploads and patch level 0 of stable releases:
xorriso_pl=""
# For higher patch levels of stable releases:
@ -263,7 +263,7 @@ then
copy_files xorriso/COPYING_gnu_xorriso "$lone_dir"/COPYING
copy_files xorriso/AUTHORS_gnu_xorriso "$lone_dir"/AUTHORS
# patch xorriso/xorriso.c to be GNU xorriso
# patch xorriso/xorriso.h to be GNU xorriso
sed -e's/define Xorriso_libburnia_xorrisO/define Xorriso_GNU_xorrisO/' \
-e's/This may be changed to Xorriso_GNU_xorrisO in order to c/C/' \
<xorriso/xorriso.h >"$lone_dir"/xorriso/xorriso.h

View File

@ -1,7 +1,7 @@
/* xorriso - creates, loads, manipulates and burns ISO 9660 filesystem images.
Copyright 2007-2010 Thomas Schmitt, <scdbackup@gmx.net>
Copyright 2007-2011 Thomas Schmitt, <scdbackup@gmx.net>
Provided under GPL version 2 or later.
@ -52,6 +52,7 @@ int Xorriso_option_abort_on(struct XorrisO *xorriso, char *severity, int flag)
if(Sfile_str(xorriso->abort_on_text,severity,0)<=0)
return(-1);
xorriso->abort_on_severity= sev;
xorriso->abort_on_is_default= 0;
Xorriso_set_abort_severity(xorriso, 0);
return(1);
}

View File

@ -1,7 +1,7 @@
/* xorriso - creates, loads, manipulates and burns ISO 9660 filesystem images.
Copyright 2007-2010 Thomas Schmitt, <scdbackup@gmx.net>
Copyright 2007-2011 Thomas Schmitt, <scdbackup@gmx.net>
Provided under GPL version 2 or later.
@ -1560,7 +1560,7 @@ int Xorriso_option_version(struct XorrisO *xorriso, int flag)
sprintf(xorriso->result_line,
"ISO 9660 Rock Ridge filesystem manipulator and CD/DVD/BD burn program\n");
sprintf(xorriso->result_line+strlen(xorriso->result_line),
"Copyright (C) 2010, Thomas Schmitt <scdbackup@gmx.net>, libburnia project.\n");
"Copyright (C) 2011, Thomas Schmitt <scdbackup@gmx.net>, libburnia project.\n");
Xorriso_result(xorriso, 0);
sprintf(xorriso->result_line,
"xorriso version : %d.%d.%d%s\n",

View File

@ -1,7 +1,7 @@
/* xorriso - creates, loads, manipulates and burns ISO 9660 filesystem images.
Copyright 2007-2010 Thomas Schmitt, <scdbackup@gmx.net>
Copyright 2007-2011 Thomas Schmitt, <scdbackup@gmx.net>
Provided under GPL version 2 or later.
@ -1473,6 +1473,8 @@ int Xorriso_dialog(struct XorrisO *xorriso, int flag)
if(!xorriso->dialog)
return(1);
if(xorriso->abort_on_is_default)
Xorriso_option_abort_on(xorriso, "NEVER", 0);
xorriso->is_dialog= 1;
for(first_round= 1;1;first_round= 0) {
if(xorriso->pending_option[0]!=0) {

View File

@ -98,10 +98,11 @@ int Xorriso_sanitize_image_size(struct XorrisO *xorriso,
struct burn_write_opts *burn_options, int flag)
{
int ret, img_sectors, num_sessions= 0, num_tracks= 0, padding= 0, profile;
int media_space, lba, nwa;
int media_space, lba, nwa, multi_emul_blocks= 0;
char profile_name[80];
struct burn_session **sessions;
struct burn_track **tracks;
enum burn_disc_status s;
img_sectors= burn_disc_get_sectors(disc);
@ -140,6 +141,15 @@ no_track:;
sessions survive and confuse -rom_toc_scan.
*/
xorriso->alignment= 32;
s= isoburn_disc_get_status(drive);
if(s == BURN_DISC_BLANK) {
/* Count blocks before nwa as part of the image */;
ret= isoburn_disc_track_lba_nwa(drive, burn_options, 0, &lba, &nwa);
if(ret <= 0)
nwa= 0;
multi_emul_blocks= nwa;
}
}
}
if(xorriso->alignment > 0) {
@ -176,7 +186,7 @@ no_track:;
{ret= 0; goto ex;}
}
if(flag&1) {
ret= img_sectors+padding;
ret= multi_emul_blocks + img_sectors + padding;
} else
ret= 1;
ex:;
@ -719,9 +729,10 @@ int Xorriso_write_session(struct XorrisO *xorriso, int flag)
&value_length, &value, 2 | 8);
}
isoburn_igopt_set_level(sopts, 3);
isoburn_igopt_set_level(sopts, xorriso->iso_level);
ext= isoburn_igopt_rockridge |
((!!xorriso->do_joliet) * isoburn_igopt_joliet) |
((!!xorriso->do_iso1999) * isoburn_igopt_iso1999) |
(( !(xorriso->ino_behavior & 2)) * isoburn_igopt_hardlinks) |
(( (!(xorriso->ino_behavior & 2)) ||
(xorriso->do_aaip & (2 | 8 | 16 | 256)) ||
@ -735,6 +746,10 @@ int Xorriso_write_session(struct XorrisO *xorriso, int flag)
ext|= isoburn_igopt_no_emul_toc;
isoburn_igopt_set_extensions(sopts, ext);
isoburn_igopt_set_relaxed(sopts, relax);
ret= isoburn_igopt_set_untranslated_name_len(sopts,
xorriso->untranslated_name_len);
if(ret <= 0)
{ret= 0; goto ex;}
isoburn_igopt_set_sort_files(sopts, 1);
isoburn_igopt_set_over_mode(sopts, 0, 0, (mode_t) 0, (mode_t) 0);
isoburn_igopt_set_over_ugid(sopts, 0, 0, (uid_t) 0, (gid_t) 0);
@ -903,6 +918,7 @@ int Xorriso_write_session(struct XorrisO *xorriso, int flag)
Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "FAILURE", 0);
ret= 0; goto ex;
}
Xorriso_process_msg_queues(xorriso,0);
sessions= burn_disc_get_sessions(disc, &num_sessions);
if(num_sessions>0) {
@ -1798,7 +1814,10 @@ int Xorriso_relax_compliance(struct XorrisO *xorriso, char *mode,
int flag)
{
char *npt, *cpt;
int l, was;
int l, was, value, ret;
struct isoburn_imgen_opts *opts= NULL;
char msg[160];
off_t limit;
was= xorriso->relax_compliance;
npt= cpt= mode;
@ -1816,6 +1835,32 @@ int Xorriso_relax_compliance(struct XorrisO *xorriso, char *mode,
} else if(l == 7 && strncmp(cpt, "default", l) == 0) {
xorriso->relax_compliance= Xorriso_relax_compliance_defaulT;
} else if((l == 18 && strncmp(cpt, "untranslated_names", l) == 0) ||
(l == 21 && strncmp(cpt, "untranslated_names_on", l) == 0) ) {
xorriso->untranslated_name_len = -1;
} else if((l == 22 && strncmp(cpt, "untranslated_names_off", l) == 0)) {
xorriso->untranslated_name_len = 0;
} else if((l >= 22 && strncmp(cpt, "untranslated_name_len=", 22) == 0)) {
value= -1;
sscanf(cpt + 22, "%d", &value);
/* Let libisoburn check the value */
ret= isoburn_igopt_new(&opts, 0);
if(ret != 1)
return(-1);
ret= isoburn_igopt_set_untranslated_name_len(opts, value);
isoburn_igopt_destroy(&opts, 0);
if(ret <= 0) { /* Not a tasty value */
xorriso->relax_compliance= was;
return(0);
}
xorriso->untranslated_name_len = value;
} else if((l == 16 && strncmp(cpt, "allow_dir_id_ext", l) == 0) ||
(l == 19 && strncmp(cpt, "allow_dir_id_ext_on", l) == 0) ) {
xorriso->relax_compliance|= isoburn_igopt_allow_dir_id_ext;
} else if((l == 20 && strncmp(cpt, "allow_dir_id_ext_off", l) == 0)) {
xorriso->relax_compliance&= ~isoburn_igopt_allow_dir_id_ext;
} else if((l == 12 && strncmp(cpt, "omit_version", l) == 0) ||
(l == 15 && strncmp(cpt, "omit_version_on", l) == 0) ) {
xorriso->relax_compliance|= isoburn_igopt_omit_version_numbers;
@ -1915,6 +1960,33 @@ int Xorriso_relax_compliance(struct XorrisO *xorriso, char *mode,
(l == 8 && strncmp(cpt, "emul_toc", l) == 0)) {
xorriso->no_emul_toc&= ~1;
} else if((l == 13 && strncmp(cpt, "iso_9660_1999", l) == 0) ||
(l == 16 && strncmp(cpt, "iso_9660_1999_on", l) == 0)) {
xorriso->do_iso1999= 1;
} else if(l == 17 && strncmp(cpt, "iso_9660_1999_off", l) == 0) {
xorriso->do_iso1999= 0;
} else if((l >= 15 && strncmp(cpt, "iso_9660_level=", 15) == 0)) {
value= 0;
sscanf(cpt + 15, "%d", &value);
if(value == 1 || value == 2) {
limit= ((off_t) 4) * ((off_t) 1024*1024*1024) - ((off_t) 1);
xorriso->iso_level= value;
if(xorriso->file_size_limit > limit)
xorriso->file_size_limit= limit;
} else if(value == 3) {
xorriso->iso_level= value;
if(xorriso->file_size_limit < Xorriso_default_file_size_limiT)
xorriso->file_size_limit= Xorriso_default_file_size_limiT;
} else {
sprintf(msg,
"-compliance iso_9660_level=%d : Only 1, 2, or 3 are permissible",
value);
Xorriso_msgs_submit(xorriso, 0, msg, 0, "FAILURE", 0);
xorriso->relax_compliance= was;
return(0);
}
} else if((l == 8 && strncmp(cpt, "iso_9660", l) == 0) ||
(l == 11 && strncmp(cpt, "iso_9660_on", l) == 0)) {
/* may have a meaning in future */;
@ -1923,6 +1995,8 @@ int Xorriso_relax_compliance(struct XorrisO *xorriso, char *mode,
Xorriso_msgs_submit(xorriso, 0,
"-compliance -iso_9660_off : Cannot do anything else but ISO 9660",
0, "FAILURE", 0);
xorriso->relax_compliance= was;
return(0);
} else {
if(l<SfileadrL)
@ -1952,6 +2026,10 @@ int Xorriso_get_relax_text(struct XorrisO *xorriso, char mode[1024],
return(1);
}
strcpy(mode, "clear");
if(xorriso->iso_level != 3)
sprintf(mode + strlen(mode), ":iso_9660_level=%d", xorriso->iso_level);
if(r & isoburn_igopt_allow_dir_id_ext)
strcat(mode, ":allow_dir_id_ext");
if(r & isoburn_igopt_omit_version_numbers)
strcat(mode, ":omit_version");
if(r & isoburn_igopt_only_iso_versions)
@ -1987,9 +2065,15 @@ int Xorriso_get_relax_text(struct XorrisO *xorriso, char mode[1024],
}
if(xorriso->no_emul_toc & 1)
strcat(mode, ":no_emul_toc");
if(xorriso->untranslated_name_len != 0)
sprintf(mode + strlen(mode), ":untranslated_name_len=%d",
xorriso->untranslated_name_len);
if(xorriso->do_iso1999)
sprintf(mode + strlen(mode), ":iso_9660_1999");
return(1 +
(r == Xorriso_relax_compliance_defaulT && !(xorriso->no_emul_toc & 1)));
(r == Xorriso_relax_compliance_defaulT && !(xorriso->no_emul_toc & 1)
&& xorriso->untranslated_name_len == 0 && !xorriso->do_iso1999 &&
xorriso->iso_level == 3));
}

View File

@ -9,7 +9,7 @@
.\" First parameter, NAME, should be all caps
.\" Second parameter, SECTION, should be 1-8, maybe w/ subsection
.\" other parameters are allowed: see man(7), man(1)
.TH XORRISO 1 "Dec 10, 2010"
.TH XORRISO 1 "Jan 06, 2011"
.\" Please adjust this date whenever revising the manpage.
.\"
.\" Some roff macros, for reference:
@ -757,7 +757,6 @@ are both in effect. This restricts hard linking to other files restored by
the same single extract command. -hardlinks "normal_extract" re-enables
wide and expensive hardlink accumulation.
.br
.TP
\fB\-acl\fR "on"|"off"
Enable or disable processing of ACLs.
If enabled, then xorriso will obtain ACLs from disk file objects,
@ -1993,32 +1992,54 @@ can be revoked individually by appending "_off". Like "deep_paths_off".
.br
Rule keywords are:
.br
"omit_version" do not add versions (";1") to ISO and Joliet file names.
"iso_9660_level="number chooses level 1 with ISO names of the form 8.3
and -file_size_limit <= 4g - 1, or level 2 with ISO names up to
length 32 and the same -file_size_limit, or level 3 with ISO names up to
length 32 and -file_size_limit >= 400g -200k. If necessary -file_size_limit
gets adjusted.
.br
"only_iso_version" do not add versions (";1") to Joliet file names.
"allow_dir_id_ext" allows ISO names of directories to have a name extension
as with other file types. It does not force dots and it omits the version
number, though. This is a bad tradition of mkisofs which violates ECMA-119.
Especially ISO level 1 only allows 8 characters in a directory name and
not 8.3.
.br
"deep_paths" allow ISO file paths deeper than 8 levels.
"omit_version" does not add versions (";1") to ISO and Joliet file names.
.br
"long_paths" allow ISO file paths longer than 255 characters.
"only_iso_version" does not add versions (";1") to Joliet file names.
.br
"long_names" allow up to 37 characters with ISO file names.
"deep_paths" allows ISO file paths deeper than 8 levels.
.br
"no_force_dots" do not add a dot to ISO file names which have none.
"long_paths" allows ISO file paths longer than 255 characters.
.br
"no_j_force_dots" do not add a dot to Joliet file names which have none.
"long_names" allows up to 37 characters with ISO file names.
.br
"lowercase" allow lowercase characters in ISO file names.
"no_force_dots" does not add a dot to ISO file names which have none.
.br
"full_ascii" allow all ASCII characters in ISO file names.
"no_j_force_dots" does not add a dot to Joliet file names which have none.
.br
"joliet_long_paths" allow Joliet paths longer than 240 characters.
"lowercase" allows lowercase characters in ISO file names.
.br
"always_gmt" store timestamps in GMT representation with timezone 0.
"full_ascii" allows all ASCII characters in ISO file names.
.br
"rec_mtime" record with ISO files the disk file's mtime and not the
"untranslated_names" might be dangerous for inadverted reader programs
which rely on the restriction to at most 37 characters in ISO file names.
This option allows ISO file names up to 96 characters with no character
conversion. If a file name has more characters, then image production will
fail deliberately.
.br
"untranslated_name_len="number enables untranslated_names with a smaller limit
for the length of file names. 0 disables this feature, -1 chooses maximum
length limit, numbers larger than 0 give the desired length limit.
.br
"joliet_long_paths" allows Joliet paths longer than 240 characters.
.br
"always_gmt" stores timestamps in GMT representation with timezone 0.
.br
"rec_mtime" records with ISO files the disk file's mtime and not the
creation time of the image.
.br
"new_rr" use Rock Ridge version 1.12 (suitable for GNU/Linux but not for older
"new_rr" uses Rock Ridge version 1.12 (suitable for GNU/Linux but not for older
FreeBSD or for Solaris). This implies "aaip_susp_1_10_off" which may be changed
by subsequent "aaip_susp_1_10".
.br
@ -2031,6 +2052,10 @@ rather than as official extension under SUSP-1.12.
"no_emul_toc" saves 64 kB with the first session on overwriteable media
but makes the image incapable of displaying its session history.
.br
"iso_9660_1999" causes the production of an additional directory tree
compliant to ISO 9660:1999. It can record long filenames for readers which
do not understand Rock Ridge.
.br
Default setting is
.br
"clear:only_iso_version:deep_paths:long_paths:no_j_force_dots:
@ -2779,6 +2804,10 @@ file content stems from the loaded ISO image and is not filtered.
Enable or disable to enter dialog mode after all arguments are processed.
In dialog mode input lines get prompted via readline or from stdin.
.br
If no -abort_on severity was set when dialog starts, then "NEVER" is set
to avoid abort in most cases of wrong input or other problems. Before dialog
begins, the default is "FAILURE" which e.g. aborts on unknown commands.
.br
Mode "on" supports input of newline characters within quotation marks and
line continuation by trailing backslash outside quotation marks.
Mode "single_line" does not.
@ -2915,6 +2944,9 @@ session number, resp. volume id of the depicted session.
Print the foreseeable consumption of 2048 byte blocks
by next -commit. This can last a while as a -commit gets
prepared and only in last moment is revoked by this option.
The result depends on several settings and also on the kind of output device.
If no -jidgo options are given, then -padding (300 kB by default) is not
counted as part of the image size.
.TP
\fB\-tell_media_space\fR
Print available space on output media and the free space after
@ -3484,6 +3516,11 @@ standard output.
-print-size inhibits automatic image production at program end. This ban is
lifted only if the pending image changes get discarded.
.br
If no -iso-level is given, then level 1 is chosen when the first file or
directory is added to the image. At the same occasion directory names get
allowed to violate the standard by -compliance option allow_dir_id_ext.
This may be avoided by option -disallow_dir_id_ext.
.br
Not original mkisofs options are --quoted_path_list ,
--hardlinks , --acl ,
--xattr , --md5 , --stdio_sync .
@ -3491,7 +3528,10 @@ They work like the xorriso options with the
same name and hardcoded argument "on", e.g. -acl "on".
Explicit arguments are expected by --stdio_sync
and --scdbackup_tag.
--no-emul-toc is -compliance no_emul_toc.
.br
The capability to preserve multi-session history on overwriteable media
gets disabled by default. It can be enabled by using --emul-toc
with the first session. See -compliance no_emul_toc.
.br
--sort-weight gets as arguments a number and an iso_rr_path.
The number becomes the LBA sorting weight of regular file iso_rr_path or
@ -3523,6 +3563,9 @@ instead of -G to apply the effect of -boot_image isolinux partition_table=on.
.br
Option -append_partition is supported.
.br
-untranslated_name_len number is
-compliance untranslated_name_len=number.
.br
The options of genisoimage Jigdo Template Extraction are recognized and
performed via xorriso option -jigdo. See the "Alias:" names there for the
meaning of the genisoimage options.
@ -4182,6 +4225,8 @@ Files with names matching *.o or *.swp get excluded explicitly.
When done with writing the new session gets checked by its recorded MD5.
.br
$ xorriso \\
.br
-abort_on FATAL \\
.br
-for_backup -disk_dev_ino on \\
.br

View File

@ -2,7 +2,7 @@
/* xorriso - libisoburn higher level API which creates, loads, manipulates
and burns ISO 9660 filesystem images.
Copyright 2007-2010 Thomas Schmitt, <scdbackup@gmx.net>
Copyright 2007-2011 Thomas Schmitt, <scdbackup@gmx.net>
Provided under GPL version 2 or later.
@ -59,9 +59,9 @@ struct XorrisO;
at build time.
@since 0.5.8
*/
#define Xorriso_header_version_majoR 0
#define Xorriso_header_version_minoR 6
#define Xorriso_header_version_micrO 5
#define Xorriso_header_version_majoR 1
#define Xorriso_header_version_minoR 0
#define Xorriso_header_version_micrO 0
/** Eventually something like ".pl01" to indicate a bug fix. Normally empty.
@ -573,6 +573,12 @@ int Xorriso_lst_destroy_all(struct Xorriso_lsT **lstring, int flag);
-list_delimiter text or at argv[argc-1].
After the call, *idx will be the index of the first not yet interpreted
argv.
Do not set any flag bits which are not described by "@param flag".
I.e. if flag is not mentioned, then submit 0.
Yet undefined flag bits might get a meaning in future. Unset bits will
then produce the traditional behavior, whereas set bits might bring
surprises to inadverted callers.
*/

View File

@ -1794,23 +1794,44 @@ will be written according to the setting of option -acl.
the following relaxation rules can be revoked individually by
appending "_off". Like "deep_paths_off".
Rule keywords are:
"omit_version" do not add versions (";1") to ISO and Joliet file
"iso_9660_level="number chooses level 1 with ISO names of the form
8.3 and -file_size_limit <= 4g - 1, or level 2 with ISO names up to
length 32 and the same -file_size_limit, or level 3 with ISO names
up to length 32 and -file_size_limit >= 400g -200k. If necessary
-file_size_limit gets adjusted.
"allow_dir_id_ext" allows ISO names of directories to have a name
extension as with other file types. It does not force dots and it
omits the version number, though. This is a bad tradition of
mkisofs which violates ECMA-119. Especially ISO level 1 only
allows 8 characters in a directory name and not 8.3.
"omit_version" does not add versions (";1") to ISO and Joliet file
names.
"only_iso_version" do not add versions (";1") to Joliet file names.
"deep_paths" allow ISO file paths deeper than 8 levels.
"long_paths" allow ISO file paths longer than 255 characters.
"long_names" allow up to 37 characters with ISO file names.
"no_force_dots" do not add a dot to ISO file names which have none.
"no_j_force_dots" do not add a dot to Joliet file names which have
"only_iso_version" does not add versions (";1") to Joliet file
names.
"deep_paths" allows ISO file paths deeper than 8 levels.
"long_paths" allows ISO file paths longer than 255 characters.
"long_names" allows up to 37 characters with ISO file names.
"no_force_dots" does not add a dot to ISO file names which have
none.
"lowercase" allow lowercase characters in ISO file names.
"full_ascii" allow all ASCII characters in ISO file names.
"joliet_long_paths" allow Joliet paths longer than 240 characters.
"always_gmt" store timestamps in GMT representation with timezone
"no_j_force_dots" does not add a dot to Joliet file names which
have none.
"lowercase" allows lowercase characters in ISO file names.
"full_ascii" allows all ASCII characters in ISO file names.
"untranslated_names" might be dangerous for inadverted reader
programs which rely on the restriction to at most 37 characters in
ISO file names. This option allows ISO file names up to 96
characters with no character conversion. If a file name has more
characters, then image production will fail deliberately.
"untranslated_name_len="number enables untranslated_names with a
smaller limit for the length of file names. 0 disables this
feature, -1 chooses maximum length limit, numbers larger than 0
give the desired length limit.
"joliet_long_paths" allows Joliet paths longer than 240 characters.
"always_gmt" stores timestamps in GMT representation with timezone
0.
"rec_mtime" record with ISO files the disk file's mtime and not the
creation time of the image.
"new_rr" use Rock Ridge version 1.12 (suitable for GNU/Linux but
"rec_mtime" records with ISO files the disk file's mtime and not
the creation time of the image.
"new_rr" uses Rock Ridge version 1.12 (suitable for GNU/Linux but
not for older FreeBSD or for Solaris). This implies
"aaip_susp_1_10_off" which may be changed by subsequent
"aaip_susp_1_10".
@ -1822,6 +1843,9 @@ will be written according to the setting of option -acl.
"no_emul_toc" saves 64 kB with the first session on overwriteable
media but makes the image incapable of displaying its session
history.
"iso_9660_1999" causes the production of an additional directory
tree compliant to ISO 9660:1999. It can record long filenames for
readers which do not understand Rock Ridge.
Default setting is
"clear:only_iso_version:deep_paths:long_paths:no_j_force_dots:
always_gmt:old_rr".
@ -2460,6 +2484,10 @@ File: xorriso.info, Node: DialogCtl, Next: Inquiry, Prev: Exception, Up: Opt
Enable or disable to enter dialog mode after all arguments are
processed. In dialog mode input lines get prompted via readline
or from stdin.
If no -abort_on severity was set when dialog starts, then "NEVER"
is set to avoid abort in most cases of wrong input or other
problems. Before dialog begins, the default is "FAILURE" which
e.g. aborts on unknown commands.
Mode "on" supports input of newline characters within quotation
marks and line continuation by trailing backslash outside
quotation marks. Mode "single_line" does not.
@ -2572,7 +2600,10 @@ File: xorriso.info, Node: Inquiry, Next: Navigate, Prev: DialogCtl, Up: Opti
-print_size
Print the foreseeable consumption of 2048 byte blocks by next
-commit. This can last a while as a -commit gets prepared and only
in last moment is revoked by this option.
in last moment is revoked by this option. The result depends on
several settings and also on the kind of output device. If no
-jidgo options are given, then -padding (300 kB by default) is not
counted as part of the image size.
-tell_media_space
Print available space on output media and the free space after
@ -3105,11 +3136,19 @@ programs trigger comparable actions.
drive to standard output.
-print-size inhibits automatic image production at program end.
This ban is lifted only if the pending image changes get discarded.
If no -iso-level is given, then level 1 is chosen when the first
file or directory is added to the image. At the same occasion
directory names get allowed to violate the standard by -compliance
option allow_dir_id_ext. This may be avoided by option
-disallow_dir_id_ext.
Not original mkisofs options are --quoted_path_list , --hardlinks
, --acl , --xattr , --md5 , --stdio_sync . They work like the
xorriso options with the same name and hardcoded argument "on",
e.g. -acl "on". Explicit arguments are expected by --stdio_sync
and --scdbackup_tag. --no-emul-toc is -compliance no_emul_toc.
and --scdbackup_tag.
The capability to preserve multi-session history on overwriteable
media gets disabled by default. It can be enabled by using
--emul-toc with the first session. See -compliance no_emul_toc.
--sort-weight gets as arguments a number and an iso_rr_path. The
number becomes the LBA sorting weight of regular file iso_rr_path
or of all regular files underneath directory iso_rr_path. (See
@ -3131,6 +3170,8 @@ programs trigger comparable actions.
-partition_offset number is -boot_image any
partition_offset=number.
Option -append_partition is supported.
-untranslated_name_len number is -compliance
untranslated_name_len=number.
The options of genisoimage Jigdo Template Extraction are
recognized and performed via xorriso option -jigdo. See the
"Alias:" names there for the meaning of the genisoimage options.
@ -3727,6 +3768,7 @@ Files with names matching *.o or *.swp get excluded explicitly.
When done with writing the new session gets checked by its recorded MD5.
$ xorriso \
-abort_on FATAL \
-for_backup -disk_dev_ino on \
-assert_volid 'PROJECTS_MAIL_*' FATAL \
-dev /dev/sr0 \
@ -3935,7 +3977,7 @@ File: xorriso.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: Top
* # starts a comment line: Scripting. (line 128)
* -abort_on controls abort on error: Exception. (line 27)
* -abstract_file sets abstract file name: SetWrite. (line 131)
* -abstract_file sets abstract file name: SetWrite. (line 155)
* -acl controls handling of ACLs: Loading. (line 142)
* -add inserts one or more paths: Insert. (line 42)
* -add_plainly inserts one or more paths: Insert. (line 61)
@ -3943,13 +3985,13 @@ File: xorriso.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: Top
* -alter_date_r sets timestamps in ISO image: Manip. (line 166)
* -append_partition adds arbitrary file after image end: Bootable.
(line 186)
* -application_id sets application id: SetWrite. (line 90)
* -application_id sets application id: SetWrite. (line 114)
* -as emulates mkisofs or cdrecord: Emulation. (line 13)
* -assert_volid rejects undesired images: Loading. (line 84)
* -auto_charset learns character set from image: Loading. (line 99)
* -backslash_codes enables backslash conversion: Scripting. (line 45)
* -ban_stdio_write demands real drive: Loading. (line 239)
* -biblio_file sets biblio file name: SetWrite. (line 138)
* -biblio_file sets biblio file name: SetWrite. (line 162)
* -blank erases media: Writing. (line 45)
* -boot_image controls bootability: Bootable. (line 26)
* -calm_drive reduces drive activity: Loading. (line 228)
@ -3966,7 +4008,7 @@ File: xorriso.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: Top
* -chmod_r sets permissions in ISO image: Manip. (line 70)
* -chown sets ownership in ISO image: Manip. (line 42)
* -chown_r sets ownership in ISO image: Manip. (line 47)
* -close controls media closing: SetWrite. (line 233)
* -close controls media closing: SetWrite. (line 257)
* -close_filter_list bans filter registration: Filter. (line 52)
* -commit writes pending ISO image: Writing. (line 13)
* -commit_eject writes and ejects: Writing. (line 40)
@ -3974,7 +4016,7 @@ File: xorriso.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: Top
* -compare_l reports ISO/disk differences: Navigate. (line 157)
* -compare_r reports ISO/disk differences: Navigate. (line 152)
* -compliance controls standard compliance: SetWrite. (line 14)
* -copyright_file sets copyright file name: SetWrite. (line 125)
* -copyright_file sets copyright file name: SetWrite. (line 149)
* -cp_rx copies file trees to disk: Restore. (line 104)
* -cpax copies files to disk: Restore. (line 100)
* -cpr inserts like with cp -r: Insert. (line 152)
@ -3989,11 +4031,11 @@ File: xorriso.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: Top
(line 35)
* -drive_class controls drive accessability: Loading. (line 54)
* -du show directory size in ISO image: Navigate. (line 88)
* -dummy controls write simulation: SetWrite. (line 222)
* -dummy controls write simulation: SetWrite. (line 246)
* -dus show directory size in ISO image: Navigate. (line 92)
* -dusx show directory size on disk: Navigate. (line 101)
* -dux show directory size on disk: Navigate. (line 96)
* -dvd_obs set write block size: SetWrite. (line 209)
* -dvd_obs set write block size: SetWrite. (line 233)
* -eject ejects drive tray: Writing. (line 36)
* -end writes pending session and ends program: Scripting. (line 122)
* -errfile_log logs problematic disk files: Scripting. (line 84)
@ -4010,12 +4052,12 @@ File: xorriso.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: Top
* -follow softlinks and mount points: SetInsert. (line 76)
* -for_backup -acl,-xattr,-hardlinks,-md5: Loading. (line 177)
* -format formats media: Writing. (line 69)
* -fs sets size of fifo: SetWrite. (line 226)
* -fs sets size of fifo: SetWrite. (line 250)
* -getfacl shows ACL in ISO image: Navigate. (line 69)
* -getfacl_r shows ACL in ISO image: Navigate. (line 76)
* -getfattr shows xattr in ISO image: Navigate. (line 80)
* -getfattr_r shows xattr in ISO image: Navigate. (line 84)
* -gid sets global ownership: SetWrite. (line 166)
* -gid sets global ownership: SetWrite. (line 190)
* -grow_blindly overides next writeable address: AqDrive. (line 44)
* -hardlinks controls handling of hard links: Loading. (line 110)
* -help prints help text: Scripting. (line 16)
@ -4058,31 +4100,31 @@ File: xorriso.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: Top
* -not_paths sets absolute exclusion paths: SetInsert. (line 55)
* -options_from_file reads commands from file: Scripting. (line 12)
* -osirrox enables ISO-to-disk copying: Restore. (line 18)
* -out_charset sets output character set: SetWrite. (line 156)
* -out_charset sets output character set: SetWrite. (line 180)
* -outdev aquires a drive for output: AqDrive. (line 29)
* -overwrite enables overwriting in ISO: SetInsert. (line 127)
* -pacifier controls pacifier text form: Emulation. (line 132)
* -padding sets amount of image padding: SetWrite. (line 239)
* -page set terminal geometry: DialogCtl. (line 15)
* -pacifier controls pacifier text form: Emulation. (line 142)
* -padding sets amount of image padding: SetWrite. (line 263)
* -page set terminal geometry: DialogCtl. (line 19)
* -paste_in copies file into disk file: Restore. (line 117)
* -path_list inserts paths from disk file: Insert. (line 75)
* -pathspecs sets meaning of = with -add: SetInsert. (line 118)
* -pkt_output consolidates text output: Frontend. (line 7)
* -preparer_id sets preparer id: SetWrite. (line 144)
* -preparer_id sets preparer id: SetWrite. (line 168)
* -print prints text line: Scripting. (line 77)
* -print_size predicts image size: Inquiry. (line 69)
* -prog sets program name: Frontend. (line 30)
* -prog_help prints help text: Frontend. (line 33)
* -prompt prompts for enter key: Scripting. (line 80)
* -publisher sets publisher id: SetWrite. (line 84)
* -pvd_info shows image id strings: Inquiry. (line 78)
* -publisher sets publisher id: SetWrite. (line 108)
* -pvd_info shows image id strings: Inquiry. (line 81)
* -pwd tells working directory in ISO: Navigate. (line 20)
* -pwdx tells working directory on disk: Navigate. (line 23)
* -quoted_not_list sets exclusions: SetInsert. (line 72)
* -quoted_path_list inserts paths from disk file: Insert. (line 80)
* -read_mkisofsrc searches and reads .mkisofsrc file: Emulation.
(line 120)
* -reassure enables confirmation question: DialogCtl. (line 28)
(line 130)
* -reassure enables confirmation question: DialogCtl. (line 32)
* -report_about controls verbosity: Exception. (line 55)
* -return_with controls exit value: Exception. (line 39)
* -rm deletes files from ISO image: Manip. (line 21)
@ -4091,7 +4133,7 @@ File: xorriso.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: Top
* -rollback discards pending changes: Writing. (line 9)
* -rollback_end ends program without writing: Scripting. (line 125)
* -rom_toc_scan searches for sessions: Loading. (line 203)
* -scdbackup_tag enables scdbackup checksum tag: Emulation. (line 142)
* -scdbackup_tag enables scdbackup checksum tag: Emulation. (line 152)
* -scsi_log reports SCSI commands: Scripting. (line 113)
* -session_log logs written sessions: Scripting. (line 104)
* -session_string composes session info line: Inquiry. (line 56)
@ -4105,27 +4147,27 @@ File: xorriso.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: Top
* -setfattr_r sets xattr in ISO image: Manip. (line 123)
* -show_stream shows data source and filters: Navigate. (line 162)
* -show_stream_r shows data source and filters: Navigate. (line 177)
* -speed set write speed: SetWrite. (line 182)
* -speed set write speed: SetWrite. (line 206)
* -split_size enables large file splitting: SetInsert. (line 140)
* -status shows current settings: Scripting. (line 25)
* -status_history_max curbs -status history: Scripting. (line 34)
* -stdio_sync controls stdio buffer: SetWrite. (line 216)
* -stream_recording controls defect management: SetWrite. (line 197)
* -system_id sets system id: SetWrite. (line 99)
* -tell_media_space reports free space: Inquiry. (line 74)
* -stdio_sync controls stdio buffer: SetWrite. (line 240)
* -stream_recording controls defect management: SetWrite. (line 221)
* -system_id sets system id: SetWrite. (line 123)
* -tell_media_space reports free space: Inquiry. (line 77)
* -temp_mem_limit curbs memory consumption: Scripting. (line 70)
* -toc shows list of sessions: Inquiry. (line 18)
* -uid sets global ownership: SetWrite. (line 162)
* -uid sets global ownership: SetWrite. (line 186)
* -update inserts path if different: Insert. (line 99)
* -update_l inserts paths if different: Insert. (line 121)
* -update_r inserts paths if different: Insert. (line 110)
* -use_readline enables readline for dialog: DialogCtl. (line 24)
* -use_readline enables readline for dialog: DialogCtl. (line 28)
* -version prints help text: Scripting. (line 19)
* -volid sets volume id: SetWrite. (line 60)
* -volset_id sets volume set id: SetWrite. (line 79)
* -volume_date sets volume timestamp: SetWrite. (line 106)
* -volid sets volume id: SetWrite. (line 84)
* -volset_id sets volume set id: SetWrite. (line 103)
* -volume_date sets volume timestamp: SetWrite. (line 130)
* -xattr controls handling of xattr (EA): Loading. (line 150)
* -zisofs controls zisofs production: SetWrite. (line 170)
* -zisofs controls zisofs production: SetWrite. (line 194)

File: xorriso.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top
@ -4148,15 +4190,15 @@ File: xorriso.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top
* Backslash Interpretation, _definition: Processing. (line 49)
* Backup, enable fast incremental, -disk_dev_ino: Loading. (line 182)
* Backup, enable features, -for_backup: Loading. (line 177)
* Backup, scdbackup checksum tag, -scdbackup: Emulation. (line 142)
* Backup, scdbackup checksum tag, -scdbackup: Emulation. (line 152)
* Blank media, _definition: Media. (line 29)
* Blind growing, _definition: Methods. (line 40)
* Bootability, control, -boot_image: Bootable. (line 26)
* cdrecord, Emulation: Emulation. (line 87)
* cdrecord, Emulation: Emulation. (line 97)
* Character Set, _definition: Charset. (line 6)
* Character Set, for input, -in_charset: Loading. (line 92)
* Character Set, for input/output, -charset: Charset. (line 43)
* Character Set, for output, -out_charset: SetWrite. (line 156)
* Character Set, for output, -out_charset: SetWrite. (line 180)
* Character set, learn from image, -auto_charset: Loading. (line 99)
* Character Set, of terminal, -local_charset: Charset. (line 47)
* Closed media, _definition: Media. (line 43)
@ -4166,10 +4208,10 @@ File: xorriso.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top
* Delete, from ISO image, -rm_r: Manip. (line 28)
* Delete, ISO directory, -rmdir: Manip. (line 32)
* Dialog, bring text into history, -history: Scripting. (line 22)
* Dialog, confirmation question, -reassure: DialogCtl. (line 28)
* Dialog, confirmation question, -reassure: DialogCtl. (line 32)
* Dialog, enable dialog mode, -dialog: DialogCtl. (line 7)
* Dialog, line editing, -use_readline: DialogCtl. (line 24)
* Dialog, terminal geometry, -page: DialogCtl. (line 15)
* Dialog, line editing, -use_readline: DialogCtl. (line 28)
* Dialog, terminal geometry, -page: DialogCtl. (line 19)
* Directory, create, -mkdir: Insert. (line 166)
* Directory, delete, -rmdir: Manip. (line 32)
* disk_path, _definition: Insert. (line 6)
@ -4187,10 +4229,10 @@ File: xorriso.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top
* Drive, write and eject, -commit_eject: Writing. (line 40)
* El Torito, _definiton: Extras. (line 19)
* Emulation, -as: Emulation. (line 13)
* Emulation, .mkisofsrc, -read_mkisofsrc: Emulation. (line 120)
* Emulation, cdrecord, -as: Emulation. (line 87)
* Emulation, .mkisofsrc, -read_mkisofsrc: Emulation. (line 130)
* Emulation, cdrecord, -as: Emulation. (line 97)
* Emulation, mkisofs, -as: Emulation. (line 16)
* Emulation, pacifier form, -pacifier: Emulation. (line 132)
* Emulation, pacifier form, -pacifier: Emulation. (line 142)
* Examples: Examples. (line 6)
* Filter, _definition: Filter. (line 6)
* Filter, apply to file tree, -set_filter_r: Filter. (line 84)
@ -4200,8 +4242,8 @@ File: xorriso.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top
* Filter, show chain, -show_stream: Navigate. (line 162)
* Filter, show chains of tree, -show_stream_r: Navigate. (line 177)
* Filter, unregister, -unregister_filter: Filter. (line 48)
* Filter, zisofs parameters, -zisofs: SetWrite. (line 170)
* Group, global in ISO image, -gid: SetWrite. (line 166)
* Filter, zisofs parameters, -zisofs: SetWrite. (line 194)
* Group, global in ISO image, -gid: SetWrite. (line 190)
* Group, in ISO image, -chgrp: Manip. (line 50)
* Group, in ISO image, -chgrp_r: Manip. (line 55)
* Growing, _definition: Methods. (line 19)
@ -4210,17 +4252,17 @@ File: xorriso.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top
* Image, _definition: Model. (line 9)
* Image, demand volume id, -assert_volid: Loading. (line 84)
* Image, discard pending changes, -rollback: Writing. (line 9)
* Image, set abstract file name, -abstract_file: SetWrite. (line 131)
* Image, set application id, -application_id: SetWrite. (line 90)
* Image, set biblio file name, -biblio_file: SetWrite. (line 138)
* Image, set copyright file name, -copyright_file: SetWrite. (line 125)
* Image, set preparer id, -preparer_id: SetWrite. (line 144)
* Image, set publisher id, -publisher: SetWrite. (line 84)
* Image, set system id, -system_id: SetWrite. (line 99)
* Image, set volume id, -volid: SetWrite. (line 60)
* Image, set volume set id, -volset_id: SetWrite. (line 79)
* Image, set volume timestamp, -volume_date: SetWrite. (line 106)
* Image, show id strings, -pvd_info: Inquiry. (line 78)
* Image, set abstract file name, -abstract_file: SetWrite. (line 155)
* Image, set application id, -application_id: SetWrite. (line 114)
* Image, set biblio file name, -biblio_file: SetWrite. (line 162)
* Image, set copyright file name, -copyright_file: SetWrite. (line 149)
* Image, set preparer id, -preparer_id: SetWrite. (line 168)
* Image, set publisher id, -publisher: SetWrite. (line 108)
* Image, set system id, -system_id: SetWrite. (line 123)
* Image, set volume id, -volid: SetWrite. (line 84)
* Image, set volume set id, -volset_id: SetWrite. (line 103)
* Image, set volume timestamp, -volume_date: SetWrite. (line 130)
* Image, show id strings, -pvd_info: Inquiry. (line 81)
* Insert, enable overwriting, -overwrite: SetInsert. (line 127)
* Insert, file exclusion absolute, -not_paths: SetInsert. (line 55)
* Insert, file exclusion from file, -not_list: SetInsert. (line 67)
@ -4276,7 +4318,7 @@ File: xorriso.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top
* Navigate, tell ISO working directory, -pwd: Navigate. (line 20)
* Next writeable address, -grow_blindly: AqDrive. (line 44)
* Overwriteable media, _definition: Media. (line 14)
* Ownership, global in ISO image, -uid: SetWrite. (line 162)
* Ownership, global in ISO image, -uid: SetWrite. (line 186)
* Ownership, in ISO image, -chown: Manip. (line 42)
* Ownership, in ISO image, -chown_r: Manip. (line 47)
* Partition offset, _definiton: Bootable. (line 148)
@ -4348,22 +4390,22 @@ File: xorriso.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top
* Verify, file checksum, -check_md5: Verify. (line 146)
* Verify, file tree checksums, -check_md5_r: Verify. (line 162)
* Verify, preset -check_media, -check_media_defaults: Verify. (line 40)
* Write, block size, -dvd_obs: SetWrite. (line 209)
* Write, block size, -dvd_obs: SetWrite. (line 233)
* Write, bootability, -boot_image: Bootable. (line 26)
* Write, buffer syncing, -stdio_sync: SetWrite. (line 216)
* Write, close media, -close: SetWrite. (line 233)
* Write, buffer syncing, -stdio_sync: SetWrite. (line 240)
* Write, close media, -close: SetWrite. (line 257)
* Write, compliance to specs, -compliance: SetWrite. (line 14)
* Write, defect management, -stream_recording: SetWrite. (line 197)
* Write, defect management, -stream_recording: SetWrite. (line 221)
* Write, enable Joliet, -joliet: SetWrite. (line 10)
* Write, fifo size, -fs: SetWrite. (line 226)
* Write, free space, -tell_media_space: Inquiry. (line 74)
* Write, fifo size, -fs: SetWrite. (line 250)
* Write, free space, -tell_media_space: Inquiry. (line 77)
* Write, log problematic disk files, -errfile_log: Scripting. (line 84)
* Write, log written sessions, -session_log: Scripting. (line 104)
* Write, padding image, -padding: SetWrite. (line 239)
* Write, padding image, -padding: SetWrite. (line 263)
* Write, pending ISO image, -commit: Writing. (line 13)
* Write, predict image size, -print_size: Inquiry. (line 69)
* Write, set speed, -speed: SetWrite. (line 182)
* Write, simulation, -dummy: SetWrite. (line 222)
* Write, set speed, -speed: SetWrite. (line 206)
* Write, simulation, -dummy: SetWrite. (line 246)
* xattr, _definiton: Extras. (line 52)
* xattr, control handling, -xattr: Loading. (line 150)
* xattr, set in ISO image, -setfattr: Manip. (line 110)
@ -4394,39 +4436,39 @@ Node: CmdFind66490
Node: Filter76914
Node: Writing81263
Node: SetWrite87552
Node: Bootable99503
Node: Jigdo111810
Node: Charset116068
Node: Exception118819
Node: DialogCtl123334
Node: Inquiry125679
Node: Navigate129809
Node: Verify137704
Node: Restore146293
Node: Emulation152949
Node: Scripting161238
Node: Frontend166800
Node: Examples168095
Node: ExDevices169264
Node: ExCreate169898
Node: ExDialog171172
Node: ExGrowing172434
Node: ExModifying173236
Node: ExBootable173737
Node: ExCharset174284
Node: ExPseudo175112
Node: ExCdrecord176006
Node: ExMkisofs176321
Node: ExGrowisofs177324
Node: ExException178448
Node: ExTime178902
Node: ExIncBackup179361
Node: ExRestore182833
Node: ExRecovery183802
Node: Files184368
Node: Seealso185596
Node: Legal186120
Node: CommandIdx187042
Node: ConceptIdx201268
Node: Bootable100954
Node: Jigdo113261
Node: Charset117519
Node: Exception120270
Node: DialogCtl124785
Node: Inquiry127372
Node: Navigate131705
Node: Verify139600
Node: Restore148189
Node: Emulation154845
Node: Scripting163677
Node: Frontend169239
Node: Examples170534
Node: ExDevices171703
Node: ExCreate172337
Node: ExDialog173611
Node: ExGrowing174873
Node: ExModifying175675
Node: ExBootable176176
Node: ExCharset176723
Node: ExPseudo177551
Node: ExCdrecord178445
Node: ExMkisofs178760
Node: ExGrowisofs179763
Node: ExException180887
Node: ExTime181341
Node: ExIncBackup181800
Node: ExRestore185290
Node: ExRecovery186259
Node: Files186825
Node: Seealso188053
Node: Legal188577
Node: CommandIdx189499
Node: ConceptIdx203725

End Tag Table

View File

@ -44,7 +44,7 @@
@c man .\" First parameter, NAME, should be all caps
@c man .\" Second parameter, SECTION, should be 1-8, maybe w/ subsection
@c man .\" other parameters are allowed: see man(7), man(1)
@c man .TH XORRISO 1 "Dec 10, 2010"
@c man .TH XORRISO 1 "Jan 06, 2011"
@c man .\" Please adjust this date whenever revising the manpage.
@c man .\"
@c man .\" Some roff macros, for reference:
@ -965,12 +965,6 @@ are both in effect. This restricts hard linking to other files restored by
the same single extract command. -hardlinks "normal_extract" re-enables
wide and expensive hardlink accumulation.
@*
@c B00613 : disabled because implemented faulty from beginning:
@c Hardlink processing automatically enables @strong{-compliance new_rr}.
@c This may be overridden by a following -compliance old_rr . In this case
@c the resulting image will violate the RRIP-1.10 specs for entry PX in
@c the same way as mkisofs does.
@c man .TP
@item -acl "on"|"off"
@kindex -acl controls handling of ACLs
@cindex ACL, control handling, -acl
@ -2406,32 +2400,54 @@ can be revoked individually by appending "_off". Like "deep_paths_off".
@*
Rule keywords are:
@*
"omit_version" do not add versions (";1") to ISO and Joliet file names.
"iso_9660_level="number chooses level 1 with ISO names of the form 8.3
and -file_size_limit <= 4g - 1, or level 2 with ISO names up to
length 32 and the same -file_size_limit, or level 3 with ISO names up to
length 32 and -file_size_limit >= 400g -200k. If necessary -file_size_limit
gets adjusted.
@*
"only_iso_version" do not add versions (";1") to Joliet file names.
"allow_dir_id_ext" allows ISO names of directories to have a name extension
as with other file types. It does not force dots and it omits the version
number, though. This is a bad tradition of mkisofs which violates ECMA-119.
Especially ISO level 1 only allows 8 characters in a directory name and
not 8.3.
@*
"deep_paths" allow ISO file paths deeper than 8 levels.
"omit_version" does not add versions (";1") to ISO and Joliet file names.
@*
"long_paths" allow ISO file paths longer than 255 characters.
"only_iso_version" does not add versions (";1") to Joliet file names.
@*
"long_names" allow up to 37 characters with ISO file names.
"deep_paths" allows ISO file paths deeper than 8 levels.
@*
"no_force_dots" do not add a dot to ISO file names which have none.
"long_paths" allows ISO file paths longer than 255 characters.
@*
"no_j_force_dots" do not add a dot to Joliet file names which have none.
"long_names" allows up to 37 characters with ISO file names.
@*
"lowercase" allow lowercase characters in ISO file names.
"no_force_dots" does not add a dot to ISO file names which have none.
@*
"full_ascii" allow all ASCII characters in ISO file names.
"no_j_force_dots" does not add a dot to Joliet file names which have none.
@*
"joliet_long_paths" allow Joliet paths longer than 240 characters.
"lowercase" allows lowercase characters in ISO file names.
@*
"always_gmt" store timestamps in GMT representation with timezone 0.
"full_ascii" allows all ASCII characters in ISO file names.
@*
"rec_mtime" record with ISO files the disk file's mtime and not the
"untranslated_names" might be dangerous for inadverted reader programs
which rely on the restriction to at most 37 characters in ISO file names.
This option allows ISO file names up to 96 characters with no character
conversion. If a file name has more characters, then image production will
fail deliberately.
@*
"untranslated_name_len="number enables untranslated_names with a smaller limit
for the length of file names. 0 disables this feature, -1 chooses maximum
length limit, numbers larger than 0 give the desired length limit.
@*
"joliet_long_paths" allows Joliet paths longer than 240 characters.
@*
"always_gmt" stores timestamps in GMT representation with timezone 0.
@*
"rec_mtime" records with ISO files the disk file's mtime and not the
creation time of the image.
@*
"new_rr" use Rock Ridge version 1.12 (suitable for GNU/Linux but not for older
"new_rr" uses Rock Ridge version 1.12 (suitable for GNU/Linux but not for older
FreeBSD or for Solaris). This implies "aaip_susp_1_10_off" which may be changed
by subsequent "aaip_susp_1_10".
@*
@ -2444,6 +2460,10 @@ rather than as official extension under SUSP-1.12.
"no_emul_toc" saves 64 kB with the first session on overwriteable media
but makes the image incapable of displaying its session history.
@*
"iso_9660_1999" causes the production of an additional directory tree
compliant to ISO 9660:1999. It can record long filenames for readers which
do not understand Rock Ridge.
@*
Default setting is
@*
"clear:only_iso_version:deep_paths:long_paths:no_j_force_dots:
@ -3296,6 +3316,10 @@ file content stems from the loaded ISO image and is not filtered.
Enable or disable to enter dialog mode after all arguments are processed.
In dialog mode input lines get prompted via readline or from stdin.
@*
If no -abort_on severity was set when dialog starts, then "NEVER" is set
to avoid abort in most cases of wrong input or other problems. Before dialog
begins, the default is "FAILURE" which e.g. aborts on unknown commands.
@*
Mode "on" supports input of newline characters within quotation marks and
line continuation by trailing backslash outside quotation marks.
Mode "single_line" does not.
@ -3454,6 +3478,9 @@ session number, resp. volume id of the depicted session.
Print the foreseeable consumption of 2048 byte blocks
by next -commit. This can last a while as a -commit gets
prepared and only in last moment is revoked by this option.
The result depends on several settings and also on the kind of output device.
If no -jidgo options are given, then -padding (300 kB by default) is not
counted as part of the image size.
@c man .TP
@item -tell_media_space
@kindex -tell_media_space reports free space
@ -4140,6 +4167,11 @@ standard output.
-print-size inhibits automatic image production at program end. This ban is
lifted only if the pending image changes get discarded.
@*
If no -iso-level is given, then level 1 is chosen when the first file or
directory is added to the image. At the same occasion directory names get
allowed to violate the standard by -compliance option allow_dir_id_ext.
This may be avoided by option -disallow_dir_id_ext.
@*
Not original mkisofs options are @minus{}@minus{}quoted_path_list ,
@minus{}@minus{}hardlinks , @minus{}@minus{}acl ,
@minus{}@minus{}xattr , @minus{}@minus{}md5 , @minus{}@minus{}stdio_sync .
@ -4147,7 +4179,10 @@ They work like the xorriso options with the
same name and hardcoded argument "on", e.g. -acl "on".
Explicit arguments are expected by @minus{}@minus{}stdio_sync
and @minus{}@minus{}scdbackup_tag.
@minus{}@minus{}no-emul-toc is -compliance no_emul_toc.
@*
The capability to preserve multi-session history on overwriteable media
gets disabled by default. It can be enabled by using @minus{}@minus{}emul-toc
with the first session. See -compliance no_emul_toc.
@*
@minus{}@minus{}sort-weight gets as arguments a number and an iso_rr_path.
The number becomes the LBA sorting weight of regular file iso_rr_path or
@ -4179,6 +4214,9 @@ instead of -G to apply the effect of -boot_image isolinux partition_table=on.
@*
Option @minus{}append_partition is supported.
@*
@minus{}untranslated_name_len number is
@minus{}compliance untranslated_name_len=number.
@*
The options of genisoimage Jigdo Template Extraction are recognized and
performed via xorriso option -jigdo. See the "Alias:" names there for the
meaning of the genisoimage options.
@ -5037,6 +5075,8 @@ When done with writing the new session gets checked by its recorded MD5.
@*
@sp 1
$ xorriso \
@*
-abort_on FATAL \
@*
-for_backup -disk_dev_ino on \
@*

View File

@ -421,6 +421,10 @@ files or trees to disk:
<DD><KBD>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /home/her/buttercup_dir -- \</KBD>
<DD><KBD>&nbsp;&nbsp; -extract /sounds /home/her/sounds_from_me</KBD></DD>
</DD>
<DT>Each copy command processes its files sorted by block address
in the ISO image in order to reduce head moves with optical media.
This can bring effective read performance near to the raw media reading speed.
</DT>
<DT>Consider to enter dialog mode and use commands like
<KBD>-cd , -du , -lsl , -find<KBD>.
<DT>
@ -442,19 +446,21 @@ files or trees to disk:
<P>
<DL>
<DT><H3>Download as source code (see README):</H3></DT>
<DD><A HREF="xorriso-0.6.4.tar.gz">xorriso-0.6.4.tar.gz</A>
(1750 KB).
<DD><A HREF="xorriso-1.0.0.tar.gz">xorriso-1.0.0.tar.gz</A>
(1775 KB).
</DD>
<DD>(Released 26 Oct 2010)</DD>
<DD><A HREF="xorriso-0.6.4.tar.gz.sig">xorriso-0.6.4.tar.gz.sig</A></DD>
<DD>(Released 17 Jan 2011)</DD>
<DD><A HREF="xorriso-1.0.0.tar.gz.sig">xorriso-1.0.0.tar.gz.sig</A></DD>
<DD>
(detached GPG signature for verification by
<KBD>gpg --verify xorriso-0.6.4.tar.gz.sig xorriso-0.6.4.tar.gz</KBD>).
<KBD>gpg --verify xorriso-1.0.0.tar.gz.sig xorriso-1.0.0.tar.gz</KBD>
<BR>
after eventual <KBD>gpg --keyserver keys.gnupg.net --recv-keys ABC0A854</KBD>).
</DD>
<DD>
Also on <A HREF="http://www.gnu.org/prep/ftp.html">
mirrors of ftp://ftp.gnu.org/gnu/ </A>
as xorriso/xorriso-0.6.4.tar.gz
as xorriso/xorriso-1.0.0.tar.gz
</DD>
</DL>
</DD>
@ -482,9 +488,9 @@ as xorriso/xorriso-0.6.4.tar.gz
<HR>
<P>
Bug fixes towards xorriso-0.6.2:
Bug fixes towards xorriso-0.6.6:
<UL>
<LI>- none -</LI>
<LI>-as mkisofs -print-size did not account for -partition_offset</LI>
<!--
<LI>- none -</LI>
-->
@ -502,25 +508,19 @@ Bug fixes in .pl01 towards xorriso-:
-->
<P>
Enhancements towards previous stable version xorriso-0.6.2:
Enhancements towards previous stable version xorriso-0.6.6:
<UL>
<LI>
New option -jigdo
<LI>New -compliance options untranslated_names , untranslated_name_len=</LI>
<LI>New -as mkisofs option -untranslated_name_len</LI>
<LI>New -compliance option iso_9660_1999, -as mkisofs option -iso-level 4</LI>
<LI>New -compliance option iso_9660_level=number</LI>
<LI>New -compliance option allow_dir_id_ext</LI>
<LI>New -as mkisofs option -disallow_dir_id_ext</LI>
<LI>Disabled TOC emulation with -as mkisofs. May be re-enabled by --emul-toc.
</LI>
<LI>
New -as mkisofs options -jigdo-* , -md5-list , -checksum_algorithm_* as of genisoimage
<LI>Default -abort_on value is now "FAILURE" with batch and "NEVER" with dialog
</LI>
<LI>
New bootspecs mips_path= and mipsel_path= for Debian MIPS releases
</LI>
<LI>
New -as mkisofs options -mips-boot and -mipsel-boot
</LI>
<LI>
New option -append_partition, -as mkisofs -append_partition
</LI>
<!--
<LI>- none -</LI>
-->
@ -543,16 +543,16 @@ libburnia project and the legal intentions of
<A HREF="http://www.fsf.org/"> FSF </A> match completely.
</DT>
<DD>&nbsp;</DD>
<DT>libburn-0.8.9</DT>
<DT>libburn-1.0.1</DT>
<DD>reads and writes data from and to CD, DVD, BD.</DD>
<DD>(founded by Derek Foreman and Ben Jansens,
developed and maintained since August 2006 by
Thomas Schmitt from team of libburnia-project.org)</DD>
<DT>libisofs-0.6.39</DT>
<DT>libisofs-1.0.1</DT>
<DD>operates on ISO 9660 filesystem images.</DD>
<DD>(By Vreixo Formoso, Mario Danic and Thomas Schmitt
from team of libburnia-project.org)</DD>
<DT>libisoburn-0.6.4</DT>
<DT>libisoburn-1.0.0</DT>
<DD>coordinates libburn and libisofs, emulates multi-session where needed,
and hosts the original source code of program xorriso.</DD>
<DD>It provides the complete functionality of xorriso via
@ -573,8 +573,8 @@ cdrecord and mkisofs.</DT>
<P>
<DL>
<DT><H3>Development snapshot, version 0.6.5 :</H3></DT>
<DD>Bug fixes towards xorriso-0.6.4:
<DT><H3>Development snapshot, version 1.0.1 :</H3></DT>
<DD>Bug fixes towards xorriso-1.0.0:
<UL>
<LI>- none yet -</LI>
<!--
@ -582,22 +582,20 @@ cdrecord and mkisofs.</DT>
-->
</UL>
</DD>
<DD>Enhancements towards stable version 0.6.4:
<DD>Enhancements towards stable version 1.0.0:
<UL>
<LI>- none yet -</LI>
<!--
<LI>- none yet -</LI>
-->
</UL>
</DD>
<DD>&nbsp;</DD>
<DD>&nbsp;</DD>
<DD><A HREF="README_xorriso_devel">README 0.6.5</A>
<DD><A HREF="xorriso_help_devel">xorriso_0.6.5 -help</A></DD>
<DD><A HREF="man_1_xorriso_devel.html">man xorriso (as of 0.6.5)</A></DD>
<DD><A HREF="README_xorriso_devel">README 1.0.1</A>
<DD><A HREF="xorriso_help_devel">xorriso-1.0.1 -help</A></DD>
<DD><A HREF="man_1_xorriso_devel.html">man xorriso (as of 1.0.1)</A></DD>
<DD>&nbsp;</DD>
<DT>If you want to distribute development versions of xorriso, then use
this tarball which produces static linking between xorriso and the
@ -607,8 +605,8 @@ libburnia libraries.
installation see README)
</DD>
<DD>
<A HREF="xorriso-0.6.5.tar.gz">xorriso-0.6.5.tar.gz</A>
(1750 KB).
<A HREF="xorriso-1.0.1.tar.gz">xorriso-1.0.1.tar.gz</A>
(1775 KB).
</DD>
<DT>A dynamically linked development version of xorriso can be obtained
from repositories of
@ -705,7 +703,7 @@ scdbackup, multi volume CD/DVD/BD backup</A></DD>
<BR>
Legal statement: This website does not serve any commercial purpose.
<BR><BR>
Copyright &copy; 2008 - 2010 Thomas Schmitt.
Copyright &copy; 2008 - 2011 Thomas Schmitt.
<BR>
This text is freely distributable. It shall only be modified in sync with
the factual properties of xorriso and its public storage locations.

View File

@ -2,7 +2,7 @@
/* xorriso - Command line oriented batch and dialog tool which creates, loads,
manipulates and burns ISO 9660 filesystem images.
Copyright 2007-2010 Thomas Schmitt, <scdbackup@gmx.net>
Copyright 2007-2011 Thomas Schmitt, <scdbackup@gmx.net>
Initial code of this program was derived from program src/askme.c out
of scdbackup-0.8.8, Copyright 2007 Thomas Schmitt, BSD-License.
@ -109,9 +109,9 @@
/* The minimum version of libisoburn xorriso API to be used with this
version of xorriso.
*/
#define Xorriso_req_majoR 0
#define Xorriso_req_minoR 6
#define Xorriso_req_micrO 5
#define Xorriso_req_majoR 1
#define Xorriso_req_minoR 0
#define Xorriso_req_micrO 0
static void yell_xorriso()

View File

@ -2,7 +2,7 @@
/* Command line oriented batch and dialog tool which creates, loads,
manipulates and burns ISO 9660 filesystem images.
Copyright 2007-2010 Thomas Schmitt, <scdbackup@gmx.net>
Copyright 2007-2011 Thomas Schmitt, <scdbackup@gmx.net>
Provided under GPL version 2 or later.
@ -123,7 +123,9 @@ struct XorrisO { /* the global context of xorriso */
Do not create or use hln arrays if sort_lba_on
*/
int iso_level;
int do_joliet;
int do_iso1999;
int do_aaip; /* bit0= ACL in
bit1= ACL out
@ -154,6 +156,7 @@ struct XorrisO { /* the global context of xorriso */
char scdbackup_tag_listname[SfileadrL];
int relax_compliance; /* opaque bitfield to be set by xorrisoburn */
int untranslated_name_len;
int do_follow_pattern;
int do_follow_param;
int do_follow_links;
@ -479,6 +482,7 @@ struct XorrisO { /* the global context of xorriso */
int library_msg_direct_print;
char abort_on_text[20];
int abort_on_severity; /* A severity rank number as threshold */
int abort_on_is_default; /* will be set to 0 by first -abort_on */
int problem_status; /* Severity rank number. 0= no abort condition present */
char problem_status_text[20];

View File

@ -1 +1 @@
#define Xorriso_timestamP "2010.12.10.123634"
#define Xorriso_timestamP "2011.01.16.200001"

View File

@ -4,7 +4,7 @@
a command line oriented batch and dialog tool which creates, loads,
manipulates and burns ISO 9660 filesystem images.
Copyright 2007-2010 Thomas Schmitt, <scdbackup@gmx.net>
Copyright 2007-2011 Thomas Schmitt, <scdbackup@gmx.net>
Provided under GPL version 2 or later.
@ -17,9 +17,9 @@
/* The minimum version of libisoburn to be used with this version of xorriso
*/
#define xorriso_libisoburn_req_major 0
#define xorriso_libisoburn_req_minor 6
#define xorriso_libisoburn_req_micro 5
#define xorriso_libisoburn_req_major 1
#define xorriso_libisoburn_req_minor 0
#define xorriso_libisoburn_req_micro 0
struct SpotlisT; /* List of intervals with different read qualities */