summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--apt-pkg/cdrom.cc2
-rw-r--r--cmdline/apt-cdrom.cc17
-rw-r--r--methods/cdrom.cc13
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);
}
}
}