From 4caaec36ddbc9f12a91c4b01c1f4924ede2e0c4f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Thalheim?= Date: Sun, 6 Dec 2020 06:04:58 +0100 Subject: [PATCH] amazon-ec2-utils: 0.5.1 -> 1.3 --- nixos/modules/virtualisation/amazon-image.nix | 2 +- .../amazon-ec2-utils/default.nix | 42 +++++++++++++++++ .../virtualization/ec2-utils/default.nix | 47 ------------------- pkgs/top-level/aliases.nix | 1 + pkgs/top-level/all-packages.nix | 2 +- 5 files changed, 45 insertions(+), 49 deletions(-) create mode 100644 pkgs/tools/virtualization/amazon-ec2-utils/default.nix delete mode 100644 pkgs/tools/virtualization/ec2-utils/default.nix diff --git a/nixos/modules/virtualisation/amazon-image.nix b/nixos/modules/virtualisation/amazon-image.nix index 26297a7d0f1..4f83d72901c 100644 --- a/nixos/modules/virtualisation/amazon-image.nix +++ b/nixos/modules/virtualisation/amazon-image.nix @@ -137,7 +137,7 @@ in services.openssh.permitRootLogin = "prohibit-password"; # Creates symlinks for block device names. - services.udev.packages = [ pkgs.ec2-utils ]; + services.udev.packages = [ pkgs.amazon-ec2-utils ]; # Force getting the hostname from EC2. networking.hostName = mkDefault ""; diff --git a/pkgs/tools/virtualization/amazon-ec2-utils/default.nix b/pkgs/tools/virtualization/amazon-ec2-utils/default.nix new file mode 100644 index 00000000000..d7dd6ad0b1e --- /dev/null +++ b/pkgs/tools/virtualization/amazon-ec2-utils/default.nix @@ -0,0 +1,42 @@ +{ stdenv, lib, fetchFromGitHub, python3, installShellFiles }: + +stdenv.mkDerivation rec { + pname = "amazon-ec2-utils"; + version = "1.3"; + + src = fetchFromGitHub { + owner = "aws"; + repo = "amazon-ec2-utils"; + rev = version; + sha256 = "sha256-uxKnbdKGhS32kY3mA7YYtDRwKcEjNZPJUYQExZTqtxE="; + }; + + buildInputs = [ python3 ]; + # TODO next version will have manpages + #nativeBuildInputs = [ installShellFiles ]; + + installPhase = '' + # https://github.com/aws/amazon-ec2-utils/blob/8eb2effb1aea2280264d66ae58b3e156e6d429f9/amazon-ec2-utils.spec#L74 + install -D --target $out/etc/udev/rules.d *.rules + install -D --target $out/bin ec2-metadata ebsnvme-id ec2udev-vbd ec2udev-vcpu + install -D --target $out/lib/udev/ ec2nvme-nsid + # TODO next version will have manpages + #installManPage doc/* + ''; + + postFixup = '' + for i in $out/etc/udev/rules.d/*.rules; do + substituteInPlace "$i" \ + --replace '/sbin' "$out/bin" + done + substituteInPlace "$out/etc/udev/rules.d/70-ec2-nvme-devices.rules" \ + --replace 'ec2nvme-nsid' "$out/lib/udev/ec2nvme-nsid" + ''; + + meta = { + description = "A set of tools for running in EC2"; + homepage = "https://aws.amazon.com/amazon-linux-ami/"; + license = lib.licenses.asl20; + maintainers = with lib.maintainers; [ thefloweringash ]; + }; +} diff --git a/pkgs/tools/virtualization/ec2-utils/default.nix b/pkgs/tools/virtualization/ec2-utils/default.nix deleted file mode 100644 index 1605bcfa43b..00000000000 --- a/pkgs/tools/virtualization/ec2-utils/default.nix +++ /dev/null @@ -1,47 +0,0 @@ -{ stdenv, lib, rpmextract, fetchurl, python2, tree }: - -stdenv.mkDerivation { - name = "ec2-utils"; - version = "0.5.1"; - - # The url can be determined by booting an "Amazon Linux 2" and running: - # > yumdownloader --urls ec2-utils - src = fetchurl { - url = "http://amazonlinux.ap-northeast-1.amazonaws.com/blobstore/a3b4d2c35c2300518fe10381a05b3bd7936ff5cdd3d351143a11bf84073d9e00/ec2-utils-0.5-1.amzn2.0.1.noarch.rpm"; - sha256 = "004y7l3q9gqi78a53lykrpsnz4yp7dds1083w67m2013bk1x5d53"; - }; - - nativeBuildInputs = [ rpmextract ]; - - buildInputs = [ python2 ]; - - unpackPhase = '' - mkdir source - cd source - rpmextract "$src" - ''; - - installPhase = '' - mkdir $out - - mv --target-directory $out \ - etc sbin usr/bin usr/lib - ''; - - postFixup = '' - for i in $out/etc/udev/rules.d/*.rules; do - substituteInPlace "$i" \ - --replace '/sbin' "$out/bin" - done - - substituteInPlace "$out/etc/udev/rules.d/70-ec2-nvme-devices.rules" \ - --replace 'ec2nvme-nsid' "$out/lib/udev/ec2nvme-nsid" - ''; - - meta = { - description = "A set of tools for running in EC2"; - homepage = "https://aws.amazon.com/amazon-linux-ami/"; - license = lib.licenses.asl20; - maintainers = with lib.maintainers; [ thefloweringash ]; - }; -} diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix index 6e5da1bf34e..793b58ac46d 100644 --- a/pkgs/top-level/aliases.nix +++ b/pkgs/top-level/aliases.nix @@ -138,6 +138,7 @@ mapAliases ({ draftsight = throw "draftsight has been removed, no longer available as freeware"; # added 2020-08-14 dvb_apps = throw "dvb_apps has been removed."; # added 2020-11-03 dwarf_fortress = dwarf-fortress; # added 2016-01-23 + ec2-utils = amazon-ec2-utils; # added 2020-12-06 emacsPackagesGen = emacsPackagesFor; # added 2018-08-18 emacsPackagesNgGen = emacsPackagesFor; # added 2018-08-18 emacsPackagesNgFor = emacsPackagesFor; # added 2019-08-07 diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 1a24d918e0a..c77170369aa 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -997,7 +997,7 @@ in ec2_ami_tools = callPackage ../tools/virtualization/ec2-ami-tools { }; - ec2-utils = callPackage ../tools/virtualization/ec2-utils { }; + amazon-ec2-utils = callPackage ../tools/virtualization/amazon-ec2-utils { }; exoscale-cli = callPackage ../tools/admin/exoscale-cli { };