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
Eelco Dolstra
d92ccbf1ac
* Test whether sequences of patches work.
2010-11-17 18:01:37 +00:00
Eelco Dolstra
1a211d812f
* Oops.
2010-11-17 17:54:49 +00:00
Eelco Dolstra
a4f0365b2d
* When checking whether a patch is applicable, for efficiency, use
...
`nix-store -q --hash' to get the hash of the base path rather than
`nix-hash'. However, only do this for estimating the size of a
download, not for the actual substitution, because sometimes the
contents of store paths are modified (which they shouldn't, of
course).
2010-11-17 17:41:59 +00:00
Eelco Dolstra
3d38a49840
* In the download size indication, take binary patches into account.
...
Hopefully this doesn't slow things down too much.
2010-11-17 17:32:25 +00:00
Eelco Dolstra
f69626ed3e
2010-11-17 15:45:09 +00:00
Eelco Dolstra
a07c68f05e
* Finally, a test for the binary patch functionality.
2010-11-17 15:30:07 +00:00
Eelco Dolstra
bf658f016f
* Test that download sizes are shown correctly.
2010-11-17 14:39:02 +00:00
Eelco Dolstra
1e24cbaba3
* Fix the test.
2010-11-17 14:35:14 +00:00
Eelco Dolstra
bdf089f463
* Before a build, show the disk space that the downloaded store paths
...
will approximately require.
2010-11-17 14:31:42 +00:00
Eelco Dolstra
06699d4219
* Store the NAR size in the manifest.
2010-11-17 12:57:52 +00:00
Eelco Dolstra
5693b8a7e2
* nix-push: no need to compute the NAR hash, since the Nix database
...
already has it (`nix-store -q --hash').
2010-11-17 12:51:54 +00:00
Eelco Dolstra
e60c962fb8
* Add an operation `nix-store -q --size'.
2010-11-17 12:40:52 +00:00
Eelco Dolstra
1db6259076
* Implement RemoteStore::queryPathInfo().
2010-11-17 12:08:01 +00:00
Eelco Dolstra
a3883cbd28
* Store the size of a store path in the database (to be precise, the
...
size of the NAR serialisation of the path, i.e., `nix-store --dump
PATH'). This is useful for Hydra.
2010-11-16 17:11:46 +00:00
Eelco Dolstra
fb9368b5a0
* Sync with the trunk.
2010-11-16 12:49:47 +00:00
Eelco Dolstra
4aced7f8d0
* Merge the GC branch.
2010-10-29 15:04:39 +00:00
Eelco Dolstra
26def5392f
* Document Boehm GC support.
2010-10-29 14:44:02 +00:00
Eelco Dolstra
3d71c8013e
* Use pkgconfig to locate the Boehm GC (as suggested by Ludo), if
...
--enable-gc is given.
2010-10-29 14:00:47 +00:00
Eelco Dolstra
14fbf85380
* Set libgc's initial heap size to 384 MiB to prevent garbage
...
collection in most cases (and therefore its performance overhead).
2010-10-29 13:11:50 +00:00
Eelco Dolstra
0c4828ea05
* new(UseGC) is inexplicably slower than GC_MALLOC, so prefer the
...
latter.
2010-10-28 12:50:01 +00:00
Eelco Dolstra
e11e6fb1c6
* Handle out of memory condition.
2010-10-28 12:29:40 +00:00
Eelco Dolstra
8a788e38ac
* Install config.h.
2010-10-26 10:47:02 +00:00
Eelco Dolstra
11ccd44e95
* We need Bison 2.4 now.
2010-10-24 21:48:59 +00:00
Eelco Dolstra
43535499f3
* When allocating an attribute set, reserve enough space for all
...
elements. This prevents the vector from having to resize itself.
2010-10-24 20:09:37 +00:00
Eelco Dolstra
e0b7fb8f27
* Keep attribute sets in sorted order to speed up attribute lookups.
...
* Simplify the representation of attributes in the AST.
* Change the behaviour of listToAttrs() in case of duplicate names.
2010-10-24 19:52:33 +00:00
Eelco Dolstra
2dc6d50941
* Don't create thunks for variable lookups (if possible). This
...
significantly reduces the number of values allocated (e.g. from 8.7m
to 4.9m for the Bittorrent test).
2010-10-24 14:20:02 +00:00