This turned out to be rather more involved than I thought.
We have lots of utility functions, spread all over the repository,
with not a lot of structure. This moves many of them under common/
and structures them so there are clear dependencies.
This doesn't complete the job by any means. Other items I had on my
to-do list for this change were:
- Split up mllib/common_utils into:
- bindings around common/options to common/mloptions
- util functions (such as error handling) used by the virt-*
OCaml utilities to common/mltools (Tools_utils)
- Move mllib/uri* -> common/mloptions
- Other mllib/ modules used only by tools can also be moved
to common/mltools, eg. curl, JSON, regedit, ...
Rich.