Eelco Dolstra
b1882c3ef7
* Create $manifestDir if it doesn't exist.
2011-04-11 08:06:14 +00:00
Eelco Dolstra
5591fcc529
* Cache the manifests in /nix/var/nix/manifests in a SQLite database.
...
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-10 23:22:46 +00:00
Eelco Dolstra
1e7e4f21ba
* Remove the localPaths feature in manifests since it's no longer used
...
and redundant anyway.
2011-04-06 09:16:22 +00:00
Eelco Dolstra
0423d0692a
* Print a better error message.
2011-03-16 15:55:57 +00:00
Eelco Dolstra
48bdbbf070
* Fix a bug in the documentation (reported by Olexiy Buyanskyy,
...
Nix/215).
2011-03-15 13:12:59 +00:00
Eelco Dolstra
802c2651c8
2011-02-17 15:08:33 +00:00
Eelco Dolstra
e945b52a31
* nix-push: handle the case where the hash is not set in the DB.
2011-02-17 13:26:33 +00:00
Eelco Dolstra
c3cee5395b
* Build for Ubuntu 10.04.
2011-02-14 14:56:02 +00:00
Florian Friesdorf
8fcaf3e9c6
make nix-mode provide 'nix-mode
...
this enables (require 'nix-mode)
2011-02-14 03:11:56 +00:00
Eelco Dolstra
538b7caab0
* Don't allocate a big initial GC address space on machines with
...
little RAM. Even if the memory isn't actually used, it can cause
problems with the overcommit heuristics in the kernel. So use a VM
space of 25% of RAM, up to 384 MB.
2011-02-10 14:31:04 +00:00
Eelco Dolstra
5a6b039802
* Don't call GC_expand_hp unless we're actually using the garbage
...
collector.
2011-02-09 22:59:50 +00:00
Ludovic Courtès
f1462c208b
Use $BDW_GC_LIBS instead of a custom variable.
2011-02-09 21:23:13 +00:00
Eelco Dolstra
1876ab764f
* A better fix. $boehmgc isn't set anywhere, we should use the flags
...
returned by pkg-config.
2011-02-09 14:13:09 +00:00
Eelco Dolstra
dfc4117e90
* The GC library can't be found on Solaris
...
(http://hydra.nixos.org/build/890714 ), so don't build with GC
support for now.
2011-02-09 14:08:32 +00:00
Eelco Dolstra
d159ea1b7e
* Urgh, FreeBSD doesn't have a "seq" command.
2011-02-09 14:03:16 +00:00
Eelco Dolstra
3087b3f751
* Obsolete.
2011-02-09 12:48:54 +00:00
Eelco Dolstra
eb94581d39
* Remove obsolete directory.
2011-02-09 12:43:44 +00:00
Eelco Dolstra
7bba67c401
* Remove obsolete file.
2011-02-09 12:42:15 +00:00
Eelco Dolstra
d0eda1f3e9
* Merged the SQLite branch.
2011-02-09 12:41:54 +00:00
Eelco Dolstra
543988572e
* Sync with the trunk.
2011-02-09 12:25:53 +00:00
Eelco Dolstra
c0340eec5a
2011-02-08 12:30:28 +00:00
Eelco Dolstra
0304fda3cf
* Propagate the CC setting.
2011-02-05 16:40:15 +00:00
Eelco Dolstra
aeae0beba4
* Clang compatibility fix. Clang actually checks template definitions
...
when they are defined
2011-02-05 16:29:10 +00:00
Ludovic Courtès
3854fc9b42
Remove useless <config.h> inclusion from public header.
2011-01-14 13:55:58 +00:00
Eelco Dolstra
9db190eb31
* builtins.substring: if "start" is beyond the end of the string,
...
return the empty string.
2011-01-14 12:47:10 +00:00
Eelco Dolstra
d6c8b995c5
* In Hydra manifests the Size field is missing, so don't rely on it.
...
This caused a lot of "Use of uninitialized value" warnings from
Perl.
2010-12-22 10:32:32 +00:00
Eelco Dolstra
c931a7aec5
* Do a short sleep after SQLITE_BUSY.
2010-12-17 17:23:15 +00:00
Eelco Dolstra
b1eb252172
* Propagate the "100" exit status for failed builds through the Nix
...
daemon.
2010-12-17 11:28:26 +00:00
Eelco Dolstra
eac93d6efe
* Use the right `make'.
2010-12-17 09:28:51 +00:00
Eelco Dolstra
a0be433fec
* Disable X11 forwarding, it's not needed.
2010-12-15 14:25:54 +00:00
Eelco Dolstra
f1a6b97639
* nix-copy-closure: make sure that the shell doesn't do globbing of
...
`+' 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-15 08:39:37 +00:00
Eelco Dolstra
3dd02580e3
* I forgot to catch SQLiteBusy in registerValidPaths(). So
...
registerValidPaths() now handles busy errors and registerValidPath()
is simply a wrapper around it.
2010-12-14 13:25:20 +00:00
Eelco Dolstra
d787285af9
* nix-instantiate: return exit status 100 to denote a permanent build
...
failure. The build hook can use this to distinguish between
transient and permanent failures on the remote side.
2010-12-13 16:53:23 +00:00
Eelco Dolstra
5833243c92
* Create /nix/var/nix/db if it's missing.
2010-12-13 13:42:34 +00:00
Eelco Dolstra
100becf8d1
* createDirs(path): if path already exists, make sure it's a
...
directory.
* Provide a C++ wrapper around lstat().
2010-12-13 13:32:58 +00:00
Eelco Dolstra
d7ca6f44eb
* Update some comments.
2010-12-13 13:19:46 +00:00
Eelco Dolstra
542fc69062
* When doing a query (e.g. `nix-store -r --dry-run'), don't make a lot
...
of expensive calls to `nix-store --check-validity'.
2010-12-13 08:39:10 +00:00
Eelco Dolstra
4d57776813
* Use SQLite 3.7.4.
2010-12-10 11:45:56 +00:00
Eelco Dolstra
e4720b1a79
* Ignore the result of sqlite3_reset().
2010-12-08 18:19:15 +00:00
Eelco Dolstra
7d0444e244
* Bad things happen when a filehandle has the same name as a module.
2010-12-07 12:33:42 +00:00
Eelco Dolstra
8062d3af30
* `nix-store --verify --check-contents': don't hold the global GC lock
...
while checking the contents, since this operation can take a very
long time to finish. Also, fill in missing narSize fields in the DB
while doing this.
2010-12-06 15:29:38 +00:00
Eelco Dolstra
de79d23f76
* Retry a transaction if SQLite returns SQLITE_BUSY. This can happen
...
even with a very long busy timeout, because SQLITE_BUSY is also
returned to resolve deadlocks. This should get rid of random
"database is locked" errors. This is kind of hard to test though.
* Fix a horrible bug in deleteFromStore(): deletePathWrapped() should
be called after committing the transaction, not before, because the
commit might not succeed.
2010-12-05 18:23:19 +00:00
Eelco Dolstra
365f3028dd
* Use CamelCase for the Perl modules.
2010-12-05 17:50:29 +00:00
Eelco Dolstra
f42a505ab7
* Add a script `nix-generate-patches'.
...
* Fix the binary patching test.
2010-12-05 17:36:02 +00:00
Eelco Dolstra
77f7a6d591
* Quick hack around one of the pathological cases in bsdiff
...
(namely, when there is a long region of 0s). On one 86 MiB
case, this cut patch generation time from 44m to 2m.
2010-11-29 17:07:04 +00:00
Eelco Dolstra
d3bba0c2d8
* Move the patch generator into a module.
2010-11-29 15:26:28 +00:00
Eelco Dolstra
9737a7eba0
* Don't generate patches if the system type differs.
2010-11-29 09:26:05 +00:00
Eelco Dolstra
bd48fd97f6
* Impose a configurable time limit on patch generation. This is
...
necessary because bsdiff has some pathological worst-case behaviour,
e.g. O(n^2) on files consisting only of 0s.
2010-11-29 09:15:45 +00:00
Eelco Dolstra
703e5a2ce2
* Sync with the trunk.
2010-11-25 14:09:13 +00:00
Eelco Dolstra
812fae424e
* DrvInfo contains pointers to expressions, so DrvInfos should be
...
traced by the garbage collector. Otherwise "nix-env -u" can crash
randomly.
2010-11-25 13:47:34 +00:00