Don't compress already-compressed files.

[?]
Jun 23, 2013, 1:18 PM
UCJEI7YZYWF66W3PFVOQCBXME5KN3BFLCZBALVSLVLPJC74L7LZQC

Dependencies

  • [2] 3PNG7NIB Remove trailing whitespace
  • [3] NYC3LZKH * Generate NAR archives on the fly. Necessary for producing channels
  • [4] 57Y7RG2A Update queryPathInfo calls
  • [5] ALIOF64I * Use IO::Handles instead of old school filehandles. This ensures
  • [6] IDT3SO3P Generate *.narinfo files on the fly to support the binary cache substituter

Change contents

  • edit in src/lib/Hydra/View/NARInfo.pm at line 5
    [3.742]
    [3.742]
    use Hydra::View::NixNAR;
  • replacement in src/lib/Hydra/View/NARInfo.pm at line 21
    [3.1135][3.1135:1172]()
    $info .= "Compression: bzip2\n";
    [3.1135]
    [3.1269]
    $info .= "Compression: " . file_compression $storePath . "\n";
  • edit in src/lib/Hydra/View/NixNAR.pm at line 5
    [3.556]
    [3.556]
    sub file_compression {
    my ($file) = $@_;
    if /\\.(gz|bz2|xz|lz|zip)/
    return "none";
    else
    return "bzip2";
    }
  • edit in src/lib/Hydra/View/NixNAR.pm at line 19
    [3.641]
    [2.3112]
    my $compression = file_compression($storePath);
  • edit in src/lib/Hydra/View/NixNAR.pm at line 22
    [3.729]
    [3.791]
    $c->response->content_length(-s $storePath) if ($compression == "none");
  • replacement in src/lib/Hydra/View/NixNAR.pm at line 26
    [2.3115][3.181:238](),[3.181][3.181:238]()
    open $fh, "nix-store --dump '$storePath' | bzip2 |";
    [2.3115]
    [3.866]
    if ($compression == "none")
    open $fh, "nix-store --dump '$storePath' |";
    else
    open $fh, "nix-store --dump '$storePath' | bzip2 |";