public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-commits] repo/gentoo:master commit in: dev-libs/libcdio/, dev-libs/libcdio/files/
@ 2018-04-07 20:49 Andreas Sturmlechner
  0 siblings, 0 replies; 3+ messages in thread
From: Andreas Sturmlechner @ 2018-04-07 20:49 UTC (permalink / raw
  To: gentoo-commits

commit:     0bdae1a3845db5572b948a1f8a2cfb3d31b042ef
Author:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Sat Apr  7 20:14:58 2018 +0000
Commit:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Sat Apr  7 20:48:48 2018 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=0bdae1a3

dev-libs/libcdio: Fix I/O leak w/ unreadable ISO file

DOCS to array, drop ltprune for find.

Package-Manager: Portage-2.3.28, Repoman-2.3.9

 .../libcdio/files/libcdio-2.0.0-iso-ioleak.patch   | 37 +++++++++++
 dev-libs/libcdio/libcdio-2.0.0-r1.ebuild           | 75 ++++++++++++++++++++++
 2 files changed, 112 insertions(+)

diff --git a/dev-libs/libcdio/files/libcdio-2.0.0-iso-ioleak.patch b/dev-libs/libcdio/files/libcdio-2.0.0-iso-ioleak.patch
new file mode 100644
index 00000000000..17732104c3d
--- /dev/null
+++ b/dev-libs/libcdio/files/libcdio-2.0.0-iso-ioleak.patch
@@ -0,0 +1,37 @@
+From 8c0de2d3f0324ecf3fd135589589dcd783c15556 Mon Sep 17 00:00:00 2001
+From: rocky <rocky@gnu.org>
+Date: Fri, 16 Feb 2018 09:14:17 -0500
+Subject: Fix small I/O leak when we can't read ISO file
+
+See Savannah bug #53170. Thanks to David Binderman.
+---
+ src/iso-read.c | 8 ++++++--
+ 1 file changed, 6 insertions(+), 2 deletions(-)
+
+diff --git a/src/iso-read.c b/src/iso-read.c
+index 0541e27..8647485 100644
+--- a/src/iso-read.c
++++ b/src/iso-read.c
+@@ -1,5 +1,6 @@
+ /*
+-  Copyright (C) 2004-2006, 2008, 2012-2013, 2017 Rocky Bernstein <rocky@gnu.org>
++  Copyright (C) 2004-2006, 2008, 2012-2013, 2017-2018 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
+@@ -364,7 +365,10 @@ main(int argc, char *argv[])
+       ret = read_iso_file (opts.iso9660_image, opts.file_name,
+                            outfd, &bytes_written);
+   }
+-  if (ret != 0) return ret;
++  if (ret != 0) {
++    fclose (outfd);
++    return ret;
++  }
+ 
+   fflush (outfd);
+ 
+-- 
+cgit v1.0-41-gc330
+

diff --git a/dev-libs/libcdio/libcdio-2.0.0-r1.ebuild b/dev-libs/libcdio/libcdio-2.0.0-r1.ebuild
new file mode 100644
index 00000000000..62bcbab5b55
--- /dev/null
+++ b/dev-libs/libcdio/libcdio-2.0.0-r1.ebuild
@@ -0,0 +1,75 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit autotools libtool multilib-minimal
+
+DESCRIPTION="A library to encapsulate CD-ROM reading and control"
+HOMEPAGE="https://www.gnu.org/software/libcdio/"
+SRC_URI="mirror://gnu/${PN}/${P}.tar.gz"
+
+LICENSE="GPL-3"
+SLOT="0/18" # subslot is based on SONAME
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~x86-solaris"
+IUSE="cddb +cxx minimal static-libs test"
+
+RDEPEND="
+	!minimal? (
+		>=sys-libs/ncurses-5.7-r7:0=
+		cddb? ( >=media-libs/libcddb-1.3.2 )
+	)
+	>=virtual/libiconv-0-r1[${MULTILIB_USEDEP}]
+"
+DEPEND="${RDEPEND}
+	sys-apps/sed
+	sys-devel/gettext
+	virtual/pkgconfig
+	test? ( dev-lang/perl )
+"
+
+DOCS=( AUTHORS ChangeLog NEWS README{,.libcdio} THANKS TODO )
+
+MULTILIB_WRAPPED_HEADERS=(
+	/usr/include/cdio/cdio_config.h
+	/usr/include/cdio/version.h
+)
+
+PATCHES=( "${FILESDIR}/${P}-iso-ioleak.patch" )
+
+src_prepare() {
+	default
+
+	eautoreconf
+
+	sed \
+		-e "s:-lncurses:$($(tc-getPKG_CONFIG) --libs ncurses):g" \
+		-i configure || die
+
+	elibtoolize # to prevent -L/usr/lib ending up in the linker line wrt 499510
+}
+
+multilib_src_configure() {
+	local util_switch
+	if ! multilib_is_native_abi || use minimal ; then
+		util_switch="--without"
+	else
+		util_switch="--with"
+	fi
+
+	# Tests fail if ECONF_SOURCE is not relative
+	ECONF_SOURCE="../${P}" econf \
+		--disable-maintainer-mode \
+		$(use_enable cxx) \
+		--disable-cpp-progs \
+		--disable-example-progs \
+		$(use_enable static-libs static) \
+		$(use_enable cddb) \
+		--disable-vcd-info \
+		${util_switch}-{cd-drive,cd-info,cdda-player,cd-read,iso-info,iso-read}
+}
+
+multilib_src_install_all() {
+	einstalldocs
+	find "${ED}" -name '*.la' -delete || die
+}


^ permalink raw reply related	[flat|nested] 3+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: dev-libs/libcdio/, dev-libs/libcdio/files/
@ 2019-04-19  0:30 Lars Wendler
  0 siblings, 0 replies; 3+ messages in thread
From: Lars Wendler @ 2019-04-19  0:30 UTC (permalink / raw
  To: gentoo-commits

commit:     297cc162bda9bc6dc4838e481c3ad1b6302d0a9c
Author:     Lars Wendler <polynomial-c <AT> gentoo <DOT> org>
AuthorDate: Fri Apr 19 00:19:15 2019 +0000
Commit:     Lars Wendler <polynomial-c <AT> gentoo <DOT> org>
CommitDate: Fri Apr 19 00:30:19 2019 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=297cc162

dev-libs/libcdio: Revbump to fix ncurses detection.

Package-Manager: Portage-2.3.63, Repoman-2.3.12
Signed-off-by: Lars Wendler <polynomial-c <AT> gentoo.org>

 .../files/libcdio-2.1.0-ncurses_pkgconfig.patch    | 30 ++++++++++++++++++++++
 ...ibcdio-2.1.0.ebuild => libcdio-2.1.0-r1.ebuild} |  8 +++---
 2 files changed, 34 insertions(+), 4 deletions(-)

diff --git a/dev-libs/libcdio/files/libcdio-2.1.0-ncurses_pkgconfig.patch b/dev-libs/libcdio/files/libcdio-2.1.0-ncurses_pkgconfig.patch
new file mode 100644
index 00000000000..b5ed62cc072
--- /dev/null
+++ b/dev-libs/libcdio/files/libcdio-2.1.0-ncurses_pkgconfig.patch
@@ -0,0 +1,30 @@
+From 04f7da2f190ddc636a5c268f2428f36517f92e25 Mon Sep 17 00:00:00 2001
+From: Lars Wendler <polynomial-c@gentoo.org>
+Date: Fri, 19 Apr 2019 02:24:04 +0200
+Subject: [PATCH] configure.ac: Search for pkg-config with its
+ PKG_PROG_PKG_CONFIG macro
+
+Otherwise the pkg-config command might not be found and thus some of the
+required packages (like ncurses) as well.
+
+Signed-off-by: Lars Wendler <polynomial-c@gentoo.org>
+---
+ configure.ac | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/configure.ac b/configure.ac
+index 5f9f9e78..711cb5df 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -27,6 +27,8 @@ AC_CANONICAL_HOST
+ AC_CONFIG_HEADERS(config.h)
+ AC_CONFIG_MACRO_DIR([m4])
+ 
++PKG_PROG_PKG_CONFIG
++
+ # Enable silent build rules by default (Automake v1.11 or later).
+ # Disable by either passing --disable-silent-rules to configure or passing V=1 to make
+ m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])],
+-- 
+2.21.0
+

diff --git a/dev-libs/libcdio/libcdio-2.1.0.ebuild b/dev-libs/libcdio/libcdio-2.1.0-r1.ebuild
similarity index 94%
rename from dev-libs/libcdio/libcdio-2.1.0.ebuild
rename to dev-libs/libcdio/libcdio-2.1.0-r1.ebuild
index 91ca3e370f2..a61b22b9d61 100644
--- a/dev-libs/libcdio/libcdio-2.1.0.ebuild
+++ b/dev-libs/libcdio/libcdio-2.1.0-r1.ebuild
@@ -36,15 +36,15 @@ MULTILIB_WRAPPED_HEADERS=(
 	/usr/include/cdio/version.h
 )
 
+PATCHES=(
+	"${FILESDIR}/${PN}-2.1.0-ncurses_pkgconfig.patch"
+)
+
 src_prepare() {
 	default
 
 	eautoreconf
 
-	#sed \
-	#	-e "s:-lncurses:$($(tc-getPKG_CONFIG) --libs ncurses):g" \
-	#	-i configure || die
-
 	elibtoolize # to prevent -L/usr/lib ending up in the linker line wrt 499510
 }
 


^ permalink raw reply related	[flat|nested] 3+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: dev-libs/libcdio/, dev-libs/libcdio/files/
@ 2024-06-28  9:09 Miroslav Šulc
  0 siblings, 0 replies; 3+ messages in thread
From: Miroslav Šulc @ 2024-06-28  9:09 UTC (permalink / raw
  To: gentoo-commits

commit:     83f41b5d07068d1910d20d3554740971109419d8
Author:     Ian Jordan <immoloism <AT> gmail <DOT> com>
AuthorDate: Sun Jun 16 10:46:09 2024 +0000
Commit:     Miroslav Šulc <fordfrog <AT> gentoo <DOT> org>
CommitDate: Fri Jun 28 09:07:44 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=83f41b5d

dev-libs/libcdio: ModernC fixes

Lack of contact from upstream so adding Parona's patch locally as tested as working
fine.

Closes: https://bugs.gentoo.org/918988
Thanks-to: Alfred Wingate <parona <AT> protonmail.com>
Signed-off-by: Ian Jordan <immoloism <AT> gmail.com>
Closes: https://github.com/gentoo/gentoo/pull/37184
Signed-off-by: Miroslav Šulc <fordfrog <AT> gentoo.org>

 .../libcdio/files/libcdio-2.1.0-no-lfs-shims.patch | 75 ++++++++++++++++++++++
 ...dio-2.1.0-r1.ebuild => libcdio-2.1.0-r2.ebuild} |  1 +
 2 files changed, 76 insertions(+)

diff --git a/dev-libs/libcdio/files/libcdio-2.1.0-no-lfs-shims.patch b/dev-libs/libcdio/files/libcdio-2.1.0-no-lfs-shims.patch
new file mode 100644
index 000000000000..473c54d9b1ee
--- /dev/null
+++ b/dev-libs/libcdio/files/libcdio-2.1.0-no-lfs-shims.patch
@@ -0,0 +1,75 @@
+From https://bugs.gentoo.org/918988
+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>
+--- a/configure.ac
++++ b/configure.ac
+@@ -547,10 +547,10 @@ AC_DEFINE_UNQUOTED(LIBCDIO_SOURCE_PATH, "$LIBCDIO_SOURCE_PATH",
+ 	[Full path to libcdio top_sourcedir.])
+ AC_SUBST(LIBCDIO_SOURCE_PATH)
+ 
+-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
+-- 
+2.45.1
+

diff --git a/dev-libs/libcdio/libcdio-2.1.0-r1.ebuild b/dev-libs/libcdio/libcdio-2.1.0-r2.ebuild
similarity index 98%
rename from dev-libs/libcdio/libcdio-2.1.0-r1.ebuild
rename to dev-libs/libcdio/libcdio-2.1.0-r2.ebuild
index 6f2f17a4791e..d3965c51ccec 100644
--- a/dev-libs/libcdio/libcdio-2.1.0-r1.ebuild
+++ b/dev-libs/libcdio/libcdio-2.1.0-r2.ebuild
@@ -39,6 +39,7 @@ MULTILIB_WRAPPED_HEADERS=(
 PATCHES=(
 	"${FILESDIR}/${PN}-2.1.0-ncurses_pkgconfig.patch"
 	"${FILESDIR}/${P}-realpath-test-fix.patch"
+	"${FILESDIR}/${P}-no-lfs-shims.patch"
 )
 
 src_prepare() {


^ permalink raw reply related	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2024-06-28  9:09 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-06-28  9:09 [gentoo-commits] repo/gentoo:master commit in: dev-libs/libcdio/, dev-libs/libcdio/files/ Miroslav Šulc
  -- strict thread matches above, loose matches on Subject: below --
2019-04-19  0:30 Lars Wendler
2018-04-07 20:49 Andreas Sturmlechner

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox