6 Commits

Author SHA256 Message Date
e4d4e7d73a Accepting request 1238135 from multimedia:libs
OBS-URL: https://build.opensuse.org/request/show/1238135
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/libcdio?expand=0&rev=53
2025-01-17 17:37:05 +00:00
de9662cfcc - Update to 2.2.0:
- Revised to note ABI change in ISO-9660 shared library (.so)
    version numbers; bump release version from 2.1.1 to 2.2.0
    to note both API and ABI changes. These are the last three
    bullet items under Version 2.1.1.
  - Remove LIBCDIO_SOURCE_PATH from configure.ac.

OBS-URL: https://build.opensuse.org/package/show/multimedia:libs/libcdio?expand=0&rev=79
2025-01-16 00:36:55 +00:00
c5b9f8129f - 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
0a1cf04982 Accepting request 1191627 from multimedia:libs
OBS-URL: https://build.opensuse.org/request/show/1191627
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/libcdio?expand=0&rev=52
2024-08-07 04:10:04 +00:00
d12f13041f Accepting request 1191596 from home:fkastl:gcc14
- Amend the last changelog entry to explicitly mention the new
  c99.patch file

OBS-URL: https://build.opensuse.org/request/show/1191596
OBS-URL: https://build.opensuse.org/package/show/multimedia:libs/libcdio?expand=0&rev=76
2024-08-05 09:09:27 +00:00
d98b010a27 Accepting request 1190935 from home:fkastl:gcc14
- Add a patch fixing implicit declaration of a function error so
  that the 32bit version of this package can be built with GCC 14.

If the request is ok, please forward it to factory soon so that it
is ready when the default compiler is switched.

OBS-URL: https://build.opensuse.org/request/show/1190935
OBS-URL: https://build.opensuse.org/package/show/multimedia:libs/libcdio?expand=0&rev=75
2024-08-01 12:32:54 +00:00
11 changed files with 163 additions and 105 deletions

View File

@@ -1,8 +1,8 @@
libcdio19
obsoletes "libcdio-<targettype> <= <version>"
provides "libcdio-<targettype> = <version>"
libiso9660-11
libiso9660++0
libiso9660-12
libiso9660++1
libcdio++1
libudf0
#libcdio_cdda1

78
c99.patch Normal file
View File

