[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

any clear description of sources.list format and apt interpretation?



Where can I get a clear and consistent specification of how apt-get 
interprets a sources.list file?  

I'm having trouble figuring out which GNOME-for-slink and KDE-for-link
releases (e.g., at kde.tydc.com) I can use with apt-get and how to
write the sources.list entries.

The source.list manual page is ambiguous and contradicts itself, and 
/usr/doc/slink doesn't seem to contain anything relevant (at least on 
my slink system).


What is unclear is exactly how apt-get maps to full directory names or URIs 
from the various pieces (initial URI or directory, distribution name, and 
component names given in sources.list, and "Filename:" entries in Packages 
files).


Specifically:
- Does apt-get assume or require directory "dists" somewhere in the 
  directory hierarchy?

  I can't tell whether apt-get is hard-coded to add "dists" at some level,
  apt-get defaults to that but can be overridden, or "dists" comes from the 
  "Filename:" entries in some Packages.gz files.

- How _exactly_ does apt-get assemble the URI, the distribution name, and
  any component names to find Packages.gz files?  

- How _exactly_ does apt-get combine the URI, distribution, and component 
  names with the pathnames in "Filename:" entries in Packages files to find
  *.deb files?


That is, how can I figure out exactly how I must name and organize local 
directories for local mirrors of Debian, KDE, or GNOME releases, and how 
can I figure out exactly how to construct source.list entries to point to 
those local mirrors?



The manual page for sources.list (at least version 0.3.10slink11) is
quite ambiguous and also contradicts itself, leaving several things 
unclear:


* The sources.list manual page says that the URI field "must specify the 
  base of the Debian distribution."  

  Which directory is the "base"?  
  
  For "ftp://ftp.debian.org/pub/debian/dists/slink/main/...";, which level is
  the base of the distribution?  Is it:
  - "ftp://ftp.debian.org/pub/debian/dists/slink";, 
  - "ftp://ftp.debian.org/pub/debian/dists";, or
  - "ftp://ftp.debian.org/pub/debian"; ?
  That is, is the base URI the directory that contains "dists"? the one
  that contains the directory named by the "distribution" field in the
  source.list line?

  (Also, does it matter whether the base URI ends with a slash?)



* Soon after, the manual page says:
    distribution can specify an exact path, in which case the components 
    must be omitted and distribution must end with a slash (/). ... If 
    distribution does not specify an exact path, at least one component 
    must be present.

  However, about four paragraphs down, it says:
  
    Some examples:

    deb http://http.us.debian.org/debian stable  main  contrib non-free

    deb http://http.us.debian.org/debian dists/stable-updates

  In the second example, the distribution field does not end with a slash,
  but the components are omitted.  That directly contradicts what was
  specified above.  
  


So, is there any complete (and correct) description of how apt-get 
manipulates all these pieces of file pathnames?


Thanks,

Danie
-- 
Daniel Barclay
dsb@smart.net
(Hmm.  A little worrisome:  http://www.junkbusters.com/cgi-bin/privacy
                            http://www.anonymizer.com/snoop.cgi )


Reply to: