Commit 416f268c authored by Alyssa Ross's avatar Alyssa Ross
Browse files

acl: backport patch for musl 1.2.4

parent 048e91e5
Loading
Loading
Loading
Loading
+38 −0
Original line number Diff line number Diff line
From 2b42f64737adf6a2ddd491213580d6e9cdd2f5af Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Thu, 10 Nov 2022 18:04:15 -0800
Subject: chacl: Use portable version of dirent and readdir

Using 64bit versions on 32bit architectures should be enabled with
--enable-largefile, this makes it portable across musl and glibc

Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
 tools/chacl.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/tools/chacl.c b/tools/chacl.c
index 525a7ff..8fff875 100644
--- a/tools/chacl.c
+++ b/tools/chacl.c
@@ -320,7 +320,7 @@ walk_dir(acl_t acl, acl_t dacl, const char *fname)
 {
 	int failed = 0;
 	DIR *dir;
-	struct dirent64 *d;
+	struct dirent *d;
 	char *name;
 
 	if ((dir = opendir(fname)) == NULL) {
@@ -332,7 +332,7 @@ walk_dir(acl_t acl, acl_t dacl, const char *fname)
 		return(0);	/* got a file, not an error */
 	}
 
-	while ((d = readdir64(dir)) != NULL) {
+	while ((d = readdir(dir)) != NULL) {
 		/* skip "." and ".." entries */
 		if (strcmp(d->d_name, ".") == 0 || strcmp(d->d_name, "..") == 0)
 			continue;
-- 
cgit v1.1
+5 −1
Original line number Diff line number Diff line
@@ -14,6 +14,10 @@ stdenv.mkDerivation rec {
    sha256 = "sha256-dgxhxokBs3/dXu/ur0wMeia9/disdHoe3/HODiQ8Ea8=";
  };

  patches = [
    ./LFS64.patch
  ];

  outputs = [ "bin" "dev" "out" "man" "doc" ];

  nativeBuildInputs = [ gettext ];
@@ -24,7 +28,7 @@ stdenv.mkDerivation rec {

  # Upstream use C++-style comments in C code. Remove them.
  # This comment breaks compilation if too strict gcc flags are used.
  patchPhase = ''
  postPatch = ''
    echo "Removing C++-style comments from include/acl.h"
    sed -e '/^\/\//d' -i include/acl.h