Skip to content

Commit 5f41d28

Browse files
author
reyoung
committed
Make docker build use deb package.
1 parent 22e848e commit 5f41d28

File tree

3 files changed

+31
-16
lines changed

3 files changed

+31
-16
lines changed

cmake/package.cmake

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ set(CPACK_DEBIAN_PACKAGE_ARCHITECTURE amd64)
1010
set(CPACK_DEBIAN_PACKAGE_MAINTAINER PaddlePaddle Dev <[email protected]>)
1111
set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "Paddle")
1212
set(CPACK_PACKAGE_DESCRIPTION "")
13-
set(CPACK_DEBIAN_PACKAGE_DEPENDS "libpython2.7, libstdc++6, python-pip, curl")
13+
set(CPACK_DEBIAN_PACKAGE_DEPENDS "libpython2.7, libstdc++6, python-pip, curl, libgfortran3, python-pip-whl")
1414
set(CPACK_DEBIAN_PACKAGE_SECTION Devel)
1515
set(CPACK_DEBIAN_PACKAGE_CONTROL_EXTRA "${PROJ_ROOT}/paddle/scripts/deb/postinst")
1616
#set(CPACK_GENERATOR "DEB")

paddle/scripts/docker/build.sh

Lines changed: 26 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -44,10 +44,7 @@ fi
4444
make install
4545

4646
# generate deb package for current build
47-
# FIXME(typhoonzero): should we remove paddle/scripts/deb ?
48-
# FIXME: CPACK_DEBIAN_PACKAGE_DEPENDS removes all dev dependencies, must
49-
# install them in docker
50-
cpack -D CPACK_GENERATOR='DEB' -D CPACK_DEBIAN_PACKAGE_DEPENDS="" ..
47+
cpack -D CPACK_GENERATOR='DEB' ..
5148

5249
if [[ ${WOBOQ:-OFF} == 'ON' ]]; then
5350
apt-get install -y clang-3.8 llvm-3.8 libclang-3.8-dev
@@ -76,9 +73,9 @@ fi
7673
paddle version
7774

7875
if [[ -n ${APT_MIRROR} ]]; then
79-
MIRROR_UPDATE="sed -i '${APT_MIRROR}' /etc/apt/sources.list && \\"
76+
MIRROR_UPDATE="sed -i '${APT_MIRROR}' /etc/apt/sources.list"
8077
else
81-
MIRROR_UPDATE="\\"
78+
MIRROR_UPDATE=""
8279
fi
8380

8481
cat > /paddle/build/Dockerfile <<EOF
@@ -87,18 +84,32 @@ MAINTAINER PaddlePaddle Authors <[email protected]>
8784
ENV HOME /root
8885
ENV LANG en_US.UTF-8
8986
# Use Fix locales to en_US.UTF-8
87+
EOF
88+
89+
if [[ -n ${MIRROR_UPDATE} ]]; then
90+
cat >> /paddle/build/Dockerfile <<EOF
9091
RUN ${MIRROR_UPDATE}
91-
apt-get update && \
92-
apt-get install -y libgfortran3 libpython2.7 ${GPU_DOCKER_PKG} && \
93-
apt-get clean -y && \
94-
pip install --upgrade pip && \
95-
pip install -U 'protobuf==3.1.0' requests numpy
92+
EOF
93+
fi
94+
95+
if [[ -n ${GPU_DOCKER_PKG} ]]; then
96+
cat >> /paddle/build/Dockerfile <<EOF
97+
RUN apt-get update && \
98+
apt-get install -y ${GPU_DOCKER_PKG} && \
99+
apt-get clean -y
100+
EOF
101+
fi
102+
103+
cat >> /paddle/build/Dockerfile <<EOF
104+
RUN pip install --upgrade pip
105+
96106
# Use different deb file when building different type of images
97-
ADD build/*.deb /usr/local/opt/paddle/deb/
107+
ADD build/*.deb /
98108
# run paddle version to install python packages first
99-
RUN dpkg -i /usr/local/opt/paddle/deb/*.deb && \
100-
apt-get -f && \
101-
rm -f /usr/local/opt/paddle/deb/*.deb && \
109+
RUN apt-get update &&\
110+
dpkg -i /*.deb ; apt-get install -f -y && \
111+
apt-get clean -y && \
112+
rm -f /*.deb && \
102113
pip install /usr/opt/paddle/share/wheels/*.whl && \
103114
paddle version
104115
${CPU_DOCKER_PYTHON_HOME_ENV}

python/setup.py.in

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,10 @@ setup(name='paddle',
1414
version='${PADDLE_VERSION}',
1515
description='Parallel Distributed Deep Learning',
1616
packages=packages,
17+
install_requires=[
18+
"numpy",
19+
"protobuf==3.1.0"
20+
],
1721
package_dir={
1822
'': '${CMAKE_CURRENT_SOURCE_DIR}'
1923
}

0 commit comments

Comments
 (0)