-
Notifications
You must be signed in to change notification settings - Fork 0
Build Instructions
Please note that release builds are performed with the script located at ci_cd/build.sh
- The
ci_cd/build.sh
scripts invokes other shell scripts- It requires
podman
,qemu-user-static
and other utilities - The scripts assumes a "real" Linux environment (i.e. not tested on Cygwin, WSL or similar)
- It requires
- The release builds run inside an Ubuntu Linux virtual machine (amd64 box)
Because the software is written in Rust, you'll first need Rust installed on your machine.
A container solution (Docker or Podman or Lima) should also be installed for building the "sandbox" container image.
The dependencies below apply to a Debian GNU Linux environment. Package names may vary a little bit for other Linux distributions.
apt install -y libjpeg62-turbo-dev \
squashfs-tools \
xorg-dev \
musl-dev \
musl-tools \
musl \
wget \
cmake \
git \
libpango1.0-dev \
libxft-dev \
libx11-dev \
libxcb-render0-dev \
libxcb-shape0-dev \
libxcb-xfixes0-dev \
libxcb1-dev \
libxcursor-dev \
gcc \
g++ \
git \
libpango1.0-dev \
libcairo2-dev \
cpio \
rpm2cpio \
build-essential rpm pandoc \
fuse \
patchelf \
desktop-file-utils \
squashfuse && apt clean
You'll likely need to install Xcode and its command-line tools.
Software components can be found inside the app
folder of the project.
The entrusted-container
container image can be built from the app
folder.
-
entrusted-container
is meant to be run within a Unix/Linux environment, inside a container solution - In the commands to follow, please replace
0.2.6
by the actual version defined inCargo.toml
of any given module.
podman build -t docker.io/uycyjnzgntrn/entrusted_container:0.2.6 . -f entrusted_container/Dockerfile
docker build -t docker.io/uycyjnzgntrn/entrusted_container:0.2.6 . -f entrusted_container/Dockerfile
lima nerdctl build -t docker.io/uycyjnzgntrn/entrusted_container:0.2.6 . -f entrusted_container/Dockerfile
Building the GUI is enabled as a cargo
feature for ensuring that it's possible to build the command-line interface without GUI specific dependencies.
cargo build --features=gui
At runtime, the entrusted-webserver
binary expects the entrusted-cli
program to be available in your PATH
environment variable.
- You'll need to build the
entrusted-client
first - And then hen place the command-line client in the directory of your choosing (in the
PATH
)
This is a standard build with cargo build
.
At runtime, the entrusted-webclient
expects the entrusted-webserver
to be deployed and running "somewhere on the network".
This is a standard build with cargo build
.