diffstat for cdrkit_1.1.11-3 cdrkit_1.1.11-3ubuntu2 cdrkit-1.1.11/debian/changelog | 228 ++++++++++++++++++++++++++++++++ cdrkit-1.1.11/debian/control | 18 +- cdrkit-1.1.11/debian/genisoimage.links | 1 cdrkit-1.1.11/debian/icedax.install | 6 cdrkit-1.1.11/debian/icedax.links | 3 cdrkit-1.1.11/debian/rules | 8 - cdrkit-1.1.11/debian/wodim.links | 1 cdrkit-1.1.11/debian/wodim.preinst | 1 cdrkit-1.1.11/genisoimage/genisoimage.c | 8 + debian/icedax.postinst | 50 +++++++ debian/icedax.prerm | 31 ++++ genisoimage/eltorito.c | 58 +++++++- genisoimage/genisoimage.h | 1 genisoimage/iso9660.h | 14 + 14 files changed, 407 insertions(+), 21 deletions(-) diff -u cdrkit-1.1.11/debian/changelog cdrkit-1.1.11/debian/changelog --- cdrkit-1.1.11/debian/changelog +++ cdrkit-1.1.11/debian/changelog @@ -1,3 +1,31 @@ +cdrkit (9:1.1.11-3ubuntu2) artful; urgency=medium + + * No-change rebuild to pick up -fPIE compiler default in static + libraries + + -- Steve Langasek Fri, 21 Apr 2017 20:46:24 +0000 + +cdrkit (9:1.1.11-3ubuntu1) vivid; urgency=medium + + * Resynchronise with Debian. Remaining changes: + - debian/wodim.links: Add symlink to /usr/bin/cdrecord. + - debian/genisoimage.links: Add symlink to /usr/bin/mkisofs. + - debian/icedax.links: Add symlink to /usr/bin/cdda2wav. + - debian/control: + - Add Provides: cdrecord to binary package wodim. + - Add Provides: mkisofs to binary package genisoimage. + - Add Provides: cdda2wav to binary package icedax. + - Remove all version strings from conflicts/replaces in wodim, + genisoimage and icedax for the respective cdrtools binary package + names. + - debian/wodim.preinst: Add "7a4383a7c0995736dee9d646b0724d08" to the + md5sums of unchanged config files (that is the dapper one). + - Introduce alternatives system for the scripts and manpages "cdda2mp3" + and "cdda2ogg". + - Apply Fedora patch by Peter Jones to add EFI boot support. + + -- Colin Watson Mon, 24 Nov 2014 13:49:10 +0000 + cdrkit (9:1.1.11-3) unstable; urgency=medium * Fix FTBFS on kfreebsd-*. Closes: #754642. kfreebsd-* now includes a @@ -15,6 +43,39 @@ -- Stefano Zacchiroli Wed, 18 Jun 2014 12:02:31 +0200 +cdrkit (9:1.1.11-2ubuntu3) quantal; urgency=low + + * Rebuild for new armel compiler default of ARMv5t. + + -- Colin Watson Mon, 01 Oct 2012 16:49:13 +0100 + +cdrkit (9:1.1.11-2ubuntu2) precise; urgency=low + + * Update geteltorito to new upstream version. (LP: #530530) + + -- Soren Hansen Tue, 31 Jan 2012 14:08:36 +0100 + +cdrkit (9:1.1.11-2ubuntu1) precise; urgency=low + + * Resynchronise with Debian. Remaining changes: + - debian/wodim.links: Add symlink to /usr/bin/cdrecord. + - debian/genisoimage.links: Add symlink to /usr/bin/mkisofs. + - debian/icedax.links: Add symlink to /usr/bin/cdda2wav. + - debian/control: + - Add Provides: cdrecord to binary package wodim. + - Add Provides: mkisofs to binary package genisoimage. + - Add Provides: cdda2wav to binary package icedax. + - Remove all version strings from conflicts/replaces in wodim, + genisoimage and icedax for the respective cdrtools binary package + names. + - debian/wodim.preinst: Add "7a4383a7c0995736dee9d646b0724d08" to the + md5sums of unchanged config files (that is the dapper one). + - Introduce alternatives system for the scripts and manpages "cdda2mp3" + and "cdda2ogg". + - Apply Fedora patch by Peter Jones to add EFI boot support. + + -- Martin Pitt Wed, 19 Oct 2011 11:58:56 +0200 + cdrkit (9:1.1.11-2) unstable; urgency=low * Modify build-dependencies to better support kFreeBSD folks. Thanks to @@ -26,6 +87,33 @@ -- Steve McIntyre <93sam@debian.org> Thu, 21 Jul 2011 12:49:12 +0100 +cdrkit (9:1.1.11-1ubuntu2) natty; urgency=low + + * No-change rebuild to reduce changelogs. + + -- Martin Pitt Fri, 03 Dec 2010 09:31:46 +0100 + +cdrkit (9:1.1.11-1ubuntu1) natty; urgency=low + + * Resynchronise with Debian. Remaining changes: + - debian/wodim.links: Add symlink to /usr/bin/cdrecord. + - debian/genisoimage.links: Add symlink to /usr/bin/mkisofs. + - debian/icedax.links: Add symlink to /usr/bin/cdda2wav. + - debian/control: + - Add Provides: cdrecord to binary package wodim. + - Add Provides: mkisofs to binary package genisoimage. + - Add Provides: cdda2wav to binary package icedax. + - Remove all version strings from conflicts/replaces in wodim, + genisoimage and icedax for the respective cdrtools binary package + names. + - debian/wodim.preinst: Add "7a4383a7c0995736dee9d646b0724d08" to the + md5sums of unchanged config files (that is the dapper one). + - Introduce alternatives system for the scripts and manpages "cdda2mp3" + and "cdda2ogg". + - Apply Fedora patch by Peter Jones to add EFI boot support. + + -- Colin Watson Fri, 22 Oct 2010 12:40:31 +0100 + cdrkit (9:1.1.11-1) unstable; urgency=low * New upstream release. @@ -47,6 +135,41 @@ -- Steve McIntyre <93sam@debian.org> Sun, 17 Oct 2010 23:33:48 +0100 +cdrkit (9:1.1.10-1ubuntu3) maverick; urgency=low + + * Backport from svn: + - genisoimage: Fix silly bug in MD5 output in template files. + + -- Colin Watson Mon, 13 Sep 2010 13:26:17 +0100 + +cdrkit (9:1.1.10-1ubuntu2) maverick; urgency=low + + * Apply Fedora patch by Peter Jones to add EFI boot support. + + -- Colin Watson Wed, 25 Aug 2010 14:22:27 +0100 + +cdrkit (9:1.1.10-1ubuntu1) lucid; urgency=low + + * Merge with Debian (LP: #534307); remaining changes: + - debian/wodim.links: added symlink to /usr/bin/cdrecord + - debian/genisoimage.links: added symlink to /usr/bin/mkisofs + - debian/icedax.links: added symlink to /usr/bin/cdda2wav + - debian/control: + - added Provides: cdrecord to binary package wodim + - added Provides: mkisofs to binary package genisoimage + - added Provides: cdda2wav to binary package icedax + - removed all version strings from conflicts/replaces + in wodim, genisoimage and icedax for the respective + cdrtools binary pkg names + - debian/wodim.preinst: add "7a4383a7c0995736dee9d646b0724d08" to the + md5sums of unchanged config files (that is the dapper one). + - introduce alternatives system for the scripts and manpages + "cdda2mp3" and "cdda2ogg". + - no longer provide the dummy packages 'cdrecord', 'mkisofs' and + 'cdda2wav'. + + -- Felix Geyer Fri, 12 Mar 2010 10:34:42 +0100 + cdrkit (9:1.1.10-1) unstable; urgency=low * New upstream release. @@ -56,6 +179,34 @@ -- Steve McIntyre <93sam@debian.org> Fri, 27 Nov 2009 23:27:43 +0000 +cdrkit (9:1.1.9-1ubuntu2) karmic; urgency=low + + * Fix FTBFS with glibc 2.10 (LP: #430190) + + -- Felix Geyer Tue, 22 Sep 2009 14:20:09 +0200 + +cdrkit (9:1.1.9-1ubuntu1) jaunty; urgency=low + + * Merge with Debian; remaining changes: + - debian/wodim.links: added symlink to /usr/bin/cdrecord + - debian/genisoimage.links: added symlink to /usr/bin/mkisofs + - debian/icedax.links: added symlink to /usr/bin/cdda2wav + - debian/control: + - added Provides: cdrecord to binary package wodim + - added Provides: mkisofs to binary package genisoimage + - added Provides: cdda2wav to binary package icedax + - removed all version strings from conflicts/replaces + in wodim, genisoimage and icedax for the respective + cdrtools binary pkg names + - debian/wodim.preinst: add "7a4383a7c0995736dee9d646b0724d08" to the + md5sums of unchanged config files (that is the dapper one). + - introduce alternatives system for the scripts and manpages + "cdda2mp3" and "cdda2ogg", in order to avoid file conflicts between + the cdda2wav package from multiverse with icedax from main. + - no longer provide the dummy packages 'cdrecord', 'mkisofs' and + + -- Matthias Klose Wed, 12 Nov 2008 15:01:39 +0100 + cdrkit (9:1.1.9-1) unstable; urgency=low * New upstream release with a couple of important bugfixes: @@ -68,6 +219,29 @@ -- Steve McIntyre <93sam@debian.org> Sun, 26 Oct 2008 15:43:54 -0700 +cdrkit (9:1.1.8-1ubuntu1) intrepid; urgency=low + + * Merge with Debian; remaining changes: + - debian/wodim.links: added symlink to /usr/bin/cdrecord + - debian/genisoimage.links: added symlink to /usr/bin/mkisofs + - debian/icedax.links: added symlink to /usr/bin/cdda2wav + - debian/control: + - added Provides: cdrecord to binary package wodim + - added Provides: mkisofs to binary package genisoimage + - added Provides: cdda2wav to binary package icedax + - removed all version strings from conflicts/replaces + in wodim, genisoimage and icedax for the respective + cdrtools binary pkg names + - debian/wodim.preinst: add "7a4383a7c0995736dee9d646b0724d08" to the + md5sums of unchanged config files (that is the dapper one). + - introduce alternatives system for the scripts and manpages + "cdda2mp3" and "cdda2ogg", in order to avoid file conflicts between + the cdda2wav package from multiverse with icedax from main. + - no longer provide the dummy packages 'cdrecord', 'mkisofs' and + 'cdda2wav', since we now have cdrtools in multiverse + + -- Matthias Klose Thu, 26 Jun 2008 00:42:24 +0200 + cdrkit (9:1.1.8-1) unstable; urgency=low * New upstream release, lots of changes in genisoimage: @@ -113,6 +287,60 @@ -- Steve McIntyre <93sam@debian.org> Mon, 17 Mar 2008 20:07:58 +0000 +cdrkit (9:1.1.6-1ubuntu6) hardy; urgency=low + + * genisoimage/tree.c: + - Add patch to fix Joliet filesystem creation. This patch has + been commited to cdrkit svn revno 782 already (LP: #187459) + + -- Mario Limonciello Fri, 29 Feb 2008 22:47:13 -0600 + +cdrkit (9:1.1.6-1ubuntu5) hardy; urgency=low + + * debian/wodim.links: added symlink to /usr/bin/cdrecord + * debian/genisoimage.links: added symlink to /usr/bin/mkisofs + * debian/icedax.links: added symlink to /usr/bin/cdda2wav + * debian/control: + - added Provides: cdrecord to binary package wodim + - added Provides: mkisofs to binary package genisoimage + - added Provides: cdda2wav to binary package icedax + - removed all version strings from conflicts/replaces + in wodim, genisoimage and icedax for the respective + cdrtools binary pkg names + + -- Stephan Hermann Tue, 15 Jan 2008 12:36:22 +0100 + +cdrkit (9:1.1.6-1ubuntu4) hardy; urgency=low + + * debian/wodim.preinst: + - add "7a4383a7c0995736dee9d646b0724d08" to the md5sums + of unchanged config files (that is the dapper one) + (LP: #172851) + + -- Michael Vogt Thu, 29 Nov 2007 18:29:23 +0100 + +cdrkit (9:1.1.6-1ubuntu3) gutsy; urgency=low + + * introduce alternatives system for the scripts and manpages + "cdda2mp3" and "cdda2ogg", in order to avoid file conflicts between + the cdda2wav package from multiverse with icedax from main. + + -- Reinhard Tartler Sun, 16 Sep 2007 19:36:22 +0200 + +cdrkit (9:1.1.6-1ubuntu2) gutsy; urgency=low + + * no longer provide the dummy packages 'cdrecord', 'mkisofs' and + 'cdda2wav', since we now have cdrtools in multiverse + + -- Reinhard Tartler Sat, 15 Sep 2007 18:57:36 +0200 + +cdrkit (9:1.1.6-1ubuntu1) gutsy; urgency=low + + * Always initialise next pointer of jigdo include and exclude list + structures (LP: #130376). + + -- Colin Watson Sat, 04 Aug 2007 16:16:40 +0100 + cdrkit (9:1.1.6-1) unstable; urgency=low * New upstream release diff -u cdrkit-1.1.11/debian/control cdrkit-1.1.11/debian/control --- cdrkit-1.1.11/debian/control +++ cdrkit-1.1.11/debian/control @@ -1,7 +1,8 @@ Source: cdrkit Priority: optional Section: otherosfs -Maintainer: Joerg Jaspert +Maintainer: Ubuntu Developers +XSBC-Original-Maintainer: Joerg Jaspert Uploaders: Eduard Bloch , Steve McIntyre <93sam@debian.org> Build-Depends: debhelper (>=5.0.37.3), libbz2-dev, zlib1g-dev, autotools-dev, cmake (>= 2.4.2), libcap2-dev [linux-any], libcam-dev [kfreebsd-any], libmagic-dev Standards-Version: 3.9.2 @@ -10,9 +11,10 @@ Architecture: any Depends: ${shlibs:Depends}, ${misc:Depends} Recommends: genisoimage -Replaces: cdrtools-doc (<< 5:1.0~pre1-1), cdrecord (<< 5:1.0~pre1-1) +Replaces: cdrtools-doc, cdrecord Suggests: cdrkit-doc -Conflicts: cdrecord (<< 5:1.0~pre1-1), xcdroast (<< 0.98+0alpha15-11) +Provides: cdrecord +Conflicts: xcdroast (<< 0.98+0alpha15-11) Description: command line CD/DVD writing tool wodim allows you to create CDs or DVDs on a CD/DVD recorder. It supports writing data, audio, mixed, multi-session, and CD+ disc and DVD @@ -26,8 +28,9 @@ Architecture: any Depends: ${shlibs:Depends}, ${misc:Depends} Suggests: wodim, cdrkit-doc -Replaces: mkisofs (<< 9:1.0) -Conflicts: mkhybrid, mkisofs (<< 9:1.0) +Replaces: mkisofs +Conflicts: mkhybrid, mkisofs +Provides: mkisofs Description: Creates ISO-9660 CD-ROM filesystem images genisoimage is a pre-mastering program for creating ISO-9660 CD-ROM filesystem images, which can then be written to CD or DVD media using @@ -49,8 +52,9 @@ Suggests: vorbis-tools, cdrkit-doc Depends: ${shlibs:Depends}, ${misc:Depends} Section: sound -Replaces: cdda2wav (<< 9:1.0) -Conflicts: cdda2wav (<< 9:1.0) +Provides: cdda2wav +Replaces: cdda2wav +Conflicts: cdda2wav Description: Creates WAV files from audio CDs icedax lets you digitally copy ("rip") audio tracks from a CD, avoiding the distortion that is introduced when recording via a sound card. Data diff -u cdrkit-1.1.11/debian/genisoimage.links cdrkit-1.1.11/debian/genisoimage.links --- cdrkit-1.1.11/debian/genisoimage.links +++ cdrkit-1.1.11/debian/genisoimage.links @@ -3,0 +4 @@ +usr/bin/genisoimage usr/bin/mkisofs diff -u cdrkit-1.1.11/debian/icedax.install cdrkit-1.1.11/debian/icedax.install --- cdrkit-1.1.11/debian/icedax.install +++ cdrkit-1.1.11/debian/icedax.install @@ -1,10 +1,10 @@ debian/tmp/usr/bin/icedax -debian/tmp/usr/bin/cdda2mp3 -debian/tmp/usr/bin/cdda2ogg +debian/tmp/usr/bin/cdrkit.cdda2mp3 +debian/tmp/usr/bin/cdrkit.cdda2ogg debian/tmp/usr/bin/readmult debian/tmp/usr/bin/pitchplay debian/tmp/usr/share/man/man1/icedax.1 -debian/tmp/usr/share/man/man1/cdda2ogg.1 +debian/tmp/usr/share/man/man1/cdrkit.cdda2ogg.1 debian/tmp/usr/share/man/man1/readmult.1 debian/tmp/usr/share/man/man1/pitchplay.1 debian/tmp/usr/share/man/man1/list_audio_tracks.1 diff -u cdrkit-1.1.11/debian/icedax.links cdrkit-1.1.11/debian/icedax.links --- cdrkit-1.1.11/debian/icedax.links +++ cdrkit-1.1.11/debian/icedax.links @@ -1,2 +1,3 @@ -usr/share/man/man1/cdda2ogg.1.gz usr/share/man/man1/cdda2mp3.1.gz +usr/share/man/man1/cdrkit.cdda2ogg.1.gz usr/share/man/man1/cdrkit.cdda2mp3.1.gz usr/bin/icedax usr/bin/list_audio_tracks +usr/bin/icedax usr/bin/cdda2wav diff -u cdrkit-1.1.11/debian/rules cdrkit-1.1.11/debian/rules --- cdrkit-1.1.11/debian/rules +++ cdrkit-1.1.11/debian/rules @@ -62,8 +62,10 @@ install -m 755 3rd-party/geteltorito/geteltorito.pl $(i)/bin/geteltorito install -m 755 3rd-party/zisofs_tools/mkzftree $(i)/bin/ - install -m 755 icedax/cdda2ogg $(i)/bin/ - install -m 755 icedax/cdda2mp3 $(i)/bin/ + install -m 755 icedax/cdda2ogg $(i)/bin/cdrkit.cdda2ogg + install -m 755 icedax/cdda2mp3 $(i)/bin/cdrkit.cdda2mp3 + # XXX hack hack + mv -v $(i)/share/man/man1/cdda2ogg.1 $(i)/share/man/man1/cdrkit.cdda2ogg.1 install -m 755 icedax/readmult $(i)/bin/ install -m 755 icedax/pitchplay $(i)/bin/ touch build/install-debstamp @@ -135,7 +137,7 @@ dh_install -p$@ -P$(b)/$@ # cp debian/reportbug.presubj $(b)/$@/usr/share/bug/icedax/presubj dh_strip -p$@ -P$(b)/$@ - chmod 755 $(b)/$@/usr/bin/cdda2* + chmod 755 $(b)/$@/usr/bin/cdrkit.cdda2* dh_link -p$@ -P$(b)/$@ chmod 755 $(b)/$@/usr/bin/readmult chmod 755 $(b)/$@/usr/bin/pitchplay diff -u cdrkit-1.1.11/debian/wodim.links cdrkit-1.1.11/debian/wodim.links --- cdrkit-1.1.11/debian/wodim.links +++ cdrkit-1.1.11/debian/wodim.links @@ -1,0 +2 @@ +usr/bin/wodim usr/bin/cdrecord diff -u cdrkit-1.1.11/debian/wodim.preinst cdrkit-1.1.11/debian/wodim.preinst --- cdrkit-1.1.11/debian/wodim.preinst +++ cdrkit-1.1.11/debian/wodim.preinst @@ -23,6 +23,7 @@ e05fdb0a48542ccbff5b28b100d083e3 |\ e7e6151fe872d56351d04f4c2c3d9722 |\ eff315991af0911ae8c96b9500c1714f |\ + 7a4383a7c0995736dee9d646b0724d08 |\ "") rm -f $CONF ;; diff -u cdrkit-1.1.11/genisoimage/genisoimage.c cdrkit-1.1.11/genisoimage/genisoimage.c --- cdrkit-1.1.11/genisoimage/genisoimage.c +++ cdrkit-1.1.11/genisoimage/genisoimage.c @@ -47,6 +47,7 @@ #include #include "genisoimage.h" +#include "iso9660.h" #include #include #include @@ -526,6 +527,8 @@ '\0', NULL, "Set debug flag", ONE_DASH}, {{"eltorito-boot", required_argument, NULL, 'b'}, 'b', "FILE", "Set El Torito boot image name", ONE_DASH}, + {{"efi-boot", required_argument, NULL, 'e'}, + 'e', "FILE", "Set EFI boot image name", ONE_DASH}, {{"eltorito-alt-boot", no_argument, NULL, OPTION_ALT_BOOT}, '\0', NULL, "Start specifying alternative El Torito boot parameters", ONE_DASH}, {{"sparc-boot", required_argument, NULL, 'B'}, @@ -1535,6 +1538,7 @@ all_files = 0; break; case 'b': + case 'e': do_sort++; /* We sort bootcat/botimage */ use_eltorito++; boot_image = optarg; /* pathname of the boot image */ @@ -1550,6 +1554,10 @@ #endif } get_boot_entry(); + if (c == 'e') + current_boot_entry->arch = EL_TORITO_ARCH_EFI; + else + current_boot_entry->arch = EL_TORITO_ARCH_x86; current_boot_entry->boot_image = boot_image; break; case OPTION_ALT_BOOT: only in patch2: unchanged: --- cdrkit-1.1.11.orig/debian/icedax.postinst +++ cdrkit-1.1.11/debian/icedax.postinst @@ -0,0 +1,50 @@ +#! /bin/sh + +set -e + +# summary of how this script can be called: +# * `configure' +# * `abort-upgrade' +# * `abort-remove' `in-favour' +# +# * `abort-deconfigure' `in-favour' +# `removing' +# +# for details, see /usr/share/doc/packaging-manual/ +# +# quoting from the policy: +# Any necessary prompting should almost always be confined to the +# post-installation script, and should be protected with a conditional +# so that unnecessary prompting doesn't happen if a package's +# installation fails and the `postinst' is called with `abort-upgrade', +# `abort-remove' or `abort-deconfigure'. + +case "$1" in + configure) + update-alternatives --quiet --install \ + /usr/bin/cdda2ogg cdda2ogg /usr/bin/cdrkit.cdda2ogg 50 \ + --slave /usr/share/man/man1/cdda2ogg.1.gz cdda2ogg.1.gz \ + /usr/share/man/man1/cdrkit.cdda2ogg.1.gz + + update-alternatives --quiet --install \ + /usr/bin/cdda2mp3 cdda2mp3 /usr/bin/cdrkit.cdda2mp3 50 \ + --slave /usr/share/man/man1/cdda2mp3.1.gz cdda2mp3.1.gz \ + /usr/share/man/man1/cdrkit.cdda2mp3.1.gz + ;; + + abort-upgrade|abort-remove|abort-deconfigure) + ;; + + *) + echo "postinst called with unknown argument \`$1'" >&2 + exit 0 + ;; +esac + +# dh_installdeb will replace this with shell code automatically +# generated by other debhelper scripts. + +#DEBHELPER# + +exit 0 + only in patch2: unchanged: --- cdrkit-1.1.11.orig/debian/icedax.prerm +++ cdrkit-1.1.11/debian/icedax.prerm @@ -0,0 +1,31 @@ +#! /bin/sh + +set -e + +# summary of how this script can be called: +# * `remove' +# * `upgrade' +# * `failed-upgrade' +# * `remove' `in-favour' +# * `deconfigure' `in-favour' +# `removing' +# +# for details, see /usr/share/doc/packaging-manual/ + +case "$1" in + remove|upgrade|deconfigure) + update-alternatives --quiet --remove cdda2ogg /usr/bin/cdrkit.cdda2ogg + update-alternatives --quiet --remove cdda2mp3 /usr/bin/cdrkit.cdda2mp3 + ;; + failed-upgrade) + ;; + *) + echo "prerm called with unknown argument \`$1'" >&2 + exit 0 + ;; +esac + +#DEBHELPER# + +exit 0 + only in patch2: unchanged: --- cdrkit-1.1.11.orig/genisoimage/eltorito.c +++ cdrkit-1.1.11/genisoimage/eltorito.c @@ -59,7 +59,7 @@ static void fill_boot_desc(struct eltorito_defaultboot_entry *boot_desc_entry, struct eltorito_boot_entry_info *boot_entry); void get_boot_entry(void); -void new_boot_entry(void); +void new_boot_entry(); static int tvd_write(FILE *outfile); @@ -283,6 +283,7 @@ int i; int offset; struct eltorito_defaultboot_entry boot_desc_record; + struct eltorito_sectionheader_entry section_header; memset(boot_desc, 0, sizeof (*boot_desc)); boot_desc->type[0] = 0; @@ -317,7 +318,7 @@ */ memset(&valid_desc, 0, sizeof (valid_desc)); valid_desc.headerid[0] = 1; - valid_desc.arch[0] = EL_TORITO_ARCH_x86; + valid_desc.arch[0] = first_boot_entry->arch; /* * we'll shove start of publisher id into id field, @@ -347,10 +348,53 @@ /* now write it to the virtual boot catalog */ memcpy(de2->table, &valid_desc, 32); - for (current_boot_entry = first_boot_entry, offset = sizeof (valid_desc); - current_boot_entry != NULL; - current_boot_entry = current_boot_entry->next, - offset += sizeof (boot_desc_record)) { + /* Fill the first entry, since it's special and already has the + * matching header via the validation header... */ + offset = sizeof (valid_desc); + current_boot_entry = first_boot_entry; + + if (offset >= SECTOR_SIZE) { +#ifdef USE_LIBSCHILY + comerrno(EX_BAD, "Too many El Torito boot entries\n"); +#else + fprintf(stderr, "Too many El Torito boot entries\n"); + exit(1); +#endif + } + fill_boot_desc(&boot_desc_record, current_boot_entry); + memcpy(de2->table + offset, &boot_desc_record, + sizeof (boot_desc_record)); + + offset += sizeof(boot_desc_record); + + for (current_boot_entry = current_boot_entry->next; + current_boot_entry != NULL; + current_boot_entry = current_boot_entry->next) { + struct eltorito_sectionheader_entry section_header; + + if (offset >= SECTOR_SIZE) { +#ifdef USE_LIBSCHILY + comerrno(EX_BAD, + "Too many El Torito boot entries\n"); +#else + fprintf(stderr, + "Too many El Torito boot entries\n"); + exit(1); +#endif + } + + memset(§ion_header, '\0', sizeof(section_header)); + if (current_boot_entry->next) + section_header.headerid[0] = EL_TORITO_SECTION_HEADER; + else + section_header.headerid[0] = EL_TORITO_LAST_SECTION_HEADER; + + section_header.arch[0] = current_boot_entry->arch; + set_721(section_header.num_entries, 1); + + memcpy(de2->table + offset, §ion_header, + sizeof(section_header)); + offset += sizeof(section_header); if (offset >= SECTOR_SIZE) { #ifdef USE_LIBSCHILY @@ -365,6 +409,8 @@ fill_boot_desc(&boot_desc_record, current_boot_entry); memcpy(de2->table + offset, &boot_desc_record, sizeof (boot_desc_record)); + offset += sizeof (boot_desc_record); + } }/* get_torito_desc(... */ only in patch2: unchanged: --- cdrkit-1.1.11.orig/genisoimage/genisoimage.h +++ cdrkit-1.1.11/genisoimage/genisoimage.h @@ -293,6 +293,7 @@ struct eltorito_boot_entry_info { struct eltorito_boot_entry_info *next; char *boot_image; + char arch; int not_bootable; int no_emul_boot; int hard_disk_boot; only in patch2: unchanged: --- cdrkit-1.1.11.orig/genisoimage/iso9660.h +++ cdrkit-1.1.11/genisoimage/iso9660.h @@ -62,10 +62,14 @@ #define EL_TORITO_ARCH_x86 0 #define EL_TORITO_ARCH_PPC 1 #define EL_TORITO_ARCH_MAC 2 +#define EL_TORITO_ARCH_EFI 0xef #define EL_TORITO_BOOTABLE 0x88 #define EL_TORITO_NOT_BOOTABLE 0 +#define EL_TORITO_SECTION_HEADER 0x90 +#define EL_TORITO_LAST_SECTION_HEADER 0x91 + #define EL_TORITO_MEDIA_NOEMUL 0 #define EL_TORITO_MEDIA_12FLOP 1 #define EL_TORITO_MEDIA_144FLOP 2 @@ -173,7 +177,7 @@ struct eltorito_defaultboot_entry { char boot_id [ISODCL(1, 1)]; /* 711 */ char boot_media [ISODCL(2, 2)]; - char loadseg [ISODCL(3, 4)]; /* 711 */ + char loadseg [ISODCL(3, 4)]; /* 712 */ char sys_type [ISODCL(5, 5)]; char pad1 [ISODCL(6, 6)]; char nsect [ISODCL(7, 8)]; @@ -181,6 +185,14 @@ char pad2 [ISODCL(13, 32)]; }; +/* El Torito Section Header Entry in boot catalog */ +struct eltorito_sectionheader_entry { + char headerid [ISODCL(1, 1)]; /* 711 */ + char arch [ISODCL(2, 2)]; + char num_entries [ISODCL(3, 4)]; /* 711 */ + char id [ISODCL(5, 32)]; +}; + /* * XXX JS: The next two structures have odd lengths! * Some compilers (e.g. on Sun3/mc68020) padd the structures to even length.