From 96be420e44338776c083224ba892795c57d730a6 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Domen=20Ko=C5=BEar?= <domen@dev.si>
Date: Wed, 30 Mar 2016 14:39:53 +0100
Subject: [PATCH] move growpart out of nixos into cloud-init package

---
 .../virtualisation/amazon-grow-partition.nix  | 28 +------------------
 pkgs/tools/misc/cloud-utils/default.nix       | 18 ++++++++++++
 .../growpart-util-linux-2.26.patch            |  0
 pkgs/top-level/all-packages.nix               |  2 ++
 4 files changed, 21 insertions(+), 27 deletions(-)
 create mode 100644 pkgs/tools/misc/cloud-utils/default.nix
 rename {nixos/modules/virtualisation => pkgs/tools/misc/cloud-utils}/growpart-util-linux-2.26.patch (100%)

diff --git a/nixos/modules/virtualisation/amazon-grow-partition.nix b/nixos/modules/virtualisation/amazon-grow-partition.nix
index 44a9fa93e7ec..aa13cea2a940 100644
--- a/nixos/modules/virtualisation/amazon-grow-partition.nix
+++ b/nixos/modules/virtualisation/amazon-grow-partition.nix
@@ -4,37 +4,13 @@
 
 { config, lib, pkgs, ... }:
 
-with lib;
-
-let
-
-  growpart = pkgs.stdenv.mkDerivation {
-    name = "growpart";
-    src = pkgs.fetchurl {
-      url = "https://launchpad.net/cloud-utils/trunk/0.27/+download/cloud-utils-0.27.tar.gz";
-      sha256 = "16shlmg36lidp614km41y6qk3xccil02f5n3r4wf6d1zr5n4v8vd";
-    };
-    patches = [ ./growpart-util-linux-2.26.patch ];
-    buildPhase = ''
-      cp bin/growpart $out
-      sed -i 's|awk|gawk|' $out
-      sed -i 's|sed|gnused|' $out
-    '';
-    dontInstall = true;
-    dontPatchShebangs = true;
-  };
-
-in
-
 {
-
   config = mkIf config.ec2.hvm {
-
     boot.initrd.extraUtilsCommands = ''
       copy_bin_and_libs ${pkgs.gawk}/bin/gawk
       copy_bin_and_libs ${pkgs.gnused}/bin/sed
       copy_bin_and_libs ${pkgs.utillinux}/sbin/sfdisk
-      cp -v ${growpart} $out/bin/growpart
+      cp -v ${pkgs.cloud-utils}/bin/growpart $out/bin/growpart
       ln -s sed $out/bin/gnused
     '';
 
@@ -44,7 +20,5 @@ in
         udevadm settle
       fi
     '';
-
   };
-
 }
diff --git a/pkgs/tools/misc/cloud-utils/default.nix b/pkgs/tools/misc/cloud-utils/default.nix
new file mode 100644
index 000000000000..fa03962bcdc4
--- /dev/null
+++ b/pkgs/tools/misc/cloud-utils/default.nix
@@ -0,0 +1,18 @@
+{ stdenv, fetchurl }:
+
+stdenv.mkDerivation {
+  name = "cloud-utils-0.27";
+  src = fetchurl {
+    url = "https://launchpad.net/cloud-utils/trunk/0.27/+download/cloud-utils-0.27.tar.gz";
+    sha256 = "16shlmg36lidp614km41y6qk3xccil02f5n3r4wf6d1zr5n4v8vd";
+  };
+  patches = [ ./growpart-util-linux-2.26.patch ];
+  buildPhase = ''
+    mkdir -p $out/bin
+    cp bin/growpart $out/bin/growpart
+    sed -i 's|awk|gawk|' $out/bin/growpart
+    sed -i 's|sed|gnused|' $out/bin/growpart
+  '';
+  dontInstall = true;
+  dontPatchShebangs = true;
+}
diff --git a/nixos/modules/virtualisation/growpart-util-linux-2.26.patch b/pkgs/tools/misc/cloud-utils/growpart-util-linux-2.26.patch
similarity index 100%
rename from nixos/modules/virtualisation/growpart-util-linux-2.26.patch
rename to pkgs/tools/misc/cloud-utils/growpart-util-linux-2.26.patch
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index b09a913f8e7a..e4b5cf174c47 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -1111,6 +1111,8 @@ in
 
   cloogppl = callPackage ../development/libraries/cloog-ppl { };
 
+  cloud-utils = callPackage ../tools/misc/cloud-utils { };
+
   compass = callPackage ../development/tools/compass { };
 
   convmv = callPackage ../tools/misc/convmv { };