Mailing List Archive

[gentoo-user] Why IDEPEND's context is BHOST?
Good day!
 
[1] says:
 
>  idepend Additionally, in EAPIs listed in table 8.4 as supporting IDEPEND, install-time dependencies can be specified. These dependencies are binary compatible with the native build system (CBUILD).
 
But we install and use (run at install-time) dependencies on host system (CHOST), don’t we? Why CBUILD is mentioned above, instead?
 
Thanks.
 
Sincerely,
Alexander Kurakin.
 
---
 
[1]: https://projects.gentoo.org/pms/8/pms.html#x1-720008.1
Re: [gentoo-user] Why IDEPEND's context is BHOST? [ In reply to ]
On Thu, Sep 01, 2022 at 05:26:46PM +0300, Alexander Kurakin wrote:
>
> Good day!
>  
> [1] says:
>  
> >  idepend Additionally, in EAPIs listed in table 8.4 as supporting IDEPEND, install-time dependencies can be specified. These dependencies are binary compatible with the native build system (CBUILD).
>  
> But we install and use (run at install-time) dependencies on host system (CHOST), don’t we? Why CBUILD is mentioned above, instead?

If cross-building to a different ROOT, e.g. amd64 CBUILD to a aarch64
CHOST, then amd64 will need deps to run pkg_postinst from its arch
(which IDEPEND will provide).

Of course, aarch64 will /also/ need these deps so it can emerge or
unmerge a binpkg, also provided by IDEPEND.

Before EAPI8 the best you could do to represent this was to have
the dependency in both RDEPEND and BDEPEND, but this lack a use-case
where you cross-emerge a binpkg given it won't pull BDEPEND (not
building) and then RDEPEND is for the wrong arch.

--
ionen
Re: Why IDEPEND's context is BHOST? [ In reply to ]
Oh, now I see.
 
CBUILD/CHOST are not (only) about "arch", it’s (also) about "phases" and "paths".
 
CHOST runs (already installed) packages’ binaries.
 
CBUILD does everything else: fetch sources, build sources, move built binaries (i.e. "install/merge").
 
Thanks!
 
P.S. If you can, reply, please, to  https://archives.gentoo.org/gentoo-user/message/cf1cbe72d7d2337f6ebf6a29c5460c3a
 
Sincerely,
Alexander Kurakin.