Dear Brian,
 
The function not implemented is "utime", is this a known bug ?
 
# cat test.py
import os,time
f = 'foobar'
a = file(f, "w")
a.write("a")
a.close()
os.utime(f, (long(time.time()), long(time.time())))
 
# python test.py
Traceback (most recent call last):
  File "test.py", line 7, in ?
    os.utime(f, (long(time.time()), long(time.time())))
OSError: [Errno 38] Function not implemented: 'foobar'
 
 
[OUTPUT FROM THE GNAP CHROOT() SYSTEM]
 
# emerge --info
Portage 2.0.51.22-r3 (uclibc/x86/hardened, gcc-3.3.6, uclibc-0.9.27-r0, 2.4.28-gentoo-r8 i686)
=================================================================
System uname: 2.4.28-gentoo-r8 i686
Gentoo Base System version 1.6.13
dev-lang/python:     2.3.4-r1, 2.4.2
sys-apps/sandbox:    1.2.12
sys-devel/autoconf:  2.13, 2.59-r6
sys-devel/automake:  1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r1
sys-devel/binutils:  2.15.92.0.2-r10
sys-devel/libtool:   1.5.20
virtual/os-headers:  2.6.11-r2
ACCEPT_KEYWORDS="x86"
AUTOCLEAN="yes"
CBUILD="i386-gentoo-linux-uclibc"
CFLAGS="-Os -pipe"
CHOST="i386-gentoo-linux-uclibc"
CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3/share/config /usr/lib/X11/xkb /usr/share/config /var/qmail/control"
CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d"
CXXFLAGS="-Os -pipe"
DISTDIR="/usr/portage/distfiles"
FEATURES="autoconfig distlocks nodoc noinfo noman sandbox sfperms strict"
GENTOO_MIRRORS=" http://distfiles.gentoo.org http://distro.ibiblio.org/pub/Linux/distributions/gentoo"
PKGDIR="/usr/portage/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="x86 hardened ncurses perl pic python readline uclibc zlib userland_GNU kernel_linux elibc_uclibc"
Unset:  ASFLAGS, CTARGET, LANG, LC_ALL, LDFLAGS, LINGUAS, MAKEOPTS, PORTDIR_OVERLAY


 
On 12/29/05, Brian Harring <ferringb@gentoo.org> wrote:
On Thu, Dec 29, 2005 at 10:35:12AM +0000, Joăo Brázio wrote:
> On 12/29/05, Brian Harring <[1]ferringb@ gentoo.org> wrote:
> > On Thu, Dec 29, 2005 at 10:24:06AM +0000, Jo?o Br?zio wrote:
> > > Wel.. I've already tryed to chroot() into the grp-x86-20051228 and
> > > issued:
> > > # emerge portage
> > > Calculating dependencies
> > >
> > > !!! Problem in sys-apps/portage dependencies.
> > > !!! [Errno 38] Function not implemented:
> > > '/var/cache/edb/dep//usr/portage/sys-apps/.update.23778.portaege-2.0.53
> > > ' exceptions
> > utime or rename offhand...
> Excuse me but what do you mean with "offhand" ?

That name for a file is only created with a flat_list cache backend,
specifically when it's doing an update to an existing entry (kind of a
duh there considering the name, I know).

The algo is roughly
f=open(tmp_update_entry)
write to it
close it
utime it (reset mtime)
rename(tmp_update_entry, update_entry)

Hence the 'offhand'.  Don't know if it's rename or utime that's not
defined- just know that those are the only two syscalls that could
sanely trigger that (failed update will trigger an unlink, but I'd be
amazed if that call was missing).

~harring





--

Cumprimentos,
Joăo Brázio.