aboutsummaryrefslogtreecommitdiff
path: root/scripts
AgeCommit message (Collapse)Author
2003-10-27* Don't cache the manifest.Eelco Dolstra
2003-10-20* NarPath -> NarName.Eelco Dolstra
2003-10-16* Remove some debug output.Eelco Dolstra
2003-10-16* Substitutes and nix-pull now work again.Eelco Dolstra
* Fixed a segfault caused by the buffering of stderr. * Fix now allows the specification of the full output path. This should be used with great care, since it by-passes the normal hash generation. * Incremented the version number to 0.4 (prerelease).
2003-10-16* Get nix-push to work again.Eelco Dolstra
* Fixed svn:ignore on externals/.
2003-10-15* Keep sources (derivation expression) by default, `--no-source' toEelco Dolstra
override.
2003-10-09* Follow successors by default (use `--no-successors' to override).Eelco Dolstra
2003-10-09* Fixed nix-switch.Eelco Dolstra
2003-10-07* Synchronise terminology with the ICSE paper (e.g., slice -> closure,Eelco Dolstra
fstate -> Nix expression). * Fix src/test.cc.
2003-10-02* Use passive FTP in wget.Eelco Dolstra
2003-08-28* nix-push generated invalid (old-style) slices.Eelco Dolstra
* nar.sh needs a path.
2003-08-25* Don't continue when the call to nix fails.Eelco Dolstra
2003-08-15* A script `nix-prefetch-url' to fetch a URL, place it in the NixEelco Dolstra
store, and print its hash.
2003-08-15* Don't use a temporary file.Eelco Dolstra
2003-08-06* Allow a name to be given to a system configuration through `--name Eelco Dolstra
NAME'. E.g., on the losser Subversion server, I do `nix-switch --name svn $(fix ...)' to atomically upgrade the server (the SVN server uses the Apache and Subversion installations in /nix/var/nix/links/svn).
2003-08-05* Made nix-push much faster.Eelco Dolstra
2003-08-05* Made nix-pull much faster by performing all Fix instantiations atEelco Dolstra
the same time.
2003-07-29* Bug: Fix does not allow empty names, so don't generate them.Eelco Dolstra
2003-07-29* Use `--query --requisites' and include successors when pushing. Don't Eelco Dolstra
use `--query --generators' anymore.
2003-07-29* Typo: if -> elsif.Eelco Dolstra
2003-07-29* Get garbage collection and cache population to work *properly*.Eelco Dolstra
Renamed `fstateRefs' to `fstateRequisites'. The semantics of this function is that it returns a list of all paths necessary to realise a given expression. For a derive expression, this is the union of requisites of the inputs; for a slice expression, it is the path of each element in the slice. Also included are the paths of the expressions themselves. Optionally, one can also include the requisites of successor expressions (to recycle intermediate results). * `nix-switch' now distinguishes between an expression and its normal form. Usually, only the normal form is registered as a root of the garbage collector. With the `--source-root' flag, it will also register the original expression as a root. * `nix-collect-garbage' now has a flag `--keep-successors' which causes successors not to be included in the list of garbage paths. * `nix-collect-garbage' now has a flag `--invert' which will print all paths that should *not* be garbage collected.
2003-07-28* Do not set LD_LIBRARY_PATH; it breaks many things. E.g., SuSE's ssh Eelco Dolstra
dynamically links against libdb4 (?!), due to LD_LIBRARY_PATH it picks up our libdb4 instead of SuSE's libdb4, but our libdb4 uses another glibc so loading barfs. Instead, all packages should use rpaths to store library locations in executables/libraries. The disadvantage is that overriding rpaths is harder. (It is possible by invoking the dynamic linker directly, e.g., `/lib/ld-linux.so.2 --ignore-path LIST program args...' to ignore the rpath for the libraries in LIST). It would be better to use DT_RUNPATH, which is consulted by the dynamic linker *after* LD_LIBRARY_PATH but *before* ld.so.cache and the system directories.
2003-07-23* Incorporated Berkeley DB and ATerm into the source tree.Eelco Dolstra
* `make dist'.
2003-07-22* Substitutes now should produce a path with the same id as they areEelco Dolstra
substituting for (obvious, really). * For greater efficiency, nix-pull/unnar will place the output in a path that is probably the same as what is actually needed, thus preventing a path copy. * Even if a output id is given in a Fix package expression, ensure that the resulting Nix derive expression has a different id. This is because Nix expressions that are semantically equivalent (i.e., build the same result) might be different w.r.t. efficiency or divergence. It is absolutely vital for the substitute mechanism that such expressions are not used interchangeably.
2003-07-21* Changed nix-pull to match nix-push.Eelco Dolstra
2003-07-21* Syntax fixes.Eelco Dolstra
* When pushing, put the hash in the file name so that the client can verify (proof-carrying file names?).
2003-07-20* Argh, another short-write problem. Added wrappers aroundEelco Dolstra
read()/write() to fix this once and for all.
2003-07-18* Generate nar.sh, fetchurl.sh.Eelco Dolstra
2003-07-16* The write() system call can write less than the requested Eelco Dolstra
number of bytes, e.g., in case of a signal like SIGSTOP. This caused `nix --dump' to fail sometimes. Note that this bug went unnoticed because the call to `nix --dump' is in a pipeline, and the shell ignores non-zero exit codes from all but the last element in the pipeline. Is there any way to check the result of the initial elements in the pipeline? (In other words, is it at all possible to write reliable shell scripts?)
2003-07-16* Substitute fixes.Eelco Dolstra
2003-07-14* Get the garbage collector to work again.Eelco Dolstra
2003-07-13* Generate the scripts so that we can substitute the prefixEelco Dolstra
etc. correctly. * Fixed nix-switch.
2003-07-10* Compress Nix archives when pushing them.Eelco Dolstra
2003-07-10* Working derivate sharing.Eelco Dolstra
2003-07-10* Convert tabs to spaces.Eelco Dolstra
2003-07-10* Performance enhancement.Eelco Dolstra
2003-07-10* The policy-free derivate sharing now *almost* works. :-) For anyEelco Dolstra
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 Dolstra
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-06-18* Set CPLUS_INCLUDE_PATH as well as C_INCLUDE_PATH. Otherwise g++Eelco Dolstra
won't see header files under Nix control.
2003-05-30* Set umask to 0022 on startup.Eelco Dolstra
2003-05-30* Don't set MANPATH. It's not necessary.Eelco Dolstra
2003-05-30* Set MANPATH and PKG_CONFIG_PATH.Eelco Dolstra
2003-05-27* Fix the rsync destination.Eelco Dolstra
2003-05-26* Removed some debug code that prevented packages from building.Eelco Dolstra
2003-05-26* Nix can now fetch prebuilts (and other files) from the network, iffEelco Dolstra
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 Dolstra
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-25* Bug fix: deleting the old links didn't work properly.Eelco Dolstra
2003-04-24* nix-switch now removes the link to the previously activated systemEelco Dolstra
package as a root of the garbage collector, unless `--keep' is specified.
2003-04-09* A garbage collector for installed packages. nix-collect-garbageEelco Dolstra
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* When we activate a descriptor in nix-switch, remember its hash.Eelco Dolstra
This allows us to find out all `live' packages on the system by doing nix closure $(cat /nix/var/nix/links/*.hash) which will print out the activated configurations and all packages referenced by them. We could then garbage collect unused packages by deleting the difference between `nix listinst' and the set returned by `nix closure ...'.