Compare commits
70 Commits
Author | SHA1 | Date | |
---|---|---|---|
2119d66078 | |||
c5dde8b6e8 | |||
19e16130b0 | |||
9e8098becd | |||
c8fcb2fb3d | |||
c1a24e71f1 | |||
0577b487d9 | |||
f7c8dbe10e | |||
060484494d | |||
a08a753967 | |||
ed27d542e0 | |||
52c641d93c | |||
1c1e86f168 | |||
ab8265b042 | |||
9c5b98ae5c | |||
5cc7fe5315 | |||
91f8c60f5b | |||
b9d8bbb9bb | |||
fcd2f36fb8 | |||
7a7f234b69 | |||
8c9c620700 | |||
558e2314ee | |||
d666142388 | |||
52988adee6 | |||
de078d2749 | |||
65ca294357 | |||
508adfd2f4 | |||
452c9685e7 | |||
39c3fc6da1 | |||
475e8fdea0 | |||
420535c275 | |||
9049784c1c | |||
963d139093 | |||
32ee757c91 | |||
cd74e84fb8 | |||
bae04a58a9 | |||
aed7a2cf05 | |||
df52dd1333 | |||
15a93611c6 | |||
4aa7c45c42 | |||
79bf6a4a4e | |||
58f4c2e9d6 | |||
e0754219aa | |||
700d1eaf7f | |||
cf986cf5d1 | |||
bf199a105c | |||
ed804db458 | |||
1ad7e71e24 | |||
37688470e1 | |||
26a6a24093 | |||
4642148e6f | |||
92b0079a23 | |||
0431d89738 | |||
08e439c48d | |||
ddecb74f6e | |||
435cd88e83 | |||
aae50b2d16 | |||
1ceb1097e1 | |||
b8788e5f9e | |||
b4be60ecb3 | |||
e0bb9195d8 | |||
96433fd145 | |||
c4c52cf0e9 | |||
be691d4f81 | |||
cb0f18cc0a | |||
5b386c57a3 | |||
2e447207a8 | |||
62e5f84fc5 | |||
509d00149f | |||
02e15f015f |
44
ChangeLog
44
ChangeLog
@ -1,4 +1,44 @@
|
||||
SVN trunk (to become libisoburn-0.6.8.pl00.tar.gz)
|
||||
SVN trunk (to become libisoburn-1.0.6.pl00.tar.gz)
|
||||
===============================================================================
|
||||
- no novelties yet
|
||||
|
||||
|
||||
libisoburn-1.0.4.pl00.tar.gz Thu Mar 10 2011
|
||||
===============================================================================
|
||||
libisoburn novelties:
|
||||
* New isoburn_ropt_set_extensions() option isoburn_ropt_nomd5tag
|
||||
xorriso novelties:
|
||||
* Bug fix: xorrisofs did not work under growisofs -M (version 1.0.0 was ok)
|
||||
* Bug fix: -as mkisofs -C attempted to read volume header of blank media
|
||||
* Bug fix: -as mkisofs -old-root did not work with -graft-points
|
||||
* Bug fix: -as mkisofs -partition_hd_cyl had no effect
|
||||
* Bug fix: -as mkisofs did not properly unescape target part of pathspecs
|
||||
* Bug fix: isohybrid image size was not aligned to cylinder boundary
|
||||
* Bug fix: Compilation without zlib failed
|
||||
* New -padding modes "included" and "appended"
|
||||
* New bootspec partition_cyl_align=, new -as mkisofs option -partition_cyl_align
|
||||
* New -as mkisofs and -as cdrecord option --no_rc
|
||||
* Own man page and info document for xorrisofs
|
||||
|
||||
libisoburn-1.0.2.pl00.tar.gz Mon Feb 23 2011
|
||||
===============================================================================
|
||||
libisoburn novelties:
|
||||
* Removed compiler obstacles of GNU xorriso on Solaris 9
|
||||
* New isoburn_igopt_set_extensions() option isoburn_igopt_old_empty
|
||||
xorriso novelties:
|
||||
* Bug fix: Images produced with -for_backup might be unreadable and
|
||||
also fail -check_md5 verification.
|
||||
* Bug fix: mkisofs emulation options -l , -full-iso9660-filenames did not work.
|
||||
* Bug fix: Option -mkdir yielded SIGSEGV due to a NULL pointer
|
||||
* Bug fix: ECMA-119 standards violation with Volume Descriptor Set Terminator
|
||||
* New options -clone and -cp_clone
|
||||
* New -find actions update_merge, rm_merge, clear_merge
|
||||
* New -as mkisofs option -max-iso9660-filenames
|
||||
* New -as mkisofs option --old-empty
|
||||
* New -as mkisofs options -root , -old-root
|
||||
* New -as mkisofs options --old-root-no-md5, --old-root-no-ino, --old-root-dev
|
||||
|
||||
libisoburn-1.0.0.pl00.tar.gz Mon Jan 17 2011
|
||||
===============================================================================
|
||||
libisoburn novelties:
|
||||
* New API call isoburn_igopt_set_untranslated_name_len()
|
||||
@ -68,7 +108,7 @@ xorriso novelties:
|
||||
* New -as mkisofs option --boot-catalog-hide
|
||||
* New option -hide, -find action -hide, -find test -hidden
|
||||
* New -boot_image bootspec cat_hidden=on
|
||||
* New options -copright_file , -biblio_file , -abstract_file
|
||||
* New options -copyright_file , -biblio_file , -abstract_file
|
||||
* New find test -disk_name
|
||||
* Enabled use of libreadline on Solaris
|
||||
* Bug fix: -check_media patch_lba0= could install wrong image size
|
||||
|
@ -219,9 +219,13 @@ indent: $(indent_files)
|
||||
nodist_pkgconfig_DATA = \
|
||||
libisoburn-1.pc
|
||||
|
||||
man_MANS = xorriso/xorriso.1
|
||||
man_MANS = \
|
||||
xorriso/xorriso.1 \
|
||||
xorriso/xorrisofs.1
|
||||
|
||||
info_TEXINFOS = xorriso/xorriso.texi
|
||||
info_TEXINFOS = \
|
||||
xorriso/xorriso.texi \
|
||||
xorriso/xorrisofs.texi
|
||||
|
||||
EXTRA_DIST = \
|
||||
libisoburn-1.pc.in \
|
||||
|
19
README
19
README
@ -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.6.pl00.tar.gz
|
||||
Copyright (C) 2006-2010 Vreixo Formoso, Thomas Schmitt.
|
||||
http://files.libburnia-project.org/releases/libisoburn-1.0.4.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.6 :
|
||||
- libburn.so.4 , version libburn-0.8.8 or higher
|
||||
- libisofs.so.6 , version libisofs-0.6.40 or higher
|
||||
Dynamic library and compile time header requirements for libisoburn-1.0.4 :
|
||||
- libburn.so.4 , version libburn-1.0.4 or higher
|
||||
- libisofs.so.6 , version libisofs-1.0.4 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.6.pl00.tar.gz, take it to a directory of your choice
|
||||
Obtain libisoburn-1.0.4.pl00.tar.gz, take it to a directory of your choice
|
||||
and do:
|
||||
|
||||
tar xzf libisoburn-0.6.6.pl00.tar.gz
|
||||
cd libisoburn-0.6.6
|
||||
tar xzf libisoburn-1.0.4.pl00.tar.gz
|
||||
cd libisoburn-1.0.4
|
||||
|
||||
Within that directory execute:
|
||||
|
||||
@ -81,6 +81,7 @@ xorriso binary depending on libburn.so, libisofs.so, libisoburn.so.
|
||||
|
||||
After installation documentation is available via
|
||||
man xorriso
|
||||
man xorrisofs
|
||||
|
||||
Several alias links point to the xorriso binary:
|
||||
xorrisofs starts xorriso with -as mkisofs emulation already enabled
|
||||
@ -224,7 +225,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
|
||||
|
24
configure.ac
24
configure.ac
@ -1,4 +1,4 @@
|
||||
AC_INIT([libisoburn], [0.6.7], [http://libburnia-project.org])
|
||||
AC_INIT([libisoburn], [1.0.4], [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=7
|
||||
ISOBURN_MAJOR_VERSION=1
|
||||
ISOBURN_MINOR_VERSION=0
|
||||
ISOBURN_MICRO_VERSION=4
|
||||
|
||||
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 B01212
|
||||
dnl ### This is the release version 0.6.6 = libisoburn.so.1.55.0
|
||||
dnl This is the development version after above stable release
|
||||
dnl ts B10103
|
||||
dnl This is the release version 1.0.4 = libisoburn.so.1.61.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 = 56 - 55 = 1 . Library name = libisoburn.so.1.55.0
|
||||
dnl SONAME = 62 - 61 = 1 . Library name = libisoburn.so.1.61.0
|
||||
LT_RELEASE=$ISOBURN_MAJOR_VERSION.$ISOBURN_MINOR_VERSION
|
||||
LT_CURRENT=56
|
||||
LT_AGE=55
|
||||
LT_CURRENT=62
|
||||
LT_AGE=61
|
||||
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=1.0.0
|
||||
LIBISOFS_REQUIRED=1.0.0
|
||||
LIBBURN_REQUIRED=1.0.4
|
||||
LIBISOFS_REQUIRED=1.0.4
|
||||
PKG_CHECK_MODULES(LIBBURN, libburn-1 >= $LIBBURN_REQUIRED)
|
||||
PKG_CHECK_MODULES(LIBISOFS, libisofs-1 >= $LIBISOFS_REQUIRED)
|
||||
|
||||
|
@ -18,7 +18,7 @@ Imaging:
|
||||
|
||||
[#boot_arch For which architectures xorriso is able to create bootable images ?]
|
||||
|
||||
[#isohybrid What is isohybrid MBR useful for ?]
|
||||
[#isohybrid How to enable booting from USB stick ?]
|
||||
|
||||
[#partition_offset What is partition offset feature all about?]
|
||||
|
||||
@ -43,7 +43,7 @@ Miscellaneous:
|
||||
===== 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
|
||||
libburn. It tries to be as similar to cdrecord as is possible under that
|
||||
premise.
|
||||
|
||||
[wiki:Xorriso xorriso] is an integrated tool which creates, loads, manipulates,
|
||||
@ -79,9 +79,9 @@ 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
|
||||
===== How to enable booting from USB stick ? ===== #isohybrid
|
||||
|
||||
The ISOLINUX boot manager system is normally started from CD, DVD or BD media
|
||||
The ISOLINUX boot loader 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
|
||||
|
@ -46,6 +46,10 @@ are non-zero. But to avoid any assumptions, all 32 kB get copied here.
|
||||
{{{
|
||||
dd if=RIPLinux-9.3-non-X.iso bs=1K count=32 of=RIPLinux-9.3-non-X.sysarea
|
||||
}}}
|
||||
Normally the System Area file with its MBR is provided by the Syslinux
|
||||
installation under the name isohdp[fp]x*.bin .
|
||||
E.g. /usr/lib/syslinux/isohdpfx.bin
|
||||
|
||||
The files of the image are made accessible for reading
|
||||
{{{
|
||||
mount -o loop RIPLinux-9.3-non-X.iso /mnt
|
||||
@ -78,7 +82,7 @@ and plugged into a Debian system.
|
||||
yields
|
||||
{{{
|
||||
Device Boot Start End Blocks Id System
|
||||
/dev/sdb1 * 64 119215 59576 17 Hidden HPFS/NTFS
|
||||
/dev/sdb1 * 64 120831 60384 17 Hidden HPFS/NTFS
|
||||
}}}
|
||||
|
||||
I can mount /dev/sdb and /dev/sdb1 alike:
|
||||
@ -154,16 +158,6 @@ preparations.
|
||||
- If not to be marked bootable:
|
||||
What equipment would the partition need to justify having the mark ?
|
||||
|
||||
- I am still puzzled by the cylinder-head-sector ambiguity. How does a reader
|
||||
of the partition table determine the numbers for heads/cylinder and
|
||||
sectors/head ?
|
||||
fdisk tells about my /dev/sdb
|
||||
{{{
|
||||
105 heads, 17 sectors/track, 2193 cylinders, total 3915776 sectors
|
||||
}}}
|
||||
My partiton table rather was computed with 255 heads/cylinder, 63 sectors/head
|
||||
Debian does not mind the difference. (It uses the 32 bit LBAs, i assume.)
|
||||
|
||||
------------------------------------------------------------------------
|
||||
|
||||
Application:
|
||||
|
@ -6,7 +6,7 @@
|
||||
*/
|
||||
/* libburn wrappers for libisoburn
|
||||
|
||||
Copyright 2007 - 2010 Thomas Schmitt, <scdbackup@gmx.net>
|
||||
Copyright 2007 - 2011 Thomas Schmitt, <scdbackup@gmx.net>
|
||||
Provided under GPL version 2 or later.
|
||||
*/
|
||||
|
||||
@ -1723,6 +1723,7 @@ int isoburn_set_msc1(struct burn_drive *d, int adr_mode, char *adr_value,
|
||||
static int max_mode_names= 4;
|
||||
regex_t re;
|
||||
regmatch_t match[1];
|
||||
enum burn_disc_status s;
|
||||
|
||||
ret= isoburn_find_emulator(&o, d, 0);
|
||||
if(ret<0)
|
||||
@ -1783,6 +1784,14 @@ not_found:;
|
||||
|
||||
} else if(adr_mode==3) {
|
||||
o->fabricated_msc1= adr_num;
|
||||
s= isoburn_disc_get_status(d);
|
||||
if(o->fabricated_msc1 > 0 && s != BURN_DISC_FULL
|
||||
&& s != BURN_DISC_APPENDABLE) {
|
||||
isoburn_msgs_submit(o, 0x00060000,
|
||||
"Non-zero load offset given with blank input media",
|
||||
0, "FAILURE", 0);
|
||||
ret= 0; goto ex;
|
||||
}
|
||||
if((flag & 1) && o->fabricated_msc1 >= 16) {
|
||||
/* adr_num is possibly 16 blocks too high */
|
||||
ret= isoburn_read_iso_head(d, o->fabricated_msc1, &size,volid, 1|(1<<14));
|
||||
|
@ -465,6 +465,7 @@ 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_old_empty(wopts, !!opts->old_empty);
|
||||
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);
|
||||
@ -790,7 +791,7 @@ int isoburn_ropt_set_extensions(struct isoburn_read_opts *o, int ext)
|
||||
o->noacl= !!(ext & 64);
|
||||
o->noea= !!(ext & 128);
|
||||
o->noino= !!(ext & 256);
|
||||
o->nomd5= !!(ext & 512);
|
||||
o->nomd5= (ext >> 9) & 3;
|
||||
return(1);
|
||||
}
|
||||
|
||||
@ -800,7 +801,7 @@ int isoburn_ropt_get_extensions(struct isoburn_read_opts *o, int *ext)
|
||||
*ext= (!!o->norock) | ((!!o->nojoliet)<<1) | ((!!o->noiso1999)<<2) |
|
||||
((!!o->preferjoliet)<<3) | ((!!o->pretend_blank)<<4) |
|
||||
((!!o->noaaip) << 5) | ((!!o->noacl) << 6) | ((!!o->noea) << 7) |
|
||||
((!!o->noino) << 8) | ((!!o->nomd5) << 9);
|
||||
((!!o->noino) << 8) | ((o->nomd5 & 3) << 9);
|
||||
return(1);
|
||||
}
|
||||
|
||||
@ -934,6 +935,10 @@ int isoburn_igopt_new(struct isoburn_imgen_opts **new_o, int flag)
|
||||
o->iso1999= 0;
|
||||
o->hardlinks= 0;
|
||||
o->aaip = 0;
|
||||
o->session_md5= 0;
|
||||
o->file_md5= 0;
|
||||
o->no_emul_toc= 0;
|
||||
o->old_empty= 0;
|
||||
o->untranslated_name_len = 0;
|
||||
o->allow_dir_id_ext = 0;
|
||||
o->omit_version_numbers= 0;
|
||||
@ -1020,6 +1025,7 @@ int isoburn_igopt_set_extensions(struct isoburn_imgen_opts *o, int ext)
|
||||
o->file_md5= (ext & (128 | 256)) >> 7;
|
||||
o->no_emul_toc= !!(ext & 512);
|
||||
o->will_cancel= !!(ext & 1024);
|
||||
o->old_empty= !!(ext & 2048);
|
||||
return(1);
|
||||
}
|
||||
|
||||
@ -1029,7 +1035,8 @@ int isoburn_igopt_get_extensions(struct isoburn_imgen_opts *o, int *ext)
|
||||
*ext= (!!o->rockridge) | ((!!o->joliet)<<1) | ((!!o->iso1999)<<2) |
|
||||
((!!o->hardlinks) << 3) | ((!!o->aaip) << 5) |
|
||||
((!!o->session_md5) << 6) | ((o->file_md5 & 3) << 7) |
|
||||
((!!o->no_emul_toc) << 9) | ((o->will_cancel) << 10);
|
||||
((!!o->no_emul_toc) << 9) | ((o->will_cancel) << 10) |
|
||||
((!!o->old_empty) << 11);
|
||||
return(1);
|
||||
}
|
||||
|
||||
@ -1253,7 +1260,7 @@ int isoburn_igopt_set_system_area(struct isoburn_imgen_opts *opts,
|
||||
}
|
||||
memcpy(opts->system_area_data, data, 32768);
|
||||
}
|
||||
opts->system_area_options = options & 0xff;
|
||||
opts->system_area_options = options & 0x3ff;
|
||||
return(1);
|
||||
}
|
||||
|
||||
|
@ -2,7 +2,7 @@
|
||||
/*
|
||||
Class struct 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.
|
||||
*/
|
||||
@ -12,7 +12,13 @@
|
||||
|
||||
|
||||
/* for uint8_t */
|
||||
#ifdef HAVE_STDINT_H
|
||||
#include <stdint.h>
|
||||
#else
|
||||
#ifdef HAVE_INTTYPES_H
|
||||
#include <inttypes.h>
|
||||
#endif
|
||||
#endif
|
||||
|
||||
/* For emulated TOC of overwriteable media.
|
||||
Provides minimal info for faking a struct burn_toc_entry.
|
||||
@ -292,7 +298,7 @@ struct isoburn_read_opts {
|
||||
unsigned int noino:1; /* Discard eventual PX inode numbers */
|
||||
|
||||
/* ts A90810 */
|
||||
unsigned int nomd5:1; /* Do not read eventual MD5 array */
|
||||
unsigned int nomd5:2; /* Do not read eventual MD5 array */
|
||||
|
||||
unsigned int preferjoliet:1;
|
||||
/*< When both Joliet and RR extensions are present, the RR
|
||||
@ -370,7 +376,7 @@ struct isoburn_imgen_opts {
|
||||
unsigned int session_md5 :1;
|
||||
|
||||
/* Produce and write MD5 checksums for each single IsoFile.
|
||||
See parameter files of iso_write_opts_set_record_md5().
|
||||
See parameter "files" of iso_write_opts_set_record_md5().
|
||||
*/
|
||||
unsigned int file_md5 :2;
|
||||
|
||||
@ -379,6 +385,13 @@ struct isoburn_imgen_opts {
|
||||
*/
|
||||
unsigned int no_emul_toc :1;
|
||||
|
||||
/* For empty files, symbolic links, and devices use the old ECMA-119 block
|
||||
addresses in the range [0,31] rather than the address of the dedicated
|
||||
empty block.
|
||||
*/
|
||||
unsigned int old_empty :1;
|
||||
|
||||
|
||||
/* relaxed constraints */
|
||||
|
||||
/*
|
||||
|
@ -158,6 +158,8 @@ create_blank_image:;
|
||||
isoburn_report_iso_error(ret, "Cannot create image", 0, "FATAL", 0);
|
||||
return ret;
|
||||
}
|
||||
iso_image_set_ignore_aclea(*image,
|
||||
(!!(read_opts->noacl)) | ((!!read_opts->noea) << 1) );
|
||||
} else {
|
||||
/* Blank new image for the drive */
|
||||
iso_image_unref(o->image);
|
||||
@ -166,13 +168,13 @@ create_blank_image:;
|
||||
isoburn_report_iso_error(ret, "Cannot create image", 0, "FATAL", 0);
|
||||
return ret;
|
||||
}
|
||||
if (image) {
|
||||
if (image != NULL) {
|
||||
*image = o->image;
|
||||
iso_image_ref(*image); /*protects object from premature free*/
|
||||
}
|
||||
}
|
||||
iso_image_set_ignore_aclea(*image,
|
||||
iso_image_set_ignore_aclea(o->image,
|
||||
(!!(read_opts->noacl)) | ((!!read_opts->noea) << 1) );
|
||||
}
|
||||
return 1;
|
||||
}
|
||||
|
||||
@ -226,8 +228,13 @@ displacement_rollover:;
|
||||
iso_read_opts_set_start_block(ropts, ms_block);
|
||||
iso_read_opts_set_no_rockridge(ropts, read_opts->norock);
|
||||
iso_read_opts_set_no_aaip(ropts, read_opts->noaaip);
|
||||
iso_read_opts_set_no_md5(ropts, read_opts->nomd5);
|
||||
|
||||
if(read_opts->nomd5 == 2)
|
||||
int_num= 2;
|
||||
else if(read_opts->nomd5 == 1)
|
||||
int_num= 1;
|
||||
else
|
||||
int_num= 0;
|
||||
iso_read_opts_set_no_md5(ropts, int_num);
|
||||
iso_read_opts_set_new_inos(ropts, read_opts->noino);
|
||||
|
||||
iso_read_opts_set_no_joliet(ropts, read_opts->nojoliet);
|
||||
|
@ -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.
|
||||
*/
|
||||
@ -224,7 +224,7 @@ void isoburn_version(int *major, int *minor, int *micro);
|
||||
*/
|
||||
#define isoburn_libisofs_req_major 1
|
||||
#define isoburn_libisofs_req_minor 0
|
||||
#define isoburn_libisofs_req_micro 0
|
||||
#define isoburn_libisofs_req_micro 4
|
||||
|
||||
/** The minimum version of libburn to be used with this version of libisoburn
|
||||
at compile time.
|
||||
@ -232,7 +232,7 @@ void isoburn_version(int *major, int *minor, int *micro);
|
||||
*/
|
||||
#define isoburn_libburn_req_major 1
|
||||
#define isoburn_libburn_req_minor 0
|
||||
#define isoburn_libburn_req_micro 0
|
||||
#define isoburn_libburn_req_micro 4
|
||||
|
||||
/** 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 7
|
||||
#define isoburn_header_version_major 1
|
||||
#define isoburn_header_version_minor 0
|
||||
#define isoburn_header_version_micro 4
|
||||
/** Note:
|
||||
Above version numbers are also recorded in configure.ac because libtool
|
||||
wants them as parameters at build time.
|
||||
@ -770,6 +770,11 @@ int isoburn_ropt_destroy(struct isoburn_read_opts **o, int flag);
|
||||
bit9= nomd5
|
||||
@since 0.4.2
|
||||
Do not load the eventual MD5 checksum array.
|
||||
Do not check eventual session_md5 tags.
|
||||
bit10= nomd5tag
|
||||
@since 1.0.4
|
||||
Do not check eventual session_md5 tags although bit9
|
||||
is not set.
|
||||
@return 1 success, <=0 failure
|
||||
*/
|
||||
#define isoburn_ropt_norock 1
|
||||
@ -782,6 +787,7 @@ int isoburn_ropt_destroy(struct isoburn_read_opts **o, int flag);
|
||||
#define isoburn_ropt_noea 128
|
||||
#define isoburn_ropt_noino 256
|
||||
#define isoburn_ropt_nomd5 512
|
||||
#define isoburn_ropt_nomd5tag 1024
|
||||
|
||||
int isoburn_ropt_set_extensions(struct isoburn_read_opts *o, int ext);
|
||||
int isoburn_ropt_get_extensions(struct isoburn_read_opts *o, int *ext);
|
||||
@ -984,7 +990,8 @@ int isoburn_igopt_get_level(struct isoburn_imgen_opts *o, int *level);
|
||||
can encode ACL and XFS-style Extended Attributes.
|
||||
bit6= session_md5
|
||||
@since 0.4.2
|
||||
Produce and write a MD5 checksum of the whole session stream.
|
||||
Produce and write MD5 checksum tags of superblock, directory
|
||||
tree, and the whole session stream.
|
||||
bit7= file_md5
|
||||
@since 0.4.2
|
||||
Produce and write MD5 checksums for each single IsoFile.
|
||||
@ -1006,6 +1013,15 @@ int isoburn_igopt_get_level(struct isoburn_imgen_opts *o, int *level);
|
||||
and that the write thread will be cancelled by
|
||||
isoburn_cancel_prepared_write() before actual image writing
|
||||
occurs. Without this, cancellation can cause a MISHAP event.
|
||||
bit11= old_empty
|
||||
@since 1.0.2
|
||||
Let symbolic links and device files point to block 0, and let
|
||||
empty data files point to the address of the Volume Descriptor
|
||||
Set Terminator. This was done by libisofs in the past.
|
||||
By default there is now a single dedicated block of zero bytes
|
||||
after the end of the directory trees, of which the address
|
||||
is used for all files without own content.
|
||||
|
||||
@return 1 success, <=0 failure
|
||||
*/
|
||||
#define isoburn_igopt_rockridge 1
|
||||
@ -1018,6 +1034,7 @@ int isoburn_igopt_get_level(struct isoburn_imgen_opts *o, int *level);
|
||||
#define isoburn_igopt_file_stability 256
|
||||
#define isoburn_igopt_no_emul_toc 512
|
||||
#define isoburn_igopt_will_cancel 1024
|
||||
#define isoburn_igopt_old_empty 2048
|
||||
int isoburn_igopt_set_extensions(struct isoburn_imgen_opts *o, int ext);
|
||||
int isoburn_igopt_get_extensions(struct isoburn_imgen_opts *o, int *ext);
|
||||
|
||||
@ -1097,7 +1114,7 @@ int isoburn_igopt_get_extensions(struct isoburn_imgen_opts *o, int *ext);
|
||||
ISO level 1 by allowing DOS style 8.3 names rather than
|
||||
only 8 characters.
|
||||
(mkisofs and its clones obviously do this violation.)
|
||||
@since 0.6.8
|
||||
@since 1.0.0
|
||||
@return 1 success, <=0 failure
|
||||
*/
|
||||
#define isoburn_igopt_omit_version_numbers 1
|
||||
@ -1131,7 +1148,7 @@ int isoburn_igopt_get_relaxed(struct isoburn_imgen_opts *o, int *relax);
|
||||
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 0.6.8
|
||||
@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.
|
||||
@ -1326,6 +1343,13 @@ int isoburn_igopt_get_scdbackup_tag(struct isoburn_imgen_opts *o,
|
||||
numbers 2 to 8.
|
||||
This will overwrite the first 512 bytes of
|
||||
the submitted data.
|
||||
bit8-9= Only with System area type 0 = MBR
|
||||
@since 1.0.4
|
||||
Cylinder alignment mode eventually pads the image
|
||||
to make it end at a cylinder boundary.
|
||||
0 = auto (align if bit1)
|
||||
1 = always align to cylinder boundary
|
||||
2 = never align to cylinder boundary
|
||||
|
||||
@return 1 success, 0 no data to get, <0 failure
|
||||
*/
|
||||
|
@ -140,6 +140,7 @@ Xorriso_option_check_media_defaults;
|
||||
Xorriso_option_chgrpi;
|
||||
Xorriso_option_chmodi;
|
||||
Xorriso_option_chowni;
|
||||
Xorriso_option_clone;
|
||||
Xorriso_option_close;
|
||||
Xorriso_option_close_filter_list;
|
||||
Xorriso_option_commit;
|
||||
@ -147,6 +148,7 @@ Xorriso_option_commit_eject;
|
||||
Xorriso_option_compare;
|
||||
Xorriso_option_compliance;
|
||||
Xorriso_option_copyright_file;
|
||||
Xorriso_option_cp_clone;
|
||||
Xorriso_option_cpri;
|
||||
Xorriso_option_cpx;
|
||||
Xorriso_option_cut_out;
|
||||
|
@ -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.7.tar.gz
|
||||
ftp://ftp.gnu.org/gnu/xorriso/xorriso-1.0.4.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.7.tar.gz, take it to a directory of your choice and do:
|
||||
Obtain xorriso-1.0.4.tar.gz, take it to a directory of your choice and do:
|
||||
|
||||
tar xzf xorriso-0.6.7.tar.gz
|
||||
cd xorriso-0.6.7
|
||||
tar xzf xorriso-1.0.4.tar.gz
|
||||
cd xorriso-1.0.4
|
||||
|
||||
Within that directory execute:
|
||||
|
||||
@ -72,17 +72,15 @@ or you may execute as superuser:
|
||||
|
||||
For general concepts, options and usage examples see
|
||||
info xorriso
|
||||
or
|
||||
info xorrisofs
|
||||
man 1 xorriso
|
||||
man 1 xorrisofs
|
||||
|
||||
The documents are part of the tarball as
|
||||
xorriso/xorriso.info
|
||||
xorriso/xorriso.1
|
||||
Original source text of both is
|
||||
xorriso/xorriso.texi
|
||||
You may get a first glimpse by
|
||||
info ./xorriso/xorriso.info
|
||||
info ./xorriso/xorrisofs.info
|
||||
man ./xorriso/xorriso.1
|
||||
man ./xorriso/xorrisofs.1
|
||||
|
||||
The installation creates several alias links pointing to the xorriso binary:
|
||||
xorrisofs starts xorriso with -as mkisofs emulation already enabled
|
||||
@ -291,9 +289,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.6 :
|
||||
- libburn.so.4 , version libburn-0.8.8 or higher
|
||||
- libisofs.so.6 , version libisofs-0.6.40 or higher
|
||||
Dynamic library and compile time header requirements for libisoburn-1.0.4 :
|
||||
- libburn.so.4 , version libburn-1.0.4 or higher
|
||||
- libisofs.so.6 , version libisofs-1.0.4 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 +409,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 +420,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
|
||||
|
@ -25,7 +25,14 @@
|
||||
#include <sys/time.h>
|
||||
#include <time.h>
|
||||
#include <errno.h>
|
||||
|
||||
#ifdef HAVE_STDINT_H
|
||||
#include <stdint.h>
|
||||
#else
|
||||
#ifdef HAVE_INTTYPES_H
|
||||
#include <inttypes.h>
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#ifdef Xorriso_standalonE
|
||||
|
||||
@ -125,6 +132,7 @@ int Xorriso_new(struct XorrisO ** xorriso,char *progname, int flag)
|
||||
m->do_aaip= 0;
|
||||
m->do_md5= 0;
|
||||
m->no_emul_toc= 0;
|
||||
m->do_old_empty= 0;
|
||||
m->scdbackup_tag_name[0]= 0;
|
||||
m->scdbackup_tag_time[0]= 0;
|
||||
m->scdbackup_tag_written[0]= 0;
|
||||
@ -200,6 +208,7 @@ int Xorriso_new(struct XorrisO ** xorriso,char *progname, int flag)
|
||||
m->speed= 0;
|
||||
m->fs= 4*512; /* 4 MiB */
|
||||
m->padding= 300*1024;
|
||||
m->do_padding_by_libisofs= 0;
|
||||
m->alignment= 0;
|
||||
m->do_stream_recording= 0;
|
||||
m->dvd_obs= 0;
|
||||
@ -355,6 +364,8 @@ int Xorriso_new(struct XorrisO ** xorriso,char *progname, int flag)
|
||||
|
||||
m->perm_stack= NULL;
|
||||
|
||||
m->update_flags= 0;
|
||||
|
||||
m->result_line[0]= 0;
|
||||
m->result_line_counter= 0;
|
||||
m->result_page_counter= 0;
|
||||
@ -437,6 +448,10 @@ int Xorriso_destroy(struct XorrisO **xorriso, int flag)
|
||||
m= *xorriso;
|
||||
if(m==NULL)
|
||||
return(0);
|
||||
|
||||
/* Give up drives and image to unref all connected xorriso objects */
|
||||
Xorriso_give_up_drive(m, 3);
|
||||
|
||||
if(m->in_charset!=NULL)
|
||||
free(m->in_charset);
|
||||
if(m->out_charset!=NULL)
|
||||
|
@ -9258,18 +9258,799 @@ xorriso/configure_ac.txt
|
||||
xorriso/xorriso_timestamp.h
|
||||
Version leap to libisoburn-0.6.7
|
||||
|
||||
12 Dec 2010 []
|
||||
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 -
|
||||
------------------------------------ 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
|
||||
|
||||
16 Jan 2011 [3564]
|
||||
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
|
||||
|
||||
2011.01.17.092111 [3565]
|
||||
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.1
|
||||
|
||||
17 Jan 2011 [3566]
|
||||
ChangeLog
|
||||
xorriso/changelog.txt
|
||||
Documented changes and release timestamp
|
||||
|
||||
17 Jan 2011 [3567]
|
||||
svn move -m Promoted branch to tag
|
||||
http://svn.libburnia-project.org/libisoburn/branches/1.0.0
|
||||
http://svn.libburnia-project.org/libisoburn/tags/1.0.0
|
||||
|
||||
------------------------------------ cycle - xorriso-1.0.1 - 2011.01.17.092111
|
||||
|
||||
|
||||
2011.01.18.154443 [3568]
|
||||
libisoburn/isoburn.h
|
||||
Avoiding <stdint.h> if not available. Trying to use <inttypes.h> in that case.
|
||||
|
||||
2011.01.18.154717 [3569]
|
||||
xorriso/xorriso_private.h
|
||||
xorriso/base_obj.c
|
||||
xorriso/lib_mgt.c
|
||||
xorriso/write_run.c
|
||||
Avoiding <stdint.h> if not available. Trying to use <inttypes.h> in that case.
|
||||
|
||||
------------------------------------ cycle - xorriso-1.0.1 - 2011.01.18.154717
|
||||
* Removed compiler obstacles of GNU xorriso on Solaris 9
|
||||
|
||||
|
||||
18 Jan 2011 [3571]
|
||||
doc/faq.wiki
|
||||
Small change in FAQ wiki text
|
||||
|
||||
19 Jan 2011 [3572]
|
||||
xorriso/xorriso.texi
|
||||
xorriso/xorriso.info
|
||||
xorriso/xorriso.1
|
||||
Mentioned missing mkisofs -old-root functionality in man page
|
||||
|
||||
------------------------------------ cycle - xorriso-1.0.1 - 2011.01.24.141621
|
||||
* Bug fix: ECMA-119 standards violation with Volume Descriptor Set Terminator
|
||||
|
||||
|
||||
2011.01.26.132843 [3573]
|
||||
libisoburn/libisoburn.h
|
||||
libisoburn/isoburn.h
|
||||
libisoburn/isoburn.c
|
||||
New isoburn_igopt_set_extensions() option isoburn_igopt_old_empty
|
||||
|
||||
2011.01.26.133107 [3574]
|
||||
xorriso/xorriso_private.h
|
||||
xorriso/base_obj.c
|
||||
xorriso/write_run.c
|
||||
xorriso/xorriso.texi
|
||||
xorriso/xorriso.info
|
||||
xorriso/xorriso.1
|
||||
New -compliance option old_empty
|
||||
|
||||
26 Jan 2011 [3575]
|
||||
configure.ac
|
||||
Requiring libisofs-1.0.1 now
|
||||
|
||||
------------------------------------ cycle - xorriso-1.0.1 - 2011.01.26.133107
|
||||
* New isoburn_igopt_set_extensions() option isoburn_igopt_old_empty
|
||||
|
||||
|
||||
2011.01.26.184140 [3576]
|
||||
libisoburn/isoburn.c
|
||||
Followed name change in the yet unstable part of libisofs API
|
||||
|
||||
2011.01.26.210359 [3577]
|
||||
xorriso/emulators.c
|
||||
New -as mkisofs option --old-empty
|
||||
|
||||
------------------------------------ cycle - xorriso-1.0.1 -
|
||||
* New -as mkisofs option --old-empty
|
||||
|
||||
|
||||
2011.01.31.135917 [3578]
|
||||
xorriso/iso_manip.c
|
||||
Bug fix: Option -mkdir yielded SIGSEGV due to a NULL pointer
|
||||
|
||||
2011.02.01.185830 [3579]
|
||||
xorriso/xorriso.h
|
||||
xorriso/xorrisoburn.h
|
||||
xorriso/parse_exec.c
|
||||
xorriso/opts_a_c.c
|
||||
xorriso/opts_d_h.c
|
||||
xorriso/iso_manip.c
|
||||
libisoburn/libisoburn.ver
|
||||
xorriso/xorriso.texi
|
||||
xorriso/xorriso.info
|
||||
xorriso/xorriso.1
|
||||
xorriso/xorriso_eng.html
|
||||
ChangeLog
|
||||
New option -clone
|
||||
|
||||
2011.02.02.174154 [3580]
|
||||
xorriso/xorrisoburn.h
|
||||
xorriso/iso_manip.c
|
||||
xorriso/xorriso.texi
|
||||
xorriso/xorriso.info
|
||||
xorriso/xorriso.1
|
||||
Disallowed -clone to overwrite existing nodes
|
||||
|
||||
2011.02.04.191922 [3581]
|
||||
xorriso/xorriso.h
|
||||
xorriso/parse_exec.c
|
||||
xorriso/opts_a_c.c
|
||||
xorriso/opts_d_h.c
|
||||
xorriso/iso_manip.c
|
||||
xorriso/sfile.c
|
||||
libisoburn/libisoburn.ver
|
||||
xorriso/xorriso.texi
|
||||
xorriso/xorriso.info
|
||||
xorriso/xorriso.1
|
||||
New option -cp_clone
|
||||
|
||||
2011.02.07.182947 [3582]
|
||||
xorriso/cmp_update.c
|
||||
xorriso/sort_cmp.c
|
||||
Do not regard file as changed just because no ino was recorded
|
||||
|
||||
2011.02.07.184304 [3583]
|
||||
xorriso/xorrisoburn.h
|
||||
xorriso/opts_p_z.c
|
||||
xorriso/emulators.c
|
||||
xorriso/iso_tree.h
|
||||
xorriso/iso_tree.c
|
||||
xorriso/iso_manip.c
|
||||
xorriso/xorriso.texi
|
||||
xorriso/xorriso.info
|
||||
xorriso/xorriso.1
|
||||
New -as mkisofs options -root , -old-root, --old-root-no-md5, --old-root-no-ino, --old-root-dev
|
||||
|
||||
2011.02.07.202851 [3584]
|
||||
xorriso/emulators.c
|
||||
xorriso/iso_manip.c
|
||||
xorriso/sort_cmp.c
|
||||
xorriso/iso_tree.h
|
||||
xorriso/iso_tree.c
|
||||
Some corrections of the previous commit
|
||||
|
||||
2011.02.08.133624 [3585]
|
||||
xorriso/emulators.c
|
||||
-as mkisofs: Enabled reading of xattr and md5 before image loading
|
||||
|
||||
2011.02.12.171423 [3587]
|
||||
xorriso/xorriso_private.h
|
||||
xorriso/xorrisoburn.h
|
||||
xorriso/base_obj.c
|
||||
xorriso/opts_a_c.c
|
||||
xorriso/opts_d_h.c
|
||||
xorriso/opts_p_z.c
|
||||
xorriso/emulators.c
|
||||
xorriso/cmp_update.h
|
||||
xorriso/cmp_update.c
|
||||
xorriso/disk_ops.c
|
||||
xorriso/iso_manip.h
|
||||
xorriso/iso_manip.c
|
||||
xorriso/findjob.h
|
||||
xorriso/lib_mgt.c
|
||||
xorriso/xorriso.texi
|
||||
xorriso/xorriso.info
|
||||
xorriso/xorriso.1
|
||||
New -find actions update_merge, rm_merge, clear_merge. -cp_clone now merges.
|
||||
|
||||
2011.02.12.172930 [3588]
|
||||
xorriso/cmp_update.c
|
||||
Reacted on compiler warning about uninitialized variable
|
||||
|
||||
2011.02.14.090737 [3590]
|
||||
xorriso/base_obj.c
|
||||
xorriso/parse_exec.c
|
||||
xorriso/filters.c
|
||||
xorriso/write_run.c
|
||||
Closed memory leaks detected by valgrind
|
||||
|
||||
14 Feb 2011 [3591]
|
||||
xorriso/xorriso_eng.html
|
||||
ChangeLog
|
||||
Updated change log
|
||||
|
||||
------------------------------------ cycle - xorriso-1.0.1 - 2011.02.14.090737
|
||||
* Bug fix: Option -mkdir yielded SIGSEGV due to a NULL pointer
|
||||
* New options -clone and -cp_clone
|
||||
* New -find actions update_merge, rm_merge, clear_merge
|
||||
* New -as mkisofs options -root , -old-root
|
||||
* New -as mkisofs options --old-root-no-md5, --old-root-no-ino, --old-root-dev
|
||||
|
||||
|
||||
2011.02.19.112243 [3593]
|
||||
xorriso/emulators.c
|
||||
Small adjustments in mkisofs emulation
|
||||
Bug fix: -as mkisofs -l resp. -full-iso9660-filenames did not work
|
||||
|
||||
2011.02.19.112439 [3594]
|
||||
xorriso/filters.c
|
||||
Updated copyright
|
||||
|
||||
2011.02.19.112541 [3595]
|
||||
xorriso/xorriso.texi
|
||||
Corrections in xorriso man page
|
||||
|
||||
19 Feb 2011 [3596]
|
||||
xorriso/xorriso_eng.html
|
||||
ChangeLog
|
||||
Updated change log
|
||||
|
||||
19 Feb 2011 [3597]
|
||||
xorriso/xorriso.info
|
||||
xorriso/xorriso.1
|
||||
info document and man page for recent texi corrections
|
||||
|
||||
------------------------------------ cycle - xorriso-1.0.1 - 2011.02.19.112541
|
||||
* Bug fix in libisofs:
|
||||
Images produced with -for_backup might be unreadable and
|
||||
also fail -check_md5 verification.
|
||||
* Bug fix: mkisofs emulation options -l , -full-iso9660-filenames did not work.
|
||||
|
||||
|
||||
2011.02.21.130729 [3598]
|
||||
xorriso/emulators.c
|
||||
Correction about -as mkisofs --old-root-no-ino
|
||||
|
||||
2011.02.22.073504 [3599]
|
||||
xorriso/opts_a_c.c
|
||||
xorriso/iso_manip.c
|
||||
Issueing messages with -clone and -cp_clone
|
||||
|
||||
2011.02.22.073641 [3600]
|
||||
xorriso/emulators.c
|
||||
Corrected a bug that prevented -as mkisofs option -output
|
||||
|
||||
2011.02.22.123730 [3601]
|
||||
xorriso/emulators.c
|
||||
Made -as mkisofs ignore option -disable-deep-relocation rather than failing
|
||||
|
||||
2011.02.22.143131 [3602]
|
||||
xorriso/emulators.c
|
||||
New -as mkisofs option -max-iso9660-filenames
|
||||
|
||||
22 Feb 2011 [3603]
|
||||
xorriso/xorriso_eng.html
|
||||
ChangeLog
|
||||
Updated change log
|
||||
|
||||
------------------------------------ cycle - xorriso-1.0.1 - 2011.02.22.143131
|
||||
* New -as mkisofs option -max-iso9660-filenames
|
||||
|
||||
|
||||
23 Feb 2011 [3608]
|
||||
svn copy -m Branching for libisoburn release 1.0.2
|
||||
http://svn.libburnia-project.org/libisoburn/trunk
|
||||
http://svn.libburnia-project.org/libisoburn/branches/1.0.2
|
||||
|
||||
2011.02.23.140001 [3609]
|
||||
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.2
|
||||
|
||||
23 Feb 2011 [3610]
|
||||
ChangeLog
|
||||
xorriso/changelog.txt
|
||||
Documented changes and release timestamp
|
||||
|
||||
----------------------------------- release - xorriso-1.0.2 - 2011.02.23.140001
|
||||
* Bug fix: Images produced with -for_backup might be unreadable and
|
||||
also fail -check_md5 verification.
|
||||
* Bug fix: mkisofs emulation options -l , -full-iso9660-filenames did not work.
|
||||
* Bug fix: Option -mkdir yielded SIGSEGV due to a NULL pointer
|
||||
* Bug fix: ECMA-119 standards violation with Volume Descriptor Set Terminator
|
||||
* Removed compiler obstacles of GNU xorriso on Solaris 9
|
||||
* New isoburn_igopt_set_extensions() option isoburn_igopt_old_empty
|
||||
* New options -clone and -cp_clone
|
||||
* New -find actions update_merge, rm_merge, clear_merge
|
||||
* New -as mkisofs option -max-iso9660-filenames
|
||||
* New -as mkisofs option --old-empty
|
||||
* New -as mkisofs options -root , -old-root
|
||||
* New -as mkisofs options --old-root-no-md5, --old-root-no-ino, --old-root-dev
|
||||
|
||||
|
||||
2011.02.23.202632 [3616]
|
||||
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.3
|
||||
|
||||
23 Feb 2011 [3617]
|
||||
ChangeLog
|
||||
xorriso/changelog.txt
|
||||
Documented changes and release timestamp
|
||||
|
||||
------------------------------------ cycle - xorriso-1.0.3 - 2011.02.23.202632
|
||||
|
||||
|
||||
23 Feb 2011 [3618]
|
||||
svn move -m Promoted branch to tag
|
||||
http://svn.libburnia-project.org/libisoburn/branches/1.0.2
|
||||
http://svn.libburnia-project.org/libisoburn/tags/1.0.2
|
||||
|
||||
2011.02.24.191908 [3620]
|
||||
libisoburn/isofs_wrap.c
|
||||
Corrected a flaw found by George Danchev with cpp
|
||||
|
||||
2011.02.24.192029 [3621]
|
||||
xorriso/opts_d_h.c
|
||||
xorriso/text_io.c
|
||||
xorriso/filters.c
|
||||
Corrected flaws found by George Danchev with cpp
|
||||
|
||||
2011.02.26.100158 [3622]
|
||||
xorriso/emulators.c
|
||||
Bug fix: -as mkisofs -old-root did not work with -graft-points
|
||||
|
||||
2011.02.28.190842 [3623]
|
||||
xorriso/emulators.c
|
||||
Bug fix: -as mkisofs -partition_hd_cyl had no effect
|
||||
|
||||
28 Feb 2011 [3624]
|
||||
xorriso/make_xorriso_1.c
|
||||
When producing man page from texi: substitute @minus{} within @item
|
||||
|
||||
2011.03.01.145125 [3626]
|
||||
libisoburn/burn_wrap.c
|
||||
Bug fix: -as mkisofs -C attempts to read volume header of blank media
|
||||
|
||||
2011.03.01.152159 [3627]
|
||||
libisoburn/burn_wrap.c
|
||||
Installed a test against non-zero msc1 on blank input drives
|
||||
|
||||
2011.03.02.093009 [3628]
|
||||
xorriso/xorriso_private.h
|
||||
xorriso/base_obj.c
|
||||
xorriso/emulators.c
|
||||
xorriso/write_run.c
|
||||
Counting padding as part of the image with -as mkisofs
|
||||
|
||||
2011.03.02.094049 [3629]
|
||||
xorriso/opts_d_h.c
|
||||
xorriso/opts_p_z.c
|
||||
xorriso/text_io.c
|
||||
New -padding modes "included" and "excluded"
|
||||
|
||||
02 Mar 2011 [3630]
|
||||
xorriso/xorriso.texi
|
||||
xorriso/xorriso.info
|
||||
xorriso/xorriso.1
|
||||
Updated documentation
|
||||
|
||||
02 Mar 2011 [3631]
|
||||
xorriso/xorriso_eng.html
|
||||
ChangeLog
|
||||
Updated change log and web page
|
||||
|
||||
------------------------------------ cycle - xorriso-1.0.3 - 2011.03.02.094049
|
||||
* Bug fix: -as mkisofs -old-root did not work with -graft-points
|
||||
* Bug fix: -as mkisofs -partition_hd_cyl had no effect
|
||||
* Bug fix: -as mkisofs -C attempted to read volume header of blank media
|
||||
* Bug fix: isohybrid image size was not aligned to cylinder boundary
|
||||
* New -padding modes "included" and "appended"
|
||||
|
||||
|
||||
2011.03.03.181601 [3632]
|
||||
libisoburn/libisoburn.h
|
||||
libisoburn/isoburn.c
|
||||
New bits 8 and 9 with options of isoburn_igopt_set_system_area()
|
||||
|
||||
2011.03.03.181850 [3633]
|
||||
xorriso/xorriso_private.h
|
||||
xorriso/opts_a_c.c
|
||||
xorriso/emulators.c
|
||||
xorriso/text_io.c
|
||||
New bootspec partition_cyl_align=, new -as mkisofs option -partition_cyl_align
|
||||
|
||||
03 Mar 2011 [3634]
|
||||
xorriso/xorriso.texi
|
||||
xorriso/xorriso.info
|
||||
xorriso/xorriso.1
|
||||
Updated documentation
|
||||
|
||||
04 Mar 2011 [3635]
|
||||
xorriso/xorriso.texi
|
||||
xorriso/xorriso.info
|
||||
xorriso/xorriso.1
|
||||
Clarifications about cylinder size and alignment
|
||||
|
||||
04 Mar 2011 [3626]
|
||||
xorriso/xorriso_eng.html
|
||||
ChangeLog
|
||||
Updated change log and web page
|
||||
|
||||
------------------------------------ cycle - xorriso-1.0.3 - 2011.03.03.181850
|
||||
* New bootspec partition_cyl_align=, new -as mkisofs option -partition_cyl_align
|
||||
|
||||
|
||||
2011.03.05.090434 [3637]
|
||||
xorriso/parse_exec.c
|
||||
xorriso/emulators.c
|
||||
xorriso/xorriso.texi
|
||||
xorriso/xorriso.info
|
||||
xorriso/xorriso.1
|
||||
New -as mkisofs and -as cdrecord option --no_rc
|
||||
|
||||
2011.03.05.141534 [3638]
|
||||
+ xorriso/xorrisofs.texi
|
||||
+ xorriso/xorrisofs.info
|
||||
+ xorriso/xorrisofs.1
|
||||
Makefile.am
|
||||
xorriso/make_xorriso_standalone.sh
|
||||
xorriso/xorriso_makefile_am.txt
|
||||
xorriso/make_docs.sh
|
||||
Own man page and info document for xorrisofs
|
||||
|
||||
05 Mar 2011 [3639]
|
||||
xorriso/xorriso.texi
|
||||
xorriso/xorriso.info
|
||||
xorriso/xorriso.1
|
||||
Mentioned man xorrisofs in man xorriso
|
||||
|
||||
2011.03.06.153741 [3640]
|
||||
xorriso/emulators.c
|
||||
Helptext of -as mkisofs now points to man xorrisofs
|
||||
|
||||
06 Mar 2011 [3641]
|
||||
xorriso/xorrisofs.texi
|
||||
xorriso/xorrisofs.info
|
||||
xorriso/xorrisofs.1
|
||||
Polished xorrisofs documentation
|
||||
|
||||
2011.03.07.101547 [3642]
|
||||
xorriso/opts_a_c.c
|
||||
xorriso/emulators.c
|
||||
Bug fix: -as mkisofs did not properly unescape target part of pathspecs
|
||||
|
||||
07 Mar 2011 [3643]
|
||||
xorriso/xorriso_eng.html
|
||||
ChangeLog
|
||||
Updated change log and web page
|
||||
|
||||
------------------------------------ cycle - xorriso-1.0.3 - 2011.03.07.101547
|
||||
* New -as mkisofs and -as cdrecord option --no_rc
|
||||
* Own man page and info document for xorrisofs
|
||||
* Bug fix: -as mkisofs did not properly unescape target part of pathspecs
|
||||
|
||||
|
||||
2011.03.09.071325 [3644]
|
||||
libisoburn/libisoburn.h
|
||||
libisoburn/isoburn.h
|
||||
libisoburn/isoburn.c
|
||||
libisoburn/isofs_wrap.c
|
||||
New isoburn_ropt_set_extensions() option isoburn_ropt_nomd5tag
|
||||
|
||||
2011.03.09.071502 [3645]
|
||||
xorriso/xorriso_private.h
|
||||
xorriso/opts_i_o.c
|
||||
xorriso/emulators.c
|
||||
xorriso/text_io.c
|
||||
xorriso/drive_mgt.c
|
||||
New -md5 modes load_check_off and load_check_on
|
||||
|
||||
08 Mar 2011 [3646]
|
||||
doc/partition_offset.wiki
|
||||
Updated partition offset wiki
|
||||
|
||||
2011.03.09.123847 [3647]
|
||||
xorriso/xorriso.h
|
||||
Marked options introduced since 0.5.8 by the promised @since tags
|
||||
|
||||
09 Mar 2011 [3648]
|
||||
xorriso/xorriso.texi
|
||||
xorriso/xorriso.info
|
||||
xorriso/xorriso.1
|
||||
xorriso/xorrisofs.texi
|
||||
xorriso/xorrisofs.info
|
||||
xorriso/xorrisofs.1
|
||||
Corrections and updates of documentation
|
||||
|
||||
10 Mar 2011 [3649]
|
||||
xorriso/README_gnu_xorriso
|
||||
xorriso/make_xorriso_standalone.sh
|
||||
xorriso/convert_man_to_html.sh
|
||||
+ xorriso/man_xorrisofs_to_html.sh
|
||||
+ xorriso/man_xorriso_to_html.sh
|
||||
xorriso/xorrisofs.texi
|
||||
xorriso/xorrisofs.info
|
||||
xorriso/xorrisofs.1
|
||||
xorriso/xorriso_eng.html
|
||||
HTML version of man xorrisofs
|
||||
|
||||
10 Mar 2011 [3654]
|
||||
svn copy -m Branching for libisoburn release 1.0.4
|
||||
http://svn.libburnia-project.org/libisoburn/trunk
|
||||
http://svn.libburnia-project.org/libisoburn/branches/1.0.4
|
||||
|
||||
2011.03.10.110001 [3655]
|
||||
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.4
|
||||
|
||||
[]
|
||||
ChangeLog
|
||||
xorriso/changelog.txt
|
||||
Documented changes and release timestamp
|
||||
|
||||
----------------------------------- release - xorriso-1.0.4 - 2011.03.10.110001
|
||||
* New isoburn_ropt_set_extensions() option isoburn_ropt_nomd5tag
|
||||
* Bug fix: xorrisofs did not work under growisofs -M (version 1.0.0 was ok)
|
||||
* Bug fix: -as mkisofs -C attempted to read volume header of blank media
|
||||
* Bug fix: -as mkisofs -old-root did not work with -graft-points
|
||||
* Bug fix: -as mkisofs -partition_hd_cyl had no effect
|
||||
* Bug fix: -as mkisofs did not properly unescape target part of pathspecs
|
||||
* Bug fix: isohybrid image size was not aligned to cylinder boundary
|
||||
* Bug fix: Compilation without zlib failed
|
||||
* New -padding modes "included" and "appended"
|
||||
* New bootspec partition_cyl_align=, new -as mkisofs option -partition_cyl_align
|
||||
* New -as mkisofs and -as cdrecord option --no_rc
|
||||
* Own man page and info document for xorrisofs
|
||||
|
||||
|
||||
|
||||
|
||||
xorriso/xorriso_eng.html
|
||||
ChangeLog
|
||||
Updated change log and web page
|
||||
------------------------------------ cycle - xorriso-1.0.5 -
|
||||
xorriso/xorriso_eng.html
|
||||
ChangeLog
|
||||
Updated change log and web page
|
||||
------------------------------------ cycle - xorriso-1.0.5 -
|
||||
|
||||
|
||||
**********************************************************************
|
||||
@ -9281,76 +10062,22 @@ Important: When adding a public API function then add its name to file
|
||||
TODO
|
||||
===============================================================================
|
||||
|
||||
- The return values of the fwrite() calls in libisofs/demo/demo.c are ignored
|
||||
|
||||
/sbin/mkfs.msdos -n Bla -C /dvdbuffer/test.fat 8192
|
||||
- Keshav P.R. <skodabenz@rocketmail.com>:
|
||||
Allow double dashes with all long options.
|
||||
|
||||
dd if=/dvdbuffer/RIPLinux-9.3-non-X.iso bs=1K count=32 \
|
||||
of=/dvdbuffer/RIPLinux-9.3-non-X.sysarea
|
||||
- Zhang Weiwu:
|
||||
>>> ask for test of -old-root
|
||||
|
||||
mount -o loop /dvdbuffer/RIPLinux-9.3-non-X.iso /mnt
|
||||
- xorrecord.texi
|
||||
|
||||
../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
|
||||
- man_1_xorrisofs.html , man_1_xorrecord.html
|
||||
|
||||
- make possible -joliet-long in libisofs:
|
||||
Up to 103 leafname characters in Joliet.
|
||||
Name length restriction in libisofs/util.c:iso_j_file_id seems
|
||||
to be hardcoded.
|
||||
|
||||
|
||||
------------------------------------------------- For Debian:
|
||||
@ -9362,9 +10089,9 @@ r -as mkisofs \
|
||||
- recognize at load time and build boot file list
|
||||
-sparc-boot is implemented
|
||||
- recognize at load time
|
||||
|
||||
r -abort_on NEVER -report_about ALL -dialog on -page 20 80 -as mkisofs -o /dvdbuffer/pseudo_drive /u/gruenbeck -G /u/x -B ... -sparc-label 'xorriso test'
|
||||
|
||||
-chrp-boot
|
||||
- needs HFS
|
||||
- where to get specs ?
|
||||
|
||||
------------------------------------------------- For Solaris
|
||||
|
||||
@ -9407,9 +10134,6 @@ r -abort_on NEVER -report_about ALL -dialog on -page 20 80 -as mkisofs -o /dvdbu
|
||||
- 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.
|
||||
@ -9433,6 +10157,7 @@ xorriso : UPDATE : 3691 MB written (fifo 78%) [buf 100%] 2.3x.
|
||||
|
||||
------------------------------------------------- important
|
||||
|
||||
|
||||
- introduce a read offset for displaced ISO images
|
||||
- coordinate -displacement with image growing
|
||||
|
||||
|
@ -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.
|
||||
|
||||
@ -284,6 +284,7 @@ ex:;
|
||||
bit1= compare ctime
|
||||
bit2= check only existence of both file objects
|
||||
count one or both missing as "difference"
|
||||
bit26= do not issue message about missing disk file
|
||||
bit27= for Xorriso_path_is_excluded(): bit0
|
||||
bit28= examine eventual disk_path link target rather than link
|
||||
bit29= do not issue pacifier messages
|
||||
@ -320,7 +321,7 @@ int Xorriso_compare_2_files(struct XorrisO *xorriso, char *disk_adr,
|
||||
sprintf(respt , "? %s (DISK) : exluded by %s\n",
|
||||
Text_shellsafe(disk_adr, sfe, 0),
|
||||
(ret==1 ? "-not_paths" : "-not_leaf"));
|
||||
if(!(flag&(1<<31)))
|
||||
if(! (flag & ((1 << 31) | (1 << 26))))
|
||||
Xorriso_result(xorriso,0);
|
||||
missing= 1;
|
||||
(*result)|= 1;
|
||||
@ -334,7 +335,7 @@ int Xorriso_compare_2_files(struct XorrisO *xorriso, char *disk_adr,
|
||||
if(ret==-1) {
|
||||
sprintf(respt , "? %s (DISK) : cannot lstat() : %s\n",
|
||||
Text_shellsafe(disk_adr, sfe, 0), strerror(errno));
|
||||
if(!(flag&(1<<31)))
|
||||
if(! (flag & ((1 << 31) | (1 << 26))))
|
||||
Xorriso_result(xorriso,0);
|
||||
missing= 1;
|
||||
(*result)|= 1;
|
||||
@ -681,10 +682,11 @@ int Xorriso_pfx_disk_path(struct XorrisO *xorriso, char *iso_path,
|
||||
Set to NULL if calling this function from outside ISO world
|
||||
@param flag bit0= update rather than compare
|
||||
bit1= find[ix] is in recursion
|
||||
bit2= update_merge : do not delete but mark visited and found
|
||||
@return <=0 error, 1= ok , 2= iso_path was deleted
|
||||
3=ok, do not dive into directory (e.g. because it is a split file)
|
||||
*/
|
||||
int Xorriso_find_compare(struct XorrisO *xorriso, void *boss_iter,
|
||||
int Xorriso_find_compare(struct XorrisO *xorriso, void *boss_iter, void *node,
|
||||
char *iso_path, char *iso_prefix, char *disk_prefix,
|
||||
int flag)
|
||||
{
|
||||
@ -709,22 +711,24 @@ int Xorriso_find_compare(struct XorrisO *xorriso, void *boss_iter,
|
||||
follow_links= (xorriso->do_follow_links ||
|
||||
(xorriso->do_follow_param && !(flag&2))) <<28;
|
||||
ret= Xorriso_compare_2_files(xorriso, disk_path, iso_path, "", &result,
|
||||
2 | follow_links | ((!(flag&2))<<27) | ((flag&1)<<31));
|
||||
2 | follow_links | ((!!(flag & 4)) << 26)
|
||||
| ((!(flag&2))<<27) | ((flag&1)<<31));
|
||||
/* was once: | ((!(flag&1))<<29) */
|
||||
if(ret<xorriso->find_compare_result)
|
||||
xorriso->find_compare_result= ret;
|
||||
if(flag&1) {
|
||||
if(ret<=0) {
|
||||
if(ret<0)
|
||||
if(Xorriso_eval_problem_status(xorriso, ret, 1|2)<0)
|
||||
return(ret);
|
||||
uret= Xorriso_update_interpreter(xorriso, boss_iter, result,
|
||||
disk_path, iso_path, (flag&2)<<1);
|
||||
if(uret<=0)
|
||||
ret= 0;
|
||||
if(uret==2)
|
||||
deleted= 1;
|
||||
}
|
||||
if(ret<0)
|
||||
if(Xorriso_eval_problem_status(xorriso, ret, 1|2)<0)
|
||||
return(ret);
|
||||
if(ret > 0)
|
||||
result= 0;
|
||||
uret= Xorriso_update_interpreter(xorriso, boss_iter, node, result,
|
||||
disk_path, iso_path,
|
||||
((flag & 2) << 1) | ((flag & 4) >> 1));
|
||||
if(uret<=0)
|
||||
ret= 0;
|
||||
if(uret==2)
|
||||
deleted= 1;
|
||||
}
|
||||
if(ret<0)
|
||||
return(ret);
|
||||
@ -742,15 +746,19 @@ int Xorriso_find_compare(struct XorrisO *xorriso, void *boss_iter,
|
||||
Do not call Xorriso_hardlink_update()
|
||||
Overwrite exactly if normal mode would not,
|
||||
else do nothing
|
||||
bit1= do not delete files which are not found under
|
||||
disk_path, but rather mark visited files and mark
|
||||
files which were found.
|
||||
bit2= -follow: this is not a command parameter
|
||||
@return <=0 error, 1= ok , 2= iso_rr_path node object has been deleted ,
|
||||
3= no action taken
|
||||
*/
|
||||
int Xorriso_update_interpreter(struct XorrisO *xorriso, void *boss_iter,
|
||||
int Xorriso_update_interpreter(struct XorrisO *xorriso,
|
||||
void *boss_iter, void *node,
|
||||
int compare_result, char *disk_path,
|
||||
char *iso_rr_path, int flag)
|
||||
{
|
||||
int ret, deleted= 0, is_split= 0, i, loop_count, late_hardlink_update= 0;
|
||||
int ret= 1, deleted= 0, is_split= 0, i, loop_count, late_hardlink_update= 0;
|
||||
char sfe[5*SfileadrL];
|
||||
struct stat stbuf;
|
||||
struct SplitparT *split_parts= NULL;
|
||||
@ -767,6 +775,15 @@ int Xorriso_update_interpreter(struct XorrisO *xorriso, void *boss_iter,
|
||||
ret= 3; goto ex;
|
||||
}
|
||||
|
||||
if((flag & 2) && !(compare_result & 2)) {
|
||||
ret= Xorriso_mark_update_merge(xorriso, iso_rr_path, node,
|
||||
!(compare_result & 1));
|
||||
if(ret <= 0)
|
||||
goto ex;
|
||||
}
|
||||
if(compare_result == 0)
|
||||
{ret= 1; goto ex;}
|
||||
|
||||
if(compare_result&((1<<11)|(1<<13))) {
|
||||
if(flag & 1)
|
||||
{ret= 3; goto ex;}
|
||||
@ -788,7 +805,8 @@ int Xorriso_update_interpreter(struct XorrisO *xorriso, void *boss_iter,
|
||||
} else {
|
||||
/* Hard link relation has changed resp. was not recorded. */
|
||||
ret= Xorriso_hardlink_update(xorriso, &compare_result,
|
||||
disk_path, iso_rr_path, flag & 4);
|
||||
disk_path, iso_rr_path,
|
||||
(flag & 4) | ((compare_result >> 21) & 2));
|
||||
if(ret < 0)
|
||||
goto ex;
|
||||
if(ret == 2)
|
||||
@ -805,15 +823,24 @@ int Xorriso_update_interpreter(struct XorrisO *xorriso, void *boss_iter,
|
||||
deleted= 1;
|
||||
ret= Xorriso_graft_in(xorriso, boss_iter, disk_path, iso_rr_path,
|
||||
(off_t) 0, (off_t) 0, 2|(flag&4));
|
||||
if(ret <= 0)
|
||||
goto ex;
|
||||
if(flag & 2) {
|
||||
ret= Xorriso_mark_update_merge(xorriso, iso_rr_path, NULL, 1);
|
||||
if(ret <= 0)
|
||||
goto ex;
|
||||
}
|
||||
}
|
||||
sprintf(xorriso->info_text, "Deleted and re-added ");
|
||||
|
||||
} else if(compare_result&(1)) {
|
||||
delete:;
|
||||
/* disk_adr not existing */
|
||||
ret= Xorriso_rmi(xorriso, boss_iter, (off_t) 0, iso_rr_path, 1);
|
||||
deleted= 1;
|
||||
sprintf(xorriso->info_text, "Deleted ");
|
||||
if(!(flag & 2)) {
|
||||
ret= Xorriso_rmi(xorriso, boss_iter, (off_t) 0, iso_rr_path, 1);
|
||||
deleted= 1;
|
||||
sprintf(xorriso->info_text, "Deleted ");
|
||||
}
|
||||
|
||||
} else if(compare_result&(2|128|(1<<12)|(1<<14)|(1<<15))) {
|
||||
/* iso_adr not existing, size, cannot open iso file, early eof of iso file
|
||||
@ -894,6 +921,11 @@ overwrite:;
|
||||
if(ret < 0)
|
||||
goto ex;
|
||||
}
|
||||
if(flag & 2) {
|
||||
ret= Xorriso_mark_update_merge(xorriso, iso_rr_path, NULL, 1);
|
||||
if(ret <= 0)
|
||||
goto ex;
|
||||
}
|
||||
if(flag & 1)
|
||||
sprintf(xorriso->info_text, "Widened hard link ");
|
||||
else
|
||||
|
@ -23,16 +23,21 @@ int Xorriso_pfx_disk_path(struct XorrisO *xorriso, char *iso_path,
|
||||
|
||||
/* @param boss_iter Opaque handle to be forwarded to actions in ISO image
|
||||
Set to NULL if calling this function from outside ISO world
|
||||
@param node Opaque handle to be forwarded to actions in ISO image
|
||||
Set to NULL if calling this function from outside ISO world
|
||||
@param flag bit0= update rather than compare
|
||||
*/
|
||||
int Xorriso_find_compare(struct XorrisO *xorriso, void *boss_iter,
|
||||
int Xorriso_find_compare(struct XorrisO *xorriso, void *boss_iter, void *node,
|
||||
char *iso_path, char *iso_prefix, char *disk_prefix,
|
||||
int flag);
|
||||
|
||||
/* @param boss_iter Opaque handle to be forwarded to actions in ISO image
|
||||
Set to NULL if calling this function from outside ISO world
|
||||
@param @node Opaque handle to be forwarded to actions in ISO image
|
||||
Set to NULL if calling this function from outside ISO world
|
||||
*/
|
||||
int Xorriso_update_interpreter(struct XorrisO *xorriso, void *boss_iter,
|
||||
int Xorriso_update_interpreter(struct XorrisO *xorriso,
|
||||
void *boss_iter, void *node,
|
||||
int compare_result, char *disk_path,
|
||||
char *iso_rr_path, int flag);
|
||||
|
||||
|
@ -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.7], [http://libburnia-project.org])
|
||||
AC_INIT([xorriso], [1.0.4], [http://libburnia-project.org])
|
||||
AC_PREREQ([2.50])
|
||||
|
||||
AC_CANONICAL_HOST
|
||||
@ -22,14 +22,14 @@ AC_DEFINE([Xorriso_standalonE], [])
|
||||
|
||||
BURN_MAJOR_VERSION=1
|
||||
BURN_MINOR_VERSION=0
|
||||
BURN_MICRO_VERSION=1
|
||||
BURN_MICRO_VERSION=4
|
||||
AC_SUBST(BURN_MAJOR_VERSION)
|
||||
AC_SUBST(BURN_MINOR_VERSION)
|
||||
AC_SUBST(BURN_MICRO_VERSION)
|
||||
|
||||
LIBISOFS_MAJOR_VERSION=1
|
||||
LIBISOFS_MINOR_VERSION=0
|
||||
LIBISOFS_MICRO_VERSION=1
|
||||
LIBISOFS_MICRO_VERSION=4
|
||||
AC_SUBST(LIBISOFS_MAJOR_VERSION)
|
||||
AC_SUBST(LIBISOFS_MINOR_VERSION)
|
||||
AC_SUBST(LIBISOFS_MICRO_VERSION)
|
||||
|
@ -1,118 +1,13 @@
|
||||
#!/bin/sh
|
||||
|
||||
#
|
||||
# convert_man_to_html.sh - ts A80118
|
||||
# convert_man_to_html.sh - ts B10309
|
||||
#
|
||||
# Generates a HTML version of man page xorriso.1
|
||||
# Generates a HTML version of man pages xorriso.1 , xorrisofs.1
|
||||
#
|
||||
# To be executed in the libisoburn toplevel directory (eg. ./libisoburn-0.1.0)
|
||||
# To be executed in the libisoburn toplevel directory (eg. ./libisoburn-1.0.4)
|
||||
#
|
||||
|
||||
# set -x
|
||||
xorriso/man_xorriso_to_html.sh
|
||||
xorriso/man_xorrisofs_to_html.sh
|
||||
|
||||
man_dir=$(pwd)"/xorriso"
|
||||
export MANPATH="$man_dir"
|
||||
manpage="xorriso"
|
||||
raw_html=$(pwd)/"xorriso/raw_man_1_xorriso.html"
|
||||
htmlpage=$(pwd)/"xorriso/man_1_xorriso.html"
|
||||
|
||||
if test -r "$man_dir"/"$manpage".1
|
||||
then
|
||||
dummy=dummy
|
||||
else
|
||||
echo "Cannot find readable man page source $1" >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if test -e "$man_dir"/man1
|
||||
then
|
||||
dummy=dummy
|
||||
else
|
||||
ln -s . "$man_dir"/man1
|
||||
fi
|
||||
|
||||
if test "$1" = "-work_as_filter"
|
||||
then
|
||||
|
||||
# set -x
|
||||
|
||||
sed \
|
||||
-e 's/<meta name="generator" content="groff -Thtml, see www.gnu.org">/<meta name="generator" content="groff -Thtml, via man -H, via xorriso\/convert_man_to_html.sh">/' \
|
||||
-e 's/<meta name="Content-Style" content="text\/css">/<meta name="Content-Style" content="text\/css"><META NAME="description" CONTENT="man page of xorriso"><META NAME="keywords" CONTENT="man xorriso, manual, xorriso, CD, CD-RW, CD-R, burning, cdrecord, compatible"><META NAME="robots" CONTENT="follow">/' \
|
||||
-e 's/<title>XORRISO<\/title>/<title>man 1 xorriso<\/title>/' \
|
||||
-e 's/<h1 align=center>XORRISO<\/h1>/<h1 align=center>man 1 xorriso<\/h1>/' \
|
||||
-e 's/<body>/<body BGCOLOR="#F5DEB3" TEXT=#000000 LINK=#0000A0 VLINK=#800000>/' \
|
||||
-e 's/<b>Overview of features:<\/b>/\ <BR><b>Overview of features:<\/b>/' \
|
||||
-e 's/<b>General information paragraphs:<\/b>/\ <BR><b>General information paragraphs:<\/b>/' \
|
||||
-e 's/have a look at section EXAMPLES/have a look at section <A HREF="#EXAMPLES">EXAMPLES<\/A>/' \
|
||||
-e 's/<b>Session model:<\/b>/\ <BR><b>Session model:<\/b>/' \
|
||||
-e 's/<b>Media types and states:<\/b>/\ <BR><b>Media types and states:<\/b>/' \
|
||||
-e 's/<b>Creating, Growing, Modifying, Blind/\ <BR><b>Creating, Growing, Modifying, Blind/' \
|
||||
-e 's/<b>Libburn drives:<\/b>/\ <BR><b>Libburn drives:<\/b>/' \
|
||||
-e 's/^-dev /\ \ -dev /' \
|
||||
-e 's/^-devices /\ \ -devices /' \
|
||||
-e 's/<b>Rock Ridge, POSIX, X\/Open, El Torito, ACL,/\ <BR><b>Rock Ridge, POSIX, X\/Open, El Torito, ACL,/' \
|
||||
-e 's/<b>Command processing:<\/b>/\ <BR><b>Command processing:<\/b>/' \
|
||||
-e 's/<b>Dialog, Readline, Result pager:<\/b>/\ <BR><b>Dialog, Readline, Result pager:<\/b>/' \
|
||||
-e 's/<b>Aquiring source and target drive:<\/b>/\ <BR><b>Aquiring source and target drive:<\/b><BR>\ <BR>/' \
|
||||
-e 's/<b>Influencing the behavior of image/\ <BR><b>Influencing the behavior of image/' \
|
||||
-e 's/<b>Inserting files into ISO image:<\/b>/\ <BR><b>Inserting files into ISO image:<\/b><BR>\ <BR>/' \
|
||||
-e 's/<b>File manipulations:<\/b>/\ <BR><b>File manipulations:<\/b><BR>\ <BR>/' \
|
||||
-e 's/<b>Tree traversal command -find:<\/b>/\ <BR><b>Tree traversal command -find:<\/b><BR>\ <BR>/' \
|
||||
-e 's/^<p><b>−iso_rr_pattern/<p>\ <BR><b>\−iso_rr_pattern/' \
|
||||
-e 's/EXAMPLES):<br>/<A HREF="#EXAMPLES">EXAMPLES<\/A>):<br>/' \
|
||||
-e 's/<b>Filters for data file content:<\/b>/\ <BR><b>Filters for data file content:<\/b><BR>\ <BR>/' \
|
||||
-e 's/<b>Writing the result, drive control:<\/b>/\ <BR><b>Writing the result, drive control:<\/b><BR>\ <BR>/' \
|
||||
-e 's/^-find \/ /\ \ -find \/ /' \
|
||||
-e 's/<b>Settings for file insertion:<\/b>/\ <BR><b>Settings for file insertion:<\/b><BR>\ <BR>/' \
|
||||
-e 's/^$<\/b> ln -s/\ \ $<\/b> ln -s/' \
|
||||
-e 's/<b>Settings for result writing:<\/b>/\ <BR><b>Settings for result writing:<\/b><BR>\ <BR>/' \
|
||||
-e 's/^706k = 706kB/\ \ 706k = 706kB/' \
|
||||
-e 's/^5540k = 5540kB/\ \ 5540k = 5540kB/' \
|
||||
-e 's/<b>Character sets:<\/b>/\ <BR><b>Character sets:<\/b><BR>\ <BR>/' \
|
||||
-e 's/<b>Exception processing:<\/b>/\ <BR><b>Exception processing:<\/b><BR>\ <BR>/' \
|
||||
-e 's/<b>El Torito bootable ISO images:<\/b>/\ <BR><b>El Torito bootable ISO images:<\/b><BR>\ <BR>/' \
|
||||
-e 's/<b>Jigdo Template Extraction:<\/b>/\ <BR><b>Jigdo Template Extraction:<\/b><BR>\ <BR>/' \
|
||||
-e 's/<b>Dialog mode control:<\/b>/\ <BR><b>Dialog mode control:<\/b><BR>\ <BR>/' \
|
||||
-e 's/<b>Drive and media related inquiry actions:<\/b>/\ <BR><b>Drive and media related inquiry actions:<\/b><BR>\ <BR>/' \
|
||||
-e 's/<b>Navigation in ISO image/\ <BR><b>Navigation in ISO image/' \
|
||||
-e 's/^filesystem:<\/b>/filesystem:<\/b><BR>\ <BR>/' \
|
||||
-e 's/<b>Evaluation of readability and recovery:<\/b>/\ <BR><b>Evaluation of readability and recovery:<\/b><BR>\ <BR>/' \
|
||||
-e 's/<b>osirrox ISO-to-disk restore options:<\/b>/\ <BR><b>osirrox ISO-to-disk restore options:<\/b><BR>\ <BR>/' \
|
||||
-e 's/<b>Command compatibility emulations:<\/b>/\ <BR><b>Command compatibility emulations:<\/b><BR>\ <BR>/' \
|
||||
-e 's/^<p><b>−as</<p>\ <BR><b>\−as</' \
|
||||
-e 's/<b>Scripting, dialog and/\ <BR><b>Scripting, dialog and/' \
|
||||
-e 's/^features:<\/b>/features:<\/b><BR>\ <BR>/' \
|
||||
-e 's/<b>Support for frontend/\ <BR><b>Support for frontend/' \
|
||||
-e 's/^listening at stdout:<\/b>/listening at stdout:<\/b><BR>\ <BR>/' \
|
||||
-e 's/xorriso -outdev \/dev\/sr2 \\ -blank fast \\ -pathspecs on/xorriso -outdev \/dev\/sr2 -blank fast -pathspecs on/' \
|
||||
-e 's/\\ -add \\ \/sounds=\/home\/me\/sounds \\ \/pictures \\ -- \\ -rm_r \\/ -add \/sounds=\/home\/me\/sounds \/pictures -- -rm_r /' \
|
||||
-e 's/\/sounds\/indecent \\ \’\/pictures\/\*private\*\’ \\/\/sounds\/indecent \’\/pictures\/*private*\’ /' \
|
||||
-e 's/\/pictures\/confidential \\ -- \\ -add \\/\/pictures\/confidential -- -add/' \
|
||||
-e 's/xorriso -dev \/dev\/sr2 \\ -rm_r \/sounds -- \\ -mv \\/xorriso -dev \/dev\/sr2 -rm_r \/sounds -- -mv /' \
|
||||
-e 's/\/pictures\/confidential \\ \/pictures\/restricted \\ -- \\ -chmod/\/pictures\/confidential \/pictures\/restricted -- -chmod/' \
|
||||
-e 's/go-rwx \/pictures\/restricted -- \\ -pathsspecs on \\ -add \\/go-rwx \/pictures\/restricted -- -pathsspecs on -add /' \
|
||||
-e 's/\/sounds=\/home\/me\/prepared_for_dvd\/sounds_dummy /\/sounds=\/home\/me\/prepared_for_dvd\/sounds_dummy/' \
|
||||
-e 's/\/movies=\/home\/me\/prepared_for_dvd\/movies \\ -- \\ -commit/\/movies=\/home\/me\/prepared_for_dvd\/movies -- -commit/' \
|
||||
-e 's/xorriso -indev \/dev\/sr2 \\ -rm_r \/sounds -- \\/xorriso -indev \/dev\/sr2 -rm_r \/sounds -- /' \
|
||||
-e 's/-outdev \/dev\/sr0 -blank fast \\ -commit -eject all/-outdev \/dev\/sr0 -blank fast -commit -eject all/' \
|
||||
-e 's/See section FILES/See section <A HREF="#FILES">FILES<\/A>/' \
|
||||
-e 's/See section EXAMPLES/See section <A HREF="#EXAMPLES">EXAMPLES<\/A>/' \
|
||||
-e 's/<\/body>/<BR><HR><FONT SIZE=-1><CENTER>(HTML generated from '"$manpage"'.1 on '"$(date)"' by '$(basename "$0")' )<\/CENTER><\/FONT><\/body>/' \
|
||||
<"$2" >"$htmlpage"
|
||||
|
||||
set +x
|
||||
|
||||
chmod u+rw,go+r,go-w "$htmlpage"
|
||||
echo "Emerged file:"
|
||||
ls -lL "$htmlpage"
|
||||
|
||||
else
|
||||
|
||||
export BROWSER='cp "%s" '"$raw_html"
|
||||
man -H "$manpage"
|
||||
"$0" -work_as_filter "$raw_html"
|
||||
rm "$raw_html"
|
||||
rm "$man_dir"/man1
|
||||
|
||||
fi
|
||||
|
@ -1132,8 +1132,8 @@ int Xorriso_findx_action(struct XorrisO *xorriso, struct FindjoB *job,
|
||||
if(ret<xorriso->find_compare_result)
|
||||
xorriso->find_compare_result= ret;
|
||||
if(ret==0) {
|
||||
uret= Xorriso_update_interpreter(xorriso, NULL, compare_result,
|
||||
abs_path, iso_path, (flag&1)<<2);
|
||||
uret= Xorriso_update_interpreter(xorriso, NULL, NULL, compare_result,
|
||||
abs_path, iso_path, ((flag&1)<<2) | 2);
|
||||
if(uret<=0)
|
||||
ret= 0;
|
||||
}
|
||||
|
@ -368,11 +368,10 @@ int Xorriso_aquire_drive(struct XorrisO *xorriso, char *adr, int flag)
|
||||
ext|= isoburn_ropt_noea;
|
||||
if(xorriso->ino_behavior & 1)
|
||||
ext|= isoburn_ropt_noino;
|
||||
|
||||
#ifdef isoburn_ropt_nomd5
|
||||
if(!(xorriso->do_md5 & 1))
|
||||
ext|= isoburn_ropt_nomd5;
|
||||
#endif
|
||||
if(xorriso->do_md5 & 32)
|
||||
ext|= isoburn_ropt_nomd5tag;
|
||||
|
||||
isoburn_ropt_set_extensions(ropts, ext);
|
||||
|
||||
@ -422,8 +421,11 @@ int Xorriso_aquire_drive(struct XorrisO *xorriso, char *adr, int flag)
|
||||
Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, sev, 0);
|
||||
if(read_ret == ISO_SB_TREE_CORRUPTED && (xorriso->do_md5 & 1)) {
|
||||
Xorriso_msgs_submit(xorriso, 0,
|
||||
"You might get a questionable ISO image tree by option -md5 'off'.",
|
||||
0, "HINT", 0);
|
||||
"This might be false MD5 alarm if an add-on session was written by growisofs.",
|
||||
0, "HINT", 0);
|
||||
Xorriso_msgs_submit(xorriso, 0,
|
||||
"In this case you get an ISO image tree by option -md5 'load_check_off'",
|
||||
0, "HINT", 0);
|
||||
} else if(xorriso->img_read_error_mode!=0) {
|
||||
Xorriso_msgs_submit(xorriso, 0, "You might get a partial or altered ISO image tree by option -error_behavior 'image_loading' 'best_effort' if -abort_on is set to be tolerant enough.",
|
||||
0, "HINT", 0);
|
||||
|
@ -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.
|
||||
|
||||
@ -62,6 +62,7 @@ int Xorriso_cdrskin_help(struct XorrisO *xorriso, int flag)
|
||||
"\tstream_recording=on|number\ttry to get full speed on DVD-RAM, BD",
|
||||
"\tdvd_obs=default|32k|64k\t\tbytes per DVD/BD write operation",
|
||||
"\tstdio_sync=on|off|number\twhether to fsync output to \"stdio:\"",
|
||||
"\t--no_rc\t\tDo not execute xorriso startup files",
|
||||
"\t-help\t\tprint this text to stderr and exit emulation",
|
||||
"Actually this is the integrated ISO RockRidge filesystem manipulator xorriso",
|
||||
"lending its libburn capabilities to a very limited cdrecord emulation. Only",
|
||||
@ -259,6 +260,8 @@ no_volunteer:;
|
||||
do_multi= 1;
|
||||
} else if(strcmp(argv[i], "-nopad")==0) {
|
||||
xorriso->padding= 0;
|
||||
} else if(strcmp(argv[i], "--no_rc")==0) {
|
||||
/* already performed in Xorriso_prescan_args */;
|
||||
} else if(strcmp(argv[i], "-pad")==0) {
|
||||
xorriso->padding= 15*2048;
|
||||
} else if(strncmp(argv[i], "-padsize=", 9)==0 ||
|
||||
@ -359,7 +362,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,7 +536,9 @@ 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",
|
||||
"--emul-toc", "-disallow_dir_id_ext", "--old-empty",
|
||||
"--old-root-no-md5", "--old-root-devno", "--old-root-no-ino",
|
||||
"--no_rc",
|
||||
""
|
||||
};
|
||||
static char arg1_options[][41]= {
|
||||
@ -564,7 +569,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", "-untranslated_name_len",
|
||||
"-partition_sec_hd", "-partition_cyl_align", "-untranslated_name_len",
|
||||
""
|
||||
};
|
||||
static char arg2_options[][41]= {
|
||||
@ -618,16 +623,17 @@ int Xorriso_genisofs_ignore(struct XorrisO *xorriso, char *whom,
|
||||
static char ignored_arg0_options[][41]= {
|
||||
"-allow-leading-dots", "-ldots", "-allow-multidot",
|
||||
"-cache-inodes", "-no-cache-inodes", "-check-oldnames", "-D",
|
||||
"-L", "-max-iso9660-filenames", "-nobak",
|
||||
"-disable-deep-relocation",
|
||||
"-L", "-nobak",
|
||||
"-no-bak", "-force-rr", "-relaxed-filenames", "-T",
|
||||
"-no-iso-translate",
|
||||
""
|
||||
};
|
||||
static char ignored_arg1_options[][41]= {
|
||||
"-check-session", "-hide-hfs", "-hide-hfs-list", "-root",
|
||||
"-old-root", "-table-name", "-volset-seqno", "-volset-size",
|
||||
"-check-session", "-hide-hfs", "-hide-hfs-list",
|
||||
"-table-name", "-volset-seqno", "-volset-size",
|
||||
""
|
||||
};
|
||||
}; /* "-root", "-old-root", */
|
||||
int k, idx_offset= 0;
|
||||
char sfe[5*SfileadrL];
|
||||
|
||||
@ -672,7 +678,7 @@ int Xorriso_genisofs_help(struct XorrisO *xorriso, int flag)
|
||||
{
|
||||
static char helptext[][160]= {
|
||||
"Usage: xorriso -as mkisofs [options] file...",
|
||||
"Note: This is not mkisofs. See xorriso -help, xorriso -version, man xorriso",
|
||||
"Note: This is not mkisofs. See xorriso -help, xorriso -version, man xorrisofs",
|
||||
"Options:",
|
||||
" -f, -follow-links Follow symbolic links",
|
||||
" -graft-points Allow to use graft points for filenames",
|
||||
@ -692,6 +698,7 @@ int Xorriso_genisofs_help(struct XorrisO *xorriso, int flag)
|
||||
" -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",
|
||||
" -max-iso9660-filenames Allow 37 character filenames for ISO9660 names (violates ISO9660)",
|
||||
" -N, -omit-version-number Omit version number from ISO9660 filename (violates ISO9660)",
|
||||
" -o FILE, -output FILE Set output file name",
|
||||
" -m GLOBFILE, -exclude GLOBFILE",
|
||||
@ -722,10 +729,10 @@ int Xorriso_genisofs_help(struct XorrisO *xorriso, int flag)
|
||||
" -publisher PUB Set Volume publisher",
|
||||
" -A ID, -appid ID Set Application ID",
|
||||
" -sysid ID Set System ID",
|
||||
" -p PREP, -preparer PREP Set Volume preparer",
|
||||
" -abstract FILE Set Abstract filename",
|
||||
" -biblio FILE Set Bibliographic filename",
|
||||
" -copyright FILE Set Copyright filename",
|
||||
" -p PREP, -preparer PREP Set Volume preparer",
|
||||
" -jigdo-jigdo FILE Produce a jigdo .jigdo file as well as the .iso",
|
||||
" -jigdo-template FILE Produce a jigdo .template file as well as the .iso",
|
||||
" -jigdo-min-file-size SIZE Minimum size for a file to be listed in the jigdo file",
|
||||
@ -739,7 +746,7 @@ int Xorriso_genisofs_help(struct XorrisO *xorriso, int flag)
|
||||
" -checksum_algorithm_iso alg1,alg2,...",
|
||||
" Specify the checksum types desired for the output image (in .jigdo)",
|
||||
" -checksum_algorithm_template alg1,alg2,...",
|
||||
" Specify the checksum types desired for the output jigdo template"
|
||||
" Specify the checksum types desired for the output jigdo template",
|
||||
" -b FILE, -eltorito-boot FILE",
|
||||
" Set El Torito boot image name",
|
||||
" -eltorito-alt-boot Start specifying alternative El Torito boot parameters",
|
||||
@ -753,10 +760,12 @@ int Xorriso_genisofs_help(struct XorrisO *xorriso, int flag)
|
||||
" -no-emul-boot Boot image is 'no emulation' image",
|
||||
" -boot-info-table Patch boot image with info table",
|
||||
" -G FILE, -generic-boot FILE Set generic boot image name",
|
||||
" --embedded-boot FILE Alias of -G",
|
||||
" --protective-msdos-label Patch System Area by partition table",
|
||||
" -partition_offset LBA Make image mountable by first partition, too",
|
||||
" -partition_sec_hd NUMBER Define number of sectors per head",
|
||||
" -partition_hd_cyl NUMBER Define number of heads per cylinder",
|
||||
" -partition_cyl_align MODE Control cylinder alignment: off, on, auto",
|
||||
" -mips-boot FILE Set mips boot image name (relative to image root)",
|
||||
" -mipsel-boot FILE Set mipsel boot image name (relative to image root)",
|
||||
" -B FILES, -sparc-boot FILES Set sparc boot image names",
|
||||
@ -773,12 +782,20 @@ int Xorriso_genisofs_help(struct XorrisO *xorriso, int flag)
|
||||
" --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",
|
||||
" --old-empty Use old style block addresses for empty files",
|
||||
" -z, -transparent-compression",
|
||||
" Enable transparent compression of files",
|
||||
" -root DIR Set root directory for all new files and directories",
|
||||
" -old-root DIR Set root directory in previous session that is searched for files",
|
||||
" --old-root-no-md5 Do not record and use MD5 with -old-root",
|
||||
" --old-root-no-ino Do not use disk inode numbers with -old-root",
|
||||
" --old-root-devno Use disk device numbers with -old-root",
|
||||
" --no_rc Do not execute startup files",
|
||||
" -v, -verbose Verbose",
|
||||
" -version Print the current version",
|
||||
"@End_of_helptexT@"
|
||||
};
|
||||
|
||||
char ra_text[80];
|
||||
int i;
|
||||
|
||||
@ -882,15 +899,23 @@ int Xorriso_genisofs(struct XorrisO *xorriso, char *whom,
|
||||
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, allow_dir_id_ext= 1;
|
||||
int root_seen= 0, do_md5_mem;
|
||||
mode_t mode_and, mode_or;
|
||||
int with_boot_image= 0, with_cat_path= 0, with_emul_toc= 0;
|
||||
int old_root_md5= 1, old_root_dev= 0, old_root_ino= 1;
|
||||
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];
|
||||
char *ept, *add_pt, eff_path[SfileadrL], indev[SfileadrL+8], msc[80], *cpt;
|
||||
char *boot_path, partno_text[8];
|
||||
char old_root[SfileadrL];
|
||||
char *boot_path, partno_text[8], *iso_rr_pt, *disk_pt, *rpt, *wpt;
|
||||
char *rm_merge_args[3];
|
||||
|
||||
/* >>> This should not be static. Why is it ? */
|
||||
static char *sort_weight_args[4]= {"", "-exec", "sort_weight", ""};
|
||||
|
||||
struct stat stbuf;
|
||||
|
||||
strcpy(ra_text, xorriso->report_about_text);
|
||||
|
||||
weight_list= TSOB_FELD(int, (argc / 3) + 1);
|
||||
@ -907,14 +932,14 @@ int Xorriso_genisofs(struct XorrisO *xorriso, char *whom,
|
||||
|
||||
if(xorriso->boot_image_cat_path[0])
|
||||
with_cat_path= -1;
|
||||
adr[0]= indev[0]= msc[0]= 0;
|
||||
adr[0]= indev[0]= msc[0]= old_root[0]= 0;
|
||||
for(i= 0; i<argc; i++) {
|
||||
ret= Xorriso_genisofs_ignore(xorriso, whom, argv, &i, 1);
|
||||
if(ret == 1)
|
||||
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)
|
||||
@ -1021,6 +1046,33 @@ int Xorriso_genisofs(struct XorrisO *xorriso, char *whom,
|
||||
if(ret <= 0)
|
||||
goto problem_handler_1;
|
||||
|
||||
} else if(strcmp(argv[i], "-root") == 0) {
|
||||
if(i+1>=argc)
|
||||
goto not_enough_args;
|
||||
i++;
|
||||
/* Always absolute */
|
||||
strcpy(eff_path, "/");
|
||||
if(Sfile_str(eff_path, argv[i], argv[i][0] != '/') <= 0)
|
||||
{ret= -1; goto ex;}
|
||||
strcpy(xorriso->wdi, eff_path);
|
||||
root_seen= 1;
|
||||
|
||||
} else if(strcmp(argv[i], "-old-root") == 0) {
|
||||
if(i+1>=argc)
|
||||
goto not_enough_args;
|
||||
i++;
|
||||
/* Always absolute */
|
||||
strcpy(old_root, "/");
|
||||
if(Sfile_str(old_root, argv[i], argv[i][0] != '/') <= 0)
|
||||
{ret= -1; goto ex;}
|
||||
|
||||
} else if(strcmp(argv[i], "--old-root-no-md5")==0) {
|
||||
old_root_md5= 0;
|
||||
} else if(strcmp(argv[i], "--old-root-devno")==0) {
|
||||
old_root_dev= 1;
|
||||
} else if(strcmp(argv[i], "--old-root-no-ino")==0) {
|
||||
old_root_ino= 0;
|
||||
|
||||
} else if(strcmp(argv[i], "--hardlinks")==0) {
|
||||
Xorriso_option_hardlinks(xorriso, "on", 0);
|
||||
} else if(strcmp(argv[i], "--acl")==0) {
|
||||
@ -1126,8 +1178,22 @@ illegal_c:;
|
||||
if(ret<=0)
|
||||
goto ex;
|
||||
}
|
||||
|
||||
if(old_root[0] || root_seen) {
|
||||
Xorriso_option_md5(xorriso, old_root_md5 ? "on" : "off", 0);
|
||||
Xorriso_option_disk_dev_ino(xorriso,
|
||||
old_root_dev && old_root_ino ? "on" :
|
||||
old_root_ino ? "ino_only" : "off", 0);
|
||||
if(!old_root_ino)
|
||||
Xorriso_option_hardlinks(xorriso, "without_update", 0);
|
||||
}
|
||||
if(indev[0]) {
|
||||
do_md5_mem= xorriso->do_md5;
|
||||
if(xorriso->do_md5 & 1) /* MD5 loading is enabled */
|
||||
xorriso->do_md5|= 32; /* Do not check tags of superblock,tree,session
|
||||
because growisofs preserves the first sb tag.*/
|
||||
ret= Xorriso_option_dev(xorriso, indev, 1);
|
||||
xorriso->do_md5= do_md5_mem;
|
||||
if(ret<=0)
|
||||
goto ex;
|
||||
}
|
||||
@ -1135,6 +1201,24 @@ illegal_c:;
|
||||
if(!was_other_option)
|
||||
{ret= 1; goto ex;}
|
||||
|
||||
if(old_root[0]) {
|
||||
ret= Xorriso_iso_lstat(xorriso, old_root, &stbuf, 0);
|
||||
if(ret >= 0) {
|
||||
if(root_seen) {
|
||||
ret= Xorriso_mkdir(xorriso, xorriso->wdi, 1 | 2);
|
||||
if(ret < 0)
|
||||
{ret= -(ret != -1); goto ex;}
|
||||
} else {
|
||||
strcpy(xorriso->wdi, "/");
|
||||
}
|
||||
if(strcmp(old_root, xorriso->wdi) != 0) {
|
||||
ret= Xorriso_clone_under(xorriso, old_root, xorriso->wdi, 0);
|
||||
if(ret <= 0)
|
||||
goto ex;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
xorriso->padding= 300*1024;
|
||||
|
||||
for(i= 0; i<argc; i++) {
|
||||
@ -1183,7 +1267,7 @@ not_enough_args:;
|
||||
xorriso->padding= 0;
|
||||
} else if(strcmp(argv[i], "-print-size")==0) {
|
||||
do_print_size= 1;
|
||||
} else if(strcmp(argv[i], "-o")==0) {
|
||||
} else if(strcmp(argv[i], "-o")==0 || strcmp(argv[i], "-output") == 0) {
|
||||
i++;
|
||||
/* was already handled in first argument scan */;
|
||||
} else if(strcmp(argv[i], "-M")==0 || strcmp(argv[i], "-dev")==0 ||
|
||||
@ -1286,6 +1370,7 @@ not_enough_args:;
|
||||
strcmp(argv[i], "-partition_offset") == 0 ||
|
||||
strcmp(argv[i], "-partition_hd_cyl") == 0 ||
|
||||
strcmp(argv[i], "-partition_sec_hd") == 0 ||
|
||||
strcmp(argv[i], "-partition_cyl_align") == 0 ||
|
||||
strcmp(argv[i], "-isohybrid-mbr")==0) {
|
||||
if(i+1>=argc)
|
||||
goto not_enough_args;
|
||||
@ -1323,7 +1408,7 @@ not_enough_args:;
|
||||
} 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);
|
||||
"no_force_dots:long_paths:long_names:omit_version:full_ascii:lowercase", 0);
|
||||
} else if(strcmp(argv[i], "-untranslated_name_len") == 0) {
|
||||
if(i+1>=argc)
|
||||
goto not_enough_args;
|
||||
@ -1336,8 +1421,9 @@ not_enough_args:;
|
||||
strcmp(argv[i], "-omit-version-number") == 0) {
|
||||
Xorriso_relax_compliance(xorriso, "omit_version", 0);
|
||||
} else if(strcmp(argv[i], "-l") == 0 ||
|
||||
strcmp(argv[i], "-full-iso9660-filenames") == 0) {
|
||||
Xorriso_relax_compliance(xorriso, "long_paths", 0);
|
||||
strcmp(argv[i], "-full-iso9660-filenames") == 0 ||
|
||||
strcmp(argv[i], "-max-iso9660-filenames") == 0) {
|
||||
Xorriso_relax_compliance(xorriso, "long_names", 0);
|
||||
} else if(strcmp(argv[i], "-d") == 0 ||
|
||||
strcmp(argv[i], "-omit-period") == 0) {
|
||||
Xorriso_relax_compliance(xorriso, "no_force_dots", 0);
|
||||
@ -1352,6 +1438,16 @@ not_enough_args:;
|
||||
goto not_enough_args;
|
||||
i++;
|
||||
/* was already handled in first argument scan */;
|
||||
} else if(strcmp(argv[i], "-root") == 0 ||
|
||||
strcmp(argv[i], "-old-root") == 0) {
|
||||
if(i+1>=argc)
|
||||
goto not_enough_args;
|
||||
i++;
|
||||
/* was already handled in first argument scan */;
|
||||
} else if(strcmp(argv[i], "--old-root-no-md5")==0 ||
|
||||
strcmp(argv[i], "--old-root-devno")==0 ||
|
||||
strcmp(argv[i], "--old-root-no-ino")==0) {
|
||||
/* was already handled in first argument scan */;
|
||||
} else if(strcmp(argv[i], "-dir-mode") == 0) {
|
||||
if(i+1>=argc)
|
||||
goto not_enough_args;
|
||||
@ -1454,9 +1550,15 @@ not_enough_args:;
|
||||
strcmp(argv[i], "--no-emul-toc")==0) {
|
||||
/* was already handled in first argument scan */;
|
||||
|
||||
} else if(strcmp(argv[i], "--old-empty")==0) {
|
||||
xorriso->do_old_empty= 1;
|
||||
|
||||
} else if(strcmp(argv[i], "-disallow_dir_id_ext")==0) {
|
||||
/* was already handled in first argument scan */;
|
||||
|
||||
} else if(strcmp(argv[i], "--no_rc")==0) {
|
||||
/* was already handled in Xorriso_prescan_args */;
|
||||
|
||||
} else if(argv[i][0]=='-' && argv[i][1]!=0) {
|
||||
ret= Xorriso_genisofs_count_args(xorriso, argc - i, argv + i, &count, 1);
|
||||
if(ret > 0) {
|
||||
@ -1490,16 +1592,57 @@ is_pathspec_2:;
|
||||
pathspec[0]= 0;
|
||||
}
|
||||
strcat(pathspec, eff_path);
|
||||
add_pt= pathspec;
|
||||
} else
|
||||
add_pt= argv[i];
|
||||
mem_graft_points= xorriso->allow_graft_points;
|
||||
xorriso->allow_graft_points= 1;
|
||||
zero= 0;
|
||||
ret= Xorriso_option_add(xorriso, 1, &add_pt, &zero, was_path<<1);
|
||||
xorriso->allow_graft_points= mem_graft_points;
|
||||
Sfile_str(pathspec, argv[i], 0);
|
||||
add_pt= pathspec;
|
||||
|
||||
if(old_root[0]) {
|
||||
/* Split pathspec */
|
||||
ret= Fileliste__target_source_limit(add_pt, '=', &ept, 0);
|
||||
if(ret > 0) {
|
||||
*ept= 0;
|
||||
iso_rr_pt= add_pt;
|
||||
disk_pt= ept + 1;
|
||||
} else {
|
||||
iso_rr_pt= "/";
|
||||
disk_pt= add_pt;
|
||||
}
|
||||
|
||||
/* Unescape iso_rr_pt */
|
||||
strcpy(eff_path, iso_rr_pt);
|
||||
iso_rr_pt= eff_path;
|
||||
for(wpt= rpt= iso_rr_pt; *rpt != 0; rpt++) {
|
||||
if(*rpt == '\\') {
|
||||
if(*(rpt + 1) == '\\')
|
||||
rpt++;
|
||||
else if(*(rpt + 1) == '=')
|
||||
continue;
|
||||
}
|
||||
*(wpt++) = *rpt;
|
||||
}
|
||||
*wpt= 0;
|
||||
|
||||
if(root_seen) {
|
||||
ret= Sfile_prepend_path(xorriso->wdi, iso_rr_pt, 0);
|
||||
if(ret<=0) {
|
||||
Xorriso_msgs_submit(xorriso, 0, "Effective path gets much too long",
|
||||
0, "FAILURE", 0);
|
||||
goto problem_handler_2;
|
||||
}
|
||||
}
|
||||
/* update_merge */
|
||||
ret= Xorriso_option_update(xorriso, disk_pt, iso_rr_pt, 1 | 8 | 32);
|
||||
} else {
|
||||
mem_graft_points= xorriso->allow_graft_points;
|
||||
xorriso->allow_graft_points= 1;
|
||||
zero= 0;
|
||||
ret= Xorriso_option_add(xorriso, 1, &add_pt, &zero,
|
||||
(was_path << 1) | (root_seen << 2) | 8);
|
||||
xorriso->allow_graft_points= mem_graft_points;
|
||||
}
|
||||
if(ret<=0)
|
||||
goto problem_handler_2;
|
||||
|
||||
was_path= 1;
|
||||
|
||||
/* Enforce odd mkisofs defaults on first pathspec */
|
||||
@ -1526,6 +1669,21 @@ problem_handler_2:;
|
||||
continue;
|
||||
goto ex;
|
||||
}
|
||||
|
||||
if(old_root[0]) {
|
||||
/* Delete all visited nodes which were not found on disk */
|
||||
if(root_seen)
|
||||
rm_merge_args[0]= xorriso->wdi;
|
||||
else
|
||||
rm_merge_args[0]= "/";
|
||||
rm_merge_args[1]= "-exec";
|
||||
rm_merge_args[2]= "rm_merge";
|
||||
zero= 0;
|
||||
ret= Xorriso_option_find(xorriso, 3, rm_merge_args, &zero, 2);
|
||||
if(ret<=0)
|
||||
goto ex;
|
||||
}
|
||||
|
||||
if(lower_r) {
|
||||
static char *lower_r_args[3]= {"/", "-exec", "mkisofs_r"};
|
||||
zero= 0;
|
||||
@ -1668,7 +1826,8 @@ problem_handler_2:;
|
||||
xorriso->boot_image_cat_hidden|= 3;
|
||||
} else if(strcmp(argv[i], "-partition_offset") == 0 ||
|
||||
strcmp(argv[i], "-partition_sec_hd") == 0 ||
|
||||
strcmp(argv[i], "-partition_dh_cyl") == 0) {
|
||||
strcmp(argv[i], "-partition_hd_cyl") == 0 ||
|
||||
strcmp(argv[i], "-partition_cyl_align") == 0) {
|
||||
if(i+1>=argc)
|
||||
goto not_enough_args;
|
||||
i++;
|
||||
@ -1720,6 +1879,9 @@ problem_handler_boot:;
|
||||
was_failure= 1;
|
||||
}
|
||||
|
||||
if(xorriso->no_emul_toc & 1)
|
||||
xorriso->do_padding_by_libisofs= 1;
|
||||
|
||||
if(do_print_size) {
|
||||
ret= Xorriso_option_print_size(xorriso, 1);
|
||||
goto ex;
|
||||
@ -1727,7 +1889,7 @@ problem_handler_boot:;
|
||||
|
||||
ret= !was_failure;
|
||||
ex:;
|
||||
if(was_path && !do_print_size)
|
||||
if(was_path && (!do_print_size) && !old_root[0])
|
||||
Xorriso_pacifier_callback(xorriso, "files added", xorriso->pacifier_count,
|
||||
xorriso->pacifier_total, "", 1);
|
||||
if(do_print_size && xorriso->volset_change_pending == 1)
|
||||
|
@ -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.
|
||||
|
||||
@ -118,6 +118,8 @@ int Xorriso_extf_destroy(struct XorrisO *xorriso, struct Xorriso_extF **filter,
|
||||
if(cmd != NULL) {
|
||||
if(cmd->refcount > 0)
|
||||
return(0);
|
||||
if(cmd->path != NULL)
|
||||
free(cmd->path);
|
||||
if(cmd->suffix != NULL)
|
||||
free(cmd->suffix);
|
||||
if(cmd->argv != NULL) {
|
||||
@ -128,6 +130,7 @@ int Xorriso_extf_destroy(struct XorrisO *xorriso, struct Xorriso_extF **filter,
|
||||
}
|
||||
if(cmd->name != NULL)
|
||||
free(cmd->name);
|
||||
free((char *) cmd);
|
||||
}
|
||||
free((char *) *filter);
|
||||
*filter= NULL;
|
||||
@ -395,7 +398,7 @@ int Xorriso_set_filter(struct XorrisO *xorriso, void *in_node,
|
||||
sprintf(xorriso->info_text,
|
||||
"-set_filter: UID and EUID differ. Will not run external programs.");
|
||||
Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "FATAL", 0);
|
||||
return(0);
|
||||
ret= 0; goto ex;
|
||||
}
|
||||
#endif /* ! Xorriso_allow_extf_suiD */
|
||||
|
||||
|
@ -155,6 +155,9 @@ struct FindjoB {
|
||||
38= sort_weight number
|
||||
39= hide on|iso_rr|joliet|off
|
||||
40= estimate_size
|
||||
41= update_merge disk_equiv
|
||||
42= rm_merge
|
||||
43= clear_merge
|
||||
*/
|
||||
int action;
|
||||
int prune;
|
||||
|
@ -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.
|
||||
|
||||
@ -126,6 +126,11 @@ int Xorriso_graft_split(struct XorrisO *xorriso, IsoImage *volume,
|
||||
if(ret<0)
|
||||
return(ret);
|
||||
*node= (IsoNode *) new_dir;
|
||||
if(xorriso->update_flags & 1) {
|
||||
ret= Xorriso_mark_update_merge(xorriso, img_name, node, 1);
|
||||
if(ret <= 0)
|
||||
return(0);
|
||||
}
|
||||
total_parts= size / xorriso->split_size;
|
||||
if(size % xorriso->split_size)
|
||||
total_parts++;
|
||||
@ -213,6 +218,11 @@ int Xorriso_tree_graft_node(struct XorrisO *xorriso, IsoImage *volume,
|
||||
if(ret <= 0)
|
||||
goto ex;
|
||||
}
|
||||
if(xorriso->update_flags & 1) {
|
||||
ret= Xorriso_mark_update_merge(xorriso, img_name, *node, 1);
|
||||
if(ret <= 0)
|
||||
goto ex;
|
||||
}
|
||||
|
||||
ex:;
|
||||
if(ret<0) {
|
||||
@ -611,20 +621,30 @@ int Xorriso_graft_in(struct XorrisO *xorriso, void *boss_iter,
|
||||
int target_is_split, hide_attrs;
|
||||
struct stat stbuf;
|
||||
|
||||
ret= Xorriso_path_is_excluded(xorriso, disk_path, !(flag&4));
|
||||
if(ret<0)
|
||||
return(ret);
|
||||
if(ret>0)
|
||||
return(3*!!(flag&16));
|
||||
|
||||
/* Check for mkisofs-style hidings */
|
||||
hide_attrs= (flag >> 8) & 3;
|
||||
if(hide_attrs != 3) {
|
||||
ret= Xorriso_path_is_hidden(xorriso, disk_path, 0);
|
||||
if (disk_path == NULL && !(flag & 1)) {
|
||||
Xorriso_msgs_submit(xorriso, 0,
|
||||
"Program error: Xorriso_graft_in(): disk_path == NULL && !(flag & 1)",
|
||||
0, "ABORT", 0);
|
||||
return(-1);
|
||||
}
|
||||
if (disk_path == NULL) {
|
||||
disk_path= "";
|
||||
} else {
|
||||
ret= Xorriso_path_is_excluded(xorriso, disk_path, !(flag&4));
|
||||
if(ret<0)
|
||||
return(ret);
|
||||
if(ret>=0)
|
||||
hide_attrs|= ret;
|
||||
if(ret>0)
|
||||
return(3*!!(flag&16));
|
||||
|
||||
/* Check for mkisofs-style hidings */
|
||||
if(hide_attrs != 3) {
|
||||
ret= Xorriso_path_is_hidden(xorriso, disk_path, 0);
|
||||
if(ret<0)
|
||||
return(ret);
|
||||
if(ret>=0)
|
||||
hide_attrs|= ret;
|
||||
}
|
||||
}
|
||||
|
||||
for(cpt= img_path; 1; cpt++) {
|
||||
@ -638,10 +658,14 @@ int Xorriso_graft_in(struct XorrisO *xorriso, void *boss_iter,
|
||||
break;
|
||||
}
|
||||
if(cpt!=NULL) {
|
||||
Xorriso_msgs_submit(xorriso, 0, disk_path, 0, "ERRFILE", 0);
|
||||
if(disk_path[0])
|
||||
Xorriso_msgs_submit(xorriso, 0, disk_path, 0, "ERRFILE", 0);
|
||||
sprintf(xorriso->info_text,
|
||||
"Unsupported relative addressing in iso_rr_path %s (disk: %s)",
|
||||
Text_shellsafe(img_path, sfe, 0), Text_shellsafe(disk_path, sfe2, 0));
|
||||
"Unsupported relative addressing in iso_rr_path %s",
|
||||
Text_shellsafe(img_path, sfe, 0));
|
||||
if(disk_path[0])
|
||||
sprintf(xorriso->info_text + strlen(xorriso->info_text),
|
||||
" (disk: %s)", Text_shellsafe(disk_path, sfe, 0));
|
||||
Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, errno, "FAILURE", 0);
|
||||
return(0);
|
||||
}
|
||||
@ -740,7 +764,8 @@ int Xorriso_graft_in(struct XorrisO *xorriso, void *boss_iter,
|
||||
return(ret);
|
||||
if(ret==3) {
|
||||
sprintf(xorriso->info_text, "User revoked adding of: %s",
|
||||
Text_shellsafe(disk_path, sfe, 0));
|
||||
disk_path[0] ? Text_shellsafe(disk_path, sfe, 0)
|
||||
: Text_shellsafe(img_path, sfe, 0));
|
||||
Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "NOTE", 0);
|
||||
return(3*!!(flag&16));
|
||||
}
|
||||
@ -748,7 +773,8 @@ int Xorriso_graft_in(struct XorrisO *xorriso, void *boss_iter,
|
||||
goto handle_path_node;
|
||||
}
|
||||
|
||||
Xorriso_msgs_submit(xorriso, 0, disk_path, 0, "ERRFILE", 0);
|
||||
if (disk_path[0])
|
||||
Xorriso_msgs_submit(xorriso, 0, disk_path, 0, "ERRFILE", 0);
|
||||
sprintf(xorriso->info_text,
|
||||
"While grafting '%s' : '%s' exists and may not be overwritten",
|
||||
img_path, path);
|
||||
@ -763,7 +789,8 @@ handle_path_node:;
|
||||
ret= iso_tree_add_new_dir(dir, apt, &hdir);
|
||||
if(ret<0) {
|
||||
Xorriso_process_msg_queues(xorriso,0);
|
||||
Xorriso_msgs_submit(xorriso, 0, disk_path, 0, "ERRFILE", 0);
|
||||
if(disk_path[0])
|
||||
Xorriso_msgs_submit(xorriso, 0, disk_path, 0, "ERRFILE", 0);
|
||||
Xorriso_report_iso_error(xorriso, img_path, ret,
|
||||
"Cannot create directory", 0, "FAILURE", 1);
|
||||
sprintf(xorriso->info_text,
|
||||
@ -771,13 +798,19 @@ handle_path_node:;
|
||||
Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "FAILURE", 0);
|
||||
return(0);
|
||||
}
|
||||
if(xorriso->update_flags & 1) {
|
||||
ret= Xorriso_mark_update_merge(xorriso, path, (IsoNode *) hdir, 1);
|
||||
if(ret <= 0)
|
||||
return(0);
|
||||
}
|
||||
|
||||
dir= hdir;
|
||||
Xorriso_set_change_pending(xorriso, 0);
|
||||
iso_node_set_ctime((IsoNode *) dir, time(NULL));
|
||||
iso_node_set_uid((IsoNode *) dir, geteuid());
|
||||
iso_node_set_gid((IsoNode *) dir, getegid());
|
||||
|
||||
if(disk_path!=NULL && !done)
|
||||
if(disk_path[0] && !done)
|
||||
/* This not only copies disk directory properties
|
||||
but also sets eventual hide_attrs */
|
||||
Xorriso_copy_implicit_properties(xorriso, dir, img_path, path, disk_path,
|
||||
@ -899,6 +932,7 @@ unsupported_type:;
|
||||
|
||||
|
||||
/* @param flag bit0= do not produce info message on success
|
||||
bit1= do not raise protest if directory already exists
|
||||
@return 1=success,
|
||||
0=was already directory, -1=was other type, -2=other error
|
||||
*/
|
||||
@ -911,8 +945,10 @@ int Xorriso_mkdir(struct XorrisO *xorriso, char *path, int flag)
|
||||
if(ret<0)
|
||||
return(-2);
|
||||
if(ret>0) {
|
||||
if(ret == 2 && (flag & 2))
|
||||
return(0);
|
||||
sprintf(xorriso->info_text,"-mkdir: Address already existing %s",
|
||||
Text_shellsafe(eff_path, sfe, 0));
|
||||
Text_shellsafe(eff_path, sfe, 0));
|
||||
Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0,
|
||||
(ret==2 ? "WARNING" : "FAILURE"), 0);
|
||||
return(-1+(ret==2));
|
||||
@ -1187,6 +1223,38 @@ ex:;
|
||||
}
|
||||
|
||||
|
||||
int Xorriso_overwrite_dest(struct XorrisO *xorriso, void *boss_iter,
|
||||
char *eff_dest, int dest_ret, char *activity,
|
||||
int flag)
|
||||
{
|
||||
int ret;
|
||||
char sfe[5*SfileadrL];
|
||||
|
||||
if(dest_ret==2 && xorriso->do_overwrite!=1) {
|
||||
sprintf(xorriso->info_text, "%s: May not overwrite directory: %s",
|
||||
activity, Text_shellsafe(eff_dest, sfe, 0));
|
||||
Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "FAILURE", 0);
|
||||
return(0);
|
||||
} else if (dest_ret==1 && !xorriso->do_overwrite) {
|
||||
sprintf(xorriso->info_text, "%s: May not overwite: %s",
|
||||
activity, Text_shellsafe(eff_dest, sfe, 0));
|
||||
Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "FAILURE", 0);
|
||||
return(0);
|
||||
} else if(dest_ret>0) {
|
||||
ret= Xorriso_rmi(xorriso, boss_iter, (off_t) 0, eff_dest, 1|8);
|
||||
if(ret<=0)
|
||||
return(0);
|
||||
if(ret==3) {
|
||||
sprintf(xorriso->info_text, "%s: User revoked removal of: %s",
|
||||
activity, Text_shellsafe(eff_dest, sfe, 0));
|
||||
Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "NOTE", 0);
|
||||
return(0);
|
||||
}
|
||||
}
|
||||
return(1);
|
||||
}
|
||||
|
||||
|
||||
/* @param boss_iter Opaque handle to be forwarded to actions in ISO image
|
||||
Set to NULL if calling this function from outside ISO world
|
||||
*/
|
||||
@ -1249,27 +1317,10 @@ int Xorriso_rename(struct XorrisO *xorriso, void *boss_iter,
|
||||
}
|
||||
|
||||
/* Check whether destination exists and may be not overwriteable */
|
||||
if(dest_ret==2 && xorriso->do_overwrite!=1) {
|
||||
sprintf(xorriso->info_text, "Renaming may not overwrite directory: %s",
|
||||
Text_shellsafe(eff_dest, sfe, 0));
|
||||
Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "FAILURE", 0);
|
||||
return(0);
|
||||
} else if (dest_ret==1 && !xorriso->do_overwrite) {
|
||||
sprintf(xorriso->info_text, "Renaming may not overwite: %s",
|
||||
Text_shellsafe(eff_dest, sfe, 0));
|
||||
Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "FAILURE", 0);
|
||||
return(0);
|
||||
} else if(dest_ret>0) {
|
||||
ret= Xorriso_rmi(xorriso, boss_iter, (off_t) 0, eff_dest, 1|8);
|
||||
if(ret<=0)
|
||||
return(0);
|
||||
if(ret==3) {
|
||||
sprintf(xorriso->info_text, "User revoked renaming of: %s",
|
||||
Text_shellsafe(eff_origin, sfe, 0));
|
||||
Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "NOTE", 0);
|
||||
return(0);
|
||||
}
|
||||
}
|
||||
ret= Xorriso_overwrite_dest(xorriso, boss_iter,
|
||||
eff_dest, dest_ret, "Renaming", 0);
|
||||
if(ret <= 0)
|
||||
return(ret);
|
||||
|
||||
/* Ensure existence of destination directory */
|
||||
strcpy(dir_adr, eff_dest);
|
||||
@ -1345,6 +1396,175 @@ int Xorriso_rename(struct XorrisO *xorriso, void *boss_iter,
|
||||
}
|
||||
|
||||
|
||||
int Xorriso_cannot_clone(struct XorrisO *xorriso, char *eff_origin,
|
||||
char *eff_dest, int iso_error, int flag)
|
||||
{
|
||||
Xorriso_report_iso_error(xorriso, eff_dest, iso_error, "Cannot clone",
|
||||
0, "FAILURE", 1);
|
||||
sprintf(xorriso->info_text, "Failed to clone ");
|
||||
Text_shellsafe(eff_origin, xorriso->info_text, 1);
|
||||
Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "FAILURE", 0);
|
||||
return(0);
|
||||
}
|
||||
|
||||
/* @param flag bit0= for iso_tree_clone() : merge directories
|
||||
bit1= do not issue NOTE message
|
||||
*/
|
||||
int Xorriso_clone_tree(struct XorrisO *xorriso, void *boss_iter,
|
||||
char *origin, char *dest, int flag)
|
||||
{
|
||||
int ret, dest_ret, l;
|
||||
char eff_dest[SfileadrL], eff_origin[SfileadrL], dir_adr[SfileadrL];
|
||||
char *leafname;
|
||||
IsoImage *volume;
|
||||
IsoDir *new_parent;
|
||||
IsoNode *origin_node, *dir_node, *new_node;
|
||||
|
||||
ret= Xorriso_get_volume(xorriso, &volume, 0);
|
||||
if(ret <= 0)
|
||||
return(ret);
|
||||
|
||||
ret= Xorriso_normalize_img_path(xorriso, xorriso->wdi, origin, eff_origin, 0);
|
||||
if(ret<=0)
|
||||
return(ret);
|
||||
ret= Xorriso_node_from_path(xorriso, volume, eff_origin, &origin_node, 0);
|
||||
if(ret <= 0)
|
||||
return(ret);
|
||||
|
||||
dest_ret= Xorriso_normalize_img_path(xorriso, xorriso->wdi, dest, eff_dest,1);
|
||||
if(dest_ret<0)
|
||||
return(dest_ret);
|
||||
if(dest_ret > 0) {
|
||||
if(eff_dest[0] == 0)
|
||||
strcpy(eff_dest, "/");
|
||||
sprintf(xorriso->info_text,
|
||||
"Cloning: Copy address already exists: ");
|
||||
Text_shellsafe(eff_dest, xorriso->info_text, 1);
|
||||
Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "FAILURE", 0);
|
||||
return(0);
|
||||
} else {
|
||||
/* obtain eff_dest address despite it does not exist */
|
||||
ret= Xorriso_normalize_img_path(xorriso, xorriso->wdi, dest, eff_dest, 2);
|
||||
if(ret<=0)
|
||||
return(ret);
|
||||
}
|
||||
|
||||
/* Obtain parent path and leaf name */
|
||||
strcpy(dir_adr, eff_dest);
|
||||
for(l= strlen(dir_adr); l > 0; ) {
|
||||
if(dir_adr[l - 1] == '/')
|
||||
dir_adr[--l]= 0;
|
||||
else
|
||||
break;
|
||||
}
|
||||
leafname= strrchr(dir_adr, '/');
|
||||
if(leafname == NULL) {
|
||||
leafname= dir_adr;
|
||||
if (leafname[0] == 0) {
|
||||
Xorriso_msgs_submit(xorriso, 0, "Empty file name as clone destination",
|
||||
0, "FAILURE", 0);
|
||||
return(0);
|
||||
}
|
||||
} else {
|
||||
*leafname= 0;
|
||||
leafname++;
|
||||
if(dir_adr[0] != 0) {
|
||||
/* Ensure existence of destination directory */
|
||||
ret= Xorriso_graft_in(xorriso, boss_iter, NULL, dir_adr,
|
||||
(off_t) 0, (off_t) 0, 1);
|
||||
if(ret <= 0)
|
||||
return(ret);
|
||||
}
|
||||
}
|
||||
|
||||
ret= Xorriso_node_from_path(xorriso, volume, dir_adr, &dir_node, 0);
|
||||
if(ret <= 0)
|
||||
return(ret);
|
||||
new_parent= (IsoDir *) dir_node;
|
||||
|
||||
ret = iso_tree_clone(origin_node, new_parent, leafname, &new_node, flag & 1);
|
||||
Xorriso_process_msg_queues(xorriso,0);
|
||||
if(ret < 0) {
|
||||
Xorriso_cannot_clone(xorriso, eff_origin, eff_dest, ret, 0);
|
||||
return(0);
|
||||
}
|
||||
Xorriso_set_change_pending(xorriso, 0);
|
||||
if(!(flag & 2)) {
|
||||
strcpy(xorriso->info_text, "Cloned in ISO image: ");
|
||||
Text_shellsafe(eff_origin, xorriso->info_text, 1);
|
||||
strcat(xorriso->info_text, " to ");
|
||||
Text_shellsafe(eff_dest, xorriso->info_text, 1);
|
||||
strcat(xorriso->info_text, "\n");
|
||||
Xorriso_info(xorriso, 0);
|
||||
}
|
||||
return(1);
|
||||
}
|
||||
|
||||
|
||||
int Xorriso_clone_under(struct XorrisO *xorriso, char *origin, char *dest,
|
||||
int flag)
|
||||
{
|
||||
int ret, pass;
|
||||
char eff_dest[SfileadrL], eff_origin[SfileadrL], *namept;
|
||||
IsoDir *origin_dir, *dest_dir;
|
||||
IsoDirIter *iter= NULL;
|
||||
IsoNode *origin_node, *new_node;
|
||||
IsoImage *volume;
|
||||
|
||||
ret= Xorriso_get_volume(xorriso, &volume, 0);
|
||||
if(ret <= 0)
|
||||
return(ret);
|
||||
ret= Xorriso_dir_from_path(xorriso, "Copy source", origin, &origin_dir, 0);
|
||||
if(ret <= 0)
|
||||
return(ret);
|
||||
ret= Xorriso_dir_from_path(xorriso, "Copy destination", dest, &dest_dir, 0);
|
||||
if(ret <= 0)
|
||||
return(ret);
|
||||
|
||||
for(pass= 0; pass < 2; pass++) {
|
||||
ret= iso_dir_get_children(origin_dir, &iter);
|
||||
if(ret < 0) {
|
||||
Xorriso_cannot_create_iter(xorriso, ret, 0);
|
||||
{ret= -1; goto ex;}
|
||||
}
|
||||
Xorriso_process_msg_queues(xorriso,0);
|
||||
|
||||
while(iso_dir_iter_next(iter, &origin_node) == 1) {
|
||||
namept= (char *) iso_node_get_name(origin_node);
|
||||
sprintf(eff_origin, "%s/%s", origin, namept);
|
||||
sprintf(eff_dest, "%s/%s", dest, namept);
|
||||
if(pass == 0) {
|
||||
ret= Xorriso_node_from_path(xorriso, volume, eff_dest, &new_node, 1);
|
||||
if(ret < 0)
|
||||
goto ex;
|
||||
if(ret > 0) {
|
||||
sprintf(xorriso->info_text, "Cloning: Copy address already exists: ");
|
||||
Text_shellsafe(eff_dest, xorriso->info_text, 1);
|
||||
Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "FAILURE", 0);
|
||||
ret= 0; goto ex;
|
||||
}
|
||||
} else {
|
||||
ret = iso_tree_clone(origin_node, dest_dir, namept, &new_node, 1);
|
||||
Xorriso_process_msg_queues(xorriso,0);
|
||||
if(ret < 0) {
|
||||
Xorriso_cannot_clone(xorriso, eff_origin, eff_dest, ret, 0);
|
||||
ret= 0; goto ex;
|
||||
}
|
||||
}
|
||||
}
|
||||
iso_dir_iter_free(iter);
|
||||
iter= NULL;
|
||||
}
|
||||
Xorriso_set_change_pending(xorriso, 0);
|
||||
ret= 1;
|
||||
ex:;
|
||||
if(iter != NULL)
|
||||
iso_dir_iter_free(iter);
|
||||
Xorriso_process_msg_queues(xorriso,0);
|
||||
return(ret);
|
||||
}
|
||||
|
||||
|
||||
int Xorriso_set_st_mode(struct XorrisO *xorriso, char *in_path,
|
||||
mode_t mode_and, mode_t mode_or, int flag)
|
||||
{
|
||||
@ -1656,8 +1876,8 @@ int Xorriso_widen_hardlink(struct XorrisO *xorriso, void * boss_iter,
|
||||
|
||||
/* >>> compare_result bit17 = is_split */;
|
||||
|
||||
ret= Xorriso_update_interpreter(xorriso, boss_iter, compare_result, disk_path,
|
||||
abs_path, 1);
|
||||
ret= Xorriso_update_interpreter(xorriso, boss_iter, NULL,
|
||||
compare_result, disk_path, abs_path, 1);
|
||||
if(ret <= 0)
|
||||
return(ret);
|
||||
return(ret);
|
||||
@ -1886,10 +2106,13 @@ int Xorriso_findi_action(struct XorrisO *xorriso, struct FindjoB *job,
|
||||
Findjob_set_start_path(subjob, abs_path, 0);
|
||||
ret= Xorriso_findi(xorriso, subjob, boss_iter, boss_mem, NULL,
|
||||
abs_path, &dir_stbuf, depth, 1);
|
||||
} else if(action==14 || action==17) { /* compare , update */
|
||||
} else if(action==14 || action==17 || action == 41) {
|
||||
/* compare , update , update_merge */
|
||||
Findjob_get_start_path(job, &iso_prefix, 0);
|
||||
ret= Xorriso_find_compare(xorriso, (void *) boss_iter, abs_path,
|
||||
iso_prefix, target, (action==17)|((flag&1)<<1));
|
||||
ret= Xorriso_find_compare(xorriso, (void *) boss_iter, (void *) node,
|
||||
abs_path, iso_prefix, target,
|
||||
(action == 17 || action == 41)
|
||||
| ((flag&1)<<1) | ((action == 41) << 2));
|
||||
if(ret==2)
|
||||
deleted= 1;
|
||||
if(ret==3)
|
||||
@ -1970,6 +2193,17 @@ int Xorriso_findi_action(struct XorrisO *xorriso, struct FindjoB *job,
|
||||
if(ret > 0)
|
||||
ret= Xorriso_estimate_file_size(xorriso, job, basename, stbuf.st_mode,
|
||||
stbuf.st_size, 0);
|
||||
} else if(action == 42) { /* rm_merge */
|
||||
ret= Xorriso_mark_update_merge(xorriso, show_path, node, 2 | 4);
|
||||
if(ret == 2) {
|
||||
ret= Xorriso_rmi(xorriso, boss_iter, boss_mem, abs_path, 1|hflag);
|
||||
sprintf(xorriso->info_text, "Deleted ");
|
||||
Text_shellsafe(show_path, xorriso->info_text, 1);
|
||||
Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "UPDATE", 0);
|
||||
deleted= 1;
|
||||
}
|
||||
} else if(action == 43) { /* clear_merge */
|
||||
ret= Xorriso_mark_update_merge(xorriso, show_path, node, 2 | 4);
|
||||
} else { /* includes : 15 in_iso */
|
||||
sprintf(xorriso->result_line, "%s\n", Text_shellsafe(show_path, sfe, 0));
|
||||
Xorriso_result(xorriso, 0);
|
||||
@ -2372,9 +2606,10 @@ int Xorriso_findi(struct XorrisO *xorriso, struct FindjoB *job,
|
||||
mem= boss_mem;
|
||||
hflag= 1;
|
||||
if(action==1 || action==2 || action==3 || action==17 || action == 28 ||
|
||||
action == 32)
|
||||
action == 32 || action == 41 || action == 42)
|
||||
hflag|= 2; /* need freedom to manipulate image */
|
||||
if(action==14 || action==17 || action == 28 || action == 35 || action == 36)
|
||||
if(action==14 || action==17 || action == 28 || action == 35 || action == 36 ||
|
||||
action == 41)
|
||||
hflag|= 4; /* need LBA sorted iteration for good data reading performance */
|
||||
ret= Xorriso_findi_iter(xorriso, dir_node, &mem,
|
||||
&iter, &node_array, &node_count, &node_idx,
|
||||
@ -2786,3 +3021,92 @@ ex:;
|
||||
return(ret);
|
||||
}
|
||||
|
||||
|
||||
int Xorriso__mark_update_xinfo(void *data, int flag)
|
||||
{
|
||||
/* data is an int disguised as pointer. It does not point to memory. */
|
||||
return(1);
|
||||
}
|
||||
|
||||
|
||||
int Xorriso__mark_update_cloner(void *old_data, void **new_data, int flag)
|
||||
{
|
||||
*new_data= NULL;
|
||||
if(flag)
|
||||
return(ISO_XINFO_NO_CLONE);
|
||||
if(old_data == NULL)
|
||||
return(0);
|
||||
/* data is an int disguised as pointer. It does not point to memory. */
|
||||
*new_data= old_data;
|
||||
return(0);
|
||||
}
|
||||
|
||||
|
||||
/* @param flag bit0= found on disk
|
||||
bit1= inquire visit-found status:
|
||||
1=not visited, 2=not found, 3=found
|
||||
bit2= with bit1: delete xinfo before returning status
|
||||
*/
|
||||
int Xorriso_mark_update_merge(struct XorrisO *xorriso, char *path,
|
||||
void *in_node, int flag)
|
||||
{
|
||||
int ret;
|
||||
void *xipt= NULL;
|
||||
IsoNode *node;
|
||||
|
||||
if(in_node == NULL) {
|
||||
ret= Xorriso_node_from_path(xorriso, NULL, path, &node, 0);
|
||||
if(ret <= 0)
|
||||
return(ret);
|
||||
} else
|
||||
node= (IsoNode *) in_node;
|
||||
ret= iso_node_get_xinfo(node, Xorriso__mark_update_xinfo, &xipt);
|
||||
if(ret < 0) {
|
||||
Xorriso_process_msg_queues(xorriso,0);
|
||||
Xorriso_report_iso_error(xorriso, "", ret,
|
||||
"Error when looking for update_merge xinfo",
|
||||
0, "FAILURE", 1);
|
||||
return(0);
|
||||
}
|
||||
if(flag & 2) { /* Inquire status and optionally delete xinfo */
|
||||
if(ret == 0)
|
||||
return(1);
|
||||
if(flag & 4) {
|
||||
ret= iso_node_remove_xinfo(node, Xorriso__mark_update_xinfo);
|
||||
if(ret < 0) {
|
||||
Xorriso_process_msg_queues(xorriso,0);
|
||||
Xorriso_report_iso_error(xorriso, "", ret,
|
||||
"Error when removing update_merge xinfo",
|
||||
0, "FAILURE", 1);
|
||||
return(0);
|
||||
}
|
||||
}
|
||||
if(((char *) &xipt)[0])
|
||||
return(3);
|
||||
return(2);
|
||||
}
|
||||
/* xipt is a byte value disguised as void pointer */
|
||||
if(ret == 1) {
|
||||
if(((char *) &xipt)[0])
|
||||
return(1);
|
||||
if(!(flag & 1))
|
||||
return(1);
|
||||
} else
|
||||
((char *) &xipt)[0]= 0;
|
||||
if(flag & 1)
|
||||
((char *) &xipt)[0]= 1;
|
||||
ret= iso_node_remove_xinfo(node, Xorriso__mark_update_xinfo);
|
||||
if(ret < 0)
|
||||
goto set_error;
|
||||
ret= iso_node_add_xinfo(node, Xorriso__mark_update_xinfo, xipt);
|
||||
if(ret <= 0) {
|
||||
set_error:;
|
||||
Xorriso_process_msg_queues(xorriso,0);
|
||||
Xorriso_report_iso_error(xorriso, "", ret,
|
||||
"Error when trying to set update_merge xinfo",
|
||||
0, "FAILURE", 1);
|
||||
return(0);
|
||||
}
|
||||
return(1);
|
||||
}
|
||||
|
||||
|
@ -67,6 +67,8 @@ int Xorriso_all_node_array(struct XorrisO *xorriso, int addon_nodes, int flag);
|
||||
|
||||
int Xorriso__file_start_lba(IsoNode *node, int *lba, int flag);
|
||||
|
||||
int Xorriso__mark_update_xinfo(void *data, int flag);
|
||||
int Xorriso__mark_update_cloner(void *old_data, void **new_data, int flag);
|
||||
|
||||
#endif /* ! Xorriso_pvt_iso_manip_includeD */
|
||||
|
||||
|
@ -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.
|
||||
|
||||
@ -1472,36 +1472,19 @@ int Xorriso_ls_filev(struct XorrisO *xorriso, char *wd,
|
||||
*/
|
||||
int Xorriso_ls(struct XorrisO *xorriso, int flag)
|
||||
{
|
||||
int ret, is_dir= 0, i, filec= 0, failed_at, no_sort= 0;
|
||||
int ret, i, filec= 0, failed_at, no_sort= 0;
|
||||
IsoNode *node, **node_array= NULL;
|
||||
IsoDir *dir_node;
|
||||
IsoImage *volume;
|
||||
IsoDirIter *iter= NULL;
|
||||
char sfe[5*SfileadrL], sfe2[5*SfileadrL], link_target[SfileadrL], *npt, *rpt;
|
||||
struct stat stbuf;
|
||||
|
||||
rpt= xorriso->result_line;
|
||||
|
||||
ret= Xorriso_get_volume(xorriso, &volume, 0);
|
||||
if(ret<=0)
|
||||
return(ret);
|
||||
|
||||
ret= Xorriso_node_from_path(xorriso, volume, xorriso->wdi, &node, 0);
|
||||
if(ret<=0)
|
||||
goto wdi_is_not_a_dir;
|
||||
if(LIBISO_ISDIR(node))
|
||||
is_dir= 1;
|
||||
if(!is_dir) {
|
||||
wdi_is_not_a_dir:;
|
||||
sprintf(xorriso->info_text,
|
||||
"Working directory path does not lead to a directory in ISO image");
|
||||
Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "FAILURE", 0);
|
||||
ret= 0; goto ex;
|
||||
}
|
||||
if(flag&2)
|
||||
{ret= 1; goto ex;}
|
||||
|
||||
dir_node= (IsoDir *) node;
|
||||
ret= Xorriso_dir_from_path(xorriso, "Working directory", xorriso->wdi,
|
||||
&dir_node, 0);
|
||||
if(ret <= 0)
|
||||
goto ex;
|
||||
ret= iso_dir_get_children(dir_node, &iter);
|
||||
if(ret<0) {
|
||||
cannot_create_iter:;
|
||||
@ -2153,6 +2136,34 @@ int Xorriso_node_from_path(struct XorrisO *xorriso, IsoImage *volume,
|
||||
}
|
||||
|
||||
|
||||
int Xorriso_dir_from_path(struct XorrisO *xorriso, char *purpose,
|
||||
char *path, IsoDir **dir_node, int flag)
|
||||
{
|
||||
IsoImage *volume;
|
||||
IsoNode *node;
|
||||
int ret, is_dir= 0;
|
||||
|
||||
ret= Xorriso_get_volume(xorriso, &volume, 0);
|
||||
if(ret<=0)
|
||||
return(ret);
|
||||
|
||||
ret= Xorriso_node_from_path(xorriso, volume, path, &node, 0);
|
||||
if(ret<=0)
|
||||
goto wdi_is_not_a_dir;
|
||||
if(LIBISO_ISDIR(node))
|
||||
is_dir= 1;
|
||||
if(!is_dir) {
|
||||
wdi_is_not_a_dir:;
|
||||
sprintf(xorriso->info_text,
|
||||
"%s path does not lead to a directory in ISO image", purpose);
|
||||
Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "FAILURE", 0);
|
||||
return(0);
|
||||
}
|
||||
*dir_node= (IsoDir *) node;
|
||||
return(1);
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
@param flag bit0= do not remove leading slash
|
||||
bit1= append flatly to result_line and put out
|
||||
|
@ -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.
|
||||
|
||||
@ -35,6 +35,9 @@ int Xorriso_get_node_by_path(struct XorrisO *xorriso,
|
||||
char *in_path, char *eff_path,
|
||||
IsoNode **node, int flag);
|
||||
|
||||
int Xorriso_dir_from_path(struct XorrisO *xorriso, char *purpose,
|
||||
char *path, IsoDir **dir_node, int flag);
|
||||
|
||||
int Xorriso_node_get_dev(struct XorrisO *xorriso, IsoNode *node,
|
||||
char *path, dev_t *dev, int flag);
|
||||
|
||||
|
@ -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.
|
||||
|
||||
@ -23,7 +23,14 @@
|
||||
#include <sys/time.h>
|
||||
#include <time.h>
|
||||
#include <errno.h>
|
||||
|
||||
#ifdef HAVE_STDINT_H
|
||||
#include <stdint.h>
|
||||
#else
|
||||
#ifdef HAVE_INTTYPES_H
|
||||
#include <inttypes.h>
|
||||
#endif
|
||||
#endif
|
||||
|
||||
/* for -charset */
|
||||
#include <iconv.h>
|
||||
@ -48,6 +55,7 @@
|
||||
#include "xorrisoburn.h"
|
||||
|
||||
#include "lib_mgt.h"
|
||||
#include "iso_manip.h"
|
||||
|
||||
|
||||
int Xorriso_abort(struct XorrisO *xorriso, int flag)
|
||||
@ -196,6 +204,9 @@ LIBISOBURN_MISCONFIGURATION_ = 0;
|
||||
zisofs_ctrl.compression_level;
|
||||
}
|
||||
|
||||
iso_node_xinfo_make_clonable(Xorriso__mark_update_xinfo,
|
||||
Xorriso__mark_update_cloner, 0);
|
||||
|
||||
/* Second initialization. This time with libs. */
|
||||
Xorriso_preparer_string(xorriso, xorriso->preparer_id, 0);
|
||||
|
||||
|
@ -1,10 +1,13 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# Produce man page xorriso/xorriso.1 and info file xorriso/xorriso.info
|
||||
# from base file xorris/xorriso.texi.
|
||||
# from base file xorriso/xorriso.texi.
|
||||
# Same for xorriso/xorrisofs.texi.
|
||||
|
||||
( cd xorriso ; makeinfo ./xorriso.texi )
|
||||
( cd xorriso ; makeinfo ./xorrisofs.texi )
|
||||
|
||||
xorriso/make_xorriso_1 -auto
|
||||
xorriso/make_xorriso_1 -auto -xorrisofs
|
||||
|
||||
|
||||
|
@ -3,11 +3,12 @@
|
||||
( cd xorriso ; cc -g -Wall -o make_xorriso_1 make_xorriso_1.c )
|
||||
*/
|
||||
/*
|
||||
Specialized converter from xorriso/xorriso.texi to xorriso/xorriso.1.
|
||||
Specialized converter from xorriso/xorriso.texi to xorriso/xorriso.1
|
||||
resp. from xorriso/xorrisofs.texi to xorriso/xorrisofs.1
|
||||
|
||||
The conversion rules are described at the beginning of xorriso/xorriso.texi
|
||||
|
||||
Copyright 2010 Thomas Schmitt, <scdbackup@gmx.net>
|
||||
Copyright 2010 - 2011 Thomas Schmitt, <scdbackup@gmx.net>
|
||||
|
||||
Provided under GPL version 2 or later.
|
||||
*/
|
||||
@ -228,10 +229,20 @@ int Mx1_convert(struct Mx1 *m, char line_in[256], char line_out[256], int flag)
|
||||
}
|
||||
strcat(buf, "\\");
|
||||
}
|
||||
|
||||
/* Substitute option text */
|
||||
raw= strlen(buf);
|
||||
strcat(buf, word);
|
||||
ret= Mx1_substitute(m, buf, line_out, raw, 0);
|
||||
if(ret <= 0)
|
||||
return(-1);
|
||||
strcpy(buf, line_out);
|
||||
|
||||
strcat(buf, "\\fR");
|
||||
raw= strlen(buf);
|
||||
strcat(buf, remainder);
|
||||
|
||||
/* Substitute arguments text */
|
||||
ret= Mx1_substitute(m, buf, line_out, raw, 0);
|
||||
if(ret <= 0)
|
||||
return(-1);
|
||||
@ -271,8 +282,8 @@ int main(int argc, char **argv)
|
||||
{
|
||||
int ret, l, as_filter= 0, i;
|
||||
char line_in[256], line_out[256], *got;
|
||||
static char name_in[]= {"xorriso/xorriso.texi"};
|
||||
static char name_out[]= {"xorriso/xorriso.1"};
|
||||
static char name_in[1024]= {"xorriso/xorriso.texi"};
|
||||
static char name_out[1024]= {"xorriso/xorriso.1"};
|
||||
struct Mx1 m;
|
||||
FILE *fp_in= stdin, *fp_out= stdout;
|
||||
|
||||
@ -280,9 +291,10 @@ int main(int argc, char **argv)
|
||||
|
||||
if(argc < 2) {
|
||||
usage:;
|
||||
fprintf(stderr, "usage: %s -auto|-filter\n", argv[0]);
|
||||
fprintf(stderr, " -auto xorriso/xorriso.texi -> xorriso/xorriso.1\n");
|
||||
fprintf(stderr, " -filter stdin -> stdout\n");
|
||||
fprintf(stderr, "usage: %s -auto|-filter|[-xorrisofs]\n", argv[0]);
|
||||
fprintf(stderr, " -auto xorriso/xorriso.texi -> xorriso/xorriso.1\n");
|
||||
fprintf(stderr, " -filter stdin -> stdout\n");
|
||||
fprintf(stderr, " -xorrisofs process xorriso/xorrisofs.texi\n");
|
||||
exit(2);
|
||||
}
|
||||
for(i= 1; i < argc; i++) {
|
||||
@ -290,7 +302,10 @@ usage:;
|
||||
as_filter= 1;
|
||||
else if(strcmp(argv[i], "-auto") == 0)
|
||||
as_filter= 0;
|
||||
else {
|
||||
else if(strcmp(argv[i], "-xorrisofs") == 0) {
|
||||
strcpy(name_in, "xorriso/xorrisofs.texi");
|
||||
strcpy(name_out, "xorriso/xorrisofs.1");
|
||||
} else {
|
||||
fprintf(stderr, "%s : unknown option %s\n", argv[0], argv[i]);
|
||||
goto usage;
|
||||
}
|
||||
|
@ -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.7
|
||||
xorriso_rev=1.0.4
|
||||
# For unstable uploads and patch level 0 of stable releases:
|
||||
xorriso_pl=""
|
||||
# For higher patch levels of stable releases:
|
||||
@ -189,11 +189,16 @@ copy_files \
|
||||
\
|
||||
xorriso/changelog.txt \
|
||||
xorriso/xorriso_eng.html \
|
||||
xorriso/make_docs.sh \
|
||||
xorriso/xorriso.texi \
|
||||
xorriso/xorriso.info \
|
||||
xorriso/xorrisofs.texi \
|
||||
xorriso/xorrisofs.info \
|
||||
xorriso/make_xorriso_1.c \
|
||||
xorriso/xorriso.1 \
|
||||
xorriso/xorrisofs.1 \
|
||||
xorriso/man_1_xorriso.html \
|
||||
xorriso/man_1_xorrisofs.html \
|
||||
"$lone_dir"/xorriso
|
||||
copy_files COPYRIGHT "$lone_dir"/xorriso
|
||||
|
||||
@ -263,7 +268,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
|
||||
|
118
xorriso/man_xorriso_to_html.sh
Executable file
118
xorriso/man_xorriso_to_html.sh
Executable file
@ -0,0 +1,118 @@
|
||||
#!/bin/sh
|
||||
|
||||
#
|
||||
# man_xorriso_to_html.sh - ts A80118 , B10309
|
||||
#
|
||||
# Generates a HTML version of man page xorriso.1
|
||||
#
|
||||
# To be executed in the libisoburn toplevel directory (eg. ./libisoburn-0.1.0)
|
||||
#
|
||||
|
||||
# set -x
|
||||
|
||||
man_dir=$(pwd)"/xorriso"
|
||||
export MANPATH="$man_dir"
|
||||
manpage="xorriso"
|
||||
raw_html=$(pwd)/"xorriso/raw_man_1_xorriso.html"
|
||||
htmlpage=$(pwd)/"xorriso/man_1_xorriso.html"
|
||||
|
||||
if test -r "$man_dir"/"$manpage".1
|
||||
then
|
||||
dummy=dummy
|
||||
else
|
||||
echo "Cannot find readable man page source $1" >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if test -e "$man_dir"/man1
|
||||
then
|
||||
dummy=dummy
|
||||
else
|
||||
ln -s . "$man_dir"/man1
|
||||
fi
|
||||
|
||||
if test "$1" = "-work_as_filter"
|
||||
then
|
||||
|
||||
# set -x
|
||||
|
||||
sed \
|
||||
-e 's/<meta name="generator" content="groff -Thtml, see www.gnu.org">/<meta name="generator" content="groff -Thtml, via man -H, via xorriso\/convert_man_to_html.sh">/' \
|
||||
-e 's/<meta name="Content-Style" content="text\/css">/<meta name="Content-Style" content="text\/css"><META NAME="description" CONTENT="man page of xorriso"><META NAME="keywords" CONTENT="man xorriso, manual, xorriso, CD, CD-RW, CD-R, burning, cdrecord, compatible"><META NAME="robots" CONTENT="follow">/' \
|
||||
-e 's/<title>XORRISO<\/title>/<title>man 1 xorriso<\/title>/' \
|
||||
-e 's/<h1 align=center>XORRISO<\/h1>/<h1 align=center>man 1 xorriso<\/h1>/' \
|
||||
-e 's/<body>/<body BGCOLOR="#F5DEB3" TEXT=#000000 LINK=#0000A0 VLINK=#800000>/' \
|
||||
-e 's/<b>Overview of features:<\/b>/\ <BR><b>Overview of features:<\/b>/' \
|
||||
-e 's/<b>General information paragraphs:<\/b>/\ <BR><b>General information paragraphs:<\/b>/' \
|
||||
-e 's/have a look at section EXAMPLES/have a look at section <A HREF="#EXAMPLES">EXAMPLES<\/A>/' \
|
||||
-e 's/<b>Session model:<\/b>/\ <BR><b>Session model:<\/b>/' \
|
||||
-e 's/<b>Media types and states:<\/b>/\ <BR><b>Media types and states:<\/b>/' \
|
||||
-e 's/<b>Creating, Growing, Modifying, Blind/\ <BR><b>Creating, Growing, Modifying, Blind/' \
|
||||
-e 's/<b>Libburn drives:<\/b>/\ <BR><b>Libburn drives:<\/b>/' \
|
||||
-e 's/^-dev /\ \ -dev /' \
|
||||
-e 's/^-devices /\ \ -devices /' \
|
||||
-e 's/<b>Rock Ridge, POSIX, X\/Open, El Torito, ACL,/\ <BR><b>Rock Ridge, POSIX, X\/Open, El Torito, ACL,/' \
|
||||
-e 's/<b>Command processing:<\/b>/\ <BR><b>Command processing:<\/b>/' \
|
||||
-e 's/<b>Dialog, Readline, Result pager:<\/b>/\ <BR><b>Dialog, Readline, Result pager:<\/b>/' \
|
||||
-e 's/<b>Aquiring source and target drive:<\/b>/\ <BR><b>Aquiring source and target drive:<\/b><BR>\ <BR>/' \
|
||||
-e 's/<b>Influencing the behavior of image/\ <BR><b>Influencing the behavior of image/' \
|
||||
-e 's/<b>Inserting files into ISO image:<\/b>/\ <BR><b>Inserting files into ISO image:<\/b><BR>\ <BR>/' \
|
||||
-e 's/<b>File manipulations:<\/b>/\ <BR><b>File manipulations:<\/b><BR>\ <BR>/' \
|
||||
-e 's/<b>Tree traversal command -find:<\/b>/\ <BR><b>Tree traversal command -find:<\/b><BR>\ <BR>/' \
|
||||
-e 's/^<p><b>−iso_rr_pattern/<p>\ <BR><b>\−iso_rr_pattern/' \
|
||||
-e 's/EXAMPLES):<br>/<A HREF="#EXAMPLES">EXAMPLES<\/A>):<br>/' \
|
||||
-e 's/<b>Filters for data file content:<\/b>/\ <BR><b>Filters for data file content:<\/b><BR>\ <BR>/' \
|
||||
-e 's/<b>Writing the result, drive control:<\/b>/\ <BR><b>Writing the result, drive control:<\/b><BR>\ <BR>/' \
|
||||
-e 's/^-find \/ /\ \ -find \/ /' \
|
||||
-e 's/<b>Settings for file insertion:<\/b>/\ <BR><b>Settings for file insertion:<\/b><BR>\ <BR>/' \
|
||||
-e 's/^$<\/b> ln -s/\ \ $<\/b> ln -s/' \
|
||||
-e 's/<b>Settings for result writing:<\/b>/\ <BR><b>Settings for result writing:<\/b><BR>\ <BR>/' \
|
||||
-e 's/^706k = 706kB/\ \ 706k = 706kB/' \
|
||||
-e 's/^5540k = 5540kB/\ \ 5540k = 5540kB/' \
|
||||
-e 's/<b>Character sets:<\/b>/\ <BR><b>Character sets:<\/b><BR>\ <BR>/' \
|
||||
-e 's/<b>Exception processing:<\/b>/\ <BR><b>Exception processing:<\/b><BR>\ <BR>/' \
|
||||
-e 's/<b>El Torito bootable ISO images:<\/b>/\ <BR><b>El Torito bootable ISO images:<\/b><BR>\ <BR>/' \
|
||||
-e 's/<b>Jigdo Template Extraction:<\/b>/\ <BR><b>Jigdo Template Extraction:<\/b><BR>\ <BR>/' \
|
||||
-e 's/<b>Dialog mode control:<\/b>/\ <BR><b>Dialog mode control:<\/b><BR>\ <BR>/' \
|
||||
-e 's/<b>Drive and media related inquiry actions:<\/b>/\ <BR><b>Drive and media related inquiry actions:<\/b><BR>\ <BR>/' \
|
||||
-e 's/<b>Navigation in ISO image/\ <BR><b>Navigation in ISO image/' \
|
||||
-e 's/^filesystem:<\/b>/filesystem:<\/b><BR>\ <BR>/' \
|
||||
-e 's/<b>Evaluation of readability and recovery:<\/b>/\ <BR><b>Evaluation of readability and recovery:<\/b><BR>\ <BR>/' \
|
||||
-e 's/<b>osirrox ISO-to-disk restore options:<\/b>/\ <BR><b>osirrox ISO-to-disk restore options:<\/b><BR>\ <BR>/' \
|
||||
-e 's/<b>Command compatibility emulations:<\/b>/\ <BR><b>Command compatibility emulations:<\/b><BR>\ <BR>/' \
|
||||
-e 's/^<p><b>−as</<p>\ <BR><b>\−as</' \
|
||||
-e 's/<b>Scripting, dialog and/\ <BR><b>Scripting, dialog and/' \
|
||||
-e 's/^features:<\/b>/features:<\/b><BR>\ <BR>/' \
|
||||
-e 's/<b>Support for frontend/\ <BR><b>Support for frontend/' \
|
||||
-e 's/^listening at stdout:<\/b>/listening at stdout:<\/b><BR>\ <BR>/' \
|
||||
-e 's/xorriso -outdev \/dev\/sr2 \\ -blank fast \\ -pathspecs on/xorriso -outdev \/dev\/sr2 -blank fast -pathspecs on/' \
|
||||
-e 's/\\ -add \\ \/sounds=\/home\/me\/sounds \\ \/pictures \\ -- \\ -rm_r \\/ -add \/sounds=\/home\/me\/sounds \/pictures -- -rm_r /' \
|
||||
-e 's/\/sounds\/indecent \\ \’\/pictures\/\*private\*\’ \\/\/sounds\/indecent \’\/pictures\/*private*\’ /' \
|
||||
-e 's/\/pictures\/confidential \\ -- \\ -add \\/\/pictures\/confidential -- -add/' \
|
||||
-e 's/xorriso -dev \/dev\/sr2 \\ -rm_r \/sounds -- \\ -mv \\/xorriso -dev \/dev\/sr2 -rm_r \/sounds -- -mv /' \
|
||||
-e 's/\/pictures\/confidential \\ \/pictures\/restricted \\ -- \\ -chmod/\/pictures\/confidential \/pictures\/restricted -- -chmod/' \
|
||||
-e 's/go-rwx \/pictures\/restricted -- \\ -pathsspecs on \\ -add \\/go-rwx \/pictures\/restricted -- -pathsspecs on -add /' \
|
||||
-e 's/\/sounds=\/home\/me\/prepared_for_dvd\/sounds_dummy /\/sounds=\/home\/me\/prepared_for_dvd\/sounds_dummy/' \
|
||||
-e 's/\/movies=\/home\/me\/prepared_for_dvd\/movies \\ -- \\ -commit/\/movies=\/home\/me\/prepared_for_dvd\/movies -- -commit/' \
|
||||
-e 's/xorriso -indev \/dev\/sr2 \\ -rm_r \/sounds -- \\/xorriso -indev \/dev\/sr2 -rm_r \/sounds -- /' \
|
||||
-e 's/-outdev \/dev\/sr0 -blank fast \\ -commit -eject all/-outdev \/dev\/sr0 -blank fast -commit -eject all/' \
|
||||
-e 's/See section FILES/See section <A HREF="#FILES">FILES<\/A>/' \
|
||||
-e 's/See section EXAMPLES/See section <A HREF="#EXAMPLES">EXAMPLES<\/A>/' \
|
||||
-e 's/<\/body>/<BR><HR><FONT SIZE=-1><CENTER>(HTML generated from '"$manpage"'.1 on '"$(date)"' by '$(basename "$0")' )<\/CENTER><\/FONT><\/body>/' \
|
||||
<"$2" >"$htmlpage"
|
||||
|
||||
set +x
|
||||
|
||||
chmod u+rw,go+r,go-w "$htmlpage"
|
||||
echo "Emerged file:"
|
||||
ls -lL "$htmlpage"
|
||||
|
||||
else
|
||||
|
||||
export BROWSER='cp "%s" '"$raw_html"
|
||||
man -H "$manpage"
|
||||
"$0" -work_as_filter "$raw_html"
|
||||
rm "$raw_html"
|
||||
rm "$man_dir"/man1
|
||||
|
||||
fi
|
79
xorriso/man_xorrisofs_to_html.sh
Executable file
79
xorriso/man_xorrisofs_to_html.sh
Executable file
@ -0,0 +1,79 @@
|
||||
#!/bin/sh
|
||||
|
||||
#
|
||||
# man_xorrisofs_to_html.sh - ts A80118 , B10309
|
||||
#
|
||||
# Generates a HTML version of man page xorrisofs.1
|
||||
#
|
||||
# To be executed in the libisoburn toplevel directory (eg. ./libisoburn-0.1.0)
|
||||
#
|
||||
|
||||
# set -x
|
||||
|
||||
man_dir=$(pwd)"/xorriso"
|
||||
export MANPATH="$man_dir"
|
||||
manpage="xorrisofs"
|
||||
raw_html=$(pwd)/"xorriso/raw_man_1_xorrisofs.html"
|
||||
htmlpage=$(pwd)/"xorriso/man_1_xorrisofs.html"
|
||||
|
||||
if test -r "$man_dir"/"$manpage".1
|
||||
then
|
||||
dummy=dummy
|
||||
else
|
||||
echo "Cannot find readable man page source $1" >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if test -e "$man_dir"/man1
|
||||
then
|
||||
dummy=dummy
|
||||
else
|
||||
ln -s . "$man_dir"/man1
|
||||
fi
|
||||
|
||||
if test "$1" = "-work_as_filter"
|
||||
then
|
||||
|
||||
# set -x
|
||||
|
||||
sed \
|
||||
-e 's/<meta name="generator" content="groff -Thtml, see www.gnu.org">/<meta name="generator" content="groff -Thtml, via man -H, via xorriso\/convert_man_to_html.sh">/' \
|
||||
-e 's/<meta name="Content-Style" content="text\/css">/<meta name="Content-Style" content="text\/css"><META NAME="description" CONTENT="man page of xorriso"><META NAME="keywords" CONTENT="man xorrisofs, manual, xorrisofs, ISO 9660, mkisofs, compatible"><META NAME="robots" CONTENT="follow">/' \
|
||||
-e 's/<title>XORRISOFS<\/title>/<title>man 1 xorrisofs<\/title>/' \
|
||||
-e 's/<h1 align=center>XORRISOFS<\/h1>/<h1 align=center>man 1 xorrisofs<\/h1>/' \
|
||||
-e 's/<body>/<body BGCOLOR="#F5DEB3" TEXT=#000000 LINK=#0000A0 VLINK=#800000>/' \
|
||||
-e 's/<b>ISO 9660, Rock Ridge, Joliet:<\/b>/\ <BR><b>ISO 9660, Rock Ridge, Joliet:<\/b>/' \
|
||||
-e 's/<b>Inserting files into the ISO image:<\/b>/\ <BR><b>Inserting files into the ISO image:<\/b>/' \
|
||||
-e 's/<b>Relation to program xorriso:<\/b>/\ <BR><b>Relation to program xorriso:<\/b>/' \
|
||||
-e 's/EXAMPLES):<br>/<A HREF="#EXAMPLES">EXAMPLES<\/A>):<br>/' \
|
||||
-e 's/<b>Image loading:<\/b>/\ <BR><b>Image loading:<\/b><BR>\ <BR>/' \
|
||||
-e 's/<b>Settings for file insertion:<\/b>/\ <BR><b>Settings for file insertion:<\/b><BR>\ <BR>/' \
|
||||
-e 's/<b>Settings for image production:<\/b>/\ <BR><b>Settings for image production:<\/b><BR>\ <BR>/' \
|
||||
-e 's/<b>Settings for standards compliance:<\/b>/\ <BR><b>Settings for standards compliance:<\/b><BR>\ <BR>/' \
|
||||
-e 's/<b>Settings for standards extensions:<\/b>/\ <BR><b>Settings for standards extensions:<\/b><BR>\ <BR>/' \
|
||||
-e 's/<b>Settings for file hiding:<\/b>/\ <BR><b>Settings for file hiding:<\/b><BR>\ <BR>/' \
|
||||
-e 's/<b>ISO image ID strings:<\/b>/\ <BR><b>ISO image ID strings:<\/b><BR>\ <BR>/' \
|
||||
-e 's/<b>El Torito Bootable ISO images:<\/b>/\ <BR><b>El Torito Bootable ISO images:<\/b><BR>\ <BR>/' \
|
||||
-e 's/<b>System Area, MBR, other boot blocks:<\/b>/\ <BR><b>System Area, MBR, other boot blocks:<\/b><BR>\ <BR>/' \
|
||||
-e 's/<b>Character sets:<\/b>/\ <BR><b>Character sets:<\/b><BR>\ <BR>/' \
|
||||
-e 's/<b>Jigdo Template Extraction:<\/b>/\ <BR><b>Jigdo Template Extraction:<\/b><BR>\ <BR>/' \
|
||||
-e 's/<b>Miscellaneous options:<\/b>/\ <BR><b>Miscellaneous options:<\/b><BR>\ <BR>/' \
|
||||
\
|
||||
-e 's/<\/body>/<BR><HR><FONT SIZE=-1><CENTER>(HTML generated from '"$manpage"'.1 on '"$(date)"' by '$(basename "$0")' )<\/CENTER><\/FONT><\/body>/' \
|
||||
<"$2" >"$htmlpage"
|
||||
|
||||
set +x
|
||||
|
||||
chmod u+rw,go+r,go-w "$htmlpage"
|
||||
echo "Emerged file:"
|
||||
ls -lL "$htmlpage"
|
||||
|
||||
else
|
||||
|
||||
export BROWSER='cp "%s" '"$raw_html"
|
||||
man -H "$manpage"
|
||||
"$0" -work_as_filter "$raw_html"
|
||||
rm "$raw_html"
|
||||
rm "$man_dir"/man1
|
||||
|
||||
fi
|
@ -94,6 +94,8 @@ int Xorriso_option_acl(struct XorrisO *xorriso, char *mode, int flag)
|
||||
/* Option -add */
|
||||
/* @param flag bit0=do not report the added item
|
||||
bit1=do not reset pacifier, no final pacifier message
|
||||
bit2= prepend ISO working directory in any case
|
||||
bit3= unescape \\
|
||||
*/
|
||||
int Xorriso_option_add(struct XorrisO *xorriso, int argc, char **argv,
|
||||
int *idx, int flag)
|
||||
@ -127,19 +129,26 @@ int Xorriso_option_add(struct XorrisO *xorriso, int argc, char **argv,
|
||||
else
|
||||
rpt= wpt= source;
|
||||
for(; *rpt!=0; rpt++) {
|
||||
if(*rpt=='\\')
|
||||
if(*rpt=='\\') {
|
||||
if(*(rpt+1)=='=')
|
||||
continue;
|
||||
if((flag & 8) && *(rpt + 1) == '\\')
|
||||
rpt++;
|
||||
}
|
||||
*(wpt++)= *rpt;
|
||||
}
|
||||
*wpt= 0;
|
||||
}
|
||||
if(split==0) {
|
||||
if(split==0)
|
||||
strcpy(target, source);
|
||||
} else if(target[0]!='/') {
|
||||
if(flag & 4) {
|
||||
ret= Sfile_prepend_path(xorriso->wdi, target, 0);
|
||||
if(ret<=0)
|
||||
if(ret<=0) {
|
||||
sprintf(xorriso->info_text, "Effective path gets much too long (%d)",
|
||||
(int) (strlen(xorriso->wdi)+strlen(target)+1));
|
||||
Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "FAILURE", 0);
|
||||
goto problem_handler;
|
||||
}
|
||||
}
|
||||
|
||||
ret= Xorriso_normalize_img_path(xorriso, xorriso->wdi, target, eff_path, 2);
|
||||
@ -927,6 +936,23 @@ treatment_patch:;
|
||||
}
|
||||
xorriso->partition_secs_per_head= u;
|
||||
|
||||
} else if(strncmp(treatpt, "partition_cyl_align=", 20)==0) {
|
||||
if(strcmp(treatpt + 20, "auto") == 0)
|
||||
xorriso->system_area_options= (xorriso->system_area_options & ~0x300);
|
||||
else if(strcmp(treatpt + 20, "on") == 0)
|
||||
xorriso->system_area_options=
|
||||
(xorriso->system_area_options & ~0x300) | 0x100;
|
||||
else if(strcmp(treatpt + 20, "off") == 0)
|
||||
xorriso->system_area_options=
|
||||
(xorriso->system_area_options & ~0x300) | 0x200;
|
||||
else {
|
||||
sprintf(xorriso->info_text,
|
||||
"-boot_image %s partition_cyl_align: unknown mode : %s",
|
||||
formpt, treatpt + 20);
|
||||
Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "SORRY", 0);
|
||||
return(0);
|
||||
}
|
||||
|
||||
} else if(strncmp(treatpt, "platform_id=", 12)==0) {
|
||||
if(strncmp(treatpt + 12, "0x", 2) == 0)
|
||||
sscanf(treatpt + 14, "%x", &u);
|
||||
@ -1672,6 +1698,17 @@ ex:;
|
||||
}
|
||||
|
||||
|
||||
/* Option -clone */
|
||||
int Xorriso_option_clone(struct XorrisO *xorriso, char *origin, char *dest,
|
||||
int flag)
|
||||
{
|
||||
int ret;
|
||||
|
||||
ret= Xorriso_clone_tree(xorriso, NULL, origin, dest, 0);
|
||||
return(ret);
|
||||
}
|
||||
|
||||
|
||||
/* Option -close "on"|"off" */
|
||||
int Xorriso_option_close(struct XorrisO *xorriso, char *mode, int flag)
|
||||
{
|
||||
@ -1876,6 +1913,102 @@ int Xorriso_option_copyright_file(struct XorrisO *xorriso, char *name, int flag)
|
||||
}
|
||||
|
||||
|
||||
/* Option -cp_clone */
|
||||
int Xorriso_option_cp_clone(struct XorrisO *xorriso, int argc, char **argv,
|
||||
int *idx, int flag)
|
||||
{
|
||||
int i, end_idx_dummy, ret, is_dir= 0, was_failure= 0, fret, pass;
|
||||
char eff_origin[SfileadrL], eff_dest[SfileadrL], dest_dir[SfileadrL];
|
||||
char leafname[SfileadrL];
|
||||
int optc= 0;
|
||||
char **optv= NULL;
|
||||
struct stat stbuf;
|
||||
|
||||
ret= Xorriso_cpmv_args(xorriso, "-cp_clone", argc, argv, idx,
|
||||
&optc, &optv, eff_dest, 1);
|
||||
if(ret<=0)
|
||||
goto ex;
|
||||
if(ret == 1 && optc > 1) {
|
||||
nondir_exists:;
|
||||
sprintf(xorriso->info_text,
|
||||
"-cp_clone: Copy address already exists and is not a directory: ");
|
||||
Text_shellsafe(eff_dest, xorriso->info_text, 1);
|
||||
Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "FAILURE", 0);
|
||||
{ret= 0; goto ex;}
|
||||
}
|
||||
strcpy(dest_dir, eff_dest);
|
||||
if(optc == 1) {
|
||||
ret= Xorriso_iso_lstat(xorriso, eff_dest, &stbuf, 0);
|
||||
if(ret >= 0) {
|
||||
if(S_ISDIR(stbuf.st_mode))/* target directory exists */
|
||||
is_dir= 1;
|
||||
else
|
||||
goto nondir_exists;
|
||||
}
|
||||
} else {
|
||||
is_dir= 1;
|
||||
ret= Xorriso_mkdir(xorriso, dest_dir, 1 | 2);
|
||||
if(ret < 0)
|
||||
{ret= -(ret != -1); goto ex;}
|
||||
}
|
||||
|
||||
/* Pass 0 checks whether the way is clear, pass 1 does the cloning */
|
||||
for(pass= 0; pass < 2; pass++) {
|
||||
for(i= 0; i<optc; i++) {
|
||||
ret= Xorriso_normalize_img_path(xorriso, xorriso->wdi,
|
||||
optv[i], eff_origin, !!pass);
|
||||
if(ret<=0 || xorriso->request_to_abort)
|
||||
goto problem_handler;
|
||||
if(is_dir) {
|
||||
ret= Sfile_leafname(eff_origin, leafname, 0);
|
||||
if(ret<=0)
|
||||
goto problem_handler;
|
||||
strcpy(eff_dest, dest_dir);
|
||||
ret= Sfile_add_to_path(eff_dest, leafname, 0);
|
||||
if(ret<=0) {
|
||||
sprintf(xorriso->info_text, "Effective path gets much too long (%d)",
|
||||
(int) (strlen(eff_dest)+strlen(leafname)+1));
|
||||
Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "FAILURE", 0);
|
||||
goto problem_handler;
|
||||
}
|
||||
}
|
||||
ret= Xorriso_iso_lstat(xorriso, eff_dest, &stbuf, 0);
|
||||
if(pass == 0) {
|
||||
/* It is ok if both are directories */;
|
||||
if(ret >= 0 && S_ISDIR(stbuf.st_mode)) {
|
||||
ret= Xorriso_iso_lstat(xorriso, eff_origin, &stbuf, 0);
|
||||
if (ret >= 0 && S_ISDIR(stbuf.st_mode))
|
||||
ret= -1;
|
||||
}
|
||||
if(ret >= 0) {
|
||||
sprintf(xorriso->info_text, "Cloning: May not overwrite: ");
|
||||
Text_shellsafe(eff_dest, xorriso->info_text, 1);
|
||||
Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "FAILURE", 0);
|
||||
goto problem_handler;
|
||||
}
|
||||
} else {
|
||||
ret= Xorriso_clone_tree(xorriso, NULL, eff_origin, eff_dest, 1);
|
||||
if(ret <= 0)
|
||||
goto problem_handler;
|
||||
}
|
||||
|
||||
continue; /* regular bottom of loop */
|
||||
problem_handler:;
|
||||
was_failure= 1;
|
||||
fret= Xorriso_eval_problem_status(xorriso, ret, 1|2);
|
||||
if(fret>=0)
|
||||
continue;
|
||||
goto ex;
|
||||
}
|
||||
}
|
||||
ret= !was_failure;
|
||||
ex:;
|
||||
Xorriso_opt_args(xorriso, "-cp_clone",
|
||||
argc, argv, *idx, &end_idx_dummy, &optc, &optv, 256);
|
||||
return(ret);
|
||||
}
|
||||
|
||||
|
||||
/* Option -cpr alias -cpri */
|
||||
int Xorriso_option_cpri(struct XorrisO *xorriso, int argc, char **argv,
|
||||
int *idx, int flag)
|
||||
|
@ -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.
|
||||
|
||||
@ -399,6 +399,8 @@ int Xorriso_option_errfile_log(struct XorrisO *xorriso,
|
||||
sprintf(xorriso->info_text, "-errfile_log: Unknown mode %s",
|
||||
Text_shellsafe(mode, sfe, 0));
|
||||
Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "FAILURE", 0);
|
||||
if(fp != NULL)
|
||||
fclose(fp);
|
||||
return(0);
|
||||
}
|
||||
|
||||
@ -875,15 +877,22 @@ not_enough_exec_arguments:;
|
||||
job= new_job;
|
||||
|
||||
} else if(strcmp(cpt, "compare")==0 || strcmp(cpt, "update")==0 ||
|
||||
strcmp(cpt, "widen_hardlinks")==0) {
|
||||
strcmp(cpt, "widen_hardlinks")==0 ||
|
||||
strcmp(cpt, "update_merge")==0) {
|
||||
if(i+1>=end_idx)
|
||||
goto not_enough_exec_arguments;
|
||||
i++;
|
||||
action= 14;
|
||||
if(strcmp(cpt, "update")==0)
|
||||
action= 17;
|
||||
if(strcmp(cpt, "widen_hardlinks")==0)
|
||||
else if(strcmp(cpt, "widen_hardlinks")==0)
|
||||
action= 32;
|
||||
else if(strcmp(cpt, "update_merge") == 0) {
|
||||
action= 41;
|
||||
/* Enter update_merge mode for node adding */
|
||||
xorriso->update_flags|= 1;
|
||||
}
|
||||
|
||||
ret= Xorriso_make_abs_adr(xorriso, xorriso->wdx, argv[i],
|
||||
other_path_start, 1|2|4|8);
|
||||
if(ret<=0)
|
||||
@ -1009,6 +1018,12 @@ not_enough_exec_arguments:;
|
||||
Findjob_set_action_type(job, 39, type, 0);
|
||||
} else if(strcmp(cpt, "estimate_size")==0) {
|
||||
Findjob_set_action_target(job, 40, NULL, 0);
|
||||
} else if(strcmp(cpt, "rm_merge")==0) {
|
||||
Findjob_set_action_target(job, 42, NULL, 0);
|
||||
xorriso->update_flags&= ~1; /* End update_merge mode for node adding */
|
||||
} else if(strcmp(cpt, "clear_merge")==0) {
|
||||
Findjob_set_action_target(job, 43, NULL, 0);
|
||||
xorriso->update_flags&= ~1; /* End update_merge mode for node adding */
|
||||
} else {
|
||||
sprintf(xorriso->info_text, "-find -exec: unknown action %s",
|
||||
Text_shellsafe(argv[i], sfe, 0));
|
||||
@ -1599,6 +1614,11 @@ int Xorriso_option_help(struct XorrisO *xorriso, int flag)
|
||||
" Create empty directories if they do not exist yet.",
|
||||
" -rmdir iso_rr_path [***]",
|
||||
" Delete empty directories.",
|
||||
" -clone iso_rr_path_original iso_rr_path_copy",
|
||||
" Create an ISO copy of an ISO file or ISO directory tree.",
|
||||
" -cp_clone iso_rr_path_original [***] iso_rr_path_dest",
|
||||
" Create ISO to ISO copies according to the rules of cp -r.",
|
||||
"",
|
||||
" -- Default list delimiter marking the end of action argument",
|
||||
" list. It may be changed by option -list_delimiter.",
|
||||
"",
|
||||
@ -1670,7 +1690,7 @@ int Xorriso_option_help(struct XorrisO *xorriso, int flag)
|
||||
" Give up any unejected drive afterwards.",
|
||||
" -close \"on\"|\"off\"",
|
||||
" If \"on\" then mark the written media as not appendable.",
|
||||
" -padding number[\"k\"|\"m\"]",
|
||||
" -padding number[\"k\"|\"m\"]|\"included\"|\"appended\"",
|
||||
" Append extra bytes to image stream. (Default is 300k)",
|
||||
" -dummy \"on\"|\"off\"",
|
||||
" If \"on\" simulate burning. Refuse if media cannot simulate.",
|
||||
|
@ -641,6 +641,10 @@ int Xorriso_option_md5(struct XorrisO *xorriso, char *mode, int flag)
|
||||
xorriso->do_md5|= 8;
|
||||
else if(l == 19 && strncmp(cpt, "stability_check_off", l) == 0)
|
||||
xorriso->do_md5&= ~8;
|
||||
else if(l == 13 && strncmp(cpt, "load_check_on", l) == 0)
|
||||
xorriso->do_md5&= ~32;
|
||||
else if(l == 14 && strncmp(cpt, "load_check_off", l) == 0)
|
||||
xorriso->do_md5|= 32;
|
||||
else {
|
||||
sprintf(xorriso->info_text, "-md5: unknown mode ");
|
||||
Text_shellsafe(cpt, xorriso->info_text, 1);
|
||||
|
@ -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.
|
||||
|
||||
@ -54,7 +54,19 @@ int Xorriso_option_pacifier(struct XorrisO *xorriso, char *style, int flag)
|
||||
int Xorriso_option_padding(struct XorrisO *xorriso, char *size, int flag)
|
||||
{
|
||||
double num;
|
||||
|
||||
|
||||
if(strcmp(size, "included") == 0) {
|
||||
xorriso->do_padding_by_libisofs= 1;
|
||||
return(1);
|
||||
} else if(strcmp(size, "excluded") == 0 || strcmp(size, "appended") == 0) {
|
||||
xorriso->do_padding_by_libisofs= 0;
|
||||
return(1);
|
||||
} else if(size[0] < '0' || size[0] > '9') {
|
||||
sprintf(xorriso->info_text, "-padding: unrecognized non-numerical mode ");
|
||||
Text_shellsafe(size, xorriso->info_text, 1);
|
||||
Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "SORRY", 0);
|
||||
return(0);
|
||||
}
|
||||
num= Scanf_io_size(size, 0);
|
||||
if(num < 0 || num > 1024.0 * 1024.0 * 1024.0) {
|
||||
sprintf(xorriso->info_text, "-padding: wrong size %.f (allowed: %.f - %.f)",
|
||||
@ -1361,6 +1373,9 @@ int Xorriso_option_uid(struct XorrisO *xorriso, char *uid, int flag)
|
||||
bit2= do not issue pacifier messages at all
|
||||
bit3= recursive: -update_r
|
||||
bit4= do not establish and dispose xorriso->di_array
|
||||
bit5= do not delete files which are not found under
|
||||
disk_path, but rather mark visited files and mark
|
||||
files which were found.
|
||||
*/
|
||||
int Xorriso_option_update(struct XorrisO *xorriso, char *disk_path,
|
||||
char *iso_path, int flag)
|
||||
@ -1447,7 +1462,10 @@ int Xorriso_option_update(struct XorrisO *xorriso, char *disk_path,
|
||||
if(ret >= 0) {
|
||||
argv[0]= eff_dest;
|
||||
argv[1]= "-exec";
|
||||
argv[2]= "update";
|
||||
if(flag & 32)
|
||||
argv[2]= "update_merge";
|
||||
else
|
||||
argv[2]= "update";
|
||||
argv[3]= eff_origin;
|
||||
zero= 0;
|
||||
ret= Xorriso_option_find(xorriso, 4, argv, &zero,
|
||||
@ -1468,7 +1486,18 @@ int Xorriso_option_update(struct XorrisO *xorriso, char *disk_path,
|
||||
argv[3]= eff_dest;
|
||||
zero= 0;
|
||||
ret= Xorriso_option_find(xorriso, 4, argv, &zero, 1|2); /* -findx */
|
||||
if(ret>0 && !xorriso->do_follow_mount) {
|
||||
if(ret>0 && (!xorriso->do_follow_mount) && !(flag & 32)) {
|
||||
|
||||
/* >>> ??? what about mount points with (flag & 32) ?
|
||||
empty_iso_dir shall delete those which already existed
|
||||
and are freshly excluded. (E.g. by mounting at a non-empty
|
||||
directory, or by new follow rules.)
|
||||
This deletion does not match the idea of merging.
|
||||
For determining the foreign files in a directory which is
|
||||
target of a mount point, one would have to enter that mount
|
||||
point directory. Somewhat contrary to do-not-follow.
|
||||
*/
|
||||
|
||||
argv[0]= eff_origin;
|
||||
argv[1]= "-type";
|
||||
argv[2]= "m";
|
||||
@ -1495,13 +1524,17 @@ int Xorriso_option_update(struct XorrisO *xorriso, char *disk_path,
|
||||
ret= -1;
|
||||
}
|
||||
} else {
|
||||
if(flag & 32)
|
||||
xorriso->update_flags|= 1; /* Enter update_merge mode for node adding */
|
||||
/* compare ctime too, no filename reporting, eventually silent */
|
||||
follow_links= (xorriso->do_follow_links || xorriso->do_follow_param) <<28;
|
||||
ret= Xorriso_compare_2_files(xorriso, eff_origin, eff_dest, "", &result,
|
||||
2 | follow_links | ((flag&4)<<27) | (3<<30));
|
||||
if(ret==0) {
|
||||
uret= Xorriso_update_interpreter(xorriso, NULL, result, eff_origin,
|
||||
eff_dest, 0);
|
||||
if(ret == 0 || (ret > 0 && (flag & 32))) {
|
||||
if(ret > 0)
|
||||
result= 0;
|
||||
uret= Xorriso_update_interpreter(xorriso, NULL, NULL, result, eff_origin,
|
||||
eff_dest, (!!(flag & 32)) << 1);
|
||||
if(uret<=0)
|
||||
ret= -1;
|
||||
if(uret==3)
|
||||
@ -1509,7 +1542,7 @@ int Xorriso_option_update(struct XorrisO *xorriso, char *disk_path,
|
||||
}
|
||||
}
|
||||
xorriso->pacifier_interval= mem_pci;
|
||||
if(mem_lut!=xorriso->last_update_time && !(flag&2))
|
||||
if(mem_lut!=xorriso->last_update_time && !(flag & (2 | 4)))
|
||||
Xorriso_pacifier_callback(xorriso, "content bytes read",
|
||||
xorriso->pacifier_count, 0, "", 1);
|
||||
report_outcome:;
|
||||
@ -1560,7 +1593,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",
|
||||
|
@ -181,9 +181,9 @@ no_memory:;
|
||||
|
||||
ret= 1;
|
||||
ex:;
|
||||
if(patterns!=NULL)
|
||||
free((char *) patterns);
|
||||
if(ret<=0) {
|
||||
if(patterns!=NULL)
|
||||
free((char *) patterns);
|
||||
Sfile_destroy_argv(&filec, &filev, 0);
|
||||
} else {
|
||||
*optc= filec;
|
||||
@ -314,8 +314,9 @@ int Xorriso_cpmv_args(struct XorrisO *xorriso, char *cmd,
|
||||
if(ret==2 || ((flag&1) && *optc > 1 && ret==0)) {
|
||||
is_dir= 1;
|
||||
} else if(*optc > 1) {
|
||||
for(i= 0; i<*optc; i++)
|
||||
Xorriso_msgs_submit(xorriso, 0, (*optv)[i], 0, "ERRFILE", 0);
|
||||
if(flag & 2)
|
||||
for(i= 0; i<*optc; i++)
|
||||
Xorriso_msgs_submit(xorriso, 0, (*optv)[i], 0, "ERRFILE", 0);
|
||||
sprintf(xorriso->info_text,
|
||||
"%s: more than one origin given, destination is a non-directory: %s",
|
||||
cmd, Text_shellsafe(destv[0], sfe, 0));
|
||||
@ -477,7 +478,7 @@ int Xorriso_count_args(struct XorrisO *xorriso, int argc, char **argv,
|
||||
""
|
||||
};
|
||||
static char arg2_commands[][40]= {
|
||||
"assert_volid","boot_image","compare","compare_r","drive_class",
|
||||
"assert_volid","boot_image","clone","compare","compare_r","drive_class",
|
||||
"errfile_log","error_behavior","extract","extract_single",
|
||||
"jigdo","load","logfile",
|
||||
"map","map_single","page","return_with",
|
||||
@ -497,7 +498,7 @@ int Xorriso_count_args(struct XorrisO *xorriso, int argc, char **argv,
|
||||
"check_md5","check_md5_r","check_media","check_media_defaults",
|
||||
"chgrp","chgrpi","chgrp_r","chgrp_ri","chmod","chmodi",
|
||||
"chmod_r","chmod_ri","chown","chowni","chown_r","chown_ri",
|
||||
"compare_l","cpr","cpri","cp_rax","cp_rx","cpax","cpx",
|
||||
"compare_l","cp_clone","cp_rax","cp_rx","cpr","cpri", "cpax","cpx",
|
||||
"du","dui","dus","dusi","dux","dusx","external_filter","extract_l",
|
||||
"file_size_limit","find","findi","finds","findx",
|
||||
"getfacl","getfacli","getfacl_r","getfacl_ri",
|
||||
@ -748,6 +749,10 @@ next_command:;
|
||||
(*idx)+= 1;
|
||||
ret= Xorriso_option_chowni(xorriso, arg1, argc, argv, idx, 0);
|
||||
|
||||
} else if(strcmp(cmd,"clone")==0) {
|
||||
(*idx)+= 2;
|
||||
ret= Xorriso_option_clone(xorriso, arg1, arg2, 1);
|
||||
|
||||
} else if(strcmp(cmd,"close")==0) {
|
||||
(*idx)++;
|
||||
ret= Xorriso_option_close(xorriso, arg1, 0);
|
||||
@ -781,13 +786,16 @@ next_command:;
|
||||
(*idx)++;
|
||||
Xorriso_option_copyright_file(xorriso, arg1, 0);
|
||||
|
||||
} else if(strcmp(cmd,"cpr")==0 || strcmp(cmd,"cpri")==0) {
|
||||
ret= Xorriso_option_cpri(xorriso, argc, argv, idx, 0);
|
||||
} else if(strcmp(cmd,"cp_clone") == 0) {
|
||||
ret= Xorriso_option_cp_clone(xorriso, argc, argv, idx, 0);
|
||||
|
||||
} else if(strcmp(cmd,"cp_rx")==0 || strcmp(cmd,"cp_rax")==0) {
|
||||
ret= Xorriso_option_cpx(xorriso, argc, argv, idx,
|
||||
1|((strcmp(cmd,"cp_rax")==0)<<1));
|
||||
|
||||
} else if(strcmp(cmd,"cpr")==0 || strcmp(cmd,"cpri")==0) {
|
||||
ret= Xorriso_option_cpri(xorriso, argc, argv, idx, 0);
|
||||
|
||||
} else if(strcmp(cmd,"cpx")==0 || strcmp(cmd,"cpax")==0) {
|
||||
ret= Xorriso_option_cpx(xorriso, argc, argv, idx,
|
||||
(strcmp(cmd,"cpax")==0)<<1);
|
||||
@ -1312,7 +1320,6 @@ next_command:;
|
||||
ret= Xorriso_option_temp_mem_limit(xorriso, arg1, 0);
|
||||
|
||||
} else if(strcmp(cmd,"test")==0) { /* This option does not exist. */
|
||||
|
||||
/* install temporary test code here */;
|
||||
|
||||
} else if(strcmp(cmd,"toc")==0) {
|
||||
@ -1569,7 +1576,9 @@ int Xorriso_prescan_args(struct XorrisO *xorriso, int argc, char **argv,
|
||||
ret= Xorriso_option_no_rc(xorriso, 0);
|
||||
if(ret<=0)
|
||||
goto ex;
|
||||
|
||||
} else if(xorriso->argument_emulation >= 1 &&
|
||||
xorriso->argument_emulation <= 2) {
|
||||
{ret= 1; goto ex;}
|
||||
} else if((strcmp(cmd,"dev")==0 || strcmp(cmd,"outdev")==0 ||
|
||||
strcmp(cmd,"indev")==0) &&
|
||||
(strcmp(arg1,"stdio:/dev/fd/1")==0 || strcmp(arg1,"-")==0) &&
|
||||
|
@ -148,9 +148,24 @@ int Sfile_add_to_path(char path[SfileadrL], char *addon, int flag)
|
||||
|
||||
int Sfile_prepend_path(char *prefix, char path[SfileadrL], int flag)
|
||||
{
|
||||
int l, i;
|
||||
int l, i, slashes, prefix_len, path_len;
|
||||
|
||||
l= strlen(path)+strlen(prefix)+1;
|
||||
l= strlen(prefix);
|
||||
if(l == 0)
|
||||
return(1);
|
||||
|
||||
/* Do not copy slashes between both parts */
|
||||
for(prefix_len= l; prefix_len > 0; prefix_len--)
|
||||
if(prefix[prefix_len - 1] != '/')
|
||||
break;
|
||||
if(prefix_len == 0)
|
||||
prefix_len= strlen(prefix) - 1;
|
||||
path_len= strlen(path);
|
||||
for(slashes= 0; slashes < path_len; slashes++)
|
||||
if(path[slashes] != '/')
|
||||
break;
|
||||
|
||||
l= (strlen(path) - slashes) + prefix_len + 1;
|
||||
if(l>=SfileadrL) {
|
||||
|
||||
#ifdef Not_yeT
|
||||
@ -164,10 +179,16 @@ int Sfile_prepend_path(char *prefix, char path[SfileadrL], int flag)
|
||||
return(-1);
|
||||
}
|
||||
l-= strlen(path);
|
||||
for(i= strlen(path)+1; i>=0; i--)
|
||||
path[i+l]= path[i];
|
||||
strcpy(path,prefix);
|
||||
path[l-1]= '/';
|
||||
if(l < 0) {
|
||||
for(i= slashes; i <= path_len + 1; i++)
|
||||
path[i+l]= path[i];
|
||||
} else if(l > 0) {
|
||||
for(i= path_len + 1; i >= slashes; i--)
|
||||
path[i+l]= path[i];
|
||||
}
|
||||
if(prefix_len > 0)
|
||||
memcpy(path, prefix, prefix_len);
|
||||
path[l - 1 + slashes]= '/';
|
||||
return(1);
|
||||
}
|
||||
|
||||
|
@ -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.
|
||||
|
||||
@ -548,6 +548,7 @@ ex:;
|
||||
|
||||
/*
|
||||
@param flag bit0= iso_rr_path is freshly added and up to date
|
||||
bit1= do not mark as changed content (implied by bit0 too)
|
||||
bit2= -follow: this is not a command parameter
|
||||
@return -1= severe error
|
||||
0= not applicable for hard links
|
||||
@ -582,7 +583,7 @@ int Xorriso_hardlink_update(struct XorrisO *xorriso, int *compare_result,
|
||||
it must be updated now, even if it has currently no siblings
|
||||
which it leaves or which it joins.
|
||||
*/
|
||||
if(!(flag & 1))
|
||||
if(!(flag & (1 | 2)))
|
||||
do_overwrite= 1;
|
||||
|
||||
Xorriso__get_di(node, &old_dev, &old_ino, 0);
|
||||
|
@ -106,7 +106,7 @@ get_single:;
|
||||
l= strlen(cpt);
|
||||
if(l >= linesize - base_length - 1) {
|
||||
strncpy(linept, cpt, linesize - 1);
|
||||
line[sizeof(line)-1]= 0;
|
||||
line[linesize - 1]= 0;
|
||||
sprintf(xorriso->info_text,"Input line too long !");
|
||||
Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "SORRY", 0);
|
||||
goto new_empty;
|
||||
@ -1295,6 +1295,13 @@ int Xorriso_status(struct XorrisO *xorriso, char *filter, FILE *fp, int flag)
|
||||
if(!(is_default && no_defaults))
|
||||
Xorriso_status_result(xorriso,filter,fp,flag&2);
|
||||
|
||||
ret= (xorriso->system_area_options & 0x300) >> 8;
|
||||
is_default= (ret == 0);
|
||||
sprintf(line,"-boot_image any partition_cyl_align=%s\n",
|
||||
ret == 0 ? "auto" : ret == 1 ? "on" : "off");
|
||||
if(!(is_default && no_defaults))
|
||||
Xorriso_status_result(xorriso,filter,fp,flag&2);
|
||||
|
||||
if((xorriso->system_area_disk_path[0] || !part_table_implicit) &&
|
||||
(xorriso->partition_offset == 0 || (xorriso->system_area_options & 2))) {
|
||||
is_default= ((xorriso->system_area_options & 3) == 0);
|
||||
@ -1616,6 +1623,11 @@ int Xorriso_status(struct XorrisO *xorriso, char *filter, FILE *fp, int flag)
|
||||
sprintf(line,"-padding %dk\n", xorriso->padding/1024);
|
||||
if(!(is_default && no_defaults))
|
||||
Xorriso_status_result(xorriso,filter,fp,flag&2);
|
||||
is_default= (xorriso->do_padding_by_libisofs == 0);
|
||||
sprintf(line,"-padding %s\n",
|
||||
xorriso->do_padding_by_libisofs ? "included" : "appended");
|
||||
if(!(is_default && no_defaults))
|
||||
Xorriso_status_result(xorriso,filter,fp,flag&2);
|
||||
|
||||
is_default= (strcmp(xorriso->report_about_text,"UPDATE")==0);
|
||||
sprintf(line,"-report_about %s\n",xorriso->report_about_text);
|
||||
@ -1791,14 +1803,16 @@ int Xorriso_status(struct XorrisO *xorriso, char *filter, FILE *fp, int flag)
|
||||
is_default= ((xorriso->do_md5 & 31) == 0);
|
||||
sprintf(line, "-md5 ");
|
||||
if(xorriso->do_md5 & 1) {
|
||||
if((xorriso->do_md5 & (8)) == (8)) {
|
||||
strcat(line, "all\n");
|
||||
if((xorriso->do_md5 & 8) == 8) {
|
||||
strcat(line, "all");
|
||||
} else {
|
||||
strcat(line, "on");
|
||||
if(xorriso->do_md5 & 8)
|
||||
strcat(line, ":stability_check_on");
|
||||
strcat(line, "\n");
|
||||
}
|
||||
if(xorriso->do_md5 & 32)
|
||||
strcat(line, ":load_check_off");
|
||||
strcat(line, "\n");
|
||||
} else
|
||||
strcat(line, "off\n");
|
||||
if(!(is_default && no_defaults))
|
||||
|
@ -2,7 +2,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.
|
||||
|
||||
@ -25,7 +25,14 @@
|
||||
#include <errno.h>
|
||||
|
||||
#include <fcntl.h>
|
||||
|
||||
#ifdef HAVE_STDINT_H
|
||||
#include <stdint.h>
|
||||
#else
|
||||
#ifdef HAVE_INTTYPES_H
|
||||
#include <inttypes.h>
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#ifdef Xorriso_standalonE
|
||||
|
||||
@ -91,7 +98,7 @@ int Xorriso_make_write_options(
|
||||
|
||||
|
||||
/* @param flag bit0= do not write but only prepare and return size in sectors
|
||||
bit1= do not use isoburn wrappers
|
||||
bit1= do not use isoburn wrappers, do not assume libisofs
|
||||
*/
|
||||
int Xorriso_sanitize_image_size(struct XorrisO *xorriso,
|
||||
struct burn_drive *drive, struct burn_disc *disc,
|
||||
@ -141,7 +148,6 @@ 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 */;
|
||||
@ -152,6 +158,19 @@ no_track:;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if(!(flag & 2)) {
|
||||
|
||||
#ifdef Xorriso_with_libjtE
|
||||
/* JTE : no multi-session, no_emul_toc, padding in libisofs */
|
||||
if(xorriso->libjte_handle != NULL)
|
||||
padding= 0;
|
||||
#endif /* ! Xorriso_with_libjtE */
|
||||
|
||||
if(xorriso->do_padding_by_libisofs)
|
||||
padding= 0;
|
||||
}
|
||||
|
||||
if(xorriso->alignment > 0) {
|
||||
if(img_sectors > 0) {
|
||||
ret= isoburn_disc_track_lba_nwa(drive, burn_options, 0, &lba, &nwa);
|
||||
@ -160,15 +179,9 @@ no_track:;
|
||||
lba= (nwa + img_sectors + padding) % xorriso->alignment;
|
||||
if(lba > 0)
|
||||
padding+= xorriso->alignment - lba;
|
||||
} else if(padding < xorriso->alignment)
|
||||
padding= xorriso->alignment;
|
||||
}
|
||||
}
|
||||
|
||||
#ifdef Xorriso_with_libjtE
|
||||
if(xorriso->libjte_handle != NULL)
|
||||
padding= 0; /* JTE : no multi-session, no_emul_toc, padding in libisofs */
|
||||
#endif /* ! Xorriso_with_libjtE */
|
||||
|
||||
burn_track_define_data(tracks[0], 0, padding * 2048, 0, BURN_MODE1);
|
||||
Xorriso_process_msg_queues(xorriso,0);
|
||||
|
||||
@ -541,7 +554,7 @@ ex:;
|
||||
int Xorriso_write_session(struct XorrisO *xorriso, int flag)
|
||||
{
|
||||
int ret, relax= 0, i, pacifier_speed= 0, data_lba, ext, is_bootable= 0;
|
||||
int freshly_bootable= 0, hide_attr;
|
||||
int freshly_bootable= 0, hide_attr, pad_by_libisofs= 0;
|
||||
char xorriso_id[256], *img_id, sfe[5*SfileadrL], *out_cs, *part_image;
|
||||
struct isoburn_imgen_opts *sopts= NULL;
|
||||
struct burn_drive_info *dinfo, *source_dinfo;
|
||||
@ -558,6 +571,7 @@ int Xorriso_write_session(struct XorrisO *xorriso, int flag)
|
||||
int profile_number;
|
||||
char profile_name[80];
|
||||
IsoBoot *bootcat_node;
|
||||
uint32_t padding;
|
||||
|
||||
ret= Xorriso_finish_hl_update(xorriso, 0);
|
||||
if(ret <= 0)
|
||||
@ -741,6 +755,7 @@ int Xorriso_write_session(struct XorrisO *xorriso, int flag)
|
||||
((!!(xorriso->do_md5 & 2)) * isoburn_igopt_session_md5) |
|
||||
((!!(xorriso->do_md5 & 4)) * isoburn_igopt_file_md5) |
|
||||
((!!(xorriso->do_md5 & 8)) * isoburn_igopt_file_stability) |
|
||||
((!!xorriso->do_old_empty) * isoburn_igopt_old_empty) |
|
||||
((flag & 1) * isoburn_igopt_will_cancel);
|
||||
if(xorriso->no_emul_toc & 1)
|
||||
ext|= isoburn_igopt_no_emul_toc;
|
||||
@ -801,12 +816,22 @@ int Xorriso_write_session(struct XorrisO *xorriso, int flag)
|
||||
if(ret <= 0)
|
||||
goto ex;
|
||||
isoburn_igopt_attach_jte(sopts, xorriso->libjte_handle);
|
||||
|
||||
/* Padding to be done by libisofs, not by libburn */
|
||||
isoburn_igopt_set_tail_blocks(sopts, (uint32_t) (xorriso->padding / 2048));
|
||||
pad_by_libisofs= 1;
|
||||
}
|
||||
#endif /* Xorriso_with_libjtE */
|
||||
|
||||
if(xorriso->do_padding_by_libisofs || pad_by_libisofs) {
|
||||
/* Padding to be done by libisofs, not by libburn.
|
||||
*/
|
||||
padding= xorriso->padding / 2048;
|
||||
if(xorriso->padding > padding * 2048)
|
||||
padding++;
|
||||
/*
|
||||
fprintf(stderr, "XORRISO_DEBUG: isoburn_igopt_set_tail_blocks(%d)\n",
|
||||
(int) padding);
|
||||
*/
|
||||
isoburn_igopt_set_tail_blocks(sopts, padding / 2048);
|
||||
}
|
||||
|
||||
/* Make final abort check before starting expensive activities */
|
||||
ret= Xorriso_eval_problem_status(xorriso, 1, 0);
|
||||
@ -1207,6 +1232,7 @@ int Xorriso_pacifier_loop(struct XorrisO *xorriso, struct burn_drive *drive,
|
||||
break;
|
||||
}
|
||||
}
|
||||
iso_image_unref(image);
|
||||
return(1);
|
||||
}
|
||||
|
||||
@ -1998,6 +2024,12 @@ int Xorriso_relax_compliance(struct XorrisO *xorriso, char *mode,
|
||||
xorriso->relax_compliance= was;
|
||||
return(0);
|
||||
|
||||
} else if((l == 9 && strncmp(cpt, "old_empty", l) == 0) ||
|
||||
(l == 12 && strncmp(cpt, "old_empty_on", l) == 0)) {
|
||||
xorriso->do_old_empty= 1;
|
||||
} else if(l == 13 && strncmp(cpt, "old_empty_off", l) == 0) {
|
||||
xorriso->do_old_empty= 0;
|
||||
|
||||
} else {
|
||||
if(l<SfileadrL)
|
||||
sprintf(xorriso->info_text, "-compliance: unknown rule '%s'",
|
||||
@ -2070,6 +2102,8 @@ int Xorriso_get_relax_text(struct XorrisO *xorriso, char mode[1024],
|
||||
xorriso->untranslated_name_len);
|
||||
if(xorriso->do_iso1999)
|
||||
sprintf(mode + strlen(mode), ":iso_9660_1999");
|
||||
if(xorriso->do_old_empty)
|
||||
sprintf(mode + strlen(mode), ":old_empty");
|
||||
return(1 +
|
||||
(r == Xorriso_relax_compliance_defaulT && !(xorriso->no_emul_toc & 1)
|
||||
&& xorriso->untranslated_name_len == 0 && !xorriso->do_iso1999 &&
|
||||
@ -2142,7 +2176,6 @@ int Xorriso_set_isolinux_options(struct XorrisO *xorriso,
|
||||
if(make_isohybrid_mbr) {
|
||||
sprintf(xorriso->info_text, "Will write isohybrid MBR.");
|
||||
Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "NOTE", 0);
|
||||
xorriso->alignment= 512;
|
||||
}
|
||||
ret= el_torito_set_isolinux_options(bootimg,
|
||||
patch_table | (make_isohybrid_mbr << 1),0);
|
||||
|
@ -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 "Jan 06, 2011"
|
||||
.TH XORRISO 1 "Mar 09, 2011"
|
||||
.\" Please adjust this date whenever revising the manpage.
|
||||
.\"
|
||||
.\" Some roff macros, for reference:
|
||||
@ -757,6 +757,7 @@ 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,
|
||||
@ -770,7 +771,7 @@ Enable or disable processing of xattr attributes in user namespace.
|
||||
If enabled, then xorriso will handle xattr similar to ACL.
|
||||
See also options -getfattr, -setfattr and above paragraph about xattr.
|
||||
.TP
|
||||
\fB\-md5\fR "on"|"all"|"off"
|
||||
\fB\-md5\fR "on"|"all"|"off"|"load_check_off"
|
||||
Enable or disable processing of MD5 checksums for the overall session and for
|
||||
each single data file. If enabled then images get loaded only if eventual
|
||||
checksums tags of superblock and directory tree match properly. The MD5
|
||||
@ -791,6 +792,15 @@ Mode "all" will additionally check during image generation whether the checksum
|
||||
of a data file changed between the time when its reading began and the time
|
||||
when it ended. This implies reading every file twice.
|
||||
.br
|
||||
Mode "load_check_off" together with "on" or "all" will load recorded MD5 sums
|
||||
but not test the recorded checksum tags of superblock and directory tree.
|
||||
This is necessary if growisofs was used as burn program, because it does
|
||||
not overwrite the superblock checksum tag of the first session.
|
||||
Therefore load_check_off is in effect when xorriso -as mkisofs option -M
|
||||
is performed.
|
||||
.br
|
||||
The test can be re-enabled by mode "load_check_on".
|
||||
.br
|
||||
Checksums can be exploited via options -check_md5, -check_md5_r, via find
|
||||
actions get_md5, check_md5, and via -check_media.
|
||||
.TP
|
||||
@ -1050,6 +1060,31 @@ Create empty directories if they do not exist yet.
|
||||
Existence as directory generates a WARNING event, existence as
|
||||
other file causes a FAILURE event.
|
||||
.TP
|
||||
\fB\-clone\fR iso_rr_path_original iso_rr_path_copy
|
||||
Create a copy of the ISO file object iso_rr_path_original with the new
|
||||
address iso_rr_path_copy. If the original is a directory then copy all
|
||||
files and directories underneath. An eventual boot catalog file gets
|
||||
not copied but is silently ignored.
|
||||
.br
|
||||
The copied ISO file objects have the same attributes. Copied data files
|
||||
refer to the same content source as their originals.
|
||||
The copies may then be manipulated independendly of their originals.
|
||||
.br
|
||||
This command will refuse execution if the address iso_rr_path_copy
|
||||
already exists in the ISO tree.
|
||||
.TP
|
||||
\fB\-cp_clone\fR iso_rr_path_original [***] iso_rr_path_dest
|
||||
Create copies of one or more ISO file objects as with command -clone.
|
||||
Eventually merge directories with existing ones, but do not overwrite
|
||||
existing ISO file objects.
|
||||
.br
|
||||
The rules for generating the copy addresses are the same as with
|
||||
command -cpr (see above) resp. shell command cp -r. Other than with -cpr,
|
||||
relative iso_rr_path_original will get prepended the -cd path and not
|
||||
the -cdx path. Consider to -mkdir iso_rr_path_dest before -cp_clone
|
||||
so the copy address does not depend on the number of iso_rr_path_original
|
||||
arguments.
|
||||
.TP
|
||||
.B Settings for file insertion:
|
||||
.TP
|
||||
\fB\-file_size_limit\fR value [value [...]] --
|
||||
@ -1625,6 +1660,16 @@ performs command -update with the found file address as
|
||||
iso_rr_path. The corresponding file address is determined like with above
|
||||
action "compare".
|
||||
.br
|
||||
\fBupdate_merge\fR
|
||||
is like update but does not delete the found file if it is missing on disk.
|
||||
It may be run several times and records with all visited files whether their
|
||||
counterpart on disk has already been seen by one of the update_merge runs.
|
||||
Finally, a -find run with action "rm_merge" may remove all files that
|
||||
saw no counterpart on disk.
|
||||
.br
|
||||
Up to the next "rm_merge" or "clear_merge" all newly inserted files will
|
||||
get marked as having a disk counterpart.
|
||||
.br
|
||||
\fBrm\fR
|
||||
removes the found iso_rr_path from the image if it is not a directory
|
||||
with files in it. I.e. this "rm" includes "rmdir".
|
||||
@ -1633,6 +1678,14 @@ with files in it. I.e. this "rm" includes "rmdir".
|
||||
removes the found iso_rr_path from the image, including whole
|
||||
directory trees.
|
||||
.br
|
||||
\fBrm_merge\fR
|
||||
removes the found iso_rr_path if it was visited by one or more previous actions
|
||||
"update_merge" and saw no counterpart on disk in any of them. The marking from
|
||||
the update actions is removed in any case.
|
||||
.br
|
||||
\fBclear_merge\fR
|
||||
removes an eventual marking from action "update_merge".
|
||||
.br
|
||||
\fBreport_damage\fR
|
||||
classifies files whether they hit a data block that is
|
||||
marked as damaged. The result is printed together with the eventual address
|
||||
@ -2056,6 +2109,10 @@ but makes the image incapable of displaying its session history.
|
||||
compliant to ISO 9660:1999. It can record long filenames for readers which
|
||||
do not understand Rock Ridge.
|
||||
.br
|
||||
"old_empty" uses the old way of of giving block addresses in the range
|
||||
of [0,31] to files with no own data content. The new way is to have
|
||||
a dedicated block to which all such files will point.
|
||||
.br
|
||||
Default setting is
|
||||
.br
|
||||
"clear:only_iso_version:deep_paths:long_paths:no_j_force_dots:
|
||||
@ -2266,7 +2323,7 @@ any more (if possible at all with the given type of target media).
|
||||
This is the contrary of cdrecord, wodim, cdrskin option -multi,
|
||||
and is one aspect of growisofs option -dvd-compat.
|
||||
.TP
|
||||
\fB\-padding\fR number["k"|"m"]
|
||||
\fB\-padding\fR number["k"|"m"]|"included"|"appended"
|
||||
Append the given number of extra bytes to the image stream.
|
||||
This is a traditional remedy for a traditional bug in block
|
||||
device read drivers. Needed only for CD recordings in TAO mode.
|
||||
@ -2274,6 +2331,13 @@ Since one can hardly predict on what media an image might end up,
|
||||
xorriso adds the traditional 300k of padding by default to all images.
|
||||
.br
|
||||
For images which will never get to a CD it is safe to use -padding 0 .
|
||||
.br
|
||||
Normally padding is not written as part of the ISO image but appended
|
||||
after the image end. This is -padding mode "appended".
|
||||
.br
|
||||
Emulation command -as "mkisofs" and command -jigdo cause padding to be
|
||||
written as part of the image.
|
||||
The same effect is achieved by -padding mode "included".
|
||||
.TP
|
||||
.B Bootable ISO images:
|
||||
.PP
|
||||
@ -2466,11 +2530,29 @@ absolute start as well as from the partition start.
|
||||
The offset value of an ISO image gets preserved when a new session is added.
|
||||
So the value defined here is only in effect if a new ISO image gets written.
|
||||
.br
|
||||
\fBpartition_sec_hd=\fRnumber gives the number of sectors per head for
|
||||
partition offset. 0 chooses a default value.
|
||||
.br
|
||||
\fBpartition_hd_cyl=\fRnumber gives the number of heads per cylinder for
|
||||
partition offset. 0 chooses a default value.
|
||||
the partition table. 0 chooses a default value. Maximum is 255.
|
||||
.br
|
||||
\fBpartition_sec_hd=\fRnumber gives the number of sectors per head for
|
||||
the partition table. 0 chooses a default value. Maximum is 63.
|
||||
.br
|
||||
The product partition_sec_hd * partition_hd_cyl * 512 is the cylinder size.
|
||||
It should be divisible by 2048 in order to allow exact alignment.
|
||||
If it is too small to describe the image size by at most 1024 cylinders,
|
||||
then appropriate values of partition_hd_cyl are chosen with
|
||||
partition_sec_hd 32 or 63. If the image is larger than 8,422,686,720 bytes,
|
||||
then the cylinder size constraints cannot be fulfilled.
|
||||
.br
|
||||
\fBpartition_cyl_align=\fRmode controls image size alignment to an integer
|
||||
number of cylinders. It is prescribed by isohybrid specs and it seems to
|
||||
please program fdisk. Cylinder size must be divisible by 2048.
|
||||
Images larger than 8,323,596,288 bytes cannot be aligned.
|
||||
.br
|
||||
Mode "auto" is default. Alignment by padding happens only with
|
||||
"isolinux" "partition_table=on".
|
||||
.br
|
||||
Mode "on" causes alignment by padding with "partition_table=on" for any type.
|
||||
Mode "off" disables alignment for any type.
|
||||
.br
|
||||
\fBmips_path=\fRiso_rr_path declares a data file in the image to be a
|
||||
MIPS Big Endian boot file and causes production of a MIPS Big Endian Volume
|
||||
@ -2945,8 +3027,8 @@ 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.
|
||||
If no -jidgo options are given and not command -as "mkisofs" was used,
|
||||
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
|
||||
@ -3090,7 +3172,7 @@ not exist in the ISO image. The report format is the same as with command
|
||||
.br
|
||||
\fBadd_missing\fR iso_rr_path_start
|
||||
adds the counterpart if it does not yet
|
||||
exist in the ISO image.
|
||||
exist in the ISO image and marks it for "rm_merge" as non-removable.
|
||||
.br
|
||||
E.g.: -findx /home/thomas -exec add_missing /thomas_on_cd --
|
||||
.br
|
||||
@ -3491,10 +3573,9 @@ file paths and pathspecs.
|
||||
A lot of options are not supported and lead to failure of the mkisofs
|
||||
emulation. Some are ignored, but better do not rely on this tolerance.
|
||||
.br
|
||||
-graft-points is equivalent to -pathspecs on. Note that pathspecs without "="
|
||||
are interpreted differently than with xorriso option -add. Directories get
|
||||
merged with the root directory of the ISO image, other filetypes get mapped
|
||||
into that root directory.
|
||||
The supported options are documented in detail in xorrisofs.info
|
||||
and in man xorrisofs. The description here is focused on the effect
|
||||
of mkisofs emulation in the context of a xorriso run.
|
||||
.br
|
||||
Other than with the "cdrecord" personality there is no automatic -commit at
|
||||
the end of a "mkisofs" option list. Verbosity settings -v (= "UPDATE") and
|
||||
@ -3502,6 +3583,11 @@ the end of a "mkisofs" option list. Verbosity settings -v (= "UPDATE") and
|
||||
persists until things happen like -commit, -rollback, -dev, or end of xorriso.
|
||||
-pacifier gets set to "mkisofs" if files are added to the image.
|
||||
.br
|
||||
-graft-points is equivalent to -pathspecs on. Note that pathspecs without "="
|
||||
are interpreted differently than with xorriso option -add. Directories get
|
||||
merged with the root directory of the ISO image, other filetypes get mapped
|
||||
into that root directory.
|
||||
.br
|
||||
If pathspecs are given and if no output file was chosen before or during the
|
||||
"mkisofs" option list, then standard output (-outdev "-") will get into effect.
|
||||
If -o points to a regular file, then it will be truncated to 0 bytes
|
||||
@ -3516,11 +3602,22 @@ standard output.
|
||||
-print-size inhibits automatic image production at program end. This ban is
|
||||
lifted only if the pending image changes get discarded.
|
||||
.br
|
||||
Eventual padding is counted as part of the ISO image if not option --emul-toc
|
||||
is given.
|
||||
.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
|
||||
Option -root is supported. Option -old-root is implemented by xorriso
|
||||
commands -mkdir, -cp_clone, -find update_merge, and -find rm_merge.
|
||||
-root and -old-root set command -disk_dev_ino to "ino_only" and -md5 to "on",
|
||||
by default.
|
||||
-disk_dev_ino can be set to "off" by --old-root-no-ino
|
||||
resp. to "on" by --old-root-devno .
|
||||
-md5 can be set to "off" by --old-root-no-md5 .
|
||||
.br
|
||||
Not original mkisofs options are --quoted_path_list ,
|
||||
--hardlinks , --acl ,
|
||||
--xattr , --md5 , --stdio_sync .
|
||||
@ -3566,12 +3663,14 @@ Option -append_partition is supported.
|
||||
-untranslated_name_len number is
|
||||
-compliance untranslated_name_len=number.
|
||||
.br
|
||||
--old-empty is -compliance old_empty.
|
||||
.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.
|
||||
.br
|
||||
|
||||
Personalites "\fBxorrisofs\fR", "\fBgenisoimage\fR",
|
||||
Personalities "\fBxorrisofs\fR", "\fBgenisoimage\fR",
|
||||
and "\fBgenisofs\fR" are aliases for "mkisofs".
|
||||
.br
|
||||
If xorriso is started with one of the leafnames "xorrisofs", "genisofs",
|
||||
@ -3581,6 +3680,9 @@ I.e. all arguments will be interpreted mkisofs style until "--"
|
||||
is encountered.
|
||||
From then on, options are interpreted as xorriso options.
|
||||
.br
|
||||
--no_rc as first argument of such a program start
|
||||
prevents interpretation of startup files. See section FILES below.
|
||||
.br
|
||||
|
||||
Personality "\fBcdrecord\fR" accepts the options listed with:
|
||||
.br
|
||||
@ -3623,6 +3725,9 @@ If xorriso is started with one of the leafnames "xorrecord", "cdrskin",
|
||||
to the command line arguments. I.e. all arguments will be interpreted cdrecord
|
||||
style until "--" is encountered and an eventual commit happens.
|
||||
From then on, options are interpreted as xorriso options.
|
||||
.br
|
||||
--no_rc as first argument of such a program start
|
||||
prevents interpretation of xorriso startup files. See section FILES below.
|
||||
.TP
|
||||
\fB\-read_mkisofsrc\fR
|
||||
Try one by one to open for reading:
|
||||
@ -4123,6 +4228,8 @@ $ xorriso -as mkisofs prepared_for_iso/tree1 | \\
|
||||
.br
|
||||
Follow-up sessions are written like this:
|
||||
.br
|
||||
$ dd if=/dev/sr0 count=1 >/dev/null 2>&1
|
||||
.br
|
||||
$ m=$(xorriso -as cdrecord dev=/dev/sr0 -msinfo)
|
||||
.br
|
||||
$ xorriso -as mkisofs -M /dev/sr0 -C $m prepared_for_iso/tree2 | \\
|
||||
@ -4130,8 +4237,13 @@ $ xorriso -as mkisofs -M /dev/sr0 -C $m prepared_for_iso/tree2 | \\
|
||||
xorriso -as cdrecord -v dev=/dev/sr0 -waiti -multi -eject -
|
||||
.br
|
||||
Always eject the drive tray between sessions. The old sessions
|
||||
get read via stdio:/dev/sr0 and thus are prone to device driver
|
||||
peculiarities.
|
||||
get read via /dev/sr0. Its device driver might not be aware
|
||||
of the changed content before it loads the media again.
|
||||
In this case the previous session would not be loaded and the
|
||||
new session would contain only the newly added files.
|
||||
.br
|
||||
For the same reason do not let xorriso -as cdrecord load the media,
|
||||
but rather do this manually or by a program that reads from /dev/sr0.
|
||||
.br
|
||||
This example works for multi-session media only.
|
||||
Add cdrskin option --grow_overwriteable_iso
|
||||
@ -4238,7 +4350,7 @@ $ xorriso \\
|
||||
.br
|
||||
-not_leaf '*.o' -not_leaf '*.swp' \\
|
||||
.br
|
||||
-update_r /home/thomas/open_source_projects /open_source_projects \\
|
||||
-update_r /home/thomas/projects /projects \\
|
||||
.br
|
||||
-update_r /home/thomas/personal_mail /personal_mail \\
|
||||
.br
|
||||
@ -4281,12 +4393,27 @@ older sessions in the table-of-content. E.g. as superuser:
|
||||
.br
|
||||
# osirrox -mount /dev/sr0 "volid" '*2008_12_05*' /mnt
|
||||
.br
|
||||
.sp 1
|
||||
Above example produces a result similar to -root / -old-root / with mkisofs.
|
||||
For getting the session trees accumulated in the new sessions, let all -update
|
||||
commands use a common parent directory and clone it after updating is done:
|
||||
.br
|
||||
-update_r /home/thomas/projects /current/projects \\
|
||||
.br
|
||||
-update_r /home/thomas/personal_mail /current/personal_mail \\
|
||||
.br
|
||||
-clone /current /"$(date '+%Y_%m_%d_%H%M%S')" \\
|
||||
.br
|
||||
The cloned tree will have a name like /2011_02_12_155700.
|
||||
.br
|
||||
.sp 1
|
||||
Sessions on multi-session media are separated by several MB of unused blocks.
|
||||
So with small sessions the payload capacity can become substantially lower
|
||||
than the overall media capacity. If the remaining space on media does not
|
||||
suffice for the next gap, the drive is supposed to close the media
|
||||
automatically.
|
||||
.br
|
||||
.sp 1
|
||||
\fBBetter do not use your youngest backup for -update_r\fR.
|
||||
Have at least two media which you use alternatingly. So only older backups
|
||||
get endangered by the new write operation, while the newest backup is
|
||||
@ -4381,6 +4508,9 @@ The default setting of -check_media abort_file= is:
|
||||
.br
|
||||
.SH SEE ALSO
|
||||
.TP
|
||||
For the mkisofs emulation of xorriso
|
||||
.BR xorrisofs(1)
|
||||
.TP
|
||||
For mounting xorriso generated ISO 9660 images (-t iso9660)
|
||||
.BR mount(8)
|
||||
.TP
|
||||
@ -4410,7 +4540,7 @@ Thomas Schmitt <scdbackup@gmx.net>
|
||||
.br
|
||||
for libburnia-project.org
|
||||
.SH COPYRIGHT
|
||||
Copyright (c) 2007 - 2010 Thomas Schmitt
|
||||
Copyright (c) 2007 - 2011 Thomas Schmitt
|
||||
.br
|
||||
Permission is granted to distribute this text freely. It shall only be
|
||||
modified in sync with the technical properties of xorriso. If you make use
|
||||
|
@ -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 7
|
||||
#define Xorriso_header_version_majoR 1
|
||||
#define Xorriso_header_version_minoR 0
|
||||
#define Xorriso_header_version_micrO 4
|
||||
|
||||
|
||||
/** Eventually something like ".pl01" to indicate a bug fix. Normally empty.
|
||||
@ -586,6 +586,7 @@ int Xorriso_lst_destroy_all(struct Xorriso_lsT **lstring, int flag);
|
||||
int Xorriso_option_abort_on(struct XorrisO *xorriso, char *severity, int flag);
|
||||
|
||||
/* Option -abstract_file */
|
||||
/* @since 0.6.0 */
|
||||
int Xorriso_option_abstract_file(struct XorrisO *xorriso, char *name,
|
||||
int flag);
|
||||
|
||||
@ -612,6 +613,7 @@ int Xorriso_option_alter_date(struct XorrisO *xorriso,
|
||||
int argc, char **argv, int *idx, int flag);
|
||||
|
||||
/* Option -append_partition */
|
||||
/* @since 0.6.4 */
|
||||
int Xorriso_option_append_partition(struct XorrisO *xorriso, char *partno_text,
|
||||
char *type_text, char *image_path, int flag);
|
||||
|
||||
@ -641,6 +643,7 @@ int Xorriso_option_backslash_codes(struct XorrisO *xorriso, char *mode,
|
||||
int Xorriso_option_ban_stdio_write(struct XorrisO *xorriso, int flag);
|
||||
|
||||
/* Option -biblio_file */
|
||||
/* @since 0.6.0 */
|
||||
int Xorriso_option_biblio_file(struct XorrisO *xorriso, char *name, int flag);
|
||||
|
||||
/* Option -blank and -format */
|
||||
@ -703,6 +706,11 @@ int Xorriso_option_chmodi(struct XorrisO *xorriso, char *mode,
|
||||
int Xorriso_option_chowni(struct XorrisO *xorriso, char *uid,
|
||||
int argc, char **argv, int *idx, int flag);
|
||||
|
||||
/* Option -clone */
|
||||
/* @since 1.0.2 */
|
||||
int Xorriso_option_clone(struct XorrisO *xorriso, char *origin, char *dest,
|
||||
int flag);
|
||||
|
||||
/* Option -close "on"|"off" */
|
||||
int Xorriso_option_close(struct XorrisO *xorriso, char *mode, int flag);
|
||||
|
||||
@ -735,9 +743,15 @@ int Xorriso_option_compare(struct XorrisO *xorriso, char *disk_path,
|
||||
int Xorriso_option_compliance(struct XorrisO *xorriso, char *mode, int flag);
|
||||
|
||||
/* Option -copyright_file */
|
||||
/* @since 0.6.0 */
|
||||
int Xorriso_option_copyright_file(struct XorrisO *xorriso, char *name,
|
||||
int flag);
|
||||
|
||||
/* Option -cp_clone */
|
||||
/* @since 1.0.2 */
|
||||
int Xorriso_option_cp_clone(struct XorrisO *xorriso, int argc, char **argv,
|
||||
int *idx, int flag);
|
||||
|
||||
/* Option -cpr alias -cpri */
|
||||
int Xorriso_option_cpri( struct XorrisO *xorriso, int argc, char **argv,
|
||||
int *idx, int flag);
|
||||
@ -774,6 +788,7 @@ int Xorriso_option_disk_dev_ino(struct XorrisO *xorriso, char *mode, int flag);
|
||||
int Xorriso_option_disk_pattern(struct XorrisO *xorriso, char *mode, int flag);
|
||||
|
||||
/* Option -displacement [-]offset */
|
||||
/* @since 0.6.6 */
|
||||
int Xorriso_option_displacement(struct XorrisO *xorriso, char *value,
|
||||
int flag);
|
||||
|
||||
@ -860,6 +875,7 @@ int Xorriso_option_hardlinks(struct XorrisO *xorriso, char *mode, int flag);
|
||||
int Xorriso_option_help(struct XorrisO *xorriso, int flag);
|
||||
|
||||
/* Option -hide */
|
||||
/* @since 0.6.0 */
|
||||
int Xorriso_option_hide(struct XorrisO *xorriso, char *hide_state,
|
||||
int argc, char **argv, int *idx, int flag);
|
||||
|
||||
@ -871,6 +887,7 @@ int Xorriso_option_iso_rr_pattern(struct XorrisO *xorriso, char *mode,
|
||||
int flag);
|
||||
|
||||
/* Option -jigdo aspect argument */
|
||||
/* @since 0.6.4 */
|
||||
int Xorriso_option_jigdo(struct XorrisO *xorriso, char *aspect, char *arg,
|
||||
int flag);
|
||||
|
||||
@ -1023,6 +1040,7 @@ int Xorriso_option_pathspecs(struct XorrisO *xorriso, char *mode, int flag);
|
||||
int Xorriso_option_pkt_output(struct XorrisO *xorriso, char *mode, int flag);
|
||||
|
||||
/* Option -preparer_id */
|
||||
/* @since 0.6.2 */
|
||||
int Xorriso_option_preparer_id(struct XorrisO *xorriso, char *name, int flag);
|
||||
|
||||
/* Option -print */
|
||||
@ -1055,6 +1073,7 @@ int Xorriso_option_pwdi(struct XorrisO *xorriso, int flag);
|
||||
int Xorriso_option_pwdx(struct XorrisO *xorriso, int flag);
|
||||
|
||||
/* Option -read_mkisofsrc */
|
||||
/* @since 0.6.0 */
|
||||
int Xorriso_option_read_mkisofsrc(struct XorrisO *xorriso, int flag);
|
||||
|
||||
/* Option -reassure "on"|"tree"|"off" */
|
||||
|
@ -728,7 +728,7 @@ activate them only after image loading.
|
||||
If enabled, then xorriso will handle xattr similar to ACL. See
|
||||
also options -getfattr, -setfattr and above paragraph about xattr.
|
||||
|
||||
-md5 "on"|"all"|"off"
|
||||
-md5 "on"|"all"|"off"|"load_check_off"
|
||||
Enable or disable processing of MD5 checksums for the overall
|
||||
session and for each single data file. If enabled then images get
|
||||
loaded only if eventual checksums tags of superblock and directory
|
||||
@ -747,6 +747,13 @@ activate them only after image loading.
|
||||
the checksum of a data file changed between the time when its
|
||||
reading began and the time when it ended. This implies reading
|
||||
every file twice.
|
||||
Mode "load_check_off" together with "on" or "all" will load
|
||||
recorded MD5 sums but not test the recorded checksum tags of
|
||||
superblock and directory tree. This is necessary if growisofs was
|
||||
used as burn program, because it does not overwrite the superblock
|
||||
checksum tag of the first session. Therefore load_check_off is in
|
||||
effect when xorriso -as mkisofs option -M is performed.
|
||||
The test can be re-enabled by mode "load_check_on".
|
||||
Checksums can be exploited via options -check_md5, -check_md5_r,
|
||||
via find actions get_md5, check_md5, and via -check_media.
|
||||
|
||||
@ -987,6 +994,28 @@ filesystem.
|
||||
directory generates a WARNING event, existence as other file
|
||||
causes a FAILURE event.
|
||||
|
||||
-clone iso_rr_path_original iso_rr_path_copy
|
||||
Create a copy of the ISO file object iso_rr_path_original with the
|
||||
new address iso_rr_path_copy. If the original is a directory then
|
||||
copy all files and directories underneath. An eventual boot
|
||||
catalog file gets not copied but is silently ignored.
|
||||
The copied ISO file objects have the same attributes. Copied data
|
||||
files refer to the same content source as their originals. The
|
||||
copies may then be manipulated independendly of their originals.
|
||||
This command will refuse execution if the address iso_rr_path_copy
|
||||
already exists in the ISO tree.
|
||||
|
||||
-cp_clone iso_rr_path_original [***] iso_rr_path_dest
|
||||
Create copies of one or more ISO file objects as with command
|
||||
-clone. Eventually merge directories with existing ones, but do
|
||||
not overwrite existing ISO file objects.
|
||||
The rules for generating the copy addresses are the same as with
|
||||
command -cpr (see above) resp. shell command cp -r. Other than
|
||||
with -cpr, relative iso_rr_path_original will get prepended the
|
||||
-cd path and not the -cdx path. Consider to -mkdir
|
||||
iso_rr_path_dest before -cp_clone so the copy address does not
|
||||
depend on the number of iso_rr_path_original arguments.
|
||||
|
||||
|
||||
File: xorriso.info, Node: SetInsert, Next: Manip, Prev: Insert, Up: Options
|
||||
|
||||
@ -1478,12 +1507,28 @@ File: xorriso.info, Node: CmdFind, Next: Filter, Prev: Manip, Up: Options
|
||||
performs command -update with the found file address as
|
||||
iso_rr_path. The corresponding file address is determined
|
||||
like with above action "compare".
|
||||
update_merge
|
||||
is like update but does not delete the found file if it is
|
||||
missing on disk. It may be run several times and records
|
||||
with all visited files whether their counterpart on disk has
|
||||
already been seen by one of the update_merge runs. Finally,
|
||||
a -find run with action "rm_merge" may remove all files that
|
||||
saw no counterpart on disk.
|
||||
Up to the next "rm_merge" or "clear_merge" all newly inserted
|
||||
files will get marked as having a disk counterpart.
|
||||
rm
|
||||
removes the found iso_rr_path from the image if it is not a
|
||||
directory with files in it. I.e. this "rm" includes "rmdir".
|
||||
rm_r
|
||||
removes the found iso_rr_path from the image, including whole
|
||||
directory trees.
|
||||
rm_merge
|
||||
removes the found iso_rr_path if it was visited by one or
|
||||
more previous actions "update_merge" and saw no counterpart
|
||||
on disk in any of them. The marking from the update actions
|
||||
is removed in any case.
|
||||
clear_merge
|
||||
removes an eventual marking from action "update_merge".
|
||||
report_damage
|
||||
classifies files whether they hit a data block that is marked
|
||||
as damaged. The result is printed together with the eventual
|
||||
@ -1846,6 +1891,9 @@ will be written according to the setting of option -acl.
|
||||
"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.
|
||||
"old_empty" uses the old way of of giving block addresses in the
|
||||
range of [0,31] to files with no own data content. The new way is
|
||||
to have a dedicated block to which all such files will point.
|
||||
Default setting is
|
||||
"clear:only_iso_version:deep_paths:long_paths:no_j_force_dots:
|
||||
always_gmt:old_rr".
|
||||
@ -2031,7 +2079,7 @@ will be written according to the setting of option -acl.
|
||||
This is the contrary of cdrecord, wodim, cdrskin option -multi,
|
||||
and is one aspect of growisofs option -dvd-compat.
|
||||
|
||||
-padding number["k"|"m"]
|
||||
-padding number["k"|"m"]|"included"|"appended"
|
||||
Append the given number of extra bytes to the image stream. This
|
||||
is a traditional remedy for a traditional bug in block device read
|
||||
drivers. Needed only for CD recordings in TAO mode. Since one can
|
||||
@ -2039,6 +2087,11 @@ will be written according to the setting of option -acl.
|
||||
the traditional 300k of padding by default to all images.
|
||||
For images which will never get to a CD it is safe to use -padding
|
||||
0 .
|
||||
Normally padding is not written as part of the ISO image but
|
||||
appended after the image end. This is -padding mode "appended".
|
||||
Emulation command -as "mkisofs" and command -jigdo cause padding
|
||||
to be written as part of the image. The same effect is achieved
|
||||
by -padding mode "included".
|
||||
|
||||
|
||||
File: xorriso.info, Node: Bootable, Next: Jigdo, Prev: SetWrite, Up: Options
|
||||
@ -2198,10 +2251,26 @@ filesystem and announced by an MBR partition table entry.
|
||||
The offset value of an ISO image gets preserved when a new session
|
||||
is added. So the value defined here is only in effect if a new
|
||||
ISO image gets written.
|
||||
*partition_sec_hd=*number gives the number of sectors per head for
|
||||
partition offset. 0 chooses a default value.
|
||||
*partition_hd_cyl=*number gives the number of heads per cylinder
|
||||
for partition offset. 0 chooses a default value.
|
||||
for the partition table. 0 chooses a default value. Maximum is 255.
|
||||
*partition_sec_hd=*number gives the number of sectors per head for
|
||||
the partition table. 0 chooses a default value. Maximum is 63.
|
||||
The product partition_sec_hd * partition_hd_cyl * 512 is the
|
||||
cylinder size. It should be divisible by 2048 in order to allow
|
||||
exact alignment. If it is too small to describe the image size by
|
||||
at most 1024 cylinders, then appropriate values of
|
||||
partition_hd_cyl are chosen with partition_sec_hd 32 or 63. If the
|
||||
image is larger than 8,422,686,720 bytes, then the cylinder size
|
||||
constraints cannot be fulfilled.
|
||||
*partition_cyl_align=*mode controls image size alignment to an
|
||||
integer number of cylinders. It is prescribed by isohybrid specs
|
||||
and it seems to please program fdisk. Cylinder size must be
|
||||
divisible by 2048. Images larger than 8,323,596,288 bytes cannot
|
||||
be aligned.
|
||||
Mode "auto" is default. Alignment by padding happens only with
|
||||
"isolinux" "partition_table=on".
|
||||
Mode "on" causes alignment by padding with "partition_table=on"
|
||||
for any type. Mode "off" disables alignment for any type.
|
||||
*mips_path=*iso_rr_path declares a data file in the image to be a
|
||||
MIPS Big Endian boot file and causes production of a MIPS Big
|
||||
Endian Volume Header. This is mutually exclusive with production
|
||||
@ -2602,8 +2671,9 @@ File: xorriso.info, Node: Inquiry, Next: Navigate, Prev: DialogCtl, Up: Opti
|
||||
-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.
|
||||
-jidgo options are given and not command -as "mkisofs" was used,
|
||||
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
|
||||
@ -2739,7 +2809,7 @@ File: xorriso.info, Node: Navigate, Next: Verify, Prev: Inquiry, Up: Options
|
||||
image. The report format is the same as with command -compare.
|
||||
add_missing iso_rr_path_start
|
||||
adds the counterpart if it does not yet exist in the ISO
|
||||
image.
|
||||
image and marks it for "rm_merge" as non-removable.
|
||||
E.g.: -findx /home/thomas -exec add_missing /thomas_on_cd --
|
||||
is_full_in_iso
|
||||
reports if the counterpart in the ISO image contains files.
|
||||
@ -3114,16 +3184,19 @@ programs trigger comparable actions.
|
||||
-hide-joliet-list, file paths and pathspecs. A lot of options are
|
||||
not supported and lead to failure of the mkisofs emulation. Some
|
||||
are ignored, but better do not rely on this tolerance.
|
||||
-graft-points is equivalent to -pathspecs on. Note that pathspecs
|
||||
without "=" are interpreted differently than with xorriso option
|
||||
-add. Directories get merged with the root directory of the ISO
|
||||
image, other filetypes get mapped into that root directory.
|
||||
The supported options are documented in detail in xorrisofs.info
|
||||
and in man xorrisofs. The description here is focused on the effect
|
||||
of mkisofs emulation in the context of a xorriso run.
|
||||
Other than with the "cdrecord" personality there is no automatic
|
||||
-commit at the end of a "mkisofs" option list. Verbosity settings
|
||||
-v (= "UPDATE") and -quiet (= "SORRY") persist. The output file,
|
||||
eventually chosen with -o, persists until things happen like
|
||||
-commit, -rollback, -dev, or end of xorriso. -pacifier gets set
|
||||
to "mkisofs" if files are added to the image.
|
||||
-graft-points is equivalent to -pathspecs on. Note that pathspecs
|
||||
without "=" are interpreted differently than with xorriso option
|
||||
-add. Directories get merged with the root directory of the ISO
|
||||
image, other filetypes get mapped into that root directory.
|
||||
If pathspecs are given and if no output file was chosen before or
|
||||
during the "mkisofs" option list, then standard output (-outdev
|
||||
"-") will get into effect. If -o points to a regular file, then
|
||||
@ -3136,11 +3209,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.
|
||||
Eventual padding is counted as part of the ISO image if not option
|
||||
-emul-toc is given.
|
||||
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.
|
||||
Option -root is supported. Option -old-root is implemented by
|
||||
xorriso commands -mkdir, -cp_clone, -find update_merge, and -find
|
||||
rm_merge. -root and -old-root set command -disk_dev_ino to
|
||||
"ino_only" and -md5 to "on", by default. -disk_dev_ino can be set
|
||||
to "off" by --old-root-no-ino resp. to "on" by --old-root-devno .
|
||||
-md5 can be set to "off" by --old-root-no-md5 .
|
||||
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",
|
||||
@ -3172,11 +3253,12 @@ programs trigger comparable actions.
|
||||
Option -append_partition is supported.
|
||||
-untranslated_name_len number is -compliance
|
||||
untranslated_name_len=number.
|
||||
--old-empty is -compliance old_empty.
|
||||
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.
|
||||
|
||||
Personalites "*xorrisofs*", "*genisoimage*", and "*genisofs*" are
|
||||
Personalities "*xorrisofs*", "*genisoimage*", and "*genisofs*" are
|
||||
aliases for "mkisofs".
|
||||
If xorriso is started with one of the leafnames "xorrisofs",
|
||||
"genisofs", "mkisofs", or "genisoimage", then it performs
|
||||
@ -3184,6 +3266,8 @@ programs trigger comparable actions.
|
||||
arguments. I.e. all arguments will be interpreted mkisofs style
|
||||
until "--" is encountered. From then on, options are interpreted
|
||||
as xorriso options.
|
||||
--no_rc as first argument of such a program start prevents
|
||||
interpretation of startup files. See section FILES below.
|
||||
|
||||
Personality "*cdrecord*" accepts the options listed with:
|
||||
-as cdrecord -help --
|
||||
@ -3216,6 +3300,8 @@ programs trigger comparable actions.
|
||||
will be interpreted cdrecord style until "--" is encountered and
|
||||
an eventual commit happens. From then on, options are interpreted
|
||||
as xorriso options.
|
||||
--no_rc as first argument of such a program start prevents
|
||||
interpretation of xorriso startup files. See section FILES below.
|
||||
|
||||
-read_mkisofsrc
|
||||
Try one by one to open for reading: ./.mkisofsrc , $MKISOFSRC ,
|
||||
@ -3667,12 +3753,18 @@ xorriso -as cdrecord -v dev=/dev/sr0 blank=fast -multi -eject -
|
||||
|
||||
Follow-up sessions are written like this:
|
||||
|
||||
$ dd if=/dev/sr0 count=1 >/dev/null 2>&1
|
||||
$ m=$(xorriso -as cdrecord dev=/dev/sr0 -msinfo)
|
||||
$ xorriso -as mkisofs -M /dev/sr0 -C $m prepared_for_iso/tree2 | \
|
||||
xorriso -as cdrecord -v dev=/dev/sr0 -waiti -multi -eject -
|
||||
|
||||
Always eject the drive tray between sessions. The old sessions get read
|
||||
via stdio:/dev/sr0 and thus are prone to device driver peculiarities.
|
||||
via /dev/sr0. Its device driver might not be aware of the changed
|
||||
content before it loads the media again. In this case the previous
|
||||
session would not be loaded and the new session would contain only the
|
||||
newly added files.
|
||||
For the same reason do not let xorriso -as cdrecord load the media, but
|
||||
rather do this manually or by a program that reads from /dev/sr0.
|
||||
|
||||
This example works for multi-session media only. Add cdrskin option
|
||||
--grow_overwriteable_iso to all -as cdrecord runs in order to enable
|
||||
@ -3774,7 +3866,7 @@ $ xorriso \
|
||||
-dev /dev/sr0 \
|
||||
-volid PROJECTS_MAIL_"$(date '+%Y_%m_%d_%H%M%S')" \
|
||||
-not_leaf '*.o' -not_leaf '*.swp' \
|
||||
-update_r /home/thomas/open_source_projects /open_source_projects \
|
||||
-update_r /home/thomas/projects /projects \
|
||||
-update_r /home/thomas/personal_mail /personal_mail \
|
||||
-commit -toc -check_md5 FAILURE -- -eject all
|
||||
|
||||
@ -3812,6 +3904,15 @@ commands for older sessions in the table-of-content. E.g. as superuser:
|
||||
|
||||
# osirrox -mount /dev/sr0 "volid" '*2008_12_05*' /mnt
|
||||
|
||||
Above example produces a result similar to -root / -old-root / with
|
||||
mkisofs. For getting the session trees accumulated in the new
|
||||
sessions, let all -update commands use a common parent directory and
|
||||
clone it after updating is done:
|
||||
-update_r /home/thomas/projects /current/projects \
|
||||
-update_r /home/thomas/personal_mail /current/personal_mail \
|
||||
-clone /current /"$(date '+%Y_%m_%d_%H%M%S')" \
|
||||
The cloned tree will have a name like /2011_02_12_155700.
|
||||
|
||||
Sessions on multi-session media are separated by several MB of unused
|
||||
blocks. So with small sessions the payload capacity can become
|
||||
substantially lower than the overall media capacity. If the remaining
|
||||
@ -3917,6 +4018,9 @@ File: xorriso.info, Node: Seealso, Next: Legal, Prev: Files, Up: Top
|
||||
12 See also
|
||||
***********
|
||||
|
||||
For the mkisofs emulation of xorriso
|
||||
xorrisofs(1)
|
||||
|
||||
For mounting xorriso generated ISO 9660 images (-t iso9660)
|
||||
mount(8)
|
||||
|
||||
@ -3950,7 +4054,7 @@ for libburnia-project.org
|
||||
13.2 Copyright
|
||||
==============
|
||||
|
||||
Copyright (c) 2007 - 2010 Thomas Schmitt
|
||||
Copyright (c) 2007 - 2011 Thomas Schmitt
|
||||
Permission is granted to distribute this text freely. 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 then you are
|
||||
@ -3977,24 +4081,24 @@ 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 155)
|
||||
* -abstract_file sets abstract file name: SetWrite. (line 158)
|
||||
* -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)
|
||||
* -alter_date sets timestamps in ISO image: Manip. (line 146)
|
||||
* -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 114)
|
||||
(line 202)
|
||||
* -application_id sets application id: SetWrite. (line 117)
|
||||
* -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 162)
|
||||
* -ban_stdio_write demands real drive: Loading. (line 246)
|
||||
* -biblio_file sets biblio file name: SetWrite. (line 165)
|
||||
* -blank erases media: Writing. (line 45)
|
||||
* -boot_image controls bootability: Bootable. (line 26)
|
||||
* -calm_drive reduces drive activity: Loading. (line 228)
|
||||
* -calm_drive reduces drive activity: Loading. (line 235)
|
||||
* -cd sets working directory in ISO: Navigate. (line 7)
|
||||
* -cdx sets working directory on disk: Navigate. (line 16)
|
||||
* -charset sets input/output character set: Charset. (line 43)
|
||||
@ -4008,7 +4112,8 @@ 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 257)
|
||||
* -clone copies ISO directory tree: Insert. (line 171)
|
||||
* -close controls media closing: SetWrite. (line 260)
|
||||
* -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)
|
||||
@ -4016,7 +4121,8 @@ 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 149)
|
||||
* -copyright_file sets copyright file name: SetWrite. (line 152)
|
||||
* -cp_clone copies ISO directory tree: Insert. (line 182)
|
||||
* -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)
|
||||
@ -4025,17 +4131,17 @@ File: xorriso.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: Top
|
||||
* -dev aquires one drive for input and output: AqDrive. (line 10)
|
||||
* -devices gets list of drives: Inquiry. (line 7)
|
||||
* -dialog enables dialog mode: DialogCtl. (line 7)
|
||||
* -disk_dev_ino fast incremental backup: Loading. (line 182)
|
||||
* -disk_dev_ino fast incremental backup: Loading. (line 189)
|
||||
* -disk_pattern controls pattern expansion: Insert. (line 31)
|
||||
* -displacement compensate altered image start address: Loading.
|
||||
(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 246)
|
||||
* -dummy controls write simulation: SetWrite. (line 249)
|
||||
* -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 233)
|
||||
* -dvd_obs set write block size: SetWrite. (line 236)
|
||||
* -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)
|
||||
@ -4050,14 +4156,14 @@ File: xorriso.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: Top
|
||||
* -find traverses and alters ISO tree: CmdFind. (line 7)
|
||||
* -findx traverses disk tree: Navigate. (line 105)
|
||||
* -follow softlinks and mount points: SetInsert. (line 76)
|
||||
* -for_backup -acl,-xattr,-hardlinks,-md5: Loading. (line 177)
|
||||
* -for_backup -acl,-xattr,-hardlinks,-md5: Loading. (line 184)
|
||||
* -format formats media: Writing. (line 69)
|
||||
* -fs sets size of fifo: SetWrite. (line 250)
|
||||
* -fs sets size of fifo: SetWrite. (line 253)
|
||||
* -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 190)
|
||||
* -gid sets global ownership: SetWrite. (line 193)
|
||||
* -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)
|
||||
@ -4066,8 +4172,7 @@ File: xorriso.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: Top
|
||||
* -in_charset sets input character set: Loading. (line 92)
|
||||
* -indev aquires a drive for input: AqDrive. (line 22)
|
||||
* -iso_rr_pattern controls pattern expansion: Manip. (line 10)
|
||||
* -jigdo clears JTE or sets input/output character set: Jigdo.
|
||||
(line 33)
|
||||
* -jigdo clears JTE or or adds parameter to JTE: Jigdo. (line 33)
|
||||
* -joliet enables production of Joliet tree: SetWrite. (line 10)
|
||||
* -list_delimiter replaces '--': Scripting. (line 38)
|
||||
* -list_formats lists available formats: Writing. (line 107)
|
||||
@ -4100,30 +4205,30 @@ 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 180)
|
||||
* -out_charset sets output character set: SetWrite. (line 183)
|
||||
* -outdev aquires a drive for output: AqDrive. (line 29)
|
||||
* -overwrite enables overwriting in ISO: SetInsert. (line 127)
|
||||
* -pacifier controls pacifier text form: Emulation. (line 142)
|
||||
* -padding sets amount of image padding: SetWrite. (line 263)
|
||||
* -pacifier controls pacifier text form: Emulation. (line 158)
|
||||
* -padding sets amount or mode of image padding: SetWrite. (line 266)
|
||||
* -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 168)
|
||||
* -preparer_id sets preparer id: SetWrite. (line 171)
|
||||
* -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 108)
|
||||
* -pvd_info shows image id strings: Inquiry. (line 81)
|
||||
* -publisher sets publisher id: SetWrite. (line 111)
|
||||
* -pvd_info shows image id strings: Inquiry. (line 82)
|
||||
* -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 130)
|
||||
(line 146)
|
||||
* -reassure enables confirmation question: DialogCtl. (line 32)
|
||||
* -report_about controls verbosity: Exception. (line 55)
|
||||
* -return_with controls exit value: Exception. (line 39)
|
||||
@ -4132,8 +4237,8 @@ File: xorriso.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: Top
|
||||
* -rmdir deletes ISO directory: Manip. (line 32)
|
||||
* -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 152)
|
||||
* -rom_toc_scan searches for sessions: Loading. (line 210)
|
||||
* -scdbackup_tag enables scdbackup checksum tag: Emulation. (line 168)
|
||||
* -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)
|
||||
@ -4147,27 +4252,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 206)
|
||||
* -speed set write speed: SetWrite. (line 209)
|
||||
* -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 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)
|
||||
* -stdio_sync controls stdio buffer: SetWrite. (line 243)
|
||||
* -stream_recording controls defect management: SetWrite. (line 224)
|
||||
* -system_id sets system id: SetWrite. (line 126)
|
||||
* -tell_media_space reports free space: Inquiry. (line 78)
|
||||
* -temp_mem_limit curbs memory consumption: Scripting. (line 70)
|
||||
* -toc shows list of sessions: Inquiry. (line 18)
|
||||
* -uid sets global ownership: SetWrite. (line 186)
|
||||
* -uid sets global ownership: SetWrite. (line 189)
|
||||
* -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 28)
|
||||
* -version prints help text: Scripting. (line 19)
|
||||
* -volid sets volume id: SetWrite. (line 84)
|
||||
* -volset_id sets volume set id: SetWrite. (line 103)
|
||||
* -volume_date sets volume timestamp: SetWrite. (line 130)
|
||||
* -volid sets volume id: SetWrite. (line 87)
|
||||
* -volset_id sets volume set id: SetWrite. (line 106)
|
||||
* -volume_date sets volume timestamp: SetWrite. (line 133)
|
||||
* -xattr controls handling of xattr (EA): Loading. (line 150)
|
||||
* -zisofs controls zisofs production: SetWrite. (line 194)
|
||||
* -zisofs controls zisofs production: SetWrite. (line 197)
|
||||
|
||||
|
||||
File: xorriso.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top
|
||||
@ -4186,24 +4291,26 @@ File: xorriso.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top
|
||||
* ACL, show in ISO image, -getfacl: Navigate. (line 69)
|
||||
* ACL, show in ISO image, -getfacl_r: Navigate. (line 76)
|
||||
* Appendable media, _definition: Media. (line 38)
|
||||
* Appended Filesystem Image, -append_partition: Bootable. (line 186)
|
||||
* Appended Filesystem Image, -append_partition: Bootable. (line 202)
|
||||
* 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 152)
|
||||
* Backup, enable fast incremental, -disk_dev_ino: Loading. (line 189)
|
||||
* Backup, enable features, -for_backup: Loading. (line 184)
|
||||
* Backup, scdbackup checksum tag, -scdbackup: Emulation. (line 168)
|
||||
* Blank media, _definition: Media. (line 29)
|
||||
* Blind growing, _definition: Methods. (line 40)
|
||||
* Bootability, control, -boot_image: Bootable. (line 26)
|
||||
* cdrecord, Emulation: Emulation. (line 97)
|
||||
* cdrecord, Emulation: Emulation. (line 111)
|
||||
* 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 180)
|
||||
* Character Set, for output, -out_charset: SetWrite. (line 183)
|
||||
* 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)
|
||||
* Comment, #: Scripting. (line 128)
|
||||
* Create, new ISO image, _definiton: Methods. (line 6)
|
||||
* Cylinder alignment, _definiton: Bootable. (line 169)
|
||||
* Cylinder size, _definiton: Bootable. (line 158)
|
||||
* Delete, from ISO image, -rm: Manip. (line 21)
|
||||
* Delete, from ISO image, -rm_r: Manip. (line 28)
|
||||
* Delete, ISO directory, -rmdir: Manip. (line 32)
|
||||
@ -4212,27 +4319,29 @@ File: xorriso.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top
|
||||
* Dialog, enable dialog mode, -dialog: DialogCtl. (line 7)
|
||||
* Dialog, line editing, -use_readline: DialogCtl. (line 28)
|
||||
* Dialog, terminal geometry, -page: DialogCtl. (line 19)
|
||||
* Directories, copy, -cp_clone: Insert. (line 182)
|
||||
* Directory, copy, -clone: Insert. (line 171)
|
||||
* Directory, create, -mkdir: Insert. (line 166)
|
||||
* Directory, delete, -rmdir: Manip. (line 32)
|
||||
* disk_path, _definition: Insert. (line 6)
|
||||
* Drive, _definiton: Drives. (line 6)
|
||||
* Drive, accessability, -drive_class: Loading. (line 54)
|
||||
* Drive, demand real MMC, -ban_stdio_write: Loading. (line 239)
|
||||
* Drive, demand real MMC, -ban_stdio_write: Loading. (line 246)
|
||||
* Drive, eject tray, -eject: Writing. (line 36)
|
||||
* Drive, for input and output, -dev: AqDrive. (line 10)
|
||||
* Drive, for input, -indev: AqDrive. (line 22)
|
||||
* Drive, for output, -outdev: AqDrive. (line 29)
|
||||
* Drive, get drive list, -devices: Inquiry. (line 7)
|
||||
* Drive, list supported media, -list_profiles: Writing. (line 119)
|
||||
* Drive, reduce activity, -calm_drive: Loading. (line 228)
|
||||
* Drive, reduce activity, -calm_drive: Loading. (line 235)
|
||||
* Drive, report SCSI commands, -scsi_log: Scripting. (line 113)
|
||||
* 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 130)
|
||||
* Emulation, cdrecord, -as: Emulation. (line 97)
|
||||
* Emulation, .mkisofsrc, -read_mkisofsrc: Emulation. (line 146)
|
||||
* Emulation, cdrecord, -as: Emulation. (line 111)
|
||||
* Emulation, mkisofs, -as: Emulation. (line 16)
|
||||
* Emulation, pacifier form, -pacifier: Emulation. (line 142)
|
||||
* Emulation, pacifier form, -pacifier: Emulation. (line 158)
|
||||
* Examples: Examples. (line 6)
|
||||
* Filter, _definition: Filter. (line 6)
|
||||
* Filter, apply to file tree, -set_filter_r: Filter. (line 84)
|
||||
@ -4242,8 +4351,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 194)
|
||||
* Group, global in ISO image, -gid: SetWrite. (line 190)
|
||||
* Filter, zisofs parameters, -zisofs: SetWrite. (line 197)
|
||||
* Group, global in ISO image, -gid: SetWrite. (line 193)
|
||||
* Group, in ISO image, -chgrp: Manip. (line 50)
|
||||
* Group, in ISO image, -chgrp_r: Manip. (line 55)
|
||||
* Growing, _definition: Methods. (line 19)
|
||||
@ -4252,17 +4361,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 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)
|
||||
* Image, set abstract file name, -abstract_file: SetWrite. (line 158)
|
||||
* Image, set application id, -application_id: SetWrite. (line 117)
|
||||
* Image, set biblio file name, -biblio_file: SetWrite. (line 165)
|
||||
* Image, set copyright file name, -copyright_file: SetWrite. (line 152)
|
||||
* Image, set preparer id, -preparer_id: SetWrite. (line 171)
|
||||
* Image, set publisher id, -publisher: SetWrite. (line 111)
|
||||
* Image, set system id, -system_id: SetWrite. (line 126)
|
||||
* Image, set volume id, -volid: SetWrite. (line 87)
|
||||
* Image, set volume set id, -volset_id: SetWrite. (line 106)
|
||||
* Image, set volume timestamp, -volume_date: SetWrite. (line 133)
|
||||
* Image, show id strings, -pvd_info: Inquiry. (line 82)
|
||||
* 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)
|
||||
@ -4295,7 +4404,7 @@ File: xorriso.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top
|
||||
* Media, erase, -blank: Writing. (line 45)
|
||||
* Media, format, -format: Writing. (line 69)
|
||||
* Media, list formats, -list_formats: Writing. (line 107)
|
||||
* MIPS boot file, activation: Bootable. (line 162)
|
||||
* MIPS boot file, activation: Bootable. (line 178)
|
||||
* mkisofs, Emulation: Emulation. (line 16)
|
||||
* Modifying, _definition: Methods. (line 27)
|
||||
* Multi-session media, _definition: Media. (line 7)
|
||||
@ -4318,7 +4427,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 186)
|
||||
* Ownership, global in ISO image, -uid: SetWrite. (line 189)
|
||||
* Ownership, in ISO image, -chown: Manip. (line 42)
|
||||
* Ownership, in ISO image, -chown_r: Manip. (line 47)
|
||||
* Partition offset, _definiton: Bootable. (line 148)
|
||||
@ -4374,10 +4483,10 @@ File: xorriso.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top
|
||||
* Session, mount command line, -mount_cmd: Inquiry. (line 31)
|
||||
* Session, mount parameters, -mount_opts: Inquiry. (line 47)
|
||||
* Session, select as input, -load: Loading. (line 11)
|
||||
* SUN Disk Label, production: Bootable. (line 173)
|
||||
* SUN SPARC boot images, activation: Bootable. (line 207)
|
||||
* SUN Disk Label, production: Bootable. (line 189)
|
||||
* SUN SPARC boot images, activation: Bootable. (line 223)
|
||||
* System area, _definiton: Bootable. (line 123)
|
||||
* Table-of-content, search sessions, -rom_toc_scan: Loading. (line 203)
|
||||
* Table-of-content, search sessions, -rom_toc_scan: Loading. (line 210)
|
||||
* Table-of-content, show, -toc: Inquiry. (line 18)
|
||||
* Timestamps, set in ISO image, -alter_date: Manip. (line 146)
|
||||
* Timestamps, set in ISO image, -alter_date_r: Manip. (line 166)
|
||||
@ -4390,22 +4499,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 233)
|
||||
* Write, block size, -dvd_obs: SetWrite. (line 236)
|
||||
* Write, bootability, -boot_image: Bootable. (line 26)
|
||||
* Write, buffer syncing, -stdio_sync: SetWrite. (line 240)
|
||||
* Write, close media, -close: SetWrite. (line 257)
|
||||
* Write, buffer syncing, -stdio_sync: SetWrite. (line 243)
|
||||
* Write, close media, -close: SetWrite. (line 260)
|
||||
* Write, compliance to specs, -compliance: SetWrite. (line 14)
|
||||
* Write, defect management, -stream_recording: SetWrite. (line 221)
|
||||
* Write, defect management, -stream_recording: SetWrite. (line 224)
|
||||
* Write, enable Joliet, -joliet: SetWrite. (line 10)
|
||||
* Write, fifo size, -fs: SetWrite. (line 250)
|
||||
* Write, free space, -tell_media_space: Inquiry. (line 77)
|
||||
* Write, fifo size, -fs: SetWrite. (line 253)
|
||||
* Write, free space, -tell_media_space: Inquiry. (line 78)
|
||||
* 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 263)
|
||||
* Write, padding image, -padding: SetWrite. (line 266)
|
||||
* Write, pending ISO image, -commit: Writing. (line 13)
|
||||
* Write, predict image size, -print_size: Inquiry. (line 69)
|
||||
* Write, set speed, -speed: SetWrite. (line 206)
|
||||
* Write, simulation, -dummy: SetWrite. (line 246)
|
||||
* Write, set speed, -speed: SetWrite. (line 209)
|
||||
* Write, simulation, -dummy: SetWrite. (line 249)
|
||||
* xattr, _definiton: Extras. (line 52)
|
||||
* xattr, control handling, -xattr: Loading. (line 150)
|
||||
* xattr, set in ISO image, -setfattr: Manip. (line 110)
|
||||
@ -4429,46 +4538,46 @@ Node: Dialog21570
|
||||
Node: Options23227
|
||||
Node: AqDrive24835
|
||||
Node: Loading27741
|
||||
Node: Insert40885
|
||||
Node: SetInsert49242
|
||||
Node: Manip57809
|
||||
Node: CmdFind66490
|
||||
Node: Filter76914
|
||||
Node: Writing81263
|
||||
Node: SetWrite87552
|
||||
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
|
||||
Node: Insert41367
|
||||
Node: SetInsert50986
|
||||
Node: Manip59553
|
||||
Node: CmdFind68234
|
||||
Node: Filter79534
|
||||
Node: Writing83883
|
||||
Node: SetWrite90172
|
||||
Node: Bootable104113
|
||||
Node: Jigdo117431
|
||||
Node: Charset121689
|
||||
Node: Exception124440
|
||||
Node: DialogCtl128955
|
||||
Node: Inquiry131542
|
||||
Node: Navigate135919
|
||||
Node: Verify143859
|
||||
Node: Restore152448
|
||||
Node: Emulation159104
|
||||
Node: Scripting168940
|
||||
Node: Frontend174502
|
||||
Node: Examples175797
|
||||
Node: ExDevices176966
|
||||
Node: ExCreate177600
|
||||
Node: ExDialog178874
|
||||
Node: ExGrowing180136
|
||||
Node: ExModifying180938
|
||||
Node: ExBootable181439
|
||||
Node: ExCharset181986
|
||||
Node: ExPseudo182814
|
||||
Node: ExCdrecord183708
|
||||
Node: ExMkisofs184023
|
||||
Node: ExGrowisofs185359
|
||||
Node: ExException186483
|
||||
Node: ExTime186937
|
||||
Node: ExIncBackup187396
|
||||
Node: ExRestore191317
|
||||
Node: ExRecovery192286
|
||||
Node: Files192852
|
||||
Node: Seealso194080
|
||||
Node: Legal194660
|
||||
Node: CommandIdx195582
|
||||
Node: ConceptIdx209889
|
||||
|
||||
End Tag Table
|
||||
|
@ -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 "Jan 06, 2011"
|
||||
@c man .TH XORRISO 1 "Mar 09, 2011"
|
||||
@c man .\" Please adjust this date whenever revising the manpage.
|
||||
@c man .\"
|
||||
@c man .\" Some roff macros, for reference:
|
||||
@ -965,6 +965,7 @@ 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 man .TP
|
||||
@item -acl "on"|"off"
|
||||
@kindex -acl controls handling of ACLs
|
||||
@cindex ACL, control handling, -acl
|
||||
@ -982,7 +983,7 @@ Enable or disable processing of xattr attributes in user namespace.
|
||||
If enabled, then xorriso will handle xattr similar to ACL.
|
||||
See also options -getfattr, -setfattr and above paragraph about xattr.
|
||||
@c man .TP
|
||||
@item -md5 "on"|"all"|"off"
|
||||
@item -md5 "on"|"all"|"off"|"load_check_off"
|
||||
@kindex -md5 controls handling of MD5 sums
|
||||
@cindex MD5, control handling, -md5
|
||||
Enable or disable processing of MD5 checksums for the overall session and for
|
||||
@ -1005,6 +1006,15 @@ Mode "all" will additionally check during image generation whether the checksum
|
||||
of a data file changed between the time when its reading began and the time
|
||||
when it ended. This implies reading every file twice.
|
||||
@*
|
||||
Mode "load_check_off" together with "on" or "all" will load recorded MD5 sums
|
||||
but not test the recorded checksum tags of superblock and directory tree.
|
||||
This is necessary if growisofs was used as burn program, because it does
|
||||
not overwrite the superblock checksum tag of the first session.
|
||||
Therefore load_check_off is in effect when xorriso -as mkisofs option -M
|
||||
is performed.
|
||||
@*
|
||||
The test can be re-enabled by mode "load_check_on".
|
||||
@*
|
||||
Checksums can be exploited via options -check_md5, -check_md5_r, via find
|
||||
actions get_md5, check_md5, and via -check_media.
|
||||
@c man .TP
|
||||
@ -1311,6 +1321,35 @@ If the iso_rr_path does not begin with '/' then -cd is prepended.
|
||||
Create empty directories if they do not exist yet.
|
||||
Existence as directory generates a WARNING event, existence as
|
||||
other file causes a FAILURE event.
|
||||
@c man .TP
|
||||
@item -clone iso_rr_path_original iso_rr_path_copy
|
||||
@kindex -clone copies ISO directory tree
|
||||
@cindex Directory, copy, -clone
|
||||
Create a copy of the ISO file object iso_rr_path_original with the new
|
||||
address iso_rr_path_copy. If the original is a directory then copy all
|
||||
files and directories underneath. An eventual boot catalog file gets
|
||||
not copied but is silently ignored.
|
||||
@*
|
||||
The copied ISO file objects have the same attributes. Copied data files
|
||||
refer to the same content source as their originals.
|
||||
The copies may then be manipulated independendly of their originals.
|
||||
@*
|
||||
This command will refuse execution if the address iso_rr_path_copy
|
||||
already exists in the ISO tree.
|
||||
@c man .TP
|
||||
@item -cp_clone iso_rr_path_original [***] iso_rr_path_dest
|
||||
@kindex -cp_clone copies ISO directory tree
|
||||
@cindex Directories, copy, -cp_clone
|
||||
Create copies of one or more ISO file objects as with command -clone.
|
||||
Eventually merge directories with existing ones, but do not overwrite
|
||||
existing ISO file objects.
|
||||
@*
|
||||
The rules for generating the copy addresses are the same as with
|
||||
command -cpr (see above) resp. shell command cp -r. Other than with -cpr,
|
||||
relative iso_rr_path_original will get prepended the -cd path and not
|
||||
the -cdx path. Consider to -mkdir iso_rr_path_dest before -cp_clone
|
||||
so the copy address does not depend on the number of iso_rr_path_original
|
||||
arguments.
|
||||
@end table
|
||||
@c man .TP
|
||||
@c man .B Settings for file insertion:
|
||||
@ -1985,6 +2024,16 @@ performs command -update with the found file address as
|
||||
iso_rr_path. The corresponding file address is determined like with above
|
||||
action "compare".
|
||||
@*
|
||||
@item update_merge
|
||||
is like update but does not delete the found file if it is missing on disk.
|
||||
It may be run several times and records with all visited files whether their
|
||||
counterpart on disk has already been seen by one of the update_merge runs.
|
||||
Finally, a -find run with action "rm_merge" may remove all files that
|
||||
saw no counterpart on disk.
|
||||
@*
|
||||
Up to the next "rm_merge" or "clear_merge" all newly inserted files will
|
||||
get marked as having a disk counterpart.
|
||||
@*
|
||||
@item rm
|
||||
removes the found iso_rr_path from the image if it is not a directory
|
||||
with files in it. I.e. this "rm" includes "rmdir".
|
||||
@ -1993,6 +2042,14 @@ with files in it. I.e. this "rm" includes "rmdir".
|
||||
removes the found iso_rr_path from the image, including whole
|
||||
directory trees.
|
||||
@*
|
||||
@item rm_merge
|
||||
removes the found iso_rr_path if it was visited by one or more previous actions
|
||||
"update_merge" and saw no counterpart on disk in any of them. The marking from
|
||||
the update actions is removed in any case.
|
||||
@*
|
||||
@item clear_merge
|
||||
removes an eventual marking from action "update_merge".
|
||||
@*
|
||||
@item report_damage
|
||||
classifies files whether they hit a data block that is
|
||||
marked as damaged. The result is printed together with the eventual address
|
||||
@ -2464,6 +2521,10 @@ but makes the image incapable of displaying its session history.
|
||||
compliant to ISO 9660:1999. It can record long filenames for readers which
|
||||
do not understand Rock Ridge.
|
||||
@*
|
||||
"old_empty" uses the old way of of giving block addresses in the range
|
||||
of [0,31] to files with no own data content. The new way is to have
|
||||
a dedicated block to which all such files will point.
|
||||
@*
|
||||
Default setting is
|
||||
@*
|
||||
"clear:only_iso_version:deep_paths:long_paths:no_j_force_dots:
|
||||
@ -2716,8 +2777,8 @@ any more (if possible at all with the given type of target media).
|
||||
This is the contrary of cdrecord, wodim, cdrskin option -multi,
|
||||
and is one aspect of growisofs option -dvd-compat.
|
||||
@c man .TP
|
||||
@item -padding number["k"|"m"]
|
||||
@kindex -padding sets amount of image padding
|
||||
@item -padding number["k"|"m"]|"included"|"appended"
|
||||
@kindex -padding sets amount or mode of image padding
|
||||
@cindex Write, padding image, -padding
|
||||
Append the given number of extra bytes to the image stream.
|
||||
This is a traditional remedy for a traditional bug in block
|
||||
@ -2726,6 +2787,13 @@ Since one can hardly predict on what media an image might end up,
|
||||
xorriso adds the traditional 300k of padding by default to all images.
|
||||
@*
|
||||
For images which will never get to a CD it is safe to use -padding 0 .
|
||||
@*
|
||||
Normally padding is not written as part of the ISO image but appended
|
||||
after the image end. This is -padding mode "appended".
|
||||
@*
|
||||
Emulation command -as "mkisofs" and command -jigdo cause padding to be
|
||||
written as part of the image.
|
||||
The same effect is achieved by -padding mode "included".
|
||||
@end table
|
||||
@c man .TP
|
||||
@c man .B Bootable ISO images:
|
||||
@ -2933,11 +3001,31 @@ absolute start as well as from the partition start.
|
||||
The offset value of an ISO image gets preserved when a new session is added.
|
||||
So the value defined here is only in effect if a new ISO image gets written.
|
||||
@*
|
||||
@strong{partition_sec_hd=}number gives the number of sectors per head for
|
||||
partition offset. 0 chooses a default value.
|
||||
@*
|
||||
@cindex Cylinder size, _definiton
|
||||
@strong{partition_hd_cyl=}number gives the number of heads per cylinder for
|
||||
partition offset. 0 chooses a default value.
|
||||
the partition table. 0 chooses a default value. Maximum is 255.
|
||||
@*
|
||||
@strong{partition_sec_hd=}number gives the number of sectors per head for
|
||||
the partition table. 0 chooses a default value. Maximum is 63.
|
||||
@*
|
||||
The product partition_sec_hd * partition_hd_cyl * 512 is the cylinder size.
|
||||
It should be divisible by 2048 in order to allow exact alignment.
|
||||
If it is too small to describe the image size by at most 1024 cylinders,
|
||||
then appropriate values of partition_hd_cyl are chosen with
|
||||
partition_sec_hd 32 or 63. If the image is larger than 8,422,686,720 bytes,
|
||||
then the cylinder size constraints cannot be fulfilled.
|
||||
@*
|
||||
@cindex Cylinder alignment, _definiton
|
||||
@strong{partition_cyl_align=}mode controls image size alignment to an integer
|
||||
number of cylinders. It is prescribed by isohybrid specs and it seems to
|
||||
please program fdisk. Cylinder size must be divisible by 2048.
|
||||
Images larger than 8,323,596,288 bytes cannot be aligned.
|
||||
@*
|
||||
Mode "auto" is default. Alignment by padding happens only with
|
||||
"isolinux" "partition_table=on".
|
||||
@*
|
||||
Mode "on" causes alignment by padding with "partition_table=on" for any type.
|
||||
Mode "off" disables alignment for any type.
|
||||
@*
|
||||
@cindex MIPS boot file, activation
|
||||
@strong{mips_path=}iso_rr_path declares a data file in the image to be a
|
||||
@ -3051,7 +3139,7 @@ eventual padding will be counted as part of the ISO image.
|
||||
@sp 1
|
||||
@c man .TP
|
||||
@item -jigdo parameter_name value
|
||||
@kindex -jigdo clears JTE or sets input/output character set
|
||||
@kindex -jigdo clears JTE or or adds parameter to JTE
|
||||
@cindex Jigdo Template Extraction, -jigdo
|
||||
Clear Jigdo Template Extraction parameter list or add a parameter to that list.
|
||||
The alias names are the corresponding genisoimage options. They are accepted
|
||||
@ -3479,8 +3567,8 @@ 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.
|
||||
If no -jidgo options are given and not command -as "mkisofs" was used,
|
||||
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
|
||||
@ -3676,7 +3764,7 @@ not exist in the ISO image. The report format is the same as with command
|
||||
@*
|
||||
@item add_missing iso_rr_path_start
|
||||
adds the counterpart if it does not yet
|
||||
exist in the ISO image.
|
||||
exist in the ISO image and marks it for "rm_merge" as non-removable.
|
||||
@*
|
||||
E.g.: -findx /home/thomas -exec add_missing /thomas_on_cd @minus{}@minus{}
|
||||
@*
|
||||
@ -4142,10 +4230,9 @@ file paths and pathspecs.
|
||||
A lot of options are not supported and lead to failure of the mkisofs
|
||||
emulation. Some are ignored, but better do not rely on this tolerance.
|
||||
@*
|
||||
-graft-points is equivalent to -pathspecs on. Note that pathspecs without "="
|
||||
are interpreted differently than with xorriso option -add. Directories get
|
||||
merged with the root directory of the ISO image, other filetypes get mapped
|
||||
into that root directory.
|
||||
The supported options are documented in detail in xorrisofs.info
|
||||
and in man xorrisofs. The description here is focused on the effect
|
||||
of mkisofs emulation in the context of a xorriso run.
|
||||
@*
|
||||
Other than with the "cdrecord" personality there is no automatic -commit at
|
||||
the end of a "mkisofs" option list. Verbosity settings -v (= "UPDATE") and
|
||||
@ -4153,6 +4240,11 @@ the end of a "mkisofs" option list. Verbosity settings -v (= "UPDATE") and
|
||||
persists until things happen like -commit, -rollback, -dev, or end of xorriso.
|
||||
-pacifier gets set to "mkisofs" if files are added to the image.
|
||||
@*
|
||||
-graft-points is equivalent to -pathspecs on. Note that pathspecs without "="
|
||||
are interpreted differently than with xorriso option -add. Directories get
|
||||
merged with the root directory of the ISO image, other filetypes get mapped
|
||||
into that root directory.
|
||||
@*
|
||||
If pathspecs are given and if no output file was chosen before or during the
|
||||
"mkisofs" option list, then standard output (-outdev "-") will get into effect.
|
||||
If -o points to a regular file, then it will be truncated to 0 bytes
|
||||
@ -4167,11 +4259,22 @@ standard output.
|
||||
-print-size inhibits automatic image production at program end. This ban is
|
||||
lifted only if the pending image changes get discarded.
|
||||
@*
|
||||
Eventual padding is counted as part of the ISO image if not option --emul-toc
|
||||
is given.
|
||||
@*
|
||||
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.
|
||||
@*
|
||||
Option -root is supported. Option -old-root is implemented by xorriso
|
||||
commands -mkdir, -cp_clone, -find update_merge, and -find rm_merge.
|
||||
-root and -old-root set command -disk_dev_ino to "ino_only" and -md5 to "on",
|
||||
by default.
|
||||
@minus{}disk_dev_ino can be set to "off" by @minus{}@minus{}old-root-no-ino
|
||||
resp. to "on" by @minus{}@minus{}old-root-devno .
|
||||
@minus{}md5 can be set to "off" by @minus{}@minus{}old-root-no-md5 .
|
||||
@*
|
||||
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 .
|
||||
@ -4217,13 +4320,15 @@ Option @minus{}append_partition is supported.
|
||||
@minus{}untranslated_name_len number is
|
||||
@minus{}compliance untranslated_name_len=number.
|
||||
@*
|
||||
@minus{}@minus{}old-empty is -compliance old_empty.
|
||||
@*
|
||||
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.
|
||||
@*
|
||||
@sp 1
|
||||
|
||||
Personalites "@strong{xorrisofs}", "@strong{genisoimage}",
|
||||
Personalities "@strong{xorrisofs}", "@strong{genisoimage}",
|
||||
and "@strong{genisofs}" are aliases for "mkisofs".
|
||||
@*
|
||||
If xorriso is started with one of the leafnames "xorrisofs", "genisofs",
|
||||
@ -4233,6 +4338,9 @@ I.e. all arguments will be interpreted mkisofs style until "@minus{}@minus{}"
|
||||
is encountered.
|
||||
From then on, options are interpreted as xorriso options.
|
||||
@*
|
||||
@minus{}@minus{}no_rc as first argument of such a program start
|
||||
prevents interpretation of startup files. See section FILES below.
|
||||
@*
|
||||
@sp 1
|
||||
|
||||
@cindex Emulation, cdrecord, -as
|
||||
@ -4278,6 +4386,9 @@ If xorriso is started with one of the leafnames "xorrecord", "cdrskin",
|
||||
to the command line arguments. I.e. all arguments will be interpreted cdrecord
|
||||
style until "@minus{}@minus{}" is encountered and an eventual commit happens.
|
||||
From then on, options are interpreted as xorriso options.
|
||||
@*
|
||||
@minus{}@minus{}no_rc as first argument of such a program start
|
||||
prevents interpretation of xorriso startup files. See section FILES below.
|
||||
@c man .TP
|
||||
@item -read_mkisofsrc
|
||||
@kindex -read_mkisofsrc searches and reads .mkisofsrc file
|
||||
@ -4933,6 +5044,8 @@ $ xorriso -as mkisofs prepared_for_iso/tree1 | \
|
||||
Follow-up sessions are written like this:
|
||||
@*
|
||||
@sp 1
|
||||
$ dd if=/dev/sr0 count=1 >/dev/null 2>&1
|
||||
@*
|
||||
$ m=$(xorriso -as cdrecord dev=/dev/sr0 -msinfo)
|
||||
@*
|
||||
$ xorriso -as mkisofs -M /dev/sr0 -C $m prepared_for_iso/tree2 | \
|
||||
@ -4941,8 +5054,13 @@ $ xorriso -as mkisofs -M /dev/sr0 -C $m prepared_for_iso/tree2 | \
|
||||
@*
|
||||
@sp 1
|
||||
Always eject the drive tray between sessions. The old sessions
|
||||
get read via stdio:/dev/sr0 and thus are prone to device driver
|
||||
peculiarities.
|
||||
get read via /dev/sr0. Its device driver might not be aware
|
||||
of the changed content before it loads the media again.
|
||||
In this case the previous session would not be loaded and the
|
||||
new session would contain only the newly added files.
|
||||
@*
|
||||
For the same reason do not let xorriso -as cdrecord load the media,
|
||||
but rather do this manually or by a program that reads from /dev/sr0.
|
||||
@*
|
||||
@sp 1
|
||||
This example works for multi-session media only.
|
||||
@ -5088,7 +5206,7 @@ $ xorriso \
|
||||
@*
|
||||
-not_leaf '*.o' -not_leaf '*.swp' \
|
||||
@*
|
||||
-update_r /home/thomas/open_source_projects /open_source_projects \
|
||||
-update_r /home/thomas/projects /projects \
|
||||
@*
|
||||
-update_r /home/thomas/personal_mail /personal_mail \
|
||||
@*
|
||||
@ -5138,6 +5256,21 @@ older sessions in the table-of-content. E.g. as superuser:
|
||||
# osirrox -mount /dev/sr0 "volid" '*2008_12_05*' /mnt
|
||||
@*
|
||||
@sp 1
|
||||
@c man .sp 1
|
||||
Above example produces a result similar to -root / -old-root / with mkisofs.
|
||||
For getting the session trees accumulated in the new sessions, let all -update
|
||||
commands use a common parent directory and clone it after updating is done:
|
||||
@*
|
||||
-update_r /home/thomas/projects /current/projects \
|
||||
@*
|
||||
-update_r /home/thomas/personal_mail /current/personal_mail \
|
||||
@*
|
||||
-clone /current /"$(date '+%Y_%m_%d_%H%M%S')" \
|
||||
@*
|
||||
The cloned tree will have a name like /2011_02_12_155700.
|
||||
@*
|
||||
@sp 1
|
||||
@c man .sp 1
|
||||
Sessions on multi-session media are separated by several MB of unused blocks.
|
||||
So with small sessions the payload capacity can become substantially lower
|
||||
than the overall media capacity. If the remaining space on media does not
|
||||
@ -5145,6 +5278,7 @@ suffice for the next gap, the drive is supposed to close the media
|
||||
automatically.
|
||||
@*
|
||||
@sp 1
|
||||
@c man .sp 1
|
||||
@strong{Better do not use your youngest backup for -update_r}.
|
||||
Have at least two media which you use alternatingly. So only older backups
|
||||
get endangered by the new write operation, while the newest backup is
|
||||
@ -5258,6 +5392,9 @@ The default setting of -check_media abort_file= is:
|
||||
@*
|
||||
@c man .SH SEE ALSO
|
||||
@c man .TP
|
||||
@c man For the mkisofs emulation of xorriso
|
||||
@c man .BR xorrisofs(1)
|
||||
@c man .TP
|
||||
@c man For mounting xorriso generated ISO 9660 images (-t iso9660)
|
||||
@c man .BR mount(8)
|
||||
@c man .TP
|
||||
@ -5286,6 +5423,8 @@ The default setting of -check_media abort_file= is:
|
||||
@node Seealso, Legal, Files, Top
|
||||
@chapter See also
|
||||
@table @asis
|
||||
@item For the mkisofs emulation of xorriso
|
||||
xorrisofs(1)
|
||||
@item For mounting xorriso generated ISO 9660 images (-t iso9660)
|
||||
mount(8)
|
||||
@item Libreadline, a comfortable input line facility
|
||||
@ -5316,7 +5455,7 @@ Thomas Schmitt <scdbackup@@gmx.net>
|
||||
for libburnia-project.org
|
||||
@c man .SH COPYRIGHT
|
||||
@section Copyright
|
||||
Copyright (c) 2007 - 2010 Thomas Schmitt
|
||||
Copyright (c) 2007 - 2011 Thomas Schmitt
|
||||
@*
|
||||
Permission is granted to distribute this text freely. It shall only be
|
||||
modified in sync with the technical properties of xorriso. If you make use
|
||||
|
@ -446,19 +446,21 @@ This can bring effective read performance near to the raw media reading speed.
|
||||
<P>
|
||||
<DL>
|
||||
<DT><H3>Download as source code (see README):</H3></DT>
|
||||
<DD><A HREF="xorriso-0.6.6.tar.gz">xorriso-0.6.6.tar.gz</A>
|
||||
(1765 KB).
|
||||
<DD><A HREF="xorriso-1.0.4.tar.gz">xorriso-1.0.4.tar.gz</A>
|
||||
(1885 KB).
|
||||
</DD>
|
||||
<DD>(Released 12 Dec 2010)</DD>
|
||||
<DD><A HREF="xorriso-0.6.6.tar.gz.sig">xorriso-0.6.6.tar.gz.sig</A></DD>
|
||||
<DD>(Released 10 Mar 2011)</DD>
|
||||
<DD><A HREF="xorriso-1.0.4.tar.gz.sig">xorriso-1.0.4.tar.gz.sig</A></DD>
|
||||
<DD>
|
||||
(detached GPG signature for verification by
|
||||
<KBD>gpg --verify xorriso-0.6.6.tar.gz.sig xorriso-0.6.6.tar.gz</KBD>).
|
||||
<KBD>gpg --verify xorriso-1.0.4.tar.gz.sig xorriso-1.0.4.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.6.tar.gz
|
||||
as xorriso/xorriso-1.0.4.tar.gz
|
||||
</DD>
|
||||
</DL>
|
||||
</DD>
|
||||
@ -466,7 +468,14 @@ as xorriso/xorriso-0.6.6.tar.gz
|
||||
<DL><DT>Documentation:</DT>
|
||||
<DD><A HREF="README_xorriso">README</A> about installation and drive setup</DD>
|
||||
<DD><A HREF="xorriso_help">xorriso -help</A> gives an overview of options</DD>
|
||||
<DD><A HREF="xorrisofs_help">xorriso -as mkisofs -help</A>
|
||||
supported options of mkisofs emulation
|
||||
</DD>
|
||||
<DD><A HREF="xorrecord_help">xorriso -as cdrecord -help</A>
|
||||
supported options of cdrecord emulation</DD>
|
||||
<DD><A HREF="man_1_xorriso.html">man xorriso</A> is the manual page</DD>
|
||||
<DD><A HREF="man_1_xorrisofs_devel.html">man xorrisofs</A>
|
||||
describes the mkisofs emulation</DD>
|
||||
</DL>
|
||||
<A NAME="contact"></A>
|
||||
<DL><DT>Contact:</DT>
|
||||
@ -486,10 +495,22 @@ as xorriso/xorriso-0.6.6.tar.gz
|
||||
<HR>
|
||||
|
||||
<P>
|
||||
Bug fixes towards xorriso-0.6.4:
|
||||
Bug fixes towards xorriso-1.0.2:
|
||||
<UL>
|
||||
<LI>-as mkisofs -print-size printed the size but also produced ISO image</LI>
|
||||
<LI>Build problem fix on Linux 2.4</LI>
|
||||
<LI>xorrisofs did not work under growisofs -M (version 1.0.0 was still ok)
|
||||
</LI>
|
||||
<LI>-as mkisofs -C attempted to read volume header of blank media
|
||||
</LI>
|
||||
<LI>-as mkisofs -old-root did not work with -graft-points
|
||||
</LI>
|
||||
<LI>-as mkisofs -partition_hd_cyl had no effect
|
||||
</LI>
|
||||
<LI>-as mkisofs did not properly unescape target part of pathspecs
|
||||
</LI>
|
||||
<LI>isohybrid image size was not aligned to cylinder boundary
|
||||
</LI>
|
||||
<LI>Compilation without zlib failed
|
||||
</LI>
|
||||
<!--
|
||||
<LI>- none -</LI>
|
||||
-->
|
||||
@ -507,16 +528,18 @@ Bug fixes in .pl01 towards xorriso-:
|
||||
-->
|
||||
|
||||
<P>
|
||||
Enhancements towards previous stable version xorriso-0.6.4:
|
||||
Enhancements towards previous stable version xorriso-1.0.2:
|
||||
<UL>
|
||||
|
||||
<LI>New -as mkisofs option -joliet-long</LI>
|
||||
<LI>
|
||||
New bootspec sparc_label=, new -as mkisofs options -sparc-boot , -sparc-label
|
||||
for SUN SPARC systems.
|
||||
<LI>New -padding modes "included" and "appended"
|
||||
</LI>
|
||||
<LI>
|
||||
New action estimate_size for -find and -findx
|
||||
New bootspec partition_cyl_align=, new -as mkisofs option -partition_cyl_align
|
||||
</LI>
|
||||
<LI>
|
||||
New -as mkisofs and -as cdrecord option --no_rc
|
||||
</LI>
|
||||
<LI>
|
||||
Own man page and info document for xorrisofs
|
||||
</LI>
|
||||
|
||||
<!--
|
||||
@ -541,16 +564,16 @@ libburnia project and the legal intentions of
|
||||
<A HREF="http://www.fsf.org/"> FSF </A> match completely.
|
||||
</DT>
|
||||
<DD> </DD>
|
||||
<DT>libburn-0.9.1</DT>
|
||||
<DT>libburn-1.0.4</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.41</DT>
|
||||
<DT>libisofs-1.0.4</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.6</DT>
|
||||
<DT>libisoburn-1.0.4</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
|
||||
@ -571,8 +594,8 @@ cdrecord and mkisofs.</DT>
|
||||
|
||||
<P>
|
||||
<DL>
|
||||
<DT><H3>Development snapshot, version 0.6.7 :</H3></DT>
|
||||
<DD>Bug fixes towards xorriso-0.6.6:
|
||||
<DT><H3>Development snapshot, version 1.0.5 :</H3></DT>
|
||||
<DD>Bug fixes towards xorriso-1.0.4:
|
||||
<UL>
|
||||
<LI>- none yet -</LI>
|
||||
<!--
|
||||
@ -580,10 +603,11 @@ cdrecord and mkisofs.</DT>
|
||||
-->
|
||||
</UL>
|
||||
</DD>
|
||||
<DD>Enhancements towards stable version 0.6.6:
|
||||
<DD>Enhancements towards stable version 1.0.4:
|
||||
<UL>
|
||||
<LI>- none yet -</LI>
|
||||
<!--
|
||||
<LI>- none yet -</LI>
|
||||
-->
|
||||
</UL>
|
||||
|
||||
@ -591,9 +615,12 @@ cdrecord and mkisofs.</DT>
|
||||
|
||||
|
||||
<DD> </DD>
|
||||
<DD><A HREF="README_xorriso_devel">README 0.6.7</A>
|
||||
<DD><A HREF="xorriso_help_devel">xorriso_0.6.7 -help</A></DD>
|
||||
<DD><A HREF="man_1_xorriso_devel.html">man xorriso (as of 0.6.7)</A></DD>
|
||||
<DD><A HREF="README_xorriso_devel">README 1.0.5</A>
|
||||
<DD><A HREF="xorriso_help_devel">xorriso-1.0.5 -help</A></DD>
|
||||
<DD><A HREF="xorrisofs_help_devel">xorriso-1.0.5 -as mkisofs -help</A></DD>
|
||||
<DD><A HREF="xorrecord_help_devel">xorriso-1.0.5 -as cdrecord -help</A></DD>
|
||||
<DD><A HREF="man_1_xorriso_devel.html">man xorriso (as of 1.0.5)</A></DD>
|
||||
<DD><A HREF="man_1_xorrisofs_devel.html">man xorrisofs (as of 1.0.5)</A></DD>
|
||||
<DD> </DD>
|
||||
<DT>If you want to distribute development versions of xorriso, then use
|
||||
this tarball which produces static linking between xorriso and the
|
||||
@ -603,8 +630,8 @@ libburnia libraries.
|
||||
installation see README)
|
||||
</DD>
|
||||
<DD>
|
||||
<A HREF="xorriso-0.6.7.tar.gz">xorriso-0.6.7.tar.gz</A>
|
||||
(1765 KB).
|
||||
<A HREF="xorriso-1.0.5.tar.gz">xorriso-1.0.5.tar.gz</A>
|
||||
(1885 KB).
|
||||
</DD>
|
||||
<DT>A dynamically linked development version of xorriso can be obtained
|
||||
from repositories of
|
||||
@ -701,7 +728,7 @@ scdbackup, multi volume CD/DVD/BD backup</A></DD>
|
||||
<BR>
|
||||
Legal statement: This website does not serve any commercial purpose.
|
||||
<BR><BR>
|
||||
Copyright © 2008 - 2010 Thomas Schmitt.
|
||||
Copyright © 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.
|
||||
|
@ -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 7
|
||||
#define Xorriso_req_majoR 1
|
||||
#define Xorriso_req_minoR 0
|
||||
#define Xorriso_req_micrO 4
|
||||
|
||||
|
||||
static void yell_xorriso()
|
||||
|
@ -291,9 +291,13 @@ indent: $(indent_files)
|
||||
|
||||
# Extra things
|
||||
|
||||
man_MANS = xorriso/xorriso.1
|
||||
man_MANS = \
|
||||
xorriso/xorriso.1 \
|
||||
xorriso/xorrisofs.1
|
||||
|
||||
info_TEXINFOS = xorriso/xorriso.texi
|
||||
info_TEXINFOS = \
|
||||
xorriso/xorriso.texi \
|
||||
xorriso/xorrisofs.texi
|
||||
|
||||
EXTRA_DIST = \
|
||||
xorriso.pc.in \
|
||||
|
@ -20,7 +20,13 @@
|
||||
|
||||
|
||||
/* for uint32_t */
|
||||
#ifdef HAVE_STDINT_H
|
||||
#include <stdint.h>
|
||||
#else
|
||||
#ifdef HAVE_INTTYPES_H
|
||||
#include <inttypes.h>
|
||||
#endif
|
||||
#endif
|
||||
|
||||
|
||||
/** The source code release timestamp */
|
||||
@ -144,12 +150,18 @@ struct XorrisO { /* the global context of xorriso */
|
||||
bit2= write MD5 for each data file
|
||||
bit3= make file content stability check by double reading
|
||||
bit4= use recorded MD5 as proxy of ISO file
|
||||
bit5= with bit0: do not check tags of superblock,tree,session
|
||||
*/
|
||||
|
||||
int no_emul_toc; /* bit0= On overwriteables:
|
||||
write first session to LBA 0 rather than 32.
|
||||
*/
|
||||
|
||||
int do_old_empty; /* See -compliance old_empty
|
||||
own data content: range [0,31]. The new way is to have
|
||||
a dedicated block to which all such files will point.
|
||||
*/
|
||||
|
||||
char scdbackup_tag_name[81];
|
||||
char scdbackup_tag_time[19];
|
||||
char scdbackup_tag_written[512];
|
||||
@ -284,10 +296,13 @@ struct XorrisO { /* the global context of xorriso */
|
||||
int speed; /* in libburn units : 1000 bytes/second , 0 = Max, -1 = Min */
|
||||
int fs; /* fifo size in 2048 byte chunks : at most 1 GB */
|
||||
int padding; /* number of bytes to add after ISO 9660 image */
|
||||
int do_padding_by_libisofs; /* 0= by libburn , 1= by libisofs */
|
||||
|
||||
int alignment; /* if > 0 : image size alignment in 2048 byt blocks */
|
||||
/* <<< not sure whether to keep this after libisofs will have
|
||||
learned to pad up MBR images to full MB */
|
||||
int alignment; /* if > 0 : output size alignment in 2048 byte blocks.
|
||||
This is always done by libburn, i.e. attached
|
||||
outside the image. Eventual inner alignment of
|
||||
the image end happens first.
|
||||
*/
|
||||
|
||||
int do_stream_recording; /* 0=no, 1=yes, 2=for data, not for dir
|
||||
>=16 means yes with number as start LBA */
|
||||
@ -327,6 +342,12 @@ struct XorrisO { /* the global context of xorriso */
|
||||
else: unspecified type
|
||||
1= MIPS Big Endian Volume Header
|
||||
2= MIPS Little Endian Boot Block
|
||||
3= SUN Disk Label for SUN SPARC
|
||||
bit8-9= Only with System area type 0
|
||||
Cylinder alignment mode
|
||||
0 = auto (align if bit1)
|
||||
1 = always align
|
||||
2 = never align
|
||||
*/
|
||||
int patch_system_area; /* Bits as of system_area_options.
|
||||
to be applied to the loaded system
|
||||
@ -571,6 +592,10 @@ struct XorrisO { /* the global context of xorriso */
|
||||
|
||||
struct PermiteM *perm_stack; /* Temporarily altered dir access permissions */
|
||||
|
||||
/* bit0= update_merge active: mark all newly added nodes as visited+found
|
||||
*/
|
||||
int update_flags;
|
||||
|
||||
/* result (stdout, R: ) */
|
||||
char result_line[10*SfileadrL];
|
||||
int result_line_counter;
|
||||
|
@ -1 +1 @@
|
||||
#define Xorriso_timestamP "2011.01.16.182558"
|
||||
#define Xorriso_timestamP "2011.03.10.110001"
|
||||
|
@ -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 7
|
||||
#define xorriso_libisoburn_req_major 1
|
||||
#define xorriso_libisoburn_req_minor 0
|
||||
#define xorriso_libisoburn_req_micro 4
|
||||
|
||||
|
||||
struct SpotlisT; /* List of intervals with different read qualities */
|
||||
@ -112,6 +112,9 @@ int Xorriso_blank_as_needed(struct XorrisO *xorriso, int flag);
|
||||
bit1= remove empty directory: rmdir
|
||||
bit2= recursion: do not reassure in mode 2 "tree"
|
||||
bit3= this is for overwriting and not for plain removal
|
||||
bit4= count deleted files in xorriso->pacifier_count
|
||||
bit5= with bit0 only remove directory content, not the directory
|
||||
bit6= do not delete eventually existing node from di_array
|
||||
@return <=0 = error
|
||||
1 = removed simple node
|
||||
2 = removed directory or tree
|
||||
@ -120,6 +123,7 @@ int Xorriso_blank_as_needed(struct XorrisO *xorriso, int flag);
|
||||
int Xorriso_rmi(struct XorrisO *xorriso, void *boss_iter, off_t boss_mem,
|
||||
char *path, int flag);
|
||||
|
||||
|
||||
/* @param flag bit0= long format
|
||||
bit1= do not print count of nodes
|
||||
bit2= du format
|
||||
@ -556,5 +560,15 @@ int Xorriso_jigdo_interpreter(struct XorrisO *xorriso, char *aspect, char *arg,
|
||||
int Xorriso_estimate_file_size(struct XorrisO *xorriso, struct FindjoB *job,
|
||||
char *basename, mode_t st_mode, off_t st_size, int flag);
|
||||
|
||||
|
||||
int Xorriso_clone_tree(struct XorrisO *xorriso, void *boss_iter,
|
||||
char *origin, char *dest, int flag);
|
||||
|
||||
int Xorriso_clone_under(struct XorrisO *xorriso, char *origin, char *dest,
|
||||
int flag);
|
||||
|
||||
int Xorriso_mark_update_merge(struct XorrisO *xorriso, char *path,
|
||||
void *node, int flag);
|
||||
|
||||
#endif /* Xorrisoburn_includeD */
|
||||
|
||||
|
1501
xorriso/xorrisofs.1
Normal file
1501
xorriso/xorrisofs.1
Normal file
File diff suppressed because it is too large
Load Diff
1809
xorriso/xorrisofs.info
Normal file
1809
xorriso/xorrisofs.info
Normal file
File diff suppressed because it is too large
Load Diff
2040
xorriso/xorrisofs.texi
Normal file
2040
xorriso/xorrisofs.texi
Normal file
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user