Use the new Nix Perl bindings

[?]
Nov 30, 2011, 2:25 PM
7DWCXNC72OO3M4YGNVV4KM775CUSPBHEFFNMRIA2XAZTQCXYHBRQC

Dependencies

  • [2] CJTOL7Y2 * Call computeFSClosure() directly.
  • [3] FM4O2L4M hydra: if evaluator sees cached build, also add the buildproducts
  • [4] PY4WQF5G remove ascii escapes from log in tail page and emails
  • [5] IJPTEKRF
  • [6] HSVVEKTY * Start of a JSON API to get information about a specific build.
  • [7] 3YSK5YXG * Update to Catalyst 5.9.
  • [8] RBGYFVWX use HYDRA_DATA/hydra.conf as default location for hydra.conf
  • [9] LZO3C2KI * Hack around those SQLite timeouts: just retry the transaction.
  • [10] 7YBYT2LQ
  • [11] ZILILXXK * Allow scheduled builds to be cancelled. They're not removed from
  • [12] OV7F5M3E Merge branch 'queue-17'
  • [13] 2T42QGZD * Register builds as GC roots so they don't get deleted.
  • [14] RBZRCTAL hydra: fixed and re-enabled evaluation tests
  • [15] IN272KZW * Automatically keep all builds in the latest successful release in
  • [16] Q24QXGSM * Don't do pretty printing for large logs, because the XSLT processing
  • [17] DO432JDJ * Build Hydra with the Nix Perl bindings.
  • [18] IWVA2P2Y * Generate manifests on demand. Next step: generate NAR archives on
  • [19] BEKA3TMM Hydra/25: At job pages, show the hash of the output
  • [20] 6US6LEC7 * Add a NarSize field to Hydra manifests. This allows nix-env
  • [21] UC3YQDZF * Don't access /nix/var/nix/db directly but use the Nix Perl bindings.
  • [22] SHBLLAVH * More global substitution.
  • [23] IGZ3IFSG * Escape `+', `=' and `?' in NAR URIS in manifests. Otherwise you get
  • [24] T7Z63K6T hydra: moves jobsetOverview sub
  • [25] BPVJBR2P * Only put Nix builds in the global channel.
  • [26] WZ3AEJ67 * hydra_update_gc_roots.pl registers build outputs that should be kept
  • [27] XDDCO6CH * hydra: add dependency list with links to logfiles
  • [28] XBU2ODSP * More renaming.
  • [29] SZYDW2DG hydra: added some user admin
  • [30] SJN2QPWH * Big speed-up of the job status page and the channel generation (such
  • [31] G2ZB6464 first test, not yet in buildprocess
  • [32] BQYE6R7Y
  • [33] 2JQ7WEFM
  • [34] LBNVQXUB * Build the /build stuff in a separate controller.
  • [35] SAFVRDTK * Put Hydra's dependencies so that they can easily be installed in a
  • [36] JK2QWPH6
  • [37] BDSD2JLV * Speed up manifest generation.
  • [38] 5NO7NCKT * Refactoring.
  • [39] PPJN6SDP * paging for releases page
  • [40] 7UJ5YV4V * Provide a channel for each project containing all the latest
  • [41] AFTXA575 * $HYDRA_DATA environment variable.
  • [42] A63IHCMX * Register GC roots properly.
  • [43] 2GK5DOU7 * Downloading closures.
  • [44] TPDJL4TY * Add derivations and all build-time dependencies of a build to the
  • [*] OOQ2D3KC * Refactoring: move fetchInput out of hydra_scheduler into a separate
  • [*] 3XTHEUMP * Implemented the clone feature.
  • [*] CS7T2XFI

Change contents

  • replacement in deps.nix at line 36
    [7.23][8.0:23](),[8.80][8.0:23](),[8.71][8.0:23]()
    perlPackages.nixPerl
    [7.23]
    [8.497]
    nixUnstable
  • replacement in src/lib/Hydra/Controller/Build.pm at line 11
    [8.25][8.0:9]()
    use Nix;
    [8.25]
    [6.73]
    use Nix::Store;
  • replacement in src/lib/Hydra/Controller/Build.pm at line 44
    [8.11][8.11:110]()
    my $pathHash = $c->stash->{available} ? Nix::queryPathHash($build->outpath) : "Not available";
    [8.11]
    [8.110]
    my $pathHash = $c->stash->{available} ? queryPathHash($build->outpath) : "Not available";
  • edit in src/lib/Hydra/Helper/AddBuilds.pm at line 8
    [47.1304]
    [46.2735]
    use Nix::Store;
  • edit in src/lib/Hydra/Helper/CatalystUtils.pm at line 6
    [48.106]
    [8.537]
    use Nix::Store;
  • replacement in src/lib/Hydra/Helper/CatalystUtils.pm at line 121
    [8.2194][3.2359:2493]()
    next unless Hydra::Helper::Nix::isValidPath($build->outpath);
    if (Hydra::Helper::Nix::isValidPath($build->drvpath)) {
    [8.2194]
    [8.94]
    next unless isValidPath($build->outpath);
    if (isValidPath($build->drvpath)) {
  • edit in src/lib/Hydra/Helper/Nix.pm at line 7
    [8.80][8.0:9]()
    use Nix;
  • edit in src/lib/Hydra/Helper/Nix.pm at line 11
    [8.619][8.91:107]()
    isValidPath
  • edit in src/lib/Hydra/Helper/Nix.pm at line 16
    [8.100][8.486:528](),[4.149][8.486:528](),[8.224][8.486:528](),[8.375][8.486:528](),[8.699][8.486:528](),[8.750][8.486:528](),[8.486][8.486:528](),[8.528][8.10:46](),[8.46][8.75:77](),[8.374][8.75:77]()
    sub isValidPath {
    my $path = shift;
    return Nix::isValidPath($path);
    }
  • replacement in src/lib/Hydra/View/NixManifest.pm at line 6
    [8.746][2.0:9]()
    use Nix;
    [8.746]
    [8.593]
    use Nix::Store;
  • replacement in src/lib/Hydra/View/NixManifest.pm at line 16
    [8.744][2.10:68]()
    my @paths = Nix::computeFSClosure(0, 1, @storePaths);
    [8.744]
    [8.880]
    my @paths = computeFSClosure(0, 1, @storePaths);
  • replacement in src/lib/Hydra/View/NixManifest.pm at line 24
    [8.1011][8.108:189]()
    my ($deriver, $hash, $time, $narSize, $refs) = Nix::queryPathInfo $path;
    [8.1011]
    [8.0]
    my ($deriver, $hash, $time, $narSize, $refs) = queryPathInfo $path;
  • replacement in src/script/hydra_queue_runner.pl.in at line 10
    [5.16][8.0:9](),[8.1139][8.0:9]()
    use Nix;
    [5.16]
    [8.7878]
    use Nix::Store;
  • edit in src/script/hydra_update_gc_roots.pl.in at line 6
    [8.564]
    [8.564]
    use Nix::Store;