Ticket #192 (closed defect: fixed)
checksumming throws exception if a file is missing at merge time
| Reported by: | Ford_Prefect | Owned by: | |
|---|---|---|---|
| Priority: | normal | Milestone: | 0.4.7.4 |
| Component: | pkgcore | Version: | 0.4.7.2 |
| Keywords: | Cc: |
Description
Traceback is at follows:
Traceback (most recent call last):
File "/usr/bin/pmerge", line 36, in <module>
commandline.main(subcommands)
File "/usr/lib/python2.5/site-packages/pkgcore/util/commandline.py", line 401, in main
exitstatus = main_func(options, out, err)
File "/usr/lib/python2.5/site-packages/pkgcore/scripts/pmerge.py", line 607, in main
ret = i.finish()
File "/usr/lib/python2.5/site-packages/snakeoil/dependant_methods.py", line 26, in ensure_deps
r = getattr(self, dep).raw_func(*a, **kw)
File "/usr/lib/python2.5/site-packages/pkgcore/interfaces/repo.py", line 255, in remove
unmerge_phase()
File "/usr/lib/python2.5/site-packages/pkgcore/merge/engine.py", line 288, in execute_hook
trigger(self, self.csets)
File "/usr/lib/python2.5/site-packages/pkgcore/merge/triggers.py", line 121, in call
return self.trigger(engine, *self._get_csets(required_csets, csets))
File "/usr/lib/python2.5/site-packages/pkgcore/ebuild/triggers.py", line 291, in trigger
if not simple_chksum_compare(recorded_ent, x):
File "/usr/lib/python2.5/site-packages/pkgcore/ebuild/triggers.py", line 138, in simple_chksum_compare
for k, v in x.chksums.iteritems():
File "/usr/lib/python2.5/site-packages/snakeoil/mappings.py", line 193, in <genexpr>
return ((k, self[k]) for k in self.iterkeys())
File "/usr/lib/python2.5/site-packages/snakeoil/mappings.py", line 220, in getitem
self._vals.update(self._val_func(self._keys))
File "/usr/lib/python2.5/site-packages/pkgcore/fs/fs.py", line 176, in _chksum_callback
return zip(chfs, get_chksums(self.data, *chfs))
File "/usr/lib/python2.5/site-packages/pkgcore/chksum/init.py", line 116, in get_chksums
return loop_over_file(location, *[handlers[k].new() for k in chksums])
File "/usr/lib/python2.5/site-packages/pkgcore/chksum/defaults.py", line 30, in loop_over_file
f = open(filename, 'rb', blocksize * 2)
IOError: [Errno 2] No such file or directory: '/etc/modules.d/alsa'
