diff --git a/Vagrantfile b/Vagrantfile index 9d2cff802..ec9442d24 100644 --- a/Vagrantfile +++ b/Vagrantfile @@ -47,10 +47,12 @@ $ sudo /vagrant/run --develop Plinth will be available at https://localhost:4430/plinth (with an invalid SSL certificate). " + config.trigger.before :destroy do |trigger| - trigger.warn = "Dropping Plinth database" - trigger.run_remote = { - inline: "rm /vagrant/data/var/lib/plinth/plinth.sqlite3" + trigger.warn = "Performing cleanup steps" + trigger.run = { + path: "post-box-destroy.py" } end + config.vm.boot_timeout=1200 end diff --git a/post-box-destroy.py b/post-box-destroy.py new file mode 100755 index 000000000..90bba379a --- /dev/null +++ b/post-box-destroy.py @@ -0,0 +1,37 @@ +#!/usr/bin/python3 +# -*- mode: python -*- +# +# This file is part of FreedomBox. +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as +# published by the Free Software Foundation, either version 3 of the +# License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . +# +""" +Cleanup actions to be run when a vagrant box is destroyed. +""" + +import os + +# Drop Plinth database +try: + os.remove('data/var/lib/plinth/plinth.sqlite3') +except OSError: + pass + +# Truncate status.log +with open('data/var/log/plinth/status.log', 'w') as status_log: + status_log.truncate() + +# Truncate access.log +with open('data/var/log/plinth/access.log', 'w') as access_log: + access_log.truncate()