X-Git-Url: https://git.saurik.com/apt.git/blobdiff_plain/bca4c203ac8664f7cdbffd4ce8474b358f708658..7b15b702b1f908595a2ae484117746587f8e03aa:/methods/cdrom.cc diff --git a/methods/cdrom.cc b/methods/cdrom.cc index b3f461816..22d4b9164 100644 --- a/methods/cdrom.cc +++ b/methods/cdrom.cc @@ -8,12 +8,15 @@ ##################################################################### */ /*}}}*/ // Include Files /*{{{*/ +#include + #include #include #include #include #include #include +#include #include #include @@ -54,7 +57,8 @@ class CDROMMethod : public pkgAcqMethod CDROMMethod::CDROMMethod() : pkgAcqMethod("1.0",SingleInstance | LocalOnly | SendConfig | NeedsCleanup | Removable), - DatabaseLoaded(false), + DatabaseLoaded(false), + Debug(false), MountedByApt(false) { UdevCdroms.Dlopen(); @@ -116,23 +120,24 @@ bool CDROMMethod::AutoDetectAndMount(const URI Get, string &NewID) return false; // check if we have the mount point - if (!FileExists("/media/apt")) - mkdir("/media/apt", 0755); + string AptMountPoint = _config->FindDir("Dir::Media::MountPath"); + if (!FileExists(AptMountPoint)) + mkdir(AptMountPoint.c_str(), 0750); // now try mounting for (unsigned int i=0; i < v.size(); i++) { if (!v[i].Mounted) { - if(MountCdrom("/media/apt", v[i].DeviceName)) + if(MountCdrom(AptMountPoint, v[i].DeviceName)) { - if (IsCorrectCD(Get, "/media/apt", NewID)) + if (IsCorrectCD(Get, AptMountPoint, NewID)) { MountedByApt = true; - CDROM = "/media/apt"; + CDROM = AptMountPoint; return true; } else { - UnmountCdrom("/media/apt"); + UnmountCdrom(AptMountPoint); } } } @@ -218,8 +223,8 @@ bool CDROMMethod::Fetch(FetchItem *Itm) return true; } - bool AutoDetect = _config->FindB("Acquire::cdrom::AutoDetect", false); - CDROM = _config->FindDir("Acquire::cdrom::mount","/cdrom/"); + bool AutoDetect = _config->FindB("Acquire::cdrom::AutoDetect", true); + CDROM = _config->FindDir("Acquire::cdrom::mount"); if (Debug) clog << "Looking for CDROM at " << CDROM << endl; @@ -263,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);