X-Git-Url: https://git.saurik.com/apt.git/blobdiff_plain/2b4cead3c8eb3afb5aa5390b88c511477a7628d8..e02c3a9ec2b2f7a8d4aecd70f2ecdae27c207aa9:/apt-pkg/cdrom.cc diff --git a/apt-pkg/cdrom.cc b/apt-pkg/cdrom.cc index 5eccbe5de..d83d05f9e 100644 --- a/apt-pkg/cdrom.cc +++ b/apt-pkg/cdrom.cc @@ -16,14 +16,15 @@ #include #include #include -#include -#include #include #include #include #include #include #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", @@ -917,7 +915,7 @@ bool pkgCdrom::Add(pkgCdromStatus *log) /*{{{*/ } /*}}}*/ pkgUdevCdromDevices::pkgUdevCdromDevices() /*{{{*/ -: libudev_handle(NULL), udev_new(NULL), udev_enumerate_add_match_property(NULL), +: d(NULL), libudev_handle(NULL), udev_new(NULL), udev_enumerate_add_match_property(NULL), udev_enumerate_scan_devices(NULL), udev_enumerate_get_list_entry(NULL), udev_device_new_from_syspath(NULL), udev_enumerate_get_udev(NULL), udev_list_entry_get_name(NULL), udev_device_get_devnode(NULL), @@ -927,8 +925,7 @@ pkgUdevCdromDevices::pkgUdevCdromDevices() /*{{{*/ } /*}}}*/ -bool -pkgUdevCdromDevices::Dlopen() /*{{{*/ +bool pkgUdevCdromDevices::Dlopen() /*{{{*/ { // alread open if(libudev_handle != NULL) @@ -957,18 +954,14 @@ pkgUdevCdromDevices::Dlopen() /*{{{*/ return true; } /*}}}*/ - /*{{{*/ -// convenience interface, this will just call ScanForRemovable -vector -pkgUdevCdromDevices::Scan() +// convenience interface, this will just call ScanForRemovable /*{{{*/ +vector pkgUdevCdromDevices::Scan() { bool CdromOnly = _config->FindB("APT::cdrom::CdromOnly", true); return ScanForRemovable(CdromOnly); } /*}}}*/ - /*{{{*/ -vector -pkgUdevCdromDevices::ScanForRemovable(bool CdromOnly) +vector pkgUdevCdromDevices::ScanForRemovable(bool CdromOnly)/*{{{*/ { vector cdrom_devices; struct udev_enumerate *enumerate; @@ -1027,3 +1020,9 @@ pkgUdevCdromDevices::~pkgUdevCdromDevices() /*{{{*/ dlclose(libudev_handle); } /*}}}*/ + +pkgCdromStatus::pkgCdromStatus() : d(NULL), totalSteps(0) {} +pkgCdromStatus::~pkgCdromStatus() {} + +pkgCdrom::pkgCdrom() : d(NULL) {} +pkgCdrom::~pkgCdrom() {}