Compare commits

...

11 Commits

14 changed files with 659 additions and 130 deletions

18
README
View File

@ -4,7 +4,7 @@
libisoburn. 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.4.0.pl00.tar.gz
http://files.libburnia-project.org/releases/libisoburn-0.4.2.pl02.tar.gz
Copyright (C) 2006-2009 Vreixo Formoso, Thomas Schmitt.
Provided under GPL version 2.
------------------------------------------------------------------------------
@ -29,17 +29,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.4.0 :
- libburn.so.4 , version libburn-0.6.4 or higher
- libisofs.so.6 , version libisofs-0.6.20 or higher
Dynamic library and compile time header requirements for libisoburn-0.4.2 :
- libburn.so.4 , version libburn-0.7.0 or higher
- libisofs.so.6 , version libisofs-0.6.22 or higher
libisoburn and xorriso will not start with libraries which are older than their
headers seen at compile time.
Obtain libisoburn-0.4.0.pl00.tar.gz, take it to a directory of your choice
Obtain libisoburn-0.4.2.pl02.tar.gz, take it to a directory of your choice
and do:
tar xzf libisoburn-0.4.0.pl00.tar.gz
cd libisoburn-0.4.0
tar xzf libisoburn-0.4.2.pl02.tar.gz
cd libisoburn-0.4.2
Within that directory execute:
@ -94,8 +94,8 @@ user id differ. This ban can be lifted by
Drives and Disk File Objects
The user of libisoburn applications needs rw-permission for the CD/DVD burner
devices which shall be used.
The user of libisoburn applications needs rw-permission for the CD/DVD/BD
drives which shall be used, even if only reading is intended.
A list of rw-accessible drives can be obtained by
xorriso -devices
resp. by libburn API call

View File

