According to crossdev --help, in the most simple case, crossdev should use an overlay named "crossdev": -oO, --ov-output path Overlay to write crossdev package links [default: uses repo with name 'crossdev', or 'cross-${CTARGET}', or falls back to first from --overlays list] However, that breaks if there are other overlays in repos.conf that have the same (or no) priority as the "crossdev" overlay. Workaround: assign unique priority to "crossdev" overlay. Due to the way the gawk-script in parse_repo_config() organises overlays, they are apparently expected to have a unique priority. I can't find anything in portage(5) that supports this requirement. But then the order won't be sorted by priority anyway, as the iteration via for (prio in prios) will not run by numerical index, so the order established by asorti() is not what's actually returned. Plus it's a pure literal order, not a numerically correct one. The attached patch attempts to correct all of these issues. Reproducible: Always Steps to Reproduce: 1. Prepare an overlay named "crossdev" for use by crossdev. 2. Make sure there are other overlays in repos.conf that have the same priority as the one created in step 1 or configure both "crossdev" and other overlays without priority in repos.conf 3. crossdev -t whatever Actual Results: crossdev may choose the wrong overlay, depending on the order they are returned in by portageq repositories_configuration. In my case this showed because it chose an overlay on a read-only NFS mount and therefore failed. Otherwise, it could have polluted another overlay or crossdev's files could have been lost when pruning the overlay it would have chosen. Expected Results: crossdev should find the overlay intended regardless of any attribute besides the repository's name and location. Portage 2.2.14 (python 2.7.9-final-0, default/linux/amd64/13.0/desktop/kde/systemd, gcc-4.8.3, glibc-2.19-r1, 3.17.8-gentoo-r1-stellaware x86_64) ================================================================= System uname: Linux-3.17.8-gentoo-r1-stellaware-x86_64-Intel-R-_Core-TM-2_Duo_CPU_E6750_@_2.66GHz-with-gentoo-2.2 KiB Mem: 6105984 total, 712184 free KiB Swap: 58614656 total, 57478776 free Timestamp of tree: Wed, 18 Feb 2015 14:15:01 +0000 ld GNU ld (Gentoo 2.24 p1.4) 2.24 distcc 3.1 x86_64-pc-linux-gnu [disabled] app-shells/bash: 4.2_p53 dev-java/java-config: 2.2.0 dev-lang/perl: 5.20.1-r4 dev-lang/python: 2.7.9-r1, 3.3.5-r1, 3.4.1 dev-util/cmake: 2.8.12.2-r1 dev-util/pkgconfig: 0.28-r1 sys-apps/baselayout: 2.2 sys-apps/openrc: 0.13.9 sys-apps/sandbox: 2.6-r1 sys-devel/autoconf: 2.13, 2.69 sys-devel/automake: 1.11.6-r1, 1.12.6, 1.13.4 sys-devel/binutils: 2.24-r3 sys-devel/gcc: 4.7.3-r1, 4.8.3 sys-devel/gcc-config: 1.7.3 sys-devel/libtool: 2.4.4 sys-devel/make: 4.0-r1 sys-kernel/linux-headers: 3.16 (virtual/os-headers) sys-libs/glibc: 2.19-r1 Repositories: gentoo bircoph celestilay crossdev sunrise ACCEPT_KEYWORDS="amd64" ACCEPT_LICENSE="* -@EULA AdobeFlash-11.x skype-4.0.0.7-copyright TeamViewer" CBUILD="x86_64-pc-linux-gnu" CFLAGS="-march=core2 -O2 -pipe" CHOST="x86_64-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/share/config /usr/share/gnupg/qualified.txt /usr/share/themes/oxygen-gtk/gtk-2.0 /usr/share/themes/oxygen-gtk/gtk-3.0" CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/dconf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo /etc/texmf/language.dat.d /etc/texmf/language.def.d /etc/texmf/updmap.d /etc/texmf/web2c" CXXFLAGS="-march=core2 -O2 -pipe" DISTDIR="/usr/portage/distfiles" EMERGE_DEFAULT_OPTS="--keep-going y --jobs 3 --load-average 2.0" FCFLAGS="-O2 -pipe" FEATURES="assume-digests binpkg-logs candy clean-logs config-protect-if-modified distlocks ebuild-locks fixlafiles merge-sync news parallel-fetch preserve-libs protect-owned sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync xattr" FFLAGS="-O2 -pipe" GENTOO_MIRRORS="http://de-mirror.org/gentoo/" LANG="de_DE.utf8" LDFLAGS="-Wl,-O1 -Wl,--as-needed" MAKEOPTS="-j3 -l2.0" PKGDIR="/usr/portage/packages" PORTAGE_CONFIGROOT="/" PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --omit-dir-times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/mnt/master/repo/gentoo" PORTDIR_OVERLAY="/mnt/master/repo/bircoph /mnt/master/repo/celestilay /usr/local/portage/crossdev /mnt/master/repo/sunrise" USE="X a52 aac aalib acl acpi aften alsa amd64 amr avahi berkdb bluetooth btrfs bzip2 cairo calendar caps cdda cdr cli cracklib crypt cups curl cxx dbus declarative device-mapper dga djvu dri dts dv dvb dvd dvdr emboss encode exif fam ffmpeg firefox flac fontconfig fortran ftd2xx ftdi gdbm geoip gif gimp git glamor gpm iconv icu inotify ipv6 jack java jpeg jpeg2k kde kerberos kipi lame lcms ldap libav libnotify libsamplerate lirc lm_sensors lvm lzma mad matroska mikmod mmx mng modules mp3 mp4 mpeg mtp multilib mysql ncurses nls nptl ogg openal openexr opengl openmp oscar pam pam_krb5 pango pcre pdf perl phonon plasma png policykit postgres ppds pulseaudio python qt3support qt4 quicktime readline samba sasl scanner schroedinger sdl semantic-desktop session smp sndfile snmp speex spell sqlite sse sse2 sse3 ssl startup-notification svg system-ffmpeg systemd tcpd telepathy theora threads tiff truetype udev udisks unicode upower usb v4l vcd vhosts video vim-syntax vorbis vpx webkit wxwidgets x264 xattr xcb xcomposite xine xinerama xml xmp xscreensaver xv xvid xvmc zeroconf zlib" ABI_X86="64" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" APACHE2_MODULES="authn_core authz_core socache_shmcb unixd actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" CALLIGRA_FEATURES="kexi words flow plan sheets stage tables krita karbon braindump author" CAMERAS="ptp2" CELESTILAY_MODULES="kernel" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" CPU_FLAGS_X86="mmx sse sse2" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf superstar2 timing tsip tripmate tnt ublox ubx" INPUT_DEVICES="evdev wacom joystick" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" LINGUAS="de en" LIRC_DEVICES="devinput" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php5-5" PYTHON_SINGLE_TARGET="python2_7" PYTHON_TARGETS="python2_7 python3_3" RUBY_TARGETS="ruby20 ruby19" USERLAND="GNU" VIDEO_CARDS="nouveau" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account" Unset: CPPFLAGS, CTARGET, INSTALL_MASK, LC_ALL, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, SYNC, USE_PYTHON
Created attachment 396884 [details, diff] Attempt to fix overlay sorting
can you post the output of your `portageq repositories_configuration /` for me ?
/etc/portage/repos.conf/crossdev.conf --- [crossdev] location = /usr/local/portage/crossdev #priority = 1234 # hack back#540586 --- $ portageq repositories_configuration / [DEFAULT] auto-sync = yes main-repo = gentoo [alon-barlev] auto-sync = yes location = /usr/local/portage/alon-barlev-overlay masters = gentoo [alonbl-local] auto-sync = yes location = /usr/local/portage/local masters = gentoo [crossdev] auto-sync = yes location = /usr/local/portage/crossdev masters = gentoo [gentoo] auto-sync = yes location = /var/gentoo/portage masters = priority = -1000 sync-type = websync sync-uri = rsync://rsync.gentoo.org/gentoo-portage
I have exactly the same problem. I'm now also using the priority workaround after restoring my scala-overlay. [DEFAULT] auto-sync = yes main-repo = gentoo [crossdev] auto-sync = no location = /usr/local/crossdev_overlay masters = gentoo priority = 10 [gentoo] auto-sync = true location = /var/db/repos/gentoo masters = priority = -1000 sync-type = git sync-uri = https://github.com/gentoo-mirror/gentoo [gentoo-scala-tools] auto-sync = yes location = /usr/local/sbt_gentoo_overlay masters = gentoo sync-type = git sync-uri = http://github.com/whiter4bbit/overlays.git
After fixing this bug the documentation about the local crossdev overlay should be updated: https://wiki.gentoo.org/wiki/Overlay/Local_overlay#Crossdev
should be fixed by: https://gitweb.gentoo.org/proj/crossdev.git/commit/?id=b613790793b46ccc596e1dc28163ea865d508b65