Michal Pryc wrote: > 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. Ok given where we are and the risk the bug poses if its not fixed I'm happy with this proposal - Danek and Broc what's your take on it? This will need to land in the next few hours if its to make RC 1.5.
As long as a follow up fix goes in before RC2 for the exceptions we should be ok. JR > > 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
