Gentoo Archives: gentoo-soc

From: Arne Babenhauserheide <arne_bab@×××.de>
To: gentoo-soc@l.g.o
Cc: Jeremy Olexa <darkside@g.o>
Subject: Re: [gentoo-soc] [GSoC-status] Tree-wide collision checking and files database
Date: Mon, 15 Jun 2009 06:58:28
Message-Id: 200906150857.42768.arne_bab@web.de
In Reply to: Re: [gentoo-soc] [GSoC-status] Tree-wide collision checking and files database by Arne Babenhauserheide
1 Am Montag, 15. Juni 2009 08:23:30 schrieb Arne Babenhauserheide:
2 > Am Freitag, 12. Juni 2009 17:05:33 schrieb Jeremy Olexa:
3 > > > It seems that whole process could be sped up by hosting binary
4 > > > packages on one central server (Binary host). Obviously various
5 > > > versions of the same package would be created and therefore unique
6 > > > names could be created by using some metadata to create hash part of
7 > > > filename. On a first thought I would use USE flags and DEPEND as
8 > > > metadata to hash.
9 > >
10 > > This is a cool aspect of the project, I hope you can work with solar
11 > > and zmedico to improve binpkgs. USE flags seem to be the trouble spot
12 > > of binpkgs.
13 >
14 > "Include more info about a binpkg"
15 > - http://bugs.gentoo.org/show_bug.cgi?id=150031#c7
16 ...
17 > $PKGDIR/$CATEGORY/$PN/$SLOTS_HASH/$USE_HASH/python-2.5.2-r8.tbz2
18
19 I forgot to include one unsolved question (sorry): How to specify the binary
20 dependencies of the package?
21
22 Sadly this isn't as easily solved in general (at least I don't know how), but
23 for a centralized build server you could just add binary revisions to the
24 binpackage names and use a simple file to map the binary revisions to binary
25 dependencies - or just the versions of the dependencies they were built with.
26
27 For finding the correct binpackage binary revision, portage could then first
28 check the highest binary revision, if the versions of all installed depencies
29 are at least the versions the binpackage was build with (assuming a
30 continuously working build-server which only updates binpackages of one
31 version, if revdep-rebuild/@preserved-rebuild demands it).
32
33 If the locally installed dependencies have lower versions than the ones the
34 binpackage was built with, portage could successively check lower binary
35 revisions, until one fits the locally installed packages (all dependencies
36 have the same or lower revisions than the locally installed ones).
37
38 This only solves the problem for a centralized server, but since that's what
39 you'll likely be using it might fit.
40
41 At least the needs of pure-binpackage builds would be completely satisfied
42 using this option (if the server runs revdep-rebuild/@preserved-rebuild after
43 each update and only publicise the binpackage after that check) - all others
44 would need to run revdep-rebuild after each emerge which didn't use a
45 binpackage because they need to check if a library update broke binary
46 compatibility of an installed binpackage. I'm not sure if portage-2.2 already
47 solves this problem using @preserved-rebuild, though, so this might already be
48 solved :)
49
50 Best wishes,
51 Arne
52
53 --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---
54 - singing a part of the history of free software -
55 http://infinite-hands.draketo.de

Attachments

File name MIME type
signature.asc application/pgp-signature