mirror of
https://github.com/freedombox/FreedomBox.git
synced 2026-05-27 10:44:33 +00:00
Makefile: Move most of the provision process into build system
Tests: - Performing a fresh container setup works. - Performing a fresh VM setup works. Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org> Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
This commit is contained in:
parent
808380ff52
commit
ba55d8fe2e
33
Makefile
33
Makefile
@ -127,4 +127,35 @@ clean:
|
|||||||
rm -rf Plinth.egg-info
|
rm -rf Plinth.egg-info
|
||||||
find plinth/locale -name *.mo -delete
|
find plinth/locale -name *.mo -delete
|
||||||
|
|
||||||
.PHONY: update-translations configure build install check clean
|
# Run basic setup for a developer environment (VM or container)
|
||||||
|
provision-dev:
|
||||||
|
# Install newer build dependencies if any
|
||||||
|
apt-get update
|
||||||
|
DEBIAN_FRONTEND=noninteractive apt-get build-dep --yes .
|
||||||
|
|
||||||
|
# Install latest code over .deb
|
||||||
|
$(MAKE) build install
|
||||||
|
|
||||||
|
# Reload newer systemd units, ignore failure
|
||||||
|
-systemctl daemon-reload
|
||||||
|
|
||||||
|
# Stop any ongoing upgrade, ignore failure
|
||||||
|
-killall -9 unattended-upgr
|
||||||
|
|
||||||
|
# Fix any broken packages
|
||||||
|
dpkg --configure -a
|
||||||
|
apt-get -f install
|
||||||
|
apt-get update
|
||||||
|
|
||||||
|
# Install new packages needed by essential apps. Don't uninstall
|
||||||
|
# freedombox in case new dependencies conflict with old dependencies
|
||||||
|
apt-mark hold freedombox
|
||||||
|
DEBIAN_FRONTEND=noninteractive apt-get install --no-upgrade --yes \
|
||||||
|
$$(sudo -u plinth ./run --develop --list-dependencies)
|
||||||
|
apt-mark unhold freedombox
|
||||||
|
|
||||||
|
# Install additional packages
|
||||||
|
DEBIAN_FRONTEND=noninteractive apt-get install --yes ncurses-term \
|
||||||
|
sshpass bash-completion
|
||||||
|
|
||||||
|
.PHONY: update-translations configure build install check clean provision
|
||||||
|
|||||||
17
Vagrantfile
vendored
17
Vagrantfile
vendored
@ -23,21 +23,8 @@ Vagrant.configure(2) do |config|
|
|||||||
SHELL
|
SHELL
|
||||||
config.vm.provision "shell", inline: <<-SHELL
|
config.vm.provision "shell", inline: <<-SHELL
|
||||||
cd /freedombox/
|
cd /freedombox/
|
||||||
apt-get update
|
make provision-dev
|
||||||
DEBIAN_FRONTEND=noninteractive apt-get build-dep --no-install-recommends --yes .
|
|
||||||
make build install
|
|
||||||
systemctl daemon-reload
|
|
||||||
# Stop any ongoing upgrade
|
|
||||||
killall -9 unattended-upgr
|
|
||||||
dpkg --configure -a
|
|
||||||
apt -f install
|
|
||||||
apt-get update
|
|
||||||
# In case new dependencies conflict with old dependencies
|
|
||||||
apt-mark hold freedombox
|
|
||||||
DEBIAN_FRONTEND=noninteractive apt-get install --no-upgrade -y $(sudo -u plinth ./run --develop --list-dependencies)
|
|
||||||
apt-mark unhold freedombox
|
|
||||||
# Install ncurses-term
|
|
||||||
DEBIAN_FRONTEND=noninteractive apt-get install -y ncurses-term
|
|
||||||
echo 'alias freedombox-develop="cd /freedombox; sudo -u plinth /freedombox/run --develop"' >> /home/vagrant/.bashrc
|
echo 'alias freedombox-develop="cd /freedombox; sudo -u plinth /freedombox/run --develop"' >> /home/vagrant/.bashrc
|
||||||
SHELL
|
SHELL
|
||||||
config.vm.provision "tests", run: "never", type: "shell", path: "plinth/tests/functional/install.sh"
|
config.vm.provision "tests", run: "never", type: "shell", path: "plinth/tests/functional/install.sh"
|
||||||
|
|||||||
19
container
19
container
@ -159,24 +159,7 @@ set -xe pipefail
|
|||||||
|
|
||||||
cd /freedombox/
|
cd /freedombox/
|
||||||
|
|
||||||
sudo apt-get update
|
sudo make provision-dev
|
||||||
|
|
||||||
if [ $(lsb_release --release --short) != '10' ]; then
|
|
||||||
sudo DEBIAN_FRONTEND=noninteractive apt-get build-dep \
|
|
||||||
--no-install-recommends --yes .
|
|
||||||
fi
|
|
||||||
|
|
||||||
sudo make build install
|
|
||||||
sudo systemctl daemon-reload
|
|
||||||
|
|
||||||
# In case new dependencies conflict with old dependencies
|
|
||||||
sudo apt-mark hold freedombox
|
|
||||||
sudo DEBIAN_FRONTEND=noninteractive apt-get install --no-upgrade --yes \
|
|
||||||
$(sudo -u plinth /freedombox/run --develop --list-dependencies)
|
|
||||||
sudo apt-mark unhold freedombox
|
|
||||||
# Install additional packages
|
|
||||||
sudo DEBIAN_FRONTEND=noninteractive apt-get install --yes ncurses-term \
|
|
||||||
sshpass bash-completion
|
|
||||||
|
|
||||||
echo 'alias freedombox-develop="cd /freedombox; sudo -u plinth /freedombox/run --develop"' \
|
echo 'alias freedombox-develop="cd /freedombox; sudo -u plinth /freedombox/run --develop"' \
|
||||||
>> /home/fbx/.bashrc
|
>> /home/fbx/.bashrc
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user