diff options
author | Mx Kookie <kookie@spacekookie.de> | 2020-10-31 19:35:09 +0100 |
---|---|---|
committer | Mx Kookie <kookie@spacekookie.de> | 2020-10-31 19:35:09 +0100 |
commit | c4625b175f8200f643fd6e11010932ea44c78433 (patch) | |
tree | bce3f89888c8ac3991fa5569a878a9eab6801ccc /infra/libkookie/nixpkgs/pkgs/tools/misc/cloud-utils | |
parent | 49f735974dd103039ddc4cb576bb76555164a9e7 (diff) | |
parent | d661aa56a8843e991261510c1bb28fdc2f6975ae (diff) |
Add 'infra/libkookie/' from commit 'd661aa56a8843e991261510c1bb28fdc2f6975ae'
git-subtree-dir: infra/libkookie
git-subtree-mainline: 49f735974dd103039ddc4cb576bb76555164a9e7
git-subtree-split: d661aa56a8843e991261510c1bb28fdc2f6975ae
Diffstat (limited to 'infra/libkookie/nixpkgs/pkgs/tools/misc/cloud-utils')
-rw-r--r-- | infra/libkookie/nixpkgs/pkgs/tools/misc/cloud-utils/default.nix | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/infra/libkookie/nixpkgs/pkgs/tools/misc/cloud-utils/default.nix b/infra/libkookie/nixpkgs/pkgs/tools/misc/cloud-utils/default.nix new file mode 100644 index 000000000000..afae939ef38a --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/tools/misc/cloud-utils/default.nix @@ -0,0 +1,55 @@ +{ stdenv, fetchurl, makeWrapper +, gawk, gnused, utillinux, file +, wget, python3, qemu-utils, euca2ools +, e2fsprogs, cdrkit +, gptfdisk }: + +let + # according to https://packages.debian.org/sid/cloud-image-utils + https://packages.debian.org/sid/admin/cloud-guest-utils + guestDeps = [ + e2fsprogs gptfdisk gawk gnused utillinux + ]; + binDeps = guestDeps ++ [ + wget file qemu-utils cdrkit + ]; +in stdenv.mkDerivation rec { + # NOTICE: if you bump this, make sure to run + # $ nix-build nixos/release-combined.nix -A nixos.tests.ec2-nixops + # growpart is needed in initrd in nixos/system/boot/grow-partition.nix + pname = "cloud-utils"; + version = "0.31"; + src = fetchurl { + url = "https://launchpad.net/cloud-utils/trunk/${version}/+download/cloud-utils-${version}.tar.gz"; + sha256 = "07fl3dlqwdzw4xx7mcxhpkks6dnmaxha80zgs9f6wmibgzni8z0r"; + }; + nativeBuildInputs = [ makeWrapper ]; + buildInputs = [ python3 ]; + installFlags = [ "LIBDIR=$(out)/lib" "BINDIR=$(out)/bin" "MANDIR=$(out)/man/man1" "DOCDIR=$(out)/doc" ]; + + # $guest output contains all executables needed for cloud-init and $out the rest + $guest + # This is similar to debian's package split into cloud-image-utils and cloud-guest-utils + # The reason is to reduce the closure size + outputs = [ "out" "guest"]; + + postFixup = '' + moveToOutput bin/ec2metadata $guest + moveToOutput bin/growpart $guest + moveToOutput bin/vcs-run $guest + + for i in $out/bin/*; do + wrapProgram $i --prefix PATH : "${stdenv.lib.makeBinPath binDeps}:$out/bin" + done + + for i in $guest/bin/*; do + wrapProgram $i --prefix PATH : "${stdenv.lib.makeBinPath guestDeps}:$guest/bin" + ln -s $i $out/bin + done + ''; + + dontBuild = true; + + meta = with stdenv.lib; { + platforms = platforms.unix; + license = licenses.gpl3; + }; +} |