Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 205318 - portage-2.1.3.19 traceback on file collision w/ a directory
Summary: portage-2.1.3.19 traceback on file collision w/ a directory
Status: RESOLVED FIXED
Alias: None
Product: Portage Development
Classification: Unclassified
Component: Core - Interface (emerge) (show other bugs)
Hardware: All Linux
: High normal
Assignee: Portage team
URL:
Whiteboard:
Keywords: InVCS
Depends on:
Blocks: 200044
  Show dependency tree
 
Reported: 2008-01-11 12:48 UTC by Alan Hourihane
Modified: 2008-01-12 03:38 UTC (History)
1 user (show)

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


Attachments
handle the 'OSError: [Errno 20] Not a directory' (enotdir.patch,362 bytes, patch)
2008-01-11 23:13 UTC, Zac Medico
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Alan Hourihane 2008-01-11 12:48:09 UTC
With the new upgrade amavisd-new fails to install as it wants /var/amavis/quarantine to be a directory whereas on my system it's just a file that get's bigger so I can read it as a single file.

Error report below.

Reproducible: Always




>>> Install amavisd-new-2.5.2 into /var/tmp/portage/mail-filter/amavisd-new-2.5.2/image/ category mail-filter
>>> Completed installing amavisd-new-2.5.2 into /var/tmp/portage/mail-filter/amavisd-new-2.5.2/image/

Traceback (most recent call last):
  File "/usr/bin/emerge", line 6518, in ?
    retval = emerge_main()
  File "/usr/bin/emerge", line 6512, in emerge_main
    myopts, myaction, myfiles, spinner)
  File "/usr/bin/emerge", line 5971, in action_build
    retval = mergetask.merge(pkglist, favorites, mtimedb)
  File "/usr/bin/emerge", line 3849, in merge
    prev_mtimes=ldpath_mtimes)
  File "/usr/lib/portage/pym/portage.py", line 4352, in doebuild
    vartree=vartree, prev_mtimes=prev_mtimes)
  File "/usr/lib/portage/pym/portage.py", line 4543, in merge
    mydbapi=mydbapi, prev_mtimes=prev_mtimes)
  File "/usr/lib/portage/pym/portage.py", line 8820, in merge
    cleanup=cleanup, mydbapi=mydbapi, prev_mtimes=prev_mtimes)
  File "/usr/lib/portage/pym/portage.py", line 8197, in treewalk
    retval = self._security_check(others_in_slot)
  File "/usr/lib/portage/pym/portage.py", line 8079, in _security_check
    s = os.lstat(path)
OSError: [Errno 20] Not a directory: '/var/amavis/quarantine/.keep_mail-filter_amavisd-new-0'
Comment 1 Jakub Moc (RETIRED) gentoo-dev 2008-01-11 12:53:12 UTC
emerge --info please; this is not an ebuild bug.
Comment 2 Alan Hourihane 2008-01-11 13:13:05 UTC
Portage 2.1.3.19 (default-linux/x86/2007.0, gcc-4.1.2, glibc-2.6.1-r0, 2.6.23-gentoo-r3 i686)
=================================================================
System uname: 2.6.23-gentoo-r3 i686 Intel(R) Pentium(R) M processor 1.86GHz
Timestamp of tree: Fri, 11 Jan 2008 02:16:01 +0000
distcc 2.18.3 i686-pc-linux-gnu (protocols 1 and 2) (default port 3632) [enabled]
app-shells/bash:     3.2_p17-r1
dev-lang/python:     2.3.5-r3, 2.4.4-r6
dev-python/pycrypto: 2.0.1-r6
sys-apps/baselayout: 1.12.10-r5
sys-apps/sandbox:    1.2.18.1-r2
sys-devel/autoconf:  2.13, 2.61-r1
sys-devel/automake:  1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2, 1.10
sys-devel/binutils:  2.18-r1
sys-devel/gcc-config: 1.4.0-r4
sys-devel/libtool:   1.5.24
virtual/os-headers:  2.6.23-r3
ACCEPT_KEYWORDS="x86"
CBUILD="i686-pc-linux-gnu"
CFLAGS="-O2 -march=pentium4m -pipe"
CHOST="i686-pc-linux-gnu"
CONFIG_PROTECT="/etc"
CONFIG_PROTECT_MASK="/etc/env.d /etc/gconf /etc/php/apache2-php5/ext-active/ /etc/php/cgi-php5/ext-active/ /etc/php/cli-php5/ext-active/ /etc/revdep-rebuild /etc/terminfo /etc/udev/rules.d"
CXXFLAGS="-O2 -march=pentium4m -pipe"
DISTDIR="/usr/portage/distfiles"
FEATURES="ccache confcache distcc distlocks metadata-transfer sandbox sfperms strict unmerge-orphans userfetch"
GENTOO_MIRRORS="http://gentoo.blueyonder.co.uk"
MAKEOPTS="-j5"
PKGDIR="/usr/portage/packages"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --delete-after --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages --filter=H_**/files/digest-*"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/portage"
SYNC="rsync://server/gentoo-portage"
USE="acl apache2 berkdb bitmap-fonts cli cracklib crypt cups dri fortran gdbm gpm iconv isdnlog mailwrapper midi mmx mudflap mysql ncurses nls nptl nptlonly openmp pam pcre perl pic posix pppd python readline reflection server session spl sse sse2 ssl tcpd truetype-fonts type1-fonts unicode x86 xorg zlib" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1 emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="actions alias auth_basic auth_digest authn_anon authn_dbd authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache dav dav_fs dav_lock dbd deflate dir disk_cache env expires ext_filter file_cache filter headers ident imagemap include info log_config logio mem_cache mime mime_magic negotiation proxy proxy_ajp proxy_balancer proxy_connect proxy_http rewrite setenvif so speling status unique_id userdir usertrack vhost_alias" ELIBC="glibc" INPUT_DEVICES="keyboard mouse evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" USERLAND="GNU" VIDEO_CARDS="none"
Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LANG, LC_ALL, LDFLAGS, LINGUAS, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
Comment 3 Zac Medico gentoo-dev 2008-01-11 23:13:04 UTC
Created attachment 140744 [details, diff]
handle the 'OSError: [Errno 20] Not a directory'

If this patch is saved as /tmp/enotdir.patch then it can be applied as follows:

patch /usr/lib/portage/pym/portage.py /tmp/enotdir.patch
Comment 4 Zac Medico gentoo-dev 2008-01-12 03:38:09 UTC
This has been released in 2.1.4.