diff options
-rw-r--r-- | apt-pkg/cdrom.cc | 2 | ||||
-rw-r--r-- | cmdline/apt-cdrom.cc | 17 | ||||
-rw-r--r-- | methods/cdrom.cc | 13 |
3 files changed, 17 insertions, 15 deletions
diff --git a/apt-pkg/cdrom.cc b/apt-pkg/cdrom.cc index 3467f49d7..96d4e9c91 100644 --- a/apt-pkg/cdrom.cc +++ b/apt-pkg/cdrom.cc @@ -829,8 +829,6 @@ bool pkgCdrom::Add(pkgCdromStatus *log) /*{{{*/ } } - - // Unmount and finish if (_config->FindB("APT::CDROM::NoMount",false) == false) { log->Update(_("Unmounting CD-ROM...\n"), STEP_LAST); diff --git a/cmdline/apt-cdrom.cc b/cmdline/apt-cdrom.cc index fc949ce7b..494a7d8df 100644 --- a/cmdline/apt-cdrom.cc +++ b/cmdline/apt-cdrom.cc @@ -99,7 +99,7 @@ OpProgress* pkgCdromTextStatus::GetOpProgress() }; /*}}}*/ // SetupAutoDetect /*{{{*/ -bool AutoDetectCdrom(pkgUdevCdromDevices &UdevCdroms, int &i) +bool AutoDetectCdrom(pkgUdevCdromDevices &UdevCdroms, unsigned int &i) { bool Debug = _config->FindB("Debug::Acquire::cdrom", false); @@ -120,9 +120,12 @@ bool AutoDetectCdrom(pkgUdevCdromDevices &UdevCdroms, int &i) _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"); + const char* AptMountPoint = "/media/apt"; + if (!FileExists(AptMountPoint)) + mkdir(AptMountPoint, 0750); + if(MountCdrom(AptMountPoint, v[i].DeviceName) == false) + _error->Warning(_("Failed to mount '%s' to '%s'"), v[i].DeviceName.c_str(), AptMountPoint); + _config->Set("Acquire::cdrom::mount", AptMountPoint); _config->Set("APT::CDROM::NoMount", true); } i++; @@ -142,10 +145,10 @@ bool DoAdd(CommandLine &) pkgUdevCdromDevices UdevCdroms; pkgCdromTextStatus log; pkgCdrom cdrom; - bool res = false; + bool res = true; bool AutoDetect = _config->FindB("Acquire::cdrom::AutoDetect"); - int count = 0; + unsigned int count = 0; if (AutoDetect && UdevCdroms.Dlopen()) { @@ -173,7 +176,7 @@ bool DoIdent(CommandLine &) bool res = true; bool AutoDetect = _config->FindB("Acquire::cdrom::AutoDetect"); - int count = 0; + unsigned int count = 0; if (AutoDetect && UdevCdroms.Dlopen()) { diff --git a/methods/cdrom.cc b/methods/cdrom.cc index 0e78851ff..c8ec322ee 100644 --- a/methods/cdrom.cc +++ b/methods/cdrom.cc @@ -116,23 +116,24 @@ bool CDROMMethod::AutoDetectAndMount(URI Get, string &NewID) return false; // check if we have the mount point - if (!FileExists("/media/apt")) - mkdir("/media/apt", 0755); + const char* AptMountPoint = "/media/apt"; + if (!FileExists(AptMountPoint)) + mkdir(AptMountPoint, 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); } } } |