# syntax=docker/dockerfile-upstream:master-labs # Stage 1: bsdiff build image ARG FROM_IMAGE_NAMESPACE=library # Alternatively "docker-remote.bart.sec.samsung.net". FROM ${FROM_IMAGE_NAMESPACE}/ubuntu:20.04 as build COPY bsdiff /bsdiff RUN apt-get update \ && DEBIAN_FRONTEND="noninteractive" apt-get install -y --no-install-recommends \ build-essential \ cmake \ git \ libbrotli-dev \ libdivsufsort-dev \ pkg-config \ && cd bsdiff \ && cmake . \ && make install # Stage 2: upgrade-tools image FROM ${FROM_IMAGE_NAMESPACE}/ubuntu:20.04 RUN apt-get update \ && DEBIAN_FRONTEND="noninteractive" apt-get install -y --no-install-recommends \ aria2 \ attr \ brotli \ file \ git \ libbrotli1 \ libdivsufsort3 \ python-apt \ python-is-python2 \ python2 \ python3 \ python3-apt \ python3-pip \ sudo \ tar \ && rm -rf /var/lib/apt/lists/* COPY --from=build --link /usr/local/bin/ss_bsdiff /usr/local/bin/ # TOTA upgrade tools COPY --link --parents mk_delta/ scripts/ recovery/ /tota-upg/ # mass-delta-builder RUN pip3 install \ beautifulsoup4 \ PyYAML \ requests COPY --link mass-delta-builder/pre_run.sh mass-delta-builder/mass-delta-builder.py /app/ # External plugin ARG CFG_GIT_CLONE_PATH="https://git.tizen.org/cgit/platform/core/system/plugin/upgrade-tools-generic" \ CFG_GIT_BRANCH=tizen RUN --mount=type=tmpfs,target=/tota-upg/mk_delta/temp \ git clone --branch "${CFG_GIT_BRANCH}" "${CFG_GIT_CLONE_PATH}" /tota-upg/mk_delta/temp \ && bash /tota-upg/scripts/directory-setup.sh /tota-upg/mk_delta/temp/ \ && cp -rf /tota-upg/mk_delta/temp/* /tota-upg/mk_delta/ WORKDIR /app VOLUME /images /result /app/cfg