File: Dockerfile

package info (click to toggle)
azure-cli 2.82.0-1
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 2,359,416 kB
  • sloc: python: 1,910,381; sh: 1,343; makefile: 406; cs: 145; javascript: 74; sql: 37; xml: 21
file content (46 lines) | stat: -rw-r--r-- 1,589 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
ARG base_image=ubuntu:xenial
FROM ${base_image} AS build-env

# Update APT packages
RUN apt-get update
RUN apt-get install -y libssl-dev libffi-dev python3-dev debhelper zlib1g-dev wget

# Download Python source code
ARG python_version="3.10.10"
ENV PYTHON_SRC_DIR=/usr/src/python
RUN mkdir -p ${PYTHON_SRC_DIR} && \
    wget -qO- https://www.python.org/ftp/python/${python_version}/Python-${python_version}.tgz \
    | tar -xz -C "${PYTHON_SRC_DIR}"

WORKDIR /azure-cli
RUN ${PYTHON_SRC_DIR}/*/configure --srcdir ${PYTHON_SRC_DIR}/* --prefix $(pwd)/python_env &&\
    make && \
    make install && \
    ln /azure-cli/python_env/bin/python3 /azure-cli/python_env/bin/python && \
    ln /azure-cli/python_env/bin/pip3 /azure-cli/python_env/bin/pip

ENV PATH=/azure-cli/python_env/bin:$PATH

RUN pip install wheel

COPY . .

RUN mkdir -p ./bin/pypi && \
    BUILD_STAGINGDIRECTORY=/azure-cli/bin/pypi ./scripts/release/pypi/build.sh && \
    if [ -d ./privates ]; then find ./privates -name '*.whl' | xargs pip install; fi && \
    find ./bin/pypi -name '*.whl' | xargs pip install &&

ARG cli_version=0.0.0-dev
ARG cli_version_revision=1

RUN mkdir -p ./debian && \
    CLI_VERSION=${cli_version} CLI_VERSION_REVISION=${cli_version_revision} ./scripts/release/debian/prepare.sh ./debian ./az.completion ./ && \
    dpkg-buildpackage -us -uc && \
    cp /azure-cli_${cli_version}-${cli_version_revision}_all.deb /azure-cli_all.deb

FROM $base_image AS execution-env

COPY --from=build-env /azure-cli_all.deb /azure-cli_all.deb

RUN dpkg -i /azure-cli_all.deb && \
    rm /azure-cli_all.deb