From baf685fd1dda8e154aed454544d838ed93ef5be4 Mon Sep 17 00:00:00 2001 From: Julian Andres Klode Date: Mon, 21 Nov 2011 18:53:29 +0100 Subject: apt-pkg/cdrom.cc: Accept .bz2, .xz files in addition to .gz files (Closes: #649451) --- apt-pkg/cdrom.cc | 15 +++++++++++---- debian/changelog | 7 +++++++ 2 files changed, 18 insertions(+), 4 deletions(-) diff --git a/apt-pkg/cdrom.cc b/apt-pkg/cdrom.cc index a9c63fd21..d1bc1f3ba 100644 --- a/apt-pkg/cdrom.cc +++ b/apt-pkg/cdrom.cc @@ -81,7 +81,8 @@ bool pkgCdrom::FindPackages(string CD, /* Aha! We found some package files. We assume that everything under this dir is controlled by those package files so we don't look down anymore */ - if (stat("Packages",&Buf) == 0 || stat("Packages.gz",&Buf) == 0) + if (stat("Packages",&Buf) == 0 || stat("Packages.gz",&Buf) == 0 || + stat("Packages.bz2",&Buf) == 0 || stat("Packages.xz",&Buf) == 0) { List.push_back(CD); @@ -89,7 +90,8 @@ bool pkgCdrom::FindPackages(string CD, if (_config->FindB("APT::CDROM::Thorough",false) == false) return true; } - if (stat("Sources.gz",&Buf) == 0 || stat("Sources",&Buf) == 0) + if (stat("Sources.xz",&Buf) == 0 || stat("Sources.bz2",&Buf) == 0 || + stat("Sources.gz",&Buf) == 0 || stat("Sources",&Buf) == 0) { SList.push_back(CD); @@ -109,8 +111,11 @@ bool pkgCdrom::FindPackages(string CD, if (_config->FindB("Debug::aptcdrom",false) == true) std::clog << "found translations: " << Dir->d_name << "\n"; string file = Dir->d_name; - if(file.substr(file.size()-3,file.size()) == ".gz") + if(file.substr(file.size()-3,file.size()) == ".gz" || + file.substr(file.size()-3,file.size()) == ".xz") file = file.substr(0,file.size()-3); + if(file.substr(file.size()-4,file.size()) == ".bz2") + file = file.substr(0,file.size()-4); TransList.push_back(CD+"i18n/"+ file); } } @@ -258,7 +263,9 @@ bool pkgCdrom::DropRepeats(vector &List,const char *Name) { struct stat Buf; if (stat((List[I] + Name).c_str(),&Buf) != 0 && - stat((List[I] + Name + ".gz").c_str(),&Buf) != 0) + stat((List[I] + Name + ".gz").c_str(),&Buf) != 0 && + stat((List[I] + Name + ".bz2").c_str(),&Buf) != 0 && + stat((List[I] + Name + ".xz").c_str(),&Buf) != 0) _error->Errno("stat","Failed to stat %s%s",List[I].c_str(), Name); Inodes[I] = Buf.st_ino; diff --git a/debian/changelog b/debian/changelog index df50eefbd..fab547fc8 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,10 @@ +apt (0.8.16~exp9) UNRELEASED; urgency=low + + * apt-pkg/cdrom.cc: + - Accept .bz2, .xz files in addition to .gz files (Closes: #649451) + + -- Julian Andres Klode Mon, 21 Nov 2011 18:46:36 +0100 + apt (0.8.16~exp8) experimental; urgency=low [ David Kalnischkies ] -- cgit v1.2.3