The use of QFile::Permission flag values is a legacy from the old Qt-based updater.
Unix chmod values are used by the native system calls so it makes more sense
to use them instead.
* Update the test examples and the test update script.
* Update the package building tool to populate the permissions field with octal chmod values.
* Add support for entries in the update script being marked with
a boolean <is-main-binary> attribute which is set to true for the main binary.
* In UpdateInstaller::restartMainApp(), look for the file marked with <is-main-binary>
and restart it after installation. With the current structure, this requires that
the main binary is included in the update, which has always been the case up till now.
If we find that we want to do updates that do not affect the main binary, the
<is-main-binary> attribute could be replaced with a <main-binary> string value
at the top of the XML file.
* Support XML scripts where the V3 script is wrapped in an <update-v3> element.
* Add some basic unit testing facilities - if we find that something more sophisticated is needed,
we can look at using cppunit, googletest or similar.
* Add a test that parsing the same script with both the old and the new structure
yields equivalent UpdateScript instances.