Yocto build container: initial commit
Signed-off-by: Thomas Klaehn <thomas.klaehn@u-blox.com>
This commit is contained in:
commit
d64c9e41b1
29
Dockerfile
Normal file
29
Dockerfile
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
FROM debian:jessie
|
||||||
|
|
||||||
|
MAINTAINER Thomas Klaehn <thomas.klaehn@u-blox.com>
|
||||||
|
|
||||||
|
RUN apt-get update && \
|
||||||
|
apt-get install -yq sudo build-essential git python python3 man bash diffstat \
|
||||||
|
gawk chrpath wget cpio texinfo lzop apt-utils bc screen libncurses5-dev \
|
||||||
|
locales libc6-dev-i386 doxygen libssl-dev dos2unix unzip gcc-multilib socat \
|
||||||
|
python3-pip python3-pexpect xz-utils debianutils iputils-ping libsdl1.2-dev \
|
||||||
|
xterm p7zip-full && \
|
||||||
|
rm -rf /var/lib/apt-lists/* && \
|
||||||
|
echo "dash dash/sh boolean false" | debconf-set-selections && \
|
||||||
|
DEBIAN_FRONTEND=noninteractive dpkg-reconfigure dash && \
|
||||||
|
dpkg --add-architecture i386 && \
|
||||||
|
apt-get update && \
|
||||||
|
apt-get -yq install g++-multilib libusb-1.0-0-dev:i386
|
||||||
|
|
||||||
|
RUN echo "en_US.UTF-8 UTF-8" > /etc/locale.gen && locale-gen
|
||||||
|
|
||||||
|
ENV LANG en_US.utf8
|
||||||
|
|
||||||
|
RUN mkdir -p /var/build
|
||||||
|
|
||||||
|
WORKDIR /var/build
|
||||||
|
|
||||||
|
ADD init.sh /usr/local/bin/init.sh
|
||||||
|
|
||||||
|
ENTRYPOINT ["/usr/local/bin/init.sh"]
|
||||||
|
|
31
init.sh
Executable file
31
init.sh
Executable file
@ -0,0 +1,31 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
username=builduser
|
||||||
|
usergroup=buildgroup
|
||||||
|
builddir=/var/build
|
||||||
|
homedir=/home/${username}
|
||||||
|
sshdir=${homedir}/.ssh
|
||||||
|
|
||||||
|
# figure out the uid/gid we need to use by integrating the path that has
|
||||||
|
# been bind mounted in. this is then used for the builduser.
|
||||||
|
BUILD_UID=$(stat --printf=%u ${builddir} 2> /dev/null)
|
||||||
|
BUILD_GID=$(stat --printf=%g ${builddir} 2> /dev/null)
|
||||||
|
|
||||||
|
# create a group
|
||||||
|
groupadd --gid ${BUILD_GID} --non-unique ${usergroup}
|
||||||
|
|
||||||
|
# add user
|
||||||
|
useradd -s /bin/bash --home ${homedir} --non-unique --uid ${BUILD_UID} \
|
||||||
|
--gid ${BUILD_GID} --groups sudo ${username}
|
||||||
|
|
||||||
|
# give users in the sudo group sudo access in the container
|
||||||
|
echo '%sudo ALL=(ALL) NOPASSWD:ALL' >> /etc/sudoers
|
||||||
|
|
||||||
|
# copy ssh key files
|
||||||
|
mkdir -p ${homedir}
|
||||||
|
mkdir -p ${sshdir}
|
||||||
|
cp /var/ssh/* ${sshdir}/
|
||||||
|
chown -R ${username}:${usergroup} ${homedir}
|
||||||
|
|
||||||
|
exec "$@"
|
||||||
|
|
Loading…
Reference in New Issue
Block a user