import cdrkit-1.1.11-39.el8

This commit is contained in:
CentOS Sources 2019-05-07 07:56:35 -04:00 committed by Andrew Lukoshko
commit e96b80acea
24 changed files with 2437 additions and 0 deletions

1
.cdrkit.metadata Normal file
View File

@ -0,0 +1 @@
3f7ddc06db0272942e1a4cd98c3c96462df77387 SOURCES/cdrkit-1.1.11.tar.gz

1
.gitignore vendored Normal file
View File

@ -0,0 +1 @@
SOURCES/cdrkit-1.1.11.tar.gz

View File

@ -0,0 +1,40 @@
From 05c639c8a0f61da73ca8f1f725f8f5394d8bf15f Mon Sep 17 00:00:00 2001
From: Jakub Martisko <jamartis@redhat.com>
Date: Thu, 2 Aug 2018 09:34:18 +0200
Subject: [PATCH] fix: file name buffer overflow in isoinfo
---
genisoimage/diag/isoinfo.c | 10 ++++++++++
1 file changed, 10 insertions(+)
diff --git a/genisoimage/diag/isoinfo.c b/genisoimage/diag/isoinfo.c
index 3cc2678..a08141d 100644
--- a/genisoimage/diag/isoinfo.c
+++ b/genisoimage/diag/isoinfo.c
@@ -763,6 +763,11 @@ parse_dir(char *rootname, int extent, int len)
strcat(td->name, name_buf);
strcat(td->name, "/");
} else {
+ if ( (PATH_MAX - strlen(rootname)) < strlen(name_buf))
+ {
+ fprintf(stderr, "Name too long: %s%s\n", rootname, name_buf);
+ exit(1);
+ }
strcpy(testname, rootname);
strcat(testname, name_buf);
if (xtract && strcmp(xtract, testname) == 0) {
@@ -772,6 +777,11 @@ parse_dir(char *rootname, int extent, int len)
if (do_find &&
(idr->name_len[0] != 1 ||
(idr->name[0] != 0 && idr->name[0] != 1))) {
+ if ( (PATH_MAX - strlen(rootname)) < strlen(name_buf))
+ {
+ fprintf(stderr, "Name too long: %s%s\n", rootname, name_buf);
+ exit(1);
+ }
strcpy(testname, rootname);
strcat(testname, name_buf);
printf("%s\n", testname);
--
2.14.4

View File

@ -0,0 +1,11 @@
diff -up cdrkit-1.1.10/genisoimage/genisoimage.c.build-fix cdrkit-1.1.10/genisoimage/genisoimage.c
--- cdrkit-1.1.10/genisoimage/genisoimage.c.build-fix 2010-01-20 11:05:05.000000000 +0100
+++ cdrkit-1.1.10/genisoimage/genisoimage.c 2010-01-20 11:21:16.144098749 +0100
@@ -47,6 +47,7 @@
#include <mconfig.h>
#include "genisoimage.h"
+#include "checksum.h"
#include "iso9660.h"
#include <errno.h>
#include <timedefs.h>

View File

@ -0,0 +1,9 @@
diff -up cdrkit-1.1.11/CMakeLists.txt.cmakewarn cdrkit-1.1.11/CMakeLists.txt
--- cdrkit-1.1.11/CMakeLists.txt.cmakewarn 2012-07-31 13:11:10.075500531 +0200
+++ cdrkit-1.1.11/CMakeLists.txt 2012-07-31 13:11:41.069108287 +0200
@@ -1,3 +1,5 @@
+cmake_minimum_required(VERSION 2.8)
+cmake_policy(SET CMP0015 OLD)
PROJECT (cdrkit C)
SUBDIRS(include genisoimage wodim libedc libhfs_iso icedax libusal librols libunls readom netscsid 3rd-party/dirsplit)

View File

@ -0,0 +1,30 @@
diff -up wrk/libusal/scsi-linux-sg.c.wrk wrk/libusal/scsi-linux-sg.c
--- wrk/libusal/scsi-linux-sg.c.wrk 2015-05-29 13:30:41.088896572 +0200
+++ wrk/libusal/scsi-linux-sg.c 2015-05-29 13:38:25.776303388 +0200
@@ -509,7 +509,9 @@ usalo_open(SCSI *usalp, char *device)
/* scan and maybe keep one open, sg_setup decides */
#define HDX 0
#define SCD 1
-#define SG 2
+/* second scd option included because of Fedora naming convention /dev/srN */
+#define SCD2 2
+#define SG 3
int h;
/*
retry_scan_open:
@@ -533,6 +535,15 @@ retry_scan_open:
first=0;
last=255;
break;
+ }
+ case(SCD2):
+ {
+ if(!check_linux_26())
+ continue;
+ pattern="/dev/sr%d";
+ first=0;
+ last=255;
+ break;
}
case(SG):
{

View File

@ -0,0 +1,70 @@
diff -up cdrkit-1.1.11/wodim/wodim.1.dvdman cdrkit-1.1.11/wodim/wodim.1
--- cdrkit-1.1.11/wodim/wodim.1.dvdman 2011-06-08 14:49:00.073093571 +0200
+++ cdrkit-1.1.11/wodim/wodim.1 2011-06-08 14:50:59.707093540 +0200
@@ -835,49 +835,33 @@ newer ones) still implement the Sony pro
not yet become a problem to use this driver for all Sony drives. If you find
a newer Sony drive that does not work with this driver, please report.
.TP
-.B mmc_dvd
+.B mmc_mdvd
The generic SCSI-3/mmc-2 DVD-R/DVD-RW driver is auto-selected whenever
.B wodim
finds a MMC-2 or MMC-3 compliant drive that supports to write DVDs and
an appropriate medium is loaded.
-There is no Track At Once mode for DVD writers.
-.TP
-.B mmc_dvdplus
-The generic SCSI-3/mmc-3 DVD+R/DVD+RW driver is auto-selected whenever
-one of the DVD+ media types that are incompatible to each other is found.
-It checks media and then
-branches to the driver that matches the current medium.
-.TP
-.B mmc_dvdplusr
-The generic SCSI-3/mmc-3 DVD+R driver is auto-selected whenever
-a DVD+R medium is found in an appropriate writer.
Note that for unknown reason, the DVD-Plus alliance does not
-like that there is a simulation mode for DVD+R media.
-The author of
-.B wodim
-tries to convince manufacturers to implement a simulation mode for DVD+R
-and implement support.
-DVD+R only supports one write mode that is somewhere between Track At Once
-and Packet writing; this mode is selected in
+like that there is a simulation mode for DVD+R and DVD+RW media nor a way
+to erase DVD+RW media.
+DVD+R and DVD+RW only supports one write mode that is somewhere between
+Track At Once and Packet writing; this mode is selected in
.B wodim
via a the
.BR \-dao / \-sao
option.
-.TP
-.B mmc_dvdplusrw
-The generic SCSI-3/mmc-3 DVD+RW driver is auto-selected whenever
-a DVD+RW medium is found in an appropriate writer.
-As DVD+RW media needs to be formatted before its first use, wodim
-auto-detects this media state and performs a format before it starts
-to write.
-Note that for unknown reason, the DVD-Plus alliance does not
-like that there is a simulation mode nor a way to erase DVD+RW media.
-DVD+RW only supports one write mode that is close to
-Packet writing; this mode is selected in
+As DVD+RW media needs to be formatted before its first use,
.B wodim
-via a the
-.BR \-dao / \-sao
-option.
+auto-detects this media state and performs a format before it starts
+to write.
+.sp
+Note: If you have any problems during burning DVDs using
+.BR wodim ,
+please consider
+.B growisofs
+from package
+.BR dvd+rw-tools ,
+which often works better
+in these cases.
.TP
.B cw_7501
The driver for Matsushita/Panasonic CW-7501 is auto-selected when

View File

@ -0,0 +1,129 @@
diff -up cdrkit-1.1.11/wodim/drv_mmc.c.format cdrkit-1.1.11/wodim/drv_mmc.c
--- cdrkit-1.1.11/wodim/drv_mmc.c.format 2011-05-18 16:49:14.591822130 +0200
+++ cdrkit-1.1.11/wodim/drv_mmc.c 2011-05-18 16:49:14.596822130 +0200
@@ -1507,6 +1507,11 @@ getdisktype_mdvd(SCSI *usalp, cdr_t *dp)
dstat_t *dsp = dp->cdr_dstat;
struct track_info track_info;
+
+ extern char *buf;
+ struct disk_info *dip;
+ int profile;
+
if(lverbose)
printf("HINT: use dvd+rw-mediainfo from dvd+rw-tools for information extraction.\n");
/* if(getdisktype_mmc(usalp, dp)<0)
@@ -1521,6 +1526,18 @@ getdisktype_mdvd(SCSI *usalp, cdr_t *dp)
dsp->ds_disktype&= ~DT_CD;
dsp->ds_disktype|= DT_DVD;
+ profile = get_curprofile(usalp);
+ if (profile == 0x1A) {
+ dip = (struct disk_info *)buf;
+ if (get_diskinfo(usalp, dip) < 0)
+ return (-1);
+ if (dip->disk_status == DS_EMPTY) { /* Unformatted */
+ dsp->ds_flags |= DSF_NEED_FORMAT;
+ if(lverbose)
+ printf("The medium is empty, it will be auto formatted.\n");
+ }
+ }
+
return (ret);
}
diff -up cdrkit-1.1.11/wodim/scsi_cdr.c.format cdrkit-1.1.11/wodim/scsi_cdr.c
--- cdrkit-1.1.11/wodim/scsi_cdr.c.format 2011-05-18 16:49:14.601822130 +0200
+++ cdrkit-1.1.11/wodim/scsi_cdr.c 2011-05-18 16:49:14.600822130 +0200
@@ -1328,7 +1328,7 @@ scsi_format(SCSI *usalp, caddr_t addr, i
}
sleep(10);
printf("\rFormating in progress: 100.00 %% done. \n");
- if (pid) exit (0);
+ if (pid > 0) exit (0);
return ret;
}
diff -up cdrkit-1.1.11/wodim/wodim.c.format cdrkit-1.1.11/wodim/wodim.c
--- cdrkit-1.1.11/wodim/wodim.c.format 2011-05-18 16:49:14.584822130 +0200
+++ cdrkit-1.1.11/wodim/wodim.c 2011-05-18 17:21:59.510821630 +0200
@@ -946,6 +946,40 @@ int main(int argc, char *argv[])
print_toc(usalp, dp);
comexit(0);
}
+
+ if ((flags & F_FORMAT) || (dp->cdr_dstat->ds_flags & DSF_NEED_FORMAT)) {
+ printf("wodim: media format asked\n");
+ /*
+ * Do not abort if OPC failes. Just give it a chance
+ * for better laser power calibration than without OPC.
+ *
+ * Ricoh drives return with a vendor unique sense code.
+ * This is most likely because they refuse to do OPC
+ * on a non blank media.
+ */
+ usalp->silent++;
+ do_opc(usalp, dp, flags);
+ usalp->silent--;
+ wait_unit_ready(usalp, 120);
+ if (gettimeofday(&starttime, (struct timezone *)0) < 0)
+ errmsg("Cannot get start time\n");
+
+ if ((*dp->cdr_format)(usalp, dp, formattype) < 0) {
+ errmsgno(EX_BAD, "Cannot format disk, aborting.\n");
+ comexit(EX_BAD);
+ }
+ if (gettimeofday(&fixtime, (struct timezone *)0) < 0)
+ errmsg("Cannot get format time\n");
+ if (lverbose)
+ prtimediff("Formatting time: ", &starttime, &fixtime);
+
+ if (!wait_unit_ready(usalp, 240) || tracks == 0) {
+ comexit(0);
+ }
+ if (gettimeofday(&starttime, (struct timezone *)0) < 0)
+ errmsg("Cannot get start time\n");
+ }
+
#ifdef XXX
if ((*dp->cdr_check_session)() < 0) {
comexit(EX_BAD);
@@ -1230,38 +1264,6 @@ int main(int argc, char *argv[])
comexit(0);
}
}
- if (flags & F_FORMAT) {
- printf("wodim: media format asked\n");
- /*
- * Do not abort if OPC failes. Just give it a chance
- * for better laser power calibration than without OPC.
- *
- * Ricoh drives return with a vendor unique sense code.
- * This is most likely because they refuse to do OPC
- * on a non blank media.
- */
- usalp->silent++;
- do_opc(usalp, dp, flags);
- usalp->silent--;
- wait_unit_ready(usalp, 120);
- if (gettimeofday(&starttime, (struct timezone *)0) < 0)
- errmsg("Cannot get start time\n");
-
- if ((*dp->cdr_format)(usalp, dp, formattype) < 0) {
- errmsgno(EX_BAD, "Cannot format disk, aborting.\n");
- comexit(EX_BAD);
- }
- if (gettimeofday(&fixtime, (struct timezone *)0) < 0)
- errmsg("Cannot get format time\n");
- if (lverbose)
- prtimediff("Formatting time: ", &starttime, &fixtime);
-
- if (!wait_unit_ready(usalp, 240) || tracks == 0) {
- comexit(0);
- }
- if (gettimeofday(&starttime, (struct timezone *)0) < 0)
- errmsg("Cannot get start time\n");
- }
/*
* Reset start time so we will not see blanking time and
* writing time counted together.

View File

@ -0,0 +1,12 @@
diff -up cdrkit-1.1.11/icedax/icedax.c.handler cdrkit-1.1.11/icedax/icedax.c
--- cdrkit-1.1.11/icedax/icedax.c.handler 2011-06-02 16:37:02.446206285 +0200
+++ cdrkit-1.1.11/icedax/icedax.c 2011-06-02 16:37:25.444206279 +0200
@@ -1054,7 +1054,7 @@ static void exit_wrapper(int status)
if (child_pid != 0) {
SCSI *usalp = get_scsi_p();
- if (usalp->running) {
+ if (usalp && usalp->running) {
usalp->cb_fun = on_exitscsi;
usalp->cb_arg = (void *) (uintptr_t) status;
} else {

View File

@ -0,0 +1,201 @@
diff -up wrk/genisoimage/genisoimage.1.wrk wrk/genisoimage/genisoimage.1
--- wrk/genisoimage/genisoimage.1.wrk 2017-01-04 15:58:13.697936687 +0100
+++ wrk/genisoimage/genisoimage.1 2017-01-04 16:08:22.411801026 +0100
@@ -115,7 +115,8 @@ is the path of the directory tree to be
Multiple paths can be specified, and
.B genisoimage
will merge the files found in all of the specified path components to
-form the filesystem image.
+form the filesystem image. If an error is encountered while handling directory tree,
+only error messages are produced and the process is aborted - incomplete image is not created.
.PP
If the option
.B \-graft\-points
@@ -180,6 +181,8 @@ in the
file.
.TP
.BI \-A " application_id"
+.TP
+.BI \-appid " application_id"
Specifies a text string that will be written into the volume header.
This should describe the application that will be on the disc. There
is space for 128 characters. Equivalent to
@@ -365,6 +368,8 @@ the Sun disk label will overlay the firs
boot image.
.TP
.BI \-b " eltorito_boot_image"
+.TP
+.BI \-eltorito\-boot " eltorito_boot_image"
Specifies the path and filename of the boot image to be used when making
an El Torito bootable CD for x86 PCs. The pathname must be relative to
the source path specified to
@@ -427,6 +432,8 @@ See the
section for a description of this table.
.TP
.BI \-C " last_sess_start,next_sess_start"
+.TP
+.BI \-cdrecord\-params " last_sess_start,next_sess_start"
This option is needed to create a CD Extra or the image of a second
session or a higher-level session for a multisession disc.
.B \-C
@@ -452,6 +459,8 @@ session on a CD Extra. This is a multise
in the first session and an ISO9660 filesystem in the second session.
.TP
.BI \-c " boot_catalog"
+.TP
+.BI \-eltorito\-catalog " boot_catalog"
Specifies the path and filename of the boot catalog, which is required
for an El Torito bootable CD. The pathname must be relative to the source
path specified to
@@ -488,6 +497,12 @@ For the parameter
see the description of
.BR \-M .
.TP
+.BI \-checksum_algorithm_iso " alg1,alg2,..."
+Specify the checksum types desired for the output image.
+.TP
+.BI \-checksum_algorithm_template " alg1,alg2,..."
+Specify the checksum types desired for the output jigdo template.
+.TP
.BI \-copyright " file"
Specifies copyright information, typically a filename on the disc.
There is space for 37 characters. Equivalent to
@@ -497,12 +512,16 @@ in the
file.
.TP
.B \-d
+.TP
+.B \-omit\-period
Do not append a period to files that do not have one.
.br
This violates the ISO9660 standard, but it happens to work on many systems.
Use with caution.
.TP
.B \-D
+.TP
+.B \-disable\-deep\-relocation
Do not use deep directory relocation, and instead just pack them in the
way we see them.
.br
@@ -510,6 +529,9 @@ If ISO9660:1999 has not been selected,
this violates the ISO9660 standard, but it happens to work on many systems.
Use with caution.
.TP
+.B \-debug
+Set debug flag.
+.TP
.BI \-dir\-mode " mode"
Overrides the mode of directories used to create the image to
.IR mode ,
@@ -535,7 +557,14 @@ another directory
needs to include all needed files (filenames must be all caps) for a
compliant DVD-Video filesystem.
.TP
+.BI \-e " efi_boot_file"
+.TP
+.BI \-efi\-boot " efi_boot_file"
+Set EFI boot image name.
+.TP
.B \-f
+.TP
+.B \-follow\-links
Follow symbolic links when generating the filesystem. When this option is not
in use, symbolic links will be entered using Rock Ridge if enabled, otherwise
they will be ignored.
@@ -740,6 +769,8 @@ See the
section below for more details.
.TP
.B \-l
+.TP
+.B \-full\-iso9660\-filenames
Allow full 31-character filenames. Normally the ISO9660 filename will be in an
8.3 format which is compatible with MS-DOS, even though the ISO9660 standard
allows filenames of up to 31 characters. If you use this option, the disc may
@@ -870,6 +901,8 @@ with
.BR \-C .
.TP
.B \-N
+.TP
+.B \-omit\-version\-number
Omit version numbers from ISO9660 filenames.
.br
This violates the ISO9660 standard, but no one really uses the
@@ -967,6 +1000,8 @@ in the
file.
.TP
.BI \-p " preparer_id"
+.TP
+.BI \-preparer " preparer_id"
Specifies a text string that will be written into the volume header.
This should describe the preparer of the CD-ROM, usually with a mailing
address and phone number. There is space for 128 characters.
@@ -1008,10 +1043,14 @@ This makes
even less verbose. No progress output will be provided.
.TP
.B \-R
+.TP
+.B \-rock
Generate SUSP and RR records using the Rock Ridge protocol to further describe
the files on the ISO9660 filesystem.
.TP
.B \-r
+.TP
+.B \-rational\-rock
This is like the \-R option, but file ownership and modes are set to
more useful values. The uid and gid are set to zero, because they are
usually only useful on the author's system, and not useful to the
@@ -1092,6 +1131,11 @@ intentionally. Accessing several older v
support by the operating system to choose which sessions are to be
mounted.
.TP
+.BI \-s " sector type"
+.TP
+.BI \-sectype " sector type"
+Set output sector type to e.g. data/xa1/raw.
+ .TP
.BI \-sort " sort_file"
Sort file locations on the media. Sorting is controlled by a file that
contains pairs of filenames and sorting offset weighting.
@@ -1213,6 +1257,8 @@ in the
file.
.TP
.B \-T
+.TP
+.B \-translation\-table
Generate a file
.I TRANS.TBL
in each directory on the CD-ROM, which can be used
@@ -1262,6 +1308,8 @@ to
This option is the default on VMS.
.TP
.B \-U
+.TP
+.B \-untranslated\-filenames
Allows "untranslated" filenames, completely violating the ISO9660 standards
described above. Enables the following flags:
.B \-d \-l \-N \-allow\-leading\-dots \-relaxed\-filenames
@@ -1333,6 +1381,8 @@ must be specified before
on each command line.
.TP
.B \-v
+.TP
+.B \-verbose
Verbose execution. If given twice on the command line, extra debug information
will be printed.
.TP
@@ -1341,7 +1391,15 @@ Identical to
.B \-m
.IR glob .
.TP
+.B \-XA
+Generate XA directory attruibutes.
+.TP
+.B \-xa
+Generate rationalized XA directory attruibutes.
+.TP
.B \-z
+.TP
+.B \-transparent\-compression
Generate special
.I RRIP
records for transparently compressed files.

View File

@ -0,0 +1,37 @@
diff -up wrk/genisoimage/jte.c.wrk wrk/genisoimage/jte.c
--- wrk/genisoimage/jte.c.wrk 2013-02-22 13:24:47.722196877 +0100
+++ wrk/genisoimage/jte.c 2013-02-25 12:41:45.136653487 +0100
@@ -280,7 +280,7 @@ extern int list_file_in_jigdo(char *file
if (!jtemplate_out)
return 0;
- memset(md5, 0, sizeof(md5));
+ memset(md5, 0, 16);
/* Cheaper to check file size first */
if (size < jte_min_size)
diff -up wrk/genisoimage/md5.c.wrk wrk/genisoimage/md5.c
--- wrk/genisoimage/md5.c.wrk 2013-02-22 13:15:18.210866321 +0100
+++ wrk/genisoimage/md5.c 2013-02-22 13:15:29.979935133 +0100
@@ -183,7 +183,7 @@ mk_MD5Final (unsigned char digest[16], s
putu32(ctx->buf[1], digest + 4);
putu32(ctx->buf[2], digest + 8);
putu32(ctx->buf[3], digest + 12);
- memset(ctx, 0, sizeof(ctx)); /* In case it's sensitive */
+ memset(ctx, 0, sizeof(*ctx)); /* In case it's sensitive */
}
/* The four core functions - F1 is optimized somewhat */
diff -up wrk/libedc/edcspeed.c.wrk wrk/libedc/edcspeed.c
--- wrk/libedc/edcspeed.c.wrk 2013-02-22 10:45:33.353219110 +0100
+++ wrk/libedc/edcspeed.c 2013-02-22 10:46:52.497686387 +0100
@@ -35,7 +35,8 @@ static int encspeed()
secs = 10;
end = 75*1000000 * secs;
- memset(sect, 0, sizeof(sect));
+ //faulty and unneccessary, immediately rewritten again
+ //memset(sect, 0, sizeof(sect));
for (i=0; i < 2352; ) {
sect[i++] = 'J';
sect[i++] = 'S';

View File

@ -0,0 +1,556 @@
diff -up cdrkit-1.1.11/CMakeLists.txt.paranoiacdda cdrkit-1.1.11/CMakeLists.txt
--- cdrkit-1.1.11/CMakeLists.txt.paranoiacdda 2012-07-31 14:27:15.166155309 +0200
+++ cdrkit-1.1.11/CMakeLists.txt 2012-07-31 14:27:28.469613175 +0200
@@ -1,3 +1,3 @@
PROJECT (cdrkit C)
-SUBDIRS(include genisoimage wodim libedc libhfs_iso libparanoia icedax libusal librols libunls readom netscsid 3rd-party/dirsplit)
+SUBDIRS(include genisoimage wodim libedc libhfs_iso icedax libusal librols libunls readom netscsid 3rd-party/dirsplit)
diff -up cdrkit-1.1.11/icedax/CMakeLists.txt.paranoiacdda cdrkit-1.1.11/icedax/CMakeLists.txt
--- cdrkit-1.1.11/icedax/CMakeLists.txt.paranoiacdda 2012-07-31 14:27:15.228157411 +0200
+++ cdrkit-1.1.11/icedax/CMakeLists.txt 2012-07-31 14:27:15.239157786 +0200
@@ -1,8 +1,9 @@
PROJECT (icedax C)
-INCLUDE_DIRECTORIES(../include ../wodim ../libparanoia ${CMAKE_BINARY_DIR} ${CMAKE_BINARY_DIR}/include)
+INCLUDE_DIRECTORIES(../include ../wodim ${CMAKE_BINARY_DIR} ${CMAKE_BINARY_DIR}/include)
include(../include/AddScgBits.cmake)
include(../include/AddSchilyBits.cmake)
include(../include/AddNetworkBits.cmake)
+INCLUDE (CheckLibraryExists)
FIND_FILE (HAVE_SYS_SOUNDCARD_H sys/soundcard.h)
IF(HAVE_SYS_SOUNDCARD_H)
@@ -18,12 +19,20 @@ IF(HAVE_LIBOSSAUDIO)
LIST(APPEND EXTRA_LIBS "ossaudio")
ENDIF(HAVE_LIBOSSAUDIO)
-LIST(APPEND EXTRA_LIBS paranoia)
+CHECK_INCLUDE_FILES(cdda/cdda_interface.h HAVE_CDDA_INTERFACE_H)
+CHECK_LIBRARY_EXISTS (cdda_paranoia paranoia_init "" HAVE_LIBPARANOIA)
+IF(HAVE_CDDA_INTERFACE_H AND HAVE_LIBPARANOIA)
+ LIST(APPEND EXTRA_LIBS cdda_paranoia cdda_interface)
+ELSE(HAVE_CDDA_INTERFACE_H AND HAVE_LIBPARANOIA)
+ MESSAGE(FATAL_ERROR "You need cdparanoia library installed")
+ENDIF(HAVE_CDDA_INTERFACE_H AND HAVE_LIBPARANOIA)
+
+LIST(APPEND EXTRA_LIBS)
IF (WIN32)
LIST(APPEND EXTRA_LIBS winmm)
ENDIF (WIN32)
-LINK_DIRECTORIES(../librols ../libusal ../libparanoia)
+LINK_DIRECTORIES(../librols ../libusal)
ADD_EXECUTABLE (icedax aifc.c aiff.c base64.c icedax.c interface.c ioctl.c raw.c resample.c ringbuff.c scsi_cmds.c semshm.c setuid.c sha_func.c sndconfig.c sun.c toc.c wav.c)
TARGET_LINK_LIBRARIES(icedax wodimstuff ${EXTRA_LIBS})
SET_TARGET_PROPERTIES(icedax PROPERTIES SKIP_BUILD_RPATH TRUE)
diff -up cdrkit-1.1.11/icedax/global.h.paranoiacdda cdrkit-1.1.11/icedax/global.h
--- cdrkit-1.1.11/icedax/global.h.paranoiacdda 2012-07-31 14:27:15.232157548 +0200
+++ cdrkit-1.1.11/icedax/global.h 2012-07-31 14:27:15.226157345 +0200
@@ -17,7 +17,8 @@
#include "md5.h"
#endif
#ifdef USE_PARANOIA
-#include "cdda_paranoia.h"
+#include <cdda/cdda_interface.h>
+#include <cdda/cdda_paranoia.h>
#endif
typedef struct index_list
@@ -102,10 +103,10 @@ typedef struct global
struct paranoia_parms_t
{
- Ucbit disable_paranoia:1;
- Ucbit disable_extra_paranoia:1;
- Ucbit disable_scratch_detect:1;
- Ucbit disable_scratch_repair:1;
+ char disable_paranoia:1;
+ char disable_extra_paranoia:1;
+ char disable_scratch_detect:1;
+ char disable_scratch_repair:1;
int retries;
int overlap;
int mindynoverlap;
diff -up cdrkit-1.1.11/icedax/icedax.c.paranoiacdda cdrkit-1.1.11/icedax/icedax.c
--- cdrkit-1.1.11/icedax/icedax.c.paranoiacdda 2012-07-31 14:27:15.237157718 +0200
+++ cdrkit-1.1.11/icedax/icedax.c 2012-07-31 14:27:15.238157752 +0200
@@ -120,6 +120,10 @@
#ifdef USE_LAME
#include "mp3.h" /* mp3 file handling */
#endif
+#ifdef USE_PARANOIA
+#include <cdda/cdda_interface.h>
+#include <cdda/cdda_paranoia.h>
+#endif
#include "interface.h" /* low level cdrom interfacing */
#include "icedax.h"
#include "resample.h"
@@ -128,9 +132,6 @@
#include "ringbuff.h"
#include "global.h"
#include "exitcodes.h"
-#ifdef USE_PARANOIA
-#include "cdda_paranoia.h"
-#endif
#include "defaults.h"
static void RestrictPlaybackRate(long newrate);
@@ -800,7 +801,7 @@ static void init_globals()
global.useroverlap = -1; /* amount of overlapping sectors user override */
global.need_hostorder = 0; /* processing needs samples in host endianess */
global.in_lendian = -1; /* input endianess from SetupSCSI() */
- global.outputendianess = NONE; /* user specified output endianess */
+ global.outputendianess = NONE_EN; /* user specified output endianess */
global.findminmax = 0; /* flag find extrem amplitudes */
#ifdef HAVE_LIMITS_H
global.maxamp[0] = INT_MIN; /* maximum amplitude */
@@ -2418,7 +2419,7 @@ Rate Divider Rate Divider
if (bulk == -1) bulk = 0;
global.need_big_endian = global.audio_out->need_big_endian;
- if (global.outputendianess != NONE)
+ if (global.outputendianess != NONE_EN)
global.need_big_endian = global.outputendianess == BIG;
if (global.no_file) global.fname_base[0] = '\0';
@@ -2602,7 +2603,7 @@ Rate Divider Rate Divider
fputs( ", soundcard", stderr );
#endif
#if defined USE_PARANOIA
- fputs( ", libparanoia", stderr );
+ fputs( ", libcdda_paranoia", stderr );
#endif
fputs( " support\n", stderr );
}
@@ -2892,8 +2893,28 @@ Rate Divider Rate Divider
#ifdef USE_PARANOIA
if (global.paranoia_selected) {
long paranoia_mode;
+ cdrom_drive *tmpdrive;
+ usal_close(get_scsi_p());
- global.cdp = paranoia_init(get_scsi_p(), global.nsectors);
+ tmpdrive = cdda_identify(global.dev_name, 0, NULL);
+ if (!tmpdrive)
+ {
+ fputs("Can't identify disc\n", stderr);
+ return 1;
+ }
+
+ if(global.nsectors)
+ {
+ tmpdrive->nsectors = global.nsectors;
+ tmpdrive->bigbuff = global.nsectors * CD_FRAMESIZE_RAW;
+ }
+ if (cdda_open(tmpdrive) != 0)
+ {
+ fputs("Can't open disc\n", stderr);
+ cdda_close(tmpdrive);
+ return 1;
+ }
+ global.cdp = paranoia_init(tmpdrive);
if (global.paranoia_parms.overlap >= 0) {
int overlap = global.paranoia_parms.overlap;
@@ -2902,17 +2923,7 @@ Rate Divider Rate Divider
overlap = global.nsectors - 1;
paranoia_overlapset(global.cdp, overlap);
}
- /*
- * Default to a minimum of dynamic overlapping == 0.5 sectors.
- * If we don't do this, we get the default from libparanoia
- * which is approx. 0.1.
- */
- if (global.paranoia_parms.mindynoverlap < 0)
- paranoia_dynoverlapset(global.cdp, CD_FRAMEWORDS/2, -1);
- paranoia_dynoverlapset(global.cdp,
- global.paranoia_parms.mindynoverlap * CD_FRAMEWORDS,
- global.paranoia_parms.maxdynoverlap * CD_FRAMEWORDS);
-
+
paranoia_mode = PARANOIA_MODE_FULL ^ PARANOIA_MODE_NEVERSKIP;
if (global.paranoia_parms.disable_paranoia) {
diff -up cdrkit-1.1.11/icedax/icedax.h.paranoiacdda cdrkit-1.1.11/icedax/icedax.h
--- cdrkit-1.1.11/icedax/icedax.h.paranoiacdda 2012-07-31 14:27:15.216157005 +0200
+++ cdrkit-1.1.11/icedax/icedax.h 2012-07-31 14:27:15.217157039 +0200
@@ -41,7 +41,7 @@
/* Endianess */
#define GUESS (-2)
-#define NONE (-1)
+#define NONE_EN (-1)
#define LITTLE 0
#define BIG 1
diff -up cdrkit-1.1.11/icedax/interface.c.paranoiacdda cdrkit-1.1.11/icedax/interface.c
--- cdrkit-1.1.11/icedax/interface.c.paranoiacdda 2012-07-31 14:27:15.235157650 +0200
+++ cdrkit-1.1.11/icedax/interface.c 2012-07-31 14:27:15.232157548 +0200
@@ -116,7 +116,7 @@ int (*Play_at)(SCSI *usalp, unsigned in
int (*StopPlay)(SCSI *usalp);
void (*trash_cache)(UINT4 *p, unsigned lSector, unsigned SectorBurstVal);
-#if defined USE_PARANOIA
+#if 0 //defined USE_PARANOIA
long cdda_read(void *d, void *buffer, long beginsector, long sectors);
long cdda_read(void *d, void *buffer, long beginsector, long sectors)
diff -up cdrkit-1.1.11/icedax/toc.c.paranoiacdda cdrkit-1.1.11/icedax/toc.c
--- cdrkit-1.1.11/icedax/toc.c.paranoiacdda 2012-07-31 14:27:15.225157311 +0200
+++ cdrkit-1.1.11/icedax/toc.c 2012-07-31 14:27:15.230157480 +0200
@@ -379,8 +379,7 @@ static void emit_cddb_form(char *fname_b
static void emit_cdindex_form(char *fname_baseval);
#endif
-
-typedef struct TOC { /* structure of table of contents (cdrom) */
+typedef struct TOC_t { /* structure of table of contents (cdrom) */
unsigned char reserved1;
unsigned char bFlags;
unsigned char bTrack;
@@ -391,8 +390,7 @@ typedef struct TOC { /* structure of tab
int frms;
unsigned char ISRC[16];
int SCMS;
-} TOC;
-
+} TOC_t;
/* Flags contains two fields:
bits 7-4 (ADR)
@@ -432,7 +430,7 @@ struct iterator {
int index;
int startindex;
void (*reset)(struct iterator *this);
- struct TOC *(*getNextTrack)(struct iterator *this);
+ struct TOC_t *(*getNextTrack)(struct iterator *this);
int (*hasNextTrack)(struct iterator *this);
};
@@ -518,7 +516,7 @@ unsigned FixupTOC(unsigned no_tracks)
InitIterator(&i, 1);
while (i.hasNextTrack(&i)) {
- struct TOC *p = i.getNextTrack(&i);
+ struct TOC_t *p = i.getNextTrack(&i);
if (IS__AUDIO(p)) count_audio_tracks++;
}
@@ -733,7 +731,7 @@ static void emit_cddb_form(char *fname_b
fprintf( cddb_form, "# Track frame offsets:\n#\n");
while (i.hasNextTrack(&i)) {
- struct TOC *p = i.getNextTrack(&i);
+ struct TOC_t *p = i.getNextTrack(&i);
if (GETTRACK(p) == CDROM_LEADOUT) break;
fprintf( cddb_form,
"# %lu\n", 150 + Get_AudioStartSector(GETTRACK(p)));
@@ -765,7 +763,7 @@ static void emit_cddb_form(char *fname_b
i.reset(&i);
while (i.hasNextTrack(&i)) {
- struct TOC *p = i.getNextTrack(&i);
+ struct TOC_t *p = i.getNextTrack(&i);
int ii;
ii = GETTRACK(p);
@@ -788,7 +786,7 @@ static void emit_cddb_form(char *fname_b
i.reset(&i);
while (i.hasNextTrack(&i)) {
- struct TOC *p = i.getNextTrack(&i);
+ struct TOC_t *p = i.getNextTrack(&i);
int ii;
ii = GETTRACK(p);
@@ -1495,7 +1493,7 @@ static int IsSingleArtist(void)
InitIterator(&i, 1);
while (i.hasNextTrack(&i)) {
- struct TOC *p = i.getNextTrack(&i);
+ struct TOC_t *p = i.getNextTrack(&i);
int ii;
if (IS__DATA(p) || GETTRACK(p) == CDROM_LEADOUT) continue;
@@ -1681,7 +1679,7 @@ static void emit_cdindex_form(char *fnam
global.creator ? ascii2html(global.creator) : "");
while (i.hasNextTrack(&i)) {
- struct TOC *p = i.getNextTrack(&i);
+ struct TOC_t *p = i.getNextTrack(&i);
int ii = GETTRACK(p);
if (ii == CDROM_LEADOUT) break;
@@ -1703,7 +1701,7 @@ static void emit_cdindex_form(char *fnam
fprintf( cdindex_form, " <MultipleArtistCD>\n");
while (i.hasNextTrack(&i)) {
- struct TOC *p = i.getNextTrack(&i);
+ struct TOC_t *p = i.getNextTrack(&i);
int ii = GETTRACK(p);
if (ii == CDROM_LEADOUT) break;
@@ -1942,9 +1940,9 @@ static void DisplayToc_with_gui(unsigned
if ((global.verbose & (SHOW_TOC | SHOW_STARTPOSITIONS | SHOW_SUMMARY | SHOW_TITLES)) != 0
&& i.hasNextTrack(&i)) {
- TOC *o = i.getNextTrack(&i);
+ TOC_t *o = i.getNextTrack(&i);
while (i.hasNextTrack(&i)) {
- TOC *p = i.getNextTrack(&i);
+ TOC_t *p = i.getNextTrack(&i);
int from;
from = GETTRACK(o);
@@ -2072,9 +2070,9 @@ static void DisplayToc_no_gui(unsigned l
count_audio_trks = 0;
if (i.hasNextTrack(&i)) {
- TOC *o = i.getNextTrack(&i);
+ TOC_t *o = i.getNextTrack(&i);
while (i.hasNextTrack(&i)) {
- TOC *p = i.getNextTrack(&i);
+ TOC_t *p = i.getNextTrack(&i);
int from;
from = GETTRACK(o);
@@ -2131,10 +2129,10 @@ static void DisplayToc_no_gui(unsigned l
i.reset(&i);
if ((global.verbose & SHOW_TOC) != 0 &&
i.hasNextTrack(&i)) {
- TOC *o = i.getNextTrack(&i);
+ TOC_t *o = i.getNextTrack(&i);
for (; i.hasNextTrack(&i);) {
- TOC *p = i.getNextTrack(&i);
+ TOC_t *p = i.getNextTrack(&i);
if ( GETTRACK(o) <= MAXTRK ) {
unsigned char brace1, brace2;
@@ -2189,9 +2187,9 @@ static void DisplayToc_no_gui(unsigned l
ii = 0;
i.reset(&i);
if (i.hasNextTrack(&i)) {
- TOC *o = i.getNextTrack(&i);
+ TOC_t *o = i.getNextTrack(&i);
for ( ; i.hasNextTrack(&i);) {
- TOC *p = i.getNextTrack(&i);
+ TOC_t *p = i.getNextTrack(&i);
fprintf ( stderr,
" %2u.(%8u)",
GETTRACK(o),
@@ -2248,7 +2246,7 @@ static void DisplayToc_no_gui(unsigned l
i.reset(&i);
for ( ; i.hasNextTrack(&i);) {
- TOC *p = i.getNextTrack(&i);
+ TOC_t *p = i.getNextTrack(&i);
int jj = GETTRACK(p);
if ( global.tracktitle[jj] != NULL ) {
@@ -2260,7 +2258,7 @@ static void DisplayToc_no_gui(unsigned l
i.reset(&i);
for ( ; i.hasNextTrack(&i); ) {
- TOC *p = i.getNextTrack(&i);
+ TOC_t *p = i.getNextTrack(&i);
int jj;
if (IS__DATA(p))
@@ -2720,7 +2718,7 @@ void Read_MCN_ISRC(void)
InitIterator(&i, 1);
while (i.hasNextTrack(&i)) {
- struct TOC *p = i.getNextTrack(&i);
+ struct TOC_t *p = i.getNextTrack(&i);
unsigned ii = GETTRACK(p);
if (ii == CDROM_LEADOUT) break;
@@ -3155,7 +3153,7 @@ unsigned ScanIndices(unsigned track, uns
while (i.hasNextTrack(&i)) {
- struct TOC *p = i.getNextTrack(&i);
+ struct TOC_t *p = i.getNextTrack(&i);
unsigned ii = GETTRACK(p);
if ( ii < starttrack || IS__DATA(p) )
@@ -3322,7 +3320,7 @@ unsigned char *Get_MCN(void)
}
-static TOC g_toc [MAXTRK+1]; /* hidden track + 100 regular tracks */
+static TOC_t g_toc [MAXTRK+1]; /* hidden track + 100 regular tracks */
/*#define IS_AUDIO(i) (!(g_toc[i].bFlags & 0x40))*/
@@ -3397,10 +3395,10 @@ static int patch_cd_extra(unsigned track
static int restrict_tracks_illleadout(void)
{
- struct TOC *o = &g_toc[cdtracks+1];
+ struct TOC_t *o = &g_toc[cdtracks+1];
int i;
for (i = cdtracks; i >= 0; i--) {
- struct TOC *p = &g_toc[i];
+ struct TOC_t *p = &g_toc[i];
if (GETSTART(o) > GETSTART(p)) break;
}
patch_cd_extra(i+1, GETSTART(o));
@@ -3523,7 +3521,7 @@ static void it_reset(struct iterator *th
static int it_hasNextTrack(struct iterator *this);
-static struct TOC *it_getNextTrack(struct iterator *this);
+static struct TOC_t *it_getNextTrack(struct iterator *this);
static int it_hasNextTrack(struct iterator *this)
{
@@ -3532,7 +3530,7 @@ static int it_hasNextTrack(struct iterat
-static struct TOC *it_getNextTrack(struct iterator *this)
+static struct TOC_t *it_getNextTrack(struct iterator *this)
{
/* if ( (*this->hasNextTrack)(this) == 0 ) return NULL; */
if ( this->index > (int)cdtracks+1 ) return NULL;
@@ -3583,7 +3581,7 @@ long Get_AudioStartSector(unsigned long
if (p_track == cdtracks + 1) p_track = CDROM_LEADOUT;
while (i.hasNextTrack(&i)) {
- TOC *p = i.getNextTrack(&i);
+ TOC_t *p = i.getNextTrack(&i);
if (GETTRACK(p) == p_track) {
if (IS__DATA(p)) {
@@ -3613,7 +3611,7 @@ long Get_StartSector(unsigned long p_tra
if (p_track == cdtracks + 1) p_track = CDROM_LEADOUT;
while (i.hasNextTrack(&i)) {
- TOC *p = i.getNextTrack(&i);
+ TOC_t *p = i.getNextTrack(&i);
if (GETTRACK(p) == p_track) {
return GETSTART(p);
@@ -3637,7 +3635,7 @@ long Get_EndSector(unsigned long p_track
if (p_track == cdtracks + 1) p_track = CDROM_LEADOUT;
while (i.hasNextTrack(&i)) {
- TOC *p = i.getNextTrack(&i);
+ TOC_t *p = i.getNextTrack(&i);
if (GETTRACK(p) == p_track) {
p = i.getNextTrack(&i);
if (p == NULL) {
@@ -3669,7 +3667,7 @@ long FirstAudioTrack(void)
else i.reset(&i);
while (i.hasNextTrack(&i)) {
- TOC *p = i.getNextTrack(&i);
+ TOC_t *p = i.getNextTrack(&i);
unsigned ii = GETTRACK(p);
if (ii == CDROM_LEADOUT) break;
@@ -3687,7 +3685,7 @@ long FirstDataTrack(void)
else i.reset(&i);
while (i.hasNextTrack(&i)) {
- TOC *p = i.getNextTrack(&i);
+ TOC_t *p = i.getNextTrack(&i);
if (IS__DATA(p)) {
return GETTRACK(p);
}
@@ -3708,7 +3706,7 @@ long LastAudioTrack(void)
else i.reset(&i);
while (i.hasNextTrack(&i)) {
- TOC *p = i.getNextTrack(&i);
+ TOC_t *p = i.getNextTrack(&i);
if (IS__AUDIO(p) && (GETTRACK(p) != CDROM_LEADOUT)) {
j = GETTRACK(p);
}
@@ -3730,7 +3728,7 @@ long Get_LastSectorOnCd(unsigned long p_
if (p_track == cdtracks + 1) p_track = CDROM_LEADOUT;
while (i.hasNextTrack(&i)) {
- TOC *p = i.getNextTrack(&i);
+ TOC_t *p = i.getNextTrack(&i);
if (GETTRACK(p) < p_track)
continue;
@@ -3749,9 +3747,9 @@ int Get_Track(unsigned long sector)
else i.reset(&i);
if (i.hasNextTrack(&i)) {
- TOC *o = i.getNextTrack(&i);
+ TOC_t *o = i.getNextTrack(&i);
while (i.hasNextTrack(&i)) {
- TOC *p = i.getNextTrack(&i);
+ TOC_t *p = i.getNextTrack(&i);
if ((GETSTART(o) <= sector) && (GETSTART(p) > sector)) {
if (IS__DATA(o)) {
return -1;
@@ -3772,7 +3770,7 @@ int CheckTrackrange(unsigned long from,
else i.reset(&i);
while (i.hasNextTrack(&i)) {
- TOC *p = i.getNextTrack(&i);
+ TOC_t *p = i.getNextTrack(&i);
if (GETTRACK(p) < from)
continue;
@@ -3788,54 +3786,3 @@ int CheckTrackrange(unsigned long from,
return 0;
}
-#ifdef USE_PARANOIA
-long cdda_disc_firstsector(void *d);
-
-long cdda_disc_firstsector(void *d)
-{
- return Get_StartSector(FirstAudioTrack());
-}
-
-int cdda_tracks(void *d);
-
-int cdda_tracks(void *d)
-{
- return LastAudioTrack() - FirstAudioTrack() +1;
-}
-
-int cdda_track_audiop(void *d, int track);
-
-int cdda_track_audiop(void *d, int track)
-{
- return Get_Datatrack(track) == 0;
-}
-
-long cdda_track_firstsector(void *d, int track);
-
-long cdda_track_firstsector(void *d, int track)
-{
- return Get_AudioStartSector(track);
-}
-
-long cdda_track_lastsector(void *d, int track);
-
-long cdda_track_lastsector(void *d, int track)
-{
- return Get_EndSector(track);
-}
-
-long cdda_disc_lastsector(void *d);
-
-long cdda_disc_lastsector(void *d)
-{
- return Get_LastSectorOnCd(cdtracks) - 1;
-}
-
-int cdda_sector_gettrack(void *d,long sector);
-
-int cdda_sector_gettrack(void *d, long sector)
-{
- return Get_Track(sector);
-}
-
-#endif

View File

@ -0,0 +1,13 @@
diff -up wrk/include/glibc_elf.h.wrk wrk/include/glibc_elf.h
--- wrk/include/glibc_elf.h.wrk 2014-09-19 16:04:45.546981432 +0200
+++ wrk/include/glibc_elf.h 2014-09-19 16:38:55.407991682 +0200
@@ -2081,7 +2081,8 @@ typedef Elf32_Addr Elf32_Conflict;
#define R_PPC64_DTPREL16_HIGHESTA 106 /* half16 (sym+add)@dtprel@highesta */
/* Keep this the last entry. */
-#define R_PPC64_NUM 107
+//symbol conflicting with system headers on ppc64le and nowhere used
+//#define R_PPC64_NUM 107
/* PowerPC64 specific values for the Dyn d_tag field. */
#define DT_PPC64_GLINK (DT_LOPROC + 0)

View File

@ -0,0 +1,12 @@
diff -up cdrkit-1.1.11/readom/readom.c.readsegfault cdrkit-1.1.11/readom/readom.c
--- cdrkit-1.1.11/readom/readom.c.readsegfault 2011-03-07 15:51:46.889441591 +0100
+++ cdrkit-1.1.11/readom/readom.c 2011-03-07 15:51:50.702938263 +0100
@@ -906,7 +906,7 @@ read_ftoc(SCSI *usalp, parm_t *parmp, BO
strcpy(filename, "toc.dat");
- if (strcmp(parmp->name, "/dev/null") != 0) {
+ if (parmp != NULL && strcmp(parmp->name, "/dev/null") != 0) {
len = strlen(parmp->name);
if (len > (sizeof (filename)-5)) {

View File

@ -0,0 +1,31 @@
diff -up cdrkit-1.1.11/genisoimage/tree.c.rootstat cdrkit-1.1.11/genisoimage/tree.c
--- cdrkit-1.1.11/genisoimage/tree.c.rootstat 2011-01-25 14:15:36.766389403 +0100
+++ cdrkit-1.1.11/genisoimage/tree.c 2011-01-25 14:17:24.804643126 +0100
@@ -48,6 +48,7 @@
#include <fctldefs.h>
#include <device.h>
#include <schily.h>
+#include <libgen.h>
extern int allow_limited_size;
@@ -1421,12 +1422,16 @@ insert_file_entry(struct directory *this
return (0);
}
if (this_dir == root && strcmp(short_name, ".") == 0)
- root_statbuf = statbuf; /* Save this for later on */
+ memcpy(&root_statbuf, &statbuf, sizeof(root_statbuf)); /* Save this for later on */
/* We do this to make sure that the root entries are consistent */
if (this_dir == root && strcmp(short_name, "..") == 0) {
- statbuf = root_statbuf;
- lstatbuf = root_statbuf;
+ /* for the case .. comes before . */
+ if (!root_statbuf.st_ctime) {
+ stat_filter(dirname(whole_path), &root_statbuf);
+ }
+ memcpy(&statbuf, &root_statbuf, sizeof(statbuf));
+ memcpy(&lstatbuf, &root_statbuf, sizeof(lstatbuf));
}
if (S_ISLNK(lstatbuf.st_mode)) {

View File

@ -0,0 +1,60 @@
diff -up wrk/genisoimage/rock.c.wrk wrk/genisoimage/rock.c
--- wrk/genisoimage/rock.c.wrk 2017-01-04 14:25:54.879670532 +0100
+++ wrk/genisoimage/rock.c 2017-01-04 15:11:38.061228649 +0100
@@ -39,6 +39,11 @@
#include <device.h>
#include <schily.h>
+/* "major" and "minor" macros will be moved to sysmacros.h
+ * silence the warning
+ * added by cdrkit-1.1.11-sysmacros.patch */
+#include <sys/sysmacros.h>
+
#define SU_VERSION 1
#define SL_ROOT 8
diff -up wrk/genisoimage/tree.c.wrk wrk/genisoimage/tree.c
--- wrk/genisoimage/tree.c.wrk 2017-01-04 14:21:47.472189363 +0100
+++ wrk/genisoimage/tree.c 2017-01-04 15:13:32.989466729 +0100
@@ -50,6 +50,11 @@
#include <schily.h>
#include <libgen.h>
+/* "major" and "minor" macros will be moved to sysmacros.h
+ * silence the warning
+ * added by cdrkit-1.1.11-sysmacros.patch */
+#include <sys/sysmacros.h>
+
extern int allow_limited_size;
#ifdef VMS
diff -up wrk/icedax/interface.c.wrk wrk/icedax/interface.c
--- wrk/icedax/interface.c.wrk 2017-01-04 14:46:54.298203958 +0100
+++ wrk/icedax/interface.c 2017-01-04 15:14:06.333535804 +0100
@@ -55,6 +55,11 @@
#include <sys/ioctl.h>
#include <statdefs.h>
+/* "major" and "minor" macros will be moved to sysmacros.h
+ * silence the warning
+ * added by cdrkit-1.1.11-sysmacros.patch */
+#include <sys/sysmacros.h>
+
#include "mycdrom.h"
#include "lowlevel.h"
diff -up wrk/icedax/ioctl.c.wrk wrk/icedax/ioctl.c
--- wrk/icedax/ioctl.c.wrk 2017-01-04 14:49:45.834583930 +0100
+++ wrk/icedax/ioctl.c 2017-01-04 15:15:10.268668248 +0100
@@ -36,6 +36,11 @@
#include <schily.h>
#include <device.h>
+/* "major" and "minor" macros will be moved to sysmacros.h
+ * silence the warning
+ * added by cdrkit-1.1.11-sysmacros.patch */
+#include <sys/sysmacros.h>
+
#include <usal/scsitransp.h>
#include "mycdrom.h"

View File

@ -0,0 +1,33 @@
diff -up cdrkit-1.1.11/librols/CMakeLists.txt.usalinst cdrkit-1.1.11/librols/CMakeLists.txt
--- cdrkit-1.1.11/librols/CMakeLists.txt.usalinst 2012-07-31 10:51:30.270669381 +0200
+++ cdrkit-1.1.11/librols/CMakeLists.txt 2012-07-31 10:52:02.365378257 +0200
@@ -3,5 +3,11 @@ INCLUDE_DIRECTORIES(../include ../libhfs
SET(LIBROLS_SRCS astoi.c astoll.c astoull.c breakline.c cmpbytes.c comerr.c error.c fexec.c fillbytes.c getargs.c getav0.c getdomainname.c geterrno.c gethostid.c gethostname.c getpagesize.c handlecond.c movebytes.c raisecond.c rename.c saveargs.c seterrno.c spawn.c strcatl.c strdup.c streql.c swabbytes.c usleep.c stdio/cvmod.c stdio/dat.c stdio/fcons.c stdio/fdown.c stdio/fdup.c stdio/ffileread.c stdio/ffilewrite.c stdio/fgetline.c stdio/file_raise.c stdio/fileclose.c stdio/fileluopen.c stdio/filemopen.c stdio/fileopen.c stdio/filepos.c stdio/fileread.c stdio/filereopen.c stdio/fileseek.c stdio/filesize.c stdio/filestat.c stdio/filewrite.c stdio/flag.c stdio/flush.c stdio/fpipe.c stdio/niread.c stdio/niwrite.c stdio/nixread.c stdio/nixwrite.c stdio/openfd.c stdio/peekc.c default.c)
-ADD_LIBRARY (rols STATIC ${CMAKE_CURRENT_SOURCE_DIR}/../include/xconfig.h ${CMAKE_CURRENT_SOURCE_DIR}/../include/align.h ${LIBROLS_SRCS})
+ADD_LIBRARY (rols SHARED ${CMAKE_CURRENT_SOURCE_DIR}/../include/xconfig.h ${CMAKE_CURRENT_SOURCE_DIR}/../include/align.h ${LIBROLS_SRCS})
+SET_TARGET_PROPERTIES(rols PROPERTIES
+ VERSION 0.0.1
+ SOVERSION 0
+)
+
+INSTALL(TARGETS rols DESTINATION lib${LIB_SUFFIX})
diff -up cdrkit-1.1.11/libusal/CMakeLists.txt.usalinst cdrkit-1.1.11/libusal/CMakeLists.txt
--- cdrkit-1.1.11/libusal/CMakeLists.txt.usalinst 2012-07-31 10:51:30.302670085 +0200
+++ cdrkit-1.1.11/libusal/CMakeLists.txt 2012-07-31 10:52:09.190528942 +0200
@@ -6,5 +6,12 @@ ADD_DEFINITIONS(-DUSE_RCMD_RSH)
#SET(LIBSCG_SRCS rdummy.c usalsettarget.c usaltimes.c scsi-linux-ata.c scsi-linux-pg.c scsi-linux-sg.c scsierrs.c scsihack.c scsihelp.c scsiopen.c scsitransp.c)
SET(LIBSCG_SRCS usalsettarget.c usaltimes.c scsierrs.c scsihack.c scsihelp.c scsiopen.c scsitransp.c scsi-remote.c)
LINK_DIRECTORIES(../librols)
-ADD_LIBRARY (usal STATIC ${LIBSCG_SRCS})
+ADD_LIBRARY (usal SHARED ${LIBSCG_SRCS})
+
TARGET_LINK_LIBRARIES(usal ${SCG_SELF_LIBS})
+SET_TARGET_PROPERTIES(usal PROPERTIES
+ VERSION 0.0.1
+ SOVERSION 0
+)
+INSTALL(TARGETS usal DESTINATION lib${LIB_SUFFIX})
+INSTALL(FILES usal/scsicdb.h usal/aspi-dos.h usal/usalcmd.h usal/usalio.h usal/scsireg.h usal/usalops.h usal/scsidefs.h usal/spti-wnt.h usal/srb_os2.h usal/scsitransp.h usal/aspi-win32.h usal/scsisense.h usaltimes.h pg.h DESTINATION include/usal)

View File

@ -0,0 +1,104 @@
diff -up cdrkit-1.1.11/Changelog.utf8 cdrkit-1.1.11/Changelog
--- cdrkit-1.1.11/Changelog.utf8 2012-07-31 12:38:50.207872763 +0200
+++ cdrkit-1.1.11/Changelog 2012-07-31 12:38:57.669026934 +0200
@@ -519,7 +519,7 @@ cdrkit (2.01.01a08+X.12) UNRELEASED; urg
cdrkit (2.01.01a08+X.11) UNRELEASED; urgency=low
- * 26_author_locale (ASCII transliteration of Jörg in the standard credits
+ * 26_author_locale (ASCII transliteration of Jörg in the standard credits
message)
* 28_cdda2wav_interface (Linux friendly cdda2wav behaviour)
* 30_doc_typo_fixes (various documentation/message fixes)
@@ -821,8 +821,8 @@ Sun May 16 01:37:11 2004 Joerg Schilling
Sun May 16 01:26:52 2004 Joerg Schilling <joerg@schily.isdn.cs.tu-berlin.de>
* cdrecord.1 1.95
- Eißfeldt -> Ei\*sfeldt
- µsec -> \*msec
+ Eißfeldt -> Ei\*sfeldt
+ ľsec -> \*msec
Sat May 15 23:14:18 2004 Joerg Schilling <joerg@schily.isdn.cs.tu-berlin.de>
* subchan.c 1.19
@@ -1057,7 +1057,7 @@ Wed Jan 14 15:37:47 2004 Joerg Schilling
Wed Jan 14 01:14:27 2004 Joerg Schilling <joerg@schily.isdn.cs.tu-berlin.de>
* scsi-mac-iokit.c 1.8
ux_errno wird nun korrekt gesetzt wenn ein Kommando schiefgeht
- Die Sense Daten werden nicht mehr gelöscht
+ Die Sense Daten werden nicht mehr gelöscht
Author ist nun "schily", denn das Modul kommt nun teilweise dirch scgcheck
Tue Jan 13 20:43:44 2004 Joerg Schilling <joerg@schily.isdn.cs.tu-berlin.de>
@@ -1074,7 +1074,7 @@ Mon Jan 12 00:33:39 2004 Joerg Schilling
Sun Jan 11 18:42:14 2004 Joerg Schilling <joerg@schily.isdn.cs.tu-berlin.de>
* scsi-linux-sg.c 1.77
- Versuch das /dev/hd* Interface von Linux-2.6 besser zu unterstützen.
+ Versuch das /dev/hd* Interface von Linux-2.6 besser zu unterstützen.
Sun Jan 11 16:18:48 2004 Joerg Schilling <joerg@schily.isdn.cs.tu-berlin.de>
* scsi-linux-sg.c 1.76
@@ -6144,7 +6144,7 @@ Mon Oct 26 00:27:22 1998 Joerg Schilling
New manufacturer: Xcitec Inc.
Doremi Media Co., Ltd.
Matsushita Electric Industrial Co.,Ltd.
- CDA Datenträger Albrechts GmbH.
+ CDA Datenträger Albrechts GmbH.
Sun Oct 25 13:00:22 1998 Joerg Schilling <joerg@schily.isdn.cs.tu-berlin.de>
* cdrecord.c 1.71
diff -up cdrkit-1.1.11/doc/icedax/README.utf8 cdrkit-1.1.11/doc/icedax/README
--- cdrkit-1.1.11/doc/icedax/README.utf8 2012-07-31 12:38:18.903226517 +0200
+++ cdrkit-1.1.11/doc/icedax/README 2012-07-31 12:38:18.902226496 +0200
@@ -387,7 +387,7 @@ and
<http://www.anime.net/~goemon/linux-cd/cdda-list.html>
-From a news posting from Björn Wiberg
+From a news posting from Björn Wiberg
> The following table was generated using the CDROM.CFG file from Nero
> v3.0.4.2.
diff -up cdrkit-1.1.11/doc/icedax/THANKS.utf8 cdrkit-1.1.11/doc/icedax/THANKS
--- cdrkit-1.1.11/doc/icedax/THANKS.utf8 2012-07-31 12:38:18.901226475 +0200
+++ cdrkit-1.1.11/doc/icedax/THANKS 2012-07-31 12:38:18.901226475 +0200
@@ -5,7 +5,7 @@ http://www.mode.net/
and
-Fraunhofer Institut für integrierte Schaltungen (FhG-IIS)
+Fraunhofer Institut für integrierte Schaltungen (FhG-IIS)
http://www.iis.fhg.de/
Code for extraction of ISRC and MCN codes as well as MD5 signatures
@@ -33,4 +33,4 @@ Francesco Chemolli (getopt_long patches)
Thanks to all testers and finally Jim McLaughlin for supplying
the first cdda-reader source code (that got me started).
-Heiko Eißfeldt
+Heiko Eißfeldt
diff -up cdrkit-1.1.11/doc/READMEs/README.ATAPI.utf8 cdrkit-1.1.11/doc/READMEs/README.ATAPI
--- cdrkit-1.1.11/doc/READMEs/README.ATAPI.utf8 2012-07-31 12:38:18.899226433 +0200
+++ cdrkit-1.1.11/doc/READMEs/README.ATAPI 2012-07-31 12:38:18.900226454 +0200
@@ -279,7 +279,7 @@ selectively telling the kernel what to u
this would not be needed if the Linux SCSI CD-ROM driver would be more
up to date and supports standard conforming drives.
-Jörg Schilling <schilling@fokus.fhg.de>
+Jörg Schilling <schilling@fokus.fhg.de>
--------------------------------------------------
Here is a hint from Alan Brown <alanb@manawatu.gen.nz>:
diff -up cdrkit-1.1.11/doc/READMEs/README.cdplus.utf8 cdrkit-1.1.11/doc/READMEs/README.cdplus
--- cdrkit-1.1.11/doc/READMEs/README.cdplus.utf8 2012-07-31 12:38:18.900226454 +0200
+++ cdrkit-1.1.11/doc/READMEs/README.cdplus 2012-07-31 12:38:18.900226454 +0200
@@ -63,7 +63,7 @@ Note: If you want to create an HFS hybri
use the '-part' option to genisoimage. Otherwise, the data track will be mounted
as an ISO9660/Joliet CD when used on a Mac.
-Jörg
+Jörg
Edited for cdrkit by Christian Fromme <kaner@strace.org> and Eduard Bloch

View File

@ -0,0 +1,22 @@
diff -up wrk/genisoimage/exclude.c.wrk wrk/genisoimage/exclude.c
--- wrk/genisoimage/exclude.c.wrk 2015-02-25 13:16:28.054237196 +0100
+++ wrk/genisoimage/exclude.c 2015-02-25 13:33:06.761312002 +0100
@@ -39,7 +39,7 @@ exclude(char *fn)
{
register int i;
- for (i = 0; excl[i] && i < MAXEXCL; i++)
+ for (i = 0; i < MAXEXCL && excl[i]; i++)
;
if (i == MAXEXCL) {
@@ -69,7 +69,7 @@ is_excluded(char *fn)
/*
* very dumb search method ...
*/
- for (i = 0; excl[i] && i < MAXEXCL; i++) {
+ for (i = 0; i < MAXEXCL && excl[i]; i++) {
if (strcmp(excl[i], fn) == 0) {
return (1); /* found -> excluded filenmae */
}
diff -up wrk/icedax/toc.c.wrk wrk/icedax/toc.c

View File

@ -0,0 +1,206 @@
diff -up cdrkit-1.1.8/wodim/wodim.c.werror cdrkit-1.1.8/wodim/wodim.c
--- cdrkit-1.1.8/wodim/wodim.c.werror 2008-05-27 15:34:03.000000000 +0200
+++ cdrkit-1.1.8/wodim/wodim.c 2008-05-27 15:36:22.000000000 +0200
@@ -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
diff -up cdrkit-1.1.8/wodim/isosize.c.werror cdrkit-1.1.8/wodim/isosize.c
--- cdrkit-1.1.8/wodim/isosize.c.werror 2008-05-27 15:41:36.000000000 +0200
+++ cdrkit-1.1.8/wodim/isosize.c 2008-05-27 15:42:12.000000000 +0200
@@ -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;
diff -up cdrkit-1.1.8/icedax/toc.c.werror cdrkit-1.1.8/icedax/toc.c
--- cdrkit-1.1.8/icedax/toc.c.werror 2008-05-27 15:34:03.000000000 +0200
+++ cdrkit-1.1.8/icedax/toc.c 2008-05-27 15:41:11.000000000 +0200
@@ -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)
diff -up cdrkit-1.1.8/genisoimage/diag/dump.c.werror cdrkit-1.1.8/genisoimage/diag/dump.c
--- cdrkit-1.1.8/genisoimage/diag/dump.c.werror 2008-05-27 15:34:03.000000000 +0200
+++ cdrkit-1.1.8/genisoimage/diag/dump.c 2008-05-27 15:34:03.000000000 +0200
@@ -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);
diff -up cdrkit-1.1.8/genisoimage/diag/isoinfo.c.werror cdrkit-1.1.8/genisoimage/diag/isoinfo.c
--- cdrkit-1.1.8/genisoimage/diag/isoinfo.c.werror 2008-05-27 15:34:03.000000000 +0200
+++ cdrkit-1.1.8/genisoimage/diag/isoinfo.c 2008-05-27 15:34:03.000000000 +0200
@@ -651,7 +651,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 */
}
}
diff -up cdrkit-1.1.8/genisoimage/diag/isodump.c.werror cdrkit-1.1.8/genisoimage/diag/isodump.c
--- cdrkit-1.1.8/genisoimage/diag/isodump.c.werror 2008-05-27 15:34:03.000000000 +0200
+++ cdrkit-1.1.8/genisoimage/diag/isodump.c 2008-05-27 15:34:03.000000000 +0200
@@ -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);
diff -up cdrkit-1.1.8/genisoimage/diag/isovfy.c.werror cdrkit-1.1.8/genisoimage/diag/isovfy.c
--- cdrkit-1.1.8/genisoimage/diag/isovfy.c.werror 2008-05-27 15:34:03.000000000 +0200
+++ cdrkit-1.1.8/genisoimage/diag/isovfy.c 2008-05-27 15:34:03.000000000 +0200
@@ -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;
diff -up cdrkit-1.1.8/genisoimage/jte.c.werror cdrkit-1.1.8/genisoimage/jte.c
--- cdrkit-1.1.8/genisoimage/jte.c.werror 2008-05-27 15:34:03.000000000 +0200
+++ cdrkit-1.1.8/genisoimage/jte.c 2008-05-27 15:34:03.000000000 +0200
@@ -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
@@ -643,7 +645,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;
@@ -691,7 +693,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);
@@ -1019,8 +1021,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;
@@ -1033,7 +1035,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);
}
@@ -1041,7 +1043,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);
}
}
diff -up cdrkit-1.1.8/genisoimage/eltorito.c.werror cdrkit-1.1.8/genisoimage/eltorito.c
--- cdrkit-1.1.8/genisoimage/eltorito.c.werror 2008-05-27 15:34:03.000000000 +0200
+++ cdrkit-1.1.8/genisoimage/eltorito.c 2008-05-27 15:34:03.000000000 +0200
@@ -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(... */

View File

@ -0,0 +1,66 @@
diff -ru origin-1.1.9/wodim/scsi_cdr.c master-1.1.9/wodim/scsi_cdr.c
--- origin-1.1.9/wodim/scsi_cdr.c 2008-02-25 12:14:07.000000000 +0100
+++ master-1.1.9/wodim/scsi_cdr.c 2009-07-16 12:01:29.000000000 +0200
@@ -2181,26 +2181,30 @@
if (inq->add_len == 0) {
if (usalp->dev == DEV_UNKNOWN && got_inquiry) {
usalp->dev = DEV_ACB5500;
- strcpy(inq->vendor_info,
- "ADAPTEC ACB-5500 FAKE");
+ strncpy(inq->vendor_info, "ADAPTEC ", 8);
+ strncpy(inq->prod_ident,"ACB-5500 ", 16);
+ strncpy(inq->prod_revision, "FAKE", 4);
} else switch (usalp->dev) {
-
case DEV_ACB40X0:
- strcpy(inq->vendor_info,
- "ADAPTEC ACB-40X0 FAKE");
+ strncpy(inq->vendor_info, "ADAPTEC ", 8);
+ strncpy(inq->prod_ident, "ACB-40X0 ",16);
+ strncpy(inq->prod_revision, "FAKE", 4);
break;
case DEV_ACB4000:
- strcpy(inq->vendor_info,
- "ADAPTEC ACB-4000 FAKE");
+ strncpy(inq->vendor_info, "ADAPTEC ",8);
+ strncpy(inq->prod_ident, "ACB-4000 ",16);
+ strncpy(inq->prod_revision, "FAKE",4);
break;
case DEV_ACB4010:
- strcpy(inq->vendor_info,
- "ADAPTEC ACB-4010 FAKE");
+ strncpy(inq->vendor_info, "ADAPTEC ",8);
+ strncpy(inq->prod_ident, "ACB-4010 ",16);
+ strncpy(inq->prod_revision, "FAKE",4);
break;
case DEV_ACB4070:
- strcpy(inq->vendor_info,
- "ADAPTEC ACB-4070 FAKE");
+ strncpy(inq->vendor_info,"ADAPTEC ",8);
+ strncpy(inq->prod_ident, "ACB-4070 ", 16);
+ strncpy(inq->prod_revision, "FAKE",4 );
break;
}
} else if (inq->add_len < 31) {
@@ -2230,14 +2234,16 @@
case INQ_SEQD:
if (usalp->dev == DEV_SC4000) {
- strcpy(inq->vendor_info,
- "SYSGEN SC4000 FAKE");
+ strncpy(inq->vendor_info,"SYSGEN ",8);
+ strncpy(inq->prod_ident, "SC4000 ",16);
+ strncpy(inq->prod_revision, "FAKE",4);
} else if (inq->add_len == 0 &&
inq->removable &&
inq->ansi_version == 1) {
usalp->dev = DEV_MT02;
- strcpy(inq->vendor_info,
- "EMULEX MT02 FAKE");
+ strncpy(inq->vendor_info,"EMULEX ",8);
+ strncpy(inq->prod_ident, "MT02 ",16);
+ strncpy(inq->prod_revision, "FAKE",4);
}
break;

View File

@ -0,0 +1,204 @@
diff --git a/doc/icedax/tracknames.pl b/doc/icedax/tracknames.pl
old mode 100755
new mode 100644
index 09f0fcf..801b89e
--- a/doc/icedax/tracknames.pl
+++ b/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 billo@billo.com
#
diff --git a/genisoimage/eltorito.c b/genisoimage/eltorito.c
index b97bdf1..5d7c2d1 100644
--- a/genisoimage/eltorito.c
+++ b/genisoimage/eltorito.c
@@ -59,7 +59,7 @@ static void get_torito_desc(struct eltorito_boot_descriptor *boot_desc);
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_descriptor *boot_desc)
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_descriptor *boot_desc)
*/
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_descriptor *boot_desc)
/* 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_descriptor *boot_desc)
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(... */
diff --git a/genisoimage/genisoimage.c b/genisoimage/genisoimage.c
index a5b0b46..8add1ac 100644
--- a/genisoimage/genisoimage.c
+++ b/genisoimage/genisoimage.c
@@ -47,6 +47,7 @@
#include <mconfig.h>
#include "genisoimage.h"
+#include "iso9660.h"
#include <errno.h>
#include <timedefs.h>
#include <fctldefs.h>
@@ -523,6 +524,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'},
@@ -1502,6 +1505,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 */
@@ -1517,6 +1521,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:
diff --git a/genisoimage/genisoimage.h b/genisoimage/genisoimage.h
index bbedfb0..76e5e21 100644
--- a/genisoimage/genisoimage.h
+++ b/genisoimage/genisoimage.h
@@ -293,6 +293,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;
diff --git a/genisoimage/iso9660.h b/genisoimage/iso9660.h
index c74c2a9..c8b7a05 100644
--- a/genisoimage/iso9660.h
+++ b/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.

View File

@ -0,0 +1,50 @@
diff -up cdrkit-1.1.9/icedax/cdda2ogg.1.no_mp3 cdrkit-1.1.9/icedax/cdda2ogg.1
--- cdrkit-1.1.9/icedax/cdda2ogg.1.no_mp3 2009-06-15 14:48:44.930637082 +0200
+++ cdrkit-1.1.9/icedax/cdda2ogg.1 2009-06-15 14:50:35.596769274 +0200
@@ -1,12 +1,11 @@
'\"
.TH "cdda2ogg" "1"
.SH "NAME"
-cdda2ogg, cdda2mp3 \(em extract audio CD audio tracks and encode them
+cdda2ogg \(em extract audio CD audio tracks and encode them
.SH "SYNOPSIS"
.PP
.B cdda2ogg
.PP
-.B cdda2mp3
.SH "DESCRIPTION"
.PP
.B cdda2ogg is a simple script that uses the
@@ -15,9 +14,6 @@ command to extract all audio tracks with
.B icedax <fileprefix>
command and encode them using the
.B ogg123
-respective
-.I <censored>
-MP3
encoder. The scripts are not intended to be full-featured music archiving
programs, but only for quick storing of few audio data.
It does not use databases like CDDB or have any extra features. You may look
@@ -36,8 +32,6 @@ for more information.
.SH "CONFIGURATION"
.PP
.B cdda2ogg
-and
-.B cdda2mp3
have predefined values for reading and labeling of the target files.
You can overwrite them with following environment variables:
@@ -65,11 +59,11 @@ Additional options passed to
The base part of the filename of resulting audio files. This can also be specified as the first argument to the script.
.PP
-See cdda2ogg (cdda2mp3) script file to get the default values
+See cdda2ogg script file to get the default values
.PP
System administrator can also set default values by creating of a shell
include file, defining the variables for the POSIX shell, and storing them as
-/etc/default/cdda2ogg (resp. cdda2mp3).
+/etc/default/cdda2ogg.
.SH "EXAMPLES"
.PP
.B CDDA_DEVICE=/dev/cdrom1 cdda2ogg

539
SPECS/cdrkit.spec Normal file
View File

@ -0,0 +1,539 @@
Summary: A collection of CD/DVD utilities
Name: cdrkit
Version: 1.1.11
Release: 39%{?dist}
License: GPLv2
Group: Applications/System
URL: http://cdrkit.org/
Source: http://cdrkit.org/releases/cdrkit-%{version}.tar.gz
Patch1: cdrkit-1.1.8-werror.patch
Patch2: cdrkit-1.1.9-efi-boot.patch
Patch4: cdrkit-1.1.9-no_mp3.patch
Patch5: cdrkit-1.1.9-buffer_overflow.patch
Patch6: cdrkit-1.1.10-build-fix.patch
Patch7: cdrkit-1.1.11-manpagefix.patch
Patch8: cdrkit-1.1.11-rootstat.patch
Patch9: cdrkit-1.1.11-usalinst.patch
Patch10: cdrkit-1.1.11-readsegfault.patch
Patch11: cdrkit-1.1.11-format.patch
Patch12: cdrkit-1.1.11-handler.patch
Patch13: cdrkit-1.1.11-dvdman.patch
Patch14: cdrkit-1.1.11-paranoiacdda.patch
Patch15: cdrkit-1.1.11-utf8.patch
Patch16: cdrkit-1.1.11-cmakewarn.patch
Patch17: cdrkit-1.1.11-memset.patch
Patch19: cdrkit-1.1.11-ppc64le_elfheader.patch
Patch20: cdrkit-1.1.11-werror_gcc5.patch
Patch21: cdrkit-1.1.11-devname.patch
Patch22: cdrkit-1.1.11-sysmacros.patch
Patch23: 0001-fix-file-name-buffer-overflow-in-isoinfo.patch
BuildRequires: cmake libcap-devel zlib-devel perl-interpreter perl-generators file-devel bzip2-devel
%description
cdrkit is a collection of CD/DVD utilities.
%package -n wodim
Summary: A command line CD/DVD recording program
Group: Applications/Archiving
Obsoletes: dvdrecord <= 0:0.1.5
Provides: dvdrecord = 0:0.1.5.1
Obsoletes: cdrecord < 9:2.01-12
Provides: cdrecord = 9:2.01-12
Requires: libusal = %{version}-%{release}
Requires(preun): %{_sbindir}/alternatives coreutils
Requires(post): %{_sbindir}/alternatives coreutils
%description -n wodim
Wodim is an application for creating audio and data CDs. Wodim
works with many different brands of CD recorders, fully supports
multi-sessions and provides human-readable error messages.
%package -n genisoimage
Summary: Creates an image of an ISO9660 file-system
Group: Applications/System
Obsoletes: mkisofs < 9:2.01-12
Provides: mkisofs = 9:2.01-12
Requires: libusal = %{version}-%{release}
Requires(preun): %{_sbindir}/alternatives coreutils
Requires(post): %{_sbindir}/alternatives coreutils
%description -n genisoimage
The genisoimage program is used as a pre-mastering program; i.e., it
generates the ISO9660 file-system. Genisoimage takes a snapshot of
a given directory tree and generates a binary image of the tree
which will correspond to an ISO9660 file-system when written to
a block device. Genisoimage is used for writing CD-ROMs, and includes
support for creating boot-able El Torito CD-ROMs.
Install the genisoimage package if you need a program for writing
CD-ROMs.
%package -n dirsplit
Summary: Utility to split directories
Group: Applications/System
Requires: perl-interpreter >= 4:5.8.1
Requires: genisoimage = %{version}-%{release}
%description -n dirsplit
This utility is used to split directories into chunks before burning.
Chunk size is usually set to fit to a CD/DVD.
%package -n icedax
Group: Applications/Multimedia
Summary: A utility for sampling/copying .wav files from digital audio CDs
Obsoletes: cdda2wav < 9:2.01-12
Provides: cdda2wav = 9:2.01-12
Requires: libusal = %{version}-%{release}
Requires(preun): %{_sbindir}/alternatives chkconfig coreutils
Requires(post): %{_sbindir}/alternatives chkconfig coreutils
Requires: vorbis-tools
Requires: cdparanoia
BuildRequires: cdparanoia-devel
%description -n icedax
Icedax is a sampling utility for CD-ROM drives that are capable of
providing a CD's audio data in digital form to your host. Audio data
read from the CD can be saved as .wav or .sun format sound files.
Recording formats include stereo/mono, 8/12/16 bits and different
rates. Icedax can also be used as a CD player.
%package -n libusal
Summary: Library to communicate with SCSI devices
Group: Development/Libraries
%description -n libusal
The libusal package contains C libraries that allows applications
to communicate with SCSI devices and is well suitable for writing
CD-R media.
%package -n libusal-devel
Summary: Development files for libusal
Group: Development/Libraries
Requires: libusal = %{version}-%{release}
%description -n libusal-devel
The libusal-devel package contains C libraries and header files
for developing applications that use libusal for communication with
SCSI devices.
%prep
%setup -q
%patch1 -p1 -b .werror
%patch2 -p1 -b .efi
%patch4 -p1 -b .no_mp3
%patch5 -p1 -b .buffer_overflow
%patch6 -p1 -b .build-fix
%patch7 -p1 -b .manpagefix
%patch8 -p1 -b .rootstat
%patch9 -p1 -b .usalinst
%patch10 -p1 -b .readsegfault
%patch11 -p1 -b .format
%patch12 -p1 -b .handler
%patch13 -p1 -b .dvdman
%patch14 -p1 -b .paranoiacdda
# not using -b since otherwise backup files would be included into rpm
%patch15 -p1
%patch16 -p1 -b .cmakewarn
%patch17 -p1 -b .edcspeed
%patch19 -p1 -b .elfheader
%patch20 -p1 -b .werror_gcc5
%patch21 -p1 -b .devname
%patch22 -p1 -b .sysmacros
%patch23 -p1 -b .namesize
# we do not want bundled paranoia library
rm -rf libparanoia
find . -type f -print0 | xargs -0 perl -pi -e 's#/usr/local/bin/perl#/usr/bin/perl#g'
find doc -type f -print0 | xargs -0 chmod a-x
%build
mkdir fedora
cd fedora
export CFLAGS="$RPM_OPT_FLAGS -Wno-error=format-security -fno-strict-aliasing"
export CXXFLAGS="$CFLAGS"
export FFLAGS="$CFLAGS"
%cmake CMAKE_VERBOSE=1 \
-DCMAKE_INSTALL_PREFIX:PATH=%{_prefix} \
-DBUILD_SHARED_LIBS:BOOL=ON \
..
make VERBOSE=1 %{?_smp_mflags}
%install
cd fedora
make install DESTDIR=$RPM_BUILD_ROOT
perl -pi -e 's#^require v5.8.1;##g' $RPM_BUILD_ROOT%{_bindir}/dirsplit
ln -s genisoimage $RPM_BUILD_ROOT%{_bindir}/mkisofs
ln -s genisoimage $RPM_BUILD_ROOT%{_bindir}/mkhybrid
ln -s icedax $RPM_BUILD_ROOT%{_bindir}/cdda2wav
ln -s wodim $RPM_BUILD_ROOT%{_bindir}/cdrecord
ln -s wodim $RPM_BUILD_ROOT%{_bindir}/dvdrecord
#do not include empty fedora/* directories in debuginfo package
cd ..
rm -rf fedora
# missing man page. Do symlink like in debian
ln -sf wodim.1.gz $RPM_BUILD_ROOT/%{_mandir}/man1/netscsid.1.gz
# we don't need cdda2mp3 since we don't have any mp3 {en,de}coder
rm $RPM_BUILD_ROOT%{_bindir}/cdda2mp3
%post -n wodim
link=`readlink %{_bindir}/cdrecord`
if [ "$link" == "%{_bindir}/wodim" ]; then
rm -f %{_bindir}/cdrecord
fi
link=`readlink %{_bindir}/dvdrecord`
if [ "$link" == "wodim" ]; then
rm -f %{_bindir}/dvdrecord
fi
%{_sbindir}/alternatives --install %{_bindir}/cdrecord cdrecord \
%{_bindir}/wodim 50 \
--slave %{_mandir}/man1/cdrecord.1.gz cdrecord-cdrecordman \
%{_mandir}/man1/wodim.1.gz \
--slave %{_bindir}/dvdrecord cdrecord-dvdrecord %{_bindir}/wodim \
--slave %{_mandir}/man1/dvdrecord.1.gz cdrecord-dvdrecordman \
%{_mandir}/man1/wodim.1.gz \
--slave %{_bindir}/readcd cdrecord-readcd %{_bindir}/readom \
--slave %{_mandir}/man1/readcd.1.gz cdrecord-readcdman \
%{_mandir}/man1/readom.1.gz
%preun -n wodim
if [ $1 = 0 ]; then
%{_sbindir}/alternatives --remove cdrecord %{_bindir}/wodim
fi
%post -n genisoimage
link=`readlink %{_bindir}/mkisofs`
if [ "$link" == "genisoimage" ]; then
rm -f %{_bindir}/mkisofs
fi
%{_sbindir}/alternatives --install %{_bindir}/mkisofs mkisofs \
%{_bindir}/genisoimage 50 \
--slave %{_mandir}/man1/mkisofs.1.gz mkisofs-mkisofsman \
%{_mandir}/man1/genisoimage.1.gz \
--slave %{_bindir}/mkhybrid mkisofs-mkhybrid %{_bindir}/genisoimage \
--slave %{_mandir}/man1/mkhybrid.1.gz mkisofs-mkhybridman \
%{_mandir}/man1/genisoimage.1.gz
%preun -n genisoimage
if [ $1 = 0 ]; then
%{_sbindir}/alternatives --remove mkisofs %{_bindir}/genisoimage
fi
%post -n icedax
link=`readlink %{_bindir}/cdda2wav`
if [ "$link" == "icedax" ]; then
rm -f %{_bindir}/cdda2wav
fi
%{_sbindir}/alternatives --install %{_bindir}/cdda2wav cdda2wav \
%{_bindir}/icedax 50 \
--slave %{_mandir}/man1/cdda2wav.1.gz cdda2wav-cdda2wavman \
%{_mandir}/man1/icedax.1.gz
%preun -n icedax
if [ $1 = 0 ]; then
%{_sbindir}/alternatives --remove cdda2wav %{_bindir}/icedax
fi
%post -n libusal -p /sbin/ldconfig
%postun -n libusal -p /sbin/ldconfig
%files -n wodim
%doc Changelog COPYING FAQ FORK START
%doc doc/READMEs doc/wodim
%{_bindir}/devdump
%{_bindir}/wodim
%ghost %{_bindir}/cdrecord
%ghost %{_bindir}/dvdrecord
%{_bindir}/readom
%{_sbindir}/netscsid
%{_mandir}/man1/devdump.*
%{_mandir}/man1/wodim.*
%{_mandir}/man1/netscsid.*
%{_mandir}/man1/readom.*
%files -n icedax
%doc doc/icedax COPYING
%{_bindir}/icedax
%ghost %{_bindir}/cdda2wav
%{_bindir}/cdda2ogg
%{_mandir}/man1/icedax.*
%{_mandir}/man1/cdda2ogg.*
%{_mandir}/man1/list_audio_tracks.*
%files -n genisoimage
%doc doc/genisoimage COPYING
%{_bindir}/genisoimage
%ghost %{_bindir}/mkisofs
%ghost %{_bindir}/mkhybrid
%{_bindir}/isodebug
%{_bindir}/isodump
%{_bindir}/isoinfo
%{_bindir}/isovfy
%{_bindir}/pitchplay
%{_bindir}/readmult
%{_mandir}/man5/genisoimagerc.*
%{_mandir}/man1/genisoimage.*
%{_mandir}/man1/isodebug.*
%{_mandir}/man1/isodump.*
%{_mandir}/man1/isoinfo.*
%{_mandir}/man1/isovfy.*
%{_mandir}/man1/pitchplay.*
%{_mandir}/man1/readmult.*
%files -n dirsplit
%{_bindir}/dirsplit
%{_mandir}/man1/dirsplit.*
%files -n libusal
%doc doc/plattforms/README.linux Changelog COPYING FAQ FORK START
%{_libdir}/libusal.so.*
%{_libdir}/librols.so.*
%files -n libusal-devel
%doc COPYING
%{_libdir}/libusal.so
%{_libdir}/librols.so
%{_includedir}/usal
%changelog
* Thu Aug 02 2018 Jakub Martisko <jamartis@redhat.com> - 1.1.11-39
- Fix buffer overflow erro in isoinfo caused by long names
- Resolves: 1533004
* Wed Feb 07 2018 Fedora Release Engineering <releng@fedoraproject.org> - 1.1.11-38
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
* Wed Aug 02 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1.1.11-37
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
* Wed Jul 26 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1.1.11-36
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
* Thu Jul 13 2017 Petr Pisar <ppisar@redhat.com> - 1.1.11-35
- perl dependency renamed to perl-interpreter
<https://fedoraproject.org/wiki/Changes/perl_Package_to_Install_Core_Modules>
* Wed Feb 22 2017 Frantisek Kluknavsky <fkluknav@redhat.com> - 1.1.11-34
- FTBFS with gcc7, removed -Werror (no upstream to fix problems anyway)
* Fri Feb 10 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1.1.11-33
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
* Wed Jan 04 2017 Frantisek Kluknavsky <fkluknav@redhat.com> - 1.1.11-32
- FTBFS: <sys/sysmacros.h> included where "major" and "minor" macros are in use
(cdrkit-1.1.11-sysmacros.patch added)
- https://bugzilla.redhat.com/show_bug.cgi?id=1263599 - man page clarified
(cdrkit-1.1.11-manpagefix.patch modified)
* Tue Feb 16 2016 Frantisek Kluknavsky <fkluknav@redhat.com> - 1.1.11-31
- FTBFS: added -Wno-error=misleading-indentation
* Wed Feb 03 2016 Fedora Release Engineering <releng@fedoraproject.org> - 1.1.11-30
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
* Wed Jun 17 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.1.11-29
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
* Fri May 29 2015 Frantisek Kluknavsky <fkluknav@redhat.com> - 1.1.11-28
- libusal: added /dev/srN next to /dev/scdN path when scanning for devices
added cdrkit-1.1.11-devname.patch
bz#1053056
* Wed Feb 25 2015 Frantisek Kluknavsky <fkluknav@redhat.com> - 1.1.11-27
- fixed FTBFS with gcc5, added cdrkit-1.1.11-werror_gcc5.patch
* Fri Nov 07 2014 Frantisek Kluknavsky <fkluknav@redhat.com> - 1.1.11-26
- reverted back to cdda-paranoia, cdio has now incompatible GPLv3+ license
* Wed Nov 05 2014 Dan Horák <dan[at]danny.cz> - 1.1.11-25
- fix build on ppc* (#1144072)
* Fri Aug 15 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.1.11-24
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild
* Sat Jun 07 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.1.11-23
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
* Sat Aug 03 2013 Petr Pisar <ppisar@redhat.com> - 1.1.11-22
- Perl 5.18 rebuild
* Sat Aug 03 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.1.11-21
- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
* Tue Jul 23 2013 Frantisek Kluknavsky <fkluknav@redhat.com> - 1.1.11-20
- do not include empty fedora/* directories in debuginfo package
* Wed Jul 17 2013 Petr Pisar <ppisar@redhat.com> - 1.1.11-19
- Perl 5.18 rebuild
* Wed Jul 17 2013 Frantisek Kluknavsky <fkluknav@redhat.com> - 1.1.11-18
- ported from cdda-paranoia to libcdio-paranoia, modified paranoia-cdda.patch
- fixed bogus date in changelog
* Mon Feb 25 2013 Frantisek Kluknavsky <fkluknav@redhat.com> - 1.1.11-17
- modified the memset patch, memsetting the whole array
* Fri Feb 22 2013 Frantisek Kluknavsky <fkluknav@redhat.com> - 1.1.11-16
- changed or deleted faulty and unneeded memset's that caused build failure with gcc-4.8 -Werror
* Wed Feb 13 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.1.11-15
- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild
* Wed Oct 03 2012 Honza Horak <hhorak@redhat.com> - 1.1.11-14
- Add coreutils as preun/post requirements for wodim and genisoimage
Resolves: #862554
* Mon Aug 27 2012 Honza Horak <hhorak@redhat.com> - 1.1.11-13
- Add mkhybrid(1) as a symlink to genisoimage(1)
- Spec file cleanup
* Mon Jul 30 2012 Honza Horak <hhorak@redhat.com> - 1.1.11-12
- Use system cdparanoia instead of old bundled version
- Build libusal as a shared library
- Messages from rpmlint clean-up
* Wed Jul 18 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.1.11-11
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
* Thu Jan 12 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.1.11-10
- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild
* Wed Dec 07 2011 Honza Horak <hhorak@redhat.com> - 1.1.11-9
- Fix driver specification in man pages
(Resolves: #711623)
* Thu Jun 02 2011 Honza Horak <hhorak@redhat.com> - 1.1.11-8
- Fix segmentation fault when icedax exits while sleeping after ctrl-c
(Resolves: #709902)
* Tue May 17 2011 Honza Horak <hhorak@redhat.com> - 1.1.11-7
- Fix automatic formatting of DVD+RW if needed
(Resolves: #519465)
* Thu Mar 17 2011 Honza Horak <hhorak@redhat.com> - 1.1.11-6
- Added Provides: libusal-static for libusal-devel subpackage
(Resolves: #688347)
* Mon Mar 07 2011 Honza Horak <hhorak@redhat.com> - 1.1.11-5
- Fix segmentation fault in readom
(Resolves: #682591)
* Thu Feb 17 2011 Honza Horak <hhorak@redhat.com> - 1.1.11-4
- Library libusal is installed in order to be used by other apps
(Resolves: #588508)
https://bugzilla.redhat.com/show_bug.cgi?id=588508
* Tue Feb 08 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.1.11-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild
* Mon Jan 31 2011 Honza Horak <hhorak@redhat.com> 1.1.11-2
- fixed man page missing arguments (Resolves: #647024)
https://bugzilla.redhat.com/show_bug.cgi?id=647024
- fixed erroneous "Unknown file type (unallocated)" warning
(Resolves: #174667)
https://bugzilla.redhat.com/show_bug.cgi?id=174667
* Mon Oct 18 2010 Nikola Pajkovsky <npajkovs@redhat.com> 1.1.11-1
- new upstream version 1.1.11
* Mon Jun 21 2010 Roman Rakus <rrakus@redhat.com> - 1.1.10-2
- Added missing manpage for netscsid (symlink to wodim manpage)
* Wed Jan 20 2010 Nikola Pajkovsky <npajkovs@redhat.com> - 1.1.10-1
- new upstream version 1.1.10
* Tue Aug 11 2009 Nikola Pajkovsky <npajkovs@redhat.com> 1.1.9-10
- fix #508449. fix string overflow breakage when using the -root
* Fri Jul 24 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.1.9-9
- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild
* Thu Jul 16 2009 Nikola Pajkovsky <npajkovs@redhat.com> 1.1.9-8
- fix buffer overflow
* Fri Jul 10 2009 Adam Jackson <ajax@redhat.com> 1.1.9-7
- Move dirsplit to a subpackage to isolate the perl dependency.
* Mon Jun 15 2009 Roman Rakus <rrakus@redhat.com> - 1.1.9-6
- rename functions as they conflict with glibc
- Don't push cdda2mp3 because we don't have any mp3 coder
Resolves: #505918
* Tue Jun 02 2009 Roman Rakus <rrakus@redhat.com> - 1.1.9-5
- Added Requires vorbis-tools in icedax (rhbz #503699)
* Wed Feb 25 2009 Peter Jones <pjones@redhat.com> - 1.1.9-4
- Add support for EFI boot images.
* Mon Feb 23 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.1.9-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild
* Thu Feb 12 2009 Roman Rakus <rrakus@redhat.com> - 1.1.9-2
- Use -fno-strict-aliasing to prevent strict_aliasing warnings/errors
* Mon Oct 27 2008 Roman Rakus <rrakus@redhat.com> - 1.1.9-1
- Bump to version 1.1.9
* Tue May 27 2008 Roman Rakus <rrakus@redhat.com> - 1.1.8-1
- Version 1.1.8 - old patches included
- added bzip2-devel to build requirements
- fixed #171510 - preserve directory permissions
* Wed Feb 27 2008 Harald Hoyer <harald@redhat.com> 1.1.6-11
- refined -Werror patch
* Mon Feb 25 2008 Harald Hoyer <harald@redhat.com> 1.1.6-10
- patched to compile with -Werror (rhbz#429385)
* Thu Feb 21 2008 Harald Hoyer <harald@redhat.com> 1.1.6-9
- fixed loop on error message for old dev syntax (rhbz#429386)
* Thu Feb 21 2008 Harald Hoyer <harald@redhat.com> 1.1.6-8
- added file-devel to build requirements
* Mon Feb 18 2008 Fedora Release Engineering <rel-eng@fedoraproject.org> - 1.1.6-7
- Autorebuild for GCC 4.3
* Tue Sep 25 2007 Harald Hoyer <harald@redhat.com> - 1.1.6-6
- fixed readcd man page symlink
* Fri Sep 21 2007 Harald Hoyer <harald@redhat.com> - 1.1.6-5
- fixed rhbz#255001 - icedax --devices segfaults
- fixed rhbz#249357 - Typo in wodim output
* Fri Sep 21 2007 Harald Hoyer <harald@redhat.com> - 1.1.6-4
- play stupid tricks, to let alternatives make the links and
rpm not removing them afterwards
- removed bogus warning for "." and ".."
* Thu Sep 20 2007 Harald Hoyer <harald@redhat.com> - 1.1.6-3
- fixed rhbz#248262
- switched to alternatives
* Fri Aug 17 2007 Harald Hoyer <harald@redhat.com> - 1.1.6-2
- changed license to GPLv2
* Wed Jun 20 2007 Harald Hoyer <harald@redhat.com> - 1.1.6-1
- version 1.1.6
- added readcd symlink
* Mon Apr 23 2007 Harald Hoyer <harald@redhat.com> - 1.1.2-4
- bump obsoletes/provides
* Tue Feb 27 2007 Harald Hoyer <harald@redhat.com> - 1.1.2-3
- applied specfile changes as in bug #224365
* Wed Jan 24 2007 Harald Hoyer <harald@redhat.com> - 1.1.2-1
- version 1.1.2