lrwxrwxrwx 1 solar solar 18 Aug 12 16:15 /var/tmp/portage -> /space/portage-tmp -------------------------------------------------------------------------------- emerge gcc-3.4.1-r2.ebuild Calculating dependencies ...done! >>> emerge (1 of 2) sys-devel/gcc-3.4.1-r2 to / Traceback (most recent call last): File "/usr/bin/emerge", line 2735, in ? mydepgraph.merge(mydepgraph.altlist()) File "/usr/bin/emerge", line 1633, in merge retval=portage.doebuild(y,"clean",myroot,self.pkgsettings,edebug,cleanup=1) File "/usr/lib/portage/pym/portage.py", line 2587, in doebuild os.makedirs(mysettings["T"]) File "/usr/lib/python2.3/os.py", line 153, in makedirs makedirs(head, mode) File "/usr/lib/python2.3/os.py", line 153, in makedirs makedirs(head, mode) File "/usr/lib/python2.3/os.py", line 154, in makedirs mkdir(name, mode) OSError: [Errno 17] File exists: '/var/tmp/portage' -------------------------------------------------------------------------------- Yes I know I can redefine the $variable, but I think this behavior is somewhat undesired. So if there is an easy fix please add it :)
10:43PM <carpaski> Do you know how many people I 'corrected' about that bug? 10:43PM <carpaski> Don't use symlinks... ------------------------------------------------------------------------------ Guess that settles this one.
Yes, but it CAN be fixed.. Brian, why haven't you fixed it yet? :P
Jstubbs are you sure of this? In some of our testing it seemed as if the python implementation of mkdirs() would fail if symlinks were involved. Thus why I closed it as cantfix.
So why not check if the path already exists instead of blindly attempting to create it (even if the creating function *should* not fail)?
Show me the CODE!
Something's not working right somewhere.. NEEDINFO!!! bash-2.05b$ mkdir test2 bash-2.05b$ ln -s test2 test1 bash-2.05b$ python -c 'import os; os.makedirs("/home/jason/test1/make/dirs/test")' bash-2.05b$ find test1 test1 bash-2.05b$ find test2 test2 test2/make test2/make/dirs test2/make/dirs/test
Portage 20040626 (hardened/x86, gcc-3.4.1, glibc-2.3.4.20040808-r0, 2.4.27-grsec-2.0.1 i686) ================================================================= System uname: 2.4.27-grsec-2.0.1 i686 Intel(R) Pentium(R) 4 CPU 1400MHz Gentoo Base System version 1.4.16 ccache version 2.3 [enabled] Autoconf: sys-devel/autoconf-2.59-r3 Automake: sys-devel/automake-1.8.5 Binutils: sys-devel/binutils-2.15.90.0.1.1-r3 Headers: sys-kernel/linux-headers-2.4.21 Libtools: sys-devel/libtool-1.5.2-r5 ACCEPT_KEYWORDS="x86 ~x86" AUTOCLEAN="yes" CFLAGS="-march=i686 -Os -pipe -fforce-addr -fomit-frame-pointer -Wformat=2 " CHOST="i686-pc-linux-gnu" COMPILER="" CONFIG_PROTECT="/etc /usr/X11R6/lib/X11/xkb /usr/kde/2/share/config /usr/kde/3/share/config /usr/lib/mozilla/defaults/pref /usr/share/config /usr/share/texmf/dvipdfm/config/ /usr/share/texmf/dvips/config/ /usr/share/texmf/tex/generic/config/ /usr/share/texmf/tex/platex/config/ /usr/share/texmf/xdvi/ /var/qmail/control" CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d" CXXFLAGS="-march=i686 -Os -pipe -fforce-addr -fomit-frame-pointer -Wformat=2 " DISTDIR="/usr/portage/distfiles" FEATURES="autoconfig buildpkg ccache clean cvs noauto noautoaddcvs nodoc noinfo sandbox sfperms strict strip usersandbox" GENTOO_MIRRORS="http://open-systems.ufl.edu/mirrors/gentoo ftp://ftp.gtlib.cc.gatech.edu/pub/gentoo http://mirror.tucdemonic.org/gentoo/" MAKEOPTS="-j2" PKGDIR="/usr/portage//packages/x86/" PORTAGE_TMPDIR="/space/portage-tmp/" PORTDIR="/var/cvsroot/gentoo-x86/" PORTDIR_OVERLAY="" SYNC="rsync://192.168.1.1/gentoo-portage" USE="3dfx X aalib avi berkdb bonobo cdr crypt esd evo gd gdbm gnome gnomedb gpm gtkhtml guile hardened imlib justify libwww motif mozilla moznocompose moznoirc moznomail mozxmlterm mpeg multitarget mysql nogcj oggvorbis opengl pam perl pic pie png python readline sdl slang snmp spell ssl svga tcpd tetex tiff ungif voodoo3 x86 xinerama zlib" ------------------------------------------------------------------------------- ls -l /var/tmp/portage -d lrwxrwxrwx 1 root root 18 Aug 12 16:15 /var/tmp/portage -> /space/portage-tmp ------------------------------------------------------------------------------- So I comment out the PORTAGE_TMPDIR in my make.conf and attempt to emerge a really fast compile. (chpax/paxctl/beep|| whatever) new and interesting behavior.. ACCESS DENIED mkdir: /space/portage-tmp/chpax-0.7/work install: cannot create directory `/var/tmp/portage/chpax-0.7/work': Permission denied !!! ERROR: sys-apps/chpax-0.7 failed. !!! Function dyn_unpack, Line 627, Exitcode 1 !!! Failed to create dir '/var/tmp/portage/chpax-0.7/work' !!! If you need support, post the topmost build error, NOT this status message. --------------------------- ACCESS VIOLATION SUMMARY --------------------------- LOG FILE = "/tmp/sandbox-sys-apps_-_chpax-0.7-26116.log" mkdir: /space/portage-tmp/chpax-0.7/work -------------------------------------------------------------------------------- redefine the PORTAGE_TMPDIR and it goes away.. What's odd now is I can't reproduce the orig bug only rhe above.. (And no I'm not crazy I'm just using portage-cvs!)