diff options
author | Michael Vogt <michael.vogt@ubuntu.com> | 2010-09-10 12:21:06 +0200 |
---|---|---|
committer | Michael Vogt <michael.vogt@ubuntu.com> | 2010-09-10 12:21:06 +0200 |
commit | 2a001232db431d995281c2bead32ed9423721447 (patch) | |
tree | 81cbc321ae661f843739d71ce1f03a1cbb77d0cb /apt-pkg/contrib | |
parent | 8deb53abcc5c22cdbd8b17e0db8b752c3d2783c8 (diff) |
* apt-pkg/contrib/cdromutl.cc:
- if apt-cdrom is used on writable media (like usb-sticks), do
not use the root directory to identify the medium (as all
changes there change the ident id). Use the .disk directory
instead
Diffstat (limited to 'apt-pkg/contrib')
-rw-r--r-- | apt-pkg/contrib/cdromutl.cc | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/apt-pkg/contrib/cdromutl.cc b/apt-pkg/contrib/cdromutl.cc index 6dce82fe1..129e4a9f6 100644 --- a/apt-pkg/contrib/cdromutl.cc +++ b/apt-pkg/contrib/cdromutl.cc @@ -157,6 +157,16 @@ bool IdentCdrom(string CD,string &Res,unsigned int Version) { MD5Summation Hash; + // if we are on a writable medium (like a usb-stick) that is just + // used like a cdrom don't use "." as it will constantly change, + // use .disk instead + if (access(CD.c_str(), W_OK) == 0 && DirectoryExists(CD+string("/.disk"))) { + CD = CD+string("/.disk"); + if (_config->FindB("Debug::aptcdrom",false) == true) + std::clog << "Found writable cdrom, using alternative path: " + << CD.c_str() << std::endl; + } + string StartDir = SafeGetCWD(); if (chdir(CD.c_str()) != 0) return _error->Errno("chdir",_("Unable to change to %s"),CD.c_str()); |