Compare commits

...

20 Commits

Author SHA1 Message Date
ead6d3d7b7 Promoted branch to tag 2010-03-30 15:25:21 +00:00
a6846a779a Documented changes and release timestamp 2010-03-30 11:13:44 +00:00
87c0be3dbf Version leap to libisoburn-0.5.2 2010-03-29 19:17:12 +00:00
46cb414f29 Branching for libisoburn release 0.5.2 2010-03-29 17:53:31 +00:00
576af9ea89 Better handling of empty tray when aquiring drive 2010-03-29 10:36:38 +00:00
214d6e6741 Avoided to declare empty tray as written media 2010-03-29 10:35:22 +00:00
0c655d438e Changed global info dir entry of xorriso.info 2010-03-22 08:36:30 +00:00
f68f875a6c Changed global info dir entry of xorriso.texi 2010-03-22 08:26:09 +00:00
13c327e370 Silenced a harmless compiler warning 2010-03-21 12:46:21 +00:00
3f42df50a3 Distributing and installing xorriso.info 2010-03-21 12:45:43 +00:00
9e78c78e43 Restructured xorriso documentation and added index 2010-03-20 16:54:56 +00:00
99e2df2208 Switched xorriso documentation to a hybrid of texinfo and man page 2010-03-18 10:13:35 +00:00
04c6625024 Adapted GNU xorriso to version leap libburn-0.7.9 2010-03-10 18:32:40 +00:00
f68ee78352 Requiring libburn-0.7.8 now 2010-03-10 18:32:02 +00:00
b76161a698 Adapted xorriso signal handling to new libburn advise 2010-03-09 06:52:24 +00:00
2eec5bf40a Requiring libburn-0.7.7 now 2010-03-09 06:49:36 +00:00
2d11c253e3 Corrected spelling errors in xorriso man page 2010-02-28 17:02:28 +00:00
a2a778c72f Adjusted patcher of Makefile.in for GNU xorriso 2010-02-28 17:01:05 +00:00
78fc4007ba Delivering xorriso/README_gnu_xorriso with libisoburn 2010-02-23 09:54:13 +00:00
27ba46494d Version leap to libisoburn-0.5.1 2010-02-23 09:53:17 +00:00
23 changed files with 10265 additions and 642 deletions

View File

@ -92,9 +92,10 @@ buildstamped: buildstamp
## Build test applications
## Build companion applications
noinst_PROGRAMS = \
test/compare_file
test/compare_file \
xorriso/make_xorriso_1
# A program to compare two files in mirrored trees in mounted filesystems
# To compare tree /media/dvd and /original/dir :
@ -105,6 +106,12 @@ test_compare_file_CFLAGS =
test_compare_file_LDADD =
test_compare_file_SOURCES = test/compare_file.c
# Specialized converter from xorriso/xorriso.texi to xorriso/xorriso.1
#
xorriso_make_xorriso_1_CPPFLAGS =
xorriso_make_xorriso_1_CFLAGS =
xorriso_make_xorriso_1_LDADD =
xorriso_make_xorriso_1_SOURCES = xorriso/make_xorriso_1.c
## ========================================================================= ##
@ -159,6 +166,8 @@ nodist_pkgconfig_DATA = \
man_MANS = xorriso/xorriso.1
info_TEXINFOS = xorriso/xorriso.texi
EXTRA_DIST = \
libisoburn-1.pc.in \
version.h.in \
@ -172,6 +181,8 @@ EXTRA_DIST = \
INSTALL \
xorriso/changelog.txt \
xorriso/xorriso_buildstamp_none.h \
xorriso/README \
xorriso/README_gnu_xorriso \
xorriso/make_docs.sh \
$(man_MANS)

12
README
View File

@ -4,7 +4,7 @@
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.4.8.pl00.tar.gz
http://files.libburnia-project.org/releases/libisoburn-0.5.2.pl00.tar.gz
Copyright (C) 2006-2010 Vreixo Formoso, Thomas Schmitt.
Provided under GPL version 2 or later.
------------------------------------------------------------------------------
@ -31,17 +31,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.8 :
Dynamic library and compile time header requirements for libisoburn-0.5.2 :
- libburn.so.4 , version libburn-0.7.6 or higher
- libisofs.so.6 , version libisofs-0.6.26 or higher
- libisofs.so.6 , version libisofs-0.6.28 or higher
libisoburn and xorriso will not start with libraries which are older than their
headers seen at compile time.
Obtain libisoburn-0.4.8.pl00.tar.gz, take it to a directory of your choice
Obtain libisoburn-0.5.2.pl00.tar.gz, take it to a directory of your choice
and do:
tar xzf libisoburn-0.4.8.pl00.tar.gz
cd libisoburn-0.4.8
tar xzf libisoburn-0.5.2.pl00.tar.gz
cd libisoburn-0.5.2
Within that directory execute:

View File

