# # spec file for package libcdio # # Copyright (c) 2020 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed # upon. The license for this file, and modifications and additions to the # file, is the same license as for the pristine package itself (unless the # license for the pristine package is not an Open Source License, in which # case the license is the MIT License). An "Open Source License" is a # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. # Please submit bugfixes or comments via https://bugs.opensuse.org/ # %define cdio_name libcdio19 %define cdiopp_name libcdio++0 %define iso9660_name libiso9660-11 %define udf_name libudf0 Name: libcdio Version: 2.1.0 Release: 2.5 Summary: CD-ROM Access Library License: GPL-3.0-or-later Group: Productivity/Multimedia/Other URL: https://savannah.gnu.org/projects/libcdio Source0: https://ftp.gnu.org/gnu/libcdio/%{name}-%{version}.tar.bz2 Source1: https://ftp.gnu.org/gnu/libcdio/%{name}-%{version}.tar.bz2.sig Source2: %{name}.keyring Source3: baselibs.conf BuildRequires: fdupes BuildRequires: gcc-c++ BuildRequires: help2man BuildRequires: libtool BuildRequires: makeinfo BuildRequires: ncurses-devel BuildRequires: pkgconfig BuildRequires: popt-devel BuildRequires: pkgconfig(libcddb) Requires(post): %{install_info_prereq} Requires(preun): %{install_info_prereq} %description The libcdio package contains libraries for CD-ROM and CD image access. Applications can use them as an abstraction to OS- and device-dependent properties of a CD-ROM or of the specific details of various CD image formats. %package -n %{cdio_name} Summary: CD-ROM Access Library Group: System/Libraries %description -n %{cdio_name} The libcdio package contains libraries for CD-ROM and CD image access. Applications can use them as an abstraction to OS- and device-dependent properties of a CD-ROM or of the specific details of various CD image formats. This subpackage contains the C API library from cdio. %package -n %{cdiopp_name} Summary: C++ API for the libcdio CD-ROM access library Group: System/Libraries %description -n %{cdiopp_name} The libcdio package contains libraries for CD-ROM and CD image access. This subpackage contains the C++ API library for cdio. %package -n %{iso9660_name} Summary: Library for working with ISO 9660 filesystems Group: System/Libraries %description -n %{iso9660_name} A library for working with ISO 9660 filesystems, which are mainly used on CDs. %package -n %{udf_name} Summary: Library for working with Universal Disk Format filesystems Group: System/Libraries %description -n %{udf_name} This library is made to read and write UDF filesystems, which are mainly used on DVDs. %package devel Summary: CD-ROM access library Group: Development/Languages/C and C++ Requires: %{cdio_name} = %{version} Requires: %{cdiopp_name} = %{version} Requires: %{iso9660_name} = %{version} Requires: %{udf_name} = %{version} Requires(post): %{install_info_prereq} Requires(preun): %{install_info_prereq} %description devel The libcdio package contains libraries for CD-ROM and CD image access. Applications can use them as an abstraction to OS- and device-dependent properties of a CD-ROM or of the specific details of various CD image formats. This subpackage contains libraries and header files for developing applications that want to make use of the cdio libraries. %prep %setup -q %build %configure \ --disable-silent-rules \ --disable-rpath \ --disable-static \ --enable-rock \ --without-cd-drive \ --without-cd-info \ --without-cdda-player \ --without-cd-read \ --without-iso-info \ --without-iso-read make %{?_smp_mflags} %install %make_install #empty depdendency libs rm -rf %{buildroot}%{_bindir} %{buildroot}%{_mandir} find %{buildroot} -type f -name "*.la" -delete -print %check make %{?_smp_mflags} check %post -n %{cdio_name} -p /sbin/ldconfig %post -n %{cdiopp_name} -p /sbin/ldconfig %post -n %{iso9660_name} -p /sbin/ldconfig %post -n %{udf_name} -p /sbin/ldconfig %postun -n %{cdio_name} -p /sbin/ldconfig %postun -n %{cdiopp_name} -p /sbin/ldconfig %postun -n %{iso9660_name} -p /sbin/ldconfig %postun -n %{udf_name} -p /sbin/ldconfig %post devel %install_info --info-dir=%{_infodir} %{_infodir}/%{name}.info%{?ext_info} %preun devel %install_info_delete --info-dir=%{_infodir} %{_infodir}/%{name}.info%{?ext_info} %files -n %{cdio_name} %{_libdir}/libcdio.so.* %files -n %{cdiopp_name} %{_libdir}/libcdio++.so.* %{_libdir}/libiso9660++.so.* %files -n %{iso9660_name} %{_libdir}/libiso9660.so.* %files -n %{udf_name} %{_libdir}/libudf.so.* %files devel %{_infodir}/*.info%{?ext_info} %{_includedir}/cdio %{_includedir}/cdio++ %{_libdir}/libcdio*.so %{_libdir}/libiso9660*.so %{_libdir}/libudf*.so %{_libdir}/pkgconfig/*.pc %changelog * Tue Jul 16 2019 Dominique Leuenberger - Update to version 2.1.0 (bsc#1108134, bsc#1094761): + NetBSD driver fixes. Switch from MSF addressing to LBA addressing in driver. + Fix handling in drivers,libcdio-paranoia and `cd-info` when starting track number is greater than 1. + More tolerant of non-compliant ISOs such as openSUSE Leap 15.0. + `cdda-player` fixes, such as adding a missing `-d` in cdda-player help. + `cdtext_list_languages_v2()` to be preferred over now deprecated `cdtext_list_languages()`. New API call `cdtext_set_language_index()`. + Add `read-disc-struct` example program to show how to use a MMC `DVD_READ_DISC_STRUCTURE`. + Various errors in driver reading turned into warnings. + Some code cleanups and documentation improvements. + Bugs: - I/O leak when we can't read ISO file (https://savannah.gnu.org/bugs/index.php?53170) - Cdtext not displayed in case of `CDTEXT_LANGUAGE_UNKNOWN` (https://savannah.gnu.org/bugs/index.php?3929) - cd-text with invalid characters failing to convert to utf8 (https://savannah.gnu.org/bugs/index.php?3928) * Mon Jun 11 2018 tchvatal@suse.com - Sort out a bit to properly define all the library names as defines for easier updating in future when soname changes - Execute testsuite * Mon Jun 11 2018 kbabioch@suse.com - Update to 2.0.0 - Removed patches (included upstream): - CVE-2017-18201.patch - 0001-Savannah-Bug-49907.patch - Fixed heap-based buffer over-read in iso-info.c (CVE-2017-18198 bsc#1082819) - Fixed NULL pointer dereference in rock.c (CVE-2017-18199 bsc#1082821) - Fixed several (non-critical) memory leaks - Bumped sonames - Applied spec-cleaner * Tue Feb 27 2018 sbrabec@suse.com - Fix double free vulnerability (bsc#1082877, CVE-2017-18201, CVE-2017-18201.patch). * Sat Nov 4 2017 schwab@linux-m68k.org - 0001-Fix-symbol-versioning-for-exported-symbols.patch: Remove broken patch - 0001-Savannah-Bug-49907.patch: Fix symbol versioning for real * Thu Oct 5 2017 stefan.bruens@rwth-aachen.de - Fix symbol versioning, some symbols where no longer exported with a version, thus the library inadvertently broke ABI between version 0.93 and 0.94. Fixes https://savannah.gnu.org/bugs/index.php?49907 * add 0001-Fix-symbol-versioning-for-exported-symbols.patch * Tue Sep 5 2017 jengelh@inai.de - Remove %%package libcdio_{cdda,paranoia} since they are always produced by a separate SRPM. - Remove --with-pic (only useful for static libs) and compact - -enable-static=n. - Adjust RPM groups. Diversify descriptions for the subpackages. * Sun Sep 3 2017 astieger@suse.com - update to 0.94: * CD-TEXT fixes and improvements * eject fixes * various bug fixes * Tue Jun 16 2015 mpluskal@suse.com - Add gpg signature - Remove ppc obsoletes/provides as it affects unsupported releases - Cleanup spec file with spec-cleaner - Add missing info dependencies, use preun instead of postun for scriplet * Sat Jan 31 2015 p.drouand@gmail.com - Update to version 0.93 * Add cdio_free, iso9660_stat_free, and iso9660_xa_free functions. * Deprecate mmc_isrc_track_read_subchannel * Add mmc_get_track_isrc function. * Update OS versions we recognize * OSX, and MS Windows, ISO 9660 and other bug fixes * Remove Coverty scan warnins and errors * OS/2 driver performance update - KO Myung-Hun - Bump so versions * libcdio14 to libcdio16 * libiso9660-8 to libiso9660-10 - Update baselibs.conf - Remove depreciated AUTHORS section * Tue Apr 2 2013 davejplater@gmail.com - Add url to spec source field to enable local source service. * Sun Feb 17 2013 reddwarf@opensuse.org - Update to 0.90 * CD-Text overhaul and API change (Leon Merten Lohse) * Works again (somewhat) on MinGW; tolerence for Microsoft's C compiler (Pete Batard) * UDF, Joliet and Rock-Ridge fixes (Pete Batard) * OSX fixes (Natalia Portillo and Robert William Fuller) * paranoia library removed as that is GPL 2-ish. This is now a separate project * file names in cue files are relative to the cue file rather than cwd. * Update mmc.h to include MMC-5 commands. (Or MMC-6 since it adds nothing new) * Add mmc_cmd2str() to show MMC command name. Show that in some errors * Add UDF reading to iso-read and iso-info via --udf or -U (Christophe Fergeau) * bug fixes, more tests, update documentation * Fri Sep 7 2012 coolo@suse.com - add makeinfo as explicit buildrequires * Fri May 25 2012 coolo@suse.com - enable rock support - for some bizzare reason it's not default (the help is saying otherwise, but it's obvious if you try to read from kiwi live cds) * Fri May 18 2012 davejplater@gmail.com - Split cdio-utils to a linked package to prevent cycles due to utils dependancy on libvcdinfo and vcdimagers dependency on libcdio. * Sun Apr 15 2012 davejplater@gmail.com - Update to 0.83.git from 14/04/2012 git head. - libcdio-paranoia separated from libcdio due to license issues see bnc#756564 * Fri Apr 6 2012 davejplater@gmail.com - Update to libcdio-0.83, removed need for libcdio-mini by adding linker library paths to sources in the spec file build section. - Upstream changes: * Add retrieval SCSI sense reply from the most-recent MMC command. * Add exclusive read/write access for devices which is used for experimental writing/burning. Currently only on GNU/Linux and FreeBSD. * MMC bug fixes * FreeBSD drive list now shows empty drives. * Add ability to retrieve SCSI tuple for a name and/or fake one up for programs that wanto to cd-record compatible. * Tolerance for OS's without timezone in their struct tm (e.g. Solaris) added iso9660_set_{d,l}time_with_timezone * Add mmc_get_disk_erasable * Update MMC Feature Profile list, DVD Book types * Reduce range of seek in paranoia_seek to be int32_t * Remove some potential flaws found by Coverty's static analysis tool * Add ISRC track info to cd-info output. * Don't wrap-around volume adjustment for cdda-player. * Handle double-byte strings in CD-text * --no-header on cd-info omits copyright and warranty * Sun Nov 13 2011 coolo@suse.com - add libtool as buildrequire * Sun Nov 13 2011 coolo@suse.com - one less _service file for factory * Mon Mar 21 2011 coolo@novell.com - licenses package is about to die * Tue Feb 8 2011 dimstar@opensuse.org - Rename Shared Object package to libcdio12, conforming the libraries name. - Adjust rpmlintrc to only ignore shared lib names of the -mini packages. This avoids missing shlib renames for the 'main' package. * Sun Jan 30 2011 sagiben@gmail.com - Updated to version 0.82 - Upstream changes : * Remove all uses of CDIO_MIN_DRIVER, CDIO_MAX_DRIVER, CDIO_MIN_DEVICE_DRIVER or CDIO_MAX_DEVICE_DRIVER. * FreeBSD get_media_changed fixes * MingGW/Msys compilation issues * Add OS/2 driver * Cross compilations fixes and uclinix is like GNU/Linux * Numerous other bug fixes * Mon Apr 26 2010 ro@suse.de - add build-ignore for libcdio-mini-devel * Sun Jan 31 2010 jengelh@medozas.de - Package baselibs.conf * Thu Aug 6 2009 sbrabec@suse.cz - Updated to version 0.81: * license of manual now GFDL 1.2 or later * Nero image handling more complete. * ISRC query for image files. * Allow reading pregap of a track via get_track_pregap_lsn(). * Fixes of iso9660 time setting/getting routines, making them reentrant. * Wed Jan 7 2009 olh@suse.de - obsolete old -XXbit packages (bnc#437293) * Tue Sep 9 2008 sbrabec@suse.cz - Update Summary of *mini* packages (bnc#418304). * Wed Jun 18 2008 schwab@suse.de - Use autoreconf -i. * Fri May 23 2008 hpj@suse.de - Add libcdio-bnc394195-install-all-pc-files.patch (bnc#394195). * Wed May 21 2008 cthiel@suse.de - fix baselibs.conf * Fri Apr 25 2008 sbrabec@suse.cz - Updated to version 0.80: * Add option to log summary output in cd-paranoia * More string bounds checking to eliminate known string overflow conditions, Savannah#21910 * add --mode="any" on cd-read which uses a mmc_read_sectors with read-type CDIO_MMC_READ_TYPE_ANY. * add --log-summary option to cd-paranoia. Unused option - -output-info (-i) removed * some small packaging bugs fixed * probably the last GPL v2 release; GPL v3 on the horizon. * Thu Apr 10 2008 ro@suse.de - added baselibs.conf file to build xxbit packages for multilib support * Wed Feb 27 2008 sbrabec@suse.cz - Fixed more possible memory allocation buffer overflows (bnc#351127). * Wed Jan 9 2008 sbrabec@suse.cz - Fixed buffer overflows for long Joliet names (#351127). * Wed Dec 5 2007 ro@suse.de - provide main package name in library package for debuginfo for mini package * Fri Nov 16 2007 sbrabec@suse.cz - Removed unwanted NoSource preventing mirroring to Factory. * Fri Nov 9 2007 crrodriguez@suse.de - fix build with gcc43 - update to version 0.79 * libcdio cdparanoia doing the wrong thing on a single-sector read. Savannah patch #5999. * Leds to an open file descriptor making it impossible of e.g. unmounting a CDROM containing the file. Savannah bug #21147. * bug #19221 (possibly): memory Leak opening an inaccessible device * more than 30 other bugfixes - remove libtool archives with empty dependency_libs - exclude static libraries * Tue Aug 7 2007 sbrabec@suse.cz - Fixed mini file list. * Sun Aug 5 2007 coolo@suse.de - adding versioned provides for upgrade * Fri Jul 20 2007 sbrabec@suse.cz - Updated to version 0.78.2: * Fixed bug in libcdio.so version numbering. * Added mmc-tool and mmc-close-tray. * libudf: can now read (extract) file data, at least for ICB strategy type 4. * libcdio is starting to get updated for UTF-8 support. * Fixes to eject. * Other fixes. - Split package according to shared library packaging policy. - Added script to convert libcdio.spec to libcdio-mini.spec and update library package names. * Mon Mar 12 2007 sbrabec@suse.cz - Fixed NoSrc and Provides of temporary package. * Fri Oct 6 2006 sbrabec@suse.cz - Updated to version 0.77: * Added object-oriented C++ wrapper. * Replaced libpopt with getopt in binaries. * Documented cd-paranoia. * Added cdio_eject_media_drive. * Added more generic read_sectors(). * Some provision for handling Rock-Ridge device numbers. * Block read routines return success if asked to read 0 blocks. * Start UDF handling * Improved developer documentation. * Code improvements. * Bug fixes. * Small cdda-player improvements. * NRG checking parses file. * Revised and improved example programs. * Replaced all uses of strcat and strcpy with strncat and strncpy. * Mon Jul 3 2006 max@suse.de - Added gcc-c++ to neededforbuild. * Fri Jun 30 2006 sbrabec@suse.cz - Fixed cyclic dependencies in a correct way. * Tue Jun 27 2006 sbrabec@suse.cz - Use NoSource in libcdio-mini. * Thu Jun 22 2006 sbrabec@suse.cz - Simpler solution of cyclic dependencies. * Tue Jan 31 2006 sbrabec@suse.cz - Do not link with invalid rpath. - Enabled parallel build. - Fixed devel splitting. * Thu Jan 26 2006 sbrabec@suse.cz - Added %%install_info_prereq. * Wed Jan 25 2006 mls@suse.de - converted neededforbuild to BuildRequires * Tue Nov 8 2005 sbrabec@suse.cz - Fixed libiso9660.la circular dependency prevention trick. * Wed Oct 26 2005 sbrabec@suse.cz - Updated to version 0.76. - Build as user. * Fri Aug 5 2005 sbrabec@suse.cz - Build with libcddb-1.2.1. * Fri Jul 29 2005 sbrabec@suse.cz - Updated to version 0.75. * Mon May 9 2005 sbrabec@suse.cz - Build with libcddb-1.0.2. * Tue Apr 26 2005 sbrabec@suse.cz - Updated to version 0.73. * Fri Apr 1 2005 meissner@suse.de - fixed gcc4 compile problem. * Thu Feb 3 2005 sbrabec@suse.cz - Updated to version 0.72. * Mon Jan 31 2005 sbrabec@suse.cz - Updated to version 0.72rc2. * Mon Jan 24 2005 sbrabec@suse.cz - Updated to version 0.71. * Tue Nov 9 2004 sbrabec@suse.cz - New SuSE package, version 0.70. - Work-around of circular dependency on libcddb and vcdimager.