Kaynağa Gözat

* fix various -Wall warnings
* make "apt-get build-dep" installed packages marked automatic
by default. This can be changed by setting the value of
APT::Get::Build-Dep-Automatic to false (thanks to Aaron
Haviland, closes: #44874, LP: #248268)

Michael Vogt 18 yıl önce
ebeveyn
işleme
cb714f2838

+ 2 - 2
apt-inst/contrib/extracttar.cc

@@ -208,14 +208,14 @@ bool ExtractTar::Go(pkgDirStream &Stream)
 	 Itm.Name = (char *)LastLongName.c_str();
       else
       {
-	 Tar->Name[sizeof(Tar->Name)] = 0;
+	 Tar->Name[sizeof(Tar->Name)-1] = 0;
 	 Itm.Name = Tar->Name;
       }      
       if (Itm.Name[0] == '.' && Itm.Name[1] == '/' && Itm.Name[2] != 0)
 	 Itm.Name += 2;
       
       // Grab the link target
-      Tar->Name[sizeof(Tar->LinkName)] = 0;
+      Tar->Name[sizeof(Tar->LinkName)-1] = 0;
       Itm.LinkTarget = Tar->LinkName;
 
       if (LastLongLink.empty() == false)

+ 2 - 1
apt-pkg/acquire.cc

@@ -444,8 +444,9 @@ bool pkgAcquire::Clean(string Dir)
 	 unlink(Dir->d_name);
    };
    
-   chdir(StartDir.c_str());
    closedir(D);
+   if (chdir(StartDir.c_str()) != 0)
+      return _error->Errno("chdir",_("Unable to change to %s"),StartDir.c_str());
    return true;   
 }
 									/*}}}*/

+ 2 - 1
apt-pkg/contrib/cdromutl.cc

@@ -176,7 +176,8 @@ bool IdentCdrom(string CD,string &Res,unsigned int Version)
       Hash.Add(Dir->d_name);
    };
    
-   chdir(StartDir.c_str());
+   if (chdir(StartDir.c_str()) != 0)
+      return _error->Errno("chdir",_("Unable to change to %s"),StartDir.c_str());
    closedir(D);
    
    // Some stats from the fsys

+ 3 - 2
apt-pkg/contrib/mmap.cc

@@ -192,7 +192,8 @@ DynamicMMap::~DynamicMMap()
    unsigned long EndOfFile = iSize;
    iSize = WorkSpace;
    Close(false);
-   ftruncate(Fd->Fd(),EndOfFile);
+   if(ftruncate(Fd->Fd(),EndOfFile) < 0)
+      _error->Errno("ftruncate", _("Failed to truncate file"));
 }  
 									/*}}}*/
 // DynamicMMap::RawAllocate - Allocate a raw chunk of unaligned space	/*{{{*/
@@ -209,7 +210,7 @@ unsigned long DynamicMMap::RawAllocate(unsigned long Size,unsigned long Aln)
    // Just in case error check
    if (Result + Size > WorkSpace)
    {
-      _error->Error("Dynamic MMap ran out of room");
+      _error->Error(_("Dynamic MMap ran out of room"));
       return 0;
    }
 

+ 2 - 2
apt-pkg/deb/dpkgpm.cc

@@ -498,7 +498,7 @@ bool pkgDPkgPM::OpenLog()
       struct tm *tmp = localtime(&t);
       strftime(outstr, sizeof(outstr), "%F  %T", tmp);
       fprintf(term_out, "\nLog started: ");
-      fprintf(term_out, outstr);
+      fprintf(term_out, "%s", outstr);
       fprintf(term_out, "\n");
    }
    return true;
@@ -513,7 +513,7 @@ bool pkgDPkgPM::CloseLog()
       struct tm *tmp = localtime(&t);
       strftime(outstr, sizeof(outstr), "%F  %T", tmp);
       fprintf(term_out, "Log ended: ");
-      fprintf(term_out, outstr);
+      fprintf(term_out, "%s", outstr);
       fprintf(term_out, "\n");
       fclose(term_out);
    }

+ 1 - 1
apt-pkg/depcache.cc

