Difference between revisions of "Mulet"

From MozillaWiki
Jump to: navigation, search
m (added Category:Firefox OS using HotCat)
m (fix 2 typos)
Line 39: Line 39:
  
 
Compared to b2g desktop, mulet runs within a customized version of Firefox.
 
Compared to b2g desktop, mulet runs within a customized version of Firefox.
The goal is to seemlessly run b2g within a firefox tab.
+
The goal is to seamlessly run b2g within a firefox tab.
So mulet contains all preferences, settings and glue code that used to exists in b2g desktop.
+
So mulet contains all preferences, settings and glue code that used to exist in b2g desktop.
  
 
=== How do I build it? ===
 
=== How do I build it? ===

Revision as of 23:16, 4 June 2015

       |\               /|
       |\\             //|      Mulet is a meant to merge all Firefox OS runtimes that exist on desktop:
       | \\           // |         - b2g desktop
       |_=\\         //=_|         - Fx OS simulator addon
       | _=||       ||=_ |         - Special gaia profile running on Firefox nightly ("DEBUG=1" gaia profiles)
       \ _=||       ||=_ /         
        \_ =\',:;:,'/= _/       Mulet nightly builds are available here:   
          \__" `:` "__/           http://ftp.mozilla.org/pub/mozilla.org/b2g/nightly/latest-mozilla-central/
             )     (            
            /       \          It requires a gaia profile to startup correctly:   
           |         |            $ cd ~/gaia
           |_       _|            $ make
           (0\     /0)            $ ~/mulet/firefox-bin -profile profile/
           |         |            
           `.       .'          You should see gaia automatically loaded in first tab,  
            |       |           with the devtools showing up on the side.
            ;       |           
            :|     |;           You can build it out of mozilla-central with the following mozconfig:
            '/     \'             ac_add_options --enable-application=b2g/dev
            (()   ())           
    ©jgs     \     /           ("Mulet" comes the french word designating a "mule" and is spelled with only one l!)
              `---'

Why merge all runtimes?

To ensure that everyone: app developers, gaia contributors and platform engineers are all on the same page and use the same environment and runtime. Then merging all runtimes allows to share the advantages of all of them. Gaia will run with the same feature set than b2g desktop (ie. many features require some glue code that doesn't exist in Firefox. for example system message API). And we will have all devtools working against gaia. While sharing the additional features coming from the simulator (rotation support for ex)

Where can I download it?

Nightly builds are available here. Look got firefox-* packages for your platform.

How different is mulet compared to the existing runtimes?

Compared to b2g desktop, mulet runs within a customized version of Firefox. The goal is to seamlessly run b2g within a firefox tab. So mulet contains all preferences, settings and glue code that used to exist in b2g desktop.

How do I build it?

Checkout mozilla-central and use "ac_add_options --enable-application=b2g/dev" in your mozconfig.

How do I run FxOS on it?

Checkout the gaia repo, then build a regular profile (just run make within your gaia folder). Once your gaia profile is built, open mulet with this profile.

 $ cd ~/gaia
 $ make
 ...
 $ cd ~/gecko
 $ echo "ac_add_options --enable-application=b2g/dev" > mulet
 $ MOZCONFIG=mulet ./mach build
 $ MOZCONFIG=mulet ./mach run -profile ~/gaia/profile

Then, if FxOS doesn't automatically open itself, go to the following URL:

 chrome://b2g/content/shell.html

How do I run tests?

Just like on desktop firefox (see Running automated tests on MDN).

How to report bugs?

Please fill bugs within Firefox OS::Runtime component.

What is mulet for a gecko developer?

Mulet is a Firefox desktop build, with MOZ_B2G env variable set to 1. This variable enables most of the b2g specifics that are built only on FxOS (and not on Fx Desktop). It is also built with MOZ_MULET=1 in order to help distinguish Firefox Desktop from Mulet. A dedicated folder exists for mulet in mozilla-central, m-c/b2g/dev, which contains mostly build/configuration files.