From 06c39d93b78d93542ca519fd6645b02d0e1b8f74 Mon Sep 17 00:00:00 2001 From: Gilles Boccon-Gibod Date: Sun, 26 Apr 2020 16:39:52 -0700 Subject: [PATCH] add dev Docker file --- Build/Docker/Dockerfile.dev | 23 +++++++++++++++++++++++ Scripts/SdkPackager.py | 19 ++----------------- tasks/docker.py | 10 ++++++++++ 3 files changed, 35 insertions(+), 17 deletions(-) create mode 100644 Build/Docker/Dockerfile.dev diff --git a/Build/Docker/Dockerfile.dev b/Build/Docker/Dockerfile.dev new file mode 100644 index 00000000..7f9a48ef --- /dev/null +++ b/Build/Docker/Dockerfile.dev @@ -0,0 +1,23 @@ +# Docker file used to create an environment with which to build a release + +FROM ubuntu:bionic + +# Install Dependencies +# Upgrade any ubuntu packages +RUN apt-get update && apt-get upgrade -y && apt-get install -y \ + build-essential \ + cmake \ + python3 \ + git + +# Add a user +ARG USER=bento4 +ARG UID=1000 +ARG GID=1000 +RUN useradd -m ${USER} --uid=${UID} + +# Run as the user we have setup +USER ${UID}:${GID} +WORKDIR /home/${USER} + +CMD ["bash"] diff --git a/Scripts/SdkPackager.py b/Scripts/SdkPackager.py index e0eb4a69..dcbc157a 100644 --- a/Scripts/SdkPackager.py +++ b/Scripts/SdkPackager.py @@ -122,14 +122,6 @@ else: script_dir = os.path.abspath(os.path.dirname(__file__)) BENTO4_HOME = os.path.join(script_dir,'..') -CMAKE_BUILD = False -if len(sys.argv) > 3: - if sys.argv[3] == 'cmake': - CMAKE_BUILD = True - else: - print('ERROR: unknown build type') - sys.exit(1) - # ensure that BENTO4_HOME has been set and exists if not os.path.exists(BENTO4_HOME) : print('ERROR: BENTO4_HOME ('+BENTO4_HOME+') does not exist') @@ -158,7 +150,7 @@ if SDK_TARGET is None: 'linux-i386' : 'x86-unknown-linux', 'linux-x86_64': 'x86_64-unknown-linux', 'linux2' : 'x86-unknown-linux', - 'win32' : 'x86-microsoft-win32-vs2010', + 'win32' : 'x86_64-microsoft-win32', 'darwin' : 'universal-apple-macosx' } @@ -182,14 +174,7 @@ SDK_ROOT=SDK_BUILD_ROOT+'/'+SDK_NAME SDK_TARGET_DIR='Build/Targets/'+SDK_TARGET SDK_TARGET_ROOT=BENTO4_HOME+'/'+SDK_TARGET_DIR -if CMAKE_BUILD: - SDK_BUILD_OUTPUT_DIR = 'cmakebuild' -else: - # special case for Xcode builds - if SDK_TARGET == 'universal-apple-macosx': - SDK_BUILD_OUTPUT_DIR='Build/Targets/universal-apple-macosx/Build/Products/Release' - else: - SDK_BUILD_OUTPUT_DIR = SDK_TARGET_DIR + '/Release' +SDK_BUILD_OUTPUT_DIR = 'cmakebuild' print(SDK_NAME) diff --git a/tasks/docker.py b/tasks/docker.py index 5c6b1da5..f6b69f24 100644 --- a/tasks/docker.py +++ b/tasks/docker.py @@ -37,3 +37,13 @@ def get_sdk_revision(): def build(ctx): command = "docker image build -t bento4:{version}-{revision} -t bento4:latest --build-arg BENTO4_VERSION={version}-{revision} -f Build/Docker/Dockerfile .".format(version=get_version(), revision=get_sdk_revision()) ctx.run(command) + +@task +def build_for_dev(ctx): + command = "docker image build -t bento4-dev:latest -f Build/Docker/Dockerfile.dev ." + ctx.run(command) + +@task +def shell(ctx): + command = "docker run --rm -it -v `pwd`:/home/bento4/project -w /home/bento4/project bento4-dev bash" + ctx.run(command, pty=True)