Commit
62dcbf84 changed the code of ident to look more like the code for
add on my suggestion. This made ident interactive as it starts with a
unmount, press enter, mount cycle. The first two are skipped now.
This fixes d-i/apt-setup which is using it to get ID as well as label.
Closes: 740673
-bool pkgCdrom::MountAndIdentCDROM(Configuration &Database, std::string &CDROM, std::string &ident, pkgCdromStatus * const log)/*{{{*/
+bool pkgCdrom::MountAndIdentCDROM(Configuration &Database, std::string &CDROM, std::string &ident, pkgCdromStatus * const log, bool const interactive)/*{{{*/
{
// Startup
CDROM = _config->FindDir("Acquire::cdrom::mount");
{
// Startup
CDROM = _config->FindDir("Acquire::cdrom::mount");
// Unmount the CD and get the user to put in the one they want
if (_config->FindB("APT::CDROM::NoMount", false) == false)
{
// Unmount the CD and get the user to put in the one they want
if (_config->FindB("APT::CDROM::NoMount", false) == false)
{
- if(log != NULL)
- log->Update(_("Unmounting CD-ROM\n"), STEP_UNMOUNT);
- UnmountCdrom(CDROM);
-
- if(log != NULL)
+ if (interactive == true)
- log->Update(_("Waiting for disc...\n"), STEP_WAIT);
- if(!log->ChangeCdrom()) {
- // user aborted
- return false;
+ if(log != NULL)
+ log->Update(_("Unmounting CD-ROM\n"), STEP_UNMOUNT);
+ UnmountCdrom(CDROM);
+
+ if(log != NULL)
+ {
+ log->Update(_("Waiting for disc...\n"), STEP_WAIT);
+ if(!log->ChangeCdrom()) {
+ // user aborted
+ return false;
+ }
{
Configuration Database;
std::string CDROM;
{
Configuration Database;
std::string CDROM;
- if (MountAndIdentCDROM(Database, CDROM, ident, log) == false)
+ if (MountAndIdentCDROM(Database, CDROM, ident, log, false) == false)
return false;
if (log != NULL)
return false;
if (log != NULL)
{
Configuration Database;
std::string ID, CDROM;
{
Configuration Database;
std::string ID, CDROM;
- if (MountAndIdentCDROM(Database, CDROM, ID, log) == false)
+ if (MountAndIdentCDROM(Database, CDROM, ID, log, true) == false)
return false;
if(log != NULL)
return false;
if(log != NULL)
private:
bool MountAndIdentCDROM(Configuration &Database, std::string &CDROM,
private:
bool MountAndIdentCDROM(Configuration &Database, std::string &CDROM,
- std::string &ident, pkgCdromStatus * const log);
+ std::string &ident, pkgCdromStatus * const log, bool const interactive);