@ -1,4 +1,4 @@
AC_INIT([libisoburn], [0.4.1], [http://libburnia-project.org])
AC_INIT([libisoburn], [0.4.2], [http://libburnia-project.org])
AC_PREREQ([2.50])
dnl AC_CONFIG_HEADER([config.h])
@ -21,7 +21,7 @@ dnl
dnl These three are only copies to provide libtool with unused LT_RELEASE
ISOBURN_MAJOR_VERSION=0
ISOBURN_MINOR_VERSION=4
ISOBURN_MICRO_VERSION=1
ISOBURN_MICRO_VERSION=2
dnl ISOBURN_VERSION=$ISOBURN_MAJOR_VERSION.$ISOBURN_MINOR_VERSION.$ISOBURN_MICRO_VERSION
@ -34,16 +34,16 @@ dnl Libtool versioning
dnl Generate libisoburn.so.1.x.y
dnl SONAME will become LT_CURRENT - LT_AGE
dnl
dnl ts A90628
dnl ### This is the release version 0.4.0 = libisoburn.so.1.29.0
dnl This is the development version after above stable release
dnl ts A90829
dnl This is the release version 0.4.2 = libisoburn.so.1.31.0
dnl ### This is the development version after above stable release
dnl LT_CURRENT++, LT_AGE++ have not happened happened yet.
dnl ### LT_CURRENT++, LT_AGE++ has happened meanwhile.
dnl
dnl SONAME = 30 - 29 = 1 . Library name = libisoburn.so.1.29.0
dnl SONAME = 32 - 31 = 1 . Library name = libisoburn.so.1.31.0
LT_RELEASE=$ISOBURN_MAJOR_VERSION.$ISOBURN_MINOR_VERSION
LT_CURRENT=30
LT_AGE=29
LT_CURRENT=32
LT_AGE=31
LT_REVISION=0
LT_CURRENT_MINUS_AGE=`expr $LT_CURRENT - $LT_AGE`

View File

@ -260,7 +260,7 @@ int isoburn_libburn_req(int *major, int *minor, int *micro);
*/
#define isoburn_header_version_major 0
#define isoburn_header_version_minor 4
#define isoburn_header_version_micro 1
#define isoburn_header_version_micro 2
/** Note:
Above version numbers are also recorded in configure.ac because libtool
wants them as parameters at build time.

View File

@ -4,12 +4,12 @@
xorriso. By Thomas Schmitt <scdbackup@gmx.net>
Integrated sub project of libburnia-project.org but also published via:
http://scdbackup.sourceforge.net/xorriso_eng.html
http://scdbackup.sourceforge.net/xorriso-0.4.1.tar.gz
http://scdbackup.sourceforge.net/xorriso-0.4.2.pl02.tar.gz
Copyright (C) 2006-2009 Thomas Schmitt, provided under GPL version 2.
------------------------------------------------------------------------------
xorriso is a program which maps file objects from POSIX compliant
xorriso is a program which copies file objects from POSIX compliant
filesystems into Rock Ridge enhanced ISO 9660 filesystems and allows
session-wise manipulation of such filesystems. It can load the management
information of existing ISO images and it writes the session results to
@ -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.4.1.tar.gz, take it to a directory of your choice and do:
Obtain xorriso-0.4.2.pl02.tar.gz, take it to a directory of your choice and do:
tar xzf xorriso-0.4.1.tar.gz
cd xorriso-0.4.1
tar xzf xorriso-0.4.2.pl02.tar.gz
cd xorriso-0.4.2
Within that directory execute:
@ -108,7 +108,8 @@ If you want xorriso to report a "Build timestamp" with its option -version:
Drives and Disk File Objects
The user of xorriso needs rw-permission for the CD burner device.
The user of libisoburn applications needs rw-permission for the CD/DVD/BD
drives which shall be used, even if only reading is intended.
A list of rw-accessible drives can be obtained by
xorriso -devices
@ -185,8 +186,9 @@ and vice versa:
File Formats
Currently there is only one file format peculiar to xorriso : sector maps
which describe the valid and invalid blocks on a media or a disk copy of
Sector Maps
Sector maps describe the valid and invalid blocks on a media or a disk copy of
a media. xorriso creates and reads these file with its option -check_media.
The file begins with 32 bytes of cleartext of which the last one is a
@ -202,6 +204,45 @@ bit in the map. Then come the bits in form of 8-bit bytes.
Data block M is covered by bit B=M/S in the map, bit number B is stored in
byte B/8 as bit B%8. A valid readable data block has its bit set to 1.
Checksum Tags
Checksum tags are data blocks inside an ISO 9660 image which do not belong to
any file but rather tell the MD5 of a certain range of data blocks.
The superblock checksum tag is written after the ECMA-119 volume descriptors.
The tree checksum tag is written after the ECMA-119 directory entries.
The session checksum tag is written after all payload including the checksum
array. (Then follows eventual padding.)
The tags are single lines of printable text, padded by 0 bytes. They have
the following format:
Tag_id pos=# range_start=# range_size=# [session_start|next=#] md5=# self=#\n
Parameters md5= and self= are 32 digit hex, the others are decimal numbers.
Tag_id distinguishes the following tag types
"libisofs_rlsb32_checksum_tag_v1" Relocated 64 kB superblock tag
"libisofs_sb_checksum_tag_v1" Superblock tag
"libisofs_tree_checksum_tag_v1" Directory tree tag
"libisofs_checksum_tag_v1" Session tag
A relocated superblock may appear at LBA 0 of an image which was produced for
being stored in a disk file or on overwriteable media (e.g. DVD+R, BD-RE).
xorriso records a first session recorded with its superblock at LBA 32 and
the may follow at the next block address after the session tag which is
divisible by 32. Normally no session starts after the address given by
relocated superblock parameter session_start=.
Session oriented media like CD-R[W], DVD+R, BD-R will have no relocated
superblock but rather bear a table-of-content on media level.
A tag is valid if pos= tells its own block address and self= tells its own MD5
up to the last hex digit of md5=. range_start= tells the first block that is
covered by md5=, range_size= tells the number of blocks covered by md5=.
Relocated superblocks tell the block address of their session by session_start=.
Superblock and tree tag tell the block address of the next tag by next=.
The newline character at the end is mandatory.
libisoburn
@ -223,8 +264,8 @@ This binary is leaner but depends on properly installed libraries of suitable
revision.
Dynamic library and compile time header requirements for libisoburn-0.4.0 :
- libburn.so.4 , version libburn-0.6.4 or higher
- libisofs.so.6 , version libisofs-0.6.20 or higher
- libburn.so.4 , version libburn-0.7.0 or higher
- libisofs.so.6 , version libisofs-0.6.22 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.

View File

@ -5872,14 +5872,363 @@ xorriso/configure_ac.txt
xorriso/xorriso_timestamp.h
Version leap to libisoburn-0.4.1
[]
28 Jun 2009 [2686]
xorriso/changelog.txt
Documented changes and release timestamp
28 Jun 2009 [2687]
svn move -m 'Promoted branch to tag' \
http://svn.libburnia-project.org/libisoburn/branches/ZeroFourZero \
http://svn.libburnia-project.org/libisoburn/tags/ZeroFourZero
------------------------------------ cycle - xorriso-0.4.1 - 2009.06.28.100124
------------------------------------ cycle - xorriso-0.4.1 -
------------------------------------ cycle - xorriso-0.4.1 -
2009.06.30.120311 [2688]
configure.ac
xorriso/configure_ac.txt
Provisory patch on ticket 152: GNU libiconv needs -liconv but offers no iconv()
2009.06.30.154606 [2689]
xorriso/xorriso.c
Bug fix: Ticket 149, one byte overflow of local variable.
2009.07.07.175748 [2690]
configure.ac
xorriso/configure_ac.txt
Aligned configure --help texts provided by own code in configure.ac
2009.07.07.193955 [2693]
acinclude.m4
configure.ac
xorriso/configure_ac.txt
configure options --enable-libdir-pkgconfig and --enable-pkgconfig-path=DIR
2009.07.14.134423 [2701]
xorriso/configure_ac.txt
Adapted xorriso-standalone to version leap libburn-0.6.9
2009.07.19.214008 [2703]
xorriso/xorriso.c
Bug fix: xorriso -as mkisofs did not understand the -C option of growisofs any more
------------------------------------ cycle - xorriso-0.4.1 - 2009.07.19.214008
Bug fix: xorriso -as mkisofs did not understand the -C option of growisofs any more
------------------------------ release - xorriso-0.4.0.pl01 - 2009.07.20.060001
Bug fix: xorriso -as mkisofs did not understand the -C option of growisofs any more
23 Jul 2009 [2704]
xorriso/xorriso.1
More emphasis on early use of -hardlinks, -acl, -xattr etc.
2009.07.23.103339 [2705]
xorriso/compile_xorriso.sh
xorriso/xorriso_makefile_am.txt
Adopted new libisofs source module md5.[cho]
2009.07.23.103728 [2706]
xorriso/xorriso.c
xorriso/xorrisoburn.c
Showing a better link count with -hardlinks on -lsl
2009.07.25.181857 [2707]
xorriso/xorriso_private.h
xorriso/xorriso.c
xorriso/xorrisoburn.c
xorriso/xorriso_eng.html
Updating sorted link array before usage after image manipulations
------------------------------------ cycle - xorriso-0.4.1 - 2009.07.25.181857
Options -lsl and lsdl now display correct link counts if -hardlinks is on
2009.08.03.075954 [2708]
xorriso/xorrisoburn.c
Bug fix: Use of freed memory with -hardlinks on and -update
03 Aug 2009 [2709]
xorriso/xorriso.1
Hints about -hardlinks and file content filtering
2009.08.10.123146 [2710]
xorriso/xorriso.c
xorriso/xorrisoburn.c
xorriso/xorriso.1
New find actions get_md5, get_any_xattr, test -has_any_xattr
2009.08.10.192240 [2711]
libisoburn/libisoburn.h
libisoburn/isoburn.h
libisoburn/isoburn.c
libisoburn/isofs_wrap.c
New write options session_md5, file_md5, read option nomd5
2009.08.10.193843 [2712]
xorriso/xorriso_private.h
xorriso/xorriso.c
xorriso/xorrisoburn.c
xorriso/xorriso.1
New option -md5, new -as mkisofs option --md5
2009.08.10.194416 [2713]
xorriso/xorriso.h
xorriso/xorrisoburn.h
Missing changes in rev 2710 and 2712
2009.08.11.194836 [2714]
configure.ac
libisoburn/libisoburn.h
Requiring at least libisofs-0.6.21 now
2009.08.11.194836 [2715]
xorriso/xorriso_private.h
xorriso/xorriso.h
xorriso/xorriso.c
xorriso/xorrisoburn.h
xorriso/xorrisoburn.c
xorriso/xorriso.1
New options -check_md5, -check_md5_r, find action check_md5, test -has_md5
2009.08.12.130401 [2716]
xorriso/xorriso_private.h
xorriso/xorriso.c
xorriso/xorrisoburn.c
xorriso/xorriso.1
Completed find action check_md5
2009.08.12.202423 [2717]
xorriso/xorriso_private.h
xorriso/xorriso.c
xorriso/xorrisoburn.h
xorriso/xorrisoburn.c
xorriso/xorriso.1
Checking MD5 of whole session with -check_md5 and empty path list
2009.08.13.203718 [2718]
xorriso/xorriso.c
xorriso/xorrisoburn.h
xorriso/xorrisoburn.c
Better reaction wich -check_md5 if no MD5 array is loaded
2009.08.14.102355 [2719]
xorriso/xorriso.c
xorriso/xorrisoburn.c
More timely abort of find jobs if the result pager gets aborted
2009.08.14.211648 [2720]
xorriso/xorriso_private.h
xorriso/xorriso.c
xorriso/xorriso.1
Letting -check_media look for session checksum tags
2009.08.15.173403 [2724]
xorriso/xorriso_private.h
xorriso/xorriso.c
xorriso/xorrisoburn.h
xorriso/xorriso.1
Introduced -check_media event= for mismatch events
2009.08.16.200906 [2725]
xorriso/xorriso.c
xorriso/xorrisoburn.c
Adapted to a change in iso_util_decode_md5_tag()
2009.08.17.162456 [2726]
libisoburn/burn_wrap.c
Giving overwriteable media a single-session toc with isoburn_drive_aquire(bit4)
2009.08.17.162834 [2727]
xorriso/xorrisoburn.c
-check_media recognizes relocated 64kB superblock tag and hops over session gaps
2009.08.18.173453 [2728]
xorriso/xorrisoburn.c
Making use of new API call iso_md5_match() and adapted to MD5 image mismatches
2009.08.18.191013 [2729]
xorriso/xorriso.c
xorriso/xorriso.1
Included -md5 on with option -for_backup
------------------------------------ cycle - xorriso-0.4.1 - 2009.08.18.191013
New option -md5, new -as mkisofs option --md5
New options -check_md5, -check_md5_r
New find actions check_md5 get_md5, get_any_xattr
New find tests -has_md5, -has_any_xattr
libisoburn: New write options session_md5, file_md5, read option nomd5
2009.08.19.180632 [2730]
libisoburn/libisoburn.h
libisoburn/isoburn.h
libisoburn/isoburn.c
Adapted to enhanced iso_write_opts_set_record_md5()
2009.08.19.180842 [2731]
xorriso/xorriso_private.h
xorriso/xorriso.c
xorriso/xorrisoburn.c
xorriso/xorriso.1
New -md5 mode "all"
19 Aug 2009 [2732]
xorriso/xorriso_eng.html
Corrections with xorriso web page
2009.08.20.204309 [2733]
xorriso/xorriso.c
xorriso/xorrisoburn.h
xorriso/xorrisoburn.c
xorriso/xorriso.1
Made -compare and -update work with recorded MD5 sums
2009.08.22.184241 [2734]
xorriso/xorriso_private.h
xorriso/xorriso.c
xorriso/xorrisoburn.h
xorriso/xorrisoburn.c
xorriso/xorriso.1
New -find action make_md5 to equip files from old images with MD5
2009.08.24.182839 [2738]
configure.ac
libisoburn/libisoburn.h
Demanding libburn-0.6.9 now
2009.08.24.183750 [2739]
xorriso/xorriso.c
xorriso/xorrisoburn.h
xorriso/xorrisoburn.c
xorriso/xorriso.1
New option -calm_drive
2009.08.25.191217 [2741]
xorriso/xorrisoburn.c
More timely report of library messages with -check_md5
2009.08.25.191325 [2742]
xorriso/xorriso.1
Updated incremental backup example
2009.08.25.191433 [2743]
configure.ac
libisoburn/libisoburn.h
Requiring libisofs-0.6.22 now
2009.08.25.191543 [2744]
xorriso/configure_ac.txt
Adapted xorriso-standalone to version leap libisofs-0.6.23
------------------------------------ cycle - xorriso-0.4.1 - 2009.08.25.191543
Options -compare, -compare_r, -update, update_r now can use recorded MD5
New -find action make_md5 to equip files from old images with MD5
New option -calm_drive
2009.08.27.175608 [2752]
xorriso/xorriso.c
Updated helptext about -find actions, new -as mkisofs option --for_backup
2009.08.27.175719 [2753]
libisoburn/libisoburn.h
configure.ac
Requiring libburn-0.7.0 now
2009.08.27.175806 [2754]
xorriso/configure_ac.txt
Adapted xorriso-standalone to version leap libburn-0.7.1
2009.08.28.100829 [2756]
xorriso/xorriso.c
xorriso/xorrisoburn.h
xorriso/xorrisoburn.c
xorriso/xorriso.1
New option -list_profiles
2009.08.28.101405 [2757]
xorriso/xorriso.c
Forgot to store before committing
2009.08.28.101716 [2758]
xorriso/xorriso_private.h
Forgot to commit xorriso_private.h
2009.08.28.112825 [2759]
xorriso/xorrisoburn.c
Small correction with reporting profile "Removable disk"
------------------------------------ cycle - xorriso-0.4.1 - 2009.08.28.112825
New option -list_profiles
29 Aug 2009 [2760]
svn copy -m "Branching for libisoburn release 0.4.2"
http://svn.libburnia-project.org/libisoburn/trunk
http://svn.libburnia-project.org/libisoburn/branches/ZeroFourTwo
2009.08.29.143001 [2761]
configure.ac
README
libisoburn/libisoburn.h
xorriso/README
xorriso/xorriso.h
xorriso/xorriso.c
xorriso/xorrisoburn.h
xorriso/xorriso_eng.html
xorriso/make_xorriso_standalone.sh
xorriso/configure_ac.txt
xorriso/xorriso_timestamp.h
Version leap to libisoburn-0.4.2
29 Aug 2009 [2762]
xorriso/xorriso.1
Some updates and corrections in xorriso man page
29 Aug 2009 []
xorriso/changelog.txt
Document changes and release timestamp
----------------------------------- release - xorriso-0.4.2 - 2009.08.29.143001
* Bug fix: xorriso -as mkisofs did not understand the -C option of growisofs any more
* Options -lsl and lsdl now display correct link counts if -hardlinks is on
* New option -md5, new -as mkisofs option --md5
* New options -check_md5, -check_md5_r
* New find actions check_md5 get_md5, get_any_xattr
* New find tests -has_md5, -has_any_xattr
* libisoburn: New write options session_md5, file_md5, read option nomd5
* Options -compare, -compare_r, -update, update_r now can use recorded MD5
* New -find action make_md5 to equip files from old images with MD5
* New option -calm_drive
* New option -list_profiles
29 Aug 2009 [2763]
xorriso/xorriso.1
Some updates and corrections in xorriso man page
2009.08.29.180146 [2764]
configure.ac
README
libisoburn/libisoburn.h
xorriso/README
xorriso/xorriso.h
xorriso/xorriso.c
xorriso/xorrisoburn.h
xorriso/xorriso_eng.html
xorriso/make_xorriso_standalone.sh
xorriso/configure_ac.txt
xorriso/xorriso_timestamp.h
Version leap to libisoburn-0.4.3
[]
xorriso/changelog.txt
Document changes and release timestamp
------------------------------------ cycle - xorriso-0.4.3 - 2009.08.29.180146
------------------------------------ cycle - xorriso-0.4.3 -
------------------------------------ cycle - xorriso-0.4.3 -
===============================================================================
TODO
@ -5887,6 +6236,11 @@ Documented changes and release timestamp
------------------------------------------------- bugs
- >>> what about stat.st_nlink ?
- Must it be maintained for directories (i.e. nlink == files + 2)?
There are indications that it should either give the number of subdirs
(including . and ..) or be 1
- what about split files and hard links ?
- xorriso -as cdrecord in rare cases reports intermediate "X of X MB"
@ -5901,23 +6255,21 @@ xorriso : UPDATE : 3691 MB written (fifo 78%) [buf 100%] 2.3x.
------------------------------------------------- important
- Mark data blocks of -check_md5 matching files as valid in sector map ?
- tree of name nodes to represent the cached paths of hardlink candidates.
- register hard link disk path for files with link count 1
and allow in Xorriso_restore_target_hl() to use the own hln_target of
a node when that node is copied to disk a second time.
- libisofs call to create a hard link ?
- during -update*
- what about differently filtered streams ?
It is not wrong but a waste to update them as siblings.
- >>> what about stat.st_nlink ?
- Must it be maintained for directories (i.e. nlink == files + 2)?
There are indications that it should either give the number of subdirs
(including . and ..) or be 1
- It would be nice if xorriso -lsl could display the actual nlink number.
But that is not easy with -map /a /x -map /a /y . One would need a fast
lookup of existing inode tuples. I.e. a permanent RBTree of IsoNode.
Current is a sorted array of Ecma119Node, because Ecma119Node can record
the final inode number in the emerging image easily.
??? Should one unite IsoNode and Ecma119 node ???
- libisofs call to create a hard link ?
- sudo and setuid chapter in man page
? option -sudo_aware
@ -5987,8 +6339,27 @@ xorriso : UPDATE : 3691 MB written (fifo 78%) [buf 100%] 2.3x.
- the error handling system should be comprehensively documented
and eventually rectified where needed.
- the iterators are still not safe with node renamings:
iso_dir_get_children(...);
while(...) {
iso_dir_iter_next(...);
... iso_node_get_name() returns "xyz" ...
iso_node_set_name("xyz.gz");
... iso_file_add_external_filter() returns 2 ...
iso_node_set_name("xyz");
}
- demo/ produces on FreeBSD several binaries of 500k each.
On all systems gcc issues warnings.
- Which demo binary is still valid ?
------ feature enhancements :
- With 100,000 files in a single directory, adding new nodes becomes
very slow with high workload.
Some hash accelerator would be nice.
- isohybrid
- as of syslinux-3.81pre10/utils/isohybrid.in :
- new signature {0xf7, 0xe3, 0xef, 0x0d}

View File

@ -1,4 +1,4 @@
AC_INIT([xorriso], [0.4.1], [http://libburnia-project.org])
AC_INIT([xorriso], [0.4.2], [http://libburnia-project.org])
AC_PREREQ([2.50])
dnl AC_CONFIG_HEADER([config.h])

View File

@ -25,11 +25,11 @@
current_dir=$(pwd)
lone_dir="$current_dir"/"xorriso-standalone"
xorriso_rev=0.4.1
xorriso_rev=0.4.2
# For unstable uploads:
xorriso_pl=""
## xorriso_pl=""
# For stable releases:
## xorriso_pl=".pl00"
xorriso_pl=".pl00"
with_bootstrap_tarball=1

View File

@ -2,7 +2,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 "Aug 28, 2009"
.TH XORRISO 1 "Aug 29, 2009"
.\" Please adjust this date whenever revising the manpage.
.\"
.\" Some roff macros, for reference:
@ -3452,11 +3452,13 @@ in the ISO image so that they become exact copies of their disk counterparts.
ISO file objects get created, deleted or get their attributes adjusted
accordingly.
.br
ACL, xattr and hard links will be recorded. Accelerated comparison is enabled
at the expense of potentially larger backup size.
Only media with the expected volume id or blank media are accepted.
ACL, xattr, hard links and MD5 checksums will be recorded.
Accelerated comparison is enabled at the expense of potentially larger backup
size. Only media with the expected volume id or blank media are accepted.
Files with names matching *.o or *.swp get excluded explicitely.
.br
When done with writing the new session gets checked by its recorded MD5.
.br
\fB$\fR xorriso \\
.br
-for_backup -disk_dev_ino on \\
@ -3473,7 +3475,7 @@ Files with names matching *.o or *.swp get excluded explicitely.
.br
-update_r /home/thomas/personal_mail /personal_mail \\
.br
-commit -toc -eject all
-commit -toc -check_md5 FAILURE -- -eject all
.br
To be used several times on the same media, whenever an update of
the two disk trees to the media is desired. Begin with blank media and start

View File

@ -10219,6 +10219,54 @@ int Xorriso_reaquire_outdev(struct XorrisO *xorriso, int flag)
}
int Xorriso_cdrskin_help(struct XorrisO *xorriso, int flag)
{
static char helptext[][80]= {
"Usage: xorriso -as cdrecord [options|source_addresses]",
"Note: This is not cdrecord. See xorriso -help, xorriso -version, man xorriso",
"Options:",
"\t-version\tprint version information and exit emulation",
"\t--devices\tprint list of available MMC drives and exit emulation",
"\tdev=target\tpseudo-SCSI target to use as CD-Recorder",
"\t-v\t\tincrement verbose level by one",
"\t-checkdrive\tcheck if a driver for the drive is present",
"\t-inq\t\tdo an inquiry for the drive and exit emulation",
"\tspeed=#\t\tset speed of drive",
"\tblank=type\tblank a CD-RW disc (see blank=help)",
"\tfs=#\t\tSet fifo size to # (0 to disable, default is 4 MB)",
"\t-eject\t\teject the disk after doing the work",
"\t-dummy\t\tdo everything with laser turned off",
"\t-msinfo\t\tretrieve multi-session info for mkisofs >= 1.10",
"\t-toc\t\tretrieve and print TOC/PMA data",
"\t-atip\t\tretrieve media state, print \"Is *erasable\"",
"\t-multi\t\tgenerate a TOC that allows multi session",
"\t-waiti\t\twait until input is available before opening SCSI",
"\ttsize=#\t\tannounces exact size of source data",
"\tpadsize=#\tAmount of padding",
"\t-data\t\tSubsequent tracks are CD-ROM data mode 1 (default)",
"\t-isosize\tUse iso9660 file system size for next data track",
"\t-pad\t\tpadsize=30k",
"\t-nopad\t\tDo not pad",
"\t--grow_overwriteable_iso\temulate multi-session on DVD+RW, BD-RE",
"\twrite_start_address=#\t\twrite to byte address on DVD+RW, BD-RE",
"\tstream_recording=on\t\ttry to get full speed on DVD-RAM, BD",
"\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",
"a single data track can be burnt to blank, appendable or overwriteable media.",
"A much more elaborate cdrecord emulator is cdrskin from the same project.",
"@End_of_helptexT@"
};
int i;
for(i= 0; strcmp(helptext[i], "@End_of_helptexT@")!=0; i++) {
sprintf(xorriso->info_text, "%s\n", helptext[i]);
Xorriso_info(xorriso,0);
}
return(1);
}
/* micro version of cdrskin */
int Xorriso_cdrskin(struct XorrisO *xorriso, char *whom, int argc, char **argv,
int flag)
@ -10645,6 +10693,68 @@ ex:;
}
int Xorriso_genisofs_help(struct XorrisO *xorriso, int flag)
{
static char helptext[][80]= {
"Usage: xorriso -as mkisofs [options] file...",
"Note: This is not mkisofs. See xorriso -help, xorriso -version, man xorriso",
"Options:",
" -f, -follow-links Follow symbolic links",
" -graft-points Allow to use graft points for filenames",
" -help Print option help",
" -input-charset CHARSET Local input charset for file name conversion",
" -output-charset CHARSET Output charset for file name conversion",
" -iso-level LEVEL Set ISO9660 conformance level (1..3)",
" -J, -joliet Generate Joliet directory information",
" -o FILE, -output FILE Set output file name",
" -m GLOBFILE, -exclude GLOBFILE",
" Exclude file name",
" -exclude-list FILE File with list of file names to exclude",
" -pad Pad output by 300k (default)",
" -no-pad Do not pad output",
" -M FILE, -prev-session FILE Set path to previous session to merge",
" -C PARAMS, -cdrecord-params PARAMS",
" Magic paramters from cdrecord",
" -path-list FILE File with list of pathnames to process",
" --quoted_path_list FILE File with list of quoted pathnames to process",
" -print-size Print estimated filesystem size and exit",
" -quiet Run quietly",
" -R, -rock Generate Rock Ridge directory information",
" --hardlinks Record eventual hard link relations of files",
" --acl Record eventual ACLs of files",
" --xattr Record eventual user space xattr of files",
" --md5 Compute and record MD5 checksums of data files",
" --for_backup Use all options which improve backup fidelity",
" -V ID, -volid ID Set Volume ID",
" -b FILE, -eltorito-boot FILE",
" Set El Torito boot image name",
" -c FILE, -eltorito-catalog FILE",
" Set El Torito boot catalog name",
" -boot-load-size # Set numbers of load sectors",
" -no-emul-boot Boot image is 'no emulation' image",
" -boot-info-table Patch boot image with info table",
" isolinux_mbr=on|auto|off Control eventual isohybrid MBR generation",
" -z, -transparent-compression",
" Enable transparent compression of files",
" -v, -verbose Verbose",
" -version Print the current version",
"@End_of_helptexT@"
};
char ra_text[80];
int i;
strcpy(ra_text, xorriso->report_about_text);
Xorriso_option_report_about(xorriso, "NOTE", 0);
for(i= 0; strcmp(helptext[i], "@End_of_helptexT@")!=0; i++) {
sprintf(xorriso->info_text, "%s\n", helptext[i]);
Xorriso_info(xorriso, 1);
}
Xorriso_option_report_about(xorriso, ra_text, 0);
return(1);
}
/* @param flag bit0= do not report eventual ignore decision
*/
int Xorriso_genisofs_ignore(struct XorrisO *xorriso, char *whom,
@ -19232,13 +19342,11 @@ next_command:;
ret= Xorriso_option_follow(xorriso, arg1, 0);
} else if(strcmp(cmd,"for_backup")==0) {
ret= Xorriso_option_hardlinks(xorriso, "on", 0);
if(ret > 0)
ret= Xorriso_option_acl(xorriso, "on", 0);
if(ret > 0)
ret= Xorriso_option_xattr(xorriso, "on", 0);
if(ret > 0)
ret= Xorriso_option_md5(xorriso, "on", 0);
Xorriso_option_hardlinks(xorriso, "on", 0);
Xorriso_option_acl(xorriso, "on", 0);
Xorriso_option_xattr(xorriso, "on", 0);
Xorriso_option_md5(xorriso, "on", 0);
ret= 1;
} else if(strcmp(cmd,"format")==0) {
(*idx)++;
@ -19856,7 +19964,13 @@ int Xorriso_prescan_args(struct XorrisO *xorriso, int argc, char **argv,
xorriso->did_something_useful= 1;
{ret= 0; goto ex;}
} else if(strcmp(cmd,"help")==0) {
Xorriso_option_help(xorriso,0);
if(xorriso->argument_emulation == 1) {
Xorriso_genisofs_help(xorriso, 0);
} else if(xorriso->argument_emulation == 2) {
Xorriso_cdrskin_help(xorriso, 0);
} else {
Xorriso_option_help(xorriso,0);
}
xorriso->did_something_useful= 1;
{ret= 0; goto ex;}
}
@ -20005,7 +20119,7 @@ char *Xorriso__get_version_text(int flag)
/* xorriso consists only of a main() stub which has an own version to match
the version of libxorriso header and runtime code.
*/
#define Xorriso_main_program_versioN "0.4.1"
#define Xorriso_main_program_versioN "0.4.2"
#else /* Xorriso_without_subS */

View File

@ -16,13 +16,13 @@
struct XorrisO;
#define Xorriso_program_versioN "0.4.1"
#define Xorriso_program_versioN "0.4.2"
/* --------------------- Fundamental Management ------------------- */
/* Get the version text (e.g. "0.4.1") of the program code.
/* Get the version text (e.g. "0.4.2") of the program code.
@param flag unused yet, submit 0
@return readonly character string
*/

View File

@ -35,10 +35,12 @@ Vice versa xorriso is able to restore file objects from ISO 9660 filesystems.
<P>
<H2>Hardware requirements:</H2>
A CD/DVD/BD recorder suitable for
<A HREF="http://libburnia-project.org">http://libburnia-project.org</A> <BR>
(SCSI , ATA , USB , or SATA writers compliant to standard MMC-3 for CD
and to MMC-5 for DVD or BD).
About any CD, DVD, or BD recorder produced in the recent ten years.
<BR>
<A HREF="http://libburnia-project.org">libburn</A>
supports recorders which are compliant to standards MMC-1 for CD and
MMC-5 for DVD or BD. Linux and FreeBSD allow to access drives connected
via SCSI, PATA (aka IDE, ATA), USB, or SATA.
<BR>
</P>
@ -103,6 +105,9 @@ Updates ISO subtrees incrementally to match given disk subtrees.
Can record and restore hard link relations, ACL, and xattr.
</LI>
<LI>
Can attach MD5 checksums to each data file and the whole session.
</LI>
<LI>
File content may get zisofs or gzip compressed or filtered by external
processes.
</LI>
@ -274,23 +279,27 @@ to match the new disk trees.
Older states can be retrieved by help of mount options like "sbsector="
or by help of xorriso option -mount.
<BR>
Eventual ACL or xattr will be recorded. Data reading will be avoided by
accelerator option -disk_dev_ino.
Eventual ACL, xattr and hardlink relations will be recorded. MD5 checksums
will be computed and recorded. Data reading will be avoided by accelerator
option -disk_dev_ino. After writing, the new session will be checked
by its recorded MD5.
<BR>
Only blank media or media with volume id "PROJECTS_MAIL_..." will be accepted.
Files with names ending by ".o" or ".swp" are excluded by options -not_leaf.
</DT>
<DD>$<KBD>&nbsp;xorriso -acl on -xattr on -disk_dev_ino on \</KBD></DD>
<DD>$<KBD>&nbsp;xorriso -for_backup -disk_dev_ino on \</KBD></DD>
<DD><KBD>&nbsp;&nbsp; -assert_volid 'PROJECTS_MAIL_*' FATAL \</KBD></DD>
<DD><KBD>&nbsp;&nbsp; -dev /dev/sr0 \</KBD></DD>
<DD><KBD>&nbsp;&nbsp; -volid PROJECTS_MAIL_"$(date '+%Y_%m_%d_%H%M%S')" \</KBD></DD>
<DD><KBD>&nbsp;&nbsp; -not_leaf '*.o' -not_leaf '*.swp' \</KBD></DD>
<DD><KBD>&nbsp;&nbsp; -update_r /home/thomas/open_source_projects /open_source_projects \</KBD></DD>
<DD><KBD>&nbsp;&nbsp; -update_r /home/thomas/personal_mail /personal_mail \</KBD></DD>
<DD><KBD>&nbsp;&nbsp; -commit -toc -eject all</KBD></DD>
<DD><KBD>&nbsp;&nbsp; -commit -toc -check_md5 FAILURE -- -eject all</KBD></DD>
<DT>
To apply zisofs compression to those data files which get newly copied from
the local filesystem, perform immediately before -commit :
<DD><KBD>&nbsp;&nbsp; -hardlinks perform_update \</KBD></DD>
<DD>
<KBD>&nbsp;&nbsp; -find / -type f -pending_data -exec set_filter --zisofs -- \</KBD></DD>
</DD>
@ -420,10 +429,10 @@ files or trees to disk:
<P>
<DL>
<DT><H3>Download as source code (see README):</H3></DT>
<DD><A HREF="xorriso-0.4.0.pl01.tar.gz">xorriso-0.4.0.pl01.tar.gz</A>
(1270 KB).
<DD><A HREF="xorriso-0.4.2.pl02.tar.gz">xorriso-0.4.2.pl02.tar.gz</A>
(1295 KB).
</DD>
<DD>(Released 20 Jul 2009)</DD>
<DD>(Released 8 Oct 2009)</DD>
</DL>
</DD>
</DL>
@ -448,40 +457,42 @@ an <A HREF="http://www.opensource.org/">Open Source</A> approved license</DD>
<HR>
<P>
Bug fixes towards xorriso-0.3.8.pl00:
Bug fixes towards xorriso-0.4.0.pl00:
<UL>
<LI>SIGSEGV by dereferencing NULL with option -status and no search string</LI>
<LI>-load volid did not perform pattern search</LI>
<LI>xorriso -as mkisofs did not understand the -C option of growisofs any more
<LI>Option -devices stalled if a U3 enhanced memory stick was present</LI>
<!--
<LI>- none -</LI>
-->
</UL>
</P>
<P>
Bug fix towards xorriso-0.4.0.pl00:
Bug fixes towards xorriso-0.4.2.pl00:
<UL>
<LI>xorriso -as mkisofs did not understand the -C option of growisofs any more
</LI>
<LI>-cut_out deleted previously cut-out pieces of the same file</LI>
</UL>
</P>
<P>
Bug fixes towards xorriso-0.4.2.pl01:
<UL>
<LI>Filenames could lose blanks during a multi-session cycle</LI>
<LI>-for_backup did not enable -xattr and -md5 if no drive was chosen yet</LI>
<LI>xorrisofs -help, xorrecord -help displayed original xorriso -help</LI>
</UL>
</P>
<P>
Enhancements towards previous stable version xorriso-0.3.8.pl00:
Enhancements towards previous stable version xorriso-0.4.0.pl00:
<UL>
<LI>New option -hardlinks for recording and restoring of hard link relations
</LI>
<LI>New option -for_backup as shortcut for -acl -xattr -hardlinks
</LI>
<LI>Improved read performance with -update_r
</LI>
<LI>Improved read performance with -extract by -osirrox sort_lba
</LI>
<LI>Operators with option -find : -not, -or, -and, (, ), -if, -then, -else</LI>
<LI>New -find tests -wholename, -prune, -sort_lba</LI>
<LI>New option -md5, new -as mkisofs option --md5</LI>
<LI>New options -check_md5, -check_md5_r</LI>
<LI>New find actions check_md5 get_md5, get_any_xattr, make_md5</LI>
<LI>New find tests -has_md5, -has_any_xattr</LI>
<LI>New option -list_profiles</LI>
<LI>New option -calm_drive</LI>
<LI>Options -lsl and -lsdl now display correct link counts if -hardlinks is on
<!--
<LI>- none -</LI>
@ -496,16 +507,16 @@ Enhancements towards previous stable version xorriso-0.3.8.pl00:
Library copies included in xorriso tarballs:
</H3>
<DL>
<DT>libburn-0.6.7</DT>
<DT>libburn-0.7.1</DT>
<DD>reads and writes data from and to CD, DVD, BD.</DD>
<DD>(founded by Derek Foreman and Ben Jansens,
developed and maintained since August 2006 by
Thomas Schmitt from team of libburnia-project.org)</DD>
<DT>libisofs-0.6.21</DT>
<DT>libisofs-0.6.23</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.4.0</DT>
<DT>libisoburn-0.4.2</DT>
<DD>coordinates libburn and libisofs, emulates multi-session where needed.</DD>
<DD>(By Vreixo Formoso and Thomas Schmitt
from team of libburnia-project.org)</DD>
@ -519,34 +530,36 @@ cdrecord and mkisofs.</DT>
<P>
<DL>
<DT><H3>Development snapshot, version 0.4.1 :</H3></DT>
<DD>Bug fixes towards xorriso-0.4.0.pl00:
<DT><H3>Development snapshot, version 0.4.3 :</H3></DT>
<DD>Bug fixes towards xorriso-0.4.2.pl00:
<UL>
<LI>xorriso -as mkisofs did not understand the -C option of growisofs any more
</LI>
<LI>Filenames could lose blanks during a multi-session cycle</LI>
<LI>-cut_out deleted previously cut-out pieces of the same file</LI>
<LI>-for_backup did not enable -xattr and -md5 if no drive was chosen yet</LI>
<LI>With -as cdrecord : -xa1 and -xamix were ignored although they do matter</LI>
<LI>xorrisofs -help, xorrecord -help displayed original xorriso -help</LI>
<!--
<LI>- none yet -</LI>
-->
</UL>
</DD>
<DD>Enhancements towards stable version 0.4.0.pl01:
<DD>Enhancements towards stable version 0.4.2.pl01:
<UL>
<LI>Options -lsl and -lsdl now display correct link counts if -hardlinks is on
</LI>
<LI>New option -md5, new -as mkisofs option --md5</LI>
<LI>New options -check_md5, -check_md5_r</LI>
<LI>New find actions check_md5 get_md5, get_any_xattr</LI>
<LI>New find tests -has_md5, -has_any_xattr</LI>
<LI>New option -scdbackup_tag</LI>
<LI>New option -pvd_info</LI>
<LI>Option -toc now reports "Media product:"</LI>
<LI>New options -system_id , -volset_id</LI>
<!--
<LI>- none yet -</LI>
-->
</UL>
</DD>
<DD>&nbsp;</DD>
<DD><A HREF="README_xorriso_devel">README 0.4.1</A>
<DD><A HREF="xorriso_help_devel">xorriso_0.4.1 -help</A></DD>
<DD><A HREF="man_1_xorriso_devel.html">man xorriso (as of 0.4.1)</A></DD>
<DD><A HREF="README_xorriso_devel">README 0.4.3</A>
<DD><A HREF="xorriso_help_devel">xorriso_0.4.3 -help</A></DD>
<DD><A HREF="man_1_xorriso_devel.html">man xorriso (as of 0.4.3)</A></DD>
<DD>&nbsp;</DD>
<DT>If you want to distribute development versions of xorriso, then use
this tarball which produces static linking between xorriso and the
@ -556,8 +569,8 @@ libburnia libraries.
installation see README)
</DD>
<DD>
<A HREF="xorriso-0.4.1.tar.gz">xorriso-0.4.1.tar.gz</A>
(1280 KB).
<A HREF="xorriso-0.4.3.tar.gz">xorriso-0.4.3.tar.gz</A>
(1310 KB).
</DD>
<DT>A dynamically linked development version of xorriso can be obtained
from repositories of

View File

@ -1 +1 @@
#define Xorriso_timestamP "2009.08.28.112825"
#define Xorriso_timestamP "2009.10.08.080001"

View File

@ -702,7 +702,7 @@ int Xorriso_get_drive_handles(struct XorrisO *xorriso,
ret= burn_drive_get_drive_role(*drive);
if(ret != 1) {
sprintf(xorriso->info_text,
"Output device is not an MMC drive. Desired operation does not apply");
"Output device is not an MMC drive. Desired operation does not apply.");
Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "NOTE", 0);
return(2);
}
@ -2919,8 +2919,8 @@ cannot_lstat:;
if(ret>0) {
target_is_dir= LIBISO_ISDIR(node);
target_is_split= 0;
if(target_is_dir)
target_is_split= Xorriso_is_split(xorriso, "", (void *) node, 1);
if(target_is_dir && !(xorriso->split_size <= 0))
target_is_split= Xorriso_is_split(xorriso, "", (void *) node, 1 | 2);
if(!((target_is_dir && !target_is_split) && source_is_dir)) {
Xorriso_process_msg_queues(xorriso,0);
@ -3222,8 +3222,8 @@ int Xorriso_graft_in(struct XorrisO *xorriso, void *boss_iter,
target_is_dir= LIBISO_ISDIR(node);
target_is_split= 0;
if(target_is_dir && !(flag&128))
target_is_split= Xorriso_is_split(xorriso, "", (void *) node, 1);
if(target_is_dir && !((flag & 128) || xorriso->split_size <= 0))
target_is_split= Xorriso_is_split(xorriso, "", (void *) node, 1 | 2);
if(!((target_is_dir && !target_is_split) && source_is_dir)) {
Xorriso_process_msg_queues(xorriso,0);
@ -5870,18 +5870,6 @@ int Xorriso_list_formats(struct XorrisO *xorriso, int flag)
return(0);
if(ret == 2)
goto ex;
#ifdef NIX
/* <<< obsoleted by bit0 of Xorriso_get_drive_handles */
ret= burn_drive_get_drive_role(drive);
if(ret!=1) {
sprintf(xorriso->info_text,
"output device is not an MMC drive. -list_format does not apply");
Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "NOTE", 0);
ret= 2; goto ex;
}
#endif /* NIX */
ret = burn_disc_get_formats(drive, &status, &size, &dummy,
&num_formats);
if(ret<=0) {

View File

@ -19,7 +19,7 @@
*/
#define xorriso_libisoburn_req_major 0
#define xorriso_libisoburn_req_minor 4
#define xorriso_libisoburn_req_micro 1
#define xorriso_libisoburn_req_micro 2
struct SpotlisT; /* List of intervals with different read qualities */