]> git.saurik.com Git - apt.git/blobdiff - apt-pkg/aptconfiguration.cc
keep compressed indexes in a low-cost format
[apt.git] / apt-pkg / aptconfiguration.cc
index a708a77c92ae3a54e458ea096459d2af19992337..01ae5a64240d0b0ec28e2001a9e813d16de729e0 100644 (file)
@@ -37,6 +37,7 @@ static void setDefaultConfigurationForCompressors() {
        // Set default application paths to check for optional compression types
        _config->CndSet("Dir::Bin::bzip2", "/bin/bzip2");
        _config->CndSet("Dir::Bin::xz", "/usr/bin/xz");
+       _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"));
                _config->Set("APT::Compressor::lzma::Binary", "xz");
@@ -79,6 +80,7 @@ const Configuration::getCompressionTypes(bool const &Cached) {
        _config->CndSet("Acquire::CompressionTypes::bz2","bzip2");
        _config->CndSet("Acquire::CompressionTypes::lzma","lzma");
        _config->CndSet("Acquire::CompressionTypes::gz","gzip");
+       _config->CndSet("Acquire::CompressionTypes::lz4","lz4");
 
        setDefaultConfigurationForCompressors();
        std::vector<APT::Configuration::Compressor> const compressors = getCompressors();
@@ -365,6 +367,12 @@ const Configuration::getCompressors(bool const Cached) {
        setDefaultConfigurationForCompressors();
 
        compressors.push_back(Compressor(".", "", "", NULL, NULL, 0));
+       if (_config->Exists("Dir::Bin::lz4") == false || FileExists(_config->FindFile("Dir::Bin::lz4")) == true)
+               compressors.push_back(Compressor("lz4",".lz4","lz4","-1","-d",50));
+#ifdef HAVE_LZ4
+       else
+               compressors.push_back(Compressor("lz4",".lz4","false", NULL, NULL, 50));
+#endif
        if (_config->Exists("Dir::Bin::gzip") == false || FileExists(_config->FindFile("Dir::Bin::gzip")) == true)
                compressors.push_back(Compressor("gzip",".gz","gzip","-6n","-d",100));
 #ifdef HAVE_ZLIB