1 |
On 12/27/2014 06:25 AM, Rick "Zero_Chaos" Farina wrote: |
2 |
> On 12/23/14 20:51, Zac Medico wrote: |
3 |
>> Hi, |
4 |
>> |
5 |
>> As discussed in bug 150031 [1], it would be useful if PKGDIR could |
6 |
>> accommodate multiple binary packages built from the same source ebuild. |
7 |
>> Use cases for preserving multiple builds typically involve supporting |
8 |
>> multiple clients (with partially compatible configurations) from a |
9 |
>> single unified binhost. In this context, some of the reasons to retain |
10 |
>> multiple builds are: |
11 |
>> |
12 |
>> * Different USE flag combinations enabled (--newuse/--binpkg-respect-use |
13 |
>> needed) |
14 |
>> |
15 |
>> * Different versions of installed dependencies (EAPI 5 slot := operators |
16 |
>> needed) |
17 |
>> |
18 |
>> * Different repositories/overlays, with variance in the time of the last |
19 |
>> sync (--changed-deps/--binpkg-changed-deps needed if dependencies change |
20 |
>> due to eclass changes or ebuild modifications without revbump) |
21 |
> |
22 |
> I'm not saying don't take this into account, but in reality, this isn't |
23 |
> a problem we should have to deal with. |
24 |
|
25 |
Who is we? How do you know that whatever practices you use will also be |
26 |
utilized by everyone else out there? |
27 |
|
28 |
> if users want to rely on binpkgs |
29 |
> they should be syncing to the same rev the binhost used to generate |
30 |
> them. it's a reasonably trivial task to do this, even as simple as |
31 |
> daily webrsync or something. |
32 |
|
33 |
The --changed-deps/--binpkg-changed-deps are also useful for the same |
34 |
reason that emerge --dynamic-deps is enabled by default: |
35 |
|
36 |
* On the binhost server side, --changed-deps is an easy way to rebuild |
37 |
packages so the resulting binary packages have the latest deps, which |
38 |
may be necessary in order for the dependencies to be *satisfiable*. |
39 |
|
40 |
* On the binhost client side, --binpkg-changed-deps can be used to |
41 |
reject binary packages that haven't been rebuilt with the latest |
42 |
dependency specifications, avoiding inconsistent dependencies that may |
43 |
not be *satisfiable*. |
44 |
|
45 |
Sure, the --binpkg-changed-deps thing may not be needed for whatever |
46 |
limited use cases you are thinking of, but lets not force the same |
47 |
limits on everyone else. |
48 |
|
49 |
> To handle users with a different class or |
50 |
> ebuild version will prove difficult I believe, and worse, it will make |
51 |
> possibly dozens of extra binpkg revs for basically no reason. |
52 |
|
53 |
As discussed the above, these "extra binpkg revs" may be needed in order |
54 |
for the dependencies to be *satisfiable*. The cost of rebuilding |
55 |
packages can be considered negligible in comparison to the time that |
56 |
people would otherwise have to spend in order to manually resolve issues |
57 |
involving dependencies that are unsatisfiable. |
58 |
-- |
59 |
Thanks, |
60 |
Zac |