1 |
Easily reproducable. It happens when trying to emerge a binary package that |
2 |
doesn't exist in PORTDIR. doebuild defaults to doing EAPI checks against |
3 |
"portdir" which breaks in this case. |
4 |
|
5 |
# emerge -K app-admin/addpatches |
6 |
Calculating dependencies ...done! |
7 |
>>> emerge (1 of 1) app-admin/addpatches-0.2 to / |
8 |
>>> extracting info |
9 |
/usr/lib/portage/bin/ebuild.sh: line |
10 |
1777: /mnt/archive/gentoo/rsync/app-admin/a |
11 |
ddpatches/addpatches-0.2.ebuild: そのようなファイルやディレクトリはありません |
12 |
|
13 |
!!! ERROR: app-admin/addpatches-0.2 failed. |
14 |
!!! Function , Line 1777, Exitcode 1 |
15 |
!!! error sourcing ebuild |
16 |
!!! If you need support, post the topmost build error, NOT this status |
17 |
message. |
18 |
|
19 |
>>> extracting addpatches-0.2 |
20 |
>>> Merging app-admin/addpatches-0.2 to / |
21 |
!!! aux_get(): ebuild path for 'app-admin/addpatches-0.2' not specified: |
22 |
!!! None |
23 |
!!! aux_get(): ebuild path for 'app-admin/addpatches-0.2' not specified: |
24 |
!!! None |
25 |
Traceback (most recent call last): |
26 |
File "/usr/bin/emerge", line 3218, in ? |
27 |
mydepgraph.merge(pkglist) |
28 |
File "/usr/bin/emerge", line 1922, in merge |
29 |
retval=portage.pkgmerge(mytbz2,x[1],self.pkgsettings) |
30 |
File "/usr/lib/portage/pym/portage.py", line 7078, in pkgmerge |
31 |
mylink.merge(pkgloc,infloc,myroot,myebuild,cleanup=1) |
32 |
File "/usr/lib/portage/pym/portage.py", line 6979, in merge |
33 |
return self.treewalk(mergeroot,myroot,inforoot,myebuild,cleanup=cleanup) |
34 |
File "/usr/lib/portage/pym/portage.py", line 6544, in treewalk |
35 |
|
36 |
a=doebuild(myebuild,"preinst",root,self.settings,cleanup=cleanup,use_cache=0 ) |
37 |
File "/usr/lib/portage/pym/portage.py", line 2431, in doebuild |
38 |
eapi = db[root][tree].dbapi.aux_get(mycpv, ["EAPI"])[0] |
39 |
File "/usr/lib/portage/pym/portage.py", line 5277, in aux_get |
40 |
raise KeyError, "'%(cpv)s' at %(path)s" % {"cpv":mycpv,"path":myebuild} |
41 |
KeyError: "'app-admin/addpatches-0.2' at None" |
42 |
|
43 |
|
44 |
I've attached a quickly thrown together patch for it, which works here, but we |
45 |
really need to get this whole thing down pat. Perhaps usage of doebuild |
46 |
without specifying tree should be deprecated and the code audited for any |
47 |
usage without it? Making tree a keyword parameter will break too many |
48 |
external things so that's not really an option... |
49 |
|
50 |
-- |
51 |
Jason Stubbs |