Unverified Commit d09e8470 authored by Philip Taron's avatar Philip Taron
Browse files

nixos/ec2-metadata-fetcher: add lzip user-data decompression

Support decompressing lzip-compressed EC2 user data via lzip -dc.
Includes a corresponding NixOS test.
parent f3b392af
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -101,6 +101,7 @@ in
        curl
        file
        gzip
        lzip
        mktemp
        xz
        zstd
+1 −0
Original line number Diff line number Diff line
@@ -72,6 +72,7 @@ try_decompress() {
    bzip2*)      decompress_cmd=bzcat ;;
    XZ*)         decompress_cmd=xzcat ;;
    Zstandard*)  decompress_cmd=zstdcat ;;
    lzip*)       decompress_cmd="lzip -dc" ;;
    *)           return ;;
  esac
  echo "decompressing: $1"
+8 −0
Original line number Diff line number Diff line
@@ -291,6 +291,14 @@ in
            )
            test_userdata_decompression(machine, user_data_path, proc.stdout, "zstd")

        with subtest("Decompression of lzip-compressed user-data"):
            test_data = b"#!/bin/bash\necho lzip-decompression-test\n"
            proc = subprocess.run(
                ["${hostPkgs.lzip}/bin/lzip", "-c"],
                input=test_data, capture_output=True, check=True,
            )
            test_userdata_decompression(machine, user_data_path, proc.stdout, "lzip")

    finally:
        machine.shutdown()
        temp_dir.cleanup()