Source code

Revision control

Copy as Markdown

Other Tools

#!/bin/bash
set -x -e -v
cd $MOZ_FETCHES_DIR/msix-packaging
export PATH=$MOZ_FETCHES_DIR/clang/bin:$PATH
# makelinux.sh invokes `make` with no parallelism. These jobs run on hosts with
# 16+ vCPUs; let's try to take advantage.
export MAKEFLAGS=-j16
./makelinux.sh --pack -- \
-DCMAKE_SYSROOT=$MOZ_FETCHES_DIR/sysroot \
-DCMAKE_EXE_LINKER_FLAGS_INIT='-fuse-ld=lld -Wl,-rpath=\$ORIGIN' \
-DCMAKE_SHARED_LINKER_FLAGS_INIT='-fuse-ld=lld -Wl,-rpath=\$ORIGIN' \
-DCMAKE_SKIP_BUILD_RPATH=TRUE
mkdir msix-packaging
cp .vs/bin/makemsix msix-packaging
cp .vs/lib/libmsix.so msix-packaging
# The `msix-packaging` tool links against libicu dynamically. It would be
# better to link statically, but it's not easy to achieve. This copies the
# needed libicu libraries from the sysroot, and the rpath settings above allows
# them to be loaded, which means the consuming environment doesn't need to
# install libicu directly.
LD_LIBRARY_PATH=$MOZ_FETCHES_DIR/sysroot/usr/lib/x86_64-linux-gnu \
ldd msix-packaging/libmsix.so | awk '$3 ~ /libicu/ {print $3}' | xargs -I '{}' cp '{}' msix-packaging
tar caf msix-packaging.tar.zst msix-packaging
mkdir -p $UPLOAD_DIR
cp msix-packaging.tar.zst $UPLOAD_DIR