Flag to fetch the source index
authorArch Librarian <arch@canonical.com>
Mon, 20 Sep 2004 16:52:58 +0000 (16:52 +0000)
committerArch Librarian <arch@canonical.com>
Mon, 20 Sep 2004 16:52:58 +0000 (16:52 +0000)
Author: jgg
Date: 1999-03-02 18:35:24 GMT
Flag to fetch the source index

apt-pkg/pkgcachegen.cc
apt-pkg/sourcelist.cc
apt-pkg/sourcelist.h
doc/sources.list.5.yo

index 402d2e4..bb67815 100644 (file)
@@ -1,6 +1,6 @@
 // -*- mode: cpp; mode: fold -*-
 // Description                                                         /*{{{*/
-// $Id: pkgcachegen.cc,v 1.30 1999/02/23 06:50:36 jgg Exp $
+// $Id: pkgcachegen.cc,v 1.31 1999/03/02 18:35:24 jgg Exp $
 /* ######################################################################
    
    Package Cache Generator - Generator for the cache structure.
@@ -422,6 +422,10 @@ bool pkgSrcCacheCheck(pkgSourceList &List)
    int Missing = 0;
    for (pkgSourceList::const_iterator I = List.begin(); I != List.end(); I++)
    {
+      // Only cache deb source types.
+      if (I->Type != pkgSourceList::Item::Deb)
+        continue;
+      
       string File = ListDir + URItoFileName(I->PackagesURI());
       struct stat Buf;
       if (stat(File.c_str(),&Buf) != 0)
index 61d5dc7..b2f4805 100644 (file)
@@ -1,6 +1,6 @@
 // -*- mode: cpp; mode: fold -*-
 // Description                                                         /*{{{*/
-// $Id: sourcelist.cc,v 1.10 1999/01/27 02:48:52 jgg Exp $
+// $Id: sourcelist.cc,v 1.11 1999/03/02 18:35:24 jgg Exp $
 /* ######################################################################
 
    List of Sources
@@ -129,6 +129,12 @@ bool pkgSourceList::Item::SetType(string S)
       return true;
    }
 
+   if (S == "deb-src")
+   {
+      Type = DebSrc;
+      return true;
+   }
+
    return true;
 }
                                                                        /*}}}*/
@@ -170,6 +176,16 @@ string pkgSourceList::Item::PackagesURI() const
       
       Res += "Packages";
       break;
+      
+      case DebSrc:
+      if (Dist[Dist.size() - 1] == '/')
+        Res = URI + Dist;
+      else
+        Res = URI + "dists/" + Dist + '/' + Section +
+        "/source/";
+      
+      Res += "Sources";
+      break;
    };
    return Res;
 }
@@ -191,6 +207,16 @@ string pkgSourceList::Item::PackagesInfo() const
       
       Res += " Packages";
       break;
+     
+      case DebSrc:
+      Res += SiteOnly(URI) + ' ';
+      if (Dist[Dist.size() - 1] == '/')
+        Res += Dist;
+      else
+        Res += Dist + '/' + Section;
+      
+      Res += " Sources";
+      break;
    };
    return Res;
 }
@@ -212,6 +238,16 @@ string pkgSourceList::Item::ReleaseURI() const
       
       Res += "Release";
       break;
+      
+      case DebSrc:
+      if (Dist[Dist.size() - 1] == '/')
+        Res = URI + Dist;
+      else
+        Res = URI + "dists/" + Dist + '/' + Section +
+        "/source/";
+      
+      Res += "Release";
+      break;
    };
    return Res;
 }
@@ -225,6 +261,7 @@ string pkgSourceList::Item::ReleaseInfo() const
    switch (Type)
    {
       case Deb:
+      case DebSrc:
       Res += SiteOnly(URI) + ' ';
       if (Dist[Dist.size() - 1] == '/')
         Res += Dist;
@@ -245,6 +282,7 @@ string pkgSourceList::Item::ArchiveInfo(pkgCache::VerIterator Ver) const
    string Res;
    switch (Type)
    {
+      case DebSrc:
       case Deb:
       Res += SiteOnly(URI) + ' ';
       if (Dist[Dist.size() - 1] == '/')
@@ -271,6 +309,7 @@ string pkgSourceList::Item::ArchiveURI(string File) const
    switch (Type)
    {
       case Deb:
+      case DebSrc:
       Res = URI + File;
       break;
    };
index 0ed77b3..bbf2dba 100644 (file)
@@ -1,6 +1,6 @@
 // -*- mode: cpp; mode: fold -*-
 // Description                                                         /*{{{*/
-// $Id: sourcelist.h,v 1.6 1998/10/15 07:00:02 jgg Exp $
+// $Id: sourcelist.h,v 1.7 1999/03/02 18:35:24 jgg Exp $
 /* ######################################################################
 
    SourceList - Manage a list of sources
@@ -37,7 +37,7 @@ class pkgSourceList
       item */
    struct Item
    {
-      enum {Deb} Type;
+      enum {Deb, DebSrc} Type;
 
       string URI;
       string Dist;
index 625ab4b..bec7efe 100644 (file)
@@ -19,9 +19,11 @@ manpagesection(The deb type)
 The bf(deb) type describes a typical two-level Debian archive,
 em(distribution/component). Typically, em(distribution) is one of
 em(stable), em(unstable), or em(frozen), while component is one of
-em(main), em(contrib), em(non-free), or em(non-us).
-The format for a bf(sources.list) entry using the em(deb)
-type is:
+em(main), em(contrib), em(non-free), or em(non-us). The bf(deb-src) type
+describes a debian distribution's source code in the same form as the bf(deb)
+type. A bf(deb-src) line is required to fetch source indexes.
+The format for a bf(sources.list) entry using the em(deb) and em(deb-src)
+types are:
 verb(deb uri distribution [component1] [componenent2] [...])
 The URI for the em(deb) type must specify the base of the Debian distribution, 
 from which bf(APT) will find the information it needs. em(distribution)