When configuring a build target with crossdev when there is a layman overlay installed crossdev uses the wrong overlay path. As a result it puts it's overlays in the first overlay path in the layman make.conf. That is if /etc/make.conf has: PORTDIR_OVERLAY="/usr/i686-mingw32/usr/portage /usr/local/portage" source /usr/portage/local/layman/make.conf and no layman overlays are installed it will place the mingw32 overlay in the correct place. But if I add an overlay with (for example): layman -a sunrise then crossdev i686-mingw32 will place it's overlay in the sunrise overlay directory. Reproducible: Always Steps to Reproduce: 1. Details in decription 2. 3. Actual Results: crossdev overaly is in wrong location if there is a layman overlay. Expected Results: crossdev should be able to figure out how to correctly configure it own overlay directory.
so put the overlay you want crossdev to put its links in as the first element
I might be, perhaps more than, a little confused about how this is supposed to work. I went back and looked at the "Gentoo Cross Development Guide" and I now see that it does not say anything about setting the PORTDIR_OVERLAY. But other sources about crossdev such as the Gentoo wiki HOWTO MinGW do. I concluded that the simplest way to keep layman from clobbering the order of the portdir_overlay directories was to change make.conf to look like this: source /usr/portage/local/layman/make.conf PORTDIR_OVERLAY="/usr/i686-mingw32/usr/portage /usr/local/portage $PORTDIR_OVERLAY"
*** Bug 181645 has been marked as a duplicate of this bug. ***
*** Bug 212328 has been marked as a duplicate of this bug. ***
crossdev still writes to layman overlays, still a RESO/WONT? I don't like my crossdev targets apprearing in random overlays io portage # eix -e cross-avr/gdb [U] cross-avr/gdb Available versions: (avr) 6.6-r2[1] 6.6-r2[2] 6.7.1-r3[1] 6.7.1-r3[2] 6.8-r1[1] 6.8-r1[2] (~)6.8-r2[1] (~)6.8-r2[2] 7.0.1[1] 7.0.1[2] (~)7.1[1] (~)7.1[2] 7.2[1] 7.2[2] **7.2.50.20101117.4.15[1] **7.2.50.20101117.4.15[2] (~)7.3[1] (~)7.3[2] 7.3.1[1] 7.3.1[2] (0) (~)7.3.1-r1[1] (~)7.3.1-r1[2] (~)7.4[1] (~)7.4[2] (~)7.4.1[1] (~)7.4.1[2] 7.5[1] 7.5[2] 7.5.1{tbz2}[1] 7.5.1{tbz2}[2] (~)7.6[1] (~)7.6[2] **9999[1] **9999[2] {+client expat multitarget nls (+)python +server test vanilla zlib} Installed versions: 7.5.1{tbz2}[2](11:48:05 AM 08/17/2013)(client nls python server zlib -expat -multitarget -test -vanilla) Homepage: http://sourceware.org/gdb/ Description: GNU debugger [1] "mgorny" /var/lib/layman/mgorny [2] "local" /etc/portage/overlay
my current workaround is the next setting in make.conf: source /usr/portage/local/layman/make.conf PORTDIR_OVERLAY="/usr/local/crossdev-overlay $PORTDIR_OVERLAY" in this case the crossdev-overlay is allways first. My suggestion to solve the issue: because crossdev allways needs an overlay, the overlay should be hard-coded to /var/db/crossdev/overlay or in /usr/share/crossdev/overlay.
there's nothing to be done here. fix the order of your overlays, or use the overlay flags that crossdev already supports.