On Tue, Feb 01, 2011 at 02:37:36PM +0100, Robert Millan wrote: > 2011/1/31 Michael Vogt <m...@debian.org>: > > Thanks for your bugreport. On systems where libudev is availalbe we > > dlopen() it nowdays to figure out the right mount point. On systems > > where that is not the case apt will just rely on /etc/fstab to find > > the mountpoint. Could you please check if that has a correct entry? > > apt-cdrom expects an entry with /cdrom mountpoint, but fstab (on > installed system) provides /media/cdrom0. If I modify it, then apt-cdrom > is able to mount the CD. > > Does this mean fstab is incorrect? Then it'd be a bug in D-I.
That is a problem with apt then, I attached a patch that should fix it and will upload that tonight. I guess the libudev support shadowed this problem on the other arches. Cheers, Michael
=== modified file 'apt-pkg/cdrom.cc' --- apt-pkg/cdrom.cc 2010-08-02 19:02:01 +0000 +++ apt-pkg/cdrom.cc 2011-02-01 14:34:01 +0000 @@ -198,7 +198,7 @@ // a symlink gets a big penalty struct stat Buf; string statPath = flNotFile(Path); - string cdromPath = _config->FindDir("Acquire::cdrom::mount","/cdrom/"); + string cdromPath = _config->FindDir("Acquire::cdrom::mount"); while(statPath != cdromPath && statPath != "./") { statPath.resize(statPath.size()-1); // remove the trailing '/' if (lstat(statPath.c_str(),&Buf) == 0) { @@ -509,7 +509,7 @@ stringstream msg; // Startup - string CDROM = _config->FindDir("Acquire::cdrom::mount","/cdrom/"); + string CDROM = _config->FindDir("Acquire::cdrom::mount"); if (CDROM[0] == '.') CDROM= SafeGetCWD() + '/' + CDROM; === modified file 'apt-pkg/init.cc' --- apt-pkg/init.cc 2010-09-04 08:46:36 +0000 +++ apt-pkg/init.cc 2011-02-01 14:34:53 +0000 @@ -52,7 +52,7 @@ Cnf.Set("Dir::State::lists","lists/"); Cnf.Set("Dir::State::cdroms","cdroms.list"); Cnf.Set("Dir::State::mirrors","mirrors/"); - + // Cache Cnf.Set("Dir::Cache","var/cache/apt/"); Cnf.Set("Dir::Cache::archives","archives/"); @@ -88,6 +88,9 @@ // Translation Cnf.Set("APT::Acquire::Translation", "environment"); + // Default cdrom mount point + Cnf.Set("Acquire::cdrom::mount", "/media/cdrom/"); + bool Res = true; // Read an alternate config file === modified file 'methods/cdrom.cc' --- methods/cdrom.cc 2010-02-17 21:40:05 +0000 +++ methods/cdrom.cc 2011-02-01 14:33:47 +0000 @@ -220,7 +220,7 @@ } bool AutoDetect = _config->FindB("Acquire::cdrom::AutoDetect", true); - CDROM = _config->FindDir("Acquire::cdrom::mount","/cdrom/"); + CDROM = _config->FindDir("Acquire::cdrom::mount"); if (Debug) clog << "Looking for CDROM at " << CDROM << endl;