1 |
On Tue, Feb 27, 2018 at 1:59 PM, Ian Zimmerman <itz@××××××××××××.org> wrote: |
2 |
> On 2018-02-27 12:45, Rich Freeman wrote: |
3 |
> |
4 |
>> I use --with-bdeps=n because I really don't care that much about |
5 |
>> build-time deps, other than stuff that is going to get updated anyway |
6 |
>> like gcc. These packages don't even need to be installed for software |
7 |
>> to work correctly, and if a dev does miss an RDEPEND there is a decent |
8 |
>> chance they'll miss it in DEPEND also. |
9 |
> |
10 |
> Ok, so this looks like the relevant one in the current mess, at least. |
11 |
> But: if you omit --with-bdeps, what happens in the (relatively frequent) |
12 |
> situation when an already installed package is being updated and |
13 |
> acquired a new build dependency, which is not yet installed? |
14 |
> |
15 |
|
16 |
Portage will automatically install the new build dependency first. |
17 |
Anytime you explicitly install a package portage checks all |
18 |
dependencies and ensures they are met. If either a build-time or |
19 |
run-time dependency has changed and is no longer satisfied then |
20 |
portage will take care of that before installing the package. |
21 |
|
22 |
If a build-time dependency changes then by default portage will ignore |
23 |
this unless the package actually needs to be reinstalled. |
24 |
|
25 |
In theory you should never need --with-bdeps=y to actually keep |
26 |
software running. If things break without that option it is likely |
27 |
due to missing dependencies somewhere. |
28 |
|
29 |
That isn't to say that there aren't potential benefits to using |
30 |
--with-bdeps=y and --changed-deps. A package might not NEED its build |
31 |
system updated to run, but if that build system provides some kind of |
32 |
improved optimizations then updating the build system and rebuilding |
33 |
the package could provide runtime benefits. It just shouldn't be |
34 |
needed to actually make the package run. In practice significant |
35 |
optimization improvements aren't that common from regular version |
36 |
upgrades/etc. |
37 |
|
38 |
-- |
39 |
Rich |