[OE-core] [PATCH] python-smartpm: Add an attempt install mode
Mark Hatle
mark.hatle at windriver.com
Wed Sep 11 13:47:33 UTC 2013
On 9/11/13 5:04 AM, Paul Eggleton wrote:
> Hi Mark,
>
> On Tuesday 10 September 2013 21:04:29 Mark Hatle wrote:
>> Time measurements with:
>>
>> MACHINE = "qemux86"
>> PACKAGE_CLASSES = "package_rpm"
>> EXTRA_IMAGE_FEATURES = "dev-pkgs staticdev-pkgs doc-pkgs dbg-pkgs
>> ptest-pkgs" BB_NUMBER_THREADS ?= "8"
>> PARALLEL_MAKE ?= "-j 8"
>>
>> image: core-image-sato
>>
>> Quad Core i7 workstation...
>>
>> With all of the recipes built, and just executing the do_rootfs:
>>
>> Before this change:
>> real 26m2.541s
>> user 21m8.458s
>> sys 7m9.683s
>>
>> After this change:
>> real 14m43.436s
>> user 15m57.525s
>> sys 5m16.412s
>>
>> This is a significant performance boost when using the 'complementary'
>> installs and attemptonly installs. The performance is by doing the
>> complementary installs as a batch instead of one at a time, ignoring
>> failures.
>
> This is a significant improvement, well done! My concern about not catching
> failures stands though, which is why I hadn't implemented this yet. How do we
> ensure that genuine failures are caught with this mode?
The code only ignores failures in the resolution of the dependencies. As far as
I'm aware, this is the correct behavior in the attempt only mode(s). If the
dependencies can't be resolved for some reason, we simply throw away that item
and move on.
Any errors that occur during package installation -will- now cause a failure to
exist, and they will be logged to the attemptonly log-file.
In the previous implementation, any error when installing an attemptonly package
would be ignored, even if it turned out to be an installation problem and not a
dependency issue. So I think this is an improvement as well.
(For some of my testing I intentionally created dependency errors by adding
things to the PACKAGE_EXCLUDE, and the system did what it was supposed to.
Ignored the items that couldn't be installed.)
--Mark
> Cheers,
> Paul
>
More information about the Openembedded-core
mailing list