Go to file
Eelco Dolstra 276a40b31f Handle case collisions on case-insensitive systems
When running NixOps under Mac OS X, we need to be able to import store
paths built on Linux into the local Nix store. However, HFS+ is
usually case-insensitive, so if there are directories with file names
that differ only in case, then importing will fail.

The solution is to add a suffix ("~nix~case~hack~<integer>") to
colliding files. For instance, if we have a directory containing
xt_CONNMARK.h and xt_connmark.h, then the latter will be renamed to
"xt_connmark.h~nix~case~hack~1". If a store path is dumped as a NAR,
the suffixes are removed. Thus, importing and exporting via a
case-insensitive Nix store is round-tripping. So when NixOps calls
nix-copy-closure to copy the path to a Linux machine, you get the
original file names back.

Closes #119.
2014-07-16 16:02:05 +02:00
config Add config.guess, config.sub and install-sh 2013-11-25 11:26:02 +00:00
corepkgs Pass *_proxy vars to bootstrap fetchurl 2014-07-16 11:21:45 +02:00
doc Manual: Typo 2014-07-16 11:21:44 +02:00
misc Install systemd and Upstart stuff only on Linux 2014-07-16 11:53:47 +02:00
mk Sync with make-rules repo 2014-04-03 17:37:14 +02:00
perl build-remote.pl: Don't keep a shell process around 2014-07-12 00:43:28 +02:00
scripts Remove cruft 2014-07-14 12:39:53 +02:00
src Handle case collisions on case-insensitive systems 2014-07-16 16:02:05 +02:00
tests Handle case collisions on case-insensitive systems 2014-07-16 16:02:05 +02:00
.gitignore Install an Upstart service 2014-05-02 13:14:10 +02:00
AUTHORS * Put something in here. 2004-11-07 20:30:02 +00:00
bootstrap.sh bootstrap: Simplify & make more robust. 2011-09-06 12:11:05 +00:00
build.nix Add an experimental nix-make file 2012-05-21 09:43:01 -04:00
configure.ac Remove maybeVfork 2014-07-10 13:35:44 +02:00
COPYING * Change this to LGPL to keep the government happy. 2006-04-25 16:41:06 +00:00
dev-shell Make dev-shell script work on Darwin 2014-07-16 11:53:47 +02:00
INSTALL * Autoconf / Automake configuration and building. 2003-04-04 16:14:56 +00:00
local.mk Remove redundant code 2014-05-14 22:25:25 +02:00
Makefile Install an Upstart service 2014-05-02 13:14:10 +02:00
Makefile.config.in nix-store -l: Fetch build logs from the Internet 2014-05-21 17:19:36 +02:00
nix.spec.in Really fix the RPM builds 2014-05-06 10:51:16 +02:00
README * Install documentation in $(docdir) (i.e. share/doc/nix). 2008-11-19 13:19:09 +00:00
release.nix Don't build on Ubuntu 10.10 2014-07-08 20:41:25 +02:00
version Bump version to 1.8 2014-04-11 11:15:24 +02:00

Nix is a purely functional package manager.  For installation and
usage instructions, please read the manual, which can be found in
`docs/manual/manual.html', and additionally at the Nix website at
<http://nixos.org/>.


Acknowledgments

This product includes software developed by the OpenSSL Project for
use in the OpenSSL Toolkit (http://www.OpenSSL.org/).