This time I'll actually include the patch. ----- Forwarded message from Andrew Cady <d+deb...@jerkface.net> -----
From: Andrew Cady <d+deb...@jerkface.net> To: 498...@bugs.debian.org Subject: Re: Bug#498151: mechanism for bootloader to know about iso9660 timestamp/uuid Attached is a patch which requires Robert Millan's patch. It adds documentation of the feature he added to the manual page and checks the length of the argument supplied on the command line. It also corrects a typo in the --help output. ----- End forwarded message -----
diff -ur cdrkit-1.1.9.rmh/genisoimage/genisoimage.1 cdrkit-1.1.9.afc/genisoimage/genisoimage.1 --- cdrkit-1.1.9.rmh/genisoimage/genisoimage.1 2008-05-25 18:32:46.000000000 -0400 +++ cdrkit-1.1.9.afc/genisoimage/genisoimage.1 2008-12-20 01:18:27.000000000 -0500 @@ -1357,6 +1357,21 @@ On other operating systems you will need to call .B mkzftree by hand to decompress the files. +.TP +.BI \-\-creation\-date " string" +.TP +.BI \-\-modification\-date " string" +.TP +.BI \-\-expiration\-date " string" +.TP +.BI \-\-effective\-date " string" +Override date fields in ISO volume id description. 16 character +string. The default is to set the expiration date to sixteen '0's (that +is, ASCII character '0'), and to set the other fields to the +.BR localtime (3) +of creation using the same format as produced by the command "date ++%Y%m%d%H%M%S00". (N.B.: using another format might confuse someone +reading the disc.) .\" ---------------------------------------- .SH "HFS OPTIONS" .TP diff -ur cdrkit-1.1.9.rmh/genisoimage/genisoimage.c cdrkit-1.1.9.afc/genisoimage/genisoimage.c --- cdrkit-1.1.9.rmh/genisoimage/genisoimage.c 2008-12-20 01:39:12.000000000 -0500 +++ cdrkit-1.1.9.afc/genisoimage/genisoimage.c 2008-12-20 01:34:55.000000000 -0500 @@ -771,9 +771,9 @@ {{"boot-info-table", no_argument, NULL, OPTION_BOOT_INFO_TABLE}, '\0', NULL, "Patch boot image with info table", ONE_DASH}, {{"XA", no_argument, NULL, OPTION_XA}, - '\0', NULL, "Generate XA directory attruibutes", ONE_DASH}, + '\0', NULL, "Generate XA directory attributes", ONE_DASH}, {{"xa", no_argument, NULL, OPTION_XA_RATIONALIZED}, - '\0', NULL, "Generate rationalized XA directory attruibutes", ONE_DASH}, + '\0', NULL, "Generate rationalized XA directory attributes", ONE_DASH}, {{"transparent-compression", no_argument, NULL, 'z'}, 'z', NULL, "Enable transparent compression of files", ONE_DASH}, {{"creation-date", required_argument, NULL, OPTION_CREAT_DATE}, @@ -2228,21 +2228,61 @@ current_boot_entry->boot_info_table = 1; break; case OPTION_CREAT_DATE: + if (strlen(optarg) != 16) { +#ifdef USE_LIBSCHILY + comerrno(EX_BAD, + "date string must be 16 characters.\n"); +#else + fprintf(stderr, + "date string must be 16 characters.\n"); + exit(1); +#endif + } if (creation_date) free(creation_date); creation_date = strdup(optarg); break; case OPTION_MODIF_DATE: + if (strlen(optarg) != 16) { +#ifdef USE_LIBSCHILY + comerrno(EX_BAD, + "date string must be 16 characters.\n"); +#else + fprintf(stderr, + "date string must be 16 characters.\n"); + exit(1); +#endif + } if (modification_date) free(modification_date); modification_date = strdup(optarg); break; case OPTION_EXPIR_DATE: + if (strlen(optarg) != 16) { +#ifdef USE_LIBSCHILY + comerrno(EX_BAD, + "date string must be 16 characters.\n"); +#else + fprintf(stderr, + "date string must be 16 characters.\n"); + exit(1); +#endif + } if (expiration_date) free(expiration_date); expiration_date = strdup(optarg); break; case OPTION_EFFEC_DATE: + if (strlen(optarg) != 16) { +#ifdef USE_LIBSCHILY + comerrno(EX_BAD, + "date string must be 16 characters.\n"); +#else + fprintf(stderr, + "date string must be 16 characters.\n"); + exit(1); +#endif + } if (effective_date) free(effective_date); effective_date = strdup(optarg);