Hi Hongxu, On Friday 26 September 2014 19:36:02 Hongxu Jia wrote: > Paul's patch added checking in smart to ignore failed install with --attempt > ... > commit e9c1191da4f84c9743b053e7030ab28b48f57c44 > Author: Paul Eggleton <[email protected]> > Date: Thu Feb 6 13:39:01 2014 +0000 > > python-smartpm: really ignore conflicts during install with --attempt > ... > > But if the failure is generated by rpm which smart doesn't resolve, we check > the output of smart, filter the failed packages, and attempt to install the > rest. > > Here is an example, assume there are two packages which have identical file > name but different content, that cause confliction. If we install one > without --attempt, after it installed and install another with --attempt, > the rpm will generate an error which smart does not resolve: > ... > > |error: file /usr/share/man/man5/passwd.5 from install of > > shadow-doc-4.2.1-r0.i586 conflicts with file from package > man-pages-3.71-r0.i586 > > |error: file /usr/share/man/man3/getspnam.3 from install of > > shadow-doc-4.2.1-r0.i586 conflicts with file from package > man-pages-3.71-r0.i586 > ... > > In this situation, remove failed packages, and attempt to install the rest.
Apologies for the delay in reviewing this. I see what you're trying to do here. However I am concerned about the other kinds of failure cases we might end up obscuring with this kind of approach. My understanding of attemptonly is that it should ignore conflicts, but any other kind of error should trigger build failure - otherwise you can miss genuine errors that need to be fixed. If possible I would prefer if we would detect and handle this kind of conflict within smart itself and allow it to continue rather than detecting the failure and retrying externally. Mark (on CC), any opinions? Cheers, Paul -- Paul Eggleton Intel Open Source Technology Centre -- _______________________________________________ Openembedded-core mailing list [email protected] http://lists.openembedded.org/mailman/listinfo/openembedded-core
