libcdio/libcdio.spec

185 lines
5.4 KiB
RPMSpec
Raw Normal View History

- Update to 2.1.1: - More checks of potentially NULL buffers. More malloc()/calloc() result checks. - Enforce non-widestring ("A" suffixed) calls when we pass char* parameters. - Use widestring API calls unless otherwise specified. - Remove a deprecation warning of the declaration of is_cdrom_aspi() and GetVersion(). - Updates for compiling on MSVC. - Move to github - Add github CI checks. - Count empty fields as tracks. - Add some validity checks to enhance security. - Add support for ISO9660 multi extent files. - Fix Recognition of multi-extent in ISO9660 when Joliet is present. - Use getmntent/setmntent for reading mounts. - Use GNU/Linux new ioctl on kernel v5.16 or newer. - Use "%s"-style format in cdda-player.c: to make it catch cases when user input is used in place of format. - Remove some memory leaks in C++ code. - Allow for DO_NOT_WANT_COMPATIBILITY macro in config.h to disable APIs that are being retired. - Fix win32 implementation of .get_track_msf() for CD with first track number > 1 - Fix testing on Windows and remove compilation warnings. - Add Rock Ridge deep directory support. - Fix and clean up various Rock Ridge issues and adjust tests. - Fix double reporting of sizes in cd-info.c. - CD-Text character set interpretation more tolerant of bad input. - Remove homegrown boolean type in favor of <stdbool.h>. - Improve pkg-config configuration detection - Fix crash reading CD TOC on macOS Ventura. - Update freedb references to GnuDB. - Fix charset check in Windows cdio_charset_from_utf8 implementation. - Add support for reading CD-Text on macOS and Windows - Remove upstreamed patch: - fix-undefined-behavior-in-readlink.patch - Remove GPG authentication, not supported any more. OBS-URL: https://build.opensuse.org/package/show/multimedia:libs/libcdio?expand=0&rev=78
2025-01-10 12:33:52 +00:00
#
# spec file for package libcdio
#
# Copyright (c) 2025 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++1
%define iso9660_name libiso9660-12
%define iso9660pp_name libiso9660++1
- Update to 2.1.1: - More checks of potentially NULL buffers. More malloc()/calloc() result checks. - Enforce non-widestring ("A" suffixed) calls when we pass char* parameters. - Use widestring API calls unless otherwise specified. - Remove a deprecation warning of the declaration of is_cdrom_aspi() and GetVersion(). - Updates for compiling on MSVC. - Move to github - Add github CI checks. - Count empty fields as tracks. - Add some validity checks to enhance security. - Add support for ISO9660 multi extent files. - Fix Recognition of multi-extent in ISO9660 when Joliet is present. - Use getmntent/setmntent for reading mounts. - Use GNU/Linux new ioctl on kernel v5.16 or newer. - Use "%s"-style format in cdda-player.c: to make it catch cases when user input is used in place of format. - Remove some memory leaks in C++ code. - Allow for DO_NOT_WANT_COMPATIBILITY macro in config.h to disable APIs that are being retired. - Fix win32 implementation of .get_track_msf() for CD with first track number > 1 - Fix testing on Windows and remove compilation warnings. - Add Rock Ridge deep directory support. - Fix and clean up various Rock Ridge issues and adjust tests. - Fix double reporting of sizes in cd-info.c. - CD-Text character set interpretation more tolerant of bad input. - Remove homegrown boolean type in favor of <stdbool.h>. - Improve pkg-config configuration detection - Fix crash reading CD TOC on macOS Ventura. - Update freedb references to GnuDB. - Fix charset check in Windows cdio_charset_from_utf8 implementation. - Add support for reading CD-Text on macOS and Windows - Remove upstreamed patch: - fix-undefined-behavior-in-readlink.patch - Remove GPG authentication, not supported any more. OBS-URL: https://build.opensuse.org/package/show/multimedia:libs/libcdio?expand=0&rev=78
2025-01-10 12:33:52 +00:00
%define udf_name libudf0
Name: libcdio
Version: 2.2.0
- Update to 2.1.1: - More checks of potentially NULL buffers. More malloc()/calloc() result checks. - Enforce non-widestring ("A" suffixed) calls when we pass char* parameters. - Use widestring API calls unless otherwise specified. - Remove a deprecation warning of the declaration of is_cdrom_aspi() and GetVersion(). - Updates for compiling on MSVC. - Move to github - Add github CI checks. - Count empty fields as tracks. - Add some validity checks to enhance security. - Add support for ISO9660 multi extent files. - Fix Recognition of multi-extent in ISO9660 when Joliet is present. - Use getmntent/setmntent for reading mounts. - Use GNU/Linux new ioctl on kernel v5.16 or newer. - Use "%s"-style format in cdda-player.c: to make it catch cases when user input is used in place of format. - Remove some memory leaks in C++ code. - Allow for DO_NOT_WANT_COMPATIBILITY macro in config.h to disable APIs that are being retired. - Fix win32 implementation of .get_track_msf() for CD with first track number > 1 - Fix testing on Windows and remove compilation warnings. - Add Rock Ridge deep directory support. - Fix and clean up various Rock Ridge issues and adjust tests. - Fix double reporting of sizes in cd-info.c. - CD-Text character set interpretation more tolerant of bad input. - Remove homegrown boolean type in favor of <stdbool.h>. - Improve pkg-config configuration detection - Fix crash reading CD TOC on macOS Ventura. - Update freedb references to GnuDB. - Fix charset check in Windows cdio_charset_from_utf8 implementation. - Add support for reading CD-Text on macOS and Windows - Remove upstreamed patch: - fix-undefined-behavior-in-readlink.patch - Remove GPG authentication, not supported any more. OBS-URL: https://build.opensuse.org/package/show/multimedia:libs/libcdio?expand=0&rev=78
2025-01-10 12:33:52 +00:00
Release: 0
Summary: CD-ROM Access Library
License: GPL-3.0-or-later
Group: Productivity/Multimedia/Other
URL: https://savannah.gnu.org/projects/libcdio
Source0: https://github.com/libcdio/libcdio/releases/download/%{version}/libcdio-%{version}.tar.bz2
Source3: baselibs.conf
Patch1: c99.patch
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 %{iso9660pp_name}
Summary: Library for working with ISO 9660 filesystems
Group: System/Libraries
%description -n %{iso9660pp_name}
A library for working with ISO 9660 filesystems, which are mainly used on CDs.
This subpackage contains the C++ API library for cdio.
%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: %{iso9660pp_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
%autosetup -p1
%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 %{iso9660pp_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 %{iso9660pp_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.*
%files -n %{iso9660pp_name}
%{_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