@@ -269,7 +269,7 @@ bool pkgDepCache::writeStateFile(OpProgress *prog, bool InstalledOnly)
 	 ostr.str(string(""));
 	 ostr << "Package: " << pkg.Name() 
 	      << "\nAuto-Installed: 1\n\n";
-	 fprintf(OutFile,ostr.str().c_str());
+	 fprintf(OutFile,"%s",ostr.str().c_str());
 	 fprintf(OutFile,"\n");
       }
    }

+ 1 - 1
apt-pkg/indexcopy.cc

@@ -639,7 +639,7 @@ bool SigVerify::CopyAndVerify(string CDROM,string Name,vector<string> &SigList,
       // Open the Release file and add it to the MetaIndex
       if(!MetaIndex->Load(*I+"Release"))
       {
-	 _error->Error(MetaIndex->ErrorText.c_str());
+	 _error->Error("%s",MetaIndex->ErrorText.c_str());
 	 return false;
       }
       

+ 1 - 1
cmdline/apt-cache.cc

@@ -1276,7 +1276,7 @@ bool DisplayRecord(pkgCache::VerIterator V)
 									/*}}}*/
 // Search - Perform a search						/*{{{*/
 // ---------------------------------------------------------------------
-/* This searches the package names and pacakge descriptions for a pattern */
+/* This searches the package names and package descriptions for a pattern */
 struct ExDescFile
 {
    pkgCache::DescFile *Df;

+ 2 - 0
cmdline/apt-get.cc

@@ -2540,6 +2540,8 @@ bool DoBuildDep(CommandLine &CmdL)
             {
                // We successfully installed something; skip remaining alternatives
                skipAlternatives = hasAlternatives;
+	       if(_config->FindB("APT::Get::Build-Dep-Automatic", true) == true)
+		  Cache->MarkAuto(Pkg, true);
                continue;
             }
             else if (hasAlternatives)

+ 11 - 1
debian/changelog

@@ -1,3 +1,13 @@
+apt (0.7.14ubuntu5) intrepid; urgency=low
+
+  * fix various -Wall warnings
+  * make "apt-get build-dep" installed packages marked automatic
+    by default. This can be changed by setting the value of
+    APT::Get::Build-Dep-Automatic to false (thanks to Aaron 
+    Haviland, closes: #44874, LP: #248268)
+
+ -- Michael Vogt <michael.vogt@ubuntu.com>  Wed, 06 Aug 2008 14:00:51 +0200
+
 apt (0.7.14ubuntu4) intrepid; urgency=low
 
   [ Michael Vogt ]
@@ -15,7 +25,7 @@ apt (0.7.14ubuntu4) intrepid; urgency=low
     (thanks to Joey Hess) 
   * document --install-recommends and --no-install-recommends
     (thanks to Dereck Wonnacott, LP: #126180)
-
+  
   [ Dereck Wonnacott ]
   * apt-ftparchive might write corrupt Release files (LP: #46439)
   * Apply --important option to apt-cache depends (LP: #16947) 

+ 1 - 0
doc/examples/configure-index

@@ -54,6 +54,7 @@ APT
      Only-Source "";
      Diff-Only "false";
      Tar-Only "false";
+     Build-Dep-Automatic "true";
   };
 
   Cache 

+ 2 - 1
methods/http.cc

@@ -943,7 +943,8 @@ int HttpMethod::DealWithHeaders(FetchResult &Res,ServerState *Srv)
    if (Srv->StartPos >= 0)
    {
       Res.ResumePoint = Srv->StartPos;
-      ftruncate(File->Fd(),Srv->StartPos);
+      if (ftruncate(File->Fd(),Srv->StartPos) < 0)
+	 _error->Errno("ftruncate", _("Failed to truncate file"));
    }
       
    // Set the start point

+ 1 - 1
methods/https.cc

@@ -249,7 +249,7 @@ bool HttpsMethod::Fetch(FetchItem *Itm)
    if(success != 0) 
    {
       unlink(File->Name().c_str());
-      _error->Error(curl_errorstr);
+      _error->Error("%s", curl_errorstr);
       Fail();
       return true;
    }