From defe1d36cb0854b6d071943d8cb067562bd1d6b1 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Mon, 9 Apr 2012 12:49:03 +0000 Subject: [PATCH] * Generate a NixOS channel. svn path=/nixos/trunk/; revision=33684 --- release.nix | 43 ++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 40 insertions(+), 3 deletions(-) diff --git a/release.nix b/release.nix index 35078be6ccb9..c47e34e16b72 100644 --- a/release.nix +++ b/release.nix @@ -1,4 +1,6 @@ -{ nixosSrc ? {outPath = ./.; rev = 1234;} }: +{ nixosSrc ? {outPath = ./.; rev = 1234;} +, nixpkgs ? {outPath = ; rev = 5678;} +}: let @@ -99,6 +101,42 @@ let }; + channel = + { officialRelease ? false }: + + with import {}; + + releaseTools.makeSourceTarball { + name = "nixos-channel"; + + version = builtins.readFile ./VERSION; + + src = nixosSrc; + + inherit officialRelease; + + buildInputs = [ nixUnstable ]; + + expr = + '' + { system ? builtins.currentSystem }: + { pkgs = (import nixpkgs/default.nix { inherit system; }) // { recurseForDerivations = true; }; } + ''; + + distPhase = '' + releaseName=nixos-$VERSION$VERSION_SUFFIX-${toString nixpkgs.rev} + ensureDir "$out/tarballs" + mkdir ../$releaseName + cp -prd . ../$releaseName/nixos + cp -prd ${nixpkgs} ../$releaseName/nixpkgs + echo "$expr" > ../$releaseName/default.nix + NIX_STATE_DIR=$TMPDIR nix-env -f ../$releaseName/default.nix -qaP --meta --xml \* > /dev/null + cd .. + tar cfj $out/tarballs/$releaseName.tar.bz2 $releaseName + ''; # */ + }; + + manual = { officialRelease ? false }: @@ -108,8 +146,7 @@ let (import lib/eval-config.nix { modules = [ { fileSystems = []; } ]; }).options; - revision = - if nixosSrc.rev == 1234 then "HEAD" else toString nixosSrc.rev; + revision = toString nixosSrc.rev; }).manual;