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]
