diff options
| author | Ludovic Courtès | 2014-01-25 17:07:21 +0100 |
|---|---|---|
| committer | Ludovic Courtès | 2014-01-25 17:07:21 +0100 |
| commit | 200a97e64f29dc904961e99bcbc0f20fef431dd2 (patch) | |
| tree | 4b8d5c809925320e74efb8c9657037ee6f00d718 /nix/guix-register/guix-register.cc | |
| parent | fcaa7523d4f37d5b3c4bf459784e826f98252fe8 (diff) | |
| parent | 1909431c5b6413c496eb93d3d74be3e3e936951b (diff) | |
Merge branch 'master' into core-updates
Diffstat (limited to 'nix/guix-register/guix-register.cc')
| -rw-r--r-- | nix/guix-register/guix-register.cc | 25 |
1 files changed, 16 insertions, 9 deletions
diff --git a/nix/guix-register/guix-register.cc b/nix/guix-register/guix-register.cc index 14478f6a1..324673f34 100644 --- a/nix/guix-register/guix-register.cc +++ b/nix/guix-register/guix-register.cc @@ -1,5 +1,5 @@ /* GNU Guix --- Functional package management for GNU - Copyright (C) 2013 Ludovic Courtès <ludo@gnu.org> + Copyright (C) 2013, 2014 Ludovic Courtès <ludo@gnu.org> Copyright (C) 2007, 2008, 2009, 2010, 2011, 2012, 2013 Eelco Dolstra <eelco.dolstra@logicblox.com> @@ -133,10 +133,13 @@ register_validity (LocalStore *store, std::istream &input, if (info.path == "") break; - /* Rewrite the input to refer final name, as if we were in a chroot - under PREFIX. */ - std::string final_prefix (NIX_STORE_DIR "/"); - info.path = final_prefix + baseNameOf (info.path); + if (!prefix.empty ()) + { + /* Rewrite the input to refer to the final name, as if we were in a + chroot under PREFIX. */ + std::string final_prefix (NIX_STORE_DIR "/"); + info.path = final_prefix + baseNameOf (info.path); + } /* Keep its real path to canonicalize it and compute its hash. */ std::string real_path; @@ -165,6 +168,9 @@ register_validity (LocalStore *store, std::istream &input, int main (int argc, char *argv[]) { + /* Honor the environment variables, and initialize the settings. */ + settings.processEnvironment (); + try { argp_parse (&argp, argc, argv, 0, 0, 0); @@ -173,10 +179,11 @@ main (int argc, char *argv[]) 'settings.nixStore', 'settings.nixDBPath', etc. */ LocalStore store; - /* Under the --prefix tree, the final name of the store will be - NIX_STORE_DIR. Set it here so that the database uses file names - prefixed by NIX_STORE_DIR and not PREFIX + NIX_STORE_DIR. */ - settings.nixStore = NIX_STORE_DIR; + if (!prefix.empty ()) + /* Under the --prefix tree, the final name of the store will be + NIX_STORE_DIR. Set it here so that the database uses file names + prefixed by NIX_STORE_DIR and not PREFIX + NIX_STORE_DIR. */ + settings.nixStore = NIX_STORE_DIR; register_validity (&store, *input); } |