Просмотр исходного кода

* cmdline/apt-cdrom.cc:
- fixed signed/unsigned warning
- create /media mount point if needed
- fix initialization for res in DoAdd()
* methods/cdrom.cc:
- make AptMountPoint a variable

Michael Vogt лет назад: 16
Родитель
Сommit
fb503892e3
3 измененных файлов с 17 добавлено и 15 удалено
  1. 0 2
      apt-pkg/cdrom.cc
  2. 10 7
      cmdline/apt-cdrom.cc
  3. 7 6
      methods/cdrom.cc

+ 0 - 2
apt-pkg/cdrom.cc

@@ -829,8 +829,6 @@ bool pkgCdrom::Add(pkgCdromStatus *log)					/*{{{*/
       }
    }
 
-   
-
    // Unmount and finish
    if (_config->FindB("APT::CDROM::NoMount",false) == false) {
       log->Update(_("Unmounting CD-ROM...\n"), STEP_LAST);

+ 10 - 7
cmdline/apt-cdrom.cc

@@ -99,7 +99,7 @@ OpProgress* pkgCdromTextStatus::GetOpProgress()
 };
 									/*}}}*/
 // SetupAutoDetect       						/*{{{*/
-bool AutoDetectCdrom(pkgUdevCdromDevices &UdevCdroms, int &i)
+bool AutoDetectCdrom(pkgUdevCdromDevices &UdevCdroms, unsigned int &i)
 {
    bool Debug =  _config->FindB("Debug::Acquire::cdrom", false);
 
@@ -120,9 +120,12 @@ bool AutoDetectCdrom(pkgUdevCdromDevices &UdevCdroms, int &i)
       _config->Set("Acquire::cdrom::mount", v[i].MountPath);
       _config->Set("APT::CDROM::NoMount", true);
    } else {
-      MountCdrom("/var/lib/apt/media", v[i].DeviceName);
-      MountCdrom("/var/lib/apt/media", v[i].DeviceName);
-      _config->Set("Acquire::cdrom::mount", "/var/lib/apt/media");
+      const char* AptMountPoint = "/media/apt";
+      if (!FileExists(AptMountPoint))
+	 mkdir(AptMountPoint, 0750);
+      if(MountCdrom(AptMountPoint, v[i].DeviceName) == false)
+	 _error->Warning(_("Failed to mount '%s' to '%s'"), v[i].DeviceName.c_str(), AptMountPoint);
+      _config->Set("Acquire::cdrom::mount", AptMountPoint);
       _config->Set("APT::CDROM::NoMount", true);
    }
    i++;
@@ -142,10 +145,10 @@ bool DoAdd(CommandLine &)
    pkgUdevCdromDevices UdevCdroms;
    pkgCdromTextStatus log;
    pkgCdrom cdrom;
-   bool res = false;
+   bool res = true;
 
    bool AutoDetect = _config->FindB("Acquire::cdrom::AutoDetect");
-   int count = 0;
+   unsigned int count = 0;
    
    if (AutoDetect && UdevCdroms.Dlopen())
    {
@@ -173,7 +176,7 @@ bool DoIdent(CommandLine &)
    bool res = true;
 
    bool AutoDetect = _config->FindB("Acquire::cdrom::AutoDetect");
-   int count = 0;
+   unsigned int count = 0;
    
    if (AutoDetect && UdevCdroms.Dlopen())
    {

+ 7 - 6
methods/cdrom.cc

@@ -116,23 +116,24 @@ bool CDROMMethod::AutoDetectAndMount(URI Get, string &NewID)
       return false;
 
    // check if we have the mount point
-   if (!FileExists("/media/apt"))
-      mkdir("/media/apt", 0755);
+   const char* AptMountPoint = "/media/apt";
+   if (!FileExists(AptMountPoint))
+      mkdir(AptMountPoint, 0750);
 
    // now try mounting
    for (unsigned int i=0; i < v.size(); i++)
    {
       if (!v[i].Mounted)
       {
-	 if(MountCdrom("/media/apt", v[i].DeviceName)) 
+	 if(MountCdrom(AptMountPoint, v[i].DeviceName)) 
 	 {
-	    if (IsCorrectCD(Get, "/media/apt", NewID))
+	    if (IsCorrectCD(Get, AptMountPoint, NewID))
 	    {
 	       MountedByApt = true;
-	       CDROM = "/media/apt";
+	       CDROM = AptMountPoint;
 	       return true;
 	    } else {
-	       UnmountCdrom("/media/apt");
+	       UnmountCdrom(AptMountPoint);
 	    }
 	 }
       }