B2G Utilities
Project description
B2G python utilities library, and some tools.
Installation
To install b2g_util, simply running then following command.
Note: You might have to add sudo for getting more permission when install it into your system.
$ pip install -U b2g_util
And the pip and setuptools should be upgraded to latest version before install.
$ sudo pip install -U pip setuptools
Tools Usages
There are some available b2g tools.
- b2g_backup_restore_profile
- b2g_check_versions
- b2g_enable_certapps_devtools
- b2g_flash_taskcluster
- b2g_get_crashreports
- b2g_quick_flash
- b2g_reset_phone
- b2g_shallow_flash
b2g_backup_restore_profile
Note: This is a workaround backup/restore solution due to b2g doesn’t have tool to backup/restore profile.
usage: b2g_backup_restore_profile [-h] [-s SERIAL] (-b | -r) [--sdcard] [--no-reboot] [-p PROFILE_DIR] [--skip-version-check] [-v] Workaround for backing up and restoring Firefox OS profiles. (BETA) optional arguments: -h, --help show this help message and exit -s SERIAL, --serial SERIAL Directs command to the device or emulator with the given serial number. Overrides ANDROID_SERIAL environment variable. (default: None) -b, --backup Backup user profile. (default: False) -r, --restore Restore user profile. (default: False) --sdcard Also backup/restore SD card. (default: False) --no-reboot Do not reboot B2G after backup/restore. (default: False) -p PROFILE_DIR, --profile-dir PROFILE_DIR Specify the profile folder. (default: mozilla-profile) --skip-version-check Turn off version check between backup profile and device. (default: False) -v, --verbose Turn on verbose output, with all the debug logger. (default: False)
b2g_check_versions
usage: b2g_check_versions [-h] [--no-color] [-s SERIAL] [--log-text LOG_TEXT] [--log-json LOG_JSON] [-v] Check the version information of Firefox OS. optional arguments: -h, --help show this help message and exit --no-color Do not print with color. NO_COLOR will overrides this option. (default: False) -s SERIAL, --serial SERIAL Directs command to the device or emulator with the given serial number. Overrides ANDROID_SERIAL environment variable. (default: None) --log-text LOG_TEXT Text ouput. (default: None) --log-json LOG_JSON JSON output. (default: None) -v, --verbose Turn on verbose output, with all the debug logger. (default: False)
b2g_enable_certapps_devtools
usage: b2g_enable_certapps_devtools [-h] [-s SERIAL] [--disable] [-v] Enable/disable Certified Apps Debugging. optional arguments: -h, --help show this help message and exit -s SERIAL, --serial SERIAL Directs command to the device or emulator with the given serial number. Overrides ANDROID_SERIAL environment variable. (default: None) --disable Disable the privileges. (default: False) -v, --verbose Turn on verbose output, with all the debug logger. (default: False) Please enable "ADB and Devtools" of device. Ref: - https://developer.mozilla.org/en-US/docs/Tools/WebIDE - https://developer.mozilla.org/en-US/docs/Tools/WebIDE/Running_and_debugging_apps#Debugging_apps
b2g_flash_taskcluster
usage: b2g_flash_taskcluster [-h] [--credentials CREDENTIALS] [-n NAMESPACE] [-d DEST_DIR] [-v] The simple GUI tool for flashing B2G from Taskcluster. optional arguments: -h, --help show this help message and exit --credentials CREDENTIALS The credential JSON file (default: /home/askeing/tc_credentials.json) -n NAMESPACE, --namespace NAMESPACE The namespace of task -d DEST_DIR, --dest-dir DEST_DIR The dest folder (default: current working folder) -v, --verbose Turn on verbose output, with all the debug logger. For more information of Taskcluster, see: - http://docs.taskcluster.net/ - https://pypi.python.org/pypi/taskcluster_util The tc_credentials.json Template: { "clientId": "", "accessToken": "", "certificate": { "version":1, "scopes":["*"], "start":xxx, "expiry":xxx, "seed":"xxx", "signature":"xxx" } }
Temporary Credentials
You can get your temporary credentials from https://auth.taskcluster.net/ (using Persona with LDAP account).
The temporary credentials will remain valid for 31 days.
Or you can just run taskcluster_login to get your credentials. (Note: it will remove your old credentials file.)
tc_credentials.json
You can put the credentials into tc_credentials.json file under your home folder.
$ <YOUR_EDITOR> ~/tc_credentials.json
The file format will be:
{ "clientId": "<YOUR_CLIENTID>", "accessToken": "<YOUR_ACCESSTOKEN>", "certificate": <YOUR_CERTIFICATE> }
b2g_get_crashreports
usage: b2g_get_crashreports [-h] [-s SERIAL] [-v] Get the Crash Reports from Firefox OS Phone. optional arguments: -h, --help show this help message and exit -s SERIAL, --serial SERIAL Directs command to the device or emulator with the given serial number. Overrides ANDROID_SERIAL environment variable. (default: None) -v, --verbose Turn on verbose output, with all the debug logger. (default: False)
b2g_quick_flash
usage: b2g_quick_flash [-h] [-l] [-v] Simply flash B2G into device. Ver. 0.0.1 optional arguments: -h, --help show this help message and exit -l, --list List supported devices and branches. (default: False) -v, --verbose Turn on verbose output, with all the debug logger. (default: False)
Temporary Credentials
See b2g_flash_taskcluster session.
b2g_reset_phone
usage: b2g_reset_phone [-h] [-s SERIAL] [-v] Reset Firefox OS Phone. optional arguments: -h, --help show this help message and exit -s SERIAL, --serial SERIAL Directs command to the device or emulator with the given serial number. Overrides ANDROID_SERIAL environment variable. (default: None) -v, --verbose Turn on verbose output, with all the debug logger. (default: False)
b2g_shallow_flash
usage: b2g_shallow_flash [-h] [-s SERIAL] [-g GAIA] [-G GECKO] [--keep-profile] [-v] Workaround for shallow flash Gaia or Gecko into device. optional arguments: -h, --help show this help message and exit -s SERIAL, --serial SERIAL Directs command to the device or emulator with the given serial number. Overrides ANDROID_SERIAL environment variable. (default: None) -g GAIA, --gaia GAIA Specify the Gaia package. (zip format) (default: None) -G GECKO, --gecko GECKO Specify the Gecko package. (tar.gz format) (default: None) --keep-profile Keep user profile of device. Only work with shallow flash Gaia. (BETA) (default: False) -v, --verbose Turn on verbose output, with all the debug logger. (default: False)
Development
To develop the b2g_util, fork project from Github and simply:
$ git clone https://github.com/<YOUR_ACCOUNT>/b2g-util-python.git $ cd b2g-util-python $ make dev-env $ source env-python/bin/activate
Or you can run tests:
$ make test
You also can create the document, and then you can open docs/index.html to access the document.
$ make docs
SSL InsecurePlatformWarning
If you got the following error message when running the tools, please install requests[security] package.
InsecurePlatformWarning: A true SSLContext object is not available.
This prevents urllib3 from configuring SSL appropriately and may cause certain SSL connections to fail.
For more information, see https://urllib3.readthedocs.org/en/latest/security.html#insecureplatformwarning.
Install package by pip install. Please note it’s not required for Python 2.7.9+.
pip install requests[security]
If you got Setup script exited with error: command ‘gcc’ failed with exit status 1 error when install requests[security], please install libffi-dev. (Ubuntu)
sudo apt-get install libffi-dev
The Other Issues
If you meet any issues related to urllib3, SSL, or tk, please install following packages. (Ubuntu)
sudo apt-get install python python-dev python-setuptools libffi-dev libssl-dev python-tk sudo easy_install pip sudo pip install -U pip setuptools sudo pip install -U requests sudo pip install -U requests[security]
Release History
0.0.19 (2016-03-04)
Features and Improvements
- Add D5833 supoort of b2g_quick_flash
0.0.18 (2016-01-29)
Features and Improvements
- Enable adb for dev tool debugging
- Update taskcluster_util to 0.0.30
bugfixes
- Fix the bug of adb forward.
0.0.17 (2016-01-05)
Features and Improvements
- Update taskcluster_util to 0.0.27
0.0.16 (2015-12-24)
Features and Improvements
- Update taskcluster_util to 0.0.26
- Add b2g_quick_flash
0.0.15 (2015-11-30)
Features and Improvements
- Update taskcluster_util to 0.0.25
0.0.14 (2015-11-23)
Features and Improvements
- Update taskcluster_util to 0.0.24
0.0.13 (2015-11-02)
Features and Improvements
- Add b2g_flash_taskcluster
0.0.12 (2015-09-15)
Features and Improvements
- Add space in filepath support for AdbWrapper’s pull and push.
- Add pending/submitted filepath into result dict object for get_crashreports.
0.0.11 (2015-09-10)
Features and Improvements
- Add keep profile feature of b2g_shallow_flash.
- Remove gecko.mstone value from pref.js when backup profile.
0.0.10 (2015-09-09)
Features and Improvements
- Add b2g_shallow_flash tool.
- Add adb remount and adb wait-for-device.
- Modify the decompressor’s method to classmethod.
0.0.9 (2015-09-09)
- missing some files…
0.0.8 (2015-09-07)
Features and Improvements
- Modify tools for more reusable.
- Refactoring.
- Add JSON output for get_crashreports.
bugfixes
- Remove unused import.
- Fix the docstrings from single-quoted to double-quoted string format.
0.0.7 (2015-08-20)
Features and Improvements
- Stop backup profil when the folder already exists.
- Refactoring all tools, move prepare() method from __init__() to run().
- Add new argument “–skip-version-check” for backup_restore_profile.
- Extract compare_version(), get_profile_path(), and get_version_from_profile() methods.
- Add docstring for creating the document.
- Add unittest for backup_restore_profile, and adb_helper.
- Update README.
bugfixes
- Remove unused code.
- Remove the logger from downloader and decompressor.
0.0.6 (2015-08-14)
Features and Improvements
- Use B2GHelper in b2g_backup_restore_profile.
- Refactoring the check_versions.
- Refactoring the backup_restore_profile
bugfixes
- Skip adding setting of enable_certapps_devtools when it doesn’t need to restart.
0.0.5 (2015-08-13)
Features and Improvements
- Add b2g_enable_certapps_devtools tool.
- Add B2GHelper class for Firefox OS operations.
bugfixes
- some command will stop device with no returncode. e.g. adb shell reboot recovery.
0.0.4 (2015-08-12)
Features and Improvements
- Add b2g_get_crashreports tool
- Refactoring the ADBWrapper, it will raise exception when command failed.
- Return stdout and return code from device when running adb shell command.
bugfixes
- Set backup/restore arguments as required and put them into same group.
- Wait a moment when restarting adbd.
0.0.3 (2015-08-06)
Features and Improvements
- Added the method AdbHelper.get_serial() for getting the adb serial number
- Modified the classes of adb_helper
- Modified the code of tools for making them clear
bugfixes
- Fixed the list index out of range when adb server doesn’t start
- Fixed the logger handle issue of tools
0.0.2 (2015-08-05)
- Rename the tools
- Added the prefix b2g_ of tools
- Write the README file
0.0.1 (2015-08-05)
- Initiate the project
- Basic ADB commands support
- The b2g_backup_restore_profile (workaround) tool
- The b2g_check_versions tool
- The b2g_reset_phone tool
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.