1 |
Dear Brian, |
2 |
|
3 |
The function not implemented is "utime", is this a known bug ? |
4 |
|
5 |
# cat test.py |
6 |
import os,time |
7 |
f = 'foobar' |
8 |
a = file(f, "w") |
9 |
a.write("a") |
10 |
a.close() |
11 |
os.utime(f, (long(time.time()), long(time.time()))) |
12 |
|
13 |
# python test.py |
14 |
Traceback (most recent call last): |
15 |
File "test.py", line 7, in ? |
16 |
os.utime(f, (long(time.time()), long(time.time()))) |
17 |
OSError: [Errno 38] Function not implemented: 'foobar' |
18 |
|
19 |
|
20 |
[OUTPUT FROM THE GNAP CHROOT() SYSTEM] |
21 |
|
22 |
# emerge --info |
23 |
Portage 2.0.51.22-r3 (uclibc/x86/hardened, gcc-3.3.6, uclibc-0.9.27-r0, |
24 |
2.4.28-gentoo-r8 i686) |
25 |
================================================================= |
26 |
System uname: 2.4.28-gentoo-r8 i686 |
27 |
Gentoo Base System version 1.6.13 |
28 |
dev-lang/python: 2.3.4-r1, 2.4.2 |
29 |
sys-apps/sandbox: 1.2.12 |
30 |
sys-devel/autoconf: 2.13, 2.59-r6 |
31 |
sys-devel/automake: 1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r1 |
32 |
sys-devel/binutils: 2.15.92.0.2-r10 |
33 |
sys-devel/libtool: 1.5.20 |
34 |
virtual/os-headers: 2.6.11-r2 |
35 |
ACCEPT_KEYWORDS="x86" |
36 |
AUTOCLEAN="yes" |
37 |
CBUILD="i386-gentoo-linux-uclibc" |
38 |
CFLAGS="-Os -pipe" |
39 |
CHOST="i386-gentoo-linux-uclibc" |
40 |
CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3/share/config |
41 |
/usr/lib/X11/xkb /usr/share/config /var/qmail/control" |
42 |
CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d" |
43 |
CXXFLAGS="-Os -pipe" |
44 |
DISTDIR="/usr/portage/distfiles" |
45 |
FEATURES="autoconfig distlocks nodoc noinfo noman sandbox sfperms strict" |
46 |
GENTOO_MIRRORS="http://distfiles.gentoo.org |
47 |
http://distro.ibiblio.org/pub/Linux/distributions/gentoo" |
48 |
PKGDIR="/usr/portage/packages" |
49 |
PORTAGE_TMPDIR="/var/tmp" |
50 |
PORTDIR="/usr/portage" |
51 |
SYNC="rsync://rsync.gentoo.org/gentoo-portage" |
52 |
USE="x86 hardened ncurses perl pic python readline uclibc zlib userland_GNU |
53 |
kernel_linux elibc_uclibc" |
54 |
Unset: ASFLAGS, CTARGET, LANG, LC_ALL, LDFLAGS, LINGUAS, MAKEOPTS, |
55 |
PORTDIR_OVERLAY |
56 |
|
57 |
|
58 |
|
59 |
On 12/29/05, Brian Harring <ferringb@g.o> wrote: |
60 |
> |
61 |
> On Thu, Dec 29, 2005 at 10:35:12AM +0000, João Brázio wrote: |
62 |
> > On 12/29/05, Brian Harring <[1]ferringb@g.o> wrote: |
63 |
> > > On Thu, Dec 29, 2005 at 10:24:06AM +0000, Jo?o Br?zio wrote: |
64 |
> > > > Wel.. I've already tryed to chroot() into the grp-x86-20051228 and |
65 |
> > > > issued: |
66 |
> > > > # emerge portage |
67 |
> > > > Calculating dependencies |
68 |
> > > > |
69 |
> > > > !!! Problem in sys-apps/portage dependencies. |
70 |
> > > > !!! [Errno 38] Function not implemented: |
71 |
> > > > '/var/cache/edb/dep//usr/portage/sys-apps/.update.23778.portaege- |
72 |
> 2.0.53 |
73 |
> > > > ' exceptions |
74 |
> > > utime or rename offhand... |
75 |
> > Excuse me but what do you mean with "offhand" ? |
76 |
> |
77 |
> That name for a file is only created with a flat_list cache backend, |
78 |
> specifically when it's doing an update to an existing entry (kind of a |
79 |
> duh there considering the name, I know). |
80 |
> |
81 |
> The algo is roughly |
82 |
> f=open(tmp_update_entry) |
83 |
> write to it |
84 |
> close it |
85 |
> utime it (reset mtime) |
86 |
> rename(tmp_update_entry, update_entry) |
87 |
> |
88 |
> Hence the 'offhand'. Don't know if it's rename or utime that's not |
89 |
> defined- just know that those are the only two syscalls that could |
90 |
> sanely trigger that (failed update will trigger an unlink, but I'd be |
91 |
> amazed if that call was missing). |
92 |
> |
93 |
> ~harring |
94 |
> |
95 |
> |
96 |
> |
97 |
|
98 |
|
99 |
-- |
100 |
|
101 |
Cumprimentos, |
102 |
João Brázio. |