nixpkgs-suyu/pkgs/os-specific/linux/udisks/1-default.nix
Eelco Dolstra 59ea2d7ba5 Apply patch for CVE-2014-0004 to udisks-1.0.4
(cherry picked from commit 3b1f9899618f81794ce8b88fe4eaa867e549eb06)
2014-04-07 13:22:12 +02:00

43 lines
1.4 KiB
Nix

{ stdenv, fetchurl, pkgconfig, sg3_utils, udev, glib, dbus, dbus_glib
, polkit, parted, lvm2, libatasmart, intltool, libuuid, mdadm
, libxslt, docbook_xsl, utillinux }:
stdenv.mkDerivation rec {
name = "udisks-1.0.4";
src = fetchurl {
url = "http://hal.freedesktop.org/releases/${name}.tar.gz";
sha256 = "1xgqifddwaavmjc8c30i0mdffyirsld7c6qhfyjw7f9khwv8jjw5";
};
patches = [ ./purity.patch ./no-pci-db.patch ./cve-2014-0004.patch ];
postPatch =
''
sed -e 's,/sbin/mdadm,${mdadm}&,g' -e "s,@slashlibdir@,$out/lib,g" -i data/80-udisks.rules
substituteInPlace src/main.c --replace \
"/sbin:/bin:/usr/sbin:/usr/bin" \
"${utillinux}/bin:${mdadm}/sbin:/var/run/current-system/sw/bin:/var/run/current-system/sw/sbin"
# For some reason @libexec@ is set to 'lib/' when building.
# Passing --libexecdir in configureFlags didn't help.
substituteInPlace data/systemd/udisks.service.in \
--replace "@libexecdir@" "$out/libexec"
'';
buildInputs =
[ sg3_utils udev glib dbus dbus_glib polkit parted
lvm2 libatasmart intltool libuuid libxslt docbook_xsl
];
nativeBuildInputs = [ pkgconfig ];
configureFlags = "--localstatedir=/var --enable-lvm2";
meta = {
homepage = http://www.freedesktop.org/wiki/Software/udisks;
description = "A daemon and command-line utility for querying and manipulating storage devices";
platforms = stdenv.lib.platforms.linux;
};
}