about summary refs log tree commit diff
path: root/nixpkgs/pkgs/applications/networking/cluster/ssm-agent/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/pkgs/applications/networking/cluster/ssm-agent/default.nix')
-rw-r--r--nixpkgs/pkgs/applications/networking/cluster/ssm-agent/default.nix157
1 files changed, 0 insertions, 157 deletions
diff --git a/nixpkgs/pkgs/applications/networking/cluster/ssm-agent/default.nix b/nixpkgs/pkgs/applications/networking/cluster/ssm-agent/default.nix
deleted file mode 100644
index f6afcd7d884f..000000000000
--- a/nixpkgs/pkgs/applications/networking/cluster/ssm-agent/default.nix
+++ /dev/null
@@ -1,157 +0,0 @@
-{ lib
-, writeShellScriptBin
-, buildGoModule
-, makeWrapper
-, fetchFromGitHub
-, coreutils
-, nettools
-, util-linux
-, stdenv
-, dmidecode
-, bashInteractive
-, nix-update-script
-, testers
-, ssm-agent
-, overrideEtc ? true
-}:
-
-let
-  # Tests use lsb_release, so we mock it (the SSM agent used to not
-  # read from our /etc/os-release file, but now it does) because in
-  # reality, it won't (shouldn't) be used when active on a system with
-  # /etc/os-release. If it is, we fake the only two fields it cares about.
-  fake-lsb-release = writeShellScriptBin "lsb_release" ''
-    . /etc/os-release || true
-
-    case "$1" in
-      -i) echo "''${NAME:-unknown}";;
-      -r) echo "''${VERSION:-unknown}";;
-    esac
-  '';
-
-  binaries = {
-    "core" = "amazon-ssm-agent";
-    "agent" = "ssm-agent-worker";
-    "cli-main" = "ssm-cli";
-    "worker" = "ssm-document-worker";
-    "logging" = "ssm-session-logger";
-    "sessionworker" = "ssm-session-worker";
-  };
-in
-buildGoModule rec {
-  pname = "amazon-ssm-agent";
-  version = "3.2.1630.0";
-
-  src = fetchFromGitHub {
-    owner = "aws";
-    repo = "amazon-ssm-agent";
-    rev = "refs/tags/${version}";
-    hash = "sha256-0tN0rBfz2VZ4UkYLFDGg9218O9vyyRT2Lrppu9TETao=";
-  };
-
-  vendorHash = null;
-
-  patches = [
-    # Some tests use networking, so we skip them.
-    ./0001-Disable-NIC-tests-that-fail-in-the-Nix-sandbox.patch
-
-    # They used constants from another package that I couldn't figure
-    # out how to resolve, so hardcoded the constants.
-    ./0002-version-gen-don-t-use-unnecessary-constants.patch
-  ];
-
-  nativeBuildInputs = [ makeWrapper ];
-
-  # See the list https://github.com/aws/amazon-ssm-agent/blob/3.2.1630.0/makefile#L120-L138
-  # The updater is not built because it cannot work on NixOS
-  subPackages = [
-    "core"
-    "agent"
-    "agent/cli-main"
-    "agent/framework/processor/executer/outofproc/worker"
-    "agent/session/logging"
-    "agent/framework/processor/executer/outofproc/sessionworker"
-  ];
-
-  ldflags = [ "-s" "-w" ];
-
-  postPatch = ''
-    printf "#!/bin/sh\ntrue" > ./Tools/src/checkstyle.sh
-
-    substituteInPlace agent/platform/platform_unix.go \
-      --replace "/usr/bin/uname" "${coreutils}/bin/uname" \
-      --replace '"/bin", "hostname"' '"${nettools}/bin/hostname"' \
-      --replace '"lsb_release"' '"${fake-lsb-release}/bin/lsb_release"'
-
-    substituteInPlace agent/session/shell/shell_unix.go \
-      --replace '"script"' '"${util-linux}/bin/script"'
-
-    substituteInPlace agent/rebooter/rebooter_unix.go \
-      --replace "/sbin/shutdown" "shutdown"
-
-    echo "${version}" > VERSION
-  '' + lib.optionalString overrideEtc ''
-    substituteInPlace agent/appconfig/constants_unix.go \
-      --replace '"/etc/amazon/ssm/"' '"${placeholder "out"}/etc/amazon/ssm/"'
-  '' + lib.optionalString stdenv.isLinux ''
-    substituteInPlace agent/managedInstances/fingerprint/hardwareInfo_unix.go \
-      --replace /usr/sbin/dmidecode ${dmidecode}/bin/dmidecode
-  '';
-
-  preBuild = ''
-    # Note: if this step fails, please patch the code to fix it! Please only skip
-    # tests if it is not feasible for the test to pass in a sandbox.
-    make quick-integtest
-
-    make pre-release
-    make pre-build
-  '';
-
-  installPhase = ''
-    runHook preInstall
-
-    declare -A map=(${builtins.concatStringsSep " " (lib.mapAttrsToList (name: value: "[\"${name}\"]=\"${value}\"") binaries)})
-
-    for key in ''${!map[@]}; do
-      install -D -m 0555 -T "$GOPATH/bin/''${key}" "$out/bin/''${map[''${key}]}"
-    done
-
-    # These templates retain their `.template` extensions on installation. The
-    # amazon-ssm-agent.json.template is required as default configuration when an
-    # amazon-ssm-agent.json isn't present. Here, we retain the template to show
-    # we're using the default configuration.
-
-    # seelog.xml isn't actually required to run, but it does ship as a template
-    # with debian packages, so it's here for reference. Future work in the nixos
-    # module could use this template and substitute a different log level.
-
-    install -D -m 0444 -t $out/etc/amazon/ssm amazon-ssm-agent.json.template
-    install -D -m 0444 -T seelog_unix.xml $out/etc/amazon/ssm/seelog.xml.template
-
-    runHook postInstall
-  '';
-
-  postFixup = ''
-    wrapProgram $out/bin/amazon-ssm-agent --prefix PATH : ${bashInteractive}/bin
-  '';
-
-  passthru = {
-    updateScript = nix-update-script { };
-    tests.version = testers.testVersion {
-      package = ssm-agent;
-      command = "amazon-ssm-agent --version";
-    };
-  };
-
-  meta = with lib; {
-    description = "Agent to enable remote management of your Amazon EC2 instance configuration";
-    changelog = "https://github.com/aws/amazon-ssm-agent/releases/tag/${version}";
-    homepage = "https://github.com/aws/amazon-ssm-agent";
-    license = licenses.asl20;
-    platforms = platforms.unix;
-    maintainers = with maintainers; [ copumpkin manveru anthonyroussel ];
-
-    # Darwin support is broken
-    broken = stdenv.isDarwin;
-  };
-}