bubulle@debian.org лет назад: 19
Родитель
Сommit
5ffd03998b

+ 3 - 3
apt-pkg/acquire-item.cc

@@ -271,7 +271,7 @@ bool pkgAcqDiffIndex::ParseDiffIndex(string IndexDiffFile)
       if(found) 
       if(found) 
       {
       {
 	 // queue the diffs
 	 // queue the diffs
-	 int last_space = Description.rfind(" ");
+	 unsigned int last_space = Description.rfind(" ");
 	 if(last_space != string::npos)
 	 if(last_space != string::npos)
 	    Description.erase(last_space, Description.size()-last_space);
 	    Description.erase(last_space, Description.size()-last_space);
 	 new pkgAcqIndexDiffs(Owner, RealURI, Description, Desc.ShortDesc,
 	 new pkgAcqIndexDiffs(Owner, RealURI, Description, Desc.ShortDesc,
@@ -884,8 +884,8 @@ pkgAcqMetaIndex::pkgAcqMetaIndex(pkgAcquire *Owner,
 				 string SigFile,
 				 string SigFile,
 				 const vector<struct IndexTarget*>* IndexTargets,
 				 const vector<struct IndexTarget*>* IndexTargets,
 				 indexRecords* MetaIndexParser) :
 				 indexRecords* MetaIndexParser) :
-   Item(Owner), RealURI(URI), SigFile(SigFile), AuthPass(false),
-   MetaIndexParser(MetaIndexParser), IndexTargets(IndexTargets), IMSHit(false)
+   Item(Owner), RealURI(URI), SigFile(SigFile), IndexTargets(IndexTargets),
+   MetaIndexParser(MetaIndexParser), AuthPass(false), IMSHit(false)
 {
 {
    DestFile = _config->FindDir("Dir::State::lists") + "partial/";
    DestFile = _config->FindDir("Dir::State::lists") + "partial/";
    DestFile += URItoFileName(URI);
    DestFile += URItoFileName(URI);

+ 1 - 1
apt-pkg/contrib/configuration.cc

@@ -507,7 +507,7 @@ bool ReadConfigFile(Configuration &Conf,const string &FName,bool AsSectional,
       CurLine++;
       CurLine++;
       // This should be made to work instead, but this is better than looping
       // This should be made to work instead, but this is better than looping
       if (F.fail() && !F.eof())
       if (F.fail() && !F.eof())
-         return _error->Error(_("Line %d too long (max %lu)"), CurLine, sizeof(Buffer));
+         return _error->Error(_("Line %d too long (max %u)"), CurLine, sizeof(Buffer));
 
 
       _strtabexpand(Buffer,sizeof(Buffer));
       _strtabexpand(Buffer,sizeof(Buffer));
       _strstrip(Buffer);
       _strstrip(Buffer);

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

@@ -385,7 +385,7 @@ bool pkgDPkgPM::Go(int OutStatusFd)
    // the dpkg states that are already done; the string is the package
    // the dpkg states that are already done; the string is the package
    // the int is the state that is already done (e.g. a package that is
    // the int is the state that is already done (e.g. a package that is
    // going to be install is already in state "half-installed")
    // going to be install is already in state "half-installed")
-   map<string,int> PackageOpsDone;
+   map<string,unsigned int> PackageOpsDone;
 
 
    // init the PackageOps map, go over the list of packages that
    // init the PackageOps map, go over the list of packages that
    // that will be [installed|configured|removed|purged] and add
    // that will be [installed|configured|removed|purged] and add

+ 3 - 3
cmdline/apt-get.cc

@@ -1519,9 +1519,9 @@ bool TryInstallTask(pkgDepCache &Cache, pkgProblemResolver &Fix,
 
 
    // build regexp for the task
    // build regexp for the task
    char S[300];
    char S[300];
-   // better: "^Task:.*[^a-z]lamp-server([^a-z]|\n)" ?
-   snprintf(S, sizeof(S), "^Task:.*[^a-z]%s[^a-z].*$", taskname);
-   regcomp(&Pattern,S, REG_EXTENDED | REG_NOSUB | REG_NEWLINE);
+   snprintf(S, sizeof(S), "^Task:.*[, ]%s([, ]|$)", taskname);
+   if(regcomp(&Pattern,S, REG_EXTENDED | REG_NOSUB | REG_NEWLINE) != 0)
+      return _error->Error("Failed to compile task regexp");
    
    
    bool found = false;
    bool found = false;
    bool res = true;
    bool res = true;

+ 1 - 1
configure.in

@@ -18,7 +18,7 @@ AC_CONFIG_AUX_DIR(buildlib)
 AC_CONFIG_HEADER(include/config.h:buildlib/config.h.in include/apti18n.h:buildlib/apti18n.h.in)
 AC_CONFIG_HEADER(include/config.h:buildlib/config.h.in include/apti18n.h:buildlib/apti18n.h.in)
 
 
 dnl -- SET THIS TO THE RELEASE VERSION --
 dnl -- SET THIS TO THE RELEASE VERSION --
-AC_DEFINE_UNQUOTED(VERSION,"0.7.2-0.1")
+AC_DEFINE_UNQUOTED(VERSION,"0.7.4")
 PACKAGE="apt"
 PACKAGE="apt"
 AC_DEFINE_UNQUOTED(PACKAGE,"$PACKAGE")
 AC_DEFINE_UNQUOTED(PACKAGE,"$PACKAGE")
 AC_SUBST(PACKAGE)
 AC_SUBST(PACKAGE)

+ 23 - 2
debian/changelog

@@ -1,8 +1,29 @@
 apt (0.7.4) UNRELEASED; urgency=low
 apt (0.7.4) UNRELEASED; urgency=low
 
 
-  * Fix a typo on 0.7.3 changelog entry about g++ (7.3 to 4.3)
+  [Michael Vogt]
+  * cmdline/apt-get.cc:
+    - fix in the task-install code regexp (thanks to Adam Conrad and
+      Colin Watson)
 
 
- -- Otavio Salvador <otavio@ossystems.com.br>  Mon, 02 Jul 2007 13:27:54 -0300
+  [Otavio Salvador]
+  * Fix a typo on 0.7.3 changelog entry about g++ (7.3 to 4.3)
+  * Fix compilation warnings:
+    - apt-pkg/contrib/configuration.cc: wrong argument type;
+    - apt-pkg/deb/dpkgpm.cc: wrong signess;
+    - apt-pkg-acquire-item.cc: wrong signess and orderned initializers;
+    - methods/https.cc:
+      - type conversion;
+      - unused variable;
+      - changed SetupProxy() method to void;
+  * Simplified HttpMethod::Fetch on http.cc removing Tail variable;
+  * Fix pipeline handling on http.cc (closes: #413324)
+  * Fix building to properly support binNMUs. Thanks to Daniel Schepler
+    <schepler@math.unipd.it> by the patch (closes: #359634)
+  * Fix example for Install-{Recommends,Suggests} options on
+    configure-index example file. Thanks to Peter Eisentraut
+    <peter_e@gmx.net> by the patch (closes: #432223)
+
+ -- Michael Vogt <michael.vogt@ubuntu.com>  Wed, 11 Jul 2007 23:20:15 +0100
 
 
 apt (0.7.3) unstable; urgency=low
 apt (0.7.3) unstable; urgency=low
 
 

+ 1 - 1
debian/rules

@@ -38,7 +38,7 @@ build:
 
 
 PKG=apt
 PKG=apt
 DEB_BUILD_PROG:=debuild --preserve-envvar PATH --preserve-envvar CCACHE_DIR -us -uc $(DEB_BUILD_PROG_OPTS)
 DEB_BUILD_PROG:=debuild --preserve-envvar PATH --preserve-envvar CCACHE_DIR -us -uc $(DEB_BUILD_PROG_OPTS)
-APT_DEBVER=$(shell dpkg-parsechangelog |sed -n -e '/^Version:/s/^Version: //p' -e 's/\+.*$$//')
+APT_DEBVER=$(shell dpkg-parsechangelog |sed -n -e '/^Version:/s/^Version: //p' | sed -e 's/\+.*$$//')
 APT_CONFVER=$(shell sed -n -e 's/^AC_DEFINE_UNQUOTED(VERSION,"\(.*\)")/\1/p' configure.in)
 APT_CONFVER=$(shell sed -n -e 's/^AC_DEFINE_UNQUOTED(VERSION,"\(.*\)")/\1/p' configure.in)
 APT_CVSTAG=$(shell echo "$(APT_DEBVER)" | sed -e 's/^/v/' -e 's/\./_/g')
 APT_CVSTAG=$(shell echo "$(APT_DEBVER)" | sed -e 's/^/v/' -e 's/\./_/g')
 
 

+ 2 - 2
doc/examples/configure-index

@@ -97,8 +97,8 @@ APT
 
 
   // consider Recommends, Suggests as important dependencies that should
   // consider Recommends, Suggests as important dependencies that should
   // be installed by default
   // be installed by default
-  APT::Install-Recommends "false";
-  APT::Install-Suggests "false";
+  Install-Recommends "false";
+  Install-Suggests "false";
 
 
   // consider dependencies of packages in this section manual
   // consider dependencies of packages in this section manual
   Never-MarkAuto-Section "metapackages";
   Never-MarkAuto-Section "metapackages";

+ 19 - 7
methods/http.cc

@@ -3,7 +3,7 @@
 // $Id: http.cc,v 1.59 2004/05/08 19:42:35 mdz Exp $
 // $Id: http.cc,v 1.59 2004/05/08 19:42:35 mdz Exp $
 /* ######################################################################
 /* ######################################################################
 
 
-   HTTP Aquire Method - This is the HTTP aquire method for APT.
+   HTTP Acquire Method - This is the HTTP aquire method for APT.
    
    
    It uses HTTP/1.1 and many of the fancy options there-in, such as
    It uses HTTP/1.1 and many of the fancy options there-in, such as
    pipelining, range, if-range and so on. 
    pipelining, range, if-range and so on. 
@@ -996,7 +996,6 @@ bool HttpMethod::Fetch(FetchItem *)
 
 
    // Queue the requests
    // Queue the requests
    int Depth = -1;
    int Depth = -1;
-   bool Tail = false;
    for (FetchItem *I = Queue; I != 0 && Depth < (signed)PipelineDepth; 
    for (FetchItem *I = Queue; I != 0 && Depth < (signed)PipelineDepth; 
 	I = I->Next, Depth++)
 	I = I->Next, Depth++)
    {
    {
@@ -1008,8 +1007,6 @@ bool HttpMethod::Fetch(FetchItem *)
       if (Server->Comp(I->Uri) == false)
       if (Server->Comp(I->Uri) == false)
 	 break;
 	 break;
       if (QueueBack == I)
       if (QueueBack == I)
-	 Tail = true;
-      if (Tail == true)
       {
       {
 	 QueueBack = I->Next;
 	 QueueBack = I->Next;
 	 SendReq(I,Server->Out);
 	 SendReq(I,Server->Out);
@@ -1071,7 +1068,6 @@ int HttpMethod::Loop()
 	 delete Server;
 	 delete Server;
 	 Server = new ServerState(Queue->Uri,this);
 	 Server = new ServerState(Queue->Uri,this);
       }
       }
-      
       /* If the server has explicitly said this is the last connection
       /* If the server has explicitly said this is the last connection
          then we pre-emptively shut down the pipeline and tear down 
          then we pre-emptively shut down the pipeline and tear down 
 	 the connection. This will speed up HTTP/1.0 servers a tad
 	 the connection. This will speed up HTTP/1.0 servers a tad
@@ -1168,8 +1164,24 @@ int HttpMethod::Loop()
 	       URIDone(Res);
 	       URIDone(Res);
 	    }
 	    }
 	    else
 	    else
-	       Fail(true);
-	    
+	    {
+	       if (Server->ServerFd == -1)
+	       {
+		  FailCounter++;
+		  _error->Discard();
+		  Server->Close();
+		  
+		  if (FailCounter >= 2)
+		  {
+		     Fail(_("Connection failed"),true);
+		     FailCounter = 0;
+		  }
+		  
+		  QueueBack = Queue;
+	       }
+	       else
+		  Fail(true);
+	    }
 	    break;
 	    break;
 	 }
 	 }
 	 
 	 

+ 1 - 1
methods/http.h

@@ -3,7 +3,7 @@
 // $Id: http.h,v 1.12 2002/04/18 05:09:38 jgg Exp $
 // $Id: http.h,v 1.12 2002/04/18 05:09:38 jgg Exp $
 /* ######################################################################
 /* ######################################################################
 
 
-   HTTP Aquire Method - This is the HTTP aquire method for APT.
+   HTTP Acquire Method - This is the HTTP aquire method for APT.
 
 
    ##################################################################### */
    ##################################################################### */
 									/*}}}*/
 									/*}}}*/

+ 3 - 4
methods/https.cc

@@ -3,7 +3,7 @@
 // $Id: http.cc,v 1.59 2004/05/08 19:42:35 mdz Exp $
 // $Id: http.cc,v 1.59 2004/05/08 19:42:35 mdz Exp $
 /* ######################################################################
 /* ######################################################################
 
 
-   HTTPS Aquire Method - This is the HTTPS aquire method for APT.
+   HTTPS Acquire Method - This is the HTTPS aquire method for APT.
    
    
    It uses libcurl
    It uses libcurl
 
 
@@ -50,13 +50,13 @@ HttpsMethod::progress_callback(void *clientp, double dltotal, double dlnow,
 {
 {
    HttpsMethod *me = (HttpsMethod *)clientp;
    HttpsMethod *me = (HttpsMethod *)clientp;
    if(dltotal > 0 && me->Res.Size == 0) {
    if(dltotal > 0 && me->Res.Size == 0) {
-      me->Res.Size = dltotal;
+      me->Res.Size = (unsigned long)dltotal;
       me->URIStart(me->Res);
       me->URIStart(me->Res);
    }
    }
    return 0;
    return 0;
 }
 }
 
 
-bool HttpsMethod::SetupProxy()
+void HttpsMethod::SetupProxy()
 {
 {
    URI ServerName = Queue->Uri;
    URI ServerName = Queue->Uri;
 
 
@@ -84,7 +84,6 @@ bool HttpsMethod::SetupProxy()
    }
    }
    
    
    // Determine what host and port to use based on the proxy settings
    // Determine what host and port to use based on the proxy settings
-   int Port = 0;
    string Host;   
    string Host;   
    if (Proxy.empty() == true || Proxy.Host.empty() == true)
    if (Proxy.empty() == true || Proxy.Host.empty() == true)
    {
    {

+ 2 - 2
methods/https.h

@@ -3,7 +3,7 @@
 // $Id: http.h,v 1.12 2002/04/18 05:09:38 jgg Exp $
 // $Id: http.h,v 1.12 2002/04/18 05:09:38 jgg Exp $
 /* ######################################################################
 /* ######################################################################
 
 
-   HTTP Aquire Method - This is the HTTP aquire method for APT.
+   HTTP Acquire Method - This is the HTTP aquire method for APT.
 
 
    ##################################################################### */
    ##################################################################### */
 									/*}}}*/
 									/*}}}*/
@@ -29,7 +29,7 @@ class HttpsMethod : public pkgAcqMethod
    static size_t write_data(void *buffer, size_t size, size_t nmemb, void *userp);
    static size_t write_data(void *buffer, size_t size, size_t nmemb, void *userp);
    static int progress_callback(void *clientp, double dltotal, double dlnow, 
    static int progress_callback(void *clientp, double dltotal, double dlnow, 
 				double ultotal, double ulnow);
 				double ultotal, double ulnow);
-   bool SetupProxy();
+   void SetupProxy();
    CURL *curl;
    CURL *curl;
    FetchResult Res;
    FetchResult Res;