1 |
On 03/01/2017 07:18 PM, William Hubbs wrote: |
2 |
> All, |
3 |
> |
4 |
> the dependencies for dev-lang/go need to force a rebuild every time the |
5 |
> compiler is downgraded or upgraded. |
6 |
> |
7 |
> To avoid abusing slot dependencies for dev-lang/go since it is not |
8 |
> needed at runtime I need to do the following. |
9 |
> |
10 |
> I need to introduce virtual/go-1.7.5, virtual/go-1.8 and |
11 |
> virtual/go-9999. The attachment shows 1.8 but it is the same for all |
12 |
> versions. |
13 |
> |
14 |
> Also, the attached patch needs to be applied to golang-base.eclass. |
15 |
> |
16 |
> This is based on the following wiki page: |
17 |
> |
18 |
> Ahttps://wiki.gentoo.org/wiki/Project:Quality_Assurance/Subslots#Using_virtuals_to_expose_multiple_ABIs |
19 |
> |
20 |
> Any thoughts? |
21 |
> |
22 |
> William |
23 |
> |
24 |
|
25 |
Unfortunately, this would allow the user to remove all versions of |
26 |
dev-lang/go before attempting to compile a package using go, as |
27 |
virtual/go has no RDEPENDs, and only RDEPENDs of DEPENDs are required to |
28 |
be present (not DEPENDs of DEPENDs). |
29 |
|
30 |
That is, the following sequence of actions would be perfectly legal, |
31 |
according to the dependencies: |
32 |
|
33 |
Merge dev-lang/go |
34 |
Merge virtual/go |
35 |
Unmerge dev-lang/go |
36 |
Merge {package using golang-base.eclass} |
37 |
|
38 |
While my initial thought was to just add dev-lang/go to the DEPEND in |
39 |
the eclass (in addition to virtual/go), that doesn't quite work as the |
40 |
two packages are allowed to get out of sync because virtual/go doesn't |
41 |
RDEPEND on dev-lang/go at all (so you could install virtual/go for your |
42 |
current version of dev-lang/go, then upgrade dev-lang/go without |
43 |
upgrading virtual/go). |
44 |
|
45 |
-- |
46 |
Jonathan Callen |