[Nix-dev] Hydra nixpkgs-unstable channel lagging behind?

Eelco Dolstra eelco.dolstra at logicblox.com
Wed Apr 18 09:57:59 CEST 2012


Hi,

On 17/04/12 19:07, Peter Simons wrote:

> nixos-rebuild wants to compile lots of packages that I would expect to
> get from hydra in binary form (such as Ghostscript), but apparently
> Hydra doesn't have them? My manifest seems to be up-to-date, though:
> 
>   # nixos-rebuild pull
>   fetching list of Nix archives at `http://nixos.org/releases/nixpkgs/channels/nixpkgs-unstable/MANIFEST.bz2'...
>     % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
>                                    Dload  Upload   Total   Spent    Left  Speed
>   100   411  100   411    0     0   4448      0 --:--:-- --:--:-- --:--:--  8744
>     0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
> 
> Am I doing something wrong? Or is Hydra simply lagging behind for some
> reason?

The Nixpkgs channel was lagging behind SVN, yes.  This is always a possibility:
if somebody commits a change to SVN, there is a time window before this is
reflected in the Nixpkgs channel.  To ensure that you get binary package
management, you should get both the manifest and the Nix expressions from the
Nixpkgs channel, i.e. do

  $ nix-channel --add http://nixos.org/releases/nixpkgs/channels/nixpkgs-unstable
  $ nix-channel --update

In this case it took a long time for the channel to catch up because:

- Many packages had changed, and the channel won't be updated until all have
finished building.
- The "tarball" job was broken, which is essential for the channel.  (The
channel won't be updated as long as it's broken.  See
http://hydra.nixos.org/view/nixpkgs/unstable/ (slow!) for the set of "essential"
packages.)
- Once "tarball" was fixed, it took a while to mirror all the binaries.

I should mention that there is also a NixOS channel now, containing both the
NixOS/Nixpkgs sources and the Nixpkgs binaries for Linux.  To use it:

  $ nix-channel --add http://nixos.org/releases/nixos/channels/nixos-unstable
  $ nix-channel --update
  $ nixos-rebuild switch --fast -I ~/.nix-defexpr/channels/nixos

(If you have a Nix version older than a few days you have to write "-I
~/.nix-defexpr/channels/nixos_unstable".)  The advantage of using the NixOS
channel is that you get a tested combination of NixOS and Nixpkgs, with
binaries.  The NixOS channel is generated from this Hydra view:

  http://hydra.nixos.org/view/nixos/tested

So if any of those jobs fail, the channel won't be updated.

I'll change NixOS soon to make this the default (i.e. to use the NixOS channel,
and not put sources in /etc/nixos).

-- 
Eelco Dolstra | http://www.st.ewi.tudelft.nl/~dolstra/


More information about the nix-dev mailing list