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:
deeplow 2023-12-07 12:53:53 +00:00
parent 5849800606
commit 555cd33eb6
No known key found for this signature in database
GPG key ID: 577982871529A52A

View file

@ -188,24 +188,14 @@ The following instructions require typing commands in a terminal in dom0.
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 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:
```
@ -213,35 +203,28 @@ The following instructions require typing commands in a terminal in dom0.
cd dangerzone
```
2. Copy the Qubes RPC calls into the template for the **disposable** qube
that will be used for document sanitization (`dz-dvm`):
2. Follow the Fedora instructions for setting up the development environment
```
qvm-copy qubes/*
3. Build a dangerzone `.rpm` for qubes with the command
```sh
./install/linux/build-rpm.py --qubes
```
And then choose `dz-dvm` as the target.
#### In the `dz-dvm` template
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/
4. Copy the produced `.rpm` file into `fedora-38-dz`
```sh
qvm-copy dist/*.x86_64.rpm
```
2. Move the files we copied in the previous step to their proper place:
#### In the `fedora-38-dz` template
```
sudo cp ~/QubesIncoming/dz/* /rw/usrlocal/etc/qubes-rpc/
1. Install the `.rpm` package you just copied
```sh
sudo dnf install ~/QubesIncoming/dz/*.rpm
```
3. Shutdown the `dz-dvm` qube:
```
shutdown -h now
```
2. Shutdown the `fedora-38-dz` template
### 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`
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.
2. The code for `dz.ConvertDev` needs to be updated. Copy the updated file
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.
2. The code for `qubes/dz.ConvertDev` needs to be updated.
## macOS