MANIFEST experiments

Daniel Drake dsd at
Wed Oct 14 07:44:09 EDT 2009

Today I ran a quick experiment on OLPC OS v8.2.1, based on the
question: what are the activity MANIFEST files used for?

I see sugar frequently complaining about MANIFEST inconsistencies in
the logs, but I don't recall seeing it act on these inconsistencies in
any way. I noticed that it even logs such inconsistencies during
startup, meaning that it must be checking every file in every activity
during a regular boot...

So, I reflashed 2 XOs, booted for the first time, entered a name. On
one, I modified sugar.bundle.ActivityBundle.read_manifest() to be a
no-op, then turned it off. On the other, I just turned it off.

Then I powered both on at the same time and started a stopwatch. I
measured how long it takes for the XOs to reach the stage of boot
where the XO stick figure and the activity icons are visible.

The one with the modification reached this point *55* seconds faster
than the other one! It basically zeroes the time where you can see the
XO stick figure on screen but the activity icons on the home view have
yet to appear.

This was using OLE Nepal's customized build which includes a big
activity with many manifest errors, so the difference might be less

Tomeu points out that this behaviour has been improved in more recent
sugar versions to the point where manifest checking probably is not
happening in the startup path, but personally I question why we are
even checking at all. Perhaps we should rip out all that code and
leave MANIFESTs purely as a tool for developers to specify which files
get included in a bundle or something like that.


More information about the Devel mailing list