...
 
Commits (3)
......@@ -8,7 +8,7 @@ stages:
armv5:
extends: .main
variables: {ARCH: armel, NAME: "borg-${CI_COMMIT_TAG}-armv5"}
variables: {ARCH: armv5e, NAME: "borg-${CI_COMMIT_TAG}-armv5"}
armv6:
extends: .main
......
ARG BORG_ARCH
FROM resin/${BORG_ARCH}-python:3.6-slim
FROM balenalib/${BORG_ARCH}-python:3.5-jessie-run
ARG BORG_ARCH
ARG BORG_VERSION=1.1.9
ARG BORG_VERSION=1.1.10
ENV BORG_DIR /borg
ENV BORG_BUILD_DIR ${BORG_DIR}/dist
......
# Base image to build the binaries from, based on BorgBackup version 1.1.0
ARG BORG_ARCH
FROM resin/${BORG_ARCH}-python:3.6-slim
FROM balenalib/${BORG_ARCH}-python:3.5-jessie-run
ARG BORG_ARCH
......
......@@ -2,7 +2,7 @@ ARG BORG_ARCH
FROM noplanman/borg-binary-builder:base-1.1.0-${BORG_ARCH}
ARG BORG_ARCH
ARG BORG_VERSION=1.1.9
ARG BORG_VERSION=1.1.10
ENV BORG_DIR /borg
ENV BORG_BUILD_DIR ${BORG_DIR}/dist
......
......@@ -11,8 +11,8 @@ Build [BorgBackup] binaries on any platform, for any architecture, using docker.
See the [list of available architectures] ([on GitHub][available-architectures-github])
*Examples:*
- Build version `1.1.9` for `aarch64`
`./build.sh aarch64 1.1.9`
- Build version `1.1.10` for `aarch64`
`./build.sh aarch64 1.1.10`
- Build version `1.1.5` for Raspberry Pi 3
`./build.sh raspberrypi3 1.1.5`
......@@ -24,8 +24,8 @@ See the [list of available architectures] ([on GitHub][available-architectures-g
**Note:** This will overwrite the file at `binary_save_location` if it already exists!
*Examples:*
- Extract borg `1.1.9` binary for `aarch64` to `borg-aarch64` in current folder
`./extract.sh aarch64 1.1.9 borg-aarch64`
- Extract borg `1.1.10` binary for `aarch64` to `borg-aarch64` in current folder
`./extract.sh aarch64 1.1.10 borg-aarch64`
- Extract borg `1.1.5` binary for Raspberry Pi 3 to `/homes/lemoi/borg`
`./extract.sh raspberrypi3 1.1.5 /homes/lemoi/borg`
......@@ -58,6 +58,8 @@ This is basically done by following the flow of setting up a [BorgBackup develop
When using the base images created by `build-base.sh`, instead of using the normal `Dockerfile`, you can set the `BBB_HOT` environment variable to any value, which makes the build script use `Dockerfile.hot`.
The build then starts off with the prebuilt base image, speeding up the build tremendously.
Builds are based on the Python 3.5 images on Debian Jessie.
### Extract
The `extract.sh` script extracts the built binary from the image created using `build.sh`.
......@@ -69,13 +71,13 @@ This basically starts a container from the built image for your selected archite
All automated binary builds can be found on Bintray:
- https://bintray.com/borg-binary-builder/borg-binaries/borg-binaries
Using version `1.1.9` for `armv7` as an example:
Using version `1.1.10` for `armv7` as an example:
1. Simply download the desired binary (`borg-1.1.9-armv7`) and it's corresponding signature file (`borg-1.1.9-armv7.asc`).
1. Simply download the desired binary (`borg-1.1.10-armv7`) and it's corresponding signature file (`borg-1.1.10-armv7.asc`).
2. Next we have to import the official PGP public key needed for verification (which you can find in this repo):
- `gpg --import borg-binary-builder.public.asc`
3. Then verify the downloaded binary with it's signature file:
- `gpg --verify borg-1.1.9-armv7.asc borg-1.1.9-armv7`
- `gpg --verify borg-1.1.10-armv7.asc borg-1.1.10-armv7`
4. Whoop!
## License
......@@ -85,8 +87,8 @@ Borg Binary Builder is licensed under the terms of the [WTFPL]. See the [LICENSE
[BorgBackup]: https://github.com/borgbackup/borg/ "BorgBackup on GitHub"
[BorgBackup development environment]: https://borgbackup.readthedocs.io/en/stable/development.html#building-a-development-environment "BorgBackup development environment"
[creating the standalone binary]: https://borgbackup.readthedocs.io/en/stable/development.html#creating-standalone-binaries "Create standalone binary"
[list of available architectures]: https://docs.resin.io/reference/base-images/base-images/ "List of available Architectures"
[available-architectures-github]: https://github.com/resin-io-library/base-images/tree/master/python "List of available Architectures on GitHub"
[list of available architectures]: https://www.balena.io/docs/reference/base-images/base-images/#balena-base-images "List of available Architectures"
[available-architectures-github]: https://github.com/balena-io-library/base-images/tree/master/balena-base-images/python "List of available Architectures on GitHub"
[Hypriot blog post]: https://blog.hypriot.com/post/setup-simple-ci-pipeline-for-arm-images/ "Setup a simple CI pipeline to build Docker images for ARM"
[WTFPL]: http://www.wtfpl.net/about/ "Do What the Fuck You Want to Public License"
[LICENSE]: https://git.feneas.org/borg-binary-builder/borg-binaries/blob/master/LICENSE "View License"
......@@ -6,7 +6,7 @@
# User needs to be logged in via "docker login" for the push to work.
# For available architectures see:
# https://docs.resin.io/reference/base-images/base-images/
# https://www.balena.io/docs/reference/base-images/base-images/#balena-base-images
BORG_ARCH=${1}
......
......@@ -3,10 +3,10 @@
# Usage: ./build.sh <arch> [<version>]
# For available architectures see:
# https://docs.resin.io/reference/base-images/base-images/
# https://www.balena.io/docs/reference/base-images/base-images/#balena-base-images
BORG_ARCH=${1}
BORG_VERSION=${2:-1.1.9}
BORG_VERSION=${2:-1.1.10}
if [ -z "${BORG_ARCH}" ]; then
echo "Usage: ./build.sh <arch> [<version>]";
......
......@@ -3,7 +3,7 @@
# Usage: ./extract.sh <arch> [<version>] [<binary_save_location>]
BORG_ARCH=${1}
BORG_VERSION=${2:-1.1.9}
BORG_VERSION=${2:-1.1.10}
BORG_BINARY=${3:-borg-${BORG_VERSION}-${BORG_ARCH}}
DOCKER_IMAGE=borg:${BORG_VERSION}-${BORG_ARCH}
......