1 |
On 07/09/20 20:54, Grant Edwards wrote: |
2 |
> On 2020-09-07, Andreas K Hüttel <dilfridge@g.o> wrote: |
3 |
> |
4 |
>> That works, but pretty please try something else first! |
5 |
>> |
6 |
>> # make sure source-based rust is not in the world file |
7 |
>> emerge --deselect dev-lang/rust |
8 |
>> |
9 |
>> emerge -1 dev-lang/rust-bin |
10 |
>> |
11 |
>> It should be as easy as that. *If* all dependencies are fulfilled by |
12 |
>> both rust and rust-bin, then the second emerge call will unmerge |
13 |
>> rust and merge rust- bin. |
14 |
> |
15 |
> It did not. I executed the two commands shown above (the first |
16 |
> reported that no such atom was found in the world file). I ended up |
17 |
> with both dev-lang/rust and dev-lang/rust-bin installed. |
18 |
|
19 |
If rust is called in as a dependency, it won't be in the world file, so |
20 |
the first command will have no effect ... |
21 |
> |
22 |
> When I subsequently ran "emerge --depclean --ask" it wanted to unmerge |
23 |
> dev-lang/rust-bin. |
24 |
|
25 |
rust-bin was emerged with the -1 option, ie "don't stick it in world" option |
26 |
> |
27 |
> I had to manually unmerge dev-lang/rust to get rid of it (which then |
28 |
> prevented --depclean from trying to unmerge rust-bin). |
29 |
> |
30 |
So --depclean, relying on what is in world, notices that nothing has a |
31 |
dependency on rust-bin and wants to remove it. |
32 |
> -- |
33 |
> Grant |
34 |
> |
35 |
What you need to do (and this is a pain, but ...) is to add rust-bin to |
36 |
the world file. There may be a --select option (opposite of deselect), |
37 |
or I'd just manually add it to the world file. |
38 |
|
39 |
At which point, anything with the virtual rust dependency will notice |
40 |
that rust-bin is installed, and use that. |
41 |
|
42 |
There's no way I know of to tell portage to use rust-bin rather than |
43 |
rust to satisfy the virtual and, indeed, it makes sense for rust-bin |
44 |
*not* to be the default. |
45 |
|
46 |
Cheers, |
47 |
Wol |