Set backup MANPATH in case man path isn’t set correctly.
Previously, this would fail at startup for non-NixOS installs: nix-env --help The fix for this is to just use "nixManDir" as the value for MANPATH when spawning "man". To test this, I’m using the following: $ nix-build release.nix -A build $ MANPATH= ./result/bin/nix-env --help Fixes #1627
This commit is contained in:
		
							parent
							
								
									96d48318cb
								
							
						
					
					
						commit
						8f186722a9
					
				
					 4 changed files with 6 additions and 0 deletions
				
			
		| 
						 | 
				
			
			@ -262,6 +262,7 @@ void printVersion(const string & programName)
 | 
			
		|||
void showManPage(const string & name)
 | 
			
		||||
{
 | 
			
		||||
    restoreSignals();
 | 
			
		||||
    setenv("MANPATH", settings.nixManDir.c_str(), 1);
 | 
			
		||||
    execlp("man", "man", name.c_str(), NULL);
 | 
			
		||||
    throw SysError(format("command 'man %1%' failed") % name.c_str());
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -38,6 +38,7 @@ Settings::Settings()
 | 
			
		|||
    , nixConfDir(canonPath(getEnv("NIX_CONF_DIR", NIX_CONF_DIR)))
 | 
			
		||||
    , nixLibexecDir(canonPath(getEnv("NIX_LIBEXEC_DIR", NIX_LIBEXEC_DIR)))
 | 
			
		||||
    , nixBinDir(canonPath(getEnv("NIX_BIN_DIR", NIX_BIN_DIR)))
 | 
			
		||||
    , nixManDir(canonPath(NIX_MAN_DIR))
 | 
			
		||||
    , nixDaemonSocketFile(canonPath(nixStateDir + DEFAULT_SOCKET_PATH))
 | 
			
		||||
{
 | 
			
		||||
    buildUsersGroup = getuid() == 0 ? "nixbld" : "";
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -82,6 +82,9 @@ public:
 | 
			
		|||
    /* The directory where the main programs are stored. */
 | 
			
		||||
    Path nixBinDir;
 | 
			
		||||
 | 
			
		||||
    /* The directory where the man pages are stored. */
 | 
			
		||||
    Path nixManDir;
 | 
			
		||||
 | 
			
		||||
    /* File name of the socket the daemon listens to.  */
 | 
			
		||||
    Path nixDaemonSocketFile;
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -38,6 +38,7 @@ libstore_CXXFLAGS = \
 | 
			
		|||
 -DNIX_CONF_DIR=\"$(sysconfdir)/nix\" \
 | 
			
		||||
 -DNIX_LIBEXEC_DIR=\"$(libexecdir)\" \
 | 
			
		||||
 -DNIX_BIN_DIR=\"$(bindir)\" \
 | 
			
		||||
 -DNIX_MAN_DIR=\"$(mandir)\" \
 | 
			
		||||
 -DSANDBOX_SHELL="\"$(sandbox_shell)\"" \
 | 
			
		||||
 -DLSOF=\"$(lsof)\"
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue