adds debian examples

master
Moisés Guimarães 2017-09-05 16:19:42 -03:00
parent c4d7ddf8d3
commit a025a002c0
5 changed files with 166 additions and 0 deletions

3
.gitignore vendored 100644
View File

@ -0,0 +1,3 @@
*.tar.gz
*.log

View File

@ -0,0 +1,34 @@
# sid-bin-test.dockerfile
#
# Copyright (C) 2006-2017 wolfSSL Inc.
#
# This file is part of wolfSSL.
#
# wolfSSL is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# wolfSSL is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335, USA
ARG WOLFSSL_DEBIAN_TAG=latest
FROM wolfssl/debian:$WOLFSSL_DEBIAN_TAG
WORKDIR /wolfssl
EXPOSE 11111
ADD examples.tar.gz /wolfssl
COPY docker-entrypoint.sh /wolfssl/docker-entrypoint.sh
ENTRYPOINT ["/wolfssl/docker-entrypoint.sh"]
CMD ["bash"]

View File

@ -0,0 +1,45 @@
#!/bin/sh
#
# Docker examples builder (docker-build-examples.sh)
#
# Copyright (C) 2006-2017 wolfSSL Inc.
#
# This file is part of wolfSSL.
#
# wolfSSL is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# wolfSSL is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335, USA
WOLFSSL_VERSION="3.12.0-stable"
TAGS="sid-bin src-bin"
docker build \
-t wolfssl/debian/example-builder \
-f example-builder.dockerfile \
--build-arg WOLFSSL_VERSION=$WOLFSSL_VERSION \
.
docker run \
--rm \
--entrypoint cat \
wolfssl/debian/example-builder \
/wolfssl/examples.tar.gz \
> examples.tar.gz
for TAG in $TAGS; do
docker build \
-t wolfssl/debian/example:$TAG \
-f bin-example.dockerfile \
--build-arg WOLFSSL_DEBIAN_TAG=$TAG \
.
done

View File

@ -0,0 +1,14 @@
#!/bin/bash
set -e
echo "Container's IP address: `awk 'END{print $1}' /etc/hosts`"
if [ "$1" = 'server' ]; then
./examples/server/$@ -bi
else
if [ "$1" = 'client' ]; then
./examples/client/$@
else
exec "$@"
fi
fi

View File

@ -0,0 +1,70 @@
# Dockerfile
#
# Copyright (C) 2006-2017 wolfSSL Inc.
#
# This file is part of wolfSSL.
#
# wolfSSL is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# wolfSSL is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335, USA
FROM debian
# installing build deps
RUN set -eux \
&& buildDeps=' \
autoconf \
automake \
ca-certificates \
curl \
g++ \
libtool \
make \
unzip \
' \
&& apt-get update \
&& apt-get install -y --no-install-recommends $buildDeps \
&& rm -rf /var/lib/apt/lists/*
ARG WOLFSSL_VERSION
# downloading source files
RUN set -eux \
&& curl \
-LS https://github.com/wolfSSL/wolfssl/archive/v${WOLFSSL_VERSION}.zip \
-o v${WOLFSSL_VERSION}.zip \
&& unzip v${WOLFSSL_VERSION}.zip \
&& rm v${WOLFSSL_VERSION}.zip
# building and installing wolfssl
RUN set -eux \
&& cd wolfssl-${WOLFSSL_VERSION} \
&& ./autogen.sh \
&& ./configure \
--disable-dependency-tracking \
--enable-sha224 \
--enable-distro \
--disable-silent-rules \
&& make \
&& make check
# create testing package
RUN set -eux \
&& mkdir /wolfssl \
&& tar -czvf /wolfssl/examples.tar.gz \
-C /wolfssl-${WOLFSSL_VERSION} \
examples/client/client \
examples/server/server \
examples/client/.libs \
examples/server/.libs \
certs