On Mon, Oct 1, 2018 at 9:17 AM James Le Cuirot <ch...@gentoo.org> wrote: > > On Mon, 1 Oct 2018 09:00:38 -0400 > Mike Gilbert <flop...@gentoo.org> wrote: > > > > The reason why it is in DEPEND though is that none of these tools > > > are required at runtime. They are needed at postinst and postrm > > > stages which afaik makes them DEPEND on EAPI previous to EAPI 7 and > > > BDEPEND in EAPI 7 if I'm not mistaken. > > > > This is incorrect; programs executed in pkg_postinst/pkg_postrm should > > be present in RDEPEND. Consider a binpkg installation, which would > > ignore DEPEND, but would still execute pkg_postinst. > > > > Another option: since xdg-utils.eclass functions will politely skip > > the updates if the tools are missing, we could just drop the > > dependency from xdg.eclass entirely and wait for the tools to get > > installed through some indirect means. > > Unfortunately there is no correct answer here as we didn't consider > this scenario when planning EAPI 7. We should have looked at Exherbo, > which does make this important distinction. There is a bug report open. > > https://bugs.gentoo.org/660306 > > What I will say is that we should not attempt to executing anything > from within ROOT or SYSROOT unless it known to be interpreted > (e.g. a shell script) and there is no feasible alternative. I add that > exclusion clause because I have been forced to do this with > python-config.
That's a good point; both update-desktop-database and update-mime-database are compiled binaries, and should probably be executed from BROOT (/) instead. I'll revise my patchset.