push sheeet
Some checks failed
Periodic Merges (6h) / master → staging-nixos (push) Failing after 12m50s
Periodic Merges (6h) / master → staging-next (push) Failing after 12m54s
Periodic Merges (24h) / merge-base(master,staging) → haskell-updates (push) Failing after 11m54s
Periodic Merges (6h) / staging-next → staging (push) Failing after 12m13s
Periodic Merges (24h) / staging-next-25.05 → staging-25.05 (push) Failing after 13m24s
Periodic Merges (24h) / release-25.05 → staging-next-25.05 (push) Failing after 14m28s

This commit is contained in:
Dark Steveneq
2025-10-09 14:15:47 +02:00
commit 646b892680
49168 changed files with 5897842 additions and 0 deletions

View File

@@ -0,0 +1,59 @@
{
lib,
stdenv,
fetchurl,
unzip,
ruby,
openssl,
makeWrapper,
}:
stdenv.mkDerivation rec {
pname = "ec2-ami-tools";
version = "1.5.19";
nativeBuildInputs = [
makeWrapper
unzip
];
src = fetchurl {
url = "https://s3.amazonaws.com/ec2-downloads/${pname}-${version}.zip";
sha256 = "sha256-vdpElL6n1V3/+ZVFndRwWpU/M2W7xp8DQwx5a1zB3X8=";
};
# Amazon EC2 requires that disk images are writable. If they're
# not, the VM immediately terminates with a mysterious
# "Server.InternalError" message. Since disk images generated in
# the Nix store are read-only, they must be made writable in the
# tarball uploaded to Amazon S3. So add a `--mode=0755' flag to the
# tar invocation.
patches = [ ./writable.patch ];
installPhase = ''
mkdir -p $out
mv * $out
rm $out/*.txt
for i in $out/bin/*; do
wrapProgram $i \
--set EC2_HOME $out \
--prefix PATH : ${
lib.makeBinPath [
ruby
openssl
]
}
done
sed -i 's|/bin/bash|${stdenv.shell}|' $out/lib/ec2/platform/base/pipeline.rb
''; # */
meta = {
homepage = "https://aws.amazon.com/developertools/Amazon-EC2/368";
description = "Command-line tools to create and manage Amazon EC2 virtual machine images";
license = lib.licenses.amazonsl;
};
}

View File

@@ -0,0 +1,23 @@
diff -ru ec2-ami-tools-1.4.0.5-orig/lib/ec2/amitools/bundle.rb ec2-ami-tools-1.4.0.5/lib/ec2/amitools/bundle.rb
--- ec2-ami-tools-1.4.0.5-orig/lib/ec2/amitools/bundle.rb 2011-12-06 14:57:28.000000000 +0100
+++ ec2-ami-tools-1.4.0.5/lib/ec2/amitools/bundle.rb 2012-02-25 21:24:57.682427268 +0100
@@ -80,7 +80,7 @@
# piped via several processes. The tee is used to allow a
# digest of the file to be calculated without having to re-read
# it from disk.
- tar = EC2::Platform::Current::Tar::Command.new.create.dereference.sparse
+ tar = EC2::Platform::Current::Tar::Command.new.create.dereference.sparse.writable
tar.owner(0).group(0)
tar.add(File::basename( image_file ), File::dirname( image_file ))
openssl = EC2::Platform::Current::Constants::Utility::OPENSSL
diff -ru ec2-ami-tools-1.4.0.5-orig/lib/ec2/platform/linux/tar.rb ec2-ami-tools-1.4.0.5/lib/ec2/platform/linux/tar.rb
--- ec2-ami-tools-1.4.0.5-orig/lib/ec2/platform/linux/tar.rb 2011-12-06 14:57:28.000000000 +0100
+++ ec2-ami-tools-1.4.0.5/lib/ec2/platform/linux/tar.rb 2012-02-25 21:23:36.342716403 +0100
@@ -31,6 +31,7 @@
def update; @options << '-u'; self; end
def sparse; @options << '-S'; self; end
def dereference; @options << '-h'; self; end
+ def writable; @options << '--mode=0755'; self; end
def archive(filename)
filename = '-' if filename.nil?