GithubHelp home page GithubHelp logo

rebble-docker's Introduction

This is a docker image based off of Ubuntu 18.04 that contains a working build environment for Pebble projects. A Pebble SDK is installed and configured. Host-guest file permissions are handled by fixuid.

Tags

The image tag is the version of the SDK that is installed. dmorgan81/rebble:latest will get you the 4.3 SDK since that was the last version of the SDK that was released.

Running

rebble.sh should live somewhere in your PATH on your host machine. Now any pebble-tool command, other than SDK related commands, will be sent to the image and executed as though they were executed on the host machine. For example:

rebble.sh clean && rebble.sh build

rebble.sh defaults to latest but you can specify a tag version instead:

rebble.sh -v 4.2.2 build

Emulator support

The QEMU emulator works as well with a few limitations.

  1. You'll need to install with logs if you want the emulator to keep running, i.e. rebble install --emulator basalt --logs
  2. The other emulator commands don't quite work because you need an emulator running but multiple instances of the container can't talk to an emulator running in one.

To workaround these limitations you can use the repl contained in the image.

rebble shell

The image contains a repl based on shrepl and rlwrap. The repl wraps the pebble-tool command. rebble.sh shell will run the shell. Ctrl-C will stop it and return to the host.

The main advantage of rebble shell is that you can install to an emulator and then run other emulator commands. This also means the edit-build-install loop is possible using this image.

rebble-docker's People

Contributors

dmorgan81 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

rebble-docker's Issues

Error; standard_init_linux.go:195: exec user process caused "exec format error"

Session sample:

clach04@clach04-lubuntu1804:~$ uname -a
Linux clach04-lubuntu1804 4.15.0-22-generic #24-Ubuntu SMP Wed May 16 12:12:19 UTC 2018 i686 i686 i686 GNU/Linux
clach04@clach04-lubuntu1804:~$ cat /etc/*elease*
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=18.04
DISTRIB_CODENAME=bionic
DISTRIB_DESCRIPTION="Ubuntu 18.04 LTS"
NAME="Ubuntu"
VERSION="18.04 LTS (Bionic Beaver)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 18.04 LTS"
VERSION_ID="18.04"
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
VERSION_CODENAME=bionic
UBUNTU_CODENAME=bionic
clach04@clach04-lubuntu1804:~$ sudo docker pull dmorgan81/rebble
Using default tag: latest
latest: Pulling from dmorgan81/rebble
Digest: sha256:17c776e5ce5910ee8ecbd56254b810c0b1d90fb8c82dae934eafc8be5e7b9f43
Status: Image is up to date for dmorgan81/rebble:latest
clach04@clach04-lubuntu1804:~$ sudo docker run dmorgan81/rebble
standard_init_linux.go:195: exec user process caused "exec format error"

I'm not clear what bitage the Docket container needs. I tried this with 32-bit host.

Permissions error - OSError: [Errno 13] Permission denied: 'test'

Possibly Windows host specific:

C:\code\docker\pebble\spitemare>docker run --rm -it -v C:\code\docker\pebble\spitemare\build:/pebble dmorgan81/rebble new-project test
Traceback (most recent call last):
  File "/sdk/pebble-tool/pebble.py", line 7, in <module>
    pebble_tool.run_tool()
  File "/sdk/pebble-tool/pebble_tool/__init__.py", line 44, in run_tool
    args.func(args)
  File "/sdk/pebble-tool/pebble_tool/commands/base.py", line 47, in <lambda>
    parser.set_defaults(func=lambda x: cls()(x))
  File "/sdk/pebble-tool/pebble_tool/commands/sdk/create.py", line 163, in __call__
    _copy_from_template(template_layout, extant_path(template_paths), args.name, options)
  File "/sdk/pebble-tool/pebble_tool/commands/sdk/create.py", line 68, in _copy_from_template
    os.mkdir(project_path)
OSError: [Errno 13] Permission denied: 'test'

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.