// -*- 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.
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)
// -*- 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
return true;
}
+ if (S == "deb-src")
+ {
+ Type = DebSrc;
+ return true;
+ }
+
return true;
}
/*}}}*/
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;
}
Res += " Packages";
break;
+
+ case DebSrc:
+ Res += SiteOnly(URI) + ' ';
+ if (Dist[Dist.size() - 1] == '/')
+ Res += Dist;
+ else
+ Res += Dist + '/' + Section;
+
+ Res += " Sources";
+ break;
};
return Res;
}
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;
}
switch (Type)
{
case Deb:
+ case DebSrc:
Res += SiteOnly(URI) + ' ';
if (Dist[Dist.size() - 1] == '/')
Res += Dist;
string Res;
switch (Type)
{
+ case DebSrc:
case Deb:
Res += SiteOnly(URI) + ' ';
if (Dist[Dist.size() - 1] == '/')
switch (Type)
{
case Deb:
+ case DebSrc:
Res = URI + File;
break;
};
// -*- 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
item */
struct Item
{
- enum {Deb} Type;
+ enum {Deb, DebSrc} Type;
string URI;
string Dist;
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)