xfsprogs: 4.19 -> 5.10

wip/yesman
ajs124 3 years ago
parent eb2913551f
commit a2267f6341
  1. 8
      nixos/doc/manual/release-notes/rl-2103.xml
  2. 40
      pkgs/tools/filesystems/xfsprogs/default.nix

@ -168,6 +168,14 @@
<literal>/var/lib/powerdns</literal> to <literal>/run/pdns</literal>.
</para>
</listitem>
<listitem>
<para>
xfsprogs was update from 4.19 to 5.10. It now enables reflink support by default on filesystem creation.
Support for reflinks was added with an experimental status to kernel 4.9 and deemed stable in kernel 4.16.
If you want to be able to mount XFS filesystems created with this release of xfsprogs on kernel releases older than those, you need to format them
with <literal>mkfs.xfs -m reflink=0</literal>.
</para>
</listitem>
<listitem>
<para>
<package>btc1</package> has been abandoned upstream, and removed.

@ -1,22 +1,14 @@
{ stdenv, buildPackages, fetchpatch, fetchgit, autoconf, automake, gettext, libtool, pkgconfig
, icu, libuuid, readline
{ stdenv, buildPackages, fetchpatch, fetchurl, autoconf, automake, gettext, libtool, pkgconfig
, icu, libuuid, readline, inih
}:
let
gentooPatch = name: sha256: fetchpatch {
url = "https://gitweb.gentoo.org/repo/gentoo.git/plain/sys-fs/xfsprogs/files/${name}?id=2517dd766cf84d251631f4324f7ec4bce912abb9";
inherit sha256;
};
in
stdenv.mkDerivation rec {
pname = "xfsprogs";
version = "4.19.0";
version = "5.10.0";
src = fetchgit {
url = "https://git.kernel.org/pub/scm/fs/xfs/xfsprogs-dev.git";
rev = "v${version}";
sha256 = "18728hzfxr1bg4bdzqlxjs893ac1zwlfr7nmc2q4a1sxs0sphd1d";
src = fetchurl {
url = "mirror://kernel/linux/utils/fs/xfs/xfsprogs/${pname}-${version}.tar.xz";
sha256 = "1schqzjx836jd54l10pqds7hyli2m77df3snk95xbr23dpj1fh70";
};
outputs = [ "bin" "dev" "out" "doc" ];
@ -26,26 +18,24 @@ stdenv.mkDerivation rec {
autoconf automake libtool gettext pkgconfig
libuuid # codegen tool uses libuuid
];
buildInputs = [ readline icu ];
buildInputs = [ readline icu inih ];
propagatedBuildInputs = [ libuuid ]; # Dev headers include <uuid/uuid.h>
enableParallelBuilding = true;
# Why is all this garbage needed? Why? Why?
patches = [
(gentooPatch "xfsprogs-4.15.0-sharedlibs.patch" "0bv2naxpiw7vcsg8p1v2i47wgfda91z1xy1kfwydbp4wmb4nbyyv")
(gentooPatch "xfsprogs-4.15.0-docdir.patch" "1srgdidvq2ka0rmfdwpqp92fapgh53w1h7rajm4nnby5vp2v8dfr")
(gentooPatch "xfsprogs-4.9.0-underlinking.patch" "1r7l8jphspy14i43zbfnjrnyrdm4cpgyfchblascxylmans0gci7")
];
# @sbindir@ is replaced with /run/current-system/sw/bin to fix dependency cycles
preConfigure = ''
sed -i Makefile -e '/cp include.install-sh/d'
for file in scrub/{xfs_scrub_all.cron.in,xfs_scrub@.service.in,xfs_scrub_all.service.in}; do
substituteInPlace "$file" \
--replace '@sbindir@' '/run/current-system/sw/bin'
done
make configure
patchShebangs ./install-sh
'';
configureFlags = [
"--disable-lib64"
"--enable-readline"
"--with-systemd-unit-dir=${placeholder "out"}/lib/systemd/system"
];
installFlags = [ "install-dev" ];
@ -60,6 +50,6 @@ stdenv.mkDerivation rec {
description = "SGI XFS utilities";
license = licenses.lgpl21;
platforms = platforms.linux;
maintainers = with maintainers; [ dezgeg ];
maintainers = with maintainers; [ dezgeg ajs124 ];
};
}

Loading…
Cancel
Save