dangerzone/BUILD.md
Alex Pyrgiotis 82fc69655e
Align Poetry instructions across OSes
Align build instructions about Python Poetry, which where previously
present only on MacOS and Windows. With this commit we:

1. Add Poetry instructions on Linux.
2. Add missing Poetry instructions on Windows, when running Dangerzone
   from source.
2022-11-07 12:03:24 +02:00

4.4 KiB

Development environment

Debian/Ubuntu

Install dependencies:

sudo apt install -y podman dh-python python3 python3-stdeb python3-pyside2.qtcore python3-pyside2.qtgui python3-pyside2.qtwidgets python3-appdirs python3-click python3-xdg python3-colorama

Install poetry:

python -m pip install poetry

Change to the dangerzone folder, and install the poetry dependencies:

poetry install

Build the latest container:

./install/linux/build-image.sh

Run from source tree:

# start a shell in the virtual environment
poetry shell

# run the CLI
./dev_scripts/dangerzone-cli --help

# run the GUI
./dev_scripts/dangerzone

Create a .deb:

./install/linux/build-deb.py

Fedora

Install dependencies:

sudo dnf install -y rpm-build podman python3 python3-setuptools python3-pyside2 python3-appdirs python3-click python3-pyxdg python3-colorama

Install poetry:

python -m pip install poetry

Change to the dangerzone folder, and install the poetry dependencies:

poetry install

Build the latest container:

./install/linux/build-image.sh

Run from source tree:

# start a shell in the virtual environment
poetry shell

# run the CLI
./dev_scripts/dangerzone-cli --help

# run the GUI
./dev_scripts/dangerzone

Create a .rpm:

./install/linux/build-rpm.py

macOS

Install Docker Desktop. Make sure to choose your correct CPU, either Intel Chip or Apple Chip.

Install the latest version of Python 3.10 from python.org, and make sure /Library/Frameworks/Python.framework/Versions/3.10/bin is in your PATH.

Install Python dependencies:

python3 -m pip install poetry
poetry install

Install Homebrew dependencies:

brew install create-dmg

Build the dangerzone container image:

./install/macos/build-image.sh

Run from source tree:

# start a shell in the virtual environment
poetry shell

# run the CLI
./dev_scripts/dangerzone-cli --help

# run the GUI
./dev_scripts/dangerzone

To create an app bundle, use the build_app.py script:

poetry run ./install/macos/build-app.py

If you want to build for distribution, you'll need a codesigning certificate, and then run:

poetry run ./install/macos/build-app.py --with-codesign

The output is in the dist folder.

Windows

Install Docker Desktop.

Install the latest version of Python 3.10 (64-bit) from python.org. Make sure to check the "Add Python 3.10 to PATH" checkbox on the first page of the installer.

Install Microsoft Visual C++ 14.0 or greater. Get it with "Microsoft C++ Build Tools" and make sure to select "Desktop development with C++" when installing.

Install poetry. Open PowerShell, and run:

python -m pip install poetry

Change to the dangerzone folder, and install the poetry dependencies:

poetry install

Build the dangerzone container image:

python .\install\windows\build-image.py

After that you can launch dangerzone during development with:

# start a shell in the virtual environment
poetry shell

# run the CLI
.\dev_scripts\dangerzone-cli.bat --help

# run the GUI
.\dev_scripts\dangerzone.bat

If you want to build the installer

If you want to sign binaries with Authenticode

You'll need a code signing certificate.

To make a .exe

Open a command prompt, cd into the dangerzone directory, and run:

poetry run python .\setup-windows.py build

In build\exe.win32-3.10\ you will find dangerzone.exe, dangerzone-cli.exe, and all supporting files.

To build the installer

Note that you must have a codesigning certificate installed in order to use the install\windows\build-app.bat script, because it codesigns dangerzone.exe, dangerzone-cli.exe and Dangerzone.msi.

poetry run .\install\windows\build-app.bat

When you're done you will have dist\Dangerzone.msi.