1 |
On 22 January 2015 at 17:00, Neil Bothwick <neil@××××××××××.uk> wrote: |
2 |
> On Thu, 22 Jan 2015 16:43:32 +0800, Sam Bishop wrote: |
3 |
> |
4 |
>> I'll quote from the binpkg docs: |
5 |
>> >> Next to these, portage will check if the binary package is built |
6 |
>> >> using the same USE flags as expected on the client. If a package is |
7 |
>> >> built with a different USE flag combination, portage will either |
8 |
>> >> ignore the binary package (and use source-based build) or fail, |
9 |
>> >> depending on the options passed on to emerge |
10 |
>> |
11 |
>> So I'm fairly sure that implies they can coexist based on the |
12 |
>> directory structure. - |
13 |
>> http://wiki.gentoo.org/wiki/Binary_package_guide#The_PKGDIR_layout |
14 |
> |
15 |
> The package name is the same as the ebuild name but with a .tbz2 |
16 |
> extension, so how could portage cope with multiple variants with |
17 |
> different USE flags when there is only one name? There can be only one |
18 |
> package per ebuild and either the USE flags match exactly or they do not. |
19 |
> |
20 |
> You could get away with this with a limited set of profiles by having a |
21 |
> different $PKGDIR for each profile but to do it with random combinations |
22 |
> would require some sort of middleware to handle the requests and place |
23 |
> the specified packages where portage expects to find them. |
24 |
> |
25 |
> I think the check for USE flags is done using the IUSE and USE settings |
26 |
> in the package metadata, so even if a USE flag you don't use is added to |
27 |
> an ebuild, the package will no longer match. ISTR having to hack metadata |
28 |
> in /var/db in the past to avoid a rebuild of *Office. |
29 |
> |
30 |
|
31 |
Thank you kindly Neil. You rephrasing what was right in front of my |
32 |
face in the docs finally lead to the lightbulb going off. Happens to |
33 |
all of us I suppose. The pkdir layout diagram isn't implying multiple |
34 |
versions of a single package, it is referring to multiple packages |
35 |
with a numeric shorthand. So this would require middleware, wrappers, |
36 |
or improvements to portage to cope with having overlapping packages |
37 |
like this. So interim functionality could be achieved with separate |
38 |
bin hosts directories for each of the baseline profiles with their |
39 |
default use flags. Once the infrastructure was stable then work could |
40 |
be undertaken to build some kind of wrapper, or enhancement to |
41 |
portage. |
42 |
|
43 |
> |
44 |
> -- |
45 |
> Neil Bothwick |
46 |
> |
47 |
> When companies ship Styrofoam, what do they pack it in? |