public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
From: "Jeroen Roovers" <jer@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] repo/gentoo:master commit in: sys-apps/findutils/, sys-apps/findutils/files/
Date: Mon, 23 May 2016 05:15:53 +0000 (UTC)	[thread overview]
Message-ID: <1463980540.5fbc6165565a91e6d51443f73eccacfafc4065ed.jer@gentoo> (raw)

commit:     5fbc6165565a91e6d51443f73eccacfafc4065ed
Author:     Jeroen Roovers <jer <AT> gentoo <DOT> org>
AuthorDate: Mon May 23 05:11:58 2016 +0000
Commit:     Jeroen Roovers <jer <AT> gentoo <DOT> org>
CommitDate: Mon May 23 05:15:40 2016 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=5fbc6165

sys-apps/findutils: Fix abort in searching NFS filesystems (bug #580032).

Package-Manager: portage-2.3.0_rc1

 .../files/findutils-4.6.0-gnulib-S_MAGIC_NFS.patch | 52 ++++++++++++++++++
 sys-apps/findutils/findutils-4.6.0-r1.ebuild       | 64 ++++++++++++++++++++++
 2 files changed, 116 insertions(+)

diff --git a/sys-apps/findutils/files/findutils-4.6.0-gnulib-S_MAGIC_NFS.patch b/sys-apps/findutils/files/findutils-4.6.0-gnulib-S_MAGIC_NFS.patch
new file mode 100644
index 0000000..8d47800
--- /dev/null
+++ b/sys-apps/findutils/files/findutils-4.6.0-gnulib-S_MAGIC_NFS.patch
@@ -0,0 +1,52 @@
+From 85717b68b03bf85016c5079fbbf0c8aa2b182ba6 Mon Sep 17 00:00:00 2001
+From: Pádraig Brady <P@draigBrady.com>
+Date: Mon, 18 Jan 2016 17:29:28 +0000
+Subject: fts: don't unconditionally use leaf optimization for NFS
+
+NFS st_nlink are not accurate on all implementations,
+leading to aborts() if that assumption is made.
+See <https://bugzilla.redhat.com/1299169>
+* lib/fts.c (leaf_optimization_applies): Remove NFS from
+the white list, and document the issue.
+---
+(limited to 'lib/fts.c')
+
+diff --git a/lib/fts.c b/lib/fts.c
+index 7e9aca6..2c9df2f 100644
+--- a/gl/lib/fts.c
++++ b/gl/lib/fts.c
+@@ -718,22 +718,23 @@ leaf_optimization_applies (int dir_fd)
+ 
+   switch (fs_buf.f_type)
+     {
+-    case S_MAGIC_NFS:
+-      /* NFS provides usable dirent.d_type but not necessarily for all entries
+-         of large directories.  See <https://bugzilla.redhat.com/1252549>.  */
+-      return true;
+-
+       /* List here the file system types that lack usable dirent.d_type
+          info, yet for which the optimization does apply.  */
+     case S_MAGIC_REISERFS:
+     case S_MAGIC_XFS:
+       return true;
+ 
++      /* Explicitly list here any other file system type for which the
++         optimization is not applicable, but need documentation.  */
++    case S_MAGIC_NFS:
++      /* NFS provides usable dirent.d_type but not necessarily for all entries
++         of large directories, so as per <https://bugzilla.redhat.com/1252549>
++         NFS should return true.  However st_nlink values are not accurate on
++         all implementations as per <https://bugzilla.redhat.com/1299169>.  */
++      /* fall through */
+     case S_MAGIC_PROC:
+-      /* Explicitly listing this or any other file system type for which
+-         the optimization is not applicable is not necessary, but we leave
+-         it here to document the risk.  Per http://bugs.debian.org/143111,
+-         /proc may have bogus stat.st_nlink values.  */
++      /* Per <http://bugs.debian.org/143111> /proc may have
++         bogus stat.st_nlink values.  */
+       /* fall through */
+     default:
+       return false;
+--
+cgit v0.9.0.2

diff --git a/sys-apps/findutils/findutils-4.6.0-r1.ebuild b/sys-apps/findutils/findutils-4.6.0-r1.ebuild
new file mode 100644
index 0000000..1968137
--- /dev/null
+++ b/sys-apps/findutils/findutils-4.6.0-r1.ebuild
@@ -0,0 +1,64 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+PYTHON_COMPAT=( python{2_7,3_3,3_4} )
+
+inherit eutils flag-o-matic toolchain-funcs python-any-r1
+
+DESCRIPTION="GNU utilities for finding files"
+HOMEPAGE="https://www.gnu.org/software/findutils/"
+SRC_URI="mirror://gnu/${PN}/${P}.tar.gz"
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~x64-freebsd ~x86-freebsd ~ia64-hpux ~x86-interix ~amd64-linux ~arm-linux ~ia64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE="debug nls selinux static test"
+
+RDEPEND="selinux? ( sys-libs/libselinux )
+	nls? ( virtual/libintl )"
+DEPEND="${RDEPEND}
+	test? ( ${PYTHON_DEPS} )
+	nls? ( sys-devel/gettext )"
+
+pkg_setup() {
+	use test && python-any-r1_pkg_setup
+}
+
+src_prepare() {
+	# Don't build or install locate because it conflicts with slocate,
+	# which is a secure version of locate.  See bug 18729
+	sed -i '/^SUBDIRS/s/locate//' Makefile.in
+
+	# Newer C libraries omit this include from sys/types.h.
+	# https://lists.gnu.org/archive/html/bug-gnulib/2016-03/msg00018.html
+	sed -i \
+		'/include.*config.h/a#ifdef MAJOR_IN_SYSMACROS\n#include <sys/sysmacros.h>\n#endif\n' \
+		gl/lib/mountlist.c || die
+
+	epatch "${FILESDIR}"/${P}-gnulib-mb.patch #576818
+	epatch "${FILESDIR}"/${P}-gnulib-S_MAGIC_NFS.patch #580032
+}
+
+src_configure() {
+	use static && append-ldflags -static
+
+	program_prefix=$(usex userland_GNU '' g)
+	econf \
+		--with-packager="Gentoo" \
+		--with-packager-version="${PVR}" \
+		--with-packager-bug-reports="https://bugs.gentoo.org/" \
+		--program-prefix=${program_prefix} \
+		$(use_enable debug) \
+		$(use_enable nls) \
+		$(use_with selinux) \
+		--libexecdir='$(libdir)'/find
+}
+
+src_compile() {
+	# We don't build locate, but the docs want a file in there.
+	emake -C locate dblocation.texi
+	default
+}


             reply	other threads:[~2016-05-23  5:15 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-05-23  5:15 Jeroen Roovers [this message]
  -- strict thread matches above, loose matches on Subject: below --
2025-03-14  6:39 [gentoo-commits] repo/gentoo:master commit in: sys-apps/findutils/, sys-apps/findutils/files/ Sam James
2018-10-14  9:40 Sergei Trofimovich
2016-03-09 14:49 Mike Frysinger

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1463980540.5fbc6165565a91e6d51443f73eccacfafc4065ed.jer@gentoo \
    --to=jer@gentoo.org \
    --cc=gentoo-commits@lists.gentoo.org \
    --cc=gentoo-dev@lists.gentoo.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox