tuibuilder_pel7x64builder0
5 years ago
8 changed files with 841 additions and 0 deletions
@ -0,0 +1,24 @@
@@ -0,0 +1,24 @@
|
||||
From f6f9c48fb40b8a1e8218799724b0b61a7161eb1d Mon Sep 17 00:00:00 2001 |
||||
From: "R. Bernstein" <rocky@gnu.org> |
||||
Date: Fri, 22 Dec 2017 16:06:57 -0500 |
||||
Subject: [PATCH] Fix double free courtesy of Chris Clayton |
||||
|
||||
--- |
||||
lib/driver/_cdio_generic.c | 1 - |
||||
1 file changed, 1 deletion(-) |
||||
|
||||
diff --git a/lib/driver/_cdio_generic.c b/lib/driver/_cdio_generic.c |
||||
index d40ac0d9..ae820d25 100644 |
||||
--- a/lib/driver/_cdio_generic.c |
||||
+++ b/lib/driver/_cdio_generic.c |
||||
@@ -296,7 +296,6 @@ get_cdtext_generic (void *p_user_data) |
||||
|
||||
if(len <= 0 || 0 != cdtext_data_init (p_env->cdtext, &p_cdtext_data[4], len)) { |
||||
p_env->b_cdtext_error = true; |
||||
- cdtext_destroy (p_env->cdtext); |
||||
free(p_env->cdtext); |
||||
p_env->cdtext = NULL; |
||||
} |
||||
-- |
||||
2.14.3 |
||||
|
@ -0,0 +1,26 @@
@@ -0,0 +1,26 @@
|
||||
From dec2f876c2d7162da213429bce1a7140cdbdd734 Mon Sep 17 00:00:00 2001 |
||||
From: "R. Bernstein" <rocky@gnu.org> |
||||
Date: Sat, 23 Dec 2017 12:19:29 -0500 |
||||
Subject: [PATCH] Removed wrong line |
||||
|
||||
--- |
||||
configure.ac | 2 +- |
||||
lib/driver/_cdio_generic.c | 2 +- |
||||
2 files changed, 2 insertions(+), 2 deletions(-) |
||||
|
||||
diff --git a/lib/driver/_cdio_generic.c b/lib/driver/_cdio_generic.c |
||||
index ae820d25..4a7fcadf 100644 |
||||
--- a/lib/driver/_cdio_generic.c |
||||
+++ b/lib/driver/_cdio_generic.c |
||||
@@ -296,7 +296,7 @@ get_cdtext_generic (void *p_user_data) |
||||
|
||||
if(len <= 0 || 0 != cdtext_data_init (p_env->cdtext, &p_cdtext_data[4], len)) { |
||||
p_env->b_cdtext_error = true; |
||||
- free(p_env->cdtext); |
||||
+ cdtext_destroy (p_env->cdtext); |
||||
p_env->cdtext = NULL; |
||||
} |
||||
|
||||
-- |
||||
2.14.3 |
||||
|
@ -0,0 +1,116 @@
@@ -0,0 +1,116 @@
|
||||
--- ./libcdio-0.92/lib/iso9660/iso9660_fs.c 2018-06-06 11:52:23.464809984 +0200 |
||||
+++ ../libcdio-fedora/libcdio-0.94/lib/iso9660/iso9660_fs.c 2018-06-05 18:18:31.235215219 +0200 |
||||
@@ -714,6 +714,7 @@ |
||||
iso711_t i_fname; |
||||
unsigned int stat_len; |
||||
iso9660_stat_t *p_stat; |
||||
+ bool err; |
||||
|
||||
if (!dir_len) return NULL; |
||||
|
||||
@@ -730,8 +731,16 @@ |
||||
} |
||||
p_stat->type = (p_iso9660_dir->file_flags & ISO_DIRECTORY) |
||||
? _STAT_DIR : _STAT_FILE; |
||||
- p_stat->lsn = from_733 (p_iso9660_dir->extent); |
||||
- p_stat->size = from_733 (p_iso9660_dir->size); |
||||
+ p_stat->lsn = from_733_with_err (p_iso9660_dir->extent, &err); |
||||
+ if (err) { |
||||
+ free(p_stat); |
||||
+ return NULL; |
||||
+ } |
||||
+ p_stat->size = from_733_with_err (p_iso9660_dir->size, &err); |
||||
+ if (err) { |
||||
+ free(p_stat); |
||||
+ return NULL; |
||||
+ } |
||||
p_stat->secsize = _cdio_len2blocks (p_stat->size, ISO_BLOCKSIZE); |
||||
p_stat->rr.b3_rock = dunno; /*FIXME should do based on mask */ |
||||
p_stat->b_xa = false; |
||||
@@ -754,6 +763,7 @@ |
||||
if (!p_stat_new) |
||||
{ |
||||
cdio_warn("Couldn't calloc(1, %d)", (int)(sizeof(iso9660_stat_t)+i_rr_fname+2)); |
||||
+ free(p_stat); |
||||
return NULL; |
||||
} |
||||
memcpy(p_stat_new, p_stat, stat_len); |
||||
@@ -1098,6 +1108,12 @@ |
||||
p_stat = _iso9660_dir_to_statbuf (p_iso9660_dir, p_iso->b_xa, |
||||
p_iso->u_joliet_level); |
||||
|
||||
+ if (!p_stat) { |
||||
+ cdio_warn("Bad directory information for %s", splitpath[0]); |
||||
+ free(_dirbuf); |
||||
+ return NULL; |
||||
+ } |
||||
+ |
||||
cmp = strcmp(splitpath[0], p_stat->filename); |
||||
|
||||
if ( 0 != cmp && 0 == p_iso->u_joliet_level |
||||
@@ -1283,12 +1299,15 @@ |
||||
if (!_dirbuf) |
||||
{ |
||||
cdio_warn("Couldn't calloc(1, %d)", p_stat->secsize * ISO_BLOCKSIZE); |
||||
+ _cdio_list_free (retval, true); |
||||
return NULL; |
||||
} |
||||
|
||||
if (cdio_read_data_sectors (p_cdio, _dirbuf, p_stat->lsn, |
||||
- ISO_BLOCKSIZE, p_stat->secsize)) |
||||
- return NULL; |
||||
+ ISO_BLOCKSIZE, p_stat->secsize)) { |
||||
+ _cdio_list_free (retval, true); |
||||
+ return NULL; |
||||
+ } |
||||
|
||||
while (offset < (p_stat->secsize * ISO_BLOCKSIZE)) |
||||
{ |
||||
@@ -1401,14 +1417,14 @@ |
||||
} |
||||
|
||||
free (_dirbuf); |
||||
+ free(p_stat->rr.psz_symlink); |
||||
|
||||
- if (offset != (p_stat->secsize * ISO_BLOCKSIZE)) { |
||||
- free (p_stat); |
||||
+ if (offset != (p_stat->secsize * ISO_BLOCKSIZE)) { |
||||
+ free (p_stat); |
||||
_cdio_list_free (retval, true); |
||||
return NULL; |
||||
} |
||||
|
||||
- free (p_stat->rr.psz_symlink); |
||||
free (p_stat); |
||||
return retval; |
||||
} |
||||
@@ -1528,6 +1563,16 @@ |
||||
} |
||||
|
||||
/*! |
||||
+ Free the passed iso9660_stat_t structure. |
||||
+ */ |
||||
+void |
||||
+iso9660_stat_free(iso9660_stat_t *p_stat) |
||||
+{ |
||||
+ if (p_stat != NULL) |
||||
+ free(p_stat); |
||||
+} |
||||
+ |
||||
+/*! |
||||
Return true if ISO 9660 image has extended attrributes (XA). |
||||
*/ |
||||
bool |
||||
@@ -1580,11 +1625,11 @@ |
||||
if ( have_rr != yep) { |
||||
have_rr = iso_have_rr_traverse (p_iso, p_stat, &splitpath[1], pu_file_limit); |
||||
} |
||||
+ free(p_stat); |
||||
if (have_rr != nope) { |
||||
free (_dirbuf); |
||||
return have_rr; |
||||
} |
||||
- free(p_stat); |
||||
|
||||
offset += iso9660_get_dir_len(p_iso9660_dir); |
||||
*pu_file_limit = (*pu_file_limit)-1; |
@ -0,0 +1,286 @@
@@ -0,0 +1,286 @@
|
||||
From e73a8bb23a4405b32cc7708771833f6c4e6b2426 Mon Sep 17 00:00:00 2001 |
||||
From: "R. Bernstein" <rocky@gnu.org> |
||||
Date: Tue, 26 Sep 2017 16:29:15 -0400 |
||||
Subject: [PATCH] handle bad iso 9660 better. Fixes bug #52091 |
||||
|
||||
src/iso-info.c: reflect errors in getting information back in exit code |
||||
lib/iso9660_fs.c: bail when we there is bad stat info for a directory |
||||
change interface to report failure |
||||
src/util.h: bump copyright |
||||
test/data/bad-dir.iso: bad ISO 9660 |
||||
test/check_bad_iso.sh: test program |
||||
test/check_iso.sh.in: expect nonzero RC on failures |
||||
--- |
||||
lib/iso9660/iso9660_fs.c | 6 +++++- |
||||
src/iso-info.c | 27 +++++++++++++++++---------- |
||||
src/util.c | 4 ++-- |
||||
test/Makefile.am | 3 ++- |
||||
test/check_bad_iso.sh | 46 ++++++++++++++++++++++++++++++++++++++++++++++ |
||||
test/check_iso.sh.in | 19 ++++++++++++------- |
||||
test/data/Makefile.am | 1 + |
||||
test/data/bad-dir.iso | Bin 0 -> 49152 bytes |
||||
8 files changed, 85 insertions(+), 21 deletions(-) |
||||
create mode 100755 test/check_bad_iso.sh |
||||
create mode 100644 test/data/bad-dir.iso |
||||
|
||||
diff --git a/lib/iso9660/iso9660_fs.c b/lib/iso9660/iso9660_fs.c |
||||
index 8758a234..d3fb4069 100644 |
||||
--- a/lib/iso9660/iso9660_fs.c |
||||
+++ b/lib/iso9660/iso9660_fs.c |
||||
@@ -1,5 +1,5 @@ |
||||
/* |
||||
- Copyright (C) 2003-2008, 2011-2013 Rocky Bernstein <rocky@gnu.org> |
||||
+ Copyright (C) 2003-2008, 2011-2015, 2017 Rocky Bernstein <rocky@gnu.org> |
||||
Copyright (C) 2001 Herbert Valerio Riedel <hvr@gnu.org> |
||||
|
||||
This program is free software: you can redistribute it and/or modify |
||||
@@ -1394,6 +1394,10 @@ iso9660_ifs_readdir (iso9660_t *p_iso, const char psz_path[]) |
||||
|
||||
if (p_iso9660_stat) |
||||
_cdio_list_append (retval, p_iso9660_stat); |
||||
+ else { |
||||
+ cdio_warn("Invalid directory stat at offset %lu", (unsigned long)offset); |
||||
+ break; |
||||
+ } |
||||
|
||||
offset += iso9660_get_dir_len(p_iso9660_dir); |
||||
} |
||||
diff --git a/src/iso-info.c b/src/iso-info.c |
||||
index 212ab335..b8a360e0 100644 |
||||
--- a/src/iso-info.c |
||||
+++ b/src/iso-info.c |
||||
@@ -1,5 +1,6 @@ |
||||
/* |
||||
- Copyright (C) 2004-2006, 2008, 2012-2013 Rocky Bernstein <rocky@gnu.org> |
||||
+ Copyright (C) 2004-2006, 2008, 2012-2014, 2017 Rocky Bernstein |
||||
+ <rocky@gnu.org> |
||||
|
||||
This program is free software: you can redistribute it and/or modify |
||||
it under the terms of the GNU General Public License as published by |
||||
@@ -212,7 +213,7 @@ _log_handler (cdio_log_level_t level, const char message[]) |
||||
gl_default_cdio_log_handler (level, message); |
||||
} |
||||
|
||||
-static void |
||||
+static int |
||||
print_iso9660_recurse (iso9660_t *p_iso, const char psz_path[]) |
||||
{ |
||||
CdioList_t *entlist; |
||||
@@ -222,6 +223,7 @@ print_iso9660_recurse (iso9660_t *p_iso, const char psz_path[]) |
||||
char *translated_name = (char *) malloc(4096); |
||||
size_t translated_name_size = 4096; |
||||
entlist = iso9660_ifs_readdir (p_iso, psz_path); |
||||
+ int rc = 0; |
||||
|
||||
if (opts.print_iso9660) { |
||||
printf ("%s:\n", psz_path); |
||||
@@ -231,7 +233,7 @@ print_iso9660_recurse (iso9660_t *p_iso, const char psz_path[]) |
||||
free(translated_name); |
||||
free(dirlist); |
||||
report( stderr, "Error getting above directory information\n" ); |
||||
- return; |
||||
+ return 1; |
||||
} |
||||
|
||||
/* Iterate over files in this directory */ |
||||
@@ -241,13 +243,16 @@ print_iso9660_recurse (iso9660_t *p_iso, const char psz_path[]) |
||||
iso9660_stat_t *p_statbuf = _cdio_list_node_data (entnode); |
||||
char *psz_iso_name = p_statbuf->filename; |
||||
char _fullname[4096] = { 0, }; |
||||
- if (strlen(psz_iso_name) >= translated_name_size) { |
||||
+ if (strlen(psz_iso_name) == 0) |
||||
+ continue; |
||||
+ |
||||
+ if (strlen(psz_iso_name) >= translated_name_size) { |
||||
translated_name_size = strlen(psz_iso_name)+1; |
||||
free(translated_name); |
||||
translated_name = (char *) malloc(translated_name_size); |
||||
if (!translated_name) { |
||||
report( stderr, "Error allocating memory\n" ); |
||||
- return; |
||||
+ return 2; |
||||
} |
||||
} |
||||
|
||||
@@ -297,16 +302,17 @@ print_iso9660_recurse (iso9660_t *p_iso, const char psz_path[]) |
||||
{ |
||||
char *_fullname = _cdio_list_node_data (entnode); |
||||
|
||||
- print_iso9660_recurse (p_iso, _fullname); |
||||
+ rc += print_iso9660_recurse (p_iso, _fullname); |
||||
} |
||||
|
||||
_cdio_list_free (dirlist, true); |
||||
+ return rc; |
||||
} |
||||
|
||||
-static void |
||||
+static int |
||||
print_iso9660_fs (iso9660_t *iso) |
||||
{ |
||||
- print_iso9660_recurse (iso, "/"); |
||||
+ return print_iso9660_recurse (iso, "/"); |
||||
} |
||||
|
||||
static void |
||||
@@ -429,6 +435,7 @@ main(int argc, char *argv[]) |
||||
|
||||
iso9660_t *p_iso=NULL; |
||||
iso_extension_mask_t iso_extension_mask = ISO_EXTENSION_ALL; |
||||
+ int rc = EXIT_SUCCESS; |
||||
|
||||
init(); |
||||
|
||||
@@ -498,7 +505,7 @@ main(int argc, char *argv[]) |
||||
printf("Note: both -f and -l options given -- " |
||||
"-l (long listing) takes precidence\n"); |
||||
} |
||||
- print_iso9660_fs(p_iso); |
||||
+ rc = print_iso9660_fs(p_iso); |
||||
} else if (opts.print_udf) { |
||||
print_udf_fs(); |
||||
} |
||||
@@ -508,5 +515,5 @@ main(int argc, char *argv[]) |
||||
iso9660_close(p_iso); |
||||
/* Not reached:*/ |
||||
free(program_name); |
||||
- return(EXIT_SUCCESS); |
||||
+ return(rc); |
||||
} |
||||
diff --git a/src/util.c b/src/util.c |
||||
index 4062ee2a..ad44a97c 100644 |
||||
--- a/src/util.c |
||||
+++ b/src/util.c |
||||
@@ -1,5 +1,5 @@ |
||||
/* |
||||
- Copyright (C) 2003-2010, 2012-2013 Rocky Bernstein <rocky@gnu.org> |
||||
+ Copyright (C) 2003-2010, 2012-2014, 2017 Rocky Bernstein <rocky@gnu.org> |
||||
|
||||
This program is free software: you can redistribute it and/or modify |
||||
it under the terms of the GNU General Public License as published by |
||||
@@ -56,7 +56,7 @@ print_version (char *program_name, const char *version, |
||||
if (no_header == 0) { |
||||
report( stdout, |
||||
"%s version %s\n" |
||||
- "Copyright (c) 2003-2005, 2007-2008, 2011-2013 " |
||||
+ "Copyright (c) 2003-2005, 2007-2008, 2011-2015, 2017 " |
||||
"R. Bernstein\n", |
||||
program_name, version); |
||||
report( stdout, |
||||
diff --git a/test/Makefile.am b/test/Makefile.am |
||||
index a2c57de2..cd370745 100644 |
||||
--- a/test/Makefile.am |
||||
+++ b/test/Makefile.am |
||||
@@ -47,7 +47,8 @@ test_lib_driver_util_CFLAGS = -DDATA_DIR=\"$(DATA_DIR)\" |
||||
testpregap_CFLAGS = -DDATA_DIR=\"$(DATA_DIR)\" |
||||
|
||||
check_SCRIPTS = check_nrg.sh check_cue.sh check_cd_read.sh check_udf.sh \ |
||||
- check_iso.sh check_fuzzyiso.sh check_opts.sh \ |
||||
+ check_iso.sh check_bad_iso.sh \ |
||||
+ check_fuzzyiso.sh check_opts.sh \ |
||||
check_iso_read.sh |
||||
|
||||
check_udf.sh: @abs_top_builddir@/example/extract$(EXEEXT) |
||||
diff --git a/test/check_bad_iso.sh b/test/check_bad_iso.sh |
||||
new file mode 100755 |
||||
index 00000000..1ca3b6ca |
||||
--- /dev/null |
||||
+++ b/test/check_bad_iso.sh |
||||
@@ -0,0 +1,46 @@ |
||||
+#!/bin/sh |
||||
+ |
||||
+if test "X$abs_top_srcdir" = "X" ; then |
||||
+ abs_top_srcdir=/src/external-vcs/savannah/libcdio |
||||
+fi |
||||
+ |
||||
+if test -z $srcdir ; then |
||||
+ srcdir=$(pwd) |
||||
+fi |
||||
+ |
||||
+if test "X$top_builddir" = "X" ; then |
||||
+ top_builddir=$(pwd)/.. |
||||
+fi |
||||
+ |
||||
+. ${top_builddir}/test/check_common_fn |
||||
+ |
||||
+if test ! -x ../src/iso-info ; then |
||||
+ exit 77 |
||||
+fi |
||||
+ |
||||
+BASE=$(basename $0 .sh) |
||||
+fname=bad-dir |
||||
+ |
||||
+RC=0 |
||||
+ |
||||
+opts="--quiet ${abs_top_srcdir}/test/data/${fname}.iso" |
||||
+cmdname=iso-info |
||||
+cmd=../src/iso-info |
||||
+if ! "${cmd}" --no-header ${opts} 2>&1 ; then |
||||
+ echo "$0: unexpected failure" |
||||
+ RC=1 |
||||
+fi |
||||
+ |
||||
+opts="--quiet ${abs_top_srcdir}/test/data/${fname}.iso --iso9660" |
||||
+if "${cmd}" --no-header ${opts} 2>&1 ; then |
||||
+ ((RC+=1)) |
||||
+else |
||||
+ echo "$0: expected failure" |
||||
+fi |
||||
+ |
||||
+exit $RC |
||||
+ |
||||
+#;;; Local Variables: *** |
||||
+#;;; mode:shell-script *** |
||||
+#;;; eval: (sh-set-shell "bash") *** |
||||
+#;;; End: *** |
||||
diff --git a/test/check_iso.sh.in b/test/check_iso.sh.in |
||||
index c3e219b8..7ccf82cf 100755 |
||||
--- a/test/check_iso.sh.in |
||||
+++ b/test/check_iso.sh.in |
||||
@@ -1,11 +1,11 @@ |
||||
-#!/bin/sh |
||||
+#!@SHELL@ |
||||
|
||||
if test -z $srcdir ; then |
||||
- srcdir=`pwd` |
||||
+ srcdir=$(pwd) |
||||
fi |
||||
|
||||
if test "X$top_builddir" = "X" ; then |
||||
- top_builddir=`pwd`/.. |
||||
+ top_builddir=$(pwd)/.. |
||||
fi |
||||
|
||||
. ${top_builddir}/test/check_common_fn |
||||
@@ -14,7 +14,7 @@ if test ! -x ../src/iso-info@EXEEXT@ ; then |
||||
exit 77 |
||||
fi |
||||
|
||||
-BASE=`basename $0 .sh` |
||||
+BASE=$(basename $0 .sh) |
||||
fname=copying |
||||
|
||||
opts="--quiet ${srcdir}/data/${fname}.iso --iso9660 " |
||||
@@ -46,7 +46,7 @@ if test -n "@HAVE_ROCK@"; then |
||||
fi |
||||
|
||||
if test -n "@HAVE_JOLIET@" ; then |
||||
- BASE=`basename $0 .sh` |
||||
+ BASE=$(basename $0 .sh) |
||||
fname=joliet |
||||
opts="--quiet ${srcdir}/data/${fname}.iso --iso9660 " |
||||
test_iso_info "$opts" ${fname}-nojoliet.dump ${srcdir}/${fname}.right |
||||
|
||||
|
||||
diff --git a/test/data/Makefile.am b/test/data/Makefile.am |
||||
index 5e913cf9..1b8a5655 100644 |
||||
--- a/test/data/Makefile.am |
||||
+++ b/test/data/Makefile.am |
||||
@@ -5,6 +5,7 @@ check_DATA = \ |
||||
bad-cat2.toc \ |
||||
bad-cat3.cue \ |
||||
bad-cat3.toc \ |
||||
+ bad-dir.iso \ |
||||
bad-file.toc \ |
||||
bad-mode1.cue \ |
||||
bad-mode1.toc \ |
@ -0,0 +1,29 @@
@@ -0,0 +1,29 @@
|
||||
/* |
||||
* Kluge to support multilib installation of both 32- and 64-bit RPMS: |
||||
* we need to arrange that header files that appear in both RPMs are |
||||
* identical. Hence, this file is architecture-independent and calls |
||||
* in an arch-dependent file that will appear in just one RPM. |
||||
* |
||||
* To avoid breaking arches not explicitly supported by Red Hat, we |
||||
* use this indirection file *only* on known multilib arches. |
||||
* |
||||
* Note: this may well fail if user tries to use gcc's -I- option. |
||||
* But that option is deprecated anyway. |
||||
*/ |
||||
#if defined(__x86_64__) |
||||
#include "cdio_config_x86_64.h" |
||||
#elif defined(__i386__) |
||||
#include "cdio_config_i386.h" |
||||
#elif defined(__ppc64__) || defined(__powerpc64__) |
||||
#include "cdio_config_ppc64.h" |
||||
#elif defined(__ppc__) || defined(__powerpc__) |
||||
#include "cdio_config_ppc.h" |
||||
#elif defined(__s390x__) |
||||
#include "cdio_config_s390x.h" |
||||
#elif defined(__s390__) |
||||
#include "cdio_config_s390.h" |
||||
#elif defined(__sparc__) && defined(__arch64__) |
||||
#include "cdio_config_sparc64.h" |
||||
#elif defined(__sparc__) |
||||
#include "cdio_config_sparc.h" |
||||
#endif |
@ -0,0 +1,4 @@
@@ -0,0 +1,4 @@
|
||||
<hr size="1"><address style="text-align: right;"><small> |
||||
Generated for $projectname by <a href="http://www.doxygen.org/ |
||||
index.html"><img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> |
||||
$doxygenversion</small></address></body></html> |
@ -0,0 +1,319 @@
@@ -0,0 +1,319 @@
|
||||
Name: libcdio |
||||
Version: 0.92 |
||||
Release: 3%{?dist} |
||||
Summary: CD-ROM input and control library |
||||
Group: System Environment/Libraries |
||||
License: GPLv3+ |
||||
URL: http://www.gnu.org/software/libcdio/ |
||||
Source0: http://ftp.gnu.org/gnu/libcdio/libcdio-0.92.tar.gz |
||||
Source1: http://ftp.gnu.org/gnu/libcdio/libcdio-0.92.tar.gz.sig |
||||
Source2: libcdio-no_date_footer.hml |
||||
Source3: cdio_config.h |
||||
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) |
||||
BuildRequires: pkgconfig doxygen |
||||
BuildRequires: ncurses-devel |
||||
BuildRequires: help2man |
||||
Requires(post): /sbin/ldconfig |
||||
Requires(post): /sbin/install-info |
||||
Requires(preun): /sbin/install-info |
||||
BuildRequires: gettext-devel |
||||
BuildRequires: chrpath |
||||
|
||||
|
||||
Patch0: CVE-2017-18201.patch |
||||
#Following patches (1-4) also fix CVE-2017-18199 |
||||
Patch1: CVE-2017-18198-part1.patch |
||||
Patch2: CVE-2017-18198-part2.patch |
||||
Patch3: CVE-2017-18198-part3.patch |
||||
Patch4: CVE-2017-18198-part4.patch |
||||
|
||||
%description |
||||
This library provides an interface for CD-ROM access. It can be used |
||||
by applications that need OS- and device-independent access to CD-ROM |
||||
devices. |
||||
|
||||
%package devel |
||||
Summary: Header files and libraries for %{name} |
||||
Group: Development/Libraries |
||||
Requires: %{name} = %{version}-%{release} |
||||
|
||||
%description devel |
||||
This package contains header files and libraries for %{name}. |
||||
|
||||
|
||||
%prep |
||||
%setup -q |
||||
%patch0 -p1 |
||||
%patch1 -p1 |
||||
%patch2 -p1 |
||||
%patch3 -p3 |
||||
%patch4 -p3 |
||||
|
||||
f=src/cd-paranoia/doc/ja/cd-paranoia.1.in |
||||
iconv -f euc-jp -t utf-8 -o $f.utf8 $f && mv $f.utf8 $f |
||||
iconv -f ISO88591 -t utf-8 -o THANKS.utf8 THANKS && mv THANKS.utf8 THANKS |
||||
|
||||
%build |
||||
%configure \ |
||||
--disable-vcd-info \ |
||||
--disable-dependency-tracking \ |
||||
--disable-cddb \ |
||||
--disable-static \ |
||||
--disable-rpath |
||||
make %{?_smp_mflags} |
||||
|
||||
# another multilib fix; remove the architecture information from version.h |
||||
sed -i -e "s,%{version}.*$,%{version}\\\",g" include/cdio/version.h |
||||
|
||||
cd doc/doxygen |
||||
sed -i -e "s,HTML_FOOTER.*$,HTML_FOOTER = libcdio-no_date_footer.hml,g; \ |
||||
s,EXCLUDE .*$,EXCLUDE = ../../include/cdio/cdio_config.h,g;" Doxyfile |
||||
cp %{SOURCE2} . |
||||
./run_doxygen |
||||
|
||||
%install |
||||
rm -rf $RPM_BUILD_ROOT |
||||
make install DESTDIR=$RPM_BUILD_ROOT |
||||
|
||||
# multilib header hack; taken from postgresql.spec |
||||
case `uname -i` in |
||||
i386 | x86_64 | ppc | ppc64 | s390 | s390x | sparc | sparc64 ) |
||||
mv $RPM_BUILD_ROOT%{_includedir}/cdio/cdio_config.h $RPM_BUILD_ROOT%{_includedir}/cdio/cdio_config_`uname -i`.h |
||||
install -m 644 %{SOURCE3} $RPM_BUILD_ROOT%{_includedir}/cdio |
||||
;; |
||||
*) |
||||
;; |
||||
esac |
||||
|
||||
rm -f $RPM_BUILD_ROOT%{_infodir}/dir |
||||
find $RPM_BUILD_ROOT -type f -name "*.la" -exec rm -f {} ';' |
||||
|
||||
rm -rf examples |
||||
mkdir -p examples/C++ |
||||
cp -a example/{*.c,README} examples |
||||
cp -a example/C++/{*.cpp,README} examples/C++ |
||||
|
||||
# fix timestamps of generated man-pages |
||||
for i in cd-info iso-read iso-info cd-read cd-drive; do |
||||
# remove build architecture information from man pages |
||||
sed -i -e 's, version.*linux-gnu,,g' $RPM_BUILD_ROOT%{_mandir}/man1/$i.1 |
||||
# remove libtool leftover from man pages |
||||
sed -i -e 's,lt-,,g;s,LT-,,g' $RPM_BUILD_ROOT%{_mandir}/man1/$i.1 |
||||
# fix timestamps to be the same in all packages |
||||
touch -r src/$i.help2man $RPM_BUILD_ROOT%{_mandir}/man1/$i.1 |
||||
done |
||||
|
||||
# remove rpath |
||||
chrpath --delete $RPM_BUILD_ROOT%{_bindir}/* |
||||
chrpath --delete $RPM_BUILD_ROOT%{_libdir}/*.so.* |
||||
|
||||
%check |
||||
# disable test using local CDROM |
||||
%{__sed} -i -e "s,testiso9660\$(EXEEXT),,g" \ |
||||
-e "s,testisocd\$(EXEEXT),,g" \ |
||||
-e "s,check_paranoia.sh check_opts.sh, check_opts.sh,g" \ |
||||
test/Makefile |
||||
make check |
||||
|
||||
|
||||
%clean |
||||
rm -rf $RPM_BUILD_ROOT |
||||
|
||||
|
||||
%post |
||||
/sbin/ldconfig |
||||
/sbin/install-info %{_infodir}/%{name}.info %{_infodir}/dir 2>/dev/null || : |
||||
|
||||
%preun |
||||
if [ $1 = 0 ]; then |
||||
/sbin/install-info --delete %{_infodir}/%{name}.info \ |
||||
%{_infodir}/dir 2>/dev/null || : |
||||
fi |
||||
|
||||
%postun -p /sbin/ldconfig |
||||
|
||||
|
||||
%files |
||||
%defattr(-,root,root,-) |
||||
%doc AUTHORS COPYING NEWS README README.libcdio THANKS TODO |
||||
%{_bindir}/* |
||||
%{_libdir}/*.so.* |
||||
%{_infodir}/* |
||||
%{_mandir}/man1/* |
||||
|
||||
|
||||
%files devel |
||||
%defattr(-,root,root,-) |
||||
%doc doc/doxygen/html examples |
||||
%{_includedir}/cdio |
||||
%{_includedir}/cdio++ |
||||
%{_libdir}/*.so |
||||
%{_libdir}/pkgconfig/*.pc |
||||
|
||||
|
||||
%changelog |
||||
* Mon Jun 18 2018 Jakub Martisko <jamartis@redhat.com> - 0.92-3 |
||||
- fix CVE-2017-18198 and CVE-2017-18199 |
||||
- Resolves: rhbz#1553769 |
||||
- Resolves: rhbz#1553604 |
||||
|
||||
* Mon Jun 18 2018 Jakub Martisko <jamartis@redhat.com> - 0.92-2 |
||||
- fix CVE-2017-18201 |
||||
- Resolves: rhbz#1553621 |
||||
|
||||
* Mon Dec 16 2013 Adrian Reber <adrian@lisas.de> - 0.92-1 |
||||
- updated to 0.92 |
||||
- Resolves: rhbz#1065642 |
||||
|
||||
* Sat Aug 03 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.90-3 |
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild |
||||
|
||||
* Thu Feb 14 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.90-2 |
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild |
||||
|
||||
* Thu Nov 22 2012 Adrian Reber <adrian@lisas.de> - 0.90-1 |
||||
- updated to 0.90 |
||||
|
||||
* Tue Jul 24 2012 Adrian Reber <adrian@lisas.de> - 0.83-5 |
||||
- fixed #477288 (libcdio-devel multilib conflict) again |
||||
|
||||
* Thu Jul 19 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.83-4 |
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild |
||||
|
||||
* Fri Mar 23 2012 Adrian Reber <adrian@lisas.de> - 0.83-3 |
||||
- fixed #804484 (/usr/bin/cd-info was killed by signal 11) |
||||
|
||||
* Fri Jan 13 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.83-2 |
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild |
||||
|
||||
* Sun Nov 13 2011 Adrian Reber <adrian@lisas.de> - 0.83-1 |
||||
- updated to 0.83 |
||||
|
||||
* Mon May 30 2011 Honza Horak <hhorak@redhat.com> - 0.82-5 |
||||
- applied patch to fix issues found by static analyses |
||||
|
||||
* Thu May 19 2011 Honza Horak <hhorak@redhat.com> - 0.82-4 |
||||
- fixed #705673 buffer overflow and other unprotected sprintf calls |
||||
|
||||
* Mon Feb 07 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.82-3 |
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild |
||||
|
||||
* Thu Jan 28 2010 Adrian Reber <adrian@lisas.de> - 0.82-2 |
||||
- disabled building of static libraries (#556064) |
||||
- removed "Requires: pkgconfig" (rpm adds it automatically) |
||||
|
||||
* Wed Jan 20 2010 Roman Rakus rrakus@redhat.com 0.82-1 |
||||
- Update to 0.82 |
||||
- removed rpath |
||||
- converted THANKS to utf8 |
||||
|
||||
* Fri Jul 24 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.81-3 |
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild |
||||
|
||||
* Wed Feb 25 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.81-2 |
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild |
||||
|
||||
* Tue Oct 07 2008 Adrian Reber <adrian@lisas.de> - 0.81-1 |
||||
- updated to 0.81 |
||||
- license changed to GPLv3+ |
||||
- fixed #477288 (libcdio-devel multilib conflict) |
||||
- applied patch to fix endless loop in mock |
||||
|
||||
* Tue Oct 07 2008 Adrian Reber <adrian@lisas.de> - 0.80-5 |
||||
- fixed #462125 (Multilib conflict) - really, really, really |
||||
(also remove architecture information from man pages) |
||||
|
||||
* Thu Oct 02 2008 Adrian Reber <adrian@lisas.de> - 0.80-4 |
||||
- fixed #462125 (Multilib conflict) - this time for real |
||||
|
||||
* Fri Sep 12 2008 Adrian Reber <adrian@lisas.de> - 0.80-3 |
||||
- fixed #462125 (Multilib conflict) |
||||
|
||||
* Wed Jun 4 2008 Tomas Bzatek <tbzatek@redhat.com> - 0.80-2 |
||||
- added patch enabling libcdio_paranoia.pc |
||||
|
||||
* Thu May 29 2008 Adrian Reber <adrian@lisas.de> - 0.80-1 |
||||
- updated to 0.80 |
||||
- removed upstreamed patches |
||||
- last GPLv2+ release |
||||
|
||||
* Thu Feb 14 2008 Adrian Reber <adrian@lisas.de> - 0.79-3 |
||||
- added patch to compile with gcc43 |
||||
|
||||
* Fri Jan 04 2008 Adrian Reber <adrian@lisas.de> - 0.79-2 |
||||
- fixed security fix (was off by two) |
||||
|
||||
* Wed Jan 02 2008 Adrian Reber <adrian@lisas.de> - 0.79-1 |
||||
- updated to 0.79 |
||||
- fixes #427197 (Long Joliet file name overflows cdio's buffer) |
||||
- fixes #341981 (multiarch conflicts in libcdio) |
||||
|
||||
* Fri Aug 24 2007 Adrian Reber <adrian@lisas.de> - 0.78.2-3 |
||||
- rebuilt |
||||
|
||||
* Mon Jul 23 2007 Adrian Reber <adrian@lisas.de> - 0.78.2-2 |
||||
- updated to 0.78.2 (#221359) (this time for real) |
||||
|
||||
* Thu Jan 04 2007 Adrian Reber <adrian@lisas.de> - 0.78.2-1 |
||||
- updated to 0.78.2 (#221359) |
||||
|
||||
* Thu Oct 05 2006 Adrian Reber <adrian@lisas.de> - 0.77-3 |
||||
- disabled iso9660 test case (fails for some reason with date problems) |
||||
this seems to be a known problem according to the ChangeLog |
||||
|
||||
* Thu Oct 05 2006 Christian Iseli <Christian.Iseli@licr.org> 0.77-2 |
||||
- rebuilt for unwind info generation, broken in gcc-4.1.1-21 |
||||
|
||||
* Fri Sep 22 2006 Adrian Reber <adrian@lisas.de> - 0.77-1 |
||||
- Updated to 0.77 |
||||
|
||||
* Mon Sep 18 2006 Adrian Reber <adrian@lisas.de> - 0.76-3 |
||||
- Rebuilt |
||||
|
||||
* Mon Sep 26 2005 Adrian Reber <adrian@lisas.de> - 0.76-2 |
||||
- Rebuilt |
||||
|
||||
* Mon Sep 26 2005 Adrian Reber <adrian@lisas.de> - 0.76-1 |
||||
- Updated to 0.76. |
||||
- Included doxygen generated documentation into -devel |
||||
- Included examples into -devel |
||||
|
||||
* Mon Aug 01 2005 Adrian Reber <adrian@lisas.de> - 0.75-4 |
||||
- disable test accessing local CDROM drive (#164266) |
||||
|
||||
* Wed Jul 27 2005 Adrian Reber <adrian@lisas.de> - 0.75-3 |
||||
- Rebuilt without libcddb dependency (#164270) |
||||
|
||||
* Tue Jul 26 2005 Adrian Reber <adrian@lisas.de> - 0.75-2 |
||||
- Rebuilt |
||||
|
||||
* Thu Jul 14 2005 Adrian Reber <adrian@lisas.de> - 0.75-1 |
||||
- Updated to 0.75. |
||||
|
||||
* Fri Jun 03 2005 Adrian Reber <adrian@lisas.de> - 0.74-2 |
||||
- Updated to 0.74. |
||||
|
||||
* Sun Apr 24 2005 Ville Skyttä <ville.skytta at iki.fi> - 0.73-2 |
||||
- BuildRequire ncurses-devel (for cdda-player and cd-paranoia). |
||||
- Run test suite during build. |
||||
- Install Japanese man pages. |
||||
|
||||
* Sun Apr 24 2005 Adrian Reber <adrian@lisas.de> - 0.73-1 |
||||
- Updated to 0.73. |
||||
|
||||
* Fri Mar 18 2005 Ville Skyttä <ville.skytta at iki.fi> - 0.70-2 |
||||
- Fix FC4 build (#151468). |
||||
- Build with dependency tracking disabled. |
||||
|
||||
* Sun Sep 5 2004 Marius L. Jøhndal <mariuslj at ifi.uio.no> - 0:0.70-0.fdr.1 |
||||
- Updated to 0.70. |
||||
|
||||
* Sat Jul 17 2004 Marius L. Jøhndal <mariuslj at ifi.uio.no> - 0:0.69-0.fdr.1 |
||||
- Updated to 0.69. |
||||
- Removed broken iso-read. |
||||
- Split Requires(pre,post). |
||||
- Added BuildReq pkgconfig. |
||||
|
||||
* Mon Mar 29 2004 Marius L. Jøhndal <mariuslj at ifi.uio.no> - 0:0.68-0.fdr.1 |
||||
- Initial RPM release. |
||||
|
Loading…
Reference in new issue