about summary refs log tree commit diff
path: root/scripts/Makefile.am
AgeCommit message (Collapse)AuthorFilesLines
2011-10-10 * Set the executable bit on scripts.Eelco Dolstra1-0/+3
2011-10-10 (no commit message)Eelco Dolstra1-2/+0
2011-10-10 * Install NixManifest.pm, NixConfig.pm and GeneratePatches.pm underEelco Dolstra1-7/+3
the Nix:: namespace.
2010-12-05 * Use CamelCase for the Perl modules.Eelco Dolstra1-10/+10
2010-12-05 * Add a script `nix-generate-patches'.Eelco Dolstra1-2/+3
* Fix the binary patching test.
2010-11-29 * Move the patch generator into a module.Eelco Dolstra1-3/+3
2010-02-03 * nix-copy-closure: start only one SSH connection to the server, orEelco Dolstra1-0/+2
recycle an already existing connection (using OpenSSH's connection sharing feature).
2008-11-18 * Get rid of nix-pack-closure / nix-unpack-closure, they're redundant.Eelco Dolstra1-2/+0
2008-08-29 Added nix-http-export.cgi to extra distributed scripts; so it can be ↵Michael Raskin1-2/+3
installed from releases, not only from SVN.
2008-07-23 * Make sure that copy-from-other-stores.pl is built.Eelco Dolstra1-1/+2
2008-07-18 * Use the copy-from-other-stores substituter by default. Of course,Eelco Dolstra1-1/+3
it only does something if $NIX_OTHER_STORES (not really a good name...) is set. * Do globbing on the elements of $NIX_OTHER_STORES. E.g. you could set it to /mnts/*/nix or something. * Install substituters in libexec/nix/substituters.
2008-07-12 * Quick prototype of a substituter that copies paths from other NixEelco Dolstra1-1/+2
stores (typically remote Nix stores mounted via e.g. NFS, or the Nix store on the NixOS installation CD). Example use: $ sshfs foo@example.org:/ /mnt $ NIX_OTHER_STORES=/mnt/nix \ NIX_SUBSTITUTERS=.../copy-from-other-stores.pl \ nix-env -i foo This will be especially useful for the installation CD since it doesn't require a manifest for the CD contents.
2008-02-28 * Don't install nix-reduce-build by default yet please, I first wantEelco Dolstra1-2/+2
to understand better what it does...
2008-02-27 Added nix-reduce-build. You point it to some path you want to build and it ↵Michael Raskin1-2/+3
fetches whatever it can from specified computers via nix-copy-closure. NOTE: You do want to set up RSA keys or ssh-agent or something... You really do want it. It will run separate ssh instances insane number of times.
2007-11-15 * Doh!Eelco Dolstra1-1/+2
2007-11-15 * Add build-remote.pl to the Nix distribution.Eelco Dolstra1-1/+3
2007-02-21 * New command `nix-copy-closure' to copy a closure to a Nix store onEelco Dolstra1-1/+3
another machine through ssh. E.g., $ nix-copy-closure xyzzy $(which svn) copies the closure of Subversion to machine `xyzzy'. This is like `nix-pack-closure $(which svn) | ssh xyzzy', but it's much more efficient since it only copies those paths that are missing on the target machine.
2007-01-11 * Install generate-patches into libexec.Eelco Dolstra1-0/+1
2006-07-21 * Don't try to do DNS lookups.Eelco Dolstra1-1/+1
2006-07-19 * Added a tool to find additional roots for the garbage collector,Eelco Dolstra1-2/+4
such as open files, current directories, mmaped files, etc. This is inherently unportable, but it's easy to adapt this script to other platforms. Currently we call `lsof' and try to read various bits in /proc/NNN. The goal is to prevent the garbage collector from removing store paths that are no longer reachable from a permanent root but that are still in use (for instance, after the user has done "nix-env -e" on a running program).
2006-05-31 * This may be useful in the future.Eelco Dolstra1-1/+3
2006-01-12 * New tools nix-pack-closure and nix-unpack-closure. These provide aEelco Dolstra1-2/+4
useful way to transfer the closure of a store path to another machine. These commands provide functionality previously possible through `nix-push --copy'. However, they are much more convenient in many situations (though possibly less efficient). Example: $ nix-pack-closure /nix/store/hj232g1r...-subversion-1.3.0 > svn.closure (on another machine:) $ nix-unpack-closure < svn.closure Note that Subversion is added to the store, but not installed into a user environment. One should do `nix-env -i /nix/store/hj232g1r...-subversion-1.3.0' for that. Another example: copy the application Azureus to the machine `scratchy' through ssh: $ nix-pack-closure $(which azureus) | ssh scratchy nix-unpack-closure
2005-03-01 * Doh!Eelco Dolstra1-1/+1
2005-03-01 * Add missing file to dist.Eelco Dolstra1-1/+2
2005-02-28 * Added a disambiguation heuristic: if two components have the sameEelco Dolstra1-1/+1
name but differ to much in sice (by more than a factor of 3), then never generate a patch.
2004-12-20 * Place manifests in /nix/var/nix/manifests.Eelco Dolstra1-3/+5
* Use the new patch downloader.
2004-12-16 * Remove `prebuilts.conf' file, it's not like anybody was using it.Eelco Dolstra1-3/+1
* Add /nix/var/nix/manifests directory.
2004-06-22 * A utility script `nix-build' that builds Nix expressions and printsEelco Dolstra1-6/+7
their output paths (and only that) on standard output.
2004-04-21 * Channels. These allow you to stay current with an evolving set ofEelco Dolstra1-1/+2
Nix expressions. To subscribe to a channel (needs to be done only once): nix-channel --add \ http://catamaran.labs.cs.uu.nl/dist/nix/channels/nixpkgs-unstable This just adds the given URL to ~/.nix-channels (which can also be edited manually). To update from all channels: nix-channel --update This fetches the latest expressions and pulls cache manifests. The default Nix expression (~/.nix-defexpr) is made to point to the conjunction of the expressions downloaded from all channels. So to update all installed derivations in the current user environment: nix-channel --update nix-env --upgrade '*' If you are really courageous, you can put this in a cronjob or something. You can subscribe to multiple channels. It is not entirely clear what happens when there are name clashes between derivations from different channels. From nix-env/main.cc it appears that the one with the lowest (highest?) hash will be used, which is pretty meaningless.
2004-04-06 * Distributed the wrong file.Eelco Dolstra1-2/+1
2003-12-30 * RPM spec file.Eelco Dolstra1-6/+6
* Respect DESTDIR variable.
2003-12-05 * Refactoring: put the manifest-reading code in a separate file.Eelco Dolstra1-2/+6
2003-11-24 * One-click installation :-)Eelco Dolstra1-3/+4
The script nix-install-package takes a `Nix package file' (which contains one or more derivations, along with URLs of Nix caches), unpacks it, pulls the caches, and installs the derivations in the user's environment. For best results, associate the command `xterm -e /nix/bin/nix-install-package' with the MIME type `application/x-nix-package' and visit http://losser.st-lab.cs.uu.nl/~eelco/test/.
2003-11-22 * Maintain integrity of the substitute and successor mappings whenEelco Dolstra1-1/+1
deleting a path in the store. * Allow absolute paths in Nix expressions. * Get nix-prefetch-url to work again. * Various other fixes.
2003-08-15 * A script `nix-prefetch-url' to fetch a URL, place it in the NixEelco Dolstra1-1/+2
store, and print its hash.
2003-07-23 * Incorporated Berkeley DB and ATerm into the source tree.Eelco Dolstra1-0/+5
* `make dist'.
2003-07-18 * Generate nar.sh, fetchurl.sh.Eelco Dolstra1-7/+1
2003-07-13 * Generate the scripts so that we can substitute the prefixEelco Dolstra1-0/+10
etc. correctly. * Fixed nix-switch.
2003-07-10 * The policy-free derivate sharing now *almost* works. :-) For anyEelco Dolstra1-2/+2
hash for which no local expansion is available, Nix can execute a `substitute' which should produce a path with such a hash. This is policy-free since Nix does not in any way specify how the substitute should work, i.e., it's an arbitrary (unnormalised) fstate expression. For example, `nix-pull' registers substitutes that fetch Nix archives from the network (through `wget') and unpack them, but any other method is possible as well. This is an improvement over the old Nix sharing scheme, which had a policy (fetching through `wget') built in. The sharing scheme doesn't work completely yet because successors from fstate rewriting have to be registered on the receiving side. Probably the whole successor stuff can be folded up into the substitute mechanism; this would be a nice simplification.
2003-07-10 * Get `nix-push' working again. It now uses Nix/Fix to create NixEelco Dolstra1-1/+1
archives (using the package in corepkgs/nar). * queryPathByHash -> expandHash, and it takes an argument specifying the target path (which may be empty). * Install the core Fix packages in $prefix/share/fix. TODO: bootstrap Nix and install Nix as a Fix package.
2003-05-26 * Nix can now fetch prebuilts (and other files) from the network, iffEelco Dolstra1-1/+1
a mapping from the hash to a url has been registered through `nix regurl'. * Bug fix in nix: don't pollute stdout when running tar, it made nix-switch barf. * Bug fix in nix-push-prebuilts: don't create a subdirectory on the target when rsync'ing.
2003-05-25 * Prebuilt package sharing. We allow transparent binary deployment byEelco Dolstra1-1/+5
sharing package directories (i.e., the result of building a Nix descriptor). `nix-pull-prebuilts' obtains a list of all known prebuilts by consulting the paths and URLs specified in $prefix/etc/nix/prebuilts.conf. The mappings ($pkghash, $prebuilthash) and ($prebuilthash, $location) are registered with Nix so that it can use the prebuilt with hash $prebuilthash when installing a package with hash $pkghash by downloading and unpacking $location. `nix-push-prebuilts' creates prebuilts for all packages for which no prebuilt is known to exist. It can then optionally upload these to the network through rsync. `nix-[pull|push]-prebuilts' just provide a policy. Nix provides the mechanism through the `nix [export|regprebuilt|regurl]' commands.
2003-04-09 * A garbage collector for installed packages. nix-collect-garbageEelco Dolstra1-1/+1
doesn't actually delete any packages, it just prints their descriptor hashes. So we can do nix info $(nix-collect-garbage) to print out the ids of the packages that would be deleted, and nix delpkg $(nix-collect-garbage) to actually delete them.
2003-04-09 * We no longer use nix-populate standalone, rather we use it as aEelco Dolstra1-0/+5
build action for `system' packages (like system.fix) that have dependencies on all packages we want to activate. So the command sequence to switch to a new activation configuration of the system would be: $ fix -i .../fixdescriptors/system.fix ... system.fix -> 89cf4713b37cc66989304abeb9ea189f $ nix-switch 89cf4713b37cc66989304abeb9ea189f * A nix-profile.sh script that can be included in .bashrc.