@ -1,4 +1,4 @@
AC_INIT([libisoburn], [0.4.9], [http://libburnia-project.org])
AC_INIT([libisoburn], [0.5.2], [http://libburnia-project.org])
AC_PREREQ([2.50])
dnl AC_CONFIG_HEADER([config.h])
@ -22,8 +22,8 @@ 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=4
ISOBURN_MICRO_VERSION=9
ISOBURN_MINOR_VERSION=5
ISOBURN_MICRO_VERSION=2
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 B00125
dnl ### This is the release version 0.4.8 = libisoburn.so.1.37.0
dnl This is the development version after above stable release
dnl ts B00329
dnl This is the release version 0.5.2 = libisoburn.so.1.41.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 = 38 - 37 = 1 . Library name = libisoburn.so.1.37.0
dnl SONAME = 42 - 41 = 1 . Library name = libisoburn.so.1.41.0
LT_RELEASE=$ISOBURN_MAJOR_VERSION.$ISOBURN_MINOR_VERSION
LT_CURRENT=38
LT_AGE=37
LT_CURRENT=42
LT_AGE=41
LT_REVISION=0
LT_CURRENT_MINUS_AGE=`expr $LT_CURRENT - $LT_AGE`
@ -236,7 +236,7 @@ AC_CHECK_HEADER(libburn/libburn.h)
AC_CHECK_HEADER(libisofs/libisofs.h)
dnl Check for proper library versions
LIBBURN_REQUIRED=0.7.6
LIBBURN_REQUIRED=0.7.8
LIBISOFS_REQUIRED=0.6.28
PKG_CHECK_MODULES(LIBBURN, libburn-1 >= $LIBBURN_REQUIRED)
PKG_CHECK_MODULES(LIBISOFS, libisofs-1 >= $LIBISOFS_REQUIRED)

View File

@ -282,7 +282,9 @@ static int isoburn_welcome_media(struct isoburn **o, struct burn_drive *d,
struct isoburn_toc_track **tracks;
int num_sessions= 0, num_tracks= 0, track_count= 0, session_no= 0;
char msg[80];
enum burn_disc_status s;
s= burn_disc_get_status(d);
profile_name[0]= 0;
ret= burn_disc_get_profile(d, &profile, profile_name);
if(ret<=0)
@ -339,7 +341,7 @@ static int isoburn_welcome_media(struct isoburn **o, struct burn_drive *d,
/* >>> recognize unsuitable media (but allow read-only media) */;
if(readonly) {
if(readonly && s != BURN_DISC_EMPTY) {
(*o)->fabricated_disc_status= BURN_DISC_FULL;
/* This might be overwriteable media in a -ROM drive.
Pitfall:
@ -1634,7 +1636,7 @@ int isoburn_drive_set_msgs_submit(struct burn_drive *d,
int isoburn_set_msc1(struct burn_drive *d, int adr_mode, char *adr_value,
int flag)
{
int ret, num_sessions, num_tracks, adr_num, i, j, total_tracks;
int ret, num_sessions= 0, num_tracks, adr_num, i, j, total_tracks;
int lba, best_lba, size, re_valid= 0, track_count= 0;
time_t start_time= 0, last_pacifier= 0, now;
char volid[33], msg[160];

View File

@ -225,7 +225,7 @@ void isoburn_version(int *major, int *minor, int *micro);
*/
#define isoburn_libburn_req_major 0
#define isoburn_libburn_req_minor 7
#define isoburn_libburn_req_micro 6
#define isoburn_libburn_req_micro 8
/** The minimum version of libisofs to be used with this version of libisoburn
@ -260,8 +260,8 @@ int isoburn_libburn_req(int *major, int *minor, int *micro);
@since 0.1.0
*/
#define isoburn_header_version_major 0
#define isoburn_header_version_minor 4
#define isoburn_header_version_micro 9
#define isoburn_header_version_minor 5
#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,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
http://www.gnu.org/software/xorriso/xorriso-0.4.9.tar.gz
ftp://ftp.gnu.org/gnu/xorriso/xorriso-0.5.2.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.4.9.tar.gz, take it to a directory of your choice and do:
Obtain xorriso-0.5.2.tar.gz, take it to a directory of your choice and do:
tar xzf xorriso-0.4.9.tar.gz
cd xorriso-0.4.9
tar xzf xorriso-0.5.2.tar.gz
cd xorriso-0.5.2
Within that directory execute:
@ -71,22 +71,25 @@ or you may execute as superuser:
make install
For general concepts, options and usage examples see
info xorriso
or
man 1 xorriso
This man page is part of the tarball as
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
man ./xorriso/xorriso.1
It gets installed with "make install" but may also be placed manually in the
./man1 directory below one of the directories mentioned in environment
variable $MANPATH.
The installation creates several alias links pointing to the xorriso binary:
xorrisofs starts xorriso with -as mkisofs emulation already enabled
xorrecord starts xorriso with -as cdrecord emulation already enabled
osirrox starts with -osirrox image-to-disk copying already enabled
If you want to avoid dependecy on libreadline although the libreadline
development package is installed, then rather build xorriso by:
./configure --prefix=/usr --disable-libreadline
@ -280,9 +283,9 @@ and a matching dynamically linked xorriso binary.
This binary is leaner but depends on properly installed libraries of suitable
revision.
Dynamic library and compile time header requirements for libisoburn-0.4.8 :
Dynamic library and compile time header requirements for libisoburn-0.5.2 :
- libburn.so.4 , version libburn-0.7.6 or higher
- libisofs.so.6 , version libisofs-0.6.26 or higher
- libisofs.so.6 , version libisofs-0.6.28 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.
@ -335,7 +338,7 @@ Copyright (C) 2002-2006 Derek Foreman and Ben Jansens
This text itself is
Copyright (c) 2007 - 2010 Thomas Schmitt <scdbackup@gmx.net>
and is freely distributable.
This text 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
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 entitled to modify this text under that same license.

View File

@ -6871,14 +6871,351 @@ xorriso/xorriso_private.h
test/compare_file.c
Lifted ban to derive GPLv3, extended copyright range to 2010
25 Jan 2010 [] ([3044])
25 Jan 2010 [3049] ([3044])
xorriso/changelog.txt
Documented changes and release timestamp
------------------------------------ cycle - xorriso-0.4.9 - 2010.01.25.142705
------------------------------------ cycle - xorriso-0.4.9 -
------------------------------------ cycle - xorriso-0.4.9 -
25 Jan 2010 [3050]
move -m Promoted branch to tag \
http://svn.libburnia-project.org/libisoburn/branches/ZeroFourEight \
http://svn.libburnia-project.org/libisoburn/tags/ZeroFourEight
27 Jan 2010 [3051]
README
Changed leftover text which disallowed GPLv3
04 Feb 2010 [3052]
xorriso/xorriso.1
Small corrections in xorriso man page
2010.02.04.082710 [3053]
acinclude.m4
configure.ac
xorriso/configure_ac.txt
Forcing use of /usr/local on FreeBSD by LDFLAGS and CPPFLAGS
2010.02.08.110814 [3055]
xorriso/xorrisoburn.c
Removed surplus quotes from an error message
8 Feb 2010 [3056]
svn move -m 'Marked libisofs SVN copy as outdated (use bzr on lp)'
http://svn.libburnia-project.org/libisofs
http://svn.libburnia-project.org/libisofs_outdated
2010.02.10.150252 [3057]
README
Updated license statement about our legal view and future licenses
2010.02.10.150501 [3058]
configure.ac
libisoburn/libisoburn.h
Requiring libisofs-0.6.28 now
2010.02.10.150547 [3059]
xorriso/configure_ac.txt
Adapted xorriso-standalone to version leap libisofs-0.6.29
10 Feb 2010 [3060]
xorriso/xorriso_eng.html
Updated xorriso web page
------------------------------------ cycle - xorriso-0.4.9 - 2010.02.10.150547
Bug fix: Regression in libisofs introduced with xorriso-0.4.2 in August 2009:
-boot_image could lead to SIGSEGV
12 Feb 2010 [3061]
xorriso/README
Switched from xorriso-standalone GPLv2+ to GNU xorriso GPLv3+
svn move -m 'Renamed xorriso/README to xorriso/README_gnu_xorriso' \
xorriso/README xorriso/README_gnu_xorriso
2010.02.12.153945 [3062]
xorriso/xorriso.c
xorriso/make_xorriso_standalone.sh
xorriso/README_gnu_xorriso
+ xorriso/COPYING_gnu_xorriso
xorriso/xorriso_eng.html
Switched from xorriso-standalone GPLv2+ to GNU xorriso GPLv3+
2010.02.12.213121 [3065]
xorriso/xorriso.1
libisoburn/libisoburn.h
xorriso/xorriso_eng.html
Changed docs and comments to "GNU/Linux" where appropriate
------------------------------------ cycle - xorriso-0.4.9 - 2010.02.12.213121
2010.02.14.151045 [3067]
README
COPYRIGHT
libisoburn/libisoburn.h
libisoburn/isoburn.h
libisoburn/isoburn.c
libisoburn/data_source.c
libisoburn/burn_wrap.c
libisoburn/isofs_wrap.c
Added or adjusted copyright and license statements in single files
2010.02.14.151610 [3068]
xorriso/xorriso.c
xorriso/xorrisoburn.c
xorriso/make_xorriso_standalone.sh
xorriso/configure_ac.txt
xorriso/xorriso_makefile_am.txt
xorriso/xorriso.1
xorriso/xorriso_eng.html
+ xorriso/AUTHORS_gnu_xorriso
+ xorriso/COPYRIGHT_gnu_xorriso
Added or adjusted copyright and license statements in single files
2010.02.14.172124 [3070]
README
xorriso/make_xorriso_standalone.sh
xorriso/xorriso_makefile_am.txt
Excluded unused libburn source module crc.c from GNU xorriso tarball
2010.02.15.204530 [3072]
xorriso/xorriso_eng.html
Adjustments with web page of GNU xorriso
------------------------------------ cycle - xorriso-0.4.9 - 2010.02.15.204530
2010.02.17.140002 [3074]
xorriso/xorriso.c
Bug fix for FreeBSD: xorriso could leave the drive tray locked
2010.02.18.125019 [3076]
xorriso/xorriso.h
xorriso/xorriso_private.h
xorriso/xorriso.c
xorriso/xorrisoburn.h
xorriso/xorrisoburn.c
xorriso/xorriso.1
New option -scsi_log
2010.02.19.172125 [3077]
xorriso/xorrisoburn.c
Bug fix: xorriso -update_r could lead to SIGSEGV if applied to a data file
19 Feb 2010 [3078] [3079]
xorriso/xorriso_eng.html
Adjustments with web page of GNU xorriso
------------------------------------ cycle - xorriso-0.4.9 - 2010.02.19.172125
Bug fix on FreeBSD: xorriso could leave the drive tray locked
Bug fix on FreeBSD: Piped input was falsely attributed a small fixed size
Bug fix: xorriso -update_r could lead to SIGSEGV if applied to a data file
New option -scsi_log
22 Feb 2010 [3081]
xorriso/README_gnu_xorriso
xorriso/xorriso_eng.html
Mentioned bug-xorriso@gnu.org as a contact address for GNU xorriso
2010.02.22.195623 [3082]
xorriso/make_xorriso_standalone.sh
xorriso/xorriso.h
xorriso/xorriso.c
Changed versioning and tarball name to match unpack directory name
22 Feb 2010 [3083]
svn copy -m Branching for libisoburn release 0.5.0
http://svn.libburnia-project.org/libisoburn/trunk
http://svn.libburnia-project.org/libisoburn/branches/ZeroFiveZero
2010.02.22.213001 [3084]
configure.ac
README
libisoburn/libisoburn.h
xorriso/README_gnu_xorriso
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.5.0
22 Feb 2010 [3085]
Makefile.am
Delivering xorriso/README_gnu_xorriso with libisoburn
22 Feb 2010 [3086]
xorriso/changelog.txt
Documented changes and release timestamp
----------------------------------- release - xorriso-0.5.0 - 2010.02.22.213001
Bug fix: Regression in libisofs introduced with xorriso-0.4.2 in August 2009:
-boot_image could lead to SIGSEGV
Bug fix on FreeBSD: xorriso could leave the drive tray locked
Bug fix on FreeBSD: Piped input was falsely attributed a small fixed size
Bug fix: xorriso -update_r could lead to SIGSEGV if applied to a data file
New option -scsi_log
2010.02.23.093924 [3087]
configure.ac
README
libisoburn/libisoburn.h
xorriso/README_gnu_xorriso
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.5.1
23 Feb 2010 [3088]
Makefile.am
Delivering xorriso/README_gnu_xorriso with libisoburn
23 Feb 2010 [3089]
svn move -m Promoted branch to tag
http://svn.libburnia-project.org/libisoburn/branches/ZeroFiveZero
http://svn.libburnia-project.org/libisoburn/tags/ZeroFiveZero
------------------------------------ cycle - xorriso-0.5.1 - 2010.02.23.093924
28 Feb 2010 [3094]
xorriso/make_xorriso_standalone.sh
Adjusted patcher of Makefile.in for GNU xorriso
28 Feb 2010 [3095]
xorriso/xorriso.1
Corrected spelling errors in xorriso man page
2010.03.09.065117 [3109]
libisoburn/libisoburn.h
Requiring libburn-0.7.7 now
2010.03.09.065408 [3110]
xorriso/xorriso_private.h
xorriso/xorriso.h
xorriso/xorriso.c
xorriso/xorrisoburn.c
Adapted xorriso signal handling to new libburn advise
2010.03.10.183348 [3121]
configure.ac
libisoburn/libisoburn.h
Requiring libburn-0.7.8 now
2010.03.10.183426 [3122]
xorriso/configure_ac.txt
Adapted GNU xorriso to version leap libburn-0.7.9
2010.03.18.101202 [3125]
Makefile.am
xorriso/xorriso_makefile_am.txt
xorriso/make_xorriso_standalone.sh
+ xorriso/xorriso.texi
+ xorriso/xorriso.info
+ xorriso/make_xorriso_1.c
+ xorriso/make_docs.sh
xorriso/xorriso.1
xorriso/convert_man_to_html.sh
Switched xorriso documentation to a hybrid of texinfo and man page
------------------------------------ cycle - xorriso-0.5.1 - 2010.03.18.101202
* xorriso documentation now also available in (tex)info format
2010.03.20.165317 [3126]
xorriso/make_docs.sh
xorriso/xorriso.texi
xorriso/xorriso.info
xorriso/xorriso.1
xorriso/convert_man_to_html.sh
Restructured xorriso documentation and added index
2010.03.21.124435 [3127]
Makefile.am
xorriso/xorriso_makefile_am.txt
xorriso/xorriso.texi
xorriso/xorriso.info
Distributing and installing xorriso.info
2010.03.21.124517 [3128]
libisoburn/burn_wrap.c
Silenced a harmless compiler warning
22 Mar 2010 [3129]
xorriso/xorriso.texi
Changed global info dir entry of xorriso.texi
22 Mar 2010 [3130]
xorriso/xorriso.info
Changed global info dir entry of xorriso.info
2010.03.29.103419 [3136]
libisoburn/burn_wrap.c
Avoided to declare empty tray as written media
2010.03.29.103533 [3137]
xorriso/xorrisoburn.c
Better handling of empty tray when aquiring drive
------------------------------------ cycle - xorriso-0.5.1 - 2010.03.29.103533
29 Mar 2010 [3138]
svn copy -m Branching for libisoburn release 0.5.2
http://svn.libburnia-project.org/libisoburn/trunk
http://svn.libburnia-project.org/libisoburn/branches/ZeroFiveTwo
2010.03.29.190001 [3139]
configure.ac
README
libisoburn/libisoburn.h
xorriso/README_gnu_xorriso
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.5.2
[]
xorriso/changelog.txt
Documented changes and release timestamp
----------------------------------- release - xorriso-0.5.2 - 2010.03.29.190001
* xorriso documentation now also available in (tex)info format
* Prepared FreeBSD system adapter to work with ahci driver
2010.03.30.082405 []
configure.ac
README
libisoburn/libisoburn.h
xorriso/README_gnu_xorriso
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.5.2
[]
xorriso/changelog.txt
Documented changes and release timestamp
------------------------------------ cycle - xorriso-0.5.3 -
------------------------------------ cycle - xorriso-0.5.3 -
------------------------------------ cycle - xorriso-0.5.3 -
===============================================================================
TODO
@ -6886,6 +7223,42 @@ Documented changes and release timestamp
------------------------------------------------- bugs
- DVD-ROM drives report CD tracks with size up to the next track start.
Why ? -> libburn
Eventually restrict -check_media to ISO image size ?
- make iso_init() and iso_finish() safe against multiple calls
from multiple threads.
- ??? disable isohybrid by default ?
- Is it harmless to have an empty xorriso->loaded_boot_cat_path ?
This situation appears if an image gets loaded that was created
by mkisofs ... -hide boot.catalog ...
xorriso -toc reports:
Boot bin_path: '/boot/isolinux/isolinux.bin'
Boot cat_path: -not-found-at-load-time-
- Not reproducible any more ?
Sesssion without MD5 does not get loaded if -md5 on
e.g. intenso USB when session 45 was youngest (w/o MD5)
libburn : DEBUG : burn_drive_is_enumerable_adr( stdio:/dev/sdb ) is true
libisoburn: DEBUG : Found 45 ISO sessions by scanning 2880 kB in 0 seconds
xorriso : NOTE : Loading ISO image tree from LBA 0
libisofs: FAILURE : Checksum mismatch between checksum tag and data blocks
libisofs: FAILURE : Image loading aborted due to MD5 mismatch of image tree data
libisofs: HINT : You may override this refusal by disabling MD5 checking
libisofs: FAILURE : Checksum mismatch in System Area, Volume Descriptors, or directory tree
Only the output drive remains. Created empty ISO image.
Drive current: -outdev '/dev/sdb'
Media current: stdio file, overwriteable
Media status : is written , is appendable
Media summary: 45 sessions, 774442 data blocks, 1513m data, 398m free
xorriso : FATAL : Cannot read ISO image tree
xorriso : HINT : You might get a questionable ISO image tree by option -md5 'off'.
xorriso : NOTE : Tolerated problem event of severity 'FATAL'
- what about split files and hard links ?
@ -6902,6 +7275,9 @@ xorriso : UPDATE : 3691 MB written (fifo 78%) [buf 100%] 2.3x.
------------------------------------------------- important
- introduce a read offset for displaced ISO images ?
(Copy from CD block 123456 to disk. Apply -img_displaced_by 123456s )
- options -print_info , -print_mark
- (ECMA-119 names in: -copyright_id , -abstract_id , -biblio_id)
@ -6932,8 +7308,9 @@ xorriso : UPDATE : 3691 MB written (fifo 78%) [buf 100%] 2.3x.
------------------------------------------------- development
- Replace Libisofs_new_fs_image_inO by Libisofs_hardlink_prooF
and make the latter unconditional.
- Is it possible to make use of iso_node_set_hidden()
to hide e.g. boot catalogs ?
Eventually emulate mkisofs -hide -hide-list
- Special pseudo ACL: "--remove-default"
@ -7000,11 +7377,6 @@ xorriso : UPDATE : 3691 MB written (fifo 78%) [buf 100%] 2.3x.
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
@ -7027,14 +7399,6 @@ xorriso : UPDATE : 3691 MB written (fifo 78%) [buf 100%] 2.3x.
- $partok {0...1} = 0
- File checksums as backpack and as xattr values.
Problem: If they are scattered over the data section then they will cause
a lot of random access and thus be slow with BD. They need to be buffered
in memory as zinfo and written all together after data section.
- Image checksum tag in the last data blocks of an image.
A data file entry should point to that block.
- A dummy option in IsoWriteOpts which causes iso_image_create_burn_source()
to end before actually data get written. (For -print_size)

View File

@ -3,7 +3,7 @@
# Copyright (c) 2007 - 2010 Thomas Schmitt <scdbackup@gmx.net>
# Provided under GPL version 2 or later.
AC_INIT([xorriso], [0.4.9], [http://libburnia-project.org])
AC_INIT([xorriso], [0.5.2], [http://libburnia-project.org])
AC_PREREQ([2.50])
dnl AC_CONFIG_HEADER([config.h])
@ -16,7 +16,7 @@ AM_INIT_AUTOMAKE([subdir-objects])
BURN_MAJOR_VERSION=0
BURN_MINOR_VERSION=7
BURN_MICRO_VERSION=7
BURN_MICRO_VERSION=9
AC_SUBST(BURN_MAJOR_VERSION)
AC_SUBST(BURN_MINOR_VERSION)
AC_SUBST(BURN_MICRO_VERSION)

View File

@ -55,12 +55,16 @@ then
-e 's/<b>Command processing:<\/b>/\&nbsp;<BR><b>Command processing:<\/b>/' \
-e 's/<b>Dialog, Readline, Result pager:<\/b>/\&nbsp;<BR><b>Dialog, Readline, Result pager:<\/b>/' \
-e 's/<b>Aquiring source and target drive:<\/b>/\&nbsp;<BR><b>Aquiring source and target drive:<\/b><BR>\&nbsp;<BR>/' \
-e 's/<b>Data manipulations:<\/b>/\&nbsp;<BR><b>Data manipulations:<\/b><BR>\&nbsp;<BR>/' \
-e 's/<b>Influencing the behavior of image/\&nbsp;<BR><b>Influencing the behavior of image/' \
-e 's/<b>Inserting files into ISO image:<\/b>/\&nbsp;<BR><b>Inserting files into ISO image:<\/b><BR>\&nbsp;<BR>/' \
-e 's/<b>File manipulations:<\/b>/\&nbsp;<BR><b>File manipulations:<\/b><BR>\&nbsp;<BR>/' \
-e 's/<b>Tree traversal command -find:<\/b>/\&nbsp;<BR><b>Tree traversal command -find:<\/b><BR>\&nbsp;<BR>/' \
-e 's/^<p><b>&minus;iso_rr_pattern/<p>\&nbsp;<BR><b>\&minus;iso_rr_pattern/' \
-e 's/EXAMPLES):<br>/<A HREF="#EXAMPLES">EXAMPLES<\/A>):<br>/' \
-e 's/<b>Writing the result:<\/b>/\&nbsp;<BR><b>Writing the result:<\/b><BR>/' \
-e 's/<b>Filters for data file content:<\/b>/\&nbsp;<BR><b>Filters for data file content:<\/b><BR>\&nbsp;<BR>/' \
-e 's/<b>Writing the result, drive control:<\/b>/\&nbsp;<BR><b>Writing the result, drive control:<\/b><BR>\&nbsp;<BR>/' \
-e 's/^-find \/ /\&nbsp;\&nbsp;-find \/ /' \
-e 's/<b>Settings for data insertion:<\/b>/\&nbsp;<BR><b>Settings for data insertion:<\/b><BR>\&nbsp;<BR>/' \
-e 's/<b>Settings for file insertion:<\/b>/\&nbsp;<BR><b>Settings for file insertion:<\/b><BR>\&nbsp;<BR>/' \
-e 's/^$<\/b> ln -s/\&nbsp;\&nbsp;$<\/b> ln -s/' \
-e 's/<b>Settings for result writing:<\/b>/\&nbsp;<BR><b>Settings for result writing:<\/b><BR>\&nbsp;<BR>/' \
-e 's/^706k = 706kB/\&nbsp;\&nbsp;706k = 706kB/' \
@ -73,7 +77,7 @@ then
-e 's/<b>Navigation in ISO image/\&nbsp;<BR><b>Navigation in ISO image/' \
-e 's/^filesystem:<\/b>/filesystem:<\/b><BR>\&nbsp;<BR>/' \
-e 's/<b>Evaluation of readability and recovery:<\/b>/\&nbsp;<BR><b>Evaluation of readability and recovery:<\/b><BR>\&nbsp;<BR>/' \
-e 's/<b>osirrox restore options:<\/b>/\&nbsp;<BR><b>osirrox restore options:<\/b><BR>\&nbsp;<BR>/' \
-e 's/<b>osirrox ISO-to-disk restore options:<\/b>/\&nbsp;<BR><b>osirrox ISO-to-disk restore options:<\/b><BR>\&nbsp;<BR>/' \
-e 's/<b>Command compatibility emulations:<\/b>/\&nbsp;<BR><b>Command compatibility emulations:<\/b><BR>\&nbsp;<BR>/' \
-e 's/^<p><b>&minus;as</<p>\&nbsp;<BR><b>\&minus;as</' \
-e 's/<b>Scripting, dialog and/\&nbsp;<BR><b>Scripting, dialog and/' \

10
xorriso/make_docs.sh Executable file
View File

@ -0,0 +1,10 @@
#!/bin/sh
#
# Produce man page xorriso/xorriso.1 and info file xorriso/xorriso.info
# from base file xorris/xorriso.texi.
( cd xorriso ; makeinfo ./xorriso.texi )
xorriso/make_xorriso_1 -auto

329
xorriso/make_xorriso_1.c Normal file
View File

@ -0,0 +1,329 @@
/*
( cd xorriso ; cc -g -Wall -o make_xorriso_1 make_xorriso_1.c )
*/
/*
Specialized converter from xorriso/xorriso.texi to xorriso/xorriso.1.
The conversion rules are described at the beginning of xorriso/xorriso.texi
Copyright 2010 Thomas Schmitt, <scdbackup@gmx.net>
Provided under GPL version 2 or later.
*/
#include <unistd.h>
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <ctype.h>
#include <errno.h>
/* The conversion state
*/
struct Mx1 {
char prog[4096];
int count_in;
int count_out;
int skipping; /* <0 stacked skipping , 0= no , >0 counting down */
};
int Mx1_init(struct Mx1 *m, char *prog, int flag)
{
strncpy(m->prog, prog, sizeof(m->prog) - 1);
m->prog[sizeof(m->prog) - 1]= 0;
m->count_in= 0;
m->count_out= 0;
m->skipping= 0;
return(1);
}
int Mx1_report_error(struct Mx1 *m, char *text, int flag)
{
fprintf(stderr, "%s : line %d : %s\n", m->prog, m->count_in, text);
return(1);
}
int Mx1__get_word(char *line, char word[256], char **remainder, int flag)
{
char *cpt, *start;
int l;
word[0]= 0;
*remainder= NULL;
for(cpt= line; *cpt != 0 && isspace(*cpt); cpt++);
if(*cpt == 0)
return(0);
start= cpt;
for(cpt= line; *cpt != 0 && ! isspace(*cpt); cpt++);
l= cpt - start;
if(l > 0)
strncpy(word, start, l);
word[l]= 0;
*remainder= cpt;
return(1);
}
int Mx1_substitute(struct Mx1 *m, char line_in[256], char line_out[256],
int raw, int flag)
{
char *rpt, *wpt, *ept;
int l;
wpt= line_out;
for(rpt= line_in; *rpt != 0; rpt++) {
if(rpt - line_in < raw) {
*(wpt++)= *rpt;
continue;
}
if(*rpt == '@') {
if(strncmp(rpt, "@strong{", 8) == 0) {
/* @strong{-...} gets mapped to \fB\-...\fR . */;
/* @strong{... } gets mapped to \fB...\fR . */
ept= strchr(rpt, '}');
if(ept == NULL) {
Mx1_report_error(m, "No closing bracket found for '@strong{'", 0);
return(-1);
}
l= ept - rpt - 8;
if((wpt - line_out) + l + 6 + (rpt[8] == '-') > 255)
goto overflow;
strcpy(wpt, "\\fB");
wpt+= 3;
if(rpt[8] == '-')
*(wpt++)= '\\';
strncpy(wpt, rpt + 8, l);
wpt+= l;
strcpy(wpt, "\\fR");
wpt+= 3;
rpt+= ept - rpt;
} else if(strncmp(rpt, "@minus{}", 8) == 0) {
/* @minus{} will become "-". */
if((wpt - line_out) + 1 > 255)
goto overflow;
*(wpt++)= '-';
rpt+= 7;
} else if(strncmp(rpt, "@@", 2) == 0 ||
strncmp(rpt, "@{", 2) == 0 ||
strncmp(rpt, "@}", 2) == 0) {
/* @@ , @{, @} will get stripped of their first @. */
*(wpt++)= *(rpt + 1);
rpt++;
}
} else if(*rpt == '\\') {
/* "\" becomes "\\" */
if((wpt - line_out) + 2 > 255)
goto overflow;
*(wpt++)= '\\';
*(wpt++)= '\\';
} else if((wpt - line_out) + 1 > 255) {
overflow:;
Mx1_report_error(m, "Line length overflow while text substitution", 0);
return(-1);
} else
*(wpt++)= *rpt;
}
*wpt= 0;
return(1);
}
/*
@return 1= line_out is valid, 0= do not put out line_out, -1 = error
*/
int Mx1_convert(struct Mx1 *m, char line_in[256], char line_out[256], int flag)
{
int l, num, keep= 0, ret, raw;
char word[256], buf[256], *remainder;
m->count_in++;
l= strlen(line_in);
if(m->skipping > 0) {
m->skipping--;
return(0);
}
/* The first line gets discarded. */
if(m->count_in == 1)
return(0);
/* Line start "@c man " will become "", the remainder is put out unaltered. */
if(strncmp(line_in, "@c man ", 7) == 0) {
strcpy(line_out, line_in + 7);
m->count_out++;
return(1);
}
/* Lines "@*" will be converted to ".br" */
if(strcmp(line_in, "@*") == 0) {
strcpy(line_out, ".br");
m->count_out++;
return(1);
}
/* @c man-ignore-lines N will discard N following lines.
"@c man-ignore-lines begin" discards all following lines
up to "@c man-ignore-lines end".
*/
if(strncmp(line_in, "@c man-ignore-lines ", 20) == 0) {
if(strcmp(line_in + 20, "begin") == 0) {
m->skipping--;
return(0);
} else if(strcmp(line_in + 20, "end") == 0) {
if(m->skipping < 0)
m->skipping++;
return(0);
} else if(m->skipping == 0) {
num= 0;
sscanf(line_in + 20, "%d", &num);
if(num > 0) {
m->skipping= num;
return(0);
}
}
Mx1_report_error(m, "Inappropriate use of '@c man-ignore-lines'", 0);
return(-1);
}
/* Line blocks of "@menu" "@end menu" will be discarded. */
if(strcmp(line_in, "@menu") == 0) {
m->skipping--;
return(0);
}
if(strcmp(line_in, "@end menu") == 0) {
if(m->skipping < 0)
m->skipping++;
return(0);
}
if(m->skipping)
return(0);
/* "@item -word words" becomes "\fB\-word\fR words". */
/* "@item word words" becomes "\fBword\fR words". */
if(strncmp(line_in, "@item ", 6) == 0) {
ret= Mx1__get_word(line_in + 6, word, &remainder, 0);
if(ret <= 0) {
Mx1_report_error(m, "Found no word after @item", 0);
return(0);
}
strcpy(buf, "\\fB");
if(word[0] == '-') {
if(l >= 255) {
Mx1_report_error(m, "Line length overflow while converting @item", 0);
return(-1);
}
strcat(buf, "\\");
}
strcat(buf, word);
strcat(buf, "\\fR");
raw= strlen(buf);
strcat(buf, remainder);
ret= Mx1_substitute(m, buf, line_out, raw, 0);
if(ret <= 0)
return(-1);
m->count_out++;
return(1);
}
/* @strong{-...} gets mapped to \fB\-...\fR . */
/* @strong{... } gets mapped to \fB...\fR . */
/* @minus{} will become "-". */
/* @@ , @{, @} will get stripped of their first @. */
/* "\" becomes "\\" */
if(line_in[0] != '@' ||
strncmp(line_in, "@strong{", 8) == 0 ||
strncmp(line_in, "@minus{}", 8) == 0 ||
strncmp(line_in, "@@", 2) == 0 ||
strncmp(line_in, "@{", 2) == 0 ||
strncmp(line_in, "@}", 2) == 0) {
keep= 1;
ret= Mx1_substitute(m, line_in, line_out, 0, 0);
if(ret <= 0)
return(-1);
}
/* Other lines which begin by "@" will be discarded. */
if(! keep) {
if(line_in[0] == '@')
return(0);
strcpy(line_out, line_in);
}
m->count_out++;
return(1);
}
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"};
struct Mx1 m;
FILE *fp_in= stdin, *fp_out= stdout;
Mx1_init(&m, argv[0], 0);
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");
exit(2);
}
for(i= 1; i < argc; i++) {
if(strcmp(argv[i], "-filter") == 0)
as_filter= 1;
else if(strcmp(argv[i], "-auto") == 0)
as_filter= 0;
else {
fprintf(stderr, "%s : unknown option %s\n", argv[0], argv[i]);
goto usage;
}
}
if(!as_filter) {
fp_in= fopen(name_in, "r");
if(fp_in == NULL) {
fprintf(stderr, "%s : failed to fopen( %s ,r) : %d %s\n",
argv[0], name_in, errno, strerror(errno));
exit(3);
}
fp_out= fopen(name_out, "w");
if(fp_out == NULL) {
fprintf(stderr, "%s : failed to fopen( %s ,w) : %d %s\n",
argv[0], name_out, errno, strerror(errno));
exit(4);
}
}
while(1) {
got= fgets(line_in, sizeof(line_in), fp_in);
if(got == NULL)
break;
l= strlen(line_in);
while(l > 0) {
if(line_in[l - 1] == '\r' || line_in[l - 1] == '\n') {
line_in[l - 1] = 0;
l--;
} else
break;
}
ret= Mx1_convert(&m, line_in, line_out, 0);
if(ret < 0)
exit(1);
if(ret == 0)
continue;
fprintf(fp_out, "%s\n", line_out);
}
exit(0);
}

View File

@ -40,7 +40,7 @@ create_gnu_xorriso="yes"
current_dir=$(pwd)
lone_dir="$current_dir"/"xorriso-standalone"
xorriso_rev=0.4.9
xorriso_rev=0.5.2
# For unstable uploads and patch level 0 of stable releases:
xorriso_pl=""
# For higher patch levels of stable releases:
@ -135,13 +135,17 @@ xorriso/convert_man_to_html.sh
create_dir "$lone_dir"/xorriso
copy_files \
xorriso/xorrisoburn.[ch] \
xorriso/xorriso.[ch1] \
xorriso/xorriso.[ch] \
xorriso/xorriso_private.h \
\
xorriso/xorriso_timestamp.h \
\
xorriso/changelog.txt \
xorriso/xorriso_eng.html \
xorriso/xorriso.texi \
xorriso/xorriso.info \
xorriso/make_xorriso_1.c \
xorriso/xorriso.1 \
xorriso/man_1_xorriso.html \
"$lone_dir"/xorriso
@ -272,9 +276,8 @@ rm -r ./autom4te.cache
if test "$create_gnu_xorriso" = "yes"
then
# ftp-upload@gnu.org dislikes my automake 1.9 and its chmod a+rwx
sed -e 's/by automake 1.9.6/by automake 1.11.1/' \
-e 's/-perm -777 -exec chmod a+rwx/-perm -755 -exec chmod u+rwx,go+rx/' \
# ftp-upload@gnu.org rejects Makefile.in with a dangerous chmod on make dist
sed -e 's/-perm -777 -exec chmod a+rwx/-perm -755 -exec chmod u+rwx,go+rx/' \
< Makefile.in > new_Makefile.in
mv new_Makefile.in Makefile.in

File diff suppressed because it is too large Load Diff

View File

@ -166,6 +166,10 @@ or
#include "xorrisoburn.h"
/* See Xorriso__preset_signal_behavior() */
static int Xorriso_signal_behavioR= 1;
/* ------------------------------------------------------------------------ */
@ -5033,6 +5037,21 @@ int Xorriso_destroy(struct XorrisO **xorriso, int flag)
}
int Xorriso__preset_signal_behavior(int behavior, int flag)
{
if(behavior < 0 || behavior > 1)
return(0);
Xorriso_signal_behavioR= behavior;
return(1);
}
int Xorriso__get_signal_behavior(int flag)
{
return(Xorriso_signal_behavioR);
}
int Xorriso_dialog_input(struct XorrisO *xorriso, char line[], int linesize,
int flag)
/*
@ -20629,7 +20648,7 @@ char *Xorriso__get_patch_level_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.9"
#define Xorriso_main_program_versioN "0.5.2"
#else /* Xorriso_without_subS */

View File

@ -16,7 +16,7 @@
struct XorrisO;
#define Xorriso_program_versioN "0.4.9"
#define Xorriso_program_versioN "0.5.2"
#define Xorriso_program_patch_leveL ""
@ -39,6 +39,20 @@ char *Xorriso__get_version_text(int flag);
char *Xorriso__get_patch_level_text(int flag);
/* Choose how Xorriso_startup_libraries() and the XorrisO object shall
prepare for eventual signals.
@param behavior Default is behavior 1.
0= no own signal handling. The main application has to do
that. Do not start burn runs without any handling !
1= use libburn signal handler. Most time with action
0. During writing, formatting, blanking: 0x30.
Only usable with a single xorriso object.
@param flag unused yet, submit 0
@return <= 0 is error, >0 is success
*/
int Xorriso__preset_signal_behavior(int behavior, int flag);
/* Mandatory call:
Create a new xorriso object and tell it the program name to be used
with messages and for decision of special behavior.

3971
xorriso/xorriso.info Normal file

File diff suppressed because it is too large Load Diff

4733
xorriso/xorriso.texi Normal file

File diff suppressed because it is too large Load Diff

View File

@ -57,7 +57,8 @@ Images or add-on sessions may be written to about any kind of file object.
<DD>With kernel 2.4 a PATA/IDE drive has to be under ide-scsi emulation.</DD>
<DD>With kernel 2.6 ide-scsi is not needed.</DD>
<DT>or FreeBSD, libc, libpthread :</DT>
<DD>PATA/IDE and SATA drives need atapicam running.</DD>
<DD>PATA/IDE drives need atapicam running.</DD>
<DD>SATA drives need atapicam or ahci running.</DD>
<DD>libcam has to be installed.</DD>
<DD>libiconv has to be installed.</DD>
<DT>or some other X/Open system, libc, libpthread :</DT>
@ -435,10 +436,20 @@ files or trees to disk:
<P>
<DL>
<DT><H3>Download as source code (see README):</H3></DT>
<DD><A HREF="xorriso-0.4.8.pl01.tar.gz">xorriso-0.4.8.pl01.tar.gz</A>
(1360 KB).
<DD><A HREF="xorriso-0.5.2.tar.gz">xorriso-0.5.2.tar.gz</A>
(1560 KB).
</DD>
<DD>(Released 29 Mar 2010)</DD>
<DD><A HREF="xorriso-0.5.2.tar.gz.sig">xorriso-0.5.2.tar.gz.sig</A></DD>
<DD>
(detached GPG signature for verification by
<KBD>gpg --verify xorriso-0.5.2.tar.gz.sig xorriso-0.5.2.tar.gz</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.5.2.tar.gz
</DD>
<DD>(Released 10 Feb 2010, GPLv2+, predecessor of GNU xorriso)</DD>
</DL>
</DD>
</DL>
@ -449,16 +460,15 @@ files or trees to disk:
</DL>
<A NAME="contact"></A>
<DL><DT>Contact:</DT>
<DD>Thomas Schmitt, <A HREF="mailto:scdbackup@gmx.net">scdbackup@gmx.net</A></DD>
<DD>GNU xorriso support mailing list,
<A HREF="mailto:bug-xorriso@gnu.org">bug-xorriso@gnu.org</A></DD>
<DD>libburnia development mailing list,
<A HREF="mailto:libburn-hackers@pykix.org">libburn-hackers@pykix.org</A></DD>
<DD>Thomas Schmitt, <A HREF="mailto:scdbackup@gmx.net">scdbackup@gmx.net</A></DD>
</DL>
<DL><DT>License:</DT>
<DD><A HREF="COPYING_xorriso">GPL version 2 or later.</A>
<DD><A HREF="COPYING_xorriso">GPL version 3 or later.</A>
</DD>
<DD>(To become with the next release a derived GPL version 3 or later.)</DD>
<DD>&nbsp;</DD>
</DL>
</P>
@ -466,18 +476,9 @@ files or trees to disk:
<HR>
<P>
Bug fixes towards xorriso-0.4.6.pl00:
Bug fixes towards xorriso-0.5.0:
<UL>
<LI>
With non-Linux system adapters there were 0 readable bytes on block devices
which acted as pseudo drives.
</LI>
<LI>
xorriso did not blank CD-RW with images that were prepared on hard disk
</LI>
<LI>
Invalid checksum tags were preserved if the new session produced no checksums
</LI>
<LI>- none -</LI>
<!--
<LI>- none -</LI>
-->
@ -485,33 +486,24 @@ Invalid checksum tags were preserved if the new session produced no checksums
</P>
<!--
-->
<P>
Bug fixes towards xorriso-0.4.8.pl00:
<UL>
<LI>
Regression in libisofs introduced with xorriso-0.4.2:
-boot_image isolinux patch could lead to SIGSEGV
</LI>
</UL>
</P>
-->
<P>
Enhancements towards previous stable version xorriso-0.4.6.pl00:
Enhancements towards previous stable version xorriso-0.4.8.pl00:
<UL>
<LI>
New configure option --enable-libcdio for system adapter to libcdio-0.83git
Manual now based on hybrid format of Texinfo and man-page.
Copies included: xorriso.texi, xorriso.info , xorriso.1
</LI>
<LI>
The checksum buffer for the emerging image gets now marked as invalid if
image generation is canceled.
</LI>
<LI>
More graceful reaction on filesystems where ACL are not enabled but
nevertheless requested by the application.
</LI>
<LI>
Made FreeBSD system adapter safe from mutal burn spoiling and drive deadlock.
On FreeBSD: support for upcomming SATA driver "ahci"
</LI>
<!--
<LI>- none -</LI>
@ -535,16 +527,16 @@ libburnia project and the legal intentions of
<A HREF="http://www.fsf.org/"> FSF </A> match completely.
</DT>
<DD>&nbsp;</DD>
<DT>libburn-0.7.7</DT>
<DT>libburn-0.7.9</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.27</DT>
<DT>libisofs-0.6.29</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.8</DT>
<DT>libisoburn-0.5.2</DT>
<DD>coordinates libburn and libisofs, emulates multi-session where needed,
and hosts the original source code of program xorriso.</DD>
<DD>(By Vreixo Formoso and Thomas Schmitt
@ -559,45 +551,28 @@ cdrecord and mkisofs.</DT>
<P>
<DL>
<DT><H3>Development snapshot, version 0.4.9 :</H3></DT>
<DD>Bug fixes towards xorriso-0.4.8.pl00:
<DT><H3>Development snapshot, version 0.5.3 :</H3></DT>
<DD>Bug fixes towards xorriso-0.5.2:
<UL>
<LI>
Regression in libisofs introduced with xorriso-0.4.2:
-boot_image isolinux patch could lead to SIGSEGV
</LI>
<LI>
On FreeBSD: xorriso could leave the drive tray locked.
</LI>
<LI>
On FreeBSD: Piped input was falsely attributed a small fixed size.
</LI>
<LI>
Option -update_r could lead to SIGSEGV if applied to a data file rather
than a directory.
</LI>
<LI>- none yet -</LI>
<!--
<LI>- none yet -</LI>
-->
</UL>
</DD>
<DD>Enhancements towards stable version 0.4.8.pl00:
<DD>Enhancements towards stable version 0.5.2:
<UL>
<LI>Transition of documentation and program messages towards GNU xorriso</LI>
<LI>
New option -scsi_log
</LI>
<LI>- none yet -</LI>
<!--
<LI>- none yet -</LI>
-->
</UL>
</DD>
<DD>&nbsp;</DD>
<DD><A HREF="README_xorriso_devel">README 0.4.9</A>
<DD><A HREF="xorriso_help_devel">xorriso_0.4.9 -help</A></DD>
<DD><A HREF="man_1_xorriso_devel.html">man xorriso (as of 0.4.9)</A></DD>
<DD><A HREF="README_xorriso_devel">README 0.5.3</A>
<DD><A HREF="xorriso_help_devel">xorriso_0.5.3 -help</A></DD>
<DD><A HREF="man_1_xorriso_devel.html">man xorriso (as of 0.5.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
@ -607,8 +582,8 @@ libburnia libraries.
installation see README)
</DD>
<DD>
<A HREF="xorriso-0.4.9.tar.gz">xorriso-0.4.9.tar.gz</A>
(1365 KB, GPLv3+, already dubbed GNU xorriso).
<A HREF="xorriso-0.5.3.tar.gz">xorriso-0.5.3.tar.gz</A>
(1560 KB).
</DD>
<DT>A dynamically linked development version of xorriso can be obtained
from repositories of

View File

@ -174,7 +174,8 @@ xorriso_xorriso_SOURCES = \
# libburn/crc.c
noinst_PROGRAMS = \
test/compare_file
test/compare_file \
xorriso/make_xorriso_1
# A program to compare two trees of files in mounted filesystems
# To compare tree /media/dvd and /original/dir :
@ -185,6 +186,13 @@ test_compare_file_CFLAGS =
test_compare_file_LDADD =
test_compare_file_SOURCES = test/compare_file.c
# Specialized converter from xorriso/xorriso.texi to xorriso/xorriso.1
#
xorriso_make_xorriso_1_CPPFLAGS =
xorriso_make_xorriso_1_CFLAGS =
xorriso_make_xorriso_1_LDADD =
xorriso_make_xorriso_1_SOURCES = xorriso/make_xorriso_1.c
# Install symbolic links to the xorriso binary
#
@ -233,6 +241,8 @@ indent: $(indent_files)
man_MANS = xorriso/xorriso.1
info_TEXINFOS = xorriso/xorriso.texi
EXTRA_DIST = \
xorriso.pc.in \
version.h.in \
@ -244,6 +254,7 @@ EXTRA_DIST = \
INSTALL \
xorriso/changelog.txt \
xorriso/xorriso_buildstamp_none.h \
xorriso/make_docs.sh \
$(man_MANS) \
doc/susp_aaip_2_0.txt \
doc/susp_aaip_isofs_names.txt \
@ -259,3 +270,4 @@ EXTRA_DIST = \
libburn/sg-freebsd.c \
libburn/sg-libcdio.c \
libburn/sg-linux.c

View File

@ -50,10 +50,6 @@ struct SectorbitmaP; /* Distiniction between valid and invalid sectors */
/* maximum number of history lines to be reported with -status:long_history */
#define Xorriso_status_history_maX 100
/* <<< ??? */
/* try to catch signals and ignore them during abort handling */
#define Xorriso_abort_handler_defaulT (1|(2<<4))
/** The list of startup file names */
#define Xorriso_rc_nuM 4
@ -475,6 +471,8 @@ struct XorrisO { /* the global context of xorriso */
};
int Xorriso__get_signal_behavior(int flag);
int Xorriso_prepare_regex(struct XorrisO *xorriso, char *adr, int flag);
int Xorriso_result(struct XorrisO *xorriso, int flag);

View File

@ -1 +1 @@
#define Xorriso_timestamP "2010.02.22.195623"
#define Xorriso_timestamP "2010.03.29.190001"

View File

@ -144,6 +144,25 @@ static const char *un0(const char *text)
}
int Xorriso_abort(struct XorrisO *xorriso, int flag)
{
int ret;
ret= burn_abort(4440, burn_abort_pacifier, "xorriso : ");
if(ret<=0) {
fprintf(stderr,
"\nxorriso : ABORT : Cannot cancel burn session and release drive.\n");
return(0);
}
fprintf(stderr,
"xorriso : ABORT : Drive is released and library is shut down now.\n");
fprintf(stderr,
"xorriso : ABORT : Program done. Even if you do not see a shell prompt.\n");
fprintf(stderr, "\n");
exit(1);
}
int Xorriso_destroy_node_array(struct XorrisO *xorriso, int flag)
{
int i;
@ -537,11 +556,31 @@ int Xorriso_search_di_range(struct XorrisO *xorriso, IsoNode *node,
/* ------------------------------------------------------------------------ */
/* @param flag bit0= asynchronous handling (else catch thread, wait, and exit)
*/
int Xorriso_set_signal_handling(struct XorrisO *xorriso, int flag)
{
char *handler_prefix= NULL;
if(Xorriso__get_signal_behavior(0) != 1)
return(2);
handler_prefix= calloc(strlen(xorriso->progname)+3+1, 1);
if(handler_prefix==NULL) {
sprintf(xorriso->info_text,
"Cannot allocate memory for for setting signal handler");
Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "FATAL", 0);
return(-1);
}
sprintf(handler_prefix, "%s : ", xorriso->progname);
burn_set_signal_handling(handler_prefix, NULL, (flag & 1) * 0x30);
free(handler_prefix);
return(1);
}
int Xorriso_startup_libraries(struct XorrisO *xorriso, int flag)
{
int ret, major, minor, micro;
char *handler_prefix= NULL;
char *queue_sev, *print_sev, reason[1024];
struct iso_zisofs_ctrl zisofs_ctrl= {0, 6, 15};
@ -587,13 +626,6 @@ LIBISOBURN_MISCONFIGURATION_ = 0;
/* End of ugly compile time test (scroll up for explanation) */
handler_prefix= calloc(strlen(xorriso->progname)+3+1, 1);
if(handler_prefix==NULL) {
sprintf(xorriso->info_text,
"Cannot allocate memory for initializing libraries");
Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "FATAL", 0);
return(-1);
}
reason[0]= 0;
ret= isoburn_initialize(reason, 0);
if(ret==0) {
@ -602,7 +634,6 @@ LIBISOBURN_MISCONFIGURATION_ = 0;
sprintf(xorriso->info_text+strlen(xorriso->info_text),
". Reason given:\n%s", reason);
Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "FATAL", 0);
free(handler_prefix);
return(0);
}
ret= isoburn_is_compatible(isoburn_header_version_major,
@ -640,8 +671,9 @@ LIBISOBURN_MISCONFIGURATION_ = 0;
isoburn_set_msgs_submit(Xorriso_msgs_submit_void, (void *) xorriso,
(3<<2) | 128 , 0);
sprintf(handler_prefix, "%s : ", xorriso->progname);
burn_set_signal_handling(handler_prefix, NULL, 0);
ret= Xorriso_set_signal_handling(xorriso, 0);
if(ret <= 0)
return(ret);
ret = iso_zisofs_get_params(&zisofs_ctrl, 0);
if (ret == 1) {
@ -658,7 +690,6 @@ LIBISOBURN_MISCONFIGURATION_ = 0;
strcpy(xorriso->info_text, "Using ");
strncat(xorriso->info_text, burn_scsi_transport_id(0), 1024);
Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "DEBUG", 0);
free(handler_prefix);
return(1);
}
@ -1146,8 +1177,12 @@ int Xorriso_aquire_drive(struct XorrisO *xorriso, char *adr, int flag)
state != BURN_DISC_FULL) {
sprintf(xorriso->info_text,
"Disc status not blank and unsuitable for reading");
Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "SORRY", 0);
{ret= 0; goto ex;}
sev= "FAILURE";
if(xorriso->img_read_error_mode==2)
sev= "FATAL";
Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, sev, 0);
Xorriso_give_up_drive(xorriso, 1|((flag&32)>>2));
ret= 3; goto ex;
}
/* fill read opts */
ret= isoburn_ropt_new(&ropts, 0);
@ -2041,11 +2076,17 @@ int Xorriso_write_session(struct XorrisO *xorriso, int flag)
if(ret <= 0)
goto ex;
/* Important: do not return until burn_is_aborting() was checked */
Xorriso_set_signal_handling(xorriso, 1);
xorriso->run_state= 1; /* Indicate that burning has started */
isoburn_disc_write(burn_options, disc);
burn_write_opts_free(burn_options);
ret= Xorriso_pacifier_loop(xorriso, drive, pacifier_speed << 4);
if(burn_is_aborting(0))
Xorriso_abort(xorriso, 0); /* Never comes back */
Xorriso_set_signal_handling(xorriso, 0);
if(ret<=0)
goto ex;
if(!isoburn_drive_wrote_well(drive)) {
@ -2116,6 +2157,8 @@ int Xorriso_check_burn_abort(struct XorrisO *xorriso, int flag)
struct burn_drive_info *dinfo;
struct burn_drive *drive;
if(burn_is_aborting(0))
return(2);
if(xorriso->run_state!=1)
return(0);
ret= Xorriso_eval_problem_status(xorriso, 1, 1);
@ -5318,7 +5361,7 @@ int Xorriso_toc(struct XorrisO *xorriso, int flag)
int track_count= 0, session_no, track_no, profile_no= -1, track_size;
int last_track_start= 0, last_track_size= -1, num_data= 0, is_data= 0;
int is_inout_drive= 0, drive_role, status, num_formats, emul_lba;
int num_payload= 0, num_wasted= 0, num_nondata= 0;
int num_payload= 0, num_wasted= 0, num_nondata= 0, not_reconizable= 0;
char profile_name[80],*respt,*devadr, *typetext= "";
struct burn_toc_entry toc_entry;
struct burn_drive_info *dinfo;
@ -5377,8 +5420,10 @@ int Xorriso_toc(struct XorrisO *xorriso, int flag)
else if(drive_role==0 || drive_role==3)
sprintf(respt+strlen(respt), ", sequential");
strcat(respt, "\n");
} else
} else {
sprintf(respt+strlen(respt), "is not recognizable\n");
not_reconizable= 1;
}
Xorriso_toc_line(xorriso, flag & 8);
if((flag & 64) || !(flag & 1)) {
@ -5389,7 +5434,10 @@ int Xorriso_toc(struct XorrisO *xorriso, int flag)
sprintf(respt, "Media status : ");
if (s == BURN_DISC_FULL) {
sprintf(respt+strlen(respt), "is written , is closed\n");
if(not_reconizable)
sprintf(respt+strlen(respt), "is not recognizable\n");
else
sprintf(respt+strlen(respt), "is written , is closed\n");
} else if (s == BURN_DISC_APPENDABLE) {
sprintf(respt+strlen(respt), "is written , is appendable\n");
} else if (s == BURN_DISC_BLANK) {
@ -5762,6 +5810,9 @@ int Xorriso_blank_media(struct XorrisO *xorriso, int flag)
mode_names[flag&3]);
Xorriso_info(xorriso,0);
/* Important: do not return until burn_is_aborting() was checked */
Xorriso_set_signal_handling(xorriso, 1);
if(do_deformat)
burn_disc_erase(drive, (flag&1));
else
@ -5778,7 +5829,9 @@ int Xorriso_blank_media(struct XorrisO *xorriso, int flag)
usleep(1000000);
}
Xorriso_process_msg_queues(xorriso,0);
if(burn_is_aborting(0))
Xorriso_abort(xorriso, 0); /* Never comes back */
Xorriso_set_signal_handling(xorriso, 0);
if(burn_drive_wrote_well(drive)) {
sprintf(xorriso->info_text, "Blanking done\n");
Xorriso_info(xorriso,0);
@ -5915,6 +5968,10 @@ int Xorriso_format_media(struct XorrisO *xorriso, off_t in_size, int flag)
Xorriso_info(xorriso, 0);
if(flag & 2)
size= in_size;
/* Important: do not return until burn_is_aborting() was checked */
Xorriso_set_signal_handling(xorriso, 1);
burn_disc_format(drive, size, mode_flag);
start_time= time(0);
@ -5928,8 +5985,10 @@ int Xorriso_format_media(struct XorrisO *xorriso, off_t in_size, int flag)
Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "UPDATE", 0);
usleep(1000000);
}
Xorriso_process_msg_queues(xorriso,0);
if(burn_is_aborting(0))
Xorriso_abort(xorriso, 0); /* Never comes back */
Xorriso_set_signal_handling(xorriso, 0);
if(burn_drive_wrote_well(drive)) {
sprintf(xorriso->info_text, "Formatting done\n");
@ -9144,10 +9203,16 @@ int Xorriso_burn_track(struct XorrisO *xorriso, off_t write_start_address,
if(ret<=0)
goto ex;
/* Important: do not return until burn_is_aborting() was checked */
Xorriso_set_signal_handling(xorriso, 1);
xorriso->run_state= 1; /* Indicate that burning has started */
burn_disc_write(burn_options, disc);
ret= Xorriso_pacifier_loop(xorriso, drive, 2 | (is_cd << 4) | (is_bd << 5));
if(burn_is_aborting(0))
Xorriso_abort(xorriso, 0); /* Never comes back */
Xorriso_set_signal_handling(xorriso, 0);
if(ret<=0)
goto ex;
if(!burn_drive_wrote_well(drive)) {

View File

@ -18,8 +18,8 @@
/* The minimum version of libisoburn to be used with this version of xorriso
*/
#define xorriso_libisoburn_req_major 0
#define xorriso_libisoburn_req_minor 4
#define xorriso_libisoburn_req_micro 9
#define xorriso_libisoburn_req_minor 5
#define xorriso_libisoburn_req_micro 2
struct SpotlisT; /* List of intervals with different read qualities */