Hi folks,
I was asked to merge back our Ubuntu changes to moblin-image-creator
(MIC) upstream as to make sure MIC is the same from all distributors
-- including moblin.org. I'm Cc:ing Prajwal and Mitsutaka-san who I
believe are currently working on MIC's upstream maintenance.
== Patch workflow ==
I think the bulk of the patches have been attached in bug reports in
the upstream MIC bug tracker which is at:
<https://bugs.launchpad.net/moblin-image-creator>
I intend to continue reporting further patches for bug fixes or
enhancements at this place in the future, please let me know if I
should use a different process (e.g. send to this list).
NB: I believe some of these patches were merged in the current git
version of MIC.
== Review of available Ubuntu MIC versions ==
Now to the Ubuntu versions of MIC. We have many versions of MIC in
various Ubuntu and Ubuntu MID repositories:
a) 0.29gutsy1 in gutsy (Ubuntu 7.10); historical, nothing to see here
b) 0.44+repack-0ubuntu5 in hardy (Ubuntu 8.04); relatively close to the
latest version we maintained for Ubuntu, but superseded by the
intrepid and ubuntu-mobile ppa versions
c) 0.44+repack-0ubuntu12~804um2 in ubuntu-mobile hardy ppa; the version
we maintained carefully for our hardy Ubuntu MID builds
d) 0.44+repack-0ubuntu13 in intrepid is basically the same thing or
very close to c)
We basically maintained MIC in universe for gutsy until the gutsy
freeze (where a) happened), then continued maintenance in hardy up to
the hardy freeze (where b) happened) then continued maintenance in the
hardy ubuntu-mobile ppa after the freeze and until after the hardy
release. Finally, we are moving away from the ppa to work in the main
Ubuntu repository directly and benefit from its infrastructure; this is
happening over the intrepid cycle, and the result is that we merged c)
in intrepid as d).
You can get the source packages for MIC at:
http://ppa.launchpad.net/ubuntu-mobile/ubuntu/pool/main/m/moblin-image-creator/
(ubuntu-mobile ppa)
http://archive.ubuntu.com/ubuntu/pool/universe/m/moblin-image-creator/
(main Ubuntu archive -- gutsy, hardy, intrepid etc.)
Another thing you might be interested in is the way we actually run MIC
in the Canonical data center to generate the hardy Ubuntu MID images.
The bulk of the work is done by a shell script which iterates over
various combinations of repositories and fsets. This shell script is
available via bzr as follows:
bzr get http://people.ubuntu.com/~stevenk/bzr/mobile-image-runner/
== Base for Ubuntu MIC and delta with upstream MIC ==
The latest versions of MIC in Ubuntu repos are based on the 0.44
release of MIC. We don't maintain a git tree, instead we maintain a
stack/collection of patches below debian/patches.
It would be nicer to maintain a git tree, but this is impractical to do
because there is no place to host the git tree where all people
possibly updating the MIC package would have commit access. (Launchpad
offers only bzr hosting and the misc Ubuntu / Canonical hosts where
developpers have access don't have an "ubuntu-mobile" unix group.)
The patches we currently have in our MIC packages (from
debian/patches):
40_fsets 67_grub-kopt
60_var-lib-projects 68_clean-default-kopts
61_skip-usr-share-projects 69_run-update-grub
62_add-list-pkgs-command 70_menu-lst-default
63_add-list-sources-files-command 71_install_locale
64_path-for-desktop-file 72_ume-platforms
65_tar-numeric-owner 73_create-kernel-img-conf
66_mount-boot 74_boot-is-really-boot
About half of them have a description on top; the function of the
others can be understood from the changelog entry introducing them in
debian/changelog or by reading them.
I intend to work with the current MIC maintainers to review these
patches one by one as to clarify why they are useful to us and how to
merge them upstream.
What's the preferred form? Should I start sending a review on this
list, or would shall we setup a phone call? Would you rather discuss
these over the bug tracker, or perhaps on IRC?
== Ongoing upstream development of MIC ==
Please allow me to make a couple of suggestions/comments regarding the
development of MIC:
* MIC needs more frequent releases
* Users shouldn't be told to "git clone" MIC; instead end users should
only use released versions of MIC (tested, clearly identifiable,
safer upgrade path etc.).
* We should recommend to only use MIC *packages*, not tarballs:
installing software from source as root is risky and error prone;
upgrading or uninstalling such software cleanly later on is also
risky and error prone
* There are deep design / architectural issues with the MIC approach
which are problematic for its use in Ubuntu. I could cover them in
more details, but I think the two biggest issues can be summarized
as:
- does too many things as a single tool that many tools should be
doing (the unixish approach is to split tasks in small isolated
components which talk with well defined interfaces and can be
swapped/combined easily)
- reinvents pieces of functionality instead of reusing existing ones
I'm hanging on #moblin and #ubuntu-mobile as "lool" on IRC where I'm
happy to discuss the above topics.
Cheers,
--
Loïc Minier
_______________________________________________
dev mailing list
[email protected]
https://www.moblin.org/mailman/listinfo/dev