diff options
author | Michael Vogt <mvo@debian.org> | 2013-06-22 10:03:24 +0200 |
---|---|---|
committer | Michael Vogt <mvo@debian.org> | 2013-06-22 10:03:24 +0200 |
commit | 0a83556bf3ed33c95f39dd1063c4e745aaaeac9e (patch) | |
tree | b50df78786a72fb2548e91110212cd743bca7253 | |
parent | ae99ce2e3cadb07c80b89ab2afc804875b1026c5 (diff) |
Improve the apt-cdrom output when no CD-ROM can be auto-detected
(closes: #712433)
-rw-r--r-- | cmdline/apt-cdrom.cc | 25 | ||||
-rw-r--r-- | doc/apt-cdrom.8.xml | 8 |
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 |