On Thursday 15 December 2011 07:43:26 Rich Freeman wrote:
> On Thu, Dec 15, 2011 at 12:39 AM, Nirbheek Chauhan wrote:
> > Nevertheless, the basic bug is about changing the distfile repository
> > format in such a way that a single repo can contain several distfiles
> > built with differing build conditions. Putting metadata in the
> > filename is only one way of ensuring that.
> 
> Well, having the filename vary when the metadata changes is the only
> way of ensuring that.  Putting the metadata in the filename is just
> one of many ways to make the filename vary.

there is more raw metadata available than fits into a filename.  so that is 
already a non-starter.

if people want to post multiple binpkgs with different metadata

> Another solution (which I can already sense the objections to), would
> be to content-hash the files and use that as the filename.  Then use
> indexes to point to the files.  You could use symlink indexes to point
> to the files so that superficially it looks the same as it does now
> for the last version emerged.  Then people looking for a particular
> set of metadata could use more detailed indexes to find the right
> file.  Portage could look for an exact match when trying to merge a
> binpkg since searching indexes is a trivial problem.

we already hash all the files (i.e. the CONTENTS file), so using the hash of 
that file alone wouldn't be a bad idea.  although i think that file gets 
generated on the fly when merging the binpkg (seems like a waste to not cache 
that in the binary package ...).

> There are countless variations on this as well - like sticking a copy
> of the environment for each package in a separate text file with the
> same base name so that it is easy to grep/search/etc.

the env is already "trivial" to extract:
        qtbz2 -x -O bison-2.5.tbz2 | qxpak -O -x - environment.bz2 | bzgrep foo

> You can also make it more user-friendly by keeping the PF in the
> filename followed by the hash - like gvim-1.23-r1-723ba298d92f.  In
> such a case you probably don't even need to index the PFs.

portage should be using the generated "Packages" index to look up actual tbz2 
filenames, so having ${PF}-<hash>.tbz2 shouldn't be too painful.
-mike

Attachment: signature.asc
Description: This is a digitally signed message part.

Reply via email to