El mar., 7 ene. 2020 a las 12:29, Michael Olbrich
(<[email protected]>) escribió:
>
> On Tue, Jan 07, 2020 at 12:11:19PM +0100, Guillermo Rodriguez Garcia wrote:
> > El jue., 2 ene. 2020 a las 16:15, Michael Olbrich
> > (<[email protected]>) escribió:
> > > On Thu, Jan 02, 2020 at 12:53:36PM +0100, Roland Hieber wrote:
> > > > On Mon, Dec 16, 2019 at 07:23:13PM +0100, Guillermo Rodriguez Garcia 
> > > > wrote:
> > > > > Let's say I have a package that requires a specific cmd line utility
> > > > > (e.g. openvt).
> > > > > This can be provided by two different packages (e.g. busybox or kbd)
> > > > > How to express that dependency in the .in file of my package ?
> > > >
> > > > PTXdist (or rather kconfig) does not have a notion of "provides" or
> > > > metapackages. I think is currently no way other than making a choice
> > > > option that selects the one or the other, or letting your config option
> > > > deoend on BUSYBOX_OPENVT || KBD_OPENVT. In the latter case it is
> > > > probably good to add a comment above it that depends on the opposite
> > > > value notifying the user that neither one of them is selected (see the
> > > > comment above IPTABLES_INSTALL_IPTABLES_APPLY in iptables.in for
> > > > example).
> > >
> > > Actually, the correct way to do this is probably:
> > >
> > >         select KBD              if !BUSYBOX_OPENVT && RUNTIME
> > >         select KBD_OPENVT       if !BUSYBOX_OPENVT && RUNTIME
> >
> > What is exactly the meaning of RUNTIME? Why is it needed here?
>
> This means, that kbd is only needed at runtime and not at buildtime. This
> relaxes the build dependencies a bit and allows more parallelization.
> It's really only needed for the first line, but we add it to both for
> consistency reasons.
>
> > Apart from that. What about the following:
> >
> > select KBD            if !BUSYBOX
> > select KBD_OPENVT     if !BUSYBOX
> > select BUSYBOX_OPENVT if BUSYBOX && !KBD_OPENVT
> >
> > This would prefer the Busybox version of openvt if none is explicitly
> > selected and Busybox is already present (thus avoiding to pull in the
> > kbd package if we can avoid it)
>
> Does that work? kconfig sometimes produces circular dependency errors, even
> if they don't really exist.
> If it works, then that's ok too (with the '&& RUNTIME' added).

Uhm, indeed Kconfig complains.

What would then be the way to achieve this:
- If busybox is selected, then select BUSYBOX_OPENVT, unless
KBD_OPENVT is already selected
- If busybox is NOT selected, then select KBD_OPENVT
?

The closest I've got is this:

select KBD            if !BUSYBOX
select KBD_OPENVT     if !BUSYBOX
select BUSYBOX_OPENVT if BUSYBOX

But this will end up selecting both versions of openvt if KBD_OPENVT
was already selected...

Guillermo

-- 
Guillermo Rodriguez Garcia
[email protected]

_______________________________________________
ptxdist mailing list
[email protected]

Reply via email to