about summary refs log tree commit diff
path: root/pkgs/build-support/vm/deb
AgeCommit message (Collapse)AuthorFilesLines
2023-02-20build-support/vm/deb/deb-closure: quote generated urlsajs1241-1/+1
otherwise, eval fails when the experimental no-url-literals feature is activated unquoted urls are discouraged after https://github.com/NixOS/rfcs/pull/45
2020-12-30vmTools.debClosureGenerator: Fix non-determinism in dependency graphDamien Diederen1-1/+1
By default, Perl versions since 5.8.1 use randomization to make hashes resistant to complexity attacks. That randomization makes building VM images such as ubuntu1804x86_64 non-deterministic because the (imported) derivations built by deb/deb-closure.pl are not stable. This can easily be observed by repeating the following sequence of commands and noting the path of the image's .drv: nix-instantiate -E '(import <nixpkgs> {}).vmTools.diskImageFuns.ubuntu1804x86_64 {}' nix-store --delete /nix/store/*ubuntu-18.04-bionic-amd64.nix One source of non-determinism is the handling of Provides/Replaces, which depends on the order of iteration over %packages. Here is a diff showing the corresponding change in output: >>> awk -virtual awk: using original-awk - original-awk: libc6 (>= 2.14) +virtual awk: using mawk + mawk: libc6 (>= 2.14) - mawk: libc6 (>= 2.14) ->>> libc6 This patch sorts packages by name for Provides/Replaces processing, which seems to result in stable output. (If the above turns out not to be sufficient, one could also set the PERL_HASH_SEED and PERL_PERTURB_KEYS environment variables, documented in 'perlrun', to disable Perl's built-in randomization. Complexity attacks are not an issue as we control and trust all inputs.)
2013-05-07Add Debian 7.0Eelco Dolstra1-8/+18
2012-12-04Get deb-closure.pl to work with the latest dpkgEelco Dolstra1-8/+9
2012-08-27Make the "universe" repository available to the Ubuntu image generatorEelco Dolstra1-0/+2
Also fix Ubuntu 12.04 name from "oneiric" to "precise".
2012-08-27Remove trailing whitespaceEelco Dolstra1-6/+5
2008-06-17* Remove `~' from Debian package filenames (they're not allowed in theEelco Dolstra1-0/+6
Nix store at top-level for portability reasons). (NIX-106) svn path=/nixpkgs/trunk/; revision=12133
2008-04-09* Moved the Debian and RPM closure generators to vm/default.nix.Eelco Dolstra1-64/+0
* In addition to the `diskImages' set, there now is a `diskImageFuns' set that holds functions to build a disk image for a specific distribution, given a list of names of top-level packages that should be included in the image. This makes it easier to customise an image (e.g. if you want to build an RPM in an image with some very specific dependencies that aren't in the default image). * Added Fedora 6. svn path=/nixpkgs/trunk/; revision=11513
2008-04-09* Use the `import <derivation>' feature to generate and import the NixEelco Dolstra3-1315/+10
expression for a Debian closure automatically (so that we don't have to remember to regenerate those files ourselves). The `import <derivation>' feature generally shouldn't be used in Nixpkgs, but since it's only used in the buildfarm it should be fine. svn path=/nixpkgs/trunk/; revision=11512
2008-03-14* Move to Nixpkgs: support for building in VMs is more generallyEelco Dolstra4-0/+1531
useful, probably. svn path=/nixpkgs/trunk/; revision=11126