nilfs-utils: fix hardcoded paths

/sbin/nilfs_cleanerd -> $out/bin/nilfs_cleanerd
/sbin/badblocks -> ${e2fsprogs}/bin/badblocks

The relevant binaries to test are mkfs.nilfs2 (calls badblocks),
mount.nilfs2 and umount.nilfs2 (calls nilfs_cleanerd).
This commit is contained in:
S. Nordin Abouzahra 2021-11-20 19:30:54 -05:00
parent 6641934fef
commit 24aacf3808

View File

@ -1,4 +1,5 @@
{ lib, stdenv, fetchFromGitHub, fetchpatch, autoreconfHook, libuuid, libselinux }:
{ lib, stdenv, fetchFromGitHub, fetchpatch, autoreconfHook, libuuid, libselinux
, e2fsprogs }:
stdenv.mkDerivation rec {
pname = "nilfs-utils";
@ -15,6 +16,12 @@ stdenv.mkDerivation rec {
buildInputs = [ libuuid libselinux ];
postPatch = ''
# Fix up hardcoded paths.
substituteInPlace lib/cleaner_exec.c --replace /sbin/ $out/bin/
substituteInPlace sbin/mkfs/mkfs.c --replace /sbin/ ${lib.getBin e2fsprogs}/bin/
'';
# According to upstream, libmount should be detected automatically but the
# build system fails to do this. This is likely a bug with their build system
# hence it is explicitly enabled here.