HACKING.md: Instructions for container-related troubleshooting

A 'Troubleshooting' section added under 'Using Containers' chapter with 2 hints.
References to files and directories were sometimes marked as code sometimes not.
I've standardized them. Bullets in 'Requirements for Development OS' section
visually stress the alternatives.

Reviewed-by: Sunil Mohan Adapa <sunil@medhas.org>
This commit is contained in:
Fioddor Superconcentrado 2020-09-11 18:00:08 +00:00 committed by Sunil Mohan Adapa
parent 893ecbed1b
commit 13998ea977
No known key found for this signature in database
GPG Key ID: 43EA1CFF0AA7C5F2

View File

@ -6,15 +6,14 @@ FreedomBox is built as part of Debian GNU/Linux. However, you don't need to
install Debian to do development for FreedomBox. FreedomBox development is install Debian to do development for FreedomBox. FreedomBox development is
typically done on a container or a Virtual Machine. typically done on a container or a Virtual Machine.
For running a container, you need systemd containers, Git, Python and a * For running a container, you need systemd containers, Git, Python and a
sudo-enabled user. This approach is recommended. sudo-enabled user. This approach is recommended.
* For running a VM, you can work on any operating system that can install latest
For running a VM, you can work on any operating system that can install latest
versions of Git, Vagrant and VirtualBox. versions of Git, Vagrant and VirtualBox.
## Using Containers ## Using Containers
The ./container script shipped with FreedomBox source code can manage the The `./container` script shipped with FreedomBox source code can manage the
development environment inside a systemd-nspawn container. development environment inside a systemd-nspawn container.
1. Checkout FreedomBox Service (Plinth) source code using Git: 1. Checkout FreedomBox Service (Plinth) source code using Git:
@ -46,7 +45,7 @@ development environment inside a systemd-nspawn container.
### Using after Setup ### Using after Setup
After logging into the container, the source code is available in /freedombox After logging into the container, the source code is available in `/freedombox`
directory: directory:
```bash ```bash
@ -72,10 +71,18 @@ guest$ sudo ./setup.py install
Note: This development container has automatic upgrades disabled by default. Note: This development container has automatic upgrades disabled by default.
### Troubleshooting
* Sometimes `host$ ./container destroy && ./container up` doesn't work. In such
cases, try to delete the hidden `.container` folder and then `host$
./container up`.
* Not all kinds of changes are automatically updated. Try `guest$ sudo mount -o
remount /freedombox`.
## Using Vagrant ## Using Vagrant
Use VirtualBox and Vagrant if for some reason, the container option is not Use VirtualBox and Vagrant if for some reason the container option is not
suitable such as when you are running non-GNU/Linux machine or a non-systemd suitable, such as when you are running non-GNU/Linux machine or a non-systemd
machine. machine.
### For Debian GNU/Linux and Derivatives ### For Debian GNU/Linux and Derivatives