Skip to content

Instantly share code, notes, and snippets.

@zeevro
Last active November 8, 2021 08:30
Show Gist options
  • Save zeevro/ce20d0d74a869d73119e9d1522b7caa7 to your computer and use it in GitHub Desktop.
Save zeevro/ce20d0d74a869d73119e9d1522b7caa7 to your computer and use it in GitHub Desktop.
Pebble SDK installation script

Now that Pebble servers are gone, some old components in the SDK need to be patched or replaced so they can fetch what they need from Rebble.

This script downloads and installes everything needed to build projects and also run the emulator.

Was tested on Ubuntu 18.04.2 on WSL.

#!/bin/sh
# Python 2.7 + pip + virtualenv
sudo apt install -y python2.7 python2.7-dev python2.7-pip
sudo -H python2.7 -m pip install -U pip setuptools wheel virtualenv
# Node.js + npm
sudo apt install -y libssl1.0-dev nodejs-dev npm
# Emulator dependencies
sudo apt install -y libsdl1.2debian libfdt1 libpixman-1-0
[ -e ~/pebble-dev ] || mkdir ~/pebble-dev
cd ~/pebble-dev
# Get SDK base
[ -e pebble-sdk-4.5-linux64.tar.bz2 ] || wget https://developer.rebble.io/s3.amazonaws.com/assets.getpebble.com/pebble-tool/pebble-sdk-4.5-linux64.tar.bz2
[ -e pebble-sdk-4.5-linux64 ] || tar -xf pebble-sdk-4.5-linux64.tar.bz2
cd pebble-sdk-4.5-linux64
# Add to PATH
if [ -z "$(grep 'pebble-sdk-4.5-linux64' ~/.bashrc)" ]; then
echo 'export PATH=~/pebble-dev/pebble-sdk-4.5-linux64/bin:$PATH' >> ~/.bashrc
fi
. ~/.bashrc
# Fix pypkjs in requirements.txt
if [ "$(grep 'pebble-sdk-homebrew' requirements.txt)" ]; then
cp requirements.txt requirements.txt.OLD
grep -v pypkjs requirements.txt.OLD > requirements.txt
echo 'git+https://github.com/pebble/pypkjs.git' >> requirements.txt
fi
# Replace pebble-tool
if [ "$(grep 'sdk.getpebble.com' pebble-tool/pebble_tool/sdk/manager.py)" ]; then
mv pebble-tool pebble-tool.OLD
git clone https://github.com/pebble-dev/pebble-tool.git
fi
# Install requirements
[ -e .env ] || virtualenv --no-site-packages .env
. .env/bin/activate
pip install -r requirements.txt
pip install -r pebble-tool/requirements.txt
deactivate
# Install latest SDK
echo y | pebble sdk install latest
@elektronchika
Copy link

I get the following error in WSL with Ubuntu 20.04 LTS:

install_pebble_sdk.sh: 41: virtualenv: not found
install_pebble_sdk.sh: 42: .: Can't open .env/bin/activate

What am I missing? Thank you!

@dentonlt
Copy link

dentonlt commented Sep 24, 2020

Looks like virtualenv failed to install. Try manually installing it - check the code in line 5 of the script.

If the installation worked, it might be a PATH problem. Make sure the script can find virtualenv in your PATH.

The line 42 error message is only because of the failure on line 41.

Good luck out there =p

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment