Fix optimise-store.cc to skip more paths on macOS
I hate to make this such a large check but the lack of documentation means we really have no idea what's allowed. All of them reported so far have been within ".app/Contents" directories. That appears to be a safe starting point. However, I would not be surprised to also find more paths that are disallowed for instance in .framework or .bundle directories. Fixes #2031 Fixes #2229
This commit is contained in:
		
							parent
							
								
									85530bcc0b
								
							
						
					
					
						commit
						6d09e4400c
					
				
					 1 changed files with 1 additions and 2 deletions
				
			
		| 
						 | 
					@ -104,8 +104,7 @@ void LocalStore::optimisePath_(Activity * act, OptimiseStats & stats,
 | 
				
			||||||
       *.app/Contents/Resources/\*.lproj seem to be the only paths affected. See
 | 
					       *.app/Contents/Resources/\*.lproj seem to be the only paths affected. See
 | 
				
			||||||
       https://github.com/NixOS/nix/issues/1443 for more discussion. */
 | 
					       https://github.com/NixOS/nix/issues/1443 for more discussion. */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    if (std::regex_search(path, std::regex("\\.app/Contents/PkgInfo$")) ||
 | 
					    if (std::regex_search(path, std::regex("\\.app/Contents/.+$")))
 | 
				
			||||||
        std::regex_search(path, std::regex("\\.app/Contents/Resources/.+\\.lproj$")))
 | 
					 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
        debug(format("'%1%' is not allowed to be linked in macOS") % path);
 | 
					        debug(format("'%1%' is not allowed to be linked in macOS") % path);
 | 
				
			||||||
        return;
 | 
					        return;
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue