summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Vogt <mvo@debian.org>2013-06-22 10:03:24 +0200
committerMichael Vogt <mvo@debian.org>2013-06-22 10:03:24 +0200
commit0a83556bf3ed33c95f39dd1063c4e745aaaeac9e (patch)
treeb50df78786a72fb2548e91110212cd743bca7253
parentae99ce2e3cadb07c80b89ab2afc804875b1026c5 (diff)
Improve the apt-cdrom output when no CD-ROM can be auto-detected
(closes: #712433)
-rw-r--r--cmdline/apt-cdrom.cc25
-rw-r--r--doc/apt-cdrom.8.xml8
2 files changed, 27 insertions, 6 deletions
diff --git a/cmdline/apt-cdrom.cc b/cmdline/apt-cdrom.cc
index 70e49910c..520b1e0a0 100644
--- a/cmdline/apt-cdrom.cc
+++ b/cmdline/apt-cdrom.cc
@@ -39,6 +39,12 @@
#include <apti18n.h>
/*}}}*/
+static const char *W_NO_CDROM_FOUND = \
+ N_("No CD-ROM could be auto-detected or found using "
+ "the default mount path.\n"
+ "You may try the --cdrom option to set the CD-ROM mount path. "
+ "See 'man apt-cdrom' for more "
+ "information about the CD-ROM auto-detection and mount path.");
using namespace std;
@@ -135,7 +141,6 @@ bool AutoDetectCdrom(pkgUdevCdromDevices &UdevCdroms, unsigned int &i)
return true;
}
/*}}}*/
-
// DoAdd - Add a new CDROM /*{{{*/
// ---------------------------------------------------------------------
/* This does the main add bit.. We show some status and things. The
@@ -154,8 +159,12 @@ bool DoAdd(CommandLine &)
if (AutoDetect && UdevCdroms.Dlopen())
while (AutoDetectCdrom(UdevCdroms, count))
res &= cdrom.Add(&log);
- if (count == 0)
+ if (count == 0) {
res = cdrom.Add(&log);
+ if (res == false) {
+ _error->Warning(_(W_NO_CDROM_FOUND));
+ }
+ }
if(res)
cout << _("Repeat this process for the rest of the CDs in your set.") << endl;
@@ -180,8 +189,12 @@ bool DoIdent(CommandLine &)
if (AutoDetect && UdevCdroms.Dlopen())
while (AutoDetectCdrom(UdevCdroms, count))
res &= cdrom.Ident(ident, &log);
- if (count == 0)
- return cdrom.Ident(ident, &log);
+ if (count == 0) {
+ res = cdrom.Ident(ident, &log);
+ if (res == false) {
+ _error->Warning(_(W_NO_CDROM_FOUND));
+ }
+ }
return res;
}
/*}}}*/
@@ -213,7 +226,7 @@ int ShowHelp()
" -m No mounting\n"
" -f Fast mode, don't check package files\n"
" -a Thorough scan mode\n"
- " --auto-detect Auto detect drive and mount point\n"
+ " --no-auto-detect Do not try to auto detect drive and mount point\n"
" -c=? Read this configuration file\n"
" -o=? Set an arbitrary configuration option, eg -o dir::cache=/tmp\n"
"See fstab(5)\n";
@@ -224,7 +237,7 @@ int main(int argc,const char *argv[]) /*{{{*/
{
CommandLine::Args Args[] = {
{'h',"help","help",0},
- { 0,"auto-detect","Acquire::cdrom::AutoDetect",0},
+ { 0,"auto-detect","Acquire::cdrom::AutoDetect", CommandLine::Boolean},
{'v',"version","version",0},
{'d',"cdrom","Acquire::cdrom::mount",CommandLine::HasArg},
{'r',"rename","APT::CDROM::Rename",0},
diff --git a/doc/apt-cdrom.8.xml b/doc/apt-cdrom.8.xml
index 943511f03..b076a98a3 100644
--- a/doc/apt-cdrom.8.xml
+++ b/doc/apt-cdrom.8.xml
@@ -81,6 +81,14 @@
&apt-cmdblurb;
<variablelist>
+ <varlistentry><term><option>--no-auto-detect</option></term><term><option>--cdrom</option></term>
+ <listitem><para>Do not try to auto-detect the CD-ROM path. Usually combined with the <option>--cdrom</option> option.
+ Configuration Item: <literal>Acquire::cdrom::AutoDetect</literal>.
+ </para>
+ </listitem>
+ </varlistentry>
+
+
<varlistentry><term><option>-d</option></term><term><option>--cdrom</option></term>
<listitem><para>Mount point; specify the location to mount the CD-ROM. This
mount point must be listed in <filename>/etc/fstab</filename> and