Starting after an rsync this morning, 5.2.2002, emerge update halts with these messages: # emerge update Calculating system dependencies !!! Name error in m: category or package part missing. Traceback (most recent call last): File "/usr/sbin/emerge", line 790, in ? mydepgraph.syscreate(mylines) File "/usr/sbin/emerge", line 267, in syscreate self.create(self.match(myline,mykey="update (likely old /var/db/pkg entry)")) File "/usr/sbin/emerge", line 270, in match myeb=self.db[portage.root]["porttree"].dep_bestmatch(mydep) File "/usr/lib/python2.0/site-packages/portage.py", line 1590, in dep_bestmatch if not self.hasnode(mykey): File "/usr/lib/python2.0/site-packages/portage.py", line 1360, in hasnode self.populate() File "/usr/lib/python2.0/site-packages/portage.py", line 1850, in populate self.zap(y) File "/usr/lib/python2.0/site-packages/portage.py", line 1291, in zap mykey=cps[0]+"/"+cps[1] TypeError: unsubscriptable object I've been doing daily rsyncs followed by emerge --world update, and everything has been working great until just now. Anyone else seen this?
emerge update? What version of portage are you using? The latest versions of portage use 'emerge --update ...' syntax. Try upgrading to the latest portage. If any emerge gives you that error, report that (I saw at least one complaint on the mailing lists -- or was that you?), and we will change the bug summary to something more descriptive.
Judging from /var/db/pkg it was 1.8.8 until now. I downloaded portage-rescue-1.8.19.tbz2 from a mirror and installed it per instructions, the did emerge rsync. Now I get this: # emerge sys-apps/portage Calculating dependencies !!! Couldn't find match for sys-apps/portage; aborting. # emerge /usr/portage/sys-apps/portage/portage-1.9.5-r1.ebuild Calculating dependencies \ !!! ebuild sys-apps/portage-1.9.5-r1 not found (possibly blocked by package.mask) As a test I tried this: # emerge media-gfx/gnome-iconedit Calculating dependencies \Traceback (most recent call last): File "/usr/bin/emerge", line 1309, in ? mydepgraph.create(mytype+" "+portage.root+" "+mykey,None,"--onlydeps" not in myopts) File "/usr/bin/emerge", line 400, in create mydb=open(mydbkey,"r") IOError: [Errno 2] No such file or directory: '/var/cache/edb/dep/dep-gnome-iconedit-1.2.0-r5.ebuild' I have no /var/cache directory. Anything I can do to synchronize myself with where I should be?
I just did an emerge rsync on my other gentoo box with exactly the same result, so it's not just a fluke. No new packages merged, nothing else changed--just 'emerge rsync' and I have a useless portage system on two different machines now. Any package I try to emerge gets exactly the same errors as I stated in the initial bug report. BTW, should I have a /var/cache directory, and if so, where does it come from? Is it created by recent versions of portage? I un-tarred portage-1.9.5 in the /usr/lib directory and made the symlink in /usr/bin to point to it. I can use it to rsync but anything else I try to use it for will give me errors about missing files in /var/cache/...and I have no /var/cache directory. The only place I have portage info is in /var/db/pkg. Is this where it ought to be, considering I'm not trying to be a developer and I'm using portage 1.8.8-r1 according to what I see in /var/db/pkg/sys-apps/portage-1.8.8-r1? Thanks for any ideas.
I have the same error. This has appeared on 3 different 1.0-rcX boxes. On two boxes (Hal, Holly) I run a cron job to rsync at 4AM, after the 5-2 rsync the errors appeared. I had not installed any new packages. I was able to produce the same results on a third box (bear). I reversed the errors by restoring to an old backup on Holly (just a test box). Hal and Bear still have this issue. -- jbw
Here's my workaround: first I did what it said in /usr/portage/sys-apps/portage/files/README.RESCUE to "restore" portage-1.8.19, even though I was running only 1.8.8. This got me a bit further, but I kept seeing errors about missing files in /var/cache/edb/dep. I finally just created /var/cache/edb/dep by hand, since I had no /var/cache subdirectory. That seems to have rid me of that particular problem, and I just managed to rebuild some packages that I accidently "pruned" when testing the new emerge. Seems that without a 'world' database in my new /var/cache directory it 'pruned' almost everything I'd installed previously :-( However--onward and upward. The real problem is that I had no upgrade path for portage itself and had to do a 'rescue' operation without knowing how to do it. I hope I'm back on track now.
This has been fixed. It was due to ~ deps in /usr/portage/profile/package.mask, which was breaking Portage 1.8.8. If you temporarily comment out the lines beginning with ~ in this file, you'll then be able to upgrade Portage to a version that doesn't have this problem. The ~ deps were an error anyway, and they've been fixed on cvs/rsync.