Hi, Ludovic Courtès wrote:
> When using manifests generated by Hydra, I sometimes observe the > following behavior: > > the following paths will be downloaded/copied (0.00 MiB): > /nix/store/3fd3kfa2d1cgihalzjagd15hwqkckzc5-xpdf-3.02pl2 > substituting path > `/nix/store/3fd3kfa2d1cgihalzjagd15hwqkckzc5-xpdf-3.02pl2' using substituter > `/nix/store/qa8ni49xjnrzrr2ynfp36qbv6n1q68rv-nix-0.13pre14422/libexec/nix/substituters/download-using-manifests.pl' > building path(s) > `/nix/store/v6kgm8f72clhd7r7klpzr7ixphdi70cc-pygame-1.7.1release.tar.gz' > Use of uninitialized value in string eq at > /nix/store/qa8ni49xjnrzrr2ynfp36qbv6n1q68rv-nix-0.13pre14422/libexec/nix/readmanifest.pm > line 102, <MANIFEST> line 9. > Use of uninitialized value $hash in string eq at > /nix/store/qa8ni49xjnrzrr2ynfp36qbv6n1q68rv-nix-0.13pre14422/libexec/nix/readmanifest.pm > line 102, <MANIFEST> line 9. > Use of uninitialized value in string eq at > /nix/store/qa8ni49xjnrzrr2ynfp36qbv6n1q68rv-nix-0.13pre14422/libexec/nix/readmanifest.pm > line 102, <MANIFEST> line 14. > Use of uninitialized value $hash in string eq at > /nix/store/qa8ni49xjnrzrr2ynfp36qbv6n1q68rv-nix-0.13pre14422/libexec/nix/readmanifest.pm > line 102, <MANIFEST> line 14. > Use of uninitialized value in string eq at > /nix/store/qa8ni49xjnrzrr2ynfp36qbv6n1q68rv-nix-0.13pre14422/libexec/nix/readmanifest.pm > line 102, <MANIFEST> line 21. > Use of uninitialized value $hash in string eq at > /nix/store/qa8ni49xjnrzrr2ynfp36qbv6n1q68rv-nix-0.13pre14422/libexec/nix/readmanifest.pm > line 102, <MANIFEST> line 21. > ... > > The entry that ends at line 9 lacks the `References' and `Size' fields, > the one at line 14 lacks `References', `Deriver' and `Size', etc. Is > that the v4 manifest format? Yes. That is, it lacks the Size and Hash fields because Hydra generates the NAR archives on demand. References and Deriver are only missing when the path doesn't have references or a known deriver - this was always allowed IIRC. It turns out that there was still some code left that assumes that there is a Hash field. I've fixed it now. > I'm using 0.13pre14422; if it's unable to handle this format, shouldn't > it complain upon reading `ManifestVersion'? Your version is new enough. However older versions that aren't new enough don't complain, because unfortunately I wasn't forward-looking enough to have download-using-manifests check whether the version is too new... -- Eelco Dolstra | http://www.st.ewi.tudelft.nl/~dolstra/ _______________________________________________ nix-dev mailing list [email protected] https://mail.cs.uu.nl/mailman/listinfo/nix-dev
