about summary refs log tree commit diff
path: root/pkgs/tools/misc/coreutils
diff options
context:
space:
mode:
authorgithub-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>2021-10-31 12:01:52 +0000
committerGitHub <noreply@github.com>2021-10-31 12:01:52 +0000
commit858d551e4078d1cfa1791a58c77873fcd55e49c7 (patch)
tree0bcb93093b76f658d7539cca51f1fb4c1a4fee5d /pkgs/tools/misc/coreutils
parent96561db6806db29bfbca3fda08934e70185a3ca5 (diff)
parentf66386e3b12af275a4e961a317823004380deafc (diff)
Merge staging-next into staging
Diffstat (limited to 'pkgs/tools/misc/coreutils')
-rw-r--r--pkgs/tools/misc/coreutils/8.nix162
-rw-r--r--pkgs/tools/misc/coreutils/sys-getdents-undeclared.patch100
2 files changed, 0 insertions, 262 deletions
diff --git a/pkgs/tools/misc/coreutils/8.nix b/pkgs/tools/misc/coreutils/8.nix
deleted file mode 100644
index f22a7268fbc93..0000000000000
--- a/pkgs/tools/misc/coreutils/8.nix
+++ /dev/null
@@ -1,162 +0,0 @@
-{ stdenv, lib, buildPackages
-, autoreconfHook, bison, texinfo, fetchurl, perl, xz, libiconv, gmp ? null
-, aclSupport ? stdenv.isLinux, acl ? null
-, attrSupport ? stdenv.isLinux, attr ? null
-, selinuxSupport? false, libselinux ? null, libsepol ? null
-# No openssl in default version, so openssl-induced rebuilds aren't too big.
-# It makes *sum functions significantly faster.
-, minimal ? true, withOpenssl ? !minimal, openssl ? null
-, withPrefix ? false
-, singleBinary ? "symlinks" # you can also pass "shebangs" or false
-}:
-
-# Note: this package is used for bootstrapping fetchurl, and thus
-# cannot use fetchpatch! All mutable patches (generated by GitHub or
-# cgit) that are needed here should be included directly in Nixpkgs as
-# files.
-
-assert aclSupport -> acl != null;
-assert selinuxSupport -> libselinux != null && libsepol != null;
-
-with lib;
-
-stdenv.mkDerivation (rec {
-  pname = "coreutils";
-  version = "8.32";
-
-  src = fetchurl {
-    url = "mirror://gnu/${pname}/${pname}-${version}.tar.xz";
-    sha256 = "sha256-RFjY3nhJ30TMqxXhaxVIsoUiTbul8I+sBwwcDgvMTPo=";
-  };
-
-  patches = [ ./sys-getdents-undeclared.patch ]
-    ++ optional stdenv.hostPlatform.isCygwin ./coreutils-8.23-4.cygwin.patch
-    # fix gnulib tests on 32-bit ARM. Included on coreutils master.
-    # https://lists.gnu.org/r/bug-gnulib/2020-08/msg00225.html
-    ++ optional stdenv.hostPlatform.isAarch32 ./fix-gnulib-tests-arm.patch;
-
-  postPatch = ''
-    # The test tends to fail on btrfs,f2fs and maybe other unusual filesystems.
-    sed '2i echo Skipping dd sparse test && exit 77' -i ./tests/dd/sparse.sh
-    sed '2i echo Skipping du threshold test && exit 77' -i ./tests/du/threshold.sh
-    sed '2i echo Skipping cp sparse test && exit 77' -i ./tests/cp/sparse.sh
-    sed '2i echo Skipping rm deep-2 test && exit 77' -i ./tests/rm/deep-2.sh
-    sed '2i echo Skipping du long-from-unreadable test && exit 77' -i ./tests/du/long-from-unreadable.sh
-
-    # Depends on the mountpoints
-    sed '2i echo Skipping df df-symlink test && exit 77' -i ./tests/df/df-symlink.sh
-
-    # Some target platforms, especially when building inside a container have
-    # issues with the inotify test.
-    sed '2i echo Skipping tail inotify dir recreate test && exit 77' -i ./tests/tail-2/inotify-dir-recreate.sh
-
-    # sandbox does not allow setgid
-    sed '2i echo Skipping chmod setgid test && exit 77' -i ./tests/chmod/setgid.sh
-    substituteInPlace ./tests/install/install-C.sh \
-      --replace 'mode3=2755' 'mode3=1755'
-
-    sed '2i print "Skipping env -S test";  exit 77;' -i ./tests/misc/env-S.pl
-
-    # Fails on systems with a rootfs. Looks like a bug in the test, see
-    # https://lists.gnu.org/archive/html/bug-coreutils/2019-12/msg00000.html
-    sed '2i print "Skipping df skip-rootfs test"; exit 77' -i ./tests/df/skip-rootfs.sh
-
-    # these tests fail in the unprivileged nix sandbox (without nix-daemon) as we break posix assumptions
-    for f in ./tests/chgrp/{basic.sh,recurse.sh,default-no-deref.sh,no-x.sh,posix-H.sh}; do
-      sed '2i echo Skipping chgrp && exit 77' -i "$f"
-    done
-    for f in gnulib-tests/{test-chown.c,test-fchownat.c,test-lchown.c}; do
-      echo "int main() { return 77; }" > "$f"
-    done
-
-    # tests try to access user 1000 which is forbidden in sandbox
-    sed '2i print "Skipping id uid test"; exit 77' -i ./tests/id/uid.sh
-    sed '2i print "Skipping id zero test"; exit 77' -i ./tests/id/zero.sh
-    sed '2i print "Skipping misc help-versiob test"; exit 77' -i ./tests/misc/help-version.sh
-    sed '2i print "Skipping chown separator test"; exit 77' -i ./tests/chown/separator.sh
-  '' + optionalString (stdenv.hostPlatform.libc == "musl") (lib.concatStringsSep "\n" [
-    ''
-      echo "int main() { return 77; }" > gnulib-tests/test-parse-datetime.c
-      echo "int main() { return 77; }" > gnulib-tests/test-getlogin.c
-    ''
-  ]);
-
-  outputs = [ "out" "info" ];
-
-  nativeBuildInputs = [ perl xz.bin ]
-    ++ optionals stdenv.hostPlatform.isCygwin [ autoreconfHook texinfo ];  # due to patch
-  configureFlags = [ "--with-packager=https://NixOS.org" ]
-    ++ optional (singleBinary != false)
-      ("--enable-single-binary" + optionalString (isString singleBinary) "=${singleBinary}")
-    ++ optional withOpenssl "--with-openssl"
-    ++ optional stdenv.hostPlatform.isSunOS "ac_cv_func_inotify_init=no"
-    ++ optional withPrefix "--program-prefix=g"
-    ++ optionals (stdenv.hostPlatform != stdenv.buildPlatform && stdenv.hostPlatform.libc == "glibc") [
-      # TODO(19b98110126fde7cbb1127af7e3fe1568eacad3d): Needed for fstatfs() I
-      # don't know why it is not properly detected cross building with glibc.
-      "fu_cv_sys_stat_statfs2_bsize=yes"
-    ];
-
-
-  buildInputs = [ gmp ]
-    ++ optional aclSupport acl
-    ++ optional attrSupport attr
-    ++ optional withOpenssl openssl
-    ++ optionals selinuxSupport [ libselinux libsepol ]
-       # TODO(@Ericson2314): Investigate whether Darwin could benefit too
-    ++ optional (stdenv.hostPlatform != stdenv.buildPlatform && stdenv.hostPlatform.libc != "glibc") libiconv;
-
-  # The tests are known broken on Cygwin
-  # (http://article.gmane.org/gmane.comp.gnu.core-utils.bugs/19025),
-  # Darwin (http://article.gmane.org/gmane.comp.gnu.core-utils.bugs/19351),
-  # and {Open,Free}BSD.
-  # With non-standard storeDir: https://github.com/NixOS/nix/issues/512
-  doCheck = stdenv.hostPlatform == stdenv.buildPlatform
-    && (stdenv.hostPlatform.libc == "glibc" || stdenv.hostPlatform.isMusl)
-    && !stdenv.isAarch32;
-
-  # Prevents attempts of running 'help2man' on cross-built binaries.
-  PERL = if stdenv.hostPlatform == stdenv.buildPlatform then null else "missing";
-
-  # Saw random failures like ‘help2man: can't get '--help' info from
-  # man/sha512sum.td/sha512sum’.
-  enableParallelBuilding = false;
-
-  NIX_LDFLAGS = optionalString selinuxSupport "-lsepol";
-  FORCE_UNSAFE_CONFIGURE = optionalString stdenv.hostPlatform.isSunOS "1";
-
-  # Works around a bug with 8.26:
-  # Makefile:3440: *** Recursive variable 'INSTALL' references itself (eventually).  Stop.
-  preInstall = optionalString (stdenv.hostPlatform != stdenv.buildPlatform) ''
-    sed -i Makefile -e 's|^INSTALL =.*|INSTALL = ${buildPackages.coreutils}/bin/install -c|'
-  '';
-
-  postInstall = optionalString (stdenv.hostPlatform != stdenv.buildPlatform && !minimal) ''
-    rm $out/share/man/man1/*
-    cp ${buildPackages.coreutils-full}/share/man/man1/* $out/share/man/man1
-  ''
-  # du: 8.7 M locale + 0.4 M man pages
-  + optionalString minimal ''
-    rm -r "$out/share"
-  '';
-
-  meta = {
-    homepage = "https://www.gnu.org/software/coreutils/";
-    description = "The basic file, shell and text manipulation utilities of the GNU operating system";
-    longDescription = ''
-      The GNU Core Utilities are the basic file, shell and text
-      manipulation utilities of the GNU operating system.  These are
-      the core utilities which are expected to exist on every
-      operating system.
-    '';
-    license = licenses.gpl3Plus;
-    platforms = platforms.unix ++ platforms.windows;
-    priority = 10;
-    maintainers = [ maintainers.eelco ];
-  };
-} // optionalAttrs stdenv.hostPlatform.isMusl {
-  # Work around a bogus warning in conjunction with musl.
-  NIX_CFLAGS_COMPILE = "-Wno-error";
-} // lib.optionalAttrs stdenv.hostPlatform.isAndroid {
-  NIX_CFLAGS_COMPILE = "-D__USE_FORTIFY_LEVEL=0";
-})
diff --git a/pkgs/tools/misc/coreutils/sys-getdents-undeclared.patch b/pkgs/tools/misc/coreutils/sys-getdents-undeclared.patch
deleted file mode 100644
index 0af5de68415a9..0000000000000
--- a/pkgs/tools/misc/coreutils/sys-getdents-undeclared.patch
+++ /dev/null
@@ -1,100 +0,0 @@
-From 10fcb97bd728f09d4a027eddf8ad2900f0819b0a Mon Sep 17 00:00:00 2001
-From: Paul Eggert <eggert@cs.ucla.edu>
-Date: Thu, 5 Mar 2020 17:25:29 -0800
-Subject: ls: restore 8.31 behavior on removed directories
-
-* NEWS: Mention this.
-* src/ls.c: Do not include <sys/sycall.h>
-(print_dir): Don't worry about whether the directory is removed.
-* tests/ls/removed-directory.sh: Adjust to match new (i.e., old)
-behavior.
----
- NEWS (removed diff in nixpkgs)|  6 ++++++
- src/ls.c                      | 22 ----------------------
- tests/ls/removed-directory.sh | 10 ++--------
- 3 files changed, 8 insertions(+), 30 deletions(-)
-
-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 <sys/ptem.h>
- #endif
- 
--#ifdef __linux__
--# include <sys/syscall.h>
--#endif
--
- #include <stdio.h>
- #include <assert.h>
- #include <setjmp.h>
-@@ -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
-