X-Git-Url: https://git.saurik.com/apt.git/blobdiff_plain/ac7f8f7916f16905d8eeb0133bc650d89726d0f4..df70a3ba7f45a643ce730d3a075aafec4fc9a9cd:/apt-pkg/cdrom.cc diff --git a/apt-pkg/cdrom.cc b/apt-pkg/cdrom.cc index 76c450618..d83d05f9e 100644 --- a/apt-pkg/cdrom.cc +++ b/apt-pkg/cdrom.cc @@ -24,6 +24,7 @@ #include #include #include +#include #include @@ -60,10 +61,10 @@ bool pkgCdrom::FindPackages(string CD, return _error->Errno("chdir","Unable to change to %s",CD.c_str()); // Look for a .disk subdirectory - if (DirectoryExists(".disk") == true) + if (InfoDir.empty() == true) { - if (InfoDir.empty() == true) - InfoDir = CD + ".disk/"; + if (DirectoryExists(".disk") == true) + InfoDir = InfoDir + CD + ".disk/"; } // Don't look into directories that have been marked to ingore. @@ -155,10 +156,7 @@ bool pkgCdrom::FindPackages(string CD, // Skip some files.. if (strcmp(Dir->d_name,".") == 0 || strcmp(Dir->d_name,"..") == 0 || - //strcmp(Dir->d_name,"source") == 0 || strcmp(Dir->d_name,".disk") == 0 || - strcmp(Dir->d_name,"experimental") == 0 || - strcmp(Dir->d_name,"binary-all") == 0 || strcmp(Dir->d_name,"debian-installer") == 0) continue; @@ -369,7 +367,7 @@ bool pkgCdrom::DropRepeats(vector &List,const char *Name) /*}}}*/ // ReduceSourceList - Takes the path list and reduces it /*{{{*/ // --------------------------------------------------------------------- -/* This takes the list of source list expressed entires and collects +/* This takes the list of source list expressed entries and collects similar ones to form a single entry for each dist */ void pkgCdrom::ReduceSourcelist(string /*CD*/,vector &List) { @@ -428,8 +426,8 @@ bool pkgCdrom::WriteDatabase(Configuration &Cnf) { string DFile = _config->FindFile("Dir::State::cdroms"); string NewFile = DFile + ".new"; - - unlink(NewFile.c_str()); + + RemoveFile("WriteDatabase", NewFile); ofstream Out(NewFile.c_str()); if (!Out) return _error->Errno("ofstream::ofstream", @@ -453,7 +451,7 @@ bool pkgCdrom::WriteDatabase(Configuration &Cnf) // WriteSourceList - Write an updated sourcelist /*{{{*/ // --------------------------------------------------------------------- /* This reads the old source list and copies it into the new one. It - appends the new CDROM entires just after the first block of comments. + appends the new CDROM entries just after the first block of comments. This places them first in the file. It also removes any old entries that were the same. */ bool pkgCdrom::WriteSourceList(string Name,vector &List,bool Source) @@ -470,7 +468,7 @@ bool pkgCdrom::WriteSourceList(string Name,vector &List,bool Source) return _error->Errno("ifstream::ifstream","Opening %s",File.c_str()); string NewFile = File + ".new"; - unlink(NewFile.c_str()); + RemoveFile("WriteDatabase", NewFile); ofstream Out(NewFile.c_str()); if (!Out) return _error->Errno("ofstream::ofstream",