Grant Henke has posted comments on this change. ( http://gerrit.cloudera.org:8080/12173 )
Change subject: [docker] Add an initial docker build ...................................................................... Patch Set 2: (7 comments) http://gerrit.cloudera.org:8080/#/c/12173/2//COMMIT_MSG Commit Message: http://gerrit.cloudera.org:8080/#/c/12173/2//COMMIT_MSG@20 PS2, Line 20: muti > multi Done http://gerrit.cloudera.org:8080/#/c/12173/2/docker/Dockerfile File docker/Dockerfile: http://gerrit.cloudera.org:8080/#/c/12173/2/docker/Dockerfile@71 PS2, Line 71: # TODO: Remove build dir too? > In theory you could remove thirdparty/build too, except that the clang-tool Right, that's the issue I ran into and I didn't try to fix it yet. Being able to remove this directory would make the docker image ~2.5 GiB smaller. Here is the code comment that explains why it's there: > # Create a link from Clang to thirdparty/clang-toolchain. This path is used # for all Clang invocations. The link can't point to the Clang installed in # the prefix directory, since this confuses CMake into believing the # thirdparty prefix directory is the system-wide prefix, and it omits the # thirdparty prefix directory from the rpath of built binaries. http://gerrit.cloudera.org:8080/#/c/12173/2/docker/Dockerfile@110 PS2, Line 110: COPY ./docs/support docs/support This is actually used in the standard build, without it the build below fails. The first failure is: > CMake Error: File /kudu/docs/support/doxygen/client_api.doxy.in does not > exist. > CMake Error at CMakeLists.txt:1418 (configure_file): configure_file Problem configuring file It looks like if doxygen is installed it is required, otherwise it's ignored. I installed doxygen in the base image so it could be used to build docs if needed. http://gerrit.cloudera.org:8080/#/c/12173/2/docker/Dockerfile-files File docker/Dockerfile-files: http://gerrit.cloudera.org:8080/#/c/12173/2/docker/Dockerfile-files@18 PS2, Line 18: # This docker file is a minimal build usefull for debugging > useful Done http://gerrit.cloudera.org:8080/#/c/12173/2/docker/kudu-entrypoint.sh File docker/kudu-entrypoint.sh: http://gerrit.cloudera.org:8080/#/c/12173/2/docker/kudu-entrypoint.sh@49 PS2, Line 49: KUDU_OPTS="$KUDU_FLAGS \ > Is the idea that KUDU_FLAGS can be set by users to do more configuration? M Done http://gerrit.cloudera.org:8080/#/c/12173/2/docker/kudu-entrypoint.sh@52 PS2, Line 52: --fs_data_dirs=/var/lib/kudu/master \ > You can omit this if the intent is to use the same value as --fs_wal_dir. B Done http://gerrit.cloudera.org:8080/#/c/12173/2/thirdparty/build-thirdparty.sh File thirdparty/build-thirdparty.sh: http://gerrit.cloudera.org:8080/#/c/12173/2/thirdparty/build-thirdparty.sh@248 PS2, Line 248: # Install Hadoop, Hive, and Sentry by copying their source directories into $PREFIX/opt. : # Copying allows the source directory to be removed once thirdparty is built. > How much additional disk space will this consume? This will add ~400MB of space. But it allows me to save almost 2 GiB in the image by removing the source after the build. This change does break the build, I will add a call to ensure the existing directory is wiped before installing. -- To view, visit http://gerrit.cloudera.org:8080/12173 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-Project: kudu Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I95497b39e47f07301be75cbadd814656c7e2ea42 Gerrit-Change-Number: 12173 Gerrit-PatchSet: 2 Gerrit-Owner: Grant Henke <granthe...@apache.org> Gerrit-Reviewer: Adar Dembo <a...@cloudera.com> Gerrit-Reviewer: Attila Bukor <abu...@apache.org> Gerrit-Reviewer: Grant Henke <granthe...@apache.org> Gerrit-Reviewer: Kudu Jenkins (120) Gerrit-Comment-Date: Wed, 23 Jan 2019 03:51:27 +0000 Gerrit-HasComments: Yes