From: Ismaƫl Bouya Date: Mon, 27 May 2019 22:34:01 +0000 (+0200) Subject: Remove private specificities from pure-ftpd package and lib X-Git-Url: https://git.immae.eu/?p=perso%2FImmae%2FConfig%2FNix.git;a=commitdiff_plain;h=fe696f35f5e0789d4bc448bca4bbaf93d1182175 Remove private specificities from pure-ftpd package and lib --- diff --git a/lib/default.nix b/lib/default.nix index 1baee1f..6b3dfdf 100644 --- a/lib/default.nix +++ b/lib/default.nix @@ -61,22 +61,4 @@ rec { makeWrapper "$f" "$out" ${toString args} ''; - # This adds header colors to the builds, but it rebuilds the whole - # world from scratch, so only use it to debug! - # add it as postHook in derivations - immaePostHook = '' - header() { - echo -ne "\033[1;36m" - echo -n "$1" - echo -e "\033[0m" - } - - echoCmd() { - printf "\033[1;34m%s:\033[0m" "$1" - shift - printf ' %q' "$@" - echo - } - ''; - -} // (if builtins.pathExists ./lib/private then import ./lib/private else {}) +} // (if builtins.pathExists ./private then callPackage ./private {} else {}) diff --git a/lib/private/default.nix b/lib/private/default.nix new file mode 100644 index 0000000..c7d753a --- /dev/null +++ b/lib/private/default.nix @@ -0,0 +1,20 @@ +{}: +{ + # This adds header colors to the builds, but it rebuilds the whole + # world from scratch, so only use it to debug! + # add it as postHook in derivations + immaePostHook = '' + header() { + echo -ne "\033[1;36m" + echo -n "$1" + echo -e "\033[0m" + } + + echoCmd() { + printf "\033[1;34m%s:\033[0m" "$1" + shift + printf ' %q' "$@" + echo + } + ''; +} diff --git a/modules/private/ftp.nix b/modules/private/ftp.nix index 842d2d6..ada5f41 100644 --- a/modules/private/ftp.nix +++ b/modules/private/ftp.nix @@ -1,4 +1,7 @@ { lib, pkgs, config, myconfig, ... }: +let + package = pkgs.pure-ftpd.override { ldapFtpId = "immaeFtp"; }; +in { options = { services.pure-ftpd.enable = lib.mkOption { @@ -109,7 +112,7 @@ wantedBy = [ "multi-user.target" ]; after = [ "network.target" ]; - serviceConfig.ExecStart = "${pkgs.pure-ftpd}/bin/pure-ftpd ${configFile}"; + serviceConfig.ExecStart = "${package}/bin/pure-ftpd ${configFile}"; serviceConfig.Type = "forking"; serviceConfig.PIDFile = "/run/pure-ftpd.pid"; }; diff --git a/pkgs/pure-ftpd/default.nix b/pkgs/pure-ftpd/default.nix index 37ce695..32a7a91 100644 --- a/pkgs/pure-ftpd/default.nix +++ b/pkgs/pure-ftpd/default.nix @@ -1,4 +1,5 @@ -{ stdenv, fetchurl, openssl, postgresql, openldap }: +{ ldapFtpId ? null +, stdenv, fetchurl, openssl, postgresql, openldap }: stdenv.mkDerivation rec { name = "pure-ftpd-1.0.47"; @@ -8,9 +9,9 @@ stdenv.mkDerivation rec { sha256 = "1b97ixva8m10vln8xrfwwwzi344bkgxqji26d0nrm1yzylbc6h27"; }; - preConfigure = '' - sed -i -e "s#FTPuid#immaeFtpUid#" src/log_ldap.h - sed -i -e "s#FTPgid#immaeFtpGid#" src/log_ldap.h + preConfigure = stdenv.lib.optionalString (!isNull ldapFtpId) '' + sed -i -e "s#FTPuid#${ldapFtpId}Uid#" src/log_ldap.h + sed -i -e "s#FTPgid#${ldapFtpId}Gid#" src/log_ldap.h ''; postConfigure = '' sed -i 's/define MAX_DATA_SIZE (40/define MAX_DATA_SIZE (70/' src/ftpd.h diff --git a/scripts/make-nur b/scripts/make-nur index 6766d95..1fe5f7a 100755 --- a/scripts/make-nur +++ b/scripts/make-nur @@ -17,14 +17,14 @@ first_commit="5145061e9b679ea1e5d2709d22d0ee53467fed15" git rebase --onto=$nur_root $first_commit master clean_folder=' - rm -rf config modules/private pkgs/private nixops - for bad in pkgs/crypto/cardano/default.nix; do - if [ -f $bad ]; then - rm -f $bad - cat > $bad <<-EOF - { runCommand, mylibs }: - runCommand "empty" { preferLocalBuild = true; } "mkdir -p \$out" -EOF + rm -rf config lib/private modules/private pkgs/private nixops + for broken in pkgs/crypto/cardano/default.nix; do + if [ -f $broken ]; then + rm -f $broken + cat > $broken <<-EOF + { runCommand, mylibs }: + runCommand "empty" { preferLocalBuild = true; } "mkdir -p \$out" + EOF fi done '