diff --git a/Dockerfile b/Dockerfile new file mode 100755 index 000000000..d1703bc91 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,75 @@ +#!/bin/echo docker build . -f +# -*- coding: utf-8 -*- +#{ +# ISC License +# Copyright (c) 2004-2010 by Internet Systems Consortium, Inc. ("ISC") +# Copyright (c) 1995-2003 by Internet Software Consortium +# Permission to use, copy, modify, and /or distribute this software +# for any purpose with or without fee is hereby granted, +# provided that the above copyright notice +# and this permission notice appear in all copies. +# THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES +# WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES +# OF MERCHANTABILITY AND FITNESS. +# IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, +# OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +# WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +# WHETHER IN AN ACTION OF CONTRACT, +# NEGLIGENCE OR OTHER TORTIOUS ACTION, +# ARISING OUT OF OR IN CONNECTION WITH THE USE +# OR PERFORMANCE OF THIS SOFTWARE. +#} + +FROM resin/rpi-raspbian:stretch +MAINTAINER Philippe Coval (p.coval@samsung.com) + +RUN [ "cross-build-start" ] + +ENV DEBIAN_FRONTEND noninteractive +ENV LC_ALL en_US.UTF-8 +ENV LANG ${LC_ALL} + +RUN echo "#log: Configuring locales" \ + && set -x \ + && apt-get update -y \ + && apt-get install -y locales \ + && echo "${LC_ALL} UTF-8" | tee /etc/locale.gen \ + && locale-gen ${LC_ALL} \ + && dpkg-reconfigure locales \ + && sync + +ENV project node-sqlite3 + +RUN echo "#log: ${project}: Setup system" \ + && set -x \ + && apt-get update -y \ + && apt-get install -y \ + sudo \ + && apt-get clean \ + && NVM_VERSION="v0.33.8" \ + && NODE_VERSION="--lts=carbon" \ + && curl -o- https://github.com/raw/creationix/nvm/${NVM_VERSION}/install.sh | bash \ + && which nvm || . ~/.bashrc \ + && nvm install ${NODE_VERSION} \ + && nvm use ${NODE_VERSION} \ + && sync + +ADD . /usr/local/${project}/${project} +WORKDIR /usr/local/${project}/${project} +RUN echo "#log: ${project}: Preparing sources" \ + && set -x \ + && which npm || . ~/.bashrc \ + && npm install || cat npm-debug.log \ + && npm install \ + && npm build \ + && npm pack \ + && sync + +WORKDIR /usr/local/${project}/${project} +RUN echo "#log: ${project}: Installing sources" \ + && set -x \ + && install -d /usr/local/src/${project}/ \ + && install *.tgz /usr/local/src/${project}/ \ + && sync + +RUN [ "cross-build-end" ] diff --git a/run.sh b/run.sh new file mode 100755 index 000000000..c21033d92 --- /dev/null +++ b/run.sh @@ -0,0 +1,167 @@ +#!/bin/bash +# -*- coding: utf-8 -*- +#{ +# ISC License +# Copyright (c) 2004-2010 by Internet Systems Consortium, Inc. ("ISC") +# Copyright (c) 1995-2003 by Internet Software Consortium +# Permission to use, copy, modify, and /or distribute this software +# for any purpose with or without fee is hereby granted, +# provided that the above copyright notice +# and this permission notice appear in all copies. +# THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES +# WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES +# OF MERCHANTABILITY AND FITNESS. +# IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, +# OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +# WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +# WHETHER IN AN ACTION OF CONTRACT, +# NEGLIGENCE OR OTHER TORTIOUS ACTION, +# ARISING OUT OF OR IN CONNECTION WITH THE USE +# OR PERFORMANCE OF THIS SOFTWARE. +#} + +set -e +set -x + +env_() +{ + project="node-sqlite3" + org="tizenteam" + branch="master" + url_suffix="#{branch}" + + # user="rzr" # Update here if forking + # org="TizenTeam" + # branch="sandbox/${user}/${branch}" + # url_suffix="#{branch}" + url_suffix="" # TODO: For older docker + + url="https://github.com/${org}/${project}.git${url_suffix}" + run_url="https://github.com/raw/${org}/${project}/${branch}/run.sh" + + release="0.0.0" + src=false + if [ -d '.git' ] && which git > /dev/null 2>&1 ; then + src=true + branch=$(git rev-parse --abbrev-ref HEAD) ||: + release=$(git describe --tags || echo "$release") + fi + + SELF="$0" + [ "$SELF" != "$SHELL" ] || SELF="${PWD}/run.sh" + [ "$SELF" != "/bin/bash" ] || SELF="${DASH_SOURCE}" + [ "$SELF" != "/bin/bash" ] || SELF="${BASH_SOURCE}" + self_basename=$(basename -- "${SELF}") +} + + +usage_() +{ + cat< /dev/null 2>&1 ||: + docker create --name "${container}" "${tag}" /bin/true + rm -rf "${outdir}" + mkdir -p "${outdir}" + docker cp "${container}:${dir}" "${outdir}" + echo "Check Ouput files in:" + ls "${outdir}/"* + find "${outdir}" -iname "*.tgz" +} + + +test_() +{ + curl -sL "${run_url}" | bash - +} + + +main_() +{ + env_ "$@" + usage_ "$@" + prep_ "$@" + build_ "$@" +} + + +main_ "$@"