Following http://www.gentoo.org/proj/en/devrel/handbook/handbook.xml?part=1&chap=4#doc_chap1 I decided to test emerge sync from cvs. However I don't yet have ssh access to cvs.gentoo.org. This cause everything in /usr to be moved to /usr/portage/usr. Here is the output: pena betelgeuse # emerge sync --- 'profiles/arch.list' is empty or not available. Empty portage tree? >>> starting initial cvs checkout with cvs://betelgeuse@cvs.gentoo.org:/var/cvsroot... cvs login: can only use `login' command with the 'pserver' method cvs [login aborted]: CVSROOT: betelgeuse@cvs.gentoo.org:/var/cvsroot Permission denied (publickey). cvs [checkout aborted]: end of file from server (consult above messages if any) !!! Failed to move special file: !!! '/usr' to '/usr/portage' !!! (256, "/bin/mv: cannot move `/usr' to a subdirectory of itself, `/usr/portage/usr'") pena betelgeuse # Reproducible: Always Steps to Reproduce: 1. emerge sync following the guide and so that it fails to get access to the server Expected Results: It should not move the subdirectories in /usr/ in any case. pena betelgeuse # emerge info --- 'profiles/arch.list' is empty or not available. Empty portage tree? Portage 2.0.51.22-r2 (default-linux/x86/2005.0, gcc-3.4.4, unavailable, 2.6.12-gentoo-r6 i686) ================================================================= System uname: 2.6.12-gentoo-r6 i686 Intel(R) Pentium(R) 4 CPU 2.40GHz Gentoo Base System version 1.12.0_pre2 distcc 2.18.3 i686-pc-linux-gnu (protocols 1 and 2) (default port 3632) [disabled] ccache version 2.4 [enabled] dev-lang/python: 2.4.1-r1 sys-devel/autoconf: 2.13, 2.59-r7 sys-devel/automake: 1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6 sys-devel/binutils: 2.16.1 sys-devel/libtool: 1.5.18-r1 virtual/os-headers: [Not Present] ACCEPT_KEYWORDS="~x86" CFLAGS="-O3 -march=pentium4 -pipe -mfpmath=sse -ffast-math -fomit-frame-pointer" CHOST="i686-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/kde/3.4/env /usr/kde/3.4/share/config /usr/kde/3.4/shutdown /usr/lib/X11/xkb /usr/share/config" CONFIG_PROTECT_MASK="/etc/gconf /etc/init.d /etc/splash /etc/terminfo /etc/env.d" CXXFLAGS="-O3 -march=pentium4 -pipe -mfpmath=sse -ffast-math -fomit-frame-pointer" DISTDIR="/usr/src/distfiles" FEATURES="ccache cvs distlocks fixpackages noauto sandbox" GENTOO_MIRRORS=" http://trumpetti.atm.tut.fi/gentoo http://lame.lut.fi/linux/gentoo " PKGDIR="/home/pkg/" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/local/overlays/betelgeuse /usr/local/overlays/gentoo-java-experimental /usr/local/overlays/gentopia" SYNC="cvs://betelgeuse@cvs.gentoo.org:/var/cvsroot" USE="aac acl acpi audiofile bash-completion browserplugin bzip2 bzlib cdb cddb cdparanoia dbus divx4linux dts dvd dvdr dvdread esd freetype gcj hal java kdeenablefinal kdexdeltas logitech-mouse lzo makecheck mjpeg mmx mmx2 network nptl nptlonly nvidia offensive ogg real rtc samba slp sse sse2 subversion svg symlink theora unicode usb userlocales win32codecs xml xvid"
Created attachment 64589 [details, diff] portage-2.0.51.22-syncuri-cvs-move-portdir.patch This should be reproducible whenever syncuri starts with "cvs://" and myportdir+"/CVS" does not exist. First it does cvsdir=os.path.dirname(myportdir) and then later it does portage.movefile(cvsdir,myportdir) for no logical reason.
Created attachment 101675 [details, diff] add post_sync support and fix initial cvs checkout directory rename This is fixed in trunk r5006.
This has been released in 2.1.2_rc1-r6.