1 --- ../orig/dvd+rw-tools-7.0/growisofs.c 2006-09-24 10:28:53.000000000 -0700
2 +++ ./growisofs.c 2006-12-07 01:56:17.000000000 -0800
4 * upon Layer Break command, therefore longer timeout is required;
5 * - Linux: deploy BLKFLSBUF to avoid media reloads when possible;
6 * - add unit buffer utilization indicator [by request from K3b];
7 + * 7.0.1: (by Nicolas Boichat, Bacula project)
8 + * - Allow session to cross 4GB boundary regardless of medium type
9 + * (don't need to have a DL media)
10 + * - Add a -F option (used instead of -M or -Z), which displays next_session
11 + * offset and capacity (free space = next_session - capacity).
13 #define PRINT_VERSION(cmd) do { \
14 char *s=strrchr((cmd),'/'); \
15 s ? s++ : (s=(cmd)); \
16 printf ("* %.*sgrowisofs by <appro@fy.chalmers.se>,"\
17 - " version 7.0,\n",(int)(s-(cmd)),(cmd)); \
18 + " version 7.0.1,\n",(int)(s-(cmd)),(cmd)); \
21 #define _LARGEFILE_SOURCE
23 else arg = mkisofs_argv[0];
26 - assert ((len0=strlen (arg)) < cmdsz);
27 + len0 = strlen (arg);
28 + assert (len0 < cmdsz);
30 strcpy (cmd,arg), cmd[len0++] = ' ', cmdsz -= len0;
32 @@ -2773,6 +2779,18 @@
33 else in_device = argv[++i];
36 + else if (argv[i][1] == 'F')
37 + { if (len > 2) in_device = argv[i]+2;
38 + else in_device = argv[++i];
40 + dry_run = 1; /* NEVER write anything with -F */
42 + else if (!strncmp(opt,"-free-space",11))
43 + { if (len > 11) in_device = opt+11;
44 + else in_device = argv[++i];
46 + dry_run = 1; /* NEVER write anything with -F */
48 else if (!strcmp(opt,"-poor-man"))
49 { if (poor_man<0) poor_man = 1;
52 else if (argv[i][1] == '?' || !strcmp(opt,"-help"))
53 { PRINT_VERSION (argv[0]);
54 printf ("- usage: %s [-dvd-compat] [-overburn] [-speed=1] \\\n"
55 - " -[ZM] /dev/dvd <mkisofs options>\n",argv[0]);
56 + " -[ZMF] /dev/dvd <mkisofs options>\n",argv[0]);
57 printf (" for <mkisofs options> see 'mkisofs %s'\n",opt);
58 exit (FATAL_START(EINVAL));
60 @@ -2993,7 +3011,13 @@
61 fprintf (stderr," you most likely want to use -Z option.\n"),
62 exit (FATAL_START(errno));
64 - if (dev_found == 'M')
65 + if ((dev_found == 'M') ||
66 + ((dev_found == 'F') && !(mmc_profile&0x10000)) &&
67 + (saved_descriptors[0].type[0] ||
68 + saved_descriptors[0].type[1] ||
69 + saved_descriptors[0].type[2]))
70 + /* -F : The medium is not blank, there is a fs on it (the_buffer[0,1 or 2] != 0),
71 + so compute next_session. */
72 { if (memcmp (saved_descriptors[0].type,"\1CD001",6))
73 fprintf (stderr,":-( %s doesn't look like isofs...\n",
74 in_device), exit(FATAL_START(EMEDIUMTYPE));
76 exit(FATAL_START(EINVAL));
78 else if (next_session > (0x200000-0x5000)) /* 4GB/2K-40MB/2K */
79 - if ((mmc_profile&0xFFFF)<0x20 ||
80 - ((mmc_profile&0xFFFF)<0x40 && !no_4gb_check))
81 + if ((mmc_profile&0xFFFF)<0x40 && !no_4gb_check)
82 fprintf (stderr,":-( next session would cross 4GB "
83 "boundary, aborting...\n"),
84 exit (FATAL_START(ENOSPC));
86 exit (FATAL_START(EINVAL));
89 - { if (mkisofs_argc==1)
90 + { if ((mkisofs_argc==1) && (dev_found != 'F'))
91 fprintf (stderr,"%s: no mkisofs options specified, "
92 "aborting...\n",argv[0]),
93 exit (FATAL_START(EINVAL));
94 @@ -3244,6 +3267,15 @@
98 + if (dev_found == 'F') {
99 + off64_t capacity = 0;
100 + printf("next_session=%d\n", next_session * CD_BLOCK);
101 + if (ioctl_handle!=INVALID_HANDLE)
102 + capacity = get_capacity (ioctl_handle);
103 + printf("capacity=%lld\n", capacity);
109 if (builtin_dd (imgfd,out_fd,next_session*CD_BLOCK) < 0)
110 --- ../orig/dvd+rw-tools-7.0/Makefile 2006-08-27 13:07:37.000000000 -0700
111 +++ ./Makefile 2006-12-07 01:56:17.000000000 -0800
114 CHAIN=growisofs dvd+rw-format dvd+rw-booktype dvd+rw-mediainfo dvd-ram-control
116 - -(rm *.o $(CHAIN) rpl8 btcflash; exit 0) < /dev/null > /dev/null 2>&1
117 + -(rm *.o $(CHAIN) $(CHAIN:=.exe) rpl8 btcflash; exit 0) < /dev/null > /dev/null 2>&1
120 DIST=dvd+rw-tools-$(VER)
121 --- ../orig/dvd+rw-tools-7.0/Makefile.m4 2006-09-24 10:55:19.000000000 -0700
122 +++ ./Makefile.m4 2006-12-07 01:59:30.000000000 -0800
127 -CHAIN=growisofs dvd+rw-format dvd+rw-booktype dvd+rw-mediainfo dvd-ram-control
129 -dvd+rw-tools: $(CHAIN)
131 -WARN=#-Wall # developers are welcomed to build with `make WARN=-Wall'
135 ifelse(substr(OS,0,7),[CYGWIN_],[define([OS],[MINGW32])])
142 CFLAGS +=$(WARN) -mno-cygwin -O2
144 CXXFLAGS+=$(WARN) -mno-cygwin -O2 -fno-exceptions
149 +ifelse(OS,XMINGW32,[
151 +# MINGW cross-compile section
155 +CFLAGS +=$(WARN) -mno-cygwin -O2
157 +CXXFLAGS+=$(WARN) -mno-cygwin -O2 -fno-exceptions
161 + $(CXX) $(CXXFLAGS) -o $@ $> $^ $(LDFLAGS) $(LDLIBS)
163 +install: dvd+rw-tools
164 + [[ -d $(prefix)/bin ]] || mkdir -p $(prefix)/bin
165 + install -m 0755 $(CHAIN) $(prefix)/bin
166 + [[ -d $(manprefix)/man1 ]] || mkdir -p $(manprefix)/man1
167 + install -m 0644 growisofs.1 $(manprefix)/man1
168 + -[[ -f rpl8 ]] && install -m 0755 rpl8 $(prefix)/bin; :
169 + -[[ -f btcflash ]] && install -m 0755 btcflash $(prefix)/bin; :
173 @@ -207,27 +225,33 @@
177 -growisofs: growisofs_mmc.o growisofs.o
178 +CHAIN=growisofs$(EXE) dvd+rw-format$(EXE) dvd+rw-booktype$(EXE) dvd+rw-mediainfo$(EXE) dvd-ram-control$(EXE)
180 +dvd+rw-tools: $(CHAIN)
182 +WARN=#-Wall # developers are welcomed to build with `make WARN=-Wall'
184 +growisofs$(EXE): growisofs_mmc.o growisofs.o
185 growisofs.o: growisofs.c mp.h
186 growisofs_mmc.o: growisofs_mmc.cpp transport.hxx
188 -dvd+rw-format: dvd+rw-format.o
189 +dvd+rw-format$(EXE): dvd+rw-format.o
190 dvd+rw-format.o: dvd+rw-format.cpp transport.hxx
192 -dvd+rw-mediainfo: dvd+rw-mediainfo.o
193 +dvd+rw-mediainfo$(EXE): dvd+rw-mediainfo.o
194 dvd+rw-mediainfo.o: dvd+rw-mediainfo.cpp transport.hxx
196 -dvd+rw-booktype: dvd+rw-booktype.o
197 +dvd+rw-booktype$(EXE): dvd+rw-booktype.o
198 dvd+rw-booktype.o: dvd+rw-booktype.cpp transport.hxx
200 -dvd-ram-control: dvd-ram-control.o
201 +dvd-ram-control$(EXE): dvd-ram-control.o
202 dvd-ram-control.o: dvd-ram-control.cpp transport.hxx
206 rpl8.o: rpl8.cpp transport.hxx
208 #so that I can invoke `make +rpl8' to build rpl8...
209 -btcflash: btcflash.o
210 +btcflash$(EXE): btcflash.o
211 btcflash.o: btcflash.cpp transport.hxx
213 #so that I can invoke `make +btcflash' to build btcflash...
214 --- ../orig/dvd+rw-tools-7.0/Makefile.msc 1969-12-31 16:00:00.000000000 -0800
215 +++ ./Makefile.msc 2006-12-07 01:56:17.000000000 -0800
217 +CHAIN=growisofs.exe dvd+rw-format.exe dvd+rw-booktype.exe dvd+rw-mediainfo.exe dvd-ram-control.exe
219 +DEFINES=/D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_CRT_SECURE_NO_DEPRECATE" /D "_CRT_NONSTDC_NO_DEPRECATE" /D "_MBCS"
220 +CFLAGS=$(DEFINES) /O2 /FD /EHsc /MD /W3 /nologo /c /Wp64 /Zi
221 +CPPFLAGS=$(DEFINES) /O2 /FD /EHsc /MD /W3 /nologo /c /Wp64 /Zi
222 +LDFLAGS=/NOLOGO /SUBSYSTEM:CONSOLE /MANIFEST
227 + -del *.obj *.manifest *.pdb *.idb $(CHAIN) > nul 2>&1
230 + !xcopy $** $(prefix)\bin\ /y
232 +dvd+rw-tools: $(CHAIN)
234 +growisofs.exe: growisofs_mmc.obj growisofs.obj
235 + link $(LDFLAGS) /MANIFESTFILE:$@.manifest /out:$@ $**
236 + mt /nologo /outputresource:"$@;#1" -manifest $@.manifest
238 +growisofs.obj: growisofs.c mp.h
240 +growisofs_mmc.obj: growisofs_mmc.cpp transport.hxx
242 +dvd+rw-format.exe: dvd+rw-format.obj
243 + link $(LDFLAGS) /MANIFESTFILE:$@.manifest /out:$@ $**
244 + mt /nologo /outputresource:"$@;#1" -manifest $@.manifest
246 +dvd+rw-format.obj: dvd+rw-format.cpp transport.hxx
248 +dvd+rw-mediainfo.exe: dvd+rw-mediainfo.obj
249 + link $(LDFLAGS) /MANIFESTFILE:$@.manifest /out:$@ $**
250 + mt /nologo /outputresource:"$@;#1" -manifest $@.manifest
252 +dvd+rw-mediainfo.obj: dvd+rw-mediainfo.cpp transport.hxx
254 +dvd+rw-booktype.exe: dvd+rw-booktype.obj
255 + link $(LDFLAGS) /MANIFESTFILE:$@.manifest /out:$@ $**
256 + mt /nologo /outputresource:"$@;#1" -manifest $@.manifest
258 +dvd+rw-booktype.obj: dvd+rw-booktype.cpp transport.hxx
260 +dvd-ram-control.exe: dvd-ram-control.obj
261 + link $(LDFLAGS) /MANIFESTFILE:$@.manifest /out:$@ $**
262 + mt /nologo /outputresource:"$@;#1" -manifest $@.manifest
264 +dvd-ram-control.obj: dvd-ram-control.cpp transport.hxx