On Wed, 20 Jun 2018 22:09:21 -0500 "Marty E. Plummer" <hanet...@startmail.com> wrote:
> On Thu, Jun 21, 2018 at 03:41:02AM +0100, M. J. Everitt wrote: > > On 21/06/18 03:38, Jason Zaman wrote: > > > On Wed, Jun 20, 2018 at 06:01:10PM -0500, Marty E. Plummer > > > wrote: > > >> On Wed, Jun 20, 2018 at 11:33:53PM +0100, James Le Cuirot > > >> wrote: > > >>> On Wed, 20 Jun 2018 17:21:09 -0500 > > >>> "Marty E. Plummer" <hanet...@startmail.com> wrote: > > >>> > > >>>> On Wed, Jun 20, 2018 at 09:03:44PM +0800, Jason Zaman wrote: > > >>>>> On Wed, Jun 20, 2018 at 02:10:50AM -0500, Marty E. Plummer > > >>>>> wrote: > > >>>>>> Use ${EROOT%/} whereever possible, as the tools and > > >>>>>> directories which are used with it are already prefixed with > > >>>>>> a / > > >>>>>> > > >>>>>> Package-Manager: Portage-2.3.40, Repoman-2.3.9 > > >>>>>> --- > > >>>>>> eclass/xdg-utils.eclass | 10 +++++----- > > >>>>>> 1 file changed, 5 insertions(+), 5 deletions(-) > > >>>>>> > > >>>>>> diff --git a/eclass/xdg-utils.eclass > > >>>>>> b/eclass/xdg-utils.eclass index ac075185d8e..8dba5ed6861 > > >>>>>> 100644 --- a/eclass/xdg-utils.eclass > > >>>>>> +++ b/eclass/xdg-utils.eclass > > >>>>>> @@ -66,7 +66,7 @@ xdg_environment_reset() { > > >>>>>> # Updates the .desktop files database. > > >>>>>> # Generates a list of mimetypes linked to applications that > > >>>>>> can handle them xdg_desktop_database_update() { > > >>>>>> - local > > >>>>>> updater="${EROOT}${DESKTOP_DATABASE_UPDATE_BIN}" > > >>>>>> + local > > >>>>>> updater="${EROOT%/}${DESKTOP_DATABASE_UPDATE_BIN}" > > >>>>> Shouldn't things like this be $BROOT since they're being run? > > >>>>> $EROOT might be a different architecture that may or may not > > >>>>> run at all on the build machine. > > >>>>> > > >>>> Good point, but here's a question; if > > >>>> EROOT=${ROOT%/}${EPREFIX}, how do we use BROOT here? EBROOT? > > >>>> Or longhand ${BROOT%/}${EPREFIX} ? I think that may be a use > > >>>> case that got missed in the EAPI 7 discussions. > > >>> BROOT is already prefixed as BROOT without a prefix would just > > >>> be /. > > >> I don't follow. Its my understanding that BROOT ~= ROOT for most > > >> situations. But consider this setup: > > >> Ubuntu amd64 with Gentoo Prefix, emerging a native arm @system to > > >> /mnt/arm EPREFIX = /home/user/gentoo. > > >> > > >> In this situation, ROOT=/mnt/arm, EROOT=/mnt/arm, but what is > > >> BROOT? /, or /home/usr/gentoo? > > > https://dev.gentoo.org/~mgorny/articles/the-ultimate-guide-to-eapi-7.html#broot-variable-for-bdepend > > > > > > Basically BROOT already contains EPREFIX or BPREFIX or whatever > > > it would be called. There is like no need for an un-prefixed > > > BROOT so its just merged in. so you should just need > > > "${BROOT}/usr/bin/update-mime-database" > > > > > Obligatory n00b question .. how does this work in EAPI <= 6 ?! :D > > > I would guess something like has eapi 7 || ROOT = BROOT or whatever. > Use BROOT by default and if the EAPI doesn't support it set ROOT to > BROOT or somat. There was no variable for BROOT before EAPI 7, that's why we created one! There was an internal Portage variable called PORTAGE_OVERRIDE_EPREFIX, which is basically what BROOT gets set to now but you should not use this in an eclass. I guess the safest fallback would be EPREFIX. This would be technically wrong for cross-prefix builds but unlikely to cause a problem in practise. Don't do ${BROOT-${EPREFIX}} though because BROOT is usually empty anyway. -- James Le Cuirot (chewi) Gentoo Linux Developer