mirror of
https://github.com/freedomofpress/dangerzone.git
synced 2025-04-28 18:02:38 +02:00
Simplify Qubes install instructions
Many instructions relied on the fact that the developer would have to copy over the RPC policies and install the dependencies manually on the template. This is no longer needed since a Qubes-built package ships the necessary RPC policies and dependencies. Removing the dependencies installation also helps with documentation maintenance since it would be yet another place where we would need to keep the dependency list up to date.
This commit is contained in:
parent
5849800606
commit
555cd33eb6
1 changed files with 23 additions and 61 deletions
84
BUILD.md
84
BUILD.md
|
@ -188,24 +188,14 @@ The following instructions require typing commands in a terminal in dom0.
|
||||||
dz.ConvertDev * @anyvm @dispvm:dz-dvm allow
|
dz.ConvertDev * @anyvm @dispvm:dz-dvm allow
|
||||||
```
|
```
|
||||||
|
|
||||||
#### In the `fedora-38-dz` template
|
|
||||||
|
|
||||||
1. Install dependencies:
|
|
||||||
|
|
||||||
```
|
|
||||||
sudo dnf install -y rpm-build podman python3 python3-devel \
|
|
||||||
python3-poetry-core pipx qt6-qtbase-gui libreoffice python3-magic \
|
|
||||||
python3-keyring tesseract*
|
|
||||||
```
|
|
||||||
|
|
||||||
2. Shutdown the `fedora-38-dz` template:
|
|
||||||
|
|
||||||
```
|
|
||||||
shutdown -h now
|
|
||||||
```
|
|
||||||
|
|
||||||
#### In the `dz` app qube
|
#### In the `dz` app qube
|
||||||
|
|
||||||
|
In the following steps you'll setup the development environment and
|
||||||
|
install a dangerzone build. This will make the development faster since it
|
||||||
|
loads the server code dynamically each time it's run, instead of having
|
||||||
|
to build and install a server package each time the developer wants to
|
||||||
|
test it.
|
||||||
|
|
||||||
1. Clone the Dangerzone project:
|
1. Clone the Dangerzone project:
|
||||||
|
|
||||||
```
|
```
|
||||||
|
@ -213,35 +203,28 @@ The following instructions require typing commands in a terminal in dom0.
|
||||||
cd dangerzone
|
cd dangerzone
|
||||||
```
|
```
|
||||||
|
|
||||||
2. Copy the Qubes RPC calls into the template for the **disposable** qube
|
2. Follow the Fedora instructions for setting up the development environment
|
||||||
that will be used for document sanitization (`dz-dvm`):
|
|
||||||
|
|
||||||
```
|
3. Build a dangerzone `.rpm` for qubes with the command
|
||||||
qvm-copy qubes/*
|
|
||||||
|
```sh
|
||||||
|
./install/linux/build-rpm.py --qubes
|
||||||
```
|
```
|
||||||
|
|
||||||
And then choose `dz-dvm` as the target.
|
4. Copy the produced `.rpm` file into `fedora-38-dz`
|
||||||
|
```sh
|
||||||
#### In the `dz-dvm` template
|
qvm-copy dist/*.x86_64.rpm
|
||||||
|
|
||||||
1. Create the directory that will contain the Dangerzone RPC calls, if it does
|
|
||||||
not exist already:
|
|
||||||
|
|
||||||
```
|
|
||||||
sudo mkdir -p /rw/usrlocal/etc/qubes-rpc/
|
|
||||||
```
|
```
|
||||||
|
|
||||||
2. Move the files we copied in the previous step to their proper place:
|
#### In the `fedora-38-dz` template
|
||||||
|
|
||||||
```
|
1. Install the `.rpm` package you just copied
|
||||||
sudo cp ~/QubesIncoming/dz/* /rw/usrlocal/etc/qubes-rpc/
|
|
||||||
|
```sh
|
||||||
|
sudo dnf install ~/QubesIncoming/dz/*.rpm
|
||||||
```
|
```
|
||||||
|
|
||||||
3. Shutdown the `dz-dvm` qube:
|
2. Shutdown the `fedora-38-dz` template
|
||||||
|
|
||||||
```
|
|
||||||
shutdown -h now
|
|
||||||
```
|
|
||||||
|
|
||||||
### Developing Dangerzone
|
### Developing Dangerzone
|
||||||
|
|
||||||
|
@ -272,31 +255,10 @@ For changes in the server side components, you can simply edit them locally,
|
||||||
and they will be mirrored to the disposable qube through the `dz.ConvertDev`
|
and they will be mirrored to the disposable qube through the `dz.ConvertDev`
|
||||||
RPC call.
|
RPC call.
|
||||||
|
|
||||||
The only reason to update the `fedora-38-dz` template from there on is if:
|
The only reason to build a new Qubes RPM and install it in the `fedora-38-dz`
|
||||||
|
template for development is if:
|
||||||
1. The project requires new server-side components.
|
1. The project requires new server-side components.
|
||||||
2. The code for `dz.ConvertDev` needs to be updated. Copy the updated file
|
2. The code for `qubes/dz.ConvertDev` needs to be updated.
|
||||||
as we've shown in the steps above.
|
|
||||||
|
|
||||||
### Installing Dangerzone system-wide
|
|
||||||
|
|
||||||
If you want to test the .rpm you just created, you can do the following:
|
|
||||||
|
|
||||||
On the `dz` app cube, copy the built `dangerzone.rpm` to `fedora-38-dz`
|
|
||||||
template:
|
|
||||||
|
|
||||||
```
|
|
||||||
qvm-copy-to-vm fedora-38-dz dist/dangerzone*.noarch.rpm
|
|
||||||
```
|
|
||||||
|
|
||||||
On the `fedora-38-dz` template, install the copied .rpm:
|
|
||||||
|
|
||||||
```
|
|
||||||
sudo dnf install -y ~/QubesIncoming/dz/dangerzone-*.rpm
|
|
||||||
```
|
|
||||||
|
|
||||||
Shutdown the `fedora-38-dz` template and the `dz` app qube, and then you can
|
|
||||||
refresh the applications on the `dz` qube, find Dangerzone in the list, and use
|
|
||||||
it to convert a document.
|
|
||||||
|
|
||||||
## macOS
|
## macOS
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue