Sfoglia il codice sorgente

don't use FindFile for external Dir::Bin commands

We usually use absolute paths to specific the location of dpkg, apt-key
and the like, but there is nothing wrong with using just the command
name and instead let exec(3) make the lookup in PATH.

We had a wild mixture before, so opting for the more accepting option
out of the two seems about right especially as it makes no difference in
the default case as apt uses absolute paths.
David Kalnischkies 10 anni fa
parent
commit
90f2a7a0f6
3 ha cambiato i file con 10 aggiunte e 10 eliminazioni
  1. 8 8
      apt-pkg/aptconfiguration.cc
  2. 1 1
      apt-pkg/contrib/gpgv.cc
  3. 1 1
      apt-pkg/deb/debsystem.cc

+ 8 - 8
apt-pkg/aptconfiguration.cc

@@ -39,8 +39,8 @@ static void setDefaultConfigurationForCompressors() {
 	_config->CndSet("Dir::Bin::bzip2", "/bin/bzip2");
 	_config->CndSet("Dir::Bin::bzip2", "/bin/bzip2");
 	_config->CndSet("Dir::Bin::xz", "/usr/bin/xz");
 	_config->CndSet("Dir::Bin::xz", "/usr/bin/xz");
 	_config->CndSet("Dir::Bin::lz4", "/usr/bin/lz4");
 	_config->CndSet("Dir::Bin::lz4", "/usr/bin/lz4");
-	if (FileExists(_config->FindFile("Dir::Bin::xz")) == true) {
-		_config->Set("Dir::Bin::lzma", _config->FindFile("Dir::Bin::xz"));
+	if (FileExists(_config->Find("Dir::Bin::xz")) == true) {
+		_config->Set("Dir::Bin::lzma", _config->Find("Dir::Bin::xz"));
 		_config->Set("APT::Compressor::lzma::Binary", "xz");
 		_config->Set("APT::Compressor::lzma::Binary", "xz");
 		if (_config->Exists("APT::Compressor::lzma::CompressArg") == false) {
 		if (_config->Exists("APT::Compressor::lzma::CompressArg") == false) {
 			_config->Set("APT::Compressor::lzma::CompressArg::", "--format=lzma");
 			_config->Set("APT::Compressor::lzma::CompressArg::", "--format=lzma");
@@ -125,7 +125,7 @@ const Configuration::getCompressionTypes(bool const &Cached) {
 	// add the special "uncompressed" type
 	// add the special "uncompressed" type
 	if (std::find(types.begin(), types.end(), "uncompressed") == types.end())
 	if (std::find(types.begin(), types.end(), "uncompressed") == types.end())
 	{
 	{
-		std::string const uncompr = _config->FindFile("Dir::Bin::uncompressed", "");
+		std::string const uncompr = _config->Find("Dir::Bin::uncompressed", "");
 		if (uncompr.empty() == true || FileExists(uncompr) == true)
 		if (uncompr.empty() == true || FileExists(uncompr) == true)
 			types.push_back("uncompressed");
 			types.push_back("uncompressed");
 	}
 	}
@@ -366,31 +366,31 @@ const Configuration::getCompressors(bool const Cached) {
 	setDefaultConfigurationForCompressors();
 	setDefaultConfigurationForCompressors();
 
 
 	compressors.push_back(Compressor(".", "", "", NULL, NULL, 0));
 	compressors.push_back(Compressor(".", "", "", NULL, NULL, 0));
-	if (_config->Exists("Dir::Bin::lz4") == false || FileExists(_config->FindFile("Dir::Bin::lz4")) == true)
+	if (_config->Exists("Dir::Bin::lz4") == false || FileExists(_config->Find("Dir::Bin::lz4")) == true)
 		compressors.push_back(Compressor("lz4",".lz4","lz4","-1","-d",50));
 		compressors.push_back(Compressor("lz4",".lz4","lz4","-1","-d",50));
 #ifdef HAVE_LZ4
 #ifdef HAVE_LZ4
 	else
 	else
 		compressors.push_back(Compressor("lz4",".lz4","false", NULL, NULL, 50));
 		compressors.push_back(Compressor("lz4",".lz4","false", NULL, NULL, 50));
 #endif
 #endif
-	if (_config->Exists("Dir::Bin::gzip") == false || FileExists(_config->FindFile("Dir::Bin::gzip")) == true)
+	if (_config->Exists("Dir::Bin::gzip") == false || FileExists(_config->Find("Dir::Bin::gzip")) == true)
 		compressors.push_back(Compressor("gzip",".gz","gzip","-6n","-d",100));
 		compressors.push_back(Compressor("gzip",".gz","gzip","-6n","-d",100));
 #ifdef HAVE_ZLIB
 #ifdef HAVE_ZLIB
 	else
 	else
 		compressors.push_back(Compressor("gzip",".gz","false", NULL, NULL, 100));
 		compressors.push_back(Compressor("gzip",".gz","false", NULL, NULL, 100));
 #endif
 #endif
-	if (_config->Exists("Dir::Bin::xz") == false || FileExists(_config->FindFile("Dir::Bin::xz")) == true)
+	if (_config->Exists("Dir::Bin::xz") == false || FileExists(_config->Find("Dir::Bin::xz")) == true)
 		compressors.push_back(Compressor("xz",".xz","xz","-6","-d",200));
 		compressors.push_back(Compressor("xz",".xz","xz","-6","-d",200));
 #ifdef HAVE_LZMA
 #ifdef HAVE_LZMA
 	else
 	else
 		compressors.push_back(Compressor("xz",".xz","false", NULL, NULL, 200));
 		compressors.push_back(Compressor("xz",".xz","false", NULL, NULL, 200));
 #endif
 #endif
-	if (_config->Exists("Dir::Bin::bzip2") == false || FileExists(_config->FindFile("Dir::Bin::bzip2")) == true)
+	if (_config->Exists("Dir::Bin::bzip2") == false || FileExists(_config->Find("Dir::Bin::bzip2")) == true)
 		compressors.push_back(Compressor("bzip2",".bz2","bzip2","-6","-d",300));
 		compressors.push_back(Compressor("bzip2",".bz2","bzip2","-6","-d",300));
 #ifdef HAVE_BZ2
 #ifdef HAVE_BZ2
 	else
 	else
 		compressors.push_back(Compressor("bzip2",".bz2","false", NULL, NULL, 300));
 		compressors.push_back(Compressor("bzip2",".bz2","false", NULL, NULL, 300));
 #endif
 #endif
-	if (_config->Exists("Dir::Bin::lzma") == false || FileExists(_config->FindFile("Dir::Bin::lzma")) == true)
+	if (_config->Exists("Dir::Bin::lzma") == false || FileExists(_config->Find("Dir::Bin::lzma")) == true)
 		compressors.push_back(Compressor("lzma",".lzma","lzma","-6","-d",400));
 		compressors.push_back(Compressor("lzma",".lzma","lzma","-6","-d",400));
 #ifdef HAVE_LZMA
 #ifdef HAVE_LZMA
 	else
 	else

+ 1 - 1
apt-pkg/contrib/gpgv.cc

@@ -47,7 +47,7 @@ void ExecGPGV(std::string const &File, std::string const &FileGPG,
              int const &statusfd, int fd[2], std::string const &key)
              int const &statusfd, int fd[2], std::string const &key)
 {
 {
    #define EINTERNAL 111
    #define EINTERNAL 111
-   std::string const aptkey = _config->FindFile("Dir::Bin::apt-key", "/usr/bin/apt-key");
+   std::string const aptkey = _config->Find("Dir::Bin::apt-key", "/usr/bin/apt-key");
 
 
    bool const Debug = _config->FindB("Debug::Acquire::gpgv", false);
    bool const Debug = _config->FindB("Debug::Acquire::gpgv", false);
 
 

+ 1 - 1
apt-pkg/deb/debsystem.cc

@@ -221,7 +221,7 @@ signed debSystem::Score(Configuration const &Cnf)
    signed Score = 0;
    signed Score = 0;
    if (FileExists(Cnf.FindFile("Dir::State::status","/var/lib/dpkg/status")) == true)
    if (FileExists(Cnf.FindFile("Dir::State::status","/var/lib/dpkg/status")) == true)
        Score += 10;
        Score += 10;
-   if (FileExists(Cnf.FindFile("Dir::Bin::dpkg","/usr/bin/dpkg")) == true)
+   if (FileExists(Cnf.Find("Dir::Bin::dpkg","/usr/bin/dpkg")) == true)
       Score += 10;
       Score += 10;
    if (FileExists("/etc/debian_version") == true)
    if (FileExists("/etc/debian_version") == true)
       Score += 10;
       Score += 10;