Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 100478 - when emerge sync to cvs.gentoo.org fails it causes everything in /usr to be moved to /usr/portage/usr
Summary: when emerge sync to cvs.gentoo.org fails it causes everything in /usr to be m...
Status: RESOLVED FIXED
Alias: None
Product: Portage Development
Classification: Unclassified
Component: Core - Interface (emerge) (show other bugs)
Hardware: All Linux
: High critical (vote)
Assignee: Portage team
URL:
Whiteboard:
Keywords: InVCS
Depends on:
Blocks: 147007
  Show dependency tree
 
Reported: 2005-07-27 08:57 UTC by Petteri Räty (RETIRED)
Modified: 2006-11-11 18:02 UTC (History)
0 users

See Also:
Package list:
Runtime testing required: ---


Attachments
portage-2.0.51.22-syncuri-cvs-move-portdir.patch (portage-2.0.51.22-syncuri-cvs-move-portdir.patch,534 bytes, patch)
2005-07-28 20:42 UTC, Zac Medico
Details | Diff
add post_sync support and fix initial cvs checkout directory rename (cvs_sync.patch,2.02 KB, patch)
2006-11-11 06:06 UTC, Zac Medico
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Petteri Räty (RETIRED) gentoo-dev 2005-07-27 08:57:45 UTC
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"
Comment 1 Zac Medico gentoo-dev 2005-07-28 20:42:58 UTC
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.
Comment 2 Zac Medico gentoo-dev 2006-11-11 06:06:51 UTC
Created attachment 101675 [details, diff]
add post_sync support and fix initial cvs checkout directory rename

This is fixed in trunk r5006.
Comment 3 Zac Medico gentoo-dev 2006-11-11 18:02:29 UTC
This has been released in 2.1.2_rc1-r6.