@@ -0,0 +1,78 @@
From 79a15b760e0b5e81b29953acada3a963c3f8eba9 Mon Sep 17 00:00:00 2001
From: Alfred Wingate <parona@protonmail.com>
Date: Mon, 20 May 2024 22:02:08 +0300
Subject: [PATCH] Do not use LFS shims, rely on _FILE_OFFSET_BITS=64
See https://savannah.gnu.org/bugs/?65751 and https://bugs.gentoo.org/918988
Setting _FILE_OFFSET_BITS=64 is enough to get the LFS interface,
using LFS shims is unnecessary on 64-bit systems and they may
not be available on 32-bit systems on glibc.
Signed-off-by: Alfred Wingate <parona@protonmail.com>
---
configure.ac | 8 ++++----
lib/driver/_cdio_generic.c | 12 +-----------
lib/driver/_cdio_stdio.c | 6 +-----
3 files changed, 6 insertions(+), 20 deletions(-)
--- a/configure.ac
+++ b/configure.ac
@@ -539,10 +539,10 @@ AC_SUBST(HAVE_SOLARIS_CDROM)
AC_SUBST(HAVE_WIN32_CDROM)
AC_SUBST(HAVE_OS2_CDROM)
-AC_CHECK_FUNCS( [chdir drand48 fseeko fseeko64 ftruncate geteuid getgid \
- getuid getpwuid gettimeofday lseek64 lstat memcpy memset mkstemp rand \
- seteuid setegid snprintf setenv strndup unsetenv tzset sleep \
- _stati64 usleep vsnprintf readlink realpath gmtime_r localtime_r] )
+AC_CHECK_FUNCS( [chdir drand48 fseeko ftruncate geteuid getgid getuid \
+ getpwuid gettimeofday lstat memcpy memset mkstemp rand seteuid \
+ setegid snprintf setenv strndup unsetenv tzset sleep _stati64 \
+ usleep vsnprintf readlink realpath gmtime_r localtime_r] )
# check for timegm() support
AC_CHECK_FUNC(timegm, AC_DEFINE(HAVE_TIMEGM,1,
--- a/lib/driver/_cdio_generic.c
+++ b/lib/driver/_cdio_generic.c
@@ -55,16 +55,6 @@
#define PATH_MAX 4096
#endif
-/* If available and LFS is enabled, try to use lseek64 */
-#if defined(HAVE_LSEEK64) && defined(_FILE_OFFSET_BITS) && (_FILE_OFFSET_BITS == 64)
-#if defined(_MSC_VER)
-#include <io.h>
-#endif
-#define CDIO_LSEEK lseek64
-#else
-#define CDIO_LSEEK lseek
-#endif
-
/*!
Eject media -- there's nothing to do here. We always return -2.
Should we also free resources?
@@ -170,7 +160,7 @@ off_t
cdio_generic_lseek (void *user_data, off_t offset, int whence)
{
generic_img_private_t *p_env = user_data;
- return CDIO_LSEEK(p_env->fd, offset, whence);
+ return lseek(p_env->fd, offset, whence);
}
/*!
--- a/lib/driver/_cdio_stdio.c
+++ b/lib/driver/_cdio_stdio.c
@@ -47,11 +47,7 @@
#include "_cdio_stdio.h"
#include "cdio_assert.h"
-/* On 32 bit platforms, fseek can only access streams of 2 GB or less.
- Prefer fseeko/fseeko64, that take a 64 bit offset when LFS is enabled */
-#if defined(HAVE_FSEEKO64) && defined(_FILE_OFFSET_BITS) && (_FILE_OFFSET_BITS == 64)
-#define CDIO_FSEEK fseeko64
-#elif defined(HAVE_FSEEKO)
+#if defined(HAVE_FSEEKO)
#define CDIO_FSEEK fseeko
#else
#define CDIO_FSEEK fseek

View File

@@ -1,3 +1,9 @@
-------------------------------------------------------------------
Thu Aug 1 09:26:39 UTC 2024 - Filip Kastl <filip.kastl@suse.com>
- Add c99.patch fixing implicit declaration of a function error so
that the 32bit version of this package can be built with GCC 14.
-------------------------------------------------------------------
Thu Feb 29 15:42:28 UTC 2024 - pgajdos@suse.com

View File

@@ -1,7 +1,7 @@
#
# spec file for package cdio-utils
#
# Copyright (c) 2024 SUSE LLC
# 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
@@ -18,16 +18,15 @@
%define cdioutils 1
Name: cdio-utils
Version: 2.1.0
Version: 2.2.0
Release: 0
Summary: Utility programs making use of libcdio, a 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/libcdio-%{version}.tar.bz2
Source1: https://ftp.gnu.org/gnu/libcdio/libcdio-%{version}.tar.bz2.sig
Source2: libcdio.keyring
Source0: https://github.com/libcdio/libcdio/releases/download/%{version}/libcdio-%{version}.tar.bz2
Source4: baselibs.conf
Patch0: c99.patch
BuildRequires: fdupes
BuildRequires: gcc-c++
BuildRequires: help2man
@@ -75,7 +74,7 @@ rm -rf %{buildroot}%{_libdir} %{buildroot}%{_includedir} %{buildroot}%{_infodir}
%fdupes -s %{buildroot}%{_mandir}
%files -n cdio-utils
%doc AUTHORS NEWS.md README README.libcdio THANKS TODO
%doc AUTHORS THANKS TODO ChangeLog NEWS.md README-libcdio.md README.md
%license COPYING*
%{_bindir}/cd-*
%{_bindir}/cdda-*

View File

@@ -1,52 +0,0 @@
From 56335fff0f21d294cd0e478d49542a43e9495ed0 Mon Sep 17 00:00:00 2001
From: "R. Bernstein" <rocky@gnu.org>
Date: Wed, 24 Aug 2022 14:34:33 -0400
Subject: [PATCH] Correct realpath test failure
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
See https://savannah.gnu.org/bugs/?62948
Patch courtesy of Martin Liška <marxin>
---
test/driver/realpath.c | 13 ++++++++-----
1 file changed, 8 insertions(+), 5 deletions(-)
diff --git a/test/driver/realpath.c b/test/driver/realpath.c
index 289253e4..cd46d620 100644
--- a/test/driver/realpath.c
+++ b/test/driver/realpath.c
@@ -1,5 +1,7 @@
/* -*- C -*-
- Copyright (C) 2010-2012, 2015, 2017 Rocky Bernstein <rocky@gnu.org>
+
+ Copyright (C) 2010-2012, 2015, 2017, 2022 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
@@ -175,16 +177,17 @@ main(int argc, const char *argv[])
rc = check_rc(symlink(psz_symlink_file, psz_symlink_file),
"symlink", psz_symlink_file);
if (0 == rc) {
- cdio_realpath(psz_symlink_file, psz_file_check);
- if (0 != strncmp(psz_file_check, symlink_file, PATH_MAX)) {
+ char *retvalue = cdio_realpath(psz_symlink_file, psz_file_check);
+ if (0 != retvalue) {
+ if (0 != strncmp(psz_file_check, symlink_file, PATH_MAX)) {
fprintf(stderr, "direct cdio_realpath cycle test failed. %s vs %s\n",
psz_file_check, symlink_file);
rc = 5;
goto err_exit;
+ }
+ check_rc(unlink(psz_symlink_file), "unlink", psz_symlink_file);
}
- check_rc(unlink(psz_symlink_file), "unlink", psz_symlink_file);
}
-
}
check_rc(unlink(psz_orig_file), "unlink", psz_orig_file);
--
2.37.2

BIN
libcdio-2.1.0.tar.bz2 (Stored with Git LFS)

Binary file not shown.

View File

@@ -1,6 +0,0 @@
-----BEGIN PGP SIGNATURE-----
iF0EABECAB0WIQTapjvCWCA0oCuSPVIajeUAgnXsIQUCXLfTGgAKCRAajeUAgnXs
IbgPAJ9VeCzDcgfxpLh+zfNIwrRfEYxEegCffF1BoaCcEB9CKxx7rleF2CYRosA=
=tmRS
-----END PGP SIGNATURE-----

BIN
libcdio-2.2.0.tar.bz2 (Stored with Git LFS) Normal file

Binary file not shown.

View File

@@ -1,3 +1,64 @@
-------------------------------------------------------------------
Thu Jan 16 00:15:33 UTC 2025 - Matej Cepl <mcepl@cepl.eu>
- Update to 2.2.0:
- Revised to note ABI change in ISO-9660 shared library (.so)
version numbers; bump release version from 2.1.1 to 2.2.0
to note both API and ABI changes. These are the last three
bullet items under Version 2.1.1.
- Remove LIBCDIO_SOURCE_PATH from configure.ac.
-------------------------------------------------------------------
Fri Jan 10 11:33:28 UTC 2025 - Matej Cepl <mcepl@cepl.eu>
- 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.
-------------------------------------------------------------------
Thu Aug 1 09:17:31 UTC 2024 - Filip Kastl <filip.kastl@suse.com>
- Add c99.patch fixing implicit declaration of a function error so
that the 32bit version of this package can be built with GCC 14.
-------------------------------------------------------------------
Thu Feb 29 15:42:28 UTC 2024 - pgajdos@suse.com

View File

@@ -1,26 +0,0 @@
-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: GnuPG v2
mQGiBDs1Z2QRBAClcQILf2cKYMjwgEaQ8wg0smWsfEsit1YEjW0w+PTp67Uz7xSR
MhpHGw2vhxT0aStf7SuGJfHTxfte35kEjExNZiaqw1DN/TsOJriLrO10kpbFx8El
JIAuhdMhrNoOPrAXUTw6QFijuJZqWzCdwDOlqVcNsZxFMf+AwrLOt6tAvwCgpcZS
NLneNOiohbBioaMwkWDmXmsD+gKS+Gq4OANc4x5WjOoYFK+CK2pJhWCIQV9ZL2Gt
j/KnoZMR4MdgMaiD5kBpxEJ6FWJa4l5DyA7zq+h2EzlskFAOV2dKSpS1CSOSiGBE
8v+J3zhgycz5jWDNBfxY8pCX7ClIItbdGDVt8zQr7bXsS19a5kcKeh7+B+QknqoV
YV93A/0b2beR9NOtIrsGvLH8qno7t+CTlwFgBluvSFz/ogxekSl7K11Hgvj8sr/s
vBDjPQMSBMI/qs1zSF6YqxaNDWhPLxKJ/ffbo+iRWsq1KHcXsVbxxTNVg4VHKpG3
dPZZcomNrdkb515uj5qzyLXG2efisabCWzod4AFnNnQNDMQmaLQeUi4gQmVybnN0
ZWluIDxyb2NreUBwYW5peC5jb20+iFcEExECABcFAjs1Z2QFCwcKAwQDFQMCAxYC
AQIXgAAKCRAajeUAgnXsIQZ1AJ4l2ZUepgqGBnElf6BXIUtgVwrdBgCfYMt18QXH
xL5W7RCMtaGGlTq1Ca+IXwQTEQIAFwUCOzVnZAULBwoDBAMVAwIDFgIBAheAABIJ
EBqN5QCCdewhB2VHUEcAAQEGdQCeJdmVHqYKhgZxJX+gVyFLYFcK3QYAn2DLdfEF
x8S+Vu0QjLWhhpU6tQmvuQENBDs1Z2cQBACcUfTqcD9SIuyNvAbuWbAH3FSFK43O
JdCSGWUP0c8VgJEv4LYlZRxGFv9NR0D1PcSJPjSJdtn2YHO1mVM3ehA1LHeYnb8V
HZO/a55EcUu5Pzbes+LW4UEzsTE1+GCVrK0UIp1TjqaFJSerTnSaq+YlFrY3qh/l
IB9uPSoZEV8IUwADBQP9FMaRDJ3oVlsZAxRaXwxWTlwKT8UuR4tzU1KSCw5s7aG8
VnQccJ0nma73mjLOxaARkroKOFccphFhhxdylX4SS6sT5LSMjNJ+TsduC08UucWD
/D8qO27ylbx1+vOy6pdtcdZJ2MySrorRZkmfMI+WDj61SYGuiwGediAO//zEn2uI
TgQYEQIABgUCOzVnZwASCRAajeUAgnXsIQdlR1BHAAEB8TAAmwYnEkyGp24AW8kt
8jeTEL0KF2RfAJwN/WSXylvKG+0Hg2HarfsglwXZrg==
=jzAV
-----END PGP PUBLIC KEY BLOCK-----

View File

@@ -1,7 +1,7 @@
#
# spec file for package libcdio
#
# Copyright (c) 2024 SUSE LLC
# 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
@@ -18,21 +18,19 @@
%define cdio_name libcdio19
%define cdiopp_name libcdio++1
%define iso9660_name libiso9660-11
%define iso9660pp_name libiso9660++0
%define iso9660_name libiso9660-12
%define iso9660pp_name libiso9660++1
%define udf_name libudf0
Name: libcdio
Version: 2.1.0
Version: 2.2.0
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://ftp.gnu.org/gnu/libcdio/%{name}-%{version}.tar.bz2
Source1: https://ftp.gnu.org/gnu/libcdio/%{name}-%{version}.tar.bz2.sig
Source2: %{name}.keyring
Source0: https://github.com/libcdio/libcdio/releases/download/%{version}/libcdio-%{version}.tar.bz2
Source3: baselibs.conf
Patch0: fix-undefined-behavior-in-readlink.patch
Patch1: c99.patch
BuildRequires: fdupes
BuildRequires: gcc-c++
BuildRequires: help2man
@@ -43,7 +41,7 @@ BuildRequires: pkgconfig
BuildRequires: popt-devel
BuildRequires: pkgconfig(libcddb)
Requires(post): %{install_info_prereq}
Requires(preun):%{install_info_prereq}
Requires(preun): %{install_info_prereq}
%description
The libcdio package contains libraries for CD-ROM and CD image
@@ -105,7 +103,7 @@ Requires: %{iso9660_name} = %{version}
Requires: %{iso9660pp_name} = %{version}
Requires: %{udf_name} = %{version}
Requires(post): %{install_info_prereq}
Requires(preun):%{install_info_prereq}
Requires(preun): %{install_info_prereq}
%description devel
The libcdio package contains libraries for CD-ROM and CD image