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

Re: Woody? when did this happen? - when "stable" must be used to install slink - details (and probable latent bug)



> From: Brian May <bam@debian.org>

> 
> >>>>> "Daniel" == Daniel Barclay <dsb@smart.net> writes:
> 
>     Daniel> I don't know why Debian people can't understand that
>     Daniel> releases/versions also need to be accessible by names that
>     Daniel> _don't_ change.
> 
> Why refer to in in apt/sources.list as unstable or frozen when
> potato would be better?


Because it doesn't work for local mirrors. 


When I try to use the name "slink" to mirror slink locally as
.../xyz/slink/{main,etc.}/{binary-i386,etc.}/... and then point apt to 
my local mirror, it DOESN'T WORK. 

I have to rework the directory structure to include .../dists/stable/....

Why?  Because a Packages file refers to the name of the directory
(actually, four levels of them) in which it expects to be contained, 
and it uses the temporary name ("stable", etc.) instead of the 
permanent name ("slink", etc.) in that reference.

Consider the slink Packages file at .../main/binary-i386/Packages:

  ...
  Package: 3dchess
  ...
  Filename: dists/stable/main/binary-i386/games/3dchess_0.8.1-3.deb
  ...

Why the heck does that Filename: entry include the 
"dists/stable/main/binary-i386" part (or at least the "dists/stable" 
part)?  

A file should not refer to the names of directories containing it.
Names should be relative to the directory of the Packages file, or
at most the root of the release; they should not be relative to 
something ABOVE the release directory.


Also, note that apt insists that the directory structure contain
"dists".  


_Because_of_all_that_, I have to rework the directory structure to 
include "dists/stable".  


(Why should I have to store slink in a directory structure 
".../dists/stable/{main,etc.}/..."?  

Why can't I store it as ".../dists/slink/{main,etc.}/..."?  In fact, 
why the hell should apt care what I call it as long as I point apt to
the root directory, where the "{main,etc.}/..." part begins, and under
which it can find all its Packages files at their usual _relative_
locations?)


THAT is what I was talking about.  



***  Hey, is there a problem even when pointing apt to a remote archive?

Let's say you use "slink" to point to the archive directory.  Apt goes to 
the archive's ".../slink" directory or link to find the Packages files.  
Those Packages file refer to ".../stable".  Apt then goes to archive's 
".../stable" link or directory to find the .deb files.

What happens when ".../stable" no longer refers to slink?

For example, what happens when potato is promoted to stable and an archive 
wants to keep slink around for a while?

You use "slink", apt gets slink's Packages files (using .../slink), but 
then gets potato's .deb files (using .../stable).

So now you've got pieces of potato when you asked for rice...I mean slink.


So if you use "stable," the name that changes over time, you'll get a 
consistent view (at that instant); if you ask for "slink" or "potato", 
a permanent name, things can get screwed up.


That's why I said that someone at Debian can't understand that releases 
need to be accessible by names that don't change.  Maybe they do 
understand the concept, but then why doesn't the software work?



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


Reply to: