mirror of
https://github.com/balena-os/balena-supervisor.git
synced 2025-02-21 10:01:55 +00:00
use shared folders (downloads and sstate) in yocto build
This commit is contained in:
parent
cad8bc7c49
commit
17ca9b4320
@ -21,18 +21,14 @@ RUN apt-get update \
|
||||
sudo \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
|
||||
RUN useradd -m builder \
|
||||
&& mkdir /dest \
|
||||
&& chown builder /dest
|
||||
|
||||
RUN locale-gen en_US.UTF-8
|
||||
ENV LANG en_US.UTF-8
|
||||
ENV LC_ALL en_US.UTF-8
|
||||
|
||||
USER builder
|
||||
|
||||
ENV SOURCE_DIR /source
|
||||
ENV DEST_DIR /dest
|
||||
ENV SHARED_DOWNLOADS /yocto/shared-downloads
|
||||
ENV SHARED_SSTATE /yocto/shared-sstate
|
||||
|
||||
COPY build.sh /
|
||||
CMD bash -ex build.sh
|
||||
|
@ -4,6 +4,8 @@ set -o errexit
|
||||
set -o pipefail
|
||||
|
||||
date=$(date +'%Y%m%d' -u)
|
||||
JENKINS_PERSISTENT_WORKDIR=${1:-/var/lib/yocto}
|
||||
DL_DIR="$JENKINS_PERSISTENT_WORKDIR/shared-downloads"
|
||||
# MACHINE_LIST: generic-x86-64 generic-x86 generic-armv6 generic-armv7hf generic-armv5
|
||||
# MACHINE_LIST should be set in jenkins config
|
||||
|
||||
@ -30,9 +32,18 @@ for machine in $MACHINE_LIST; do
|
||||
REPO='resin/armel-supervisor-base'
|
||||
;;
|
||||
esac
|
||||
SSTATE_DIR="$JENKINS_PERSISTENT_WORKDIR/$machine/sstate"
|
||||
# Make sure shared directories are in place
|
||||
mkdir -p $DL_DIR
|
||||
mkdir -p $SSTATE_DIR
|
||||
|
||||
docker run --rm \
|
||||
-e TARGET_MACHINE=$machine \
|
||||
-e BUILDER_UID=$(id -u) \
|
||||
-e BUILDER_GID=$(id -g) \
|
||||
-v `pwd`:/source \
|
||||
-v $DL_DIR:/yocto/shared-downloads \
|
||||
-v $SSTATE_DIR:/yocto/shared-sstate \
|
||||
-v `pwd`/dest:/dest \
|
||||
supervisor-base-builder
|
||||
if [ -f dest/rootfs.tar.gz ]; then
|
||||
|
@ -3,10 +3,11 @@
|
||||
set -o errexit
|
||||
|
||||
BUILD_DIR='/home/builder/tmp'
|
||||
|
||||
mkdir -p $BUILD_DIR
|
||||
cp -r $SOURCE_DIR/* $BUILD_DIR/
|
||||
cd $BUILD_DIR
|
||||
source oe-core/oe-init-build-env build bitbake
|
||||
MACHINE=$TARGET_MACHINE bitbake core-image-minimal
|
||||
cp --dereference tmp-glibc/deploy/images/$TARGET_MACHINE/core-image-minimal-$TARGET_MACHINE.tar.gz $DEST_DIR/rootfs.tar.gz
|
||||
groupadd -g $BUILDER_GID builder
|
||||
useradd -m -u $BUILDER_UID -g $BUILDER_GID builder
|
||||
sudo -H -u builder /bin/bash -c "mkdir -p $BUILD_DIR \
|
||||
&& cp -r $SOURCE_DIR/* $BUILD_DIR/ \
|
||||
&& cd $BUILD_DIR \
|
||||
&& source oe-core/oe-init-build-env build bitbake \
|
||||
&& DL_DIR=$SHARED_DOWNLOADS SSTATE_DIR=$SHARED_SSTATE MACHINE=$TARGET_MACHINE $BUILD_DIR/bitbake/bin/bitbake core-image-minimal"
|
||||
cp --dereference $BUILD_DIR/build/tmp-glibc/deploy/images/$TARGET_MACHINE/core-image-minimal-$TARGET_MACHINE.tar.gz $DEST_DIR/rootfs.tar.gz
|
||||
|
Loading…
x
Reference in New Issue
Block a user