Project

rbld

0.03
No commit activity in last 3 years
No release in over 3 years
Zero-dependency, reproducible build environments
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Development

>= 0.14.0, ~> 0.14.1
>= 2.4.0, ~> 2.4.0
>= 0.1.9, ~> 0.1
= 3.0.0, ~> 3.0
>= 1.3.3, ~> 1.3
>= 2.1.0, ~> 2.1
>= 3.5.0, ~> 3.5
>= 0.2.4, ~> 0.2
>= 0.8.1, ~> 0.8
>= 1.8.2, ~> 1.8

Runtime

~> 0.8.1
>= 1.32.1, ~> 1.32
>= 1.7.8, ~> 1.7
>= 2.1.0, ~> 2.1
>= 0.9.6, ~> 0.9
>= 1.0.8, ~> 1.0
>= 1.0.2, ~> 1.0
>= 0
>= 1.3.3, ~> 1.3
 Project Readme

Gem Version Build Status Build Status

Usage

Install dependencies

  • ruby
  • ruby-dev
  • gem
  • gem-dev
  • gem rake
  • docker engine

Install rebuild CLI

gem install rbld

Search for pre-created environments on Docker Hub

rbld search

Deploy environment for Raspberry Pi

rbld deploy rpi-raspbian:v001

Build code for Raspberry Pi

cd code-location
rbld run rpi-raspbian:v001 -- make -j8

Deploy environment for BeagleBoard-X15

rbld deploy bb-x15:16-05

Build code for BeagleBoard-X15

cd code-location
rbld run bb-x15:16-05 -- make -j8

Create environment for Raspberry Pi

git clone git://github.com/raspberrypi/tools.git rpi-tools

rbld create --base ubuntu:16.04 rpi-raspbian

rbld modify rpi-raspbian:initial

>> sudo apt-get update
>> sudo apt-get install -y make
>> TOOLCHAIN=gcc-linaro-arm-linux-gnueabihf-raspbian-x64
>> sudo cp -r rpi-tools/arm-bcm2708/$TOOLCHAIN /
>> echo export CC=/$TOOLCHAIN/bin/arm-linux-gnueabihf- | sudo tee -a /rebuild/rebuild.rc
>> exit

rbld commit rpi-raspbian --tag v001

Project documentation

Rebuild CLI gem

Running tests

rebuild test suite is based on cucumber/aruba:

  1. Run bundle to install cucumber, aruba and other dependencies
  2. Run cucumber [OPTIONS] in the source tree root:
  • cucumber to run all tests using binaries from the working copy
  • cucmber -p installed to run tests using installed binaries
  • cucumber -t ~@slow to exclude slow tests

Use environment variable registry_type to control registry type used during tests:

  • registry_type=rebuild cucumber ... to use native rebuild registry (default)
  • registry_type=docker cucumber ... to use docker registry
  • registry_type=dockerhub cucumber ... to use Docker Hub (Docker Hub credentials needed)

Rebuild is licensed under the Apache License, Version 2.0.
See LICENSE for the full license text.