mirror of
https://github.com/freedomofpress/dangerzone.git
synced 2025-04-28 18:02:38 +02:00
Update docs to use sphinx syntax when possible
This commit is contained in:
parent
d4e312a57b
commit
6bc123503e
5 changed files with 64 additions and 65 deletions
|
@ -4,34 +4,25 @@
|
||||||
|
|
||||||
Install dependencies:
|
Install dependencies:
|
||||||
|
|
||||||
<table>
|
:::{admonition} Read this section if you are on Ubuntu 22.04 (Jammy).</i></summary>
|
||||||
<tr>
|
:collapsible: closed
|
||||||
<td>
|
The `conmon` version that Podman uses and Ubuntu Jammy ships, has a bug
|
||||||
<details>
|
that gets triggered by Dangerzone
|
||||||
<summary><i>:memo: Expand this section if you are on Ubuntu 22.04 (Jammy).</i></summary>
|
(more details in https://github.com/freedomofpress/dangerzone/issues/685).
|
||||||
</br>
|
If you want to run Dangerzone from source, you are advised to install a
|
||||||
|
patched `conmon` version. A simple way to do so is to enable our
|
||||||
|
apt-tools-prod repo, just for the `conmon` package:
|
||||||
|
|
||||||
The `conmon` version that Podman uses and Ubuntu Jammy ships, has a bug
|
```bash
|
||||||
that gets triggered by Dangerzone
|
sudo cp ./dev_scripts/apt-tools-prod.sources /etc/apt/sources.list.d/
|
||||||
(more details in https://github.com/freedomofpress/dangerzone/issues/685).
|
sudo cp ./dev_scripts/apt-tools-prod.pref /etc/apt/preferences.d/
|
||||||
If you want to run Dangerzone from source, you are advised to install a
|
```
|
||||||
patched `conmon` version. A simple way to do so is to enable our
|
|
||||||
apt-tools-prod repo, just for the `conmon` package:
|
|
||||||
|
|
||||||
```bash
|
The `conmon` package provided in the above repo was built with the
|
||||||
sudo cp ./dev_scripts/apt-tools-prod.sources /etc/apt/sources.list.d/
|
following [instructions](https://github.com/freedomofpress/maint-dangerzone-conmon/tree/ubuntu/jammy/fpf).
|
||||||
sudo cp ./dev_scripts/apt-tools-prod.pref /etc/apt/preferences.d/
|
Alternatively, you can install a `conmon` version higher than `v2.0.25` from
|
||||||
```
|
any repo you prefer.
|
||||||
|
:::
|
||||||
The `conmon` package provided in the above repo was built with the
|
|
||||||
following [instructions](https://github.com/freedomofpress/maint-dangerzone-conmon/tree/ubuntu/jammy/fpf).
|
|
||||||
Alternatively, you can install a `conmon` version higher than `v2.0.25` from
|
|
||||||
any repo you prefer.
|
|
||||||
|
|
||||||
</details>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
|
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
|
@ -156,9 +147,9 @@ poetry shell
|
||||||
./dev_scripts/dangerzone
|
./dev_scripts/dangerzone
|
||||||
```
|
```
|
||||||
|
|
||||||
> [!NOTE]
|
:::{note}
|
||||||
> Prefer running the following command in a Fedora development environment,
|
Prefer running the following command in a Fedora development environment, created by `./dev_script/env.py`. You can read more about how to do that [here](./environments).
|
||||||
> created by `./dev_script/env.py`.
|
:::
|
||||||
|
|
||||||
Create a .rpm:
|
Create a .rpm:
|
||||||
|
|
||||||
|
@ -169,11 +160,12 @@ Create a .rpm:
|
||||||
## Qubes OS
|
## Qubes OS
|
||||||
|
|
||||||
|
|
||||||
> :warning: Native Qubes support is in beta stage, so the instructions below
|
:::{warning}
|
||||||
> require switching between qubes, and are subject to change.
|
Native Qubes support is in beta stage, so the instructions below require
|
||||||
>
|
switching between qubes, and are subject to change. If you want to build
|
||||||
> If you want to build Dangerzone on Qubes and use containers instead of disposable
|
Dangerzone on Qubes and use containers instead of disposable qubes, please
|
||||||
> qubes, please follow the instructions of Fedora / Debian instead.
|
follow the instructions of Fedora / Debian instead.
|
||||||
|
:::
|
||||||
|
|
||||||
|
|
||||||
### Initial Setup
|
### Initial Setup
|
||||||
|
@ -293,9 +285,11 @@ QUBES_CONVERSION=1 poetry run ./dev_scripts/dangerzone
|
||||||
|
|
||||||
And when creating a `.rpm` you'll need to enable the `--qubes` flag.
|
And when creating a `.rpm` you'll need to enable the `--qubes` flag.
|
||||||
|
|
||||||
> [!NOTE]
|
:::{note}
|
||||||
> Prefer running the following command in a Fedora development environment,
|
Prefer running the following command in a Fedora development environment,
|
||||||
> created by `./dev_script/env.py`.
|
created by `./dev_script/env.py`.
|
||||||
|
You can read more about how to do that [here](./environments).
|
||||||
|
:::
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
./install/linux/build-rpm.py --qubes
|
./install/linux/build-rpm.py --qubes
|
||||||
|
@ -442,10 +436,10 @@ Install the WiX UI extension. You may need to open a new terminal in order to us
|
||||||
wix extension add --global WixToolset.UI.wixext/5.0.2
|
wix extension add --global WixToolset.UI.wixext/5.0.2
|
||||||
```
|
```
|
||||||
|
|
||||||
> [!IMPORTANT]
|
:::{important}
|
||||||
> To avoid compatibility issues, ensure the WiX UI extension version matches the version of the WiX Toolset.
|
To avoid compatibility issues, ensure the WiX UI extension version matches the version of the WiX Toolset.
|
||||||
>
|
Run `wix --version` to check the version of WiX Toolset you have installed and replace `5.x.y` with the full version number without the Git revision.
|
||||||
> Run `wix --version` to check the version of WiX Toolset you have installed and replace `5.x.y` with the full version number without the Git revision.
|
:::
|
||||||
|
|
||||||
### If you want to sign binaries with Authenticode
|
### If you want to sign binaries with Authenticode
|
||||||
|
|
||||||
|
|
|
@ -1,10 +1,5 @@
|
||||||
# gVisor integration
|
# gVisor integration
|
||||||
|
|
||||||
> [!NOTE]
|
|
||||||
> **Update on 2025-01-13:** There is no longer a copied container image under
|
|
||||||
> `/home/dangerzone/dangerzone-image/rootfs`. We now reuse the same container
|
|
||||||
> image both for the inner and outer container. See
|
|
||||||
> [#1048](https://github.com/freedomofpress/dangerzone/issues/1048).
|
|
||||||
|
|
||||||
Dangerzone has relied on the container runtime available in each supported
|
Dangerzone has relied on the container runtime available in each supported
|
||||||
operating system (Docker Desktop on Windows / macOS, Podman on Linux) to isolate
|
operating system (Docker Desktop on Windows / macOS, Podman on Linux) to isolate
|
||||||
|
@ -27,6 +22,13 @@ as **untrusted**, and the computation and output of the second container as
|
||||||
trusted. For this reason, and because we are about to remove the need for the
|
trusted. For this reason, and because we are about to remove the need for the
|
||||||
second container, our integration plan will focus on the first container.
|
second container, our integration plan will focus on the first container.
|
||||||
|
|
||||||
|
:::{versionchanged} 0.9.0
|
||||||
|
There is no longer a copied container image under
|
||||||
|
`/home/dangerzone/dangerzone-image/rootfs`. We now reuse the same container
|
||||||
|
image both for the inner and outer container. See
|
||||||
|
[#1048](https://github.com/freedomofpress/dangerzone/issues/1048).
|
||||||
|
:::
|
||||||
|
|
||||||
## Design overview
|
## Design overview
|
||||||
|
|
||||||
Our integration goals are to:
|
Our integration goals are to:
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
|
|
||||||
We want to improve the transparency and auditability of our build artifacts, and
|
We want to improve the transparency and auditability of our build artifacts, and
|
||||||
a way to achieve this is via reproducible builds. For a broader understanding of
|
a way to achieve this is via reproducible builds. For a broader understanding of
|
||||||
what reproducible builds entail, check out https://reproducible-builds.org/.
|
what reproducible builds entail, check out [reproducible-builds.org](https://reproducible-builds.org)
|
||||||
|
|
||||||
Our build artifacts consist of:
|
Our build artifacts consist of:
|
||||||
* Container images (`amd64` and `arm64` architectures)
|
* Container images (`amd64` and `arm64` architectures)
|
||||||
|
|
|
@ -75,24 +75,25 @@ Once we are confident that the release will be out shortly, and doesn't need any
|
||||||
```
|
```
|
||||||
**Note**: release candidates are suffixed by `-rcX`.
|
**Note**: release candidates are suffixed by `-rcX`.
|
||||||
|
|
||||||
> [!IMPORTANT]
|
:::{important}
|
||||||
> Because we don't have [reproducible builds](https://github.com/freedomofpress/dangerzone/issues/188)
|
Because we don't have [reproducible builds](https://github.com/freedomofpress/dangerzone/issues/188)
|
||||||
> yet, building the Dangerzone container image in various platforms would lead
|
yet, building the Dangerzone container image in various platforms would lead
|
||||||
> to different container image IDs / hashes, due to different timestamps. To
|
to different container image IDs / hashes, due to different timestamps. To
|
||||||
> avoid this issue, we should build the final container image for x86_64
|
avoid this issue, we should build the final container image for x86_64
|
||||||
> architectures on **one** platform, and then copy it to the rest of the
|
architectures on **one** platform, and then copy it to the rest of the
|
||||||
> platforms, before creating our .deb / .rpm / .msi / app bundles.
|
platforms, before creating our .deb / .rpm / .msi / app bundles.
|
||||||
|
:::
|
||||||
|
|
||||||
### macOS Release
|
### macOS Release
|
||||||
|
|
||||||
> [!TIP]
|
:::{tip}
|
||||||
> You can automate these steps from your macOS terminal app with:
|
You can automate these steps from your macOS terminal app with:
|
||||||
>
|
```
|
||||||
> ```
|
export APPLE_ID=<email>
|
||||||
> export APPLE_ID=<email>
|
make build-macos-intel # for Intel macOS
|
||||||
> make build-macos-intel # for Intel macOS
|
make build-macos-arm # for Apple Silicon macOS
|
||||||
> make build-macos-arm # for Apple Silicon macOS
|
```
|
||||||
> ```
|
:::
|
||||||
|
|
||||||
The following needs to happen for both Silicon and Intel chipsets.
|
The following needs to happen for both Silicon and Intel chipsets.
|
||||||
|
|
||||||
|
@ -274,9 +275,10 @@ repo, by sending a PR. Follow the instructions in that repo on how to do so.
|
||||||
|
|
||||||
#### Fedora
|
#### Fedora
|
||||||
|
|
||||||
> **NOTE**: This procedure will have to be done for every supported Fedora version.
|
:::{note}
|
||||||
>
|
This procedure will have to be done for every supported Fedora version.
|
||||||
> In this section, we'll use Fedora 41 as an example.
|
In this section, we'll use Fedora 41 as an example.
|
||||||
|
:::
|
||||||
|
|
||||||
Create a Fedora development environment. You can [follow the
|
Create a Fedora development environment. You can [follow the
|
||||||
instructions in our build section](https://github.com/freedomofpress/dangerzone/blob/main/BUILD.md#fedora),
|
instructions in our build section](https://github.com/freedomofpress/dangerzone/blob/main/BUILD.md#fedora),
|
||||||
|
|
|
@ -3,6 +3,7 @@
|
||||||
Dangerzone being a privacy-focused tool, it is subject to security advisories. To be updated about future ones, you can follow [the news from the project blog](https://dangerzone.rocks/news/).
|
Dangerzone being a privacy-focused tool, it is subject to security advisories. To be updated about future ones, you can follow [the news from the project blog](https://dangerzone.rocks/news/).
|
||||||
|
|
||||||
```{toctree}
|
```{toctree}
|
||||||
|
:maxdepth: 1
|
||||||
|
|
||||||
advisories/2024-12-24.md
|
advisories/2024-12-24.md
|
||||||
advisories/2023-12-07.md
|
advisories/2023-12-07.md
|
||||||
|
|
Loading…
Reference in a new issue