From 509598772f0df89ea5e783a636fb941b1fc6675c Mon Sep 17 00:00:00 2001 From: Michael Vogt Date: Wed, 7 Mar 2007 10:04:31 +0100 Subject: * apt-pkg/cdrom.cc, methods/cdrom.cc: - only unmount if APT::CDROM::NoMount is false --- apt-pkg/cdrom.cc | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) (limited to 'apt-pkg/cdrom.cc') diff --git a/apt-pkg/cdrom.cc b/apt-pkg/cdrom.cc index ce1beb39b..4d45d38a2 100644 --- a/apt-pkg/cdrom.cc +++ b/apt-pkg/cdrom.cc @@ -652,7 +652,8 @@ bool pkgCdrom::Add(pkgCdromStatus *log) if (List.size() == 0 && SourceList.size() == 0) { - UnmountCdrom(CDROM); + if (_config->FindB("APT::CDROM::NoMount",false) == false) + UnmountCdrom(CDROM); return _error->Error("Unable to locate any package files, perhaps this is not a Debian Disc"); } @@ -691,7 +692,8 @@ bool pkgCdrom::Add(pkgCdromStatus *log) { if(!log) { - UnmountCdrom(CDROM); + if (_config->FindB("APT::CDROM::NoMount",false) == false) + UnmountCdrom(CDROM); return _error->Error("No disc name found and no way to ask for it"); } @@ -767,7 +769,8 @@ bool pkgCdrom::Add(pkgCdromStatus *log) string::size_type Space = (*I).find(' '); if (Space == string::npos) { - UnmountCdrom(CDROM); + if (_config->FindB("APT::CDROM::NoMount",false) == false) + UnmountCdrom(CDROM); return _error->Error("Internal error"); } @@ -784,7 +787,8 @@ bool pkgCdrom::Add(pkgCdromStatus *log) string::size_type Space = (*I).find(' '); if (Space == string::npos) { - UnmountCdrom(CDROM); + if (_config->FindB("APT::CDROM::NoMount",false) == false) + UnmountCdrom(CDROM); return _error->Error("Internal error"); } -- cgit v1.2.3 From 25a04630d6eef123a62f50703b82cc62acf1fbfb Mon Sep 17 00:00:00 2001 From: Michael Vogt Date: Wed, 7 Mar 2007 12:06:08 +0100 Subject: - added APT::CDROM::UnMountOnFinish to have more control over the umount/mount process --- apt-pkg/cdrom.cc | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) (limited to 'apt-pkg/cdrom.cc') diff --git a/apt-pkg/cdrom.cc b/apt-pkg/cdrom.cc index 4d45d38a2..241688785 100644 --- a/apt-pkg/cdrom.cc +++ b/apt-pkg/cdrom.cc @@ -508,8 +508,10 @@ bool pkgCdrom::Ident(string &ident, pkgCdromStatus *log) CDROM.c_str()); log->Update(msg.str()); } - if (MountCdrom(CDROM) == false) - return _error->Error("Failed to mount the cdrom."); + + if (_config->FindB("APT::CDROM::NoMount",false) == false) + if (MountCdrom(CDROM) == false) + return _error->Error("Failed to mount the cdrom."); // Hash the CD to get an ID if(log) @@ -803,7 +805,8 @@ bool pkgCdrom::Add(pkgCdromStatus *log) // Unmount and finish - if (_config->FindB("APT::CDROM::NoMount",false) == false) { + if (_config->FindB("APT::CDROM::NoMount",false) == false && + _config->FindB("APT::CDROM::UnMountOnFinish",true) == true) { log->Update(_("Unmounting CD-ROM..."), STEP_LAST); UnmountCdrom(CDROM); } -- cgit v1.2.3 From 70dbf5f8f3e6e3526c82c72ed1795d9f2dad0338 Mon Sep 17 00:00:00 2001 From: Michael Vogt Date: Wed, 7 Mar 2007 12:49:33 +0100 Subject: * apt-pkg/cdrom.cc: - only unmount if APT::CDROM::NoMount is false * methods/cdrom.cc: - only umount if it was mounted by the method before --- apt-pkg/cdrom.cc | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) (limited to 'apt-pkg/cdrom.cc') diff --git a/apt-pkg/cdrom.cc b/apt-pkg/cdrom.cc index 241688785..4d45d38a2 100644 --- a/apt-pkg/cdrom.cc +++ b/apt-pkg/cdrom.cc @@ -508,10 +508,8 @@ bool pkgCdrom::Ident(string &ident, pkgCdromStatus *log) CDROM.c_str()); log->Update(msg.str()); } - - if (_config->FindB("APT::CDROM::NoMount",false) == false) - if (MountCdrom(CDROM) == false) - return _error->Error("Failed to mount the cdrom."); + if (MountCdrom(CDROM) == false) + return _error->Error("Failed to mount the cdrom."); // Hash the CD to get an ID if(log) @@ -805,8 +803,7 @@ bool pkgCdrom::Add(pkgCdromStatus *log) // Unmount and finish - if (_config->FindB("APT::CDROM::NoMount",false) == false && - _config->FindB("APT::CDROM::UnMountOnFinish",true) == true) { + if (_config->FindB("APT::CDROM::NoMount",false) == false) { log->Update(_("Unmounting CD-ROM..."), STEP_LAST); UnmountCdrom(CDROM); } -- cgit v1.2.3