summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Vogt <michael.vogt@ubuntu.com>2010-09-10 12:29:10 +0200
committerMichael Vogt <michael.vogt@ubuntu.com>2010-09-10 12:29:10 +0200
commitd674bb1d1a8e561ccedab9145dd58d34df68a66e (patch)
treeff308bbd559b13c55404b118098d5261a9b9e205
parent64b247e1939d43c6d8823c35615576594e4d18f5 (diff)
parent2a001232db431d995281c2bead32ed9423721447 (diff)
merged from lp:~mvo/apt/mvo
-rw-r--r--apt-pkg/contrib/cdromutl.cc10
-rw-r--r--debian/changelog7
2 files changed, 16 insertions, 1 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());
diff --git a/debian/changelog b/debian/changelog
index 64f606f77..64d37ba96 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,8 +1,13 @@
-apt (0.8.3ubuntu2) maverick; urgency=low
+apt (0.8.3ubuntu2) UNRELEASEDmaverick; urgency=low
* ftparchive/writer.cc:
- write out {Files,Checksum-Sha1,Checksum-Sha256} only if
available LP: #633967. Thanks to Colin Watson
+ * 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
-- Michael Vogt <michael.vogt@ubuntu.com> Thu, 09 Sep 2010 15:30:19 +0200