Index: toolchain-funcs.eclass =================================================================== RCS file: /var/cvsroot/gentoo-x86/eclass/toolchain-funcs.eclass,v retrieving revision 1.131 diff -u -B -r1.131 toolchain-funcs.eclass --- toolchain-funcs.eclass 1 Nov 2014 05:19:20 -0000 1.131 +++ toolchain-funcs.eclass 20 Jan 2015 17:22:38 -0000 @@ -640,12 +640,29 @@ tc-is-static-only && return # Eventually we'd like to get rid of this func completely #417451 - case ${CTARGET:-${CHOST}} in - *-darwin*) ;; - *linux*|*-freebsd*|*-openbsd*|*-netbsd*) - use prefix && return 0 ;; - *) return 0 ;; - esac + if [[ -z ${GENTOO_ENABLE_SPLIT_USR} ]] ; then + case ${CTARGET:-${CHOST}} in + *-darwin*) GENTOO_ENABLE_SPLIT_USR='yes' ;; + *-freebsd*|*-openbsd*|*-netbsd*) + use prefix || GENTOO_ENABLE_SPLIT_USR='yes' ;; + *Linux*) + # Do a sanity check on users to see if they have a split-/usr. + # If so, for now, we warn & still do this stuff. + # The ROOT hack isn't entirely correct, but we don't really care. + # If you're deploying binpkgs, you can sort it out yourself. + if [[ ${ROOT} == "/" && $(stat -c %d /) != "$(stat -c %d /usr)" ]]; then + ewarn "You have a /usr mount point, but have not set GENTOO_ENABLE_SPLIT_USR=yes" + ewarn "in your make.conf. Please do so now as future builds will stop setting" + ewarn "this for you automatically and your system might stop booting." + ewarn "See http://bugs.gentoo.org/417451 for more details." + GENTOO_ENABLE_SPLIT_USR='yes' + fi + ;; + esac + fi + if [[ ${GENTOO_ENABLE_SPLIT_USR} != "yes" ]] ; then + return 0 + fi # Just make sure it exists dodir /usr/${libdir}