OK, I said I wasn't going to dig into the source, but since I found such an easy and specific fix, I had a go with it... and it WORKS! yay :)
root@ganesha:/usr/lib/python2.6/vendor-packages/pkg/client/transport# pkg history START OPERATION CLIENT OUTCOME [...] 2012-04-13T21:11:48 refresh-publishers pkg Succeeded 2012-04-13T21:11:48 install pkg Succeeded 2012-04-13T21:11:49 rebuild-image-catalogs pkg Succeeded 2012-04-13T21:16:25 install pkg Succeeded ... 2012-04-16T20:19:17 install pkg Succeeded 2012-05-08T16:55:00 refresh-publishers pkg Failed 2012-05-08T16:55:26 refresh-publishers pkg Failed 2012-05-08T18:52:36 refresh-publishers pkg Failed 2012-05-08T20:12:58 refresh-publishers pkg Failed 2012-05-09T09:33:31 refresh-publishers pkg Failed 2012-05-09T09:50:55 refresh-publishers pkg Failed 2012-05-09T10:09:20 refresh-publishers pkg Succeeded # applied patch to engine.py (see below) 2012-05-09T10:09:38 rebuild-image-catalogs pkg Succeeded root@ganesha:/usr/lib/python2.6/vendor-packages/pkg/client/transport# Here's the diff: root@ganesha:/usr/lib/python2.6/vendor-packages/pkg/client/transport# diff engine.py.org engine.py 779c779 < hdl.setopt(pycurl.URL, treq.url) --- > hdl.setopt(pycurl.URL, str(treq.url)) As noted, this may be an ugly work-around and perhaps not suitable for a long term solution, but for me as end-user... whatever makes it work is worth it. //Andreas 2012/5/9 Andreas Stenius <andreas.sten...@astekk.se>: > Found some more on this: > http://defect.opensolaris.org/bz/show_bug.cgi?id=13334 > and, > http://sourceforge.net/tracker/?func=detail&aid=1831680&group_id=28236&atid=392777 > > Since there seems to be an easy work-around (by wrapping the passed > url with a str() call), I'll have a go with that. > (I do have the _speedups.so in the simplejson vendor package for python 2.6). > > Perhaps this should've been on the oi-dev list? adding it to cc. > > 2012/5/9 Andreas Stenius <andreas.sten...@astekk.se>: >> A somewhat dated report, in a completely different environment, but >> still seems to strike some similarities that look right: >> http://java.net/jira/browse/UPDATECENTER2-1697?focusedCommentId=62748&page=com.atlassian.jira.plugin.system.issuetabpanels%3Acomment-tabpanel#action_62748 >> >> I'll try and re-set my publisher list and see if it makes a >> difference... as I'm not about to dig through pkg or pycurl sources at >> this time. >> >> //Andreas >> >> 2012/5/8 Andreas Stenius <andreas.sten...@astekk.se>: >>> Hi, >>> >>> It's been a few weeks since I used pkg on this box, but it worked last >>> time I used it. >>> >>> Now, all I get is some internal error. Any ideas what may be wrong >>> (and preferably, what to do about it)? >>> >>> >>> kaos@ganesha:~$ sudo pkg refresh >>> Password: >>> Refreshing catalog 1/3 openindiana.orgTraceback (most recent call last): >>> File "/bin/pkg", line 5954, in handle_errors >>> __ret = func(*args, **kwargs) >>> File "/bin/pkg", line 5932, in main_func >>> return func(api_inst, pargs) >>> File "/bin/pkg", line 3757, in publisher_refresh >>> return __refresh(api_inst, pargs, full_refresh=full_refresh) >>> File "/bin/pkg", line 3729, in __refresh >>> immediate=True, pubs=pubs) >>> File "/usr/lib/python2.6/vendor-packages/pkg/client/api.py", line >>> 2319, in refresh >>> pubs=pubs, immediate=immediate) >>> File "/usr/lib/python2.6/vendor-packages/pkg/client/api.py", line >>> 2343, in __refresh >>> progtrack=self.__progresstracker) >>> File "/usr/lib/python2.6/vendor-packages/pkg/client/image.py", line >>> 3196, in refresh_publishers >>> immediate=immediate): >>> File "/usr/lib/python2.6/vendor-packages/pkg/client/publisher.py", >>> line 1860, in refresh >>> return self.__refresh(True, True) >>> File "/usr/lib/python2.6/vendor-packages/pkg/client/publisher.py", >>> line 1796, in __refresh >>> full_refresh, immediate, mismatched, origin) >>> File "/usr/lib/python2.6/vendor-packages/pkg/client/publisher.py", >>> line 1751, in __refresh_origin >>> full_refresh, immediate, mismatched, repo) >>> File "/usr/lib/python2.6/vendor-packages/pkg/client/publisher.py", >>> line 1670, in __refresh_v1 >>> revalidate=revalidate, alt_repo=repo) >>> File >>> "/usr/lib/python2.6/vendor-packages/pkg/client/transport/transport.py", >>> line 432, in wrapper >>> return f(instance, *fargs, **f_kwargs) >>> File >>> "/usr/lib/python2.6/vendor-packages/pkg/client/transport/transport.py", >>> line 815, in get_catalog1 >>> revalidate=revalidate) >>> File "/usr/lib/python2.6/vendor-packages/pkg/client/transport/repo.py", >>> line 453, in get_catalog1 >>> self._engine.run() >>> File "/usr/lib/python2.6/vendor-packages/pkg/client/transport/engine.py", >>> line 573, in run >>> self.__setup_handle(eh, t) >>> File "/usr/lib/python2.6/vendor-packages/pkg/client/transport/engine.py", >>> line 779, in __setup_handle >>> hdl.setopt(pycurl.URL, treq.url) >>> TypeError: invalid arguments to setopt >>> >>> >>> pkg: This is an internal error in pkg(5) version 5d2771134f21+. Please log >>> a >>> Service Request about this issue including the information above and this >>> message. >>> >>> kaos@ganesha:~$ uname -a >>> SunOS ganesha 5.11 oi_151a3 i86pc i386 i86pc Solaris >>> >>> >>> Thanks in advance, >>> Andreas _______________________________________________ oi-dev mailing list oi-dev@openindiana.org http://openindiana.org/mailman/listinfo/oi-dev