From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80]) by finch.gentoo.org (Postfix) with ESMTP id 281D6138263 for ; Mon, 23 May 2016 05:15:58 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id 8A4A4234010; Mon, 23 May 2016 05:15:57 +0000 (UTC) Received: from smtp.gentoo.org (smtp.gentoo.org [140.211.166.183]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by pigeon.gentoo.org (Postfix) with ESMTPS id F27C7234010 for ; Mon, 23 May 2016 05:15:56 +0000 (UTC) Received: from oystercatcher.gentoo.org (unknown [IPv6:2a01:4f8:202:4333:225:90ff:fed9:fc84]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.gentoo.org (Postfix) with ESMTPS id E3FE7340BC1 for ; Mon, 23 May 2016 05:15:55 +0000 (UTC) Received: from localhost.localdomain (localhost [127.0.0.1]) by oystercatcher.gentoo.org (Postfix) with ESMTP id 1CD98342 for ; Mon, 23 May 2016 05:15:53 +0000 (UTC) From: "Jeroen Roovers" To: gentoo-commits@lists.gentoo.org Content-Transfer-Encoding: 8bit Content-type: text/plain; charset=UTF-8 Reply-To: gentoo-dev@lists.gentoo.org, "Jeroen Roovers" Message-ID: <1463980540.5fbc6165565a91e6d51443f73eccacfafc4065ed.jer@gentoo> Subject: [gentoo-commits] repo/gentoo:master commit in: sys-apps/findutils/, sys-apps/findutils/files/ X-VCS-Repository: repo/gentoo X-VCS-Files: sys-apps/findutils/files/findutils-4.6.0-gnulib-S_MAGIC_NFS.patch sys-apps/findutils/findutils-4.6.0-r1.ebuild X-VCS-Directories: sys-apps/findutils/files/ sys-apps/findutils/ X-VCS-Committer: jer X-VCS-Committer-Name: Jeroen Roovers X-VCS-Revision: 5fbc6165565a91e6d51443f73eccacfafc4065ed X-VCS-Branch: master Date: Mon, 23 May 2016 05:15:53 +0000 (UTC) Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-commits@lists.gentoo.org X-Archives-Salt: 4f11deef-a569-48b4-9a4c-773838f8cafc X-Archives-Hash: 4c8af811808f5e3d71d5d96502a80657 commit: 5fbc6165565a91e6d51443f73eccacfafc4065ed Author: Jeroen Roovers gentoo org> AuthorDate: Mon May 23 05:11:58 2016 +0000 Commit: Jeroen Roovers gentoo 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 +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 +* 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 . */ +- 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 ++ NFS should return true. However st_nlink values are not accurate on ++ all implementations as per . */ ++ /* 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 /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 \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 +}