Hello community,

here is the log from the commit of package wodim for openSUSE:Factory checked 
in at 2015-07-19 11:44:07
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/wodim (Old)
 and      /work/SRC/openSUSE:Factory/.wodim.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "wodim"

Changes:
--------
--- /work/SRC/openSUSE:Factory/wodim/wodim.changes      2015-06-11 
08:20:56.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.wodim.new/wodim.changes 2015-07-19 
11:44:09.000000000 +0200
@@ -1,0 +2,6 @@
+Wed Jul  8 10:56:17 UTC 2015 - [email protected]
+
+- disable source download service, upstream download location
+  is dead
+
+-------------------------------------------------------------------
@@ -10,0 +17,5 @@
+
+-------------------------------------------------------------------
+Fri Jan 30 12:53:47 UTC 2015 - [email protected]
+
+- add cdrkit-1.1.8-werror.patch, cdrkit-efi-boot.patch (fate#318444)

New:
----
  cdrkit-1.1.8-werror.patch
  cdrkit-efi-boot.patch

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ wodim.spec ++++++
--- /var/tmp/diff_new_pack.IBUKKl/_old  2015-07-19 11:44:10.000000000 +0200
+++ /var/tmp/diff_new_pack.IBUKKl/_new  2015-07-19 11:44:10.000000000 +0200
@@ -24,7 +24,7 @@
 Group:          Productivity/Multimedia/CD/Record
 
 Url:            http://cdrkit.org/
-Source0:        http://cdrkit.org/releases/cdrkit-%{version}.tar.gz
+Source0:        cdrkit-%{version}.tar.gz
 Source1:        scan_scsi.linux
 Source2:        cdinfo.c
 Source5:        README.SUSE
@@ -43,6 +43,8 @@
 Patch5:         genisoimage-multi-extent-fix-bnc615177.patch
 # PATCH-FIX-OPENSUSE cdrkit-pie.diff [email protected] -- wodim must be pie as 
users may set suid bit on it
 Patch6:         cdrkit-pie.diff
+Patch7:         cdrkit-1.1.8-werror.patch
+Patch8:         cdrkit-efi-boot.patch
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build
 
 BuildRequires:  cmake
@@ -120,6 +122,8 @@
 %patch4
 %patch5
 %patch6 -p1
+%patch7 -p1
+%patch8 -p1
 # Fix perl path
 find . -type f -print0 | xargs -0 perl -pi -e 
's#/usr/local/bin/perl#/usr/bin/perl#g'
 # Fix permissions (no executables in doc files)

++++++ _service ++++++
--- /var/tmp/diff_new_pack.IBUKKl/_old  2015-07-19 11:44:10.000000000 +0200
+++ /var/tmp/diff_new_pack.IBUKKl/_new  2015-07-19 11:44:10.000000000 +0200
@@ -1,6 +1,6 @@
 <?xml version="1.0" ?>
 <services>
-  <service name="download_url" mode="localonly">
+  <service name="download_url" mode="disabled">
     <param name="protocol">http</param>
     <param name="host">cdrkit.org</param>
     <param name="path">/releases/cdrkit-1.1.11.tar.gz</param>

++++++ cdrkit-1.1.8-werror.patch ++++++
Index: cdrkit-1.1.11/wodim/wodim.c
===================================================================
--- cdrkit-1.1.11.orig/wodim/wodim.c
+++ cdrkit-1.1.11/wodim/wodim.c
@@ -4089,7 +4089,7 @@ audioread(SCSI *usalp, cdr_t *dp, int fl
 
        read_scsi(usalp, buf, 1000, 1);
        printf("XXX:\n");
-       write(1, buf, 512); /* FIXME: handle return value */
+       do{int ret;ret=write(1, buf, 512);}while(0); /* FIXME: handle return 
value */
        unload_media(usalp, dp, flags);
        comexit(0);
 #endif
Index: cdrkit-1.1.11/wodim/isosize.c
===================================================================
--- cdrkit-1.1.11.orig/wodim/isosize.c
+++ cdrkit-1.1.11/wodim/isosize.c
@@ -69,7 +69,7 @@ isosize(int f)
        vp = (struct iso9660_pr_voldesc *) &vd;
 
        do {
-               read(f, &vd, sizeof (vd)); /* FIXME: check return value */
+               do{int ret;ret=read(f, &vd, sizeof (vd));}while(0); /* FIXME: 
check return value */
                if (GET_UBYTE(vd.vd_type) == VD_PRIMARY)
                        break;
 
Index: cdrkit-1.1.11/icedax/toc.c
===================================================================
--- cdrkit-1.1.11.orig/icedax/toc.c
+++ cdrkit-1.1.11/icedax/toc.c
@@ -1071,7 +1071,7 @@ static int handle_userchoice(char *p, un
        /* get user response. */
        do {
                fprintf(stderr, "please choose one (0-%u): ", nr);
-               scanf("%u", &user_choice); /* FIXME: check return value */
+               do{int ret;ret=scanf("%u", &user_choice);}while(0); /* FIXME: 
check return value */
        } while (user_choice > nr);
 
        if (user_choice == nr)
Index: cdrkit-1.1.11/genisoimage/diag/dump.c
===================================================================
--- cdrkit-1.1.11.orig/genisoimage/diag/dump.c
+++ cdrkit-1.1.11/genisoimage/diag/dump.c
@@ -368,7 +368,7 @@ main(int argc, char *argv[])
        do {
                if (file_addr < (off_t)0) file_addr = (off_t)0;
                showblock(1);
-               read(STDIN_FILENO, &c, 1); /* FIXME: check return value */
+               do{int ret;ret=read(STDIN_FILENO, &c, 1);}while(0); /* FIXME: 
check return value */
                if (c == 'a')
                        file_addr -= PAGE;
                if (c == 'b')
@@ -378,11 +378,11 @@ main(int argc, char *argv[])
                        printf("Enter new starting block (in hex):");
                        if (sizeof (file_addr) > sizeof (long)) {
                                Llong   ll;
-                               scanf("%llx", &ll); /* FIXME: check return 
value */
+                               do{int ret;ret=scanf("%llx", &ll);}while(0); /* 
FIXME: check return value */
                                file_addr = (off_t)ll;
                        } else {
                                long    l;
-                               scanf("%lx", &l); /* FIXME: check return value 
*/
+                               do{int ret;ret=scanf("%lx", &l);}while(0); /* 
FIXME: check return value */
                                file_addr = (off_t)l;
                        }
                        file_addr = file_addr << 11;
@@ -392,7 +392,7 @@ main(int argc, char *argv[])
                if (c == 'f') {
                        crsr2(20, 1);
                        printf("Enter new search string:");
-                       fgets((char *)search, sizeof (search), stdin); /* 
FIXME: check return value */
+                       do{char *ret;ret=fgets((char *)search, sizeof (search), 
stdin);}while(0); /* FIXME: check return value */
                        while (search[strlen((char *)search)-1] == '\n')
                                search[strlen((char *)search)-1] = 0;
                        crsr2(20, 1);
Index: cdrkit-1.1.11/genisoimage/diag/isoinfo.c
===================================================================
--- cdrkit-1.1.11.orig/genisoimage/diag/isoinfo.c
+++ cdrkit-1.1.11/genisoimage/diag/isoinfo.c
@@ -652,7 +652,7 @@ extract_file(struct iso_directory_record
 #endif
                len -= tlen;
                extent++;
-               write(STDOUT_FILENO, buff, tlen); /* FIXME: check return value 
*/
+               do{int ret;ret=write(STDOUT_FILENO, buff, tlen);}while(0); /* 
FIXME: check return value */
        }
 }
 
Index: cdrkit-1.1.11/genisoimage/diag/isodump.c
===================================================================
--- cdrkit-1.1.11.orig/genisoimage/diag/isodump.c
+++ cdrkit-1.1.11/genisoimage/diag/isodump.c
@@ -655,7 +655,7 @@ main(int argc, char *argv[])
                if (file_addr < 0)
                        file_addr = (off_t)0;
                showblock(1);
-               read(STDIN_FILENO, &c, 1); /* FIXME: check return value */
+               do{int ret;ret=read(STDIN_FILENO, &c, 1);}while(0); /* FIXME: 
check return value */
                if (c == 'a')
                        file_addr -= blocksize;
                if (c == 'b')
@@ -665,11 +665,11 @@ main(int argc, char *argv[])
                        printf("Enter new starting block (in hex):");
                        if (sizeof (file_addr) > sizeof (long)) {
                                Llong   ll;
-                               scanf("%llx", &ll); /* FIXME: check return 
value */
+                               do{int ret;ret=scanf("%llx", &ll);}while(0); /* 
FIXME: check return value */
                                file_addr = (off_t)ll;
                        } else {
                                long    l;
-                               scanf("%lx", &l); /* FIXME: check return value 
*/
+                               do{int ret;ret=scanf("%lx", &l);}while(0); /* 
FIXME: check return value */
                                file_addr = (off_t)l;
                        }
                        file_addr = file_addr * blocksize;
@@ -679,7 +679,7 @@ main(int argc, char *argv[])
                if (c == 'f') {
                        crsr2(20, 1);
                        printf("Enter new search string:");
-                       fgets((char *)search, sizeof (search), stdin); /* 
FIXME: check return value */
+                       do{char *ret;ret=fgets((char *)search, sizeof (search), 
stdin);}while(0); /* FIXME: check return value */
                        while (search[strlen((char *)search)-1] == '\n')
                                search[strlen((char *)search)-1] = 0;
                        crsr2(20, 1);
Index: cdrkit-1.1.11/genisoimage/diag/isovfy.c
===================================================================
--- cdrkit-1.1.11.orig/genisoimage/diag/isovfy.c
+++ cdrkit-1.1.11/genisoimage/diag/isovfy.c
@@ -591,11 +591,11 @@ check_path_tables(int typel_extent, int
        readsecs(typel_extent * blocksize / 2048, typel, 
ISO_BLOCKS(path_table_size));
 #else
        lseek(fileno(infile), (off_t)((off_t)typel_extent) * blocksize, 
SEEK_SET);
-       read(fileno(infile), typel, path_table_size); /* FIXME: check return 
value */
+       do{int ret;ret=read(fileno(infile), typel, path_table_size);}while(0); 
/* FIXME: check return value */
 #endif
        typem = (char *) malloc(path_table_size);
        lseek(fileno(infile), (off_t)((off_t)typem_extent) * blocksize, 
SEEK_SET);
-       read(fileno(infile), typem, path_table_size); /* FIXME: check return 
value */
+       do{int ret;ret=read(fileno(infile), typem, path_table_size);}while(0); 
/* FIXME: check return value */
 
        j = path_table_size;
        pnt = typel;
Index: cdrkit-1.1.11/genisoimage/jte.c
===================================================================
--- cdrkit-1.1.11.orig/genisoimage/jte.c
+++ cdrkit-1.1.11/genisoimage/jte.c
@@ -36,6 +36,8 @@
 #include "vms.h"
 #endif
 
+#include "md5.h"
+
 /* Different types used in building our state list below */
 #define JTET_FILE_MATCH 1
 #define JTET_NOMATCH    2
@@ -625,7 +627,7 @@ static void flush_bz2_chunk(void *buffer
 
     err = BZ2_bzCompressInit(&c_stream, 9, 0, 0);
     comp_buf = malloc(2 * size); /* Worst case */
-    c_stream.next_out = comp_buf;
+    c_stream.next_out = (char *)comp_buf;
     c_stream.avail_out = 2 * size;
     c_stream.next_in = buffer;
     c_stream.avail_in = size;
@@ -673,7 +675,7 @@ static void write_compressed_chunk(unsig
                if (!uncomp_buf)
                {
 #ifdef USE_LIBSCHILY
-            comerr("failed to allocate %d bytes for template compression 
buffer\n", uncomp_size);
+            comerr("failed to allocate %d bytes for template compression 
buffer\n", (int)uncomp_size);
 #else
             fprintf(stderr, "failed to allocate %d bytes for template 
compression buffer\n", uncomp_size);
             exit(1);
@@ -1014,8 +1016,8 @@ void write_jt_match_record(char *filenam
 #endif
                }
         if (first_block)
-            rsync64_sum = rsync64(buf, MIN_JIGDO_FILE_SIZE);
-        checksum_update(iso_context, buf, use);
+            rsync64_sum = rsync64((unsigned char *)buf, MIN_JIGDO_FILE_SIZE);
+        checksum_update(iso_context, (unsigned char *)buf, use);
 //        mk_MD5Update(&iso_context, buf, use);
         remain -= use;
         first_block = 0;
@@ -1028,7 +1030,7 @@ void write_jt_match_record(char *filenam
     {
         int pad_size = sector_size - (size % sector_size);
         memset(buf, 0, pad_size);
-        checksum_update(iso_context, buf, pad_size);
+        checksum_update(iso_context, (unsigned char *)buf, pad_size);
 //        mk_MD5Update(&iso_context, buf, pad_size);
     }
 
@@ -1036,7 +1038,7 @@ void write_jt_match_record(char *filenam
     if (size % sector_size)
     {
         int pad_size = sector_size - (size % sector_size);
-        write_compressed_chunk(buf, pad_size);
+        write_compressed_chunk((unsigned char *)buf, pad_size);
         add_unmatched_entry(pad_size);
     }        
 }
Index: cdrkit-1.1.11/genisoimage/eltorito.c
===================================================================
--- cdrkit-1.1.11.orig/genisoimage/eltorito.c
+++ cdrkit-1.1.11/genisoimage/eltorito.c
@@ -660,7 +660,7 @@ fill_boot_desc(struct eltorito_defaultbo
                set_731(bi_table.bi_length, de->size);
                set_731(bi_table.bi_csum, bi_checksum);
 
-               write(bootimage, &bi_table, sizeof (bi_table)); /* FIXME: check 
return value */
+               do{int ret;ret=write(bootimage, &bi_table, sizeof 
(bi_table));}while(0); /* FIXME: check return value */
                close(bootimage);
        }
 }/* fill_boot_desc(... */
++++++ cdrkit-efi-boot.patch ++++++
Index: cdrkit-1.1.11/doc/icedax/tracknames.pl
===================================================================
--- cdrkit-1.1.11.orig/doc/icedax/tracknames.pl
+++ cdrkit-1.1.11/doc/icedax/tracknames.pl
@@ -1,4 +1,4 @@
-#!/usr/local/bin/perl 
+#!/usr/bin/perl 
 # A quick perl hack to get rename files pulled in with icedax.
 # by [email protected]
 #
Index: cdrkit-1.1.11/genisoimage/eltorito.c
===================================================================
--- cdrkit-1.1.11.orig/genisoimage/eltorito.c
+++ cdrkit-1.1.11/genisoimage/eltorito.c
@@ -59,7 +59,7 @@ static        void    get_torito_desc(struct eltor
 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 @@ get_torito_desc(struct eltorito_boot_des
        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 @@ get_torito_desc(struct eltorito_boot_des
         */
        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 @@ get_torito_desc(struct eltorito_boot_des
        /* 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(&section_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, &section_header,
+                                       sizeof(section_header));
+               offset += sizeof(section_header);
 
                if (offset >= SECTOR_SIZE) {
 #ifdef USE_LIBSCHILY
@@ -365,6 +409,8 @@ get_torito_desc(struct eltorito_boot_des
                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(... */
 
Index: cdrkit-1.1.11/genisoimage/genisoimage.c
===================================================================
--- cdrkit-1.1.11.orig/genisoimage/genisoimage.c
+++ cdrkit-1.1.11/genisoimage/genisoimage.c
@@ -48,6 +48,7 @@
 
 #include <mconfig.h>
 #include "genisoimage.h"
+#include "iso9660.h"
 #include <errno.h>
 #include <timedefs.h>
 #include <fctldefs.h>
@@ -529,6 +530,8 @@ static const struct ld_option ld_options
        '\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'},
@@ -1540,6 +1543,7 @@ int main(int argc, char *argv[])
                        all_files = 0;
                        break;
                case 'b':
+               case 'e':
                        do_sort++;              /* We sort bootcat/botimage */
                        use_eltorito++;
                        boot_image = optarg;    /* pathname of the boot image */
@@ -1555,6 +1559,10 @@ int main(int argc, char *argv[])
 #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:
Index: cdrkit-1.1.11/genisoimage/genisoimage.h
===================================================================
--- cdrkit-1.1.11.orig/genisoimage/genisoimage.h
+++ cdrkit-1.1.11/genisoimage/genisoimage.h
@@ -297,6 +297,7 @@ struct deferred_write {
 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;
Index: cdrkit-1.1.11/genisoimage/iso9660.h
===================================================================
--- cdrkit-1.1.11.orig/genisoimage/iso9660.h
+++ cdrkit-1.1.11/genisoimage/iso9660.h
@@ -62,10 +62,14 @@ struct iso_volume_descriptor {
 #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_validation_entry {
 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 @@ struct eltorito_defaultboot_entry {
        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.

Reply via email to