##################################################################### */
/*}}}*/
// Include Files /*{{{*/
+#include <config.h>
+
#include <apt-pkg/acquire-method.h>
#include <apt-pkg/cdrom.h>
#include <apt-pkg/cdromutl.h>
#include <apt-pkg/error.h>
#include <apt-pkg/configuration.h>
#include <apt-pkg/fileutl.h>
+#include <apt-pkg/strutl.h>
#include <apt-pkg/hashes.h>
#include <sys/stat.h>
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();
CDROMMethod::CDROMMethod() : pkgAcqMethod("1.0",SingleInstance | LocalOnly |
SendConfig | NeedsCleanup |
Removable),
- DatabaseLoaded(false),
+ DatabaseLoaded(false),
+ Debug(false),
MountedByApt(false)
{
UdevCdroms.Dlopen();
// 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<struct CdromDevice> v = UdevCdroms.Scan();
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);
}
}
}
}
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;
Hashes Hash;
FileFd Fd(Res.Filename, FileFd::ReadOnly);
- Hash.AddFD(Fd.Fd(), Fd.Size());
+ Hash.AddFD(Fd);
Res.TakeHashes(Hash);
URIDone(Res);