jmr wrote:
> Michal,
>
> I do not like the way you are catching the Runtime exceptions and
> parsing the error string to take specific actions. You need to work with
> Brock to get the appropriate Exceptions raised for permission denied and
> no defined authorities. This might be a problem getting it sorted for
> RC1.5 but it would be a lot more robust.
Hi John,
This is not nice IMHO either, but the fix is very important.
Most people will be switching to osol-re.sfbay while testing RC1.5, 
which means there is high risk the system will be broken.

I would put this to the gate as this fixes the problem and then for the 
RC2 I will work with Brock to fix the exceptions making changes in the 
underlying IPS.

New webrev with changes to remove code dup:

http://cr.opensolaris.org/~migi/12_10_2008_bug_4884_v4/

best
Michal


Agree
>
>
>   363      -                        except RuntimeError:
>        365 +                        except RuntimeError, ex:
>        366 +                                if "Permission denied" in str(ex):
>        367 +                                        # Do nothing
>        368 +                                        err = strt("Failed to 
> modify %s." % omn + \
>        369 +                                            "\nPlease check your 
> permissions.")
>        370 +                                        
> gobject.idle_add(self.__error_occured, err)
>        371 +                                        sel = None
>        372 +                                        selection = 
> self.w_repository_treeview.get_selection()
>        373 +                                        model, ite = 
> selection.get_selected()
>        374 +                                        if ite:
>        375 +                                                sel = 
> model.get_value(ite, 0)
>        376 +                                        
> self.__prepare_repository_list(False, sel)
>        377 +                                        return
>        378 +                                elif "no defined authorities" in 
> str(ex):
>        379 +                                        pass
>        380 +                                else:
>        381 +                                        err = str(ex)
>        382 +                                        
> gobject.idle_add(self.__error_occured, err)
>        383 +                                        sel = None
>        384 +                                        selection = 
> self.w_repository_treeview.get_selection()
>        385 +                                        model, ite = 
> selection.get_selected()
>        386 +                                        if ite:
>        387 +                                                sel = 
> model.get_value(ite, 0)
>        388 +                                        
> self.__prepare_repository_list(False, sel)
>        389 +                                        return
>
>
> This code is duplicated in several places 371, 381 and 403, should be a
> function, reset_repo_selection().
>
>        371 +                                        sel = None
>        372 +                                        selection = 
> self.w_repository_treeview.get_selection()
>        373 +                                        model, ite = 
> selection.get_selected()
>        374 +                                        if ite:
>        375 +                                                sel = 
> model.get_value(ite, 0)
>        376 +                                        
> self.__prepare_repository_list(False, sel)
>        377 +                                        return
>
>
> JR
>
> Michal Pryc wrote:
>> John,
>> I have made small change in the packagemanager.py to reflect your wishes :)
>>
>> http://cr.opensolaris.org/~migi/12_10_2008_bug_4884_v3
>>
>> best
>> Michal
>>
>> jmr wrote:
>>
>>> Michal - just testing this and when I change to osol-re I no longer get
>>> the crash, but on restart I now have no Categories. Looking at
>>> packagemanager.py 1515 I can see that the category file is expected to
>>> be the authority name and this does not exist in
>>> /usr/share/package-manager/data/osol-re, so no categories are loaded.
>>>
>>> If a repo delivered their own category file then this would work, but
>>> where one does not exist you should be falling back to use the
>>> opensolaris.og ones.
>>>
>>> I'll review the rest of the code.
>>>
>>> JR
>>>
>>>
>>> Michal Pryc wrote:
>>>
>>>> Hi,
>>>> http://cr.opensolaris.org/~migi/12_10_2008_bug_4884_v1/
>>>>
>>>> Basically we were not recovering properly from the situation when
>>>> there was only one repository and this repository was modified.
>>>>
>>>> best
>>>> Michal
>>>> _______________________________________________
>>>> pkg-discuss mailing list
>>>> [email protected]
>>>> http://mail.opensolaris.org/mailman/listinfo/pkg-discuss
>>>>
>> _______________________________________________
>> pkg-discuss mailing list
>> [email protected]
>> http://mail.opensolaris.org/mailman/listinfo/pkg-discuss
>>
>
> _______________________________________________
> pkg-discuss mailing list
> [email protected]
> http://mail.opensolaris.org/mailman/listinfo/pkg-discuss

_______________________________________________
pkg-discuss mailing list
[email protected]
http://mail.opensolaris.org/mailman/listinfo/pkg-discuss

Reply via email to