On 12/21/25 12:34 PM, Dr Rainer Woitok wrote:
> Greetings,
> 
> On Sunday, 2025-12-21 11:21:28 +0000, Nuno Silva wrote:
> 
>> ...
>> Quoting the online manual page for emerge(1):
>>> Since  many users of binary packages do not want unnecessary build time
>>> dependencies installed, this option is not  automatically  enabled  for
>>> installation  actions  when the --usepkg option is enabled. In order to
>>> pull in build time dependencies  for  binary  packages  with  --usepkg,
>>> --with-bdeps=y  must be specified explicitly.  This also applies to op‐
>>> tions that enable the --usepkg option implicitly, such as --getbinpkg.
> 
> Since using binary packages whereever possible, that is, where my perso-
> nal USE flag settings  do not prevent their use,  I never was quite sure
> how to interpret this passage:  does option "--getbinpkg" imply "--with-
> bdeps=n"  for ALL packages  or only for those  installable from the bin-
> host?
> 
> Being cautious I always specified "--getbinpkg --with-bdeps=y", but this
> might well be overkill.  Does anyone know for sure?


I think this indicates a more fundamental misunderstanding of the
portage dependency model, so...

Let's clear this up. :) Build time dependencies are *required* to build
a package, but not to install it or have it installed. When emerging a
package and it appears in output as "[ebuild .....]", its bdeps *must*
be installed first.

--with-bdeps=y is a fun option, which effectively causes bdeps to be
handled like runtime deps:

- for packages in world, which -uDN @world does NOT rebuild or
  reinstall, bdeps will suddenly get installed, --deep'ly

- for binpackages, since bdeps are handled like runtime deps, they
  normally would be skipped because "installing, but not building", but
  cannot in this case

- for depclean, since bdeps are handled like runtime deps, they normally
  could be depcleaned as they are not part of @world (they aren't a
  dependency of an *installed* system), but cannot in this case


"""
does option "--getbinpkg" imply "--with-bdeps=n"  for ALL packages  or
only for those  installable from the binhost
"""

Answer: for all packages. Alternatively, "it doesn't matter since
getting a source package and *building it* will install build deps, as
well as runtime deps".


-- 
Eli Schwartz

Attachment: OpenPGP_signature.asc
Description: OpenPGP digital signature

Reply via email to