xref: /openbsd/gnu/usr.sbin/mkhybrid/src/ChangeLog (revision 404b540a)
1Wed Nov  5 10:46:29 1997  Andreas Buschmann US/EC4 60/1F/110 #40409  <buschman@lts.sel.alcatel.de>
2
3	Circumvent a bug in the SunOS / Solaris CD-ROM driver (and maybe HP/UX, too).
4
5       * mkisofs.8 (-S): Document switch.
6       *  mkisofs.c (split_SL_field): new Variable, new switch -S.
7       *  mkisofs.h (split_SL_field): new Variable.
8       * rock.c (generate_rock_ridge_attributes): only split SL field,
9       when split_SL_field is set.
10
11Tue Jun  3 15:32:21 1997  Andreas Buschmann <buschman@lts.sel.alcatel.de>
12
13       Circumvent a bug in the SunOS CD-ROM driver (and maybee HP/UX, too).
14
15       * mkisofs.8 (-s): Document switch.
16       * mkisofs.c (split_SL_component): new Variable, new switch -s.
17       * mkisofs.h (split_SL_component): new Variable.
18       * rock.c (generate_rock_ridge_attributes): only split SL
19       components, when split_SL_component is set.
20
21       * defaults.h: Added SunOS string.
22
23
24Wed Mar 19 16:50:17 1997  Fred Fish  <fnf@ninemoons.com>
25
26	* Makefile.in (CFLAGS): Let configure set basic flags.  Move
27	compilation option -c to actual CC commands.
28	(LDFLAGS): Let configure set basic flags.
29	(Makefile): Depends upon config.status, not configure.
30	Regenerate if necessary from Makefile.in using config.status.
31	(configure): Cd to srcdir before running autoconf.
32	* acconfig.h: New file to hold nonstandard entries used in
33	config.h.in.  Used by autoheader to generate config.h.in.
34	* config.h.in: Regenerated with autoheader.
35	* configure.in: Check for existance of sbrk() function.
36	* configure: Regenerated with autoconf 2.12.
37	* fnmatch.c (FMN_FILE_NAME): Define if not already defined.
38	(FNM_LEADING_DIR): Ditto.
39	(FNM_CASEFOLD): Ditto.
40	* mkisofs.c (main): Only use sbrk() if system supports it.
41
42Fri Mar 14 21:54:37 1997  Eric Youngdale  <eric@andante.jic.com>
43
44	* Bump version number to 1.10, public release.
45
46	* Put entire thing under RCS.  History is buried there now.
47
48	* Fix bug involving empty directories, translation tables and
49	malloc(0).
50
51Mon Feb 17 12:44:03 1997  Eric Youngdale  <eric@andante.jic.com>
52
53	* Bump version number to 1.10b7.
54
55	* Makefile.in, configure.in, config.in: Change to use GNU autoconf.
56
57	* Configure: Delete old configuration script.
58
59	* tree.c: Fix bug where we had a rename limit of 1000 files
60	instead of 0x1000.
61
62	* mkisofs.c: Fix sign of timezone offset.  Linux iso filesystem
63	also need to be fixed, unfortunately.
64
65Tue Dec  3 22:21:21 1996  Eric Youngdale  <eric@sub2317.jic.com>
66
67	Fixed a couple of multi-session bugs.  Discs now seem to
68	work on both Solaris and Windows-NT.
69
70	* Bump version number to 1.10b6.
71
72Tue Dec  3 22:21:21 1996  Eric Youngdale  <eric@sub2317.jic.com>
73
74	Multi-session stuff *almost* there.  Discs seem to work
75	under Linux without any problem, but under DOS only
76	the first session is seen.  The patch to write.c
77	inspired by disc written by Windows generated multi-session
78	disc, which will hopefully make the discs usable under
79	DOS as well.
80
81	* Bump version number to 1.10b5.
82
83	* write.c: use size of new session, not total of all sessions
84	in volume_space_size field.
85
86	* mkisofs.8: Update with current location of cdwrite.
87
88Mon Nov  4 23:45:01 1996  Eric Youngdale  <eric@sub2317.jic.com>
89
90	* Bump version number to 1.10b4.
91
92	* Add cdwrite.c.diff file, which provides a very crude, minimal
93	interface between mkisofs and cdwrite.  It should be enough to
94	generate a multi-session disc, but it hasn't been tested yet.
95
96Thu Oct 17 00:39:52 1996  Eric Youngdale  <eric@sub2317.jic.com>
97
98	* Bump version number to 1.10b3.
99
100Wed Oct 16 23:40:44 1996  Michael Fulbright <msf@redhat.com>
101
102	Add support for 'El Torito' specification which allows for bootable
103	cdroms.
104
105	* Makefile.in: Add eltorito.[c,o].
106
107	* defaults.h: Add default settings for El Torito related things.
108
109	* iso9660.h: Add structure definitions for El Torito.
110
111	* mkisofs.8: Document new options.
112
113	* mkisofs.c: Add support for new options related to El Torito.
114
115	* mkisofs.h: Add definitions, prototypes as required.
116
117	* tree.c: Add search_tree_file function to search for a specified
118	file.
119
120	* write.c: Add support for writing special records for El Torito.
121
122	* eltorito.c: New file.
123
124
125Wed Oct 16 23:40:44 1996  Eric Youngdale  <eric@sub2317.jic.com>
126
127	* rock.c: Fix bug whereby we made assumptions about how
128	dev_t was split into major/minor.  Use major() and minor()
129	macros to do this for us, since each system should
130	do this correctly.
131
132	* write.c: Fix bug whereby abstract, copyright and appid
133	strings were not properly filled if application ID weren't
134	in use.
135
136Sun Sep 29 10:05:10 1996  Eric Youngdale  <eric@sub2317.jic.com>
137
138	* Bump version number to 1.10b2.  Minor bug fixes here
139	and there.
140
141Sun Sep 15 18:54:05 1996  Eric Youngdale  <eric@sub2317.jic.com>
142
143	* Bump version number to 1.10b1.  Major new functionality is
144	support for multi-session.  Still a bit preliminary, but
145	most of the pieces are there now.
146
147Wed Dec 20 16:44:44 1995  Eric Youngdale  (eric@andante.aib.com)
148
149        * mkisofs.c, mkisofs.8, Makefile (version_string): Bump to 1.05.
150
151	* rock.c: Bugfix for cases where sizeof(int) == 4 and
152	sizeof(dev_t) > 4.
153
154	* rock.c: Bugfix for long symbolic links ('/' characters were
155	being dropped).
156
157	Patches from Peter Miller <pmiller@agso.gov.au>:
158
159	* mkisofs.8: Documentation fix (some versions of nroff don't
160	like '.' in column 1 if it is not a nroff command).
161
162	* mkisofs.c: Add support for 'rationalize' option.
163	Similar to rock ridge, except echos of development environment
164	are removed.
165
166	* write.c Status indicator now indicates percent finished, and
167	estimated time of completion.
168
169Sun Feb 26 01:52:06 1995  Eric Youngdale  (eric@largo)
170
171	* Add patches from Ross Biro to allow you to merge arbitrary
172	trees into the image.  This is not compiled in by default but
173	you need to add -DADD_FILES when compiling.
174
175Fri Feb 17 02:29:03 1995  Paul Eggert  <eggert@twinsun.com>
176
177	* tree.c: Port to Solaris 2.4.  Prefer <sys/mkdev.h> if
178	HASMKDEV.  Cast unknown integer types to unsigned long and
179	print them with %lu or %lx.
180
181Thu Jan 26 15:25:00 1995  H. Peter Anvin  (hpa@yggdrasil.com)
182
183	* mkisofs.c: Substitute underscore for leading dot in non-Rock
184	Ridge filenames, since MS-DOS cannot read files whose names
185	begin with a period.
186
187Mon Jan 16 18:31:41 1995  Eric Youngdale  (eric@aib.com)
188
189	* rock.c (generate_rock_ridge_attributes): Only use ROOT
190	record for symlinks if we are at the start of the symlink.
191	Otherwise just generate an empty entry.
192
193Mon Jan 16 16:19:50 1995  Eric Youngdale  (eric@aib.com)
194
195	* diag/isodump.c: Use isonum_733 instead of trying to dereference
196	pointers when trying to decode 733 numbers in the iso9660 image.
197
198	* diag/isovfy.c: Likewise.
199
200	* write.c: Always assign an extent number, even for zero length
201	files.  A zero length file with a NULL extent is apparently dropped
202	by many readers.
203
204Wed Jan 11 13:46:50 1995  Eric Youngdale  (eric@aib.com)
205
206	* mkisofs.c: Modify extension record to conform to IEEE P1282
207	specifications.  This is commented out right now, but a trivial
208	change to a #define enables this.   I need to see the specs
209	to see whether anything else changed before this becomes final.
210
211	* write.c (FDECL4): Fix so that we properly determine error
212	conditions.
213
214	* mkisofs.h: Change rr_attributes to unsigned.
215
216	* tree.c(increment_nlink): Change pnt since rr_attributes is now
217	  unsigned.
218
219	Ultrix patches from petav@argon.e20.physik.tu-muenchen.de (Peter Averkamp)
220
221	* rock.c: Fix for ultrix systems, we have 64 bit device numbers.
222	Type cast when generating file size.  Change rr_attributes to
223	unsigned.
224
225	* mkisofs.c: For ultrix systems, define our own function
226	for strdup.
227
228	* mkisofs.c: Fix usage() since some compilers do not concatenate
229	strings properly (i.e. ultrix).
230
231	Bugs found with Sentinel II:
232
233	* write.c: Fix a couple of memory leaks.
234
235	* mkisofs.c: Bugfix - always put a zero byte at end of name
236	for ".." entry.
237
238	* tree.c: Set isorec.date from fstatbuf.st_ctime, not current_time,
239	  since current_time might not be set.
240
241Sat Dec  3 14:55:42 1994  Eric Youngdale  (eric@andante)
242
243	* mkisofs.c: When returning entry for ".." file, set second byte
244	to 0.
245
246	* write.c: Free name and rr_attributes fields when writing.
247
248Mon Nov 28 13:36:27 1994  Eric Youngdale  (eric@andante)
249
250	* mkisofs.h: Change rr_attributes to unsigned.
251
252	* rock.c: Ditto.  Work around >>32 bug in ultrix for 64 bit data types.
253
254	* mkisofs.c (usage): Fix for ultrix - use continuation lines
255	instead of assuming that strings are catenated by the compiler.
256
257Mon Jun 20 20:25:26 1994  Eric Youngdale  (eric@esp22)
258
259        * mkisofs.c, mkisofs.8, Makefile (version_string): Bump to pre-1.02.
260
261	* mkisofs.h: Fix declaration of e_malloc to use DECL macros.
262
263	* tree.c: Fix bug in previous change.
264
265	* diag/*.c: Add appropriate copyright notices.
266
267Sat Apr  9 13:30:46 1994  Eric Youngdale  (ericy@cais.com)
268
269        * Configure: New file - shell script that determines a bunch of
270	things to properly build mkisofs.
271
272	* Makefile.in: New file - copy of Makefile, but Configure sets a
273	few things up for it.
274
275	* tree.c: Do not depend upon opendir to return NULL if we cannot
276	open a directory - actually try and read the first entry.  The
277	foibles of NFS seem to require this.
278
279	* write.c: Fix definition of xfwrite (Use FDECL4)
280
281	Add some changes to allow more configurability of some of the
282	volume header fields:
283
284	* mkisofs.8: Document new configuration options.
285
286	* mkisofs.c: Add variables to hold new fields.  Add function to
287	read .mkisofsrc files.
288
289	* defaults.h: Another way of configuring the same things.
290
291	Add some changes from Leo Weppelman leo@ahwau.ahold.nl.
292
293	* mkisofs.c:  Allow -A to specify application ID.  Fix usage(),
294	getopt and add case switch.
295
296	* rock.c: Fix handling of device numbers (dev_t high should only
297	be used when sizeof(dev_t) > 32 bits).
298
299	Add a bunch of changes from Manuel Bouyer.
300
301	* diag/Makefile: New file.
302
303	* diag/dump.c, diag/isodump.c: Use termios if system supports it.
304
305	* (throughout): Replace all occurences of "malloc" with e_malloc.
306
307	* mkisofs.c:  For NetBSD, attempt to increase the rlimit for
308	the size of the data segment to about 33 Mb.
309
310	* mkisofs.c (e_malloc): New function.  Calls malloc, and prints
311	nice error message and exits if NULL is returned.
312
313Sun Jan 23 19:23:57 1994  Eric Youngdale  (eric@esp22)
314
315        * mkisofs.c, mkisofs.8, Makefile (version_string): Bump to 1.01.
316
317    Add a bunch of stuff so that mkisofs will work on a VMS system.
318
319	* (ALL): Change any direct use of the "st_ino" field from
320	the statbuf to use a macro.
321
322	* mkisofs.h: Define appropriate macros for both VMS and unix.
323
324	* (ALL): Add type casts whenever we use the UNCACHED_DEV macro.
325
326	* rock.c: Wrap a #ifndef VMS around block and character device
327	stuff.
328
329	* write.c: Add prototype for strdup if VMS is defined.
330
331	* make.com: Script for building mkisofs on a VMS system.
332
333	* Makefile: Include make.com in the distribution.
334
335	* mkisofs.c: Include <sys/type.h> on VMS systems.
336
337	* tree.c: Include <sys/file.h> and "vms.h" on VMS systems.
338
339	* mkisofs.h (PATH_SEPARATOR, SPATH_SEPARATOR):  New macros
340	that define the ascii character that separates the last directory
341	component from the filename.
342
343	* tree.c, mkisofs.c: Use them.
344
345	* vms.c: New file.  Contains version of getopt, strdup, opendir,
346	readdir and closedir.
347
348	* vms.h: New file.  Defines S_IS* macros.  Define gmtime as
349	localtime, since gmtime under VMS returns NULL.
350
351Sat Jan 15 13:57:42 1994  Eric Youngdale  (eric@esp22)
352
353	* mkisofs.h (transparent_compression): New prototype.
354
355	* mkisofs.c (transparent_compression): Declare, use
356	'-z' option to turn on.
357
358	* tree.c: Change TRANS.TBL;1 to TRANS.TBL (version gets
359	added later, if required).
360
361	* rock.c: If transparent compression requested, verify
362	file is really suitable (check magic numbers), and extract
363	correct file length to store in SUSP record.
364
365Sat Jan 15 01:57:42 1994  Eric Youngdale  (eric@esp22)
366
367	* write.c (compare_dirs): Bugfix for patch from Jan 6.
368
369	* mkisofs.h (struct directory_entry): Add element total_rr_attr_size.
370	(struct file_hash): Add element ce_bytes.
371
372	* write.c (iso_write): Update last_extent_written, as required,
373	and check it against last_extent as a sanity check.
374	(generate_one_directory): If ce_bytes is non-zero, allocate
375	a buffer and fill it with the CE records.  Also, update
376	the extent and offset entries in the CE SUSP field and
377	output after directory is written.
378	(assign_directory_addresses): Allow for CE sectors after each
379	directory.
380
381	* tree.c (sort_n_finish): Set field ce_bytes by summing
382	the sizes of all CE blocks in each files RR attributes.
383	Do not count these bytes for main directory.
384
385	* rock.c (generate_rock_ridge_attributes): Generate
386	CE entries to break up large records into manageable sizes.
387	Allow long names to be split, and allow long symlinks to be split.
388	Allow splitting before each SUSP field as well, to make
389	sure we do not screw outselves.
390
391Thu Jan  6 21:47:43 1994  Eric Youngdale  (eric@esp22)
392
393    Bugfix.
394
395	* write.c (compare_dirs): Only compare directory names up to
396	the ';' for the version number.
397
398    Add four new options: (1) Full 31 character filenames,
399    (2) Omit version number, (3) Omit trailing period from filenames,
400    (4) Skip deep directory relocation.
401
402	* iso9660.h: Allow 34 characters for filename.
403
404	* mkisofs.8: Update for new options.
405
406	* mkisofs.c: Add flag variables for new options.
407	Mention new options in usage(), tell getopt about
408	new options, and set appropriate flags when
409	new options are specified.
410
411	* mkisofs.c (iso9660_file_length): Implement new options.
412
413	* mkisofs.h: Declare flag variables for new options.
414
415	* tree.c (sort_n_finish): Increase declaration of newname and
416	rootname to 34 characters.  If full_iso9660_filenames in effect,
417	use different rules for making unique names.
418
419	* tree.c (scan_directory_tree): Use RR_relocation_depth instead of
420	constant for threshold for starting deep directory relocation.
421
422Wed Jan  5 01:32:34 1994  John Brezak (brezak@ch.hp.com)
423
424	* Makefile.bsd: New file.  For NetBSD.
425
426	* rock.c, tree.c: Do not include sys/sysmacros.h for NetBSD.
427
428Fri Dec 31 13:22:52 1993  Eric Youngdale  (eric@esp22)
429
430        * mkisofs.c, mkisofs.8, Makefile (version_string): Bump to 1.00.
431
432	* tree.c (scan_directory_tree): Handle case where we do not
433	have permissions to open a directory.
434
435	* write.c (xfwrite): New function - wrapper for fwrite,
436	except that we print message and punt if write fails.
437
438	* write.c: Move include of mkisofs.h and iso9660.h until after
439	string.h and stdlib.h is included.
440
441	* write.c: Do not attempt to use strerror on sun systems.
442
443Thu Dec 9  13:17:28 1993  R.-D. Marzusch (marzusch@odiehh.hanse.de)
444
445        * exclude.c, exclude.h: New files.  Contains list of files to
446	exclude from consideration.
447
448	* Makefile: Compile exclude.c, add dependencies to other files.
449
450	* mkisofs.8: Describe -x option.
451
452	* mkisofs.c: Include exclude.h, handle -x option.
453
454
455Fri Dec 10 01:07:43 1993  Peter van der Veen (peterv@qnx.com)
456
457 	* mkisofs.c, mkisofs.h: Moved declaration of root_record.
458
459 	* mkisofs.h: Added prototype for get_733().
460
461 	* write.c(iso_write), tree.c, rock.c(generate_rock_ridge_attributes):
462 	Added defines for QNX operation system
463
464 	* rock.c(generate_rock_ridge_attributes): symbolic links should
465 	not have CONTINUE component flag set unless there are multiple
466 	component records, and mkisofs does not generate these.
467 	st_ctime was stored as the creation time, changed to attribute time.
468 	QNX has a creation time, so that is stored as well under QNX.
469
470Thu Oct 28 19:54:38 1993  Eric Youngdale  (eric@kafka)
471
472        * mkisofs.c, Makefile (version_string): Bump to 0.99.
473
474	* write.c(iso_write): Put hour, minute, second into date fields in
475	volume descriptor.
476
477	* write.c (iso_write): Set file_structure_version to 1, instead of
478	' ' (Seems to screw up Macs).
479
480Sun Oct 17 01:13:36 1993  Eric Youngdale  (eric@kafka)
481
482        * mkisofs.c, Makefile (version_string): Bump to 0.98.
483
484    Increment nlink in root directory when rr_moved directory is present.
485
486        * tree.c (increment_nlink): New function.
487
488	* tree.c (finish_cl_pl_entries): Call increment_nlink for all
489	references to the root directory.
490
491	* tree.c (root_statbuf): New variable.
492
493	* tree.c (scan_directory_tree): Initialize root_statbuf when we
494	stat the root directory.
495
496	* tree.c (generate_reloc_directory): Use root_statbuf when
497	generating the Rock Ridge stuff for the ".." entry in the
498	reloc_dir.
499
500	* tree.c (scan_directory_tree): Use root_statbuf when generating
501	the ".." entry in the root directory.
502
503Sat Oct 16 10:28:30 1993  Eric Youngdale  (eric@kafka)
504
505    Fix path tables so that they are sorted.
506
507	* tree.c (assign_directory_addresses): Move to write.c
508
509	* write.c (generate_path_tables): Create an array of pointers to
510	the individual directories, and sort it based upon the name and
511	the parent path table index.  Then update all of the indexes and
512	repeat the sort until the path table indexes no longer need to be
513	changed, and then write the path table.
514
515    Fix problem where hard links were throwing off the total extent count.
516
517	* write.c (iso_write): Call assign_file_addresses, and then
518	use last_extent to determine how big the volume is.
519
520	* write.c (generate_one_directory): Decrement n_data_extents
521	for hard links to non-directories so that the expected number
522	of extents is written correctly.
523
524	* write.c(assign_file_addresses): New function.
525
526Fri Oct 15 22:35:43 1993  Eric Youngdale  (eric@kafka)
527
528    The standard says we should do these things:
529
530	* tree.c (generate_reloc_directory): Add RR attributes to
531	the rr_moved directory.
532
533	* mkisofs.c(main): Change ER text strings back to recommended
534	values.
535
536Tue Oct 12 21:07:38 1993  Eric Youngdale  (eric@kafka)
537
538        * mkisofs.c, Makefile (version_string): Bump to 0.97.
539
540	* tree.c (scan_directory_tree): Do not insert PL entry into
541	root directory record (i.e. !parent)
542
543	* tree.c (finish_cl_pl_entries): Do not rely upon name
544	comparison to locate parent - use d_entry->self instead,
545	which is guaranteed to be correct.
546
547	* mkisofs.h: New variable n_data_extents.
548
549	* tree.c: Declare and initialize n_data_extents to 0.
550	(scan_directory_tree) for non-directories, add
551	ROUND_UP(statbuf.st_size) to n_data_extents.
552	(sort_n_finish): Increment n_data_extents for translation tables,
553	as appropriate.
554
555	* write.c(iso_write): Add n_data_extents to the
556	volume_space_size field.
557
558	* hash.c(add_hash): If size != 0 and extent == 0, or
559	if size == 0 and extent != 0, then complain about
560	inserting this into the hash table.  Kind of a sanity check.
561
562Sat Oct  9 16:39:15 1993  Eric Youngdale  (eric@kafka)
563
564        * mkisofs.c, Makefile (version_string): Bump to 0.96.
565
566	Numerous bugfixes, thanks to a one-off disc from rab@cdrom.com.
567
568	* write.c(generate_one_directory): Wait until after we have
569	filled in the starting_extent field to s_entry before calling
570	add_hash.  This fixes a problem where the hash table gets an
571	extent of 0 for all regular files, and this turns up when you have
572	hard links on the disc. (The hash table allows us to have each
573	hard link point to the same extent on the cdrom, thereby saving
574	some space).
575
576	* tree.c(scan_directory_tree): Set statbuf.st_dev and
577	statbuf.st_ino to the UNCACHED numbers for symlinks that we
578	are not following.  This prevents the function find_hash from
579	returning an inode that cooresponds to the file the symlink points
580	to, which in turn prevents generate_one_directory from filling in
581	a bogus file length (should be zero for symlinks).
582
583	* tree.c(scan_directory_tree): Always call lstat for the file
584	so that non-RockRidge discs get correct treatment of symlinks.
585	Improve error message when we ignore a symlink on a non-RR disc.
586
587	* write.c(generate_one_directory): Set fields for starting_extent
588	and size in the "." and ".." entries before we add them to the
589	file hash.  Fixes problems with incorrect backlinks for second
590	level directories.
591
592Wed Oct  6 19:53:40 1993  Eric Youngdale  (eric@kafka)
593
594	* write.c (write_one_file): Print message and punt if we are
595	unable to open the file.
596
597	* tree.c(scan_directory_tree): For regular files, use the access
598	function to verify that the file is readable in the first place.
599	If not, issue a warning and skip it.  For directories, it probably
600	does not matter, since we would not be able to descend into them
601	in the first place.
602
603Wed Sep 29 00:02:47 1993  Eric Youngdale  (eric@kafka)
604
605        * mkisofs.c, Makefile (version_string): Bump to 0.95.
606
607	* write.c, tree.c: Cosmetic changes to printed information.
608
609        * tree.c(scan_directory_tree): Set size to zero for
610	special stub entries that correspond to the
611	relocated directories.  Hopefully last big bug.
612
613	* mkisofs.h: Change TABLE_INODE, UNCACHED_* macros
614	to be 0x7fff... to be compatible with signed datatypes.
615
616Mon Sep 27 20:14:49 1993  Eric Youngdale  (eric@kafka)
617
618        * mkisofs.c, Makefile (version_string): Bump to 0.94.
619
620	* write.c (write_path_tables): Actually search the
621	directory for the matching entry in case we renamed
622	the directory because of a name conflict.
623
624	* tree.c(scan_directory_tree): Take directory_entry pointer
625	as second argument so that we can create a backpointer
626	in the directory structure that points back to the original
627	dir.
628
629	* mkisofs.c: Fix call to scan_directory_tree to use new calling
630	sequence.
631
632	* write.c(generate_one_directory): Punt if the last_extent counter
633	ever exceeds 700Mb/2048.  Print name of responsible file,
634	extent counter, and starting extent.  Perhaps we can catch it in
635	the act.
636
637Sun Sep 26 20:58:05 1993  Eric Youngdale  (eric@kafka)
638
639        * mkisofs.c, Makefile (version_string): Bump to 0.93.
640
641	* tree.c(scan_directory_tree): Handle symlinks better.  Either
642	leave them as symlinks, or erase any trace that they were a
643	symlink but do not do it 1/2 way as before.  Also, watch for
644	directory loops created with symlinks.
645
646	* mkisofs.h: Add new flag follow_links.
647
648	* mkisofs.c: Add command line switch "-f" to toggle follow_links.
649
650	* mkisofs.8: Document new switch.
651
652	* tree.c: Add code to handle symlinks using new flag.
653
654	* hash.c: Add add_directory_hash, find_directory_hash functions.
655
656	* mkisofs.h: Add prototypes.
657
658Sat Sep 25 14:26:31 1993  Eric Youngdale  (eric@kafka)
659
660        * mkisofs.c, Makefile (version_string): Bump to 0.92.
661
662	* mkisofs.c: Make sure path is an actual directory before trying
663	to scan it.
664
665	* mkisofs.h: Add DECL and FDECL? macros for sparc like systems.
666	Do proper define of optind and optarg under SVr4.
667
668	* tree.c: Change translation table name from YMTRANS.TBL to TRANS.TBL.
669
670	* mkisofs.c: Neaten up message in extension record when RRIP is
671	in use.
672
673	* Throughout - change all function declarations so that
674	traditional C compilers (i.e. sparc) will work.
675
676	* Makefile: Change to use system default C compiler.
677
678	* mkisofs.c: Add some stuff so that this will compile under VMS.
679	Many things missing for VMS still.
680
681	* iso9660.h: Do not use zero length array in struct definition.
682
683	* tree.c (sort_n_finish): Account for this.
684
685	* Change copyright notice.
686
687
688Wed Aug 25 08:06:51 1993  Eric Youngdale  (eric@kafka)
689
690        * mkisofs.c, Makefile (version_string): Bump to 0.91.
691
692	* mkisofs.h: Only  include sys/dir.h for linux.  Other systems
693	will need other things.
694
695	* mkisofs.c,  tree.c: Include unistd.h.
696
697	* Makefile:  Use OBJS to define list of object files.
698
699Sun Aug 22 20:55:17 1993  Eric Youngdale  (eric@kafka)
700
701        * mkisofs.c, Makefile (version_string): Bump to 0.9.
702
703	* write.c (iso_7*): Fix so that they work properly  on Motorola
704	systems.
705
706Fri Aug 20 00:14:36 1993  Eric Youngdale  (eric@kafka)
707
708        * mkisofs.c, Makefile (version_string): Bump to 0.8.
709
710	* rock.c: Do not mask off write permissions from posix file modes.
711
712Wed Aug 18 09:02:12 1993  Eric Youngdale  (eric@kafka)
713
714        * mkisofs.c, Makefile (version_string): Bump to 0.7.
715
716        *  rock.c: Do not  write  NM field  for . and .. (redundant and a
717	waste of space).
718
719	* mkisofs.c: Take -P and -p options for publisher and preparer id
720	fields.
721
722	* write.c: Store  publisher and preparer id  in  volume
723	descriptor.
724
725	* rock.c: Write  optional  SP field to identify  SUSP.  Write
726	optional CE field to point to the extension header.
727
728	* tree.c: Request  SP and  CE fields be added to root directory.
729
730        * tree.c: Fix bug in name conflict resolution.
731
732        * write.c: Fill in date fields in the  colume descriptor.
733
734        * write.c (write_one_file): If the file is large enough, write  in
735	chunks of 16 sectors to improve performance.
736
737	* hash.c (add_hash, find_hash, etc): Do  not hash s_entry, instead
738	store relevant info in hash structure (we free s_entry  structs as
739	we write files, and we need to have access to the hash table  the
740	whole  way through.
741
742	* write.c: Add a few statistics about directory sizes, RR sizes,
743	translation table sizes, etc.
744
745	* tree.c: Use major, not MAJOR.  Same for minor.  Define S_ISSOCK
746	and S_ISLNK if not defined.
747
748	* rock.c: Define S_ISLNK if not defined.
749
750	* mkisofs.c: Print out max memory usage.  Fix bug in call to getopt.
751
752        * mkisofs.c, Makefile (version_string): Bump to 0.6.
753
754	* tree.c: Simplify the calculation of isorec.len,  isorec.name_len
755	and the calculation of the path table sizes by doing it all at
756	one point after  conflict resolution is done.
757
758	* tree.c: scan_directory_tree is now  responsible for generating
759	the line that goes into the YMTRANS.TBL file.  These lines are
760	collected later  on into something that will be dumped to the
761	file. Correctly handle all of the special file types.
762
763Mon Aug 16 21:59:47 1993  Eric Youngdale  (eric@kafka)
764
765        * mkisofs.c, Makefile (version_string): Bump to 0.5.
766
767	* mkisofs.c: Add -a option  (to force all files to be
768	transferred).  Remove find_file_hash stuff.
769
770	* write.c: Pad length even if Rock Ridge is not in use.
771
772	* hash.c: Rewrite hash_file_* stuff so that it  can be used to
773	easily  detect (and look up) filenames that have been  accepted
774	for use  in this directory.  Used for name collision detection.
775
776	* tree.c (sort_n_finish): If two names collide, generate a unique
777	one (verified with the hash routines).  Change the lower priority
778	name if there is a difference.
779
780
781
782Sat Aug 14 13:18:21 1993  Eric Youngdale  (eric@kafka)
783
784        * mkisofs.c, Makefile (version_string): Bump to 0.4.
785
786	* tree.c (load_translation_table): New  function - read
787	YMTRANS.TBL.  (scan_directory_tree) Call it.
788
789	* mkisofs.c (iso9660_file_length): Call find_file_hash to see
790	if translated name is specified.  If so, use it.
791
792	* hash.c (name_hash, add_file_hash, find_file_hash,
793	flush_file_hash): New functions for hashing stuff from
794	YMTRANS.TBL.
795
796	* mkisofs.h: Add a bunch of prototypes for the new functions.
797
798	* mkisofs.8: Update.
799
800        * mkisofs.c, Makefile (version_string): Bump to 0.3.
801
802        * Makefile: Add version number to tar file in dist target.
803
804	* mkisofs.c: Call finish_cl_pl_entries() after directories have
805	been generated, and extent numbers assigned.
806
807	* write.c (generate_one_directory): Update s_entry->size  for
808	directories (as well as isorec.size).
809
810	* rock.c:  Add  code to generate CL, PL, and RE entries.  The
811	extent numbers for the CL and PL  entries are  NULL, and these
812	are filled in  later once we know where they actually belong.
813
814	* mkisofs.h: Add parent_rec to directory_entry.  Used to fix CL/PL
815	stuff.
816
817	* tree.c (scan_directory_tree): Set  flag to generate  CL/PL/RE
818	entries  as required, update sizes as well.
819
820Fri Aug 13 19:49:30 1993  Eric Youngdale  (eric@kafka)
821
822        * mkisofs.c (version_string): Bump to 0.2.
823
824	* hash.c: Do not use entries with inode  == 0xffffffff or dev  ==
825	0xffff.
826
827	* write.c (write_path_tables):  Strip leading directory specifications.
828
829	* mkisofs.h: Add  definition for reloc_dir symbol.  Add prototype
830	for sort_n_finish, add  third parameter  to  scan_directory_tree
831	(for true parent, when directories are relocated).
832
833	* mkisofs.c (main): Modify call to scan_directory_tree.  Call
834	sort_n_finish for reloc_dir.
835
836	* tree.c (sort_n_finish): New function - moved code from
837	scan_directory_tree.
838
839	* tree.c (generate_reloc_directory): New function.  Generate
840	directory to hold relocated directories.
841
842	* tree.c (scan_directory_tree): Strip leading directories when
843	generating this_dir->name.  If depth is  too great,  then move
844	directory to reloc_dir (creating if it does not exist, and leave
845	a dummy (non-directory) entry  in the regular directory  so that
846	we can eventually add the required Rock Ridge record.
847
848	* tree.c (scan_directory_tree): Use s_entry instead of sort_dir,
849	assign to this_dir->contents sooner.
850
851Thu Aug 12 22:38:17 1993  Eric Youngdale  (eric@kafka)
852
853	* mkisofs.c (usage): Fix syntax.
854
855	* mkisofs.c (main): Add new argument to scan_directory_tree
856
857	* tree.c (scan_directory_tree): If directory is at  depth 8 or
858	more, create rr_moved directory in main directory.
859
860Mon Jul 26 19:45:47 1993  Eric Youngdale  (eric@kafka)
861
862	* mkisofs v 0.1 released.
863
864