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