Hi Danek,
thanks for reply.
I am afraid that I don't know how to find corrupted manifest.
ggrep -R "ris.org$" /var/pkg/pkg
gives me pretty long output. It seems to be ok.
Yeah. I don't see anything there. I forgot about all the noise you'd see
there even in good manifests; sorry about that.
I don't understand how you mean this second (faster) option.
Can you explain it little bit more?
The command that's failing is "pkg rebuild-index". So run
truss pkg rebuild-index
and, close to the end of the output, you should see it trying to open a
manifest file. You might run
truss -t open pkg rebuild-index
to see just the open calls; that ought to be enough to figure out what file
is the problematic one.
Danek
I have found which package has corrupted manifest.
Indexing Packages
191/558open64("/var/pkg/pkg/SUNWlibpopt/0.5.11%2C5.11-0.106%3A20090131T184624Z/manifest",
O_RDONLY) = 5
open64("/var/pkg/pkg/SUNWfcprt/0.5.11%2C5.11-0.106%3A20090131T180222Z/manifest",
O_RDONLY) = 4
open64("/var/pkg/pkg/SUNWaudd/0.5.11%2C5.11-0.106%3A20090131T175105Z/manifest",
O_RDONLY) = 5
open64("/var/pkg/pkg/SUNWibsdpu/0.5.11%2C5.11-0.106%3A20090131T183203Z/manifest",
O_RDONLY) = 4
open64("/var/pkg/pkg/SUNWgnome-l10nmessages-zhTW/0.5.11%2C5.11-0.106%3A20090131T182146Z/manifest",
O_RDONLY) = 5
open64("/var/pkg/pkg/SUNWghostscript/8.63%2C5.11-0.106%3A20090131T180802Z/manifest",
O_RDONLY) = 4
Indexing Packages
197/558open64("/var/pkg/pkg/SUNWPython/2.4.4%2C5.11-0.106%3A20090131T174658Z/manifest",
O_RDONLY) = 5
open64("/var/pkg/history/20090212T181943Z-01.xml", O_WRONLY|O_CREAT|O_EXCL,
0777) = 4
Traceback (most recent call last):
File "/usr/bin/pkg", line 2259, in ?
open64("/usr/bin/pkg", O_RDONLY) = 4
__ret = main_func()
File "/usr/bin/pkg", line 2245, in main_func
return rebuild_index(img, pargs)
File "/usr/bin/pkg", line 1984, in rebuild_index
img.rebuild_search_index(get_tracker(quiet))
File "/usr/lib/python2.4/vendor-packages/pkg/client/image.py", line 2672, in
rebuild_search_index
open64("/usr/lib/python2.4/vendor-packages/pkg/client/image.py", O_RDONLY) = 4
ind.rebuild_index_from_scratch(self.get_fmri_manifest_pairs())
File "/usr/lib/python2.4/vendor-packages/pkg/indexer.py", line 731, in
rebuild_index_from_scratch
open64("/usr/lib/python2.4/vendor-packages/pkg/indexer.py", O_RDONLY) = 4
IDX_INPUT_TYPE_FMRI, tmp_index_dir)
File "/usr/lib/python2.4/vendor-packages/pkg/indexer.py", line 641, in
_generic_update_index
(more_to_do, start_point, dicts) = \
File "/usr/lib/python2.4/vendor-packages/pkg/indexer.py", line 412, in
_process_fmri_manifest_list
mfst.set_content(mfst_file.read())
File "/usr/lib/python2.4/vendor-packages/pkg/manifest.py", line 308, in
set_content
open64("/usr/lib/python2.4/vendor-packages/pkg/manifest.py", O_RDONLY) = 4
action = actions.fromstr(l)
File "/usr/lib/python2.4/vendor-packages/pkg/actions/__init__.py", line 119,
in fromstr
open64("/usr/lib/python2.4/vendor-packages/pkg/actions/__init__.py", O_RDONLY)
= 4
type, hash, attr_dict = _fromstr(string)
MalformedActionError: Malformed action: no attributes at position 7:
ris.org
^
197th indexing package is SUNWPython.
Should I remove manifest for this package?
sh-3.2# mv
/var/pkg/pkg/SUNWPython/2.4.4%2C5.11-0.106%3A20090131T174658Z/manifest
/var/pkg/pkg/SUNWPython/2.4.4%2C5.11-0.106%3A20090131T174658Z/manifest-bak
sh-3.2# pkg rebuild-index
PHASE ITEMS
Indexing Packages 197/558Traceback (most recent call
last):
File "/usr/bin/pkg", line 2259, in ?
__ret = main_func()
File "/usr/bin/pkg", line 2245, in main_func
return rebuild_index(img, pargs)
File "/usr/bin/pkg", line 1984, in rebuild_index
img.rebuild_search_index(get_tracker(quiet))
File "/usr/lib/python2.4/vendor-packages/pkg/client/image.py", line 2672, in
rebuild_search_index
ind.rebuild_index_from_scratch(self.get_fmri_manifest_pairs())
File "/usr/lib/python2.4/vendor-packages/pkg/indexer.py", line 731, in
rebuild_index_from_scratch
IDX_INPUT_TYPE_FMRI, tmp_index_dir)
File "/usr/lib/python2.4/vendor-packages/pkg/indexer.py", line 641, in
_generic_update_index
(more_to_do, start_point, dicts) = \
File "/usr/lib/python2.4/vendor-packages/pkg/indexer.py", line 411, in
_process_fmri_manifest_list
mfst_file = file(manifest_path)
IOError: [Errno 2] No such file or directory:
'/var/pkg/pkg/SUNWPython/2.4.4%2C5.11-0.106%3A20090131T174658Z/manifest'
_______________________________________________
pkg-discuss mailing list
[email protected]
http://mail.opensolaris.org/mailman/listinfo/pkg-discuss