Skip to content

Instantly share code, notes, and snippets.

@eviljeff
Last active August 29, 2015 14:16
Show Gist options
  • Save eviljeff/a48142723c839c8feefb to your computer and use it in GitHub Desktop.
Save eviljeff/a48142723c839c8feefb to your computer and use it in GitHub Desktop.
#!/bin/sh
#
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/. */
#
# This program replaces the certificate database on a device with the contents
# of a local certificate database. Usually it is used in conjunction with the
# other scripts in this directory as described in ./README.txt.
set -e
certdbdir="certdb.tmp"
servers="https://marketplace-dev.allizom.org,https://marketplace.allizom.org,https://marketplace.firefox.com"
if [ ! -d "$certdbdir" ]; then
echo input certdb directory "$certdbdir" does not exist
exit 1
fi
echo "Connecting to device..."
profile=`adb shell ls data/b2g/mozilla | tr -d '\\r' | grep "\.default$"`
if [ -z "profile" ]; then
echo "No user profile found on device"
exit 1
fi
echo "Found user profile on device. Pushing certs"
adb push "$certdbdir/cert9.db" data/b2g/mozilla/$profile/cert9.db
adb push "$certdbdir/key4.db" data/b2g/mozilla/$profile/key4.db
adb push "$certdbdir/pkcs11.txt" data/b2g/mozilla/$profile/pkcs11.txt
echo "Certs pushed. Pulling old prefs.js file"
adb pull data/b2g/mozilla/$profile/prefs.js prefs-old.js
echo "Pull Done. Patching file with updated signed_apps_installable_from"
# remove old pref value
grep -v "dom\.mozApps\.signed_apps_installable_from" prefs-old.js > prefs.js
# add new pref value
echo "user_pref(\"dom.mozApps.signed_apps_installable_from\",\"$servers\");" >> prefs.js
adb shell stop b2g
echo "Pushing fixed prefs.js file back to device"
adb push prefs.js data/b2g/mozilla/$profile/prefs.js
echo "Done! Rebooting..."
adb shell start b2g
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment