Remove buildtime and runtime dependency graph. It is useless on normal derivations.

[?]
Apr 16, 2012, 1:23 PM
YS3AVMLCJMPAF4KQ3R7SFF5543DCZOP6NC4CRXP523TK5W6PLL2AC

Dependencies

  • [2] SUU3PSXU * Generate SVG instead of PNG, which is much faster and smaller. I
  • [3] MVB7RRLT * Move NARs from the NixChannel controller to the Root controller and
  • [4] G5ZR3ZVZ hydra: put contents links into html, add links to files from contents page
  • [5] HSVVEKTY * Start of a JSON API to get information about a specific build.
  • [6] 5NO7NCKT * Refactoring.
  • [7] LVJKRTIK * Generate a Nix expression for the channel.
  • [8] ALIOF64I * Use IO::Handles instead of old school filehandles. This ensures
  • [9] D3DIBMOK * For products that are directories (like manuals), allow a default
  • [10] QE253KG4 * Option to show the tail of a log.
  • [11] LBNVQXUB * Build the /build stuff in a separate controller.
  • [12] XJFHFZCA * Provide some redirects to build products by type so that we can for
  • [13] XDDCO6CH * hydra: add dependency list with links to logfiles
  • [14] CFQCNNDR use build timestamp as last-modified header on download
  • [15] NYC3LZKH * Generate NAR archives on the fly. Necessary for producing channels
  • [16] ZI535LI6 * hydra: 'new' UI for project/jobset/job/build
  • [17] D5QIOJGP * Move everything up one directory.
  • [18] PKPWUHUX * Idem.
  • [19] NUIKDEHL * A quick hack to list the contents of various types of files (RPM,
  • [20] ZTQEU5QS Hydra: Add support for maxSilent meta attribute (also already added timeout, but not implemented the actual timeout for the build yet)
  • [21] OD5FSS5A * Quick hack to allow viewing of dependency graphs (via nix-store -q
  • [22] BEKA3TMM Hydra/25: At job pages, show the hash of the output
  • [23] FPK5LF53 * Put the project-related actions in a separate controller. Put the
  • [24] IWVA2P2Y * Generate manifests on demand. Next step: generate NAR archives on
  • [25] ON4DDIBZ * Forgot to commit.
  • [*] J5UVLXOK * Start of a basic Catalyst web interface.

Change contents

  • edit in src/lib/Hydra/Controller/Build.pm at line 289
    [4.386][6.1406:1410](),[6.1719][6.1406:1410](),[6.3293][6.1406:1410](),[6.1410][6.157:413](),[6.413][3.266:313](),[3.313][6.473:527](),[6.473][6.473:527](),[6.527][6.1061:1107]()
    }
    sub runtimedeps : Chained('build') PathPart('runtime-deps') {
    my ($self, $c) = @_;
    my $build = $c->stash->{build};
    notFound($c, "Path " . $build->outpath . " is no longer available.")
    unless isValidPath($build->outpath);
    $c->stash->{current_view} = 'NixDepGraph';
    $c->stash->{storePaths} = [$build->outpath];
    $c->res->content_type('image/png'); # !!!
  • edit in src/lib/Hydra/Controller/Build.pm at line 292
    [6.582][6.582:842](),[6.842][3.314:361](),[3.361][6.902:956](),[6.902][6.902:956](),[6.956][6.1108:1154](),[6.1154][6.1007:1009](),[6.1007][6.1007:1009](),[6.1009][5.79:80](),[5.80][6.1009:1010](),[6.1009][6.1009:1010]()
    sub buildtimedeps : Chained('build') PathPart('buildtime-deps') {
    my ($self, $c) = @_;
    my $build = $c->stash->{build};
    notFound($c, "Path " . $build->drvpath . " is no longer available.")
    unless isValidPath($build->drvpath);
    $c->stash->{current_view} = 'NixDepGraph';
    $c->stash->{storePaths} = [$build->drvpath];
    $c->res->content_type('image/png'); # !!!
    }
  • file deletion: NixDepGraph.pm (----------)NixDepGraph.pm (----------)
    [6.1193][6.1247:1285](),[6.1285][6.1013:1013](),[6.646][6.1471:1509](),[6.1509][6.1013:1013]()
    package Hydra::View::NixDepGraph;
    use strict;
    use base qw/Catalyst::View/;
    use IO::Pipe;
    sub process {
    my ($self, $c) = @_;
    $c->response->content_type('image/svg+xml');
    my @storePaths = @{$c->stash->{storePaths}};
    my $fh = new IO::Handle;
    open $fh, "nix-store --query --graph @storePaths | dot -Tsvg:cairo -Gdpi=100 -Gsize=20,20 -Gbgcolor=transparent |";
    $c->response->body($fh);
    return 1;
    }
    1;
  • replacement in src/root/build.tt at line 288
    [6.9501][6.9501:9683]()
    (build-time dependencies: <a href="[% c.uri_for('/build' build.id 'buildtime-deps') %]">graph</a> | <a href="[% c.uri_for('/build' build.id 'deps') %]#buildtime">list</a>)
    [6.9501]
    [6.9683]
    (<a href="[% c.uri_for('/build' build.id 'deps') %]#buildtime">build-time dependencies</a>)
  • replacement in src/root/build.tt at line 297
    [6.9841][6.9841:10016]()
    (runtime dependencies: <a href="[% c.uri_for('/build' build.id 'runtime-deps') %]">graph</a> | <a href="[% c.uri_for('/build' build.id 'deps') %]#runtime">list</a>)
    [6.9841]
    [6.10016]
    (<a href="[% c.uri_for('/build' build.id 'deps') %]#runtime">runtime dependencies</a>)