};
/*}}}*/
// SetupAutoDetect /*{{{*/
-bool AutoDetectCdrom(pkgUdevCdromDevices &UdevCdroms, int &i)
+bool AutoDetectCdrom(pkgUdevCdromDevices &UdevCdroms, unsigned int &i)
{
bool Debug = _config->FindB("Debug::Acquire::cdrom", false);
_config->Set("Acquire::cdrom::mount", v[i].MountPath);
_config->Set("APT::CDROM::NoMount", true);
} else {
- MountCdrom("/var/lib/apt/media", v[i].DeviceName);
- MountCdrom("/var/lib/apt/media", v[i].DeviceName);
- _config->Set("Acquire::cdrom::mount", "/var/lib/apt/media");
+ string AptMountPoint = _config->FindDir("Dir::Media::MountPath");
+ if (!FileExists(AptMountPoint))
+ mkdir(AptMountPoint.c_str(), 0750);
+ if(MountCdrom(AptMountPoint, v[i].DeviceName) == false)
+ _error->Warning(_("Failed to mount '%s' to '%s'"), v[i].DeviceName.c_str(), AptMountPoint.c_str());
+ _config->Set("Acquire::cdrom::mount", AptMountPoint);
_config->Set("APT::CDROM::NoMount", true);
}
i++;
pkgUdevCdromDevices UdevCdroms;
pkgCdromTextStatus log;
pkgCdrom cdrom;
- bool res = false;
+ bool res = true;
- bool AutoDetect = _config->FindB("Acquire::cdrom::AutoDetect");
- int count = 0;
+ bool AutoDetect = _config->FindB("Acquire::cdrom::AutoDetect", true);
+ unsigned int count = 0;
if (AutoDetect && UdevCdroms.Dlopen())
{
bool res = true;
bool AutoDetect = _config->FindB("Acquire::cdrom::AutoDetect");
- int count = 0;
+ unsigned int count = 0;
if (AutoDetect && UdevCdroms.Dlopen())
{
" -m No mounting\n"
" -f Fast mode, don't check package files\n"
" -a Thorough scan mode\n"
+ " --auto-detect Auto detect drive and mount point\n"
" -c=? Read this configuration file\n"
" -o=? Set an arbitrary configuration option, eg -o dir::cache=/tmp\n"
"See fstab(5)\n";
{
CommandLine::Args Args[] = {
{'h',"help","help",0},
- {'a',"auto-detect","Acquire::cdrom::AutoDetect",0},
+ { 0,"auto-detect","Acquire::cdrom::AutoDetect",0},
{'v',"version","version",0},
{'d',"cdrom","Acquire::cdrom::mount",CommandLine::HasArg},
{'r',"rename","APT::CDROM::Rename",0},