FreedomBox/Debugging
From Wiki
Development and Debugging
Starting from scratch
vagrant destroy -f; vagrant box remove freedombox/plinth-dev; vagrant up; vagrant provision
Resetting the VM
vagrant destroy -f && vagrant up && vagrant reload && vagrant ssh
To uninstall diaspora
apt remove --purge diaspora diaspora-common && echo "delete from plinth_module where name='diaspora';" | sqlite3 /var/lib/plinth/plinth.sqlite3
To run in debug (autoreload) mode (doesn't work for files under actions/ folder)
sudo -u plinth /vagrant/run --develop
To open a file in emacs as root@vagrant
mkdir /root/.ssh cp /home/vagrant/.ssh/authorized_keys /root/.ssh
Run only one test
./setup.py test -s plinth.modules.sso.tests.test_auth_pubtkt_util.TestAuthPubTKTUtil.test_create_key_pair
Using pytest
py.test-3 -q -s plinth/modules/backups/tests/test_ssh_remotes.py
Vagrant box download for plinth-dev
wget -O ~/FreedomBox/plinth-dev.box https://app.vagrantup.com/freedombox/boxes/plinth-dev/versions/<version>/providers/virtualbox.box
To use the local box instead of downloading from repo
vagrant box add --name freedombox/plinth-dev <box name>
Turning off mac address randomization in Network Manager
Add this line to all files in /etc/NetworkManager/system-connections under wifi or ethernet or whatever.
mac-address-randomization=0
Login into ttrss Postgresql database
sudo -n -u postgres /bin/bash postgres psql -d ttrss -U ttrss -h localhost
Restart BuildBot server after making changes
This command should be run from the directory that contains the file master.cfg
buildbot checkconfig && (buildbot stop; buildbot upgrade-master; buildbot start)
Continuously run unit tests during development
- Install the package entr from Debian.
- Run this command in a module directory, such as plinth/modules/mediawiki/
find . -name '*.py' | entr -s 'py.test-3'
Clean all __pycache__ files
find . | grep -E (__pycache__|\.pyc|\.pyo$) | xargs rm -rf
Reload browser tab automatically
fd -e html -e css | entr reload-browser Firefox
Remove deleted loopback devices
dmsetup remove_all