aboutsummaryrefslogtreecommitdiff
path: root/scripts
AgeCommit message (Collapse)Author
2012-03-05Restore progress indication during nix-copy-closureEelco Dolstra
2012-03-05build-remote.pl: don't wait forever for the upload lockEelco Dolstra
In the build hook, don't wait forever to get the upload lock. This ensures progress if another process gets stuck while holding the upload lock.
2012-02-02* nix-channel: fail if we don't have write permission to the manifestsEelco Dolstra
directory. Previously in this situation we did add the Nix expressions from the channel to allow installation from source, but this doesn't work for binary-only channels and leads to confusing error messages.
2012-01-13* nix-build: put the temporary derivation symlink in a temporaryEelco Dolstra
directory rather than the current directory. * nix-build: --drv-link now implies --add-drv-link.
2012-01-05* Doh!Eelco Dolstra
2012-01-05* Add a -I flag to the Perl bindings to nix-build and some otherEelco Dolstra
scripts. * Include the version and architecture in the -I flag so that there is at least a chance that a Nix binary built for one Perl version will run on another version.
2012-01-03* Add a test for nix-channel.Eelco Dolstra
* Refactor the nix-channel unpacker a bit.
2012-01-03* Use Nix::Config.Eelco Dolstra
2012-01-03* Refactoring: Get rid of a few subdirectories in corepkgs/, and someEelco Dolstra
other simplifications. * Use <nix/...> to locate the corepkgs. This allows them to be overriden through $NIX_PATH. * Use bash's pipefail option in the NAR builder so that we don't need to create a temporary file.
2011-12-21* Security: make sure the lock files used by build-remote.pl are notEelco Dolstra
readable to other users. Otherwise, any user can open the lock file for reading and lock it, thus DoSing the remote build mechanism.
2011-12-21* Use a lock to ensure that only one build-remote instance can copy aEelco Dolstra
closure to a given machine at the same time. This prevents the case where multiple instances try to copy the same missing store path to the target machine, which is very wasteful.
2011-12-15* Typo.Eelco Dolstra
2011-12-02* nix-prefetch-url: rewritten in Perl.Eelco Dolstra
2011-11-29* download-using-manifests: use the Perl bindings.Eelco Dolstra
2011-11-29* For consistency with "nix-store -q --hash", produce hashes inEelco Dolstra
base-32. (This affects Hydra manifests.)
2011-11-29* Get rid of the shell in ssh calls.Eelco Dolstra
2011-11-23* Add bzip2 and xz support to nix-copy-closure.Eelco Dolstra
2011-11-23* Add an API function exportPaths() that provides the functionality ofEelco Dolstra
‘nix-store --export’. * Add a Perl module that provides the functionality of ‘nix-copy-closure --to’. This is used by build-remote.pl so it no longer needs to start a separate nix-copy-closure process. Also, it uses the Perl API to do the export, so it doesn't need to start a separate nix-store process either. As a result, nix-copy-closure and build-remote.pl should no longer fail on very large closures due to an "Argument list too long" error. (Note that having very many dependencies in a single derivation can still fail because the environment can become too large. Can't be helped though.)
2011-11-23* build-remote.pl: drop a hard-coded reference to /nix/etc/nix.Eelco Dolstra
2011-11-16* nix-pull: update the Nix manifest cache if necessary. Also, don'tEelco Dolstra
read the manifest just to check the version and print the number of paths. This makes nix-pull very fast for the cached cache (speeding up nixos-rebuild without the ‘--no-pull’ or ‘--fast’ options).
2011-11-16* Don't decompress the manifests in /nix/var/nix/manifest. This savesEelco Dolstra
disk space, and, since they're typically only decompressed once (to fill the manifest cache), doesn't make things slower.
2011-10-19* Print a consistent message.Eelco Dolstra
2011-10-18* nix-copy-closure: support ‘--dry-run’ and ‘--include-outputs’.Eelco Dolstra
2011-10-11* Use the Store API bindings in nix-copy-closure.Eelco Dolstra
2011-10-11* Move SSH.pm.Eelco Dolstra
2011-10-10* Set the executable bit on scripts.Eelco Dolstra
2011-10-10(no commit message)Eelco Dolstra
2011-10-10* Install NixManifest.pm, NixConfig.pm and GeneratePatches.pm underEelco Dolstra
the Nix:: namespace.
2011-08-27* Update the cleanup script.Eelco Dolstra
2011-08-17* Use last_insert_id instead of sqlite_last_insert_rowid, which you'reEelco Dolstra
not really supposed to use according to the DBD::SQLite docs, and fails on some systems (e.g. http://hydra.nixos.org/build/1246662).
2011-08-06* Add a Nix expression search path feature. Paths between angleEelco Dolstra
brackets, e.g. import <nixpkgs/pkgs/lib> are resolved by looking them up relative to the elements listed in the search path. This allows us to get rid of hacks like import "${builtins.getEnv "NIXPKGS_ALL"}/pkgs/lib" The search path can be specified through the ‘-I’ command-line flag and through the colon-separated ‘NIX_PATH’ environment variable, e.g., $ nix-build -I /etc/nixos ... If a file is not found in the search path, an error message is lazily thrown.
2011-07-20* Create a symlink to /nix/var/nix/manifests in /nix/var/nix/gcrootsEelco Dolstra
if it doesn't exist.
2011-07-13* Fix concurrency issues in download-using-manifests' handling of theEelco Dolstra
SQLite manifest cache. The DBI AutoCommit feature caused every process to have an active transaction at all times, which could indefinitely block processes wanting to update the manifest cache. * Disable fsync() in the manifest cache because we don't need integrity (the cache can always be recreated if it gets corrupted).
2011-04-19* nix-install-package: unset NIX_REMOTE because $NIX_MANIFESTS_DIREelco Dolstra
doesn't work when building through the Nix daemon. This also ensures an error message when the user doesn't have sufficient privileges to do nix-pull.
2011-04-11* Read manifests directly into the database, rather than first readingEelco Dolstra
them into memory. This brings memory use down to (more or less) O(1). For instance, on my test case, the maximum resident size of download-using-manifests while filling the DB went from 142 MiB to 11 MiB.
2011-04-11* Lock the database during updates.Eelco Dolstra
2011-04-11* configure: detect whether DBD::SQLite is present. If necessary theEelco Dolstra
location to DBI and DBD::SQLite can be passed with --with-dbi and --with-dbd-sqlite.
2011-04-11* Subtle bug: if you import File::stat in one module, it affects otherEelco Dolstra
modules as well. So use symbolic field names everywhere (which is nicer anyway).
2011-04-11* Create $manifestDir if it doesn't exist.Eelco Dolstra
2011-04-10* Cache the manifests in /nix/var/nix/manifests in a SQLite database.Eelco Dolstra
This significantly speeds up the download-using-manifests substituter, especially if manifests are very large. For instance, one "nix-build -A geeqie" operation that updated four packages using binary patches went from 18.5s to 1.6s. It also significantly reduces memory use. The cache is kept in /nix/var/nix/manifests/cache.sqlite. It's updated automatically when manifests are added to or removed from /nix/var/nix/manifests. It might be interesting to have nix-pull store manifests directly in the DB, rather than storing them as separate flat files, but then we would need a command line interface to delete manifests from the DB.
2011-04-06* Remove the localPaths feature in manifests since it's no longer usedEelco Dolstra
and redundant anyway.
2011-03-16* Print a better error message.Eelco Dolstra
2011-02-17(no commit message)Eelco Dolstra
2011-02-17* nix-push: handle the case where the hash is not set in the DB.Eelco Dolstra
2010-12-22* In Hydra manifests the Size field is missing, so don't rely on it.Eelco Dolstra
This caused a lot of "Use of uninitialized value" warnings from Perl.
2010-12-15* Disable X11 forwarding, it's not needed.Eelco Dolstra
2010-12-15* nix-copy-closure: make sure that the shell doesn't do globbing ofEelco Dolstra
`+' and `?' in filenames. This is very slow if /nix/store is very large. (This is a quick hack - a cleaner solution would be to bypass the shell entirely.)
2010-12-13* nix-instantiate: return exit status 100 to denote a permanent buildEelco Dolstra
failure. The build hook can use this to distinguish between transient and permanent failures on the remote side.
2010-12-13* When doing a query (e.g. `nix-store -r --dry-run'), don't make a lotEelco Dolstra
of expensive calls to `nix-store --check-validity'.
2010-12-07* Bad things happen when a filehandle has the same name as a module.Eelco Dolstra