diff options
-rw-r--r-- | apt-pkg/acquire-method.cc | 12 | ||||
-rw-r--r-- | apt-pkg/acquire-worker.cc | 5 | ||||
-rw-r--r-- | methods/cdrom.cc | 12 |
3 files changed, 17 insertions, 12 deletions
diff --git a/apt-pkg/acquire-method.cc b/apt-pkg/acquire-method.cc index fc060d83e..b0176d3cb 100644 --- a/apt-pkg/acquire-method.cc +++ b/apt-pkg/acquire-method.cc @@ -1,6 +1,6 @@ // -*- mode: cpp; mode: fold -*- // Description /*{{{*/ -// $Id: acquire-method.cc,v 1.12 1998/12/04 22:56:50 jgg Exp $ +// $Id: acquire-method.cc,v 1.13 1998/12/05 01:45:19 jgg Exp $ /* ###################################################################### Acquire Method @@ -205,11 +205,11 @@ bool pkgAcqMethod::MediaFail(string Required,string Drive) while (1) { if (WaitFd(STDIN_FILENO) == false) - exit(0); + return false; if (ReadMessages(STDIN_FILENO,MyMessages) == false) - exit(0); - + return false; + string Message = MyMessages.front(); MyMessages.erase(MyMessages.begin()); @@ -225,13 +225,13 @@ bool pkgAcqMethod::MediaFail(string Required,string Drive) // Change ack if (Number == 603) { - while (Message.empty() == false) + while (MyMessages.empty() == false) { Messages.push_back(MyMessages.front()); MyMessages.erase(MyMessages.begin()); } - return StringToBool(LookupTag(Message,"Fail"),false); + return !StringToBool(LookupTag(Message,"Fail"),false); } Messages.push_back(Message); diff --git a/apt-pkg/acquire-worker.cc b/apt-pkg/acquire-worker.cc index 67bb61207..28f8408b6 100644 --- a/apt-pkg/acquire-worker.cc +++ b/apt-pkg/acquire-worker.cc @@ -1,6 +1,6 @@ // -*- mode: cpp; mode: fold -*- // Description /*{{{*/ -// $Id: acquire-worker.cc,v 1.14 1998/12/04 21:16:47 jgg Exp $ +// $Id: acquire-worker.cc,v 1.15 1998/12/05 01:45:20 jgg Exp $ /* ###################################################################### Acquire Worker @@ -460,7 +460,8 @@ bool pkgAcquire::Worker::InFdReady() read returned -1. */ bool pkgAcquire::Worker::MethodFailure() { - cerr << "Method " << Access << " has died unexpectedly!" << endl; + _error->Error("Method %s has died unexpectedly!",Access.c_str()); + if (waitpid(Process,0,0) != Process) _error->Warning("I waited but nothing was there!"); Process = -1; diff --git a/methods/cdrom.cc b/methods/cdrom.cc index 933d88fc4..de5f8147c 100644 --- a/methods/cdrom.cc +++ b/methods/cdrom.cc @@ -1,6 +1,6 @@ // -*- mode: cpp; mode: fold -*- // Description /*{{{*/ -// $Id: cdrom.cc,v 1.2 1998/12/04 22:56:55 jgg Exp $ +// $Id: cdrom.cc,v 1.3 1998/12/05 01:45:21 jgg Exp $ /* ###################################################################### CDROM URI method for APT @@ -34,7 +34,8 @@ class CDROMMethod : public pkgAcqMethod // CDROMMethod::CDROMethod - Constructor /*{{{*/ // --------------------------------------------------------------------- /* */ -CDROMMethod::CDROMMethod() : pkgAcqMethod("1.0",SingleInstance | LocalOnly) +CDROMMethod::CDROMMethod() : pkgAcqMethod("1.0",SingleInstance | LocalOnly | + SendConfig) { // Read the database string DFile = _config->FindFile("Dir::State::cdroms"); @@ -104,6 +105,8 @@ bool CDROMMethod::Fetch(FetchItem *Itm) } string CDROM = _config->FindDir("Acquire::cdrom::mount","/cdrom/"); + if (CDROM[0] == '.') + CDROM= SafeGetCWD() + '/' + CDROM; string NewID; while (1) { @@ -117,8 +120,9 @@ bool CDROMMethod::Fetch(FetchItem *Itm) UnmountCdrom(CDROM); if (MediaFail(Get.Host,CDROM) == false) { - ID = "FAIL"; - break; + CurrentID = "FAIL"; + Fail("Wrong CD",true); + return true; } MountCdrom(CDROM); |