Merge pull request #11683 from rvl/fail2ban

Make fail2ban work again
This commit is contained in:
Rok Garbas 2015-12-22 01:46:18 +01:00
commit 38a6b5fb43
4 changed files with 69 additions and 65 deletions

View File

@ -3,14 +3,11 @@
, glib, kbd, libxslt, coreutils, libgcrypt
, kexectools, libmicrohttpd, linuxHeaders, libseccomp
, autoreconfHook, gettext, docbook_xsl, docbook_xml_dtd_42, docbook_xml_dtd_45
, pythonPackages ? null, pythonSupport ? false
, enableKDbus ? false
}:
assert stdenv.isLinux;
assert pythonSupport -> pythonPackages != null;
stdenv.mkDerivation rec {
version = "228";
name = "systemd-${version}";
@ -32,7 +29,7 @@ stdenv.mkDerivation rec {
by generating an autoconf'd tarball, but that's probably not
worth it. */
autoreconfHook gettext docbook_xsl docbook_xml_dtd_42 docbook_xml_dtd_45
] ++ stdenv.lib.optionals pythonSupport [pythonPackages.python pythonPackages.lxml];
];
configureFlags =
[ "--localstatedir=/var"

View File

@ -1,4 +1,4 @@
{ stdenv, fetchzip, python, pythonPackages, unzip, systemd, gamin }:
{ stdenv, fetchzip, python, pythonPackages, unzip, gamin }:
let version = "0.9.3"; in
@ -14,18 +14,10 @@ pythonPackages.buildPythonPackage {
buildInputs = [ unzip ];
pythonPath = (stdenv.lib.optional stdenv.isLinux systemd)
++ [ python.modules.sqlite3 gamin ];
propagatedBuildInputs = [ python.modules.sqlite3 gamin ]
++ (stdenv.lib.optional stdenv.isLinux pythonPackages.systemd);
preConfigure = ''
substituteInPlace setup.cfg \
--replace /usr $out
substituteInPlace setup.py \
--replace /usr $out \
--replace /etc $out/etc \
--replace /var $TMPDIR/var \
for i in fail2ban-client fail2ban-regex fail2ban-server; do
substituteInPlace $i \
--replace /usr/share/fail2ban $out/share/fail2ban
@ -40,6 +32,18 @@ pythonPackages.buildPythonPackage {
doCheck = false;
preInstall = ''
# see https://github.com/NixOS/nixpkgs/issues/4968
${python}/bin/${python.executable} setup.py install_data --install-dir=$out --root=$out
'';
postInstall = let
sitePackages = "$out/lib/${python.libPrefix}/site-packages";
in ''
# see https://github.com/NixOS/nixpkgs/issues/4968
rm -rf ${sitePackages}/etc ${sitePackages}/usr ${sitePackages}/var;
'';
meta = with stdenv.lib; {
homepage = http://www.fail2ban.org/;
description = "A program that scans log files for repeated failing login attempts and bans IP addresses";

View File

@ -1432,11 +1432,7 @@ let
fabric = pythonPackages.fabric;
fail2ban = callPackage ../tools/security/fail2ban {
systemd = systemd.override {
pythonSupport = true;
};
};
fail2ban = callPackage ../tools/security/fail2ban { };
fakeroot = callPackage ../tools/system/fakeroot { };

View File

@ -18587,7 +18587,6 @@ in modules // {
};
};
structlog = buildPythonPackage rec {
name = "structlog-15.3.0";
@ -18629,21 +18628,59 @@ in modules // {
};
};
syncthing-gtk = buildPythonPackage rec {
version = "0.6.3";
name = "syncthing-gtk-${version}";
src = pkgs.fetchFromGitHub {
owner = "syncthing";
repo = "syncthing-gtk";
rev = "v${version}";
sha256 = "1qa5bw2qizjiqvkms8i31wsjf8cw9p0ciamxgfgq6n37wcalv6ms";
};
# XXX: ValueError: ZIP does not support timestamps before 1980
# svneverever = buildPythonPackage rec {
# name = "svneverever-778489a8";
#
# src = pkgs.fetchgit {
# url = git://git.goodpoint.de/svneverever.git;
# rev = "778489a8c6f07825fb18c9da3892a781c3d659ac";
# sha256 = "41c9da1dab2be7b60bff87e618befdf5da37c0a56287385cb0cbd3f91e452bb6";
# };
#
# propagatedBuildInputs = with self; [ pysvn argparse ];
#
# doCheck = false;
# };
disabled = isPy3k;
propagatedBuildInputs = with self; [ pkgs.syncthing dateutil pyinotify pkgs.libnotify pkgs.psmisc
pygobject3 pkgs.gtk3 ];
patchPhase = ''
substituteInPlace "scripts/syncthing-gtk" \
--replace "/usr/share" "$out/share"
substituteInPlace setup.py --replace "version = get_version()" "version = '${version}'"
'';
meta = {
description = " GTK3 & python based GUI for Syncthing ";
maintainers = with maintainers; [ DamienCassou ];
platforms = pkgs.syncthing.meta.platforms;
homepage = "https://github.com/syncthing/syncthing-gtk";
license = licenses.gpl2;
};
};
systemd = buildPythonPackage rec {
version = "231";
name = "python-systemd-${version}";
src = pkgs.fetchurl {
url = "https://github.com/systemd/python-systemd/archive/v${version}.tar.gz";
sha256 = "1sifq7mdg0y5ngab8vjy8995nz9c0hxny35dxs5qjx0k0hyzb71c";
};
buildInputs = with pkgs; [ systemd pkgconfig ];
patchPhase = ''
substituteInPlace setup.py \
--replace "/usr/include" "${pkgs.systemd}/include"
echo '#include <time.h>' >> systemd/pyutil.h
'';
meta = {
description = "Python module for native access to the systemd facilities";
homepage = http://www.freedesktop.org/software/systemd/python-systemd/;
license = licenses.lgpl21;
};
};
tabulate = buildPythonPackage rec {
version = "0.7.5";
@ -18689,36 +18726,6 @@ in modules // {
};
};
syncthing-gtk = buildPythonPackage rec {
version = "0.6.3";
name = "syncthing-gtk-${version}";
src = pkgs.fetchFromGitHub {
owner = "syncthing";
repo = "syncthing-gtk";
rev = "v${version}";
sha256 = "1qa5bw2qizjiqvkms8i31wsjf8cw9p0ciamxgfgq6n37wcalv6ms";
};
disabled = isPy3k;
propagatedBuildInputs = with self; [ pkgs.syncthing dateutil pyinotify pkgs.libnotify pkgs.psmisc
pygobject3 pkgs.gtk3 ];
patchPhase = ''
substituteInPlace "scripts/syncthing-gtk" \
--replace "/usr/share" "$out/share"
substituteInPlace setup.py --replace "version = get_version()" "version = '${version}'"
'';
meta = {
description = " GTK3 & python based GUI for Syncthing ";
maintainers = with maintainers; [ DamienCassou ];
platforms = pkgs.syncthing.meta.platforms;
homepage = "https://github.com/syncthing/syncthing-gtk";
license = licenses.gpl2;
};
};
tarsnapper = buildPythonPackage rec {
name = "tarsnapper-0.2.1";
disabled = isPy3k;