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

Reply via email to