Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
30 changes: 21 additions & 9 deletions taskcluster/docker/signingscript/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,19 @@
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.

FROM $DOCKER_IMAGE_PARENT AS makemsix

USER root

RUN apt-get update \
&& apt-get install --no-install-recommends -y cmake make clang git libicu-dev \
&& apt-get clean

ADD topsrcdir/signingscript/docker.d/build_msix_packaging.sh /app/msix-packaging/build_msix_packaging.sh

# Build makemsix
RUN cd /app/msix-packaging && bash build_msix_packaging.sh

FROM $DOCKER_IMAGE_PARENT

# %include signingscript
Expand All @@ -14,22 +27,21 @@ ADD --chown=app:app topsrcdir/vendored /app/vendored
USER root

# Install msix
# Install rcodesign
COPY --from=makemsix /app/msix-packaging/msix-packaging/.vs/bin/makemsix /usr/bin/makemsix
COPY --from=makemsix /app/msix-packaging/msix-packaging/.vs/lib/libmsix.so /usr/lib/libmsix.so

# Install system dependencies and rcodesign
RUN apt-get update \
&& apt-get install --no-install-recommends -y osslsigncode cmake make clang gpg gpgv git libicu-dev wget \
&& apt-get install --no-install-recommends -y osslsigncode gpg gpgv wget libicu76 \
&& apt-get clean \
&& chown -R app:app /app \
&& cd /app/signingscript/docker.d \
&& bash build_msix_packaging.sh \
&& cp msix-packaging/.vs/bin/makemsix /usr/bin \
&& cp msix-packaging/.vs/lib/libmsix.so /usr/lib \
&& cd .. \
&& rm -rf msix-packaging \
&& wget -qO- \
https://github.com/indygreg/apple-platform-rs/releases/download/apple-codesign%2F0.29.0/apple-codesign-0.29.0-x86_64-unknown-linux-musl.tar.gz \
| tar xvz -C /usr/bin --transform 's/.*\///g' --wildcards --no-anchored 'rcodesign' \
&& chmod +x /usr/bin/rcodesign

# Ensure makemsix minimally works (e.g. no missing libs)
RUN makemsix -?

# Set user and workdir
USER app
WORKDIR /app
Expand Down