X-Git-Url: https://git.saurik.com/apt.git/blobdiff_plain/fb503892e3e05132bb7db369440402ff81ea5f8d..a6f22547948f1f998c754850c9ddeb3cba784873:/methods/cdrom.cc diff --git a/methods/cdrom.cc b/methods/cdrom.cc index c8ec322ee..74e2ecc6b 100644 --- a/methods/cdrom.cc +++ b/methods/cdrom.cc @@ -8,17 +8,20 @@ ##################################################################### */ /*}}}*/ // Include Files /*{{{*/ +#include + #include #include #include #include #include #include +#include #include +#include +#include #include -#include -#include #include #include @@ -38,7 +41,7 @@ class CDROMMethod : public pkgAcqMethod pkgUdevCdromDevices UdevCdroms; bool IsCorrectCD(URI want, string MountPath, string& NewID); - bool AutoDetectAndMount(URI, string &NewID); + bool AutoDetectAndMount(const URI, string &NewID); virtual bool Fetch(FetchItem *Itm); string GetID(string Name); virtual void Exit(); @@ -54,11 +57,12 @@ class CDROMMethod : public pkgAcqMethod CDROMMethod::CDROMMethod() : pkgAcqMethod("1.0",SingleInstance | LocalOnly | SendConfig | NeedsCleanup | Removable), - DatabaseLoaded(false), + DatabaseLoaded(false), + Debug(false), MountedByApt(false) { UdevCdroms.Dlopen(); -}; +} /*}}}*/ // CDROMMethod::Exit - Unmount the disc if necessary /*{{{*/ // --------------------------------------------------------------------- @@ -92,7 +96,7 @@ string CDROMMethod::GetID(string Name) // CDROMMethod::AutoDetectAndMount /*{{{*/ // --------------------------------------------------------------------- /* Modifies class varaiable CDROM to the mountpoint */ -bool CDROMMethod::AutoDetectAndMount(URI Get, string &NewID) +bool CDROMMethod::AutoDetectAndMount(const URI Get, string &NewID) { vector v = UdevCdroms.Scan(); @@ -116,9 +120,9 @@ bool CDROMMethod::AutoDetectAndMount(URI Get, string &NewID) return false; // check if we have the mount point - const char* AptMountPoint = "/media/apt"; + string AptMountPoint = _config->FindDir("Dir::Media::MountPath"); if (!FileExists(AptMountPoint)) - mkdir(AptMountPoint, 0750); + mkdir(AptMountPoint.c_str(), 0750); // now try mounting for (unsigned int i=0; i < v.size(); i++) @@ -220,7 +224,7 @@ bool CDROMMethod::Fetch(FetchItem *Itm) } bool AutoDetect = _config->FindB("Acquire::cdrom::AutoDetect", true); - CDROM = _config->FindDir("Acquire::cdrom::mount","/cdrom/"); + CDROM = _config->FindDir("Acquire::cdrom::mount"); if (Debug) clog << "Looking for CDROM at " << CDROM << endl; @@ -264,7 +268,7 @@ bool CDROMMethod::Fetch(FetchItem *Itm) Hashes Hash; FileFd Fd(Res.Filename, FileFd::ReadOnly); - Hash.AddFD(Fd.Fd(), Fd.Size()); + Hash.AddFD(Fd); Res.TakeHashes(Hash); URIDone(Res);