* Simplify.
[?]
Mar 5, 2010, 5:52 PM
YQWH4POV22KYCCKOTZXD36QKUOWEQ2DSPYPO5DNZDZ344RI25OAACDependencies
- [2]
V2MRXFBH - [3]
NLFVTH4Z - [4]
6Y3CCJJM - [5]
EE4ST6MRadd git to hydraPath - [6]
2R7GHSA4* hydra: added initial version of build graph - [7]
WV7S66BI - [8]
DO432JDJ* Build Hydra with the Nix Perl bindings. - [9]
KN3VYE5P* Cleaned up the foreign key constraints. - [10]
TEGLW4X3* hydra/release.nix: remove supportOldDBs - [11]
UQ6K57MS* Include nix-prefetch-svn in the Hydra binary distribution. - [12]
RTV57MPBif not linux, do not add rpm/dpkg/cdrkit to path - [13]
RW6J4FYZ* perl -> perlPackages. - [14]
T4LLYESZ* Nix expression for building Hydra. - [15]
SAFVRDTK* Put Hydra's dependencies so that they can easily be installed in a - [16]
JTRG7RDQadd support for git as jobinput - [17]
O7HSEB3X - [18]
T2232OBS* Add some DB indices to make the /releases page much faster. - [19]
BSYM6IUT - [20]
F3GR3UC5* Actually, include jquery and tablesorter in the source tarball. - [21]
SWFCD4MW - [22]
DMXVUAPN* Support showing the contents of ISO images (using isoinfo in - [23]
3R5SCBEJ - [24]
LP66DSH2* hydra: updated jquery version, needed for tabs (to be added later) - [25]
NUIKDEHL* A quick hack to list the contents of various types of files (RPM, - [26]
DFXIN6YW* Include jquery and tablesorter in the build. - [27]
XV7QRRE6* Add openssh to $PATH to support svn+ssh checkouts. - [28]
HPIJ35SG - [29]
VHYWSRIS* Add nix version to footer of hydra pages - [30]
3MDDGGSN* Install the manual.
Change contents
- replacement in release.nix at line 1
let{ nixpkgs ? ../nixpkgs, hydraSrc ? {outPath = ./.; rev = 1234;}, officialRelease ? false}: - replacement in release.nix at line 7
jobs = rec {rec { - edit in release.nix at line 9
tarball =with import nixpkgs {}; - replacement in release.nix at line 12[9.25]→[9.25:39](∅→∅),[9.39]→[9.0:48](∅→∅),[9.48]→[8.338:367](∅→∅),[9.32]→[9.123:164](∅→∅),[9.77]→[9.123:164](∅→∅),[8.367]→[9.123:164](∅→∅),[9.123]→[9.123:164](∅→∅)
tarball ={ hydraSrc ? {outPath = ./.; rev = 1234;}, nixpkgs ? ../nixpkgs, officialRelease ? false}:releaseTools.makeSourceTarball {name = "hydra-tarball";version = "0.1";src = hydraSrc;inherit officialRelease; - replacement in release.nix at line 18
with import nixpkgs {};buildInputs = [zip unzip]; - replacement in release.nix at line 20
releaseTools.makeSourceTarball {name = "hydra-tarball";version = "0.1";src = hydraSrc;inherit officialRelease;jquery = fetchurl {url = http://jqueryui.com/download/jquery-ui-1.7.2.custom.zip;sha256 = "1l9dwaaqvdysmzlkg1vb8j0s0xn63d475gh53pjjwxw85668krdh";}; - replacement in release.nix at line 25
buildInputs = [zip unzip];tablesorter = fetchurl {url = http://tablesorter.com/jquery.tablesorter.zip;sha256 = "013zgglvifvy0yg0ybjrl823sswy9v1ihf5nmighmcyigfd6nrhb";}; - replacement in release.nix at line 30
jquery = fetchurl {url = http://jqueryui.com/download/jquery-ui-1.7.2.custom.zip;sha256 = "1l9dwaaqvdysmzlkg1vb8j0s0xn63d475gh53pjjwxw85668krdh";};flot = fetchurl {url = http://flot.googlecode.com/files/flot-0.6.zip;sha256 = "1k2mfijvr1jwga65wcd78lp9ia17v99f1cfm5nlmc0k8glllbj5a";}; - replacement in release.nix at line 35
tablesorter = fetchurl {url = http://tablesorter.com/jquery.tablesorter.zip;sha256 = "013zgglvifvy0yg0ybjrl823sswy9v1ihf5nmighmcyigfd6nrhb";};# Since we don't have a `make dist', just tar everything.distPhase = ''ensureDir src/root/static/js/jqueryunzip -d src/root/static/js/jquery $jqueryrm -rf src/root/static/js/tablesorterunzip -d src/root/static/js $tablesorterunzip -d src/root/static/js $flot - replacement in release.nix at line 43
flot = fetchurl {url = http://flot.googlecode.com/files/flot-0.6.zip;sha256 = "1k2mfijvr1jwga65wcd78lp9ia17v99f1cfm5nlmc0k8glllbj5a";};make -C src/sql - replacement in release.nix at line 45[9.396]→[9.330:419](∅→∅),[9.330]→[9.330:419](∅→∅),[9.419]→[9.149:248](∅→∅),[9.248]→[9.0:48](∅→∅),[9.55]→[9.0:48](∅→∅),[9.48]→[9.55:106](∅→∅),[9.55]→[9.55:106](∅→∅),[9.106]→[6.177:221](∅→∅)
# Since we don't have a `make dist', just tar everything.distPhase = ''ensureDir src/root/static/js/jqueryunzip -d src/root/static/js/jquery $jqueryrm -rf src/root/static/js/tablesorterunzip -d src/root/static/js $tablesorterunzip -d src/root/static/js $flotreleaseName=hydra-0.1$VERSION_SUFFIX;ensureDir $out/tarballsmkdir ../$releaseNamecp -prd . ../$releaseNamecd ..tar cfj $out/tarballs/$releaseName.tar.bz2 $releaseNametar cfz $out/tarballs/$releaseName.tar.gz $releaseNamezip -9r $out/tarballs/$releaseName.zip $releaseName'';}; - replacement in release.nix at line 57[9.34]→[9.34:60](∅→∅),[9.60]→[9.515:524](∅→∅),[9.106]→[9.515:524](∅→∅),[9.515]→[9.515:524](∅→∅),[9.524]→[9.419:716](∅→∅),[9.419]→[9.419:716](∅→∅),[9.716]→[9.525:587](∅→∅),[9.587]→[9.716:737](∅→∅),[9.716]→[9.716:737](∅→∅)
make -C src/sqlreleaseName=hydra-0.1$VERSION_SUFFIX;ensureDir $out/tarballsmkdir ../$releaseNamecp -prd . ../$releaseNamecd ..tar cfj $out/tarballs/$releaseName.tar.bz2 $releaseNametar cfz $out/tarballs/$releaseName.tar.gz $releaseNamezip -9r $out/tarballs/$releaseName.zip $releaseName'';};build ={ system ? "x86_64-linux" }: - edit in release.nix at line 60
let pkgs = import nixpkgs {inherit system;}; in - replacement in release.nix at line 62[9.739]→[9.739:752](∅→∅),[9.752]→[9.26:60](∅→∅),[9.60]→[8.368:429](∅→∅),[8.429]→[9.865:874](∅→∅),[9.865]→[9.865:874](∅→∅)
build ={ tarball ? jobs.tarball {}, nixpkgs ? ../nixpkgs, system ? "x86_64-linux"}:with pkgs; - replacement in release.nix at line 64
let pkgs = import nixpkgs {inherit system;}; inwith pkgs;let nix = nixSqlite; in - replacement in release.nix at line 66
let nix = nixSqlite; instdenv.mkDerivation {name = "hydra-${tarball.version}"; - replacement in release.nix at line 69
stdenv.mkDerivation {name = "hydra" + (if tarball ? version then "-" + tarball.version else "");buildInputs =[ perl makeWrapper libtool ]++ (import ./deps.nix) { inherit pkgs; }; - replacement in release.nix at line 73
buildInputs =[ perl makeWrapper libtool ]++ (import ./deps.nix) { inherit pkgs; };preUnpack = ''src=$(ls ${tarball}/tarballs/*.tar.bz2)''; # */ - replacement in release.nix at line 77[9.1305]→[9.1305:1328](∅→∅),[9.1328]→[9.146:196](∅→∅),[9.196]→[9.1383:1400](∅→∅),[9.1383]→[9.1383:1400](∅→∅)
preUnpack = ''src=$(ls ${tarball}/tarballs/*.tar.bz2)''; # */hydraPath = stdenv.lib.concatStringsSep ":" (map (p: "${p}/bin") ( [libxslt sqlite subversion openssh nix coreutils findutilsgzip bzip2 lzma gnutar unzip gitgnused graphviz] ++ ( if stdenv.isLinux then [rpm dpkg cdrkit] else [] ))); - replacement in release.nix at line 83[9.1401]→[9.66:143](∅→∅),[9.143]→[9.0:68](∅→∅),[9.75]→[9.0:68](∅→∅),[9.68]→[5.0:43](∅→∅),[5.43]→[9.99:125](∅→∅),[9.99]→[9.99:125](∅→∅),[9.125]→[9.144:213](∅→∅)
hydraPath = stdenv.lib.concatStringsSep ":" (map (p: "${p}/bin") ( [libxslt sqlite subversion openssh nix coreutils findutilsgzip bzip2 lzma gnutar unzip gitgnused graphviz] ++ ( if stdenv.isLinux then [rpm dpkg cdrkit] else [] )));installPhase = ''ensureDir $out/nix-support - replacement in release.nix at line 86[9.174]→[9.1401:1427](∅→∅),[9.394]→[9.1401:1427](∅→∅),[9.1401]→[9.1401:1427](∅→∅),[9.1427]→[9.0:48](∅→∅),[9.48]→[9.1427:1460](∅→∅),[9.1427]→[9.1427:1460](∅→∅),[9.1460]→[9.107:148](∅→∅)
installPhase = ''ensureDir $out/nix-supportensureDir $out/libexeccp -prd src $out/libexec/hydraensureDir $out/libexeccp -prd src $out/libexec/hydra - replacement in release.nix at line 89
mv $out/libexec/hydra/script $out/binmv $out/libexec/hydra/script $out/bin - replacement in release.nix at line 91
cp ${"${nixpkgs}/pkgs/build-support/fetchsvn/nix-prefetch-svn"} $out/bin/nix-prefetch-svncp ${"${nixpkgs}/pkgs/build-support/fetchgit/nix-prefetch-git"} $out/bin/nix-prefetch-gitcp ${"${nixpkgs}/pkgs/build-support/fetchsvn/nix-prefetch-svn"} $out/bin/nix-prefetch-svncp ${"${nixpkgs}/pkgs/build-support/fetchgit/nix-prefetch-git"} $out/bin/nix-prefetch-git - replacement in release.nix at line 94
make -C src/c NIX=${nix} ATERM=${aterm}cp src/c/hydra_eval_jobs $out/binmake -C src/c NIX=${nix} ATERM=${aterm}cp src/c/hydra_eval_jobs $out/bin - replacement in release.nix at line 97[9.1557]→[9.1557:1697](∅→∅),[9.1697]→[4.0:58](∅→∅),[9.54]→[9.0:56](∅→∅),[4.58]→[9.0:56](∅→∅),[9.381]→[9.0:56](∅→∅),[9.56]→[9.0:107](∅→∅),[9.107]→[9.1798:1813](∅→∅),[9.113]→[9.1798:1813](∅→∅),[9.1798]→[9.1798:1813](∅→∅)
for i in $out/bin/*; dowrapProgram $i \--prefix PERL5LIB ':' $out/libexec/hydra/lib:$PERL5LIB \--prefix PATH ':' $out/bin:$hydraPath \--set HYDRA_HOME $out/libexec/hydra \--set HYDRA_RELEASE ${tarball.version} \--set NIX_RELEASE ${nix.name}donefor i in $out/bin/*; dowrapProgram $i \--prefix PERL5LIB ':' $out/libexec/hydra/lib:$PERL5LIB \--prefix PATH ':' $out/bin:$hydraPath \--set HYDRA_HOME $out/libexec/hydra \--set HYDRA_RELEASE ${tarball.version} \--set NIX_RELEASE ${nix.name}done - replacement in release.nix at line 106[9.50]→[9.50:98](∅→∅),[9.115]→[9.115:334](∅→∅),[9.334]→[2.0:78](∅→∅),[2.78]→[9.1813:1830](∅→∅),[9.334]→[9.1813:1830](∅→∅),[9.1813]→[9.1813:1830](∅→∅)
ensureDir $out/share/doc/hydra/manualcp doc/manual/* $out/share/doc/hydra/manual/ln -s manual.html $out/share/doc/hydra/manual/index.htmlecho "doc manual $out/share/doc/hydra/manual" >> $out/nix-support/hydra-build-productsecho "nix-build none $out" >> $out/nix-support/hydra-build-products''; # */ensureDir $out/share/doc/hydra/manualcp doc/manual/* $out/share/doc/hydra/manual/ln -s manual.html $out/share/doc/hydra/manual/index.htmlecho "doc manual $out/share/doc/hydra/manual" >> $out/nix-support/hydra-build-productsecho "nix-build none $out" >> $out/nix-support/hydra-build-products''; # */ - replacement in release.nix at line 113
meta = {description = "Build of Hydra on ${system}";};meta = {description = "Build of Hydra on ${system}"; - edit in release.nix at line 116
}; - replacement in release.nix at line 118
};in jobs[9.1840]}