From be8922fdc7521f4172e166b274430540be1913a8 Mon Sep 17 00:00:00 2001 From: Arch Librarian Date: Mon, 20 Sep 2004 16:52:58 +0000 Subject: Flag to fetch the source index Author: jgg Date: 1999-03-02 18:35:24 GMT Flag to fetch the source index --- apt-pkg/pkgcachegen.cc | 6 +++++- apt-pkg/sourcelist.cc | 41 ++++++++++++++++++++++++++++++++++++++++- apt-pkg/sourcelist.h | 4 ++-- doc/sources.list.5.yo | 8 +++++--- 4 files changed, 52 insertions(+), 7 deletions(-) diff --git a/apt-pkg/pkgcachegen.cc b/apt-pkg/pkgcachegen.cc index 402d2e4ff..bb678154c 100644 --- a/apt-pkg/pkgcachegen.cc +++ b/apt-pkg/pkgcachegen.cc @@ -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) diff --git a/apt-pkg/sourcelist.cc b/apt-pkg/sourcelist.cc index 61d5dc7ab..b2f480599 100644 --- a/apt-pkg/sourcelist.cc +++ b/apt-pkg/sourcelist.cc @@ -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; }; diff --git a/apt-pkg/sourcelist.h b/apt-pkg/sourcelist.h index 0ed77b301..bbf2dba4e 100644 --- a/apt-pkg/sourcelist.h +++ b/apt-pkg/sourcelist.h @@ -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; diff --git a/doc/sources.list.5.yo b/doc/sources.list.5.yo index 625ab4b24..bec7efed0 100644 --- a/doc/sources.list.5.yo +++ b/doc/sources.list.5.yo @@ -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) -- cgit v1.2.3