From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by finch.gentoo.org (Postfix) with ESMTPS id D199313835A for ; Tue, 8 Dec 2020 03:20:12 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id B6210E0863; Tue, 8 Dec 2020 03:20:11 +0000 (UTC) Received: from smtp.gentoo.org (smtp.gentoo.org [140.211.166.183]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by pigeon.gentoo.org (Postfix) with ESMTPS id 00CFDE0863 for ; Tue, 8 Dec 2020 03:20:10 +0000 (UTC) Received: from oystercatcher.gentoo.org (oystercatcher.gentoo.org [148.251.78.52]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.gentoo.org (Postfix) with ESMTPS id 6884A340E78 for ; Tue, 8 Dec 2020 03:20:09 +0000 (UTC) Received: from localhost.localdomain (localhost [IPv6:::1]) by oystercatcher.gentoo.org (Postfix) with ESMTP id C6A2D478 for ; Tue, 8 Dec 2020 03:20:07 +0000 (UTC) From: "Sam James" To: gentoo-commits@lists.gentoo.org Content-Transfer-Encoding: 8bit Content-type: text/plain; charset=UTF-8 Reply-To: gentoo-dev@lists.gentoo.org, "Sam James" Message-ID: <1607396898.4d88e8d35bfd9e93351094ebd2e7237f9034aa36.sam@gentoo> Subject: [gentoo-commits] repo/proj/prefix:master commit in: sys-apps/coreutils/files/, sys-apps/coreutils/ X-VCS-Repository: repo/proj/prefix X-VCS-Files: sys-apps/coreutils/Manifest sys-apps/coreutils/coreutils-8.32.ebuild sys-apps/coreutils/files/coreutils-8.32-ls-restore-8.31-behavior.patch sys-apps/coreutils/files/coreutils-8.32-mint.patch sys-apps/coreutils/files/coreutils-8.32-sandbox-env-test.patch X-VCS-Directories: sys-apps/coreutils/ sys-apps/coreutils/files/ X-VCS-Committer: sam X-VCS-Committer-Name: Sam James X-VCS-Revision: 4d88e8d35bfd9e93351094ebd2e7237f9034aa36 X-VCS-Branch: master Date: Tue, 8 Dec 2020 03:20:07 +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-Auto-Response-Suppress: DR, RN, NRN, OOF, AutoReply X-Archives-Salt: 4d161092-adfc-423f-bd97-819a41508d57 X-Archives-Hash: c9a40876238d78058098d05ccdffdf8a commit: 4d88e8d35bfd9e93351094ebd2e7237f9034aa36 Author: Sam James gentoo org> AuthorDate: Tue Dec 8 03:08:18 2020 +0000 Commit: Sam James gentoo org> CommitDate: Tue Dec 8 03:08:18 2020 +0000 URL: https://gitweb.gentoo.org/repo/proj/prefix.git/commit/?id=4d88e8d3 sys-apps/coreutils: sync with ::gentoo (bump to 8.32) I've rebased the MiNT patch too. Package-Manager: Portage-3.0.12-prefix, Repoman-3.0.2 RepoMan-Options: --force Signed-off-by: Sam James gentoo.org> sys-apps/coreutils/Manifest | 1 + sys-apps/coreutils/coreutils-8.32.ebuild | 247 +++++++++++++++++++++ .../coreutils-8.32-ls-restore-8.31-behavior.patch | 94 ++++++++ sys-apps/coreutils/files/coreutils-8.32-mint.patch | 155 +++++++++++++ .../files/coreutils-8.32-sandbox-env-test.patch | 64 ++++++ 5 files changed, 561 insertions(+) diff --git a/sys-apps/coreutils/Manifest b/sys-apps/coreutils/Manifest index fb0c4db2ce..44d2e827af 100644 --- a/sys-apps/coreutils/Manifest +++ b/sys-apps/coreutils/Manifest @@ -2,3 +2,4 @@ DIST coreutils-8.29-patches-1.0.tar.xz 5772 BLAKE2B 8f05185404d527ad524684231f0b DIST coreutils-8.29.tar.xz 5286588 BLAKE2B cbb66d9054bdd2db5b9a6010876484b16d178f8f4d935836b1e42830178647fac4e0a75052a6e7e2fbc50e74e4e7ff6f8da43f1137b96d0c2d027c4ebac28a98 SHA512 546bbcd5741beae7a68e7c4ca14d6d634f7c8be87feecdeddd00e226f4865bb89d503437c3a95622ba7bb0cb70addbb5bdf3767fa18d0b7410ab90ee53b29dfd DIST coreutils-8.30-patches-01.tar.xz 5788 BLAKE2B a41511ce39ac570cb14b7f12d125eebef92217469a9490808719fa0665f5e5c0adb96fbd02c4bac4d280d1502295669575790a81dbc01afe2ca3a9d384cbefb0 SHA512 b1e1933637de4581d5f8c6ede4e80a012435d13f0cf5550a76ab5bbe9441e3c15ce19ef3f78a7ea3b8368d5e9a3bb17c1207c471d26171b59786f38adeba0454 DIST coreutils-8.30.tar.xz 5359532 BLAKE2B b66ccd112a6c2c8b90e58ff1c3371e7f5827937035769329885e5bdae197466189f3715720b8f8cf0b5047fe16d6c86984dcee994117c2d3c7b8dbd597027255 SHA512 25bc132c0d89ce71c33e417f04649c9fcfce6c5ef8b19f093b2e9e2851bfde9b5a31e20499d9c427332228ba54b88d445ddb445551e1944bb8f5cbff5ffa4eda +DIST coreutils-8.32.tar.xz 5547836 BLAKE2B 0ad99c176c19ec214fcfd0845523e5362f0151827707c759bd46c0fe8d2501c6ad1c29c5b71266f6525857bc0d56c472db0d7fe29953b6c65e2e6c76bdf3c515 SHA512 1c8f3584efd61b4b02e7ac5db8e103b63cfb2063432caaf1e64cb2dcc56d8c657d1133bbf10bd41468d6a1f31142e6caa81d16ae68fa3e6e84075c253613a145 diff --git a/sys-apps/coreutils/coreutils-8.32.ebuild b/sys-apps/coreutils/coreutils-8.32.ebuild new file mode 100644 index 0000000000..52bb58d0bc --- /dev/null +++ b/sys-apps/coreutils/coreutils-8.32.ebuild @@ -0,0 +1,247 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI="6" + +PYTHON_COMPAT=( python3_{6,7,8,9} ) + +inherit eutils flag-o-matic python-any-r1 toolchain-funcs + +PATCH="${PN}-8.30-patches-01" +DESCRIPTION="Standard GNU utilities (chmod, cp, dd, ls, sort, tr, head, wc, who,...)" +HOMEPAGE="https://www.gnu.org/software/coreutils/" +SRC_URI="mirror://gnu/${PN}/${P}.tar.xz + !vanilla? ( + mirror://gentoo/${PATCH}.tar.xz + https://dev.gentoo.org/~polynomial-c/dist/${PATCH}.tar.xz + ) +" + +LICENSE="GPL-3" +SLOT="0" +KEYWORDS="~ppc-aix ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" +IUSE="acl caps gmp hostname kill multicall nls selinux +split-usr static test userland_BSD vanilla xattr" +RESTRICT="!test? ( test )" + +LIB_DEPEND="acl? ( sys-apps/acl[static-libs] ) + caps? ( sys-libs/libcap ) + gmp? ( dev-libs/gmp:=[static-libs] ) + xattr? ( !userland_BSD? ( sys-apps/attr[static-libs] ) )" +RDEPEND="!static? ( ${LIB_DEPEND//\[static-libs]} ) + selinux? ( sys-libs/libselinux ) + nls? ( virtual/libintl )" +DEPEND="${RDEPEND} + static? ( ${LIB_DEPEND} ) + app-arch/xz-utils + test? ( + dev-lang/perl + dev-perl/Expect + !userland_BSD? ( + dev-util/strace + ) + ${PYTHON_DEPS} + $(python_gen_any_dep 'dev-python/pyinotify[${PYTHON_USEDEP}]') + )" +RDEPEND+=" + hostname? ( !sys-apps/net-tools[hostname] ) + kill? ( + !sys-apps/util-linux[kill] + !sys-process/procps[kill] + ) + !app-misc/realpath + ! "${ww}" + #!${EPREFIX}/bin/sh + exec env SANDBOX_WRITE="\${SANDBOX_WRITE}:/etc/mtab:/dev/loop" $(type -P ${w}) "\$@" + EOF + chmod a+rx "${ww}" + done + } + mkwrap mount umount + + addwrite /dev/full + #export RUN_EXPENSIVE_TESTS="yes" + #export FETISH_GROUPS="portage wheel" + env PATH="${T}/mount-wrappers:${PATH}" \ + emake -j1 -k check +} + +src_install() { + default + + insinto /etc + newins src/dircolors.hin DIR_COLORS + + if [[ ${USERLAND} == "GNU" ]] ; then + cd "${ED%/}"/usr/bin || die + dodir /bin + # move critical binaries into /bin (required by FHS) + local fhs="cat chgrp chmod chown cp date dd df echo false ln ls + mkdir mknod mv pwd rm rmdir stty sync true uname" + mv ${fhs} ../../bin/ || die "could not move fhs bins" + if use hostname; then + mv hostname ../../bin/ || die + fi + if use kill; then + mv kill ../../bin/ || die + fi + if use split-usr ; then + # move critical binaries into /bin (common scripts) + local com="basename chroot cut dir dirname du env expr head mkfifo + mktemp readlink seq sleep sort tail touch tr tty vdir wc yes" + mv ${com} ../../bin/ || die "could not move common bins" + # create a symlink for uname in /usr/bin/ since autotools require it + local x + for x in ${com} uname ; do + dosym ../../bin/${x} /usr/bin/${x} + done + fi + else + # For now, drop the man pages, collides with the ones of the system. + rm -rf "${ED%/}"/usr/share/man + fi + + if use elibc_Cygwin ; then + ! use kill || mv "${ED}"/bin/{,g}kill || die + mv "${ED}"/usr/libexec/${PN}/libstdbuf$(get_libname){.exe,} || die + fi +} + +pkg_postinst() { + ewarn "Make sure you run 'hash -r' in your active shells." + ewarn "You should also re-source your shell settings for LS_COLORS" + ewarn " changes, such as: source /etc/profile" + + # Help out users using experimental filesystems + if grep -qs btrfs "${EROOT%/}"/etc/fstab /proc/mounts ; then + case $(uname -r) in + 2.6.[12][0-9]|2.6.3[0-7]*) + ewarn "You are running a system with a buggy btrfs driver." + ewarn "Please upgrade your kernel to avoid silent corruption." + ewarn "See: https://bugs.gentoo.org/353907" + ;; + esac + fi +} diff --git a/sys-apps/coreutils/files/coreutils-8.32-ls-restore-8.31-behavior.patch b/sys-apps/coreutils/files/coreutils-8.32-ls-restore-8.31-behavior.patch new file mode 100644 index 0000000000..62a35cd85a --- /dev/null +++ b/sys-apps/coreutils/files/coreutils-8.32-ls-restore-8.31-behavior.patch @@ -0,0 +1,94 @@ +From 10fcb97bd728f09d4a027eddf8ad2900f0819b0a Mon Sep 17 00:00:00 2001 +From: Paul Eggert +Date: Thu, 5 Mar 2020 17:25:29 -0800 +Subject: ls: restore 8.31 behavior on removed directories + +* src/ls.c: Do not include +(print_dir): Don't worry about whether the directory is removed. +* tests/ls/removed-directory.sh: Adjust to match new (i.e., old) +behavior. + +diff --git a/src/ls.c b/src/ls.c +index 24b983287..4acf5f44d 100644 +--- a/src/ls.c ++++ b/src/ls.c +@@ -49,10 +49,6 @@ + # include + #endif + +-#ifdef __linux__ +-# include +-#endif +- + #include + #include + #include +@@ -2896,7 +2892,6 @@ print_dir (char const *name, char const *realname, bool command_line_arg) + struct dirent *next; + uintmax_t total_blocks = 0; + static bool first = true; +- bool found_any_entries = false; + + errno = 0; + dirp = opendir (name); +@@ -2972,7 +2967,6 @@ print_dir (char const *name, char const *realname, bool command_line_arg) + next = readdir (dirp); + if (next) + { +- found_any_entries = true; + if (! file_ignored (next->d_name)) + { + enum filetype type = unknown; +@@ -3018,22 +3012,6 @@ print_dir (char const *name, char const *realname, bool command_line_arg) + if (errno != EOVERFLOW) + break; + } +-#ifdef __linux__ +- else if (! found_any_entries) +- { +- /* If readdir finds no directory entries at all, not even "." or +- "..", then double check that the directory exists. */ +- if (syscall (SYS_getdents, dirfd (dirp), NULL, 0) == -1 +- && errno != EINVAL) +- { +- /* We exclude EINVAL as that pertains to buffer handling, +- and we've passed NULL as the buffer for simplicity. +- ENOENT is returned if appropriate before buffer handling. */ +- file_failure (command_line_arg, _("reading directory %s"), name); +- } +- break; +- } +-#endif + else + break; + +diff --git a/tests/ls/removed-directory.sh b/tests/ls/removed-directory.sh +index e8c835dab..fe8f929a1 100755 +--- a/tests/ls/removed-directory.sh ++++ b/tests/ls/removed-directory.sh +@@ -26,20 +26,14 @@ case $host_triplet in + *) skip_ 'non linux kernel' ;; + esac + +-LS_FAILURE=2 +- +-cat <<\EOF >exp-err || framework_failure_ +-ls: reading directory '.': No such file or directory +-EOF +- + cwd=$(pwd) + mkdir d || framework_failure_ + cd d || framework_failure_ + rmdir ../d || framework_failure_ + +-returns_ $LS_FAILURE ls >../out 2>../err || fail=1 ++ls >../out 2>../err || fail=1 + cd "$cwd" || framework_failure_ + compare /dev/null out || fail=1 +-compare exp-err err || fail=1 ++compare /dev/null err || fail=1 + + Exit $fail +-- +cgit v1.2.1 + diff --git a/sys-apps/coreutils/files/coreutils-8.32-mint.patch b/sys-apps/coreutils/files/coreutils-8.32-mint.patch new file mode 100644 index 0000000000..f02aeb2c9a --- /dev/null +++ b/sys-apps/coreutils/files/coreutils-8.32-mint.patch @@ -0,0 +1,155 @@ +http://bugs.gentoo.org/show_bug.cgi?id=260551 +http://bugs.gentoo.org/show_bug.cgi?id=264763 +http://bugs.gentoo.org/show_bug.cgi?id=497772 +https://savannah.gnu.org/patch/index.php?6758 + +diff -u lib/mountlist.c lib/mountlist.c +--- a/lib/mountlist.c 2009-02-07 09:58:37.000000000 +0000 ++++ b/lib/mountlist.c 2009-04-08 04:04:19.000000000 +0000 +@@ -387,6 +387,7 @@ + If NEED_FS_TYPE is true, ensure that the file system type fields in + the returned list are valid. Otherwise, they might not be. */ + ++#ifndef __MINT__ + struct mount_entry * + read_file_system_list (bool need_fs_type) + { +@@ -970,6 +971,84 @@ + return NULL; + } + } ++#else /* __MINT__ */ ++ ++#include ++#include ++#include ++#include ++ ++/* get the list of available drives */ ++static long ++get_drives(void) ++{ ++ long drive_bits; ++ ++ drive_bits = Dsetdrv(Dgetdrv()); ++ drive_bits &= ~(1|2); /* exclude all floppies */ ++ ++ return drive_bits; ++} ++ ++struct mount_entry * ++read_file_system_list (bool need_fs_type) ++{ ++ struct mount_entry *mount_list; ++ struct mount_entry *me; ++ struct mount_entry *mtail; ++ struct statfs fsp; ++ struct fs_info info; ++ long drive_bits; ++ int i, j; ++ char lw[] = "a:/", str[25]; ++ ++ /* Start the list off with a dummy entry. */ ++ me = xmalloc (sizeof (*me)); ++ me->me_next = NULL; ++ mount_list = mtail = me; ++ ++ drive_bits = get_drives(); ++ for (i = 0; i < 32; i++) ++ { ++ if (drive_bits & (1L << i)) ++ { ++ if (i < 26) ++ lw[0] = 'a' + i; ++ else ++ lw[0] = '1' + i - 26; ++ ++ if(statfs(lw, &fsp) == 0) ++ { ++ char name[32]; ++ ++ me = xmalloc (sizeof (*me)); ++ ++ me->me_devname = xstrdup(lw); ++ me->me_mountdir = xstrdup("u:/"); ++ ++ if (lw[0] < 'a') /* 1: .. 6: */ ++ me->me_dev = lw[0] - '1' + 27; ++ else ++ me->me_dev = lw[0] - 'a'; ++ ++ get_fsname(lw, NULL, name); ++ me->me_type = xstrdup(name); ++ /* Add to the linked list. */ ++ me->me_next = NULL; ++ mtail->me_next = me; ++ mtail = me; ++ } ++ } ++ } ++ ++ /* Free the dummy head. */ ++ me = mount_list; ++ mount_list = mount_list->me_next; ++ free(me); ++ return mount_list; ++} ++ ++#endif /* __MINT__ */ + + /* Free a mount entry as returned from read_file_system_list (). */ + +diff -u src/df.c src/df.c +--- a/src/df.c 2009-02-14 10:18:27.000000000 +0000 ++++ b/src/df.c 2009-04-08 04:04:19.000000000 +0000 +@@ -337,7 +337,12 @@ + It would be better to report on the unmounted file system, + but statfs doesn't do that on most systems. */ + if (!stat_file) ++#ifndef __MINT__ + stat_file = mount_point ? mount_point : disk; ++#else ++ /* MiNT: mount_point is always u:/, so use disk */ ++ stat_file = disk; ++#endif + + if (force_fsu) + fsu = *force_fsu; +diff -u Makefile.in Makefile.in +--- a/Makefile.in 2014-01-07 10:01:01.000000000 +0000 ++++ b/Makefile.in 2014-01-07 10:36:50.000000000 +0000 +@@ -3310,7 +3310,7 @@ + # must precede $(LIBINTL) in order to ensure we use GNU getopt. + # But libcoreutils.a must also follow $(LIBINTL), since libintl uses + # replacement functions defined in libcoreutils.a. +-LDADD = src/libver.a lib/libcoreutils.a $(LIBINTL) lib/libcoreutils.a ++LDADD = src/libver.a lib/libcoreutils.a $(LIBINTL) lib/libcoreutils.a $(LIB_PTHREAD) + + # First, list all programs, to make listing per-program libraries easier. + # See [ below. +diff --git a/src/uptime.c b/src/uptime.c +index a42e702..638c2d6 100644 +--- a/src/uptime.c ++++ b/src/uptime.c +@@ -17,6 +17,9 @@ + /* Created by hacking who.c by Kaveh Ghazi ghazi@caip.rutgers.edu. */ + + #include ++#ifdef __MINT__ ++#define HAVE_PROC_UPTIME 1 ++#endif + #include + + #include +@@ -62,7 +65,11 @@ print_uptime (size_t n, const STRUCT_UTMP *this) + #ifdef HAVE_PROC_UPTIME + FILE *fp; + ++#ifdef __MINT__ ++ fp = fopen ("/kern/uptime", "r"); ++#else + fp = fopen ("/proc/uptime", "r"); ++#endif + if (fp != NULL) + { + char buf[BUFSIZ]; diff --git a/sys-apps/coreutils/files/coreutils-8.32-sandbox-env-test.patch b/sys-apps/coreutils/files/coreutils-8.32-sandbox-env-test.patch new file mode 100644 index 0000000000..40b1554d94 --- /dev/null +++ b/sys-apps/coreutils/files/coreutils-8.32-sandbox-env-test.patch @@ -0,0 +1,64 @@ +Skip tests known to fail when running under Gentoo sandbox. + +--- a/tests/du/long-from-unreadable.sh ++++ b/tests/du/long-from-unreadable.sh +@@ -29,6 +29,9 @@ + # unnecessarily to using FTS_NOCHDIR mode in this corner case. + + . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src ++# Avoid #413621 until #548250 is resolved ++test -n "$SANDBOX_ACTIVE" && skip_ "Gentoo: Test known bad under sandbox (#413621)" ++ + print_ver_ du + + require_perl_ +--- a/tests/ls/removed-directory.sh ++++ b/tests/ls/removed-directory.sh +@@ -19,6 +19,9 @@ + # along with this program. If not, see . + + . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src ++# Avoid #413621 until #548250 is resolved ++test -n "$SANDBOX_ACTIVE" && skip_ "Gentoo: Test known bad under sandbox (#413621)" ++ + print_ver_ ls + + case $host_triplet in +--- a/tests/ls/stat-free-symlinks.sh ++++ b/tests/ls/stat-free-symlinks.sh +@@ -17,6 +17,9 @@ + # along with this program. If not, see . + + . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src ++# Avoid #413621 until #548250 is resolved ++test -n "$SANDBOX_ACTIVE" && skip_ "Gentoo: Test known bad under sandbox (#413621)" ++ + print_ver_ ls + require_strace_ stat + +--- a/tests/misc/env-S.pl ++++ b/tests/misc/env-S.pl +@@ -30,6 +30,11 @@ $env = $1; + # Turn off localization of executable's output. + @ENV{qw(LANGUAGE LANG LC_ALL)} = ('C') x 3; + ++# Skip if sandbox is enabled ++if ($ENV{SANDBOX_ACTIVE}) { ++ CuSkip::skip "Gentoo: Test known bad under sandbox (#675802)\n"; ++} ++ + my @Tests = + ( + # Test combination of -S and regular arguments +--- a/tests/rm/deep-2.sh ++++ b/tests/rm/deep-2.sh +@@ -17,6 +17,9 @@ + # along with this program. If not, see . + + . "${srcdir=.}/tests/init.sh"; path_prepend_ ./src ++# Avoid #413621 until #548250 is resolved ++test -n "$SANDBOX_ACTIVE" && skip_ "Gentoo: Test known bad under sandbox (#413621)" ++ + print_ver_ rm + require_perl_ +