Your message dated Sat, 30 Dec 2006 16:17:03 +0000
with message-id <[EMAIL PROTECTED]>
and subject line Bug#404986: fixed in cdrkit 9:1.1.1-1
has caused the attached Bug report to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what I am
talking about this indicates a serious mail system misconfiguration
somewhere.  Please contact me immediately.)

Debian bug tracking system administrator
(administrator, Debian Bugs database)

--- Begin Message ---
Package: genisoimage
Version: 9:1.1.0-1
Severity: wishlist
Tags: patch

Attached is a patch that allows alpha and hppa boot blocks to coexist on a
single ISO image, muhahaha.  Please consider applying it, after it's been
verified to work on hppa (already tested on alpha).

If there are any concerns about the way in which this is implemented, please
let me know.

Cheers,
-- 
Steve Langasek                   Give me a lever long enough and a Free OS
Debian Developer                   to set it on, and I can move the world.
[EMAIL PROTECTED]                                   http://www.debian.org/
only in patch2:
unchanged:
--- cdrkit-1.1.0.orig/genisoimage/boot-alpha.c
+++ cdrkit-1.1.0/genisoimage/boot-alpha.c
@@ -47,8 +47,12 @@
 
         int     add_boot_alpha_filename(char *filename);
 static  int     boot_alpha_write(FILE *outfile);
+static  int     boot_alpha_hppa_write(FILE *outfile);
 static  char   *boot_file_name = NULL;
 
+unsigned long long alpha_hppa_boot_sector[256]; /* One (ISO) sector */
+int boot_sector_initialized = 0;
+
 #define BOOT_STRING "Linux/Alpha aboot for ISO filesystem."
 
 /* Simple function: store the filename to be used later when we need
@@ -61,17 +65,17 @@
 
 static int boot_alpha_write(FILE *outfile)
 {
-    unsigned long long boot_sector[256]; /* One (ISO) sector */
-    unsigned long long sum = 0;
-       struct directory_entry  *boot_file;     /* Boot file we need to search 
for */
+    struct directory_entry     *boot_file;     /* Boot file we need to search 
for */
     unsigned long length = 0;
     unsigned long extent = 0;
-    int i = 0;
 
-    memset(boot_sector, 0, sizeof(boot_sector));    
+    if (!boot_sector_initialized) {
+       memset(alpha_hppa_boot_sector, 0, sizeof(alpha_hppa_boot_sector));
+       boot_sector_initialized = 1;
+    }
 
     /* Write the text header into the boot sector */
-    strcpy((char *)boot_sector, BOOT_STRING);
+    strcpy((char *)alpha_hppa_boot_sector, BOOT_STRING);
 
     /* Find the dir entry for the boot file by walking our file list */
     boot_file = search_tree_file(root, boot_file_name);
@@ -103,22 +107,31 @@
 
     /* Now write those values into the appropriate area of the boot
        sector in LITTLE ENDIAN format. */
-    write_le64(length, (unsigned char *)(unsigned long long 
*)&boot_sector[60]);
-    write_le64(extent, (unsigned char *)&boot_sector[61]);
+    write_le64(length, (unsigned char *)&alpha_hppa_boot_sector[60]);
+    write_le64(extent, (unsigned char *)&alpha_hppa_boot_sector[61]);
+
+    return 0;
+}
+
+static int boot_alpha_hppa_write(FILE *outfile)
+{
+    unsigned long long sum = 0;
+    int i = 0;
 
     /* Now generate a checksum of the first 504 bytes of the boot
-       sector and place it in boot_sector[63]. Isomarkboot currently
+       sector and place it in alpha_hppa_boot_sector[63]. Isomarkboot currently
        gets this wrong and will not work on big-endian systems! */
     for (i = 0; i < 63; i++)
-        sum += read_le64((unsigned char *)&boot_sector[i]);
+        sum += read_le64((unsigned char *)&alpha_hppa_boot_sector[i]);
 
-    write_le64(sum, (unsigned char *)&boot_sector[63]);
+    write_le64(sum, (unsigned char *)&alpha_hppa_boot_sector[63]);
 
-    jtwrite(boot_sector, sizeof(boot_sector), 1, 0, FALSE);
-    xfwrite(boot_sector, sizeof(boot_sector), 1, outfile, 0, FALSE);
+    jtwrite(alpha_hppa_boot_sector, sizeof(alpha_hppa_boot_sector), 1, 0, 
FALSE);
+    xfwrite(alpha_hppa_boot_sector, sizeof(alpha_hppa_boot_sector), 1, 
outfile, 0, FALSE);
     last_extent_written++;
 
     return 0;
 }
 
-struct output_fragment alphaboot_desc = {NULL, oneblock_size, NULL, 
boot_alpha_write, "alpha boot block"};
+struct output_fragment alphaboot_desc = {NULL, NULL, NULL, boot_alpha_write, 
"alpha boot block"};
+struct output_fragment alpha_hppa_boot_desc = {NULL, oneblock_size, NULL, 
boot_alpha_hppa_write, "alpha/hppa boot block"};
only in patch2:
unchanged:
--- cdrkit-1.1.0.orig/genisoimage/boot-hppa.c
+++ cdrkit-1.1.0/genisoimage/boot-hppa.c
@@ -53,6 +53,9 @@
 #include <schily.h>
 #include "endianconv.h"
 
+extern long long alpha_hppa_boot_sector[256];
+extern int boot_sector_initialized;
+
 int     add_boot_hppa_cmdline(char *cmdline);
 int     add_boot_hppa_kernel_32(char *filename);
 int     add_boot_hppa_kernel_64(char *filename);
@@ -129,13 +132,18 @@
 
 static int boot_hppa_write(FILE *outfile)
 {
-    unsigned char boot_sector[2048]; /* One (ISO) sector */
-       struct directory_entry  *boot_file;     /* Boot file we need to search 
for */
+    struct directory_entry     *boot_file;     /* Boot file we need to search 
for */
     unsigned long length = 0;
     unsigned long extent = 0;
+    unsigned char *boot_sector = (unsigned char *) alpha_hppa_boot_sector;
     int i = 0;
 
-    memset(boot_sector, 0, sizeof(boot_sector));    
+    if (!boot_sector_initialized) {
+       memset(alpha_hppa_boot_sector, 0, sizeof(alpha_hppa_boot_sector));
+       boot_sector_initialized = 1;
+    }
+
+    printf("Address is: %p\n",alpha_hppa_boot_sector);
 
     boot_sector[0] = 0x80;  /* magic */
     boot_sector[1] = 0x00;  /* magic */
@@ -193,11 +201,7 @@
     write_be32(extent, &boot_sector[240]);
     write_be32(length, &boot_sector[244]);
 
-    jtwrite(boot_sector, sizeof(boot_sector), 1, 0, FALSE);
-    xfwrite(boot_sector, sizeof(boot_sector), 1, outfile, 0, FALSE);
-    last_extent_written++;
-
     return 0;
 }
 
-struct output_fragment hppaboot_desc = {NULL, oneblock_size, NULL, 
boot_hppa_write, "hppa boot block"};
+struct output_fragment hppaboot_desc = {NULL, NULL, NULL, boot_hppa_write, 
"hppa boot block"};
only in patch2:
unchanged:
--- cdrkit-1.1.0.orig/genisoimage/genisoimage.c
+++ cdrkit-1.1.0/genisoimage/genisoimage.c
@@ -3448,6 +3448,8 @@
                outputlist_insert(&alphaboot_desc);
        if (use_hppaboot)
                outputlist_insert(&hppaboot_desc);
+       if (use_alphaboot || use_hppaboot)
+               outputlist_insert(&alpha_hppa_boot_desc);
        if (use_mipsboot)
                outputlist_insert(&mipsboot_desc);
        if (use_mipselboot)
only in patch2:
unchanged:
--- cdrkit-1.1.0.orig/genisoimage/genisoimage.h
+++ cdrkit-1.1.0/genisoimage/genisoimage.h
@@ -210,6 +210,7 @@
 extern struct output_fragment strpath_desc;
 extern struct output_fragment alphaboot_desc;
 extern struct output_fragment hppaboot_desc;
+extern struct output_fragment alpha_hppa_boot_desc;
 extern struct output_fragment mipsboot_desc;
 extern struct output_fragment mipselboot_desc;
 

--- End Message ---
--- Begin Message ---
Source: cdrkit
Source-Version: 9:1.1.1-1

We believe that the bug you reported is fixed in the latest version of
cdrkit, which is due to be installed in the Debian FTP archive:

cdda2wav_1.1.1-1_all.deb
  to pool/main/c/cdrkit/cdda2wav_1.1.1-1_all.deb
cdrecord_1.1.1-1_all.deb
  to pool/main/c/cdrkit/cdrecord_1.1.1-1_all.deb
cdrkit-doc_1.1.1-1_all.deb
  to pool/main/c/cdrkit/cdrkit-doc_1.1.1-1_all.deb
cdrkit_1.1.1-1.diff.gz
  to pool/main/c/cdrkit/cdrkit_1.1.1-1.diff.gz
cdrkit_1.1.1-1.dsc
  to pool/main/c/cdrkit/cdrkit_1.1.1-1.dsc
cdrkit_1.1.1.orig.tar.gz
  to pool/main/c/cdrkit/cdrkit_1.1.1.orig.tar.gz
genisoimage_1.1.1-1_i386.deb
  to pool/main/c/cdrkit/genisoimage_1.1.1-1_i386.deb
icedax_1.1.1-1_i386.deb
  to pool/main/c/cdrkit/icedax_1.1.1-1_i386.deb
mkisofs_1.1.1-1_all.deb
  to pool/main/c/cdrkit/mkisofs_1.1.1-1_all.deb
wodim_1.1.1-1_i386.deb
  to pool/main/c/cdrkit/wodim_1.1.1-1_i386.deb



A summary of the changes between this version and the previous one is
attached.

Thank you for reporting the bug, which will now be closed.  If you
have further comments please address them to [EMAIL PROTECTED],
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Eduard Bloch <[EMAIL PROTECTED]> (supplier of updated cdrkit package)

(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing [EMAIL PROTECTED])


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Format: 1.7
Date: Sat, 30 Dec 2006 16:45:31 +0100
Source: cdrkit
Binary: cdda2wav mkisofs cdrkit-doc genisoimage cdrecord wodim icedax
Architecture: source all i386
Version: 9:1.1.1-1
Distribution: unstable
Urgency: medium
Maintainer: Joerg Jaspert <[EMAIL PROTECTED]>
Changed-By: Eduard Bloch <[EMAIL PROTECTED]>
Description: 
 cdda2wav   - Dummy transition package for icedax
 cdrecord   - Dummy transition package for wodim
 cdrkit-doc - Documentation for the cdrkit package-suite
 genisoimage - Creates ISO-9660 CD-ROM filesystem images
 icedax     - Creates WAV files from audio CDs
 mkisofs    - Dummy transition package for genisoimage
 wodim      - command line CD/DVD writing tool
Closes: 369677 377069 401791 401821 402044 402190 402750 403193 403536 403899 
404289 404986
Changes: 
 cdrkit (9:1.1.1-1) unstable; urgency=medium
 .
   * New upstream version
     + more verbose abort message if track is specified with some maintainance
       command (closes: #369677)
     + BURN-Free enabled by default (closes: #403899)
     + uses correct CFLAGS variable (closes: #402190)
     + moved *iso* manpages to section 1, many manpage fixes
       (closes: #404289, #402044)
     + icedax.1 updates, cdda2wav specific expalanations removed
       (closes: #401821)
     + getting maximum DMA transfer size from sysfs (closes: #377069)
     + coexisting hppa/alpha boot code possible now (closes: #404986)
   * Add mkzftree binary again (sorry... closes: #402750)
   * Add /usr/bin/readcd -> readom compatibility symlink
     (closes: #403536, #403193) and set conflict with older xcdroast package
     revisions (closes: #401791)
Files: 
 1d50cf284a3e1c7fab6f9831a18e28bb 862 otherosfs optional cdrkit_1.1.1-1.dsc
 937f87c13ce268522c14daa9ba8fdbf0 1404826 otherosfs optional 
cdrkit_1.1.1.orig.tar.gz
 a50228a40678392f75bb3985c60bb82c 24845 otherosfs optional 
cdrkit_1.1.1-1.diff.gz
 1a456943ce64d434e26af89dcfa213ae 157606 doc optional cdrkit-doc_1.1.1-1_all.deb
 df4277c2147b637a347f86472b3d5d14 1162 otherosfs optional 
cdrecord_1.1.1-1_all.deb
 2d8335e7a13dabd1b2da13369b1b8989 842 sound optional cdda2wav_1.1.1-1_all.deb
 bdae976e37253c270620186a5c486bc4 886 otherosfs optional mkisofs_1.1.1-1_all.deb
 d1900d8460ae53e749ef9d6a6504c37f 417334 otherosfs optional 
wodim_1.1.1-1_i386.deb
 a7e3ea5165a68d1af7dd621e51acf1f1 171176 sound optional icedax_1.1.1-1_i386.deb
 6bab7ef93afcc2997cafdc5ea0a29be8 548718 otherosfs optional 
genisoimage_1.1.1-1_i386.deb

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.6 (GNU/Linux)

iD8DBQFFlow24QZIHu3wCMURAl6WAJ9+LgMp3k1svSo2IuSLAh+auz6kxQCdEge5
CEIPgXxYSaTwXNGiK+Pgj+o=
=3EJf
-----END PGP SIGNATURE-----


--- End Message ---

Reply via email to