Created attachment 319512 [details] Patch fixing crossdev implementation to match documentation The crossdev code: : ${CROSSDEV_OVERLAY:=${SEARCH_OVERLAYS}} CROSSDEV_OVERLAY=${CROSSDEV_OVERLAY%% *} But: $ A="1 2 3" $ echo "${A%% *}" 1 $ echo "${A##* }" 3 With a fixed implementation, Layman users could use their default config: $ tail -n2 /etc/portage/make.conf PORTDIR_OVERLAY="/usr/local/portage" source /var/lib/layman/make.conf $ cat /var/lib/layman/make.conf PORTDIR_OVERLAY=" /var/lib/layman/abc /var/lib/layman/def $PORTDIR_OVERLAY " to install into /usr/local/portage, which is nicer than clobbering the abc (or whatever) overlay, or making them rewrite their main make.conf. I've attached a patch with the fix.
I forgot to explain why I expect crossdev to use the last overlay. There's the comment in the crossdev code directly above the patched lines: # see if user told us where to write things, otherwise # install our stuff to the last overlay in the list And the help message: $ crossdev --help | grep -A1 oO -oO, --ov-output path Overlay to write crossdev package links [default: last from --overlays list]
the crossdev code has always picked the first overlay. better to fix the documentation than to change the behavior. http://git.overlays.gentoo.org/gitweb/?p=proj/crossdev.git;a=commitdiff;h=e1e09a9a671c9c7c55a0e853d4f562472f8332f0