1 |
On Mon, Aug 3, 2020 at 7:45 AM Peter Humphrey <peter@××××××××××××.uk> wrote: |
2 |
> |
3 |
> Now, when I chroot into the rescue system and 'emerge -uaDvNk @core @base', |
4 |
> portage reports that it can't use the postfix package because of different USE |
5 |
> flags, but it does the update I've asked for. Postfix is in @apps in the main |
6 |
> system, but it's not installed in the rescue system. |
7 |
|
8 |
That makes sense. -k says to use the binary if it matches, and |
9 |
enables --binpkg-respect-use by default. Since the USE flags don't |
10 |
match it ignores the binary package, but since you're using -k it does |
11 |
a full build. |
12 |
|
13 |
> |
14 |
> Moreover, if I specify -K instead of -k to emerge, it proposes to install |
15 |
> every package that's present in $PKGDIR. |
16 |
|
17 |
This is because -k automatically sets --binpkg-respect-use, but -K |
18 |
does not. So when you switch to -K it ignores your USE flag settings |
19 |
and just installs them. It will, however, not do any full builds. |
20 |
|
21 |
> Or, is there a way to specify 'all installed category/packages that have |
22 |
> usable binary packages'? At present, 'installed' is being ignored. |
23 |
|
24 |
Sounds like you want --usepkgonly y --binpkg-respect-use y (the first |
25 |
is the same as -K). At least, I think that is what you're getting at |
26 |
- I could be misunderstanding your goal. |
27 |
|
28 |
If I were less lazy I'd come up with a way for portage to have |
29 |
multiple binpkg files in the repo with different USE flags, and let it |
30 |
pick the one that matches. It seems possible using config hashes and |
31 |
a strategy like what is done with shared object symlinks. |
32 |
|
33 |
-- |
34 |
Rich |