[bigupdate] (1) sats-sync.target is now a service because Assertion wasn't working so added an ExecStart that does the same (2) Added sats-sync-stop path and service to stop sats-sync target (now service) when the file changes (3) Fixed in `sats-install` script an echo to a `slog` (step 8)

This commit is contained in:
xdrm-brackets 2017-07-24 18:03:08 +02:00
parent def9d80334
commit cca5071ac3
9 changed files with 89 additions and 39 deletions

View File

@ -316,47 +316,57 @@ step7(){
# (1) Create sats-boot service # # (1) Create sats-boot service #
echo " (.) Create sats-boot service"; echo " (.) Create sats-boot service";
echo " - /lib/systemd/system"; echo " - /lib/systemd/system";
sudo cp ./utility/sats-boot.service /mnt/lib/systemd/system/sats-boot.service; sudo cp ./utility/sats-boot.service /mnt/lib/systemd/system/sats-boot.service;
# (2) Create sats-install service # # (2) Create sats-install service #
echo " (.) Create sats-install service"; echo " (.) Create sats-install service";
echo " - /lib/systemd/system"; echo " - /lib/systemd/system";
sudo cp ./utility/sats-install.service /mnt/lib/systemd/system/sats-install.service; sudo cp ./utility/sats-install.service /mnt/lib/systemd/system/sats-install.service;
# (3) Create sats-update service # # (3) Create sats-update service #
echo " (.) Create sats-update service"; echo " (.) Create sats-update service";
echo " - /lib/systemd/system"; echo " - /lib/systemd/system";
sudo cp ./utility/sats-update.service /mnt/lib/systemd/system/sats-update.service; sudo cp ./utility/sats-update.service /mnt/lib/systemd/system/sats-update.service;
# (4) Create sats-loop service # # (4) Create sats-loop service #
echo " (.) Create sats-loop service"; echo " (.) Create sats-loop service";
echo " - /lib/systemd/system"; echo " - /lib/systemd/system";
sudo cp ./utility/sats-loop.service /mnt/lib/systemd/system/sats-loop.service; sudo cp ./utility/sats-loop.service /mnt/lib/systemd/system/sats-loop.service;
# (5) Create sats-sync target # # (5) Create sats-sync target #
echo " (.) Create sats-sync target"; echo " (.) Create sats-sync target (service)";
echo " - /lib/systemd/system"; echo " - /lib/systemd/system";
sudo cp ./utility/sats-sync.target /mnt/lib/systemd/system/sats-sync.target sudo cp ./utility/sats-sync.service /mnt/lib/systemd/system/sats-sync.service;
# (6) Create sats-sync path # # (6) Create sats-sync-stop service #
echo " (.) Create sats-sync-stop service";
echo " - /lib/systemd/system";
sudo cp ./utility/sats-sync-stop.service /mnt/lib/systemd/system/sats-sync-stop.service;
# (7) Create sats-sync path #
echo " (.) Create sats-sync path"; echo " (.) Create sats-sync path";
echo " - /lib/systemd/system"; echo " - /lib/systemd/system";
sudo cp ./utility/sats-sync.path /mnt/lib/systemd/system/sats-sync.path; sudo cp ./utility/sats-sync.path /mnt/lib/systemd/system/sats-sync.path;
# (7) Create sats-update timer # # (8) Create sats-sync-stop path #
echo " (.) Create sats-sync-stop path";
echo " - /lib/systemd/system";
sudo cp ./utility/sats-sync-stop.path /mnt/lib/systemd/system/sats-sync-stop.path;
# (9) Create sats-update timer #
echo " (.) Create sats-update timer"; echo " (.) Create sats-update timer";
echo " - /lib/systemd/system"; echo " - /lib/systemd/system";
sudo cp ./utility/sats-update.timer /mnt/lib/systemd/system/sats-update.timer; sudo cp ./utility/sats-update.timer /mnt/lib/systemd/system/sats-update.timer;
# (8) Create sats-dwc@ service # # (10) Create sats-dwc@ service #
echo " (.) Create sats-dwc@ service"; echo " (.) Create sats-dwc@ service";
echo " - /lib/systemd/system"; echo " - /lib/systemd/system";
sudo cp ./utility/sats-dwc@.service /mnt/lib/systemd/system/sats-dwc@.service; sudo cp ./utility/sats-dwc@.service /mnt/lib/systemd/system/sats-dwc@.service;
# (9) Create firewall@ service # # (11) Create firewall@ service #
echo " (.) Create firewall@ service"; echo " (.) Create firewall@ service";
echo " - /lib/systemd/system"; echo " - /lib/systemd/system";
sudo cp ./utility/firewall@.service /mnt/lib/systemd/system/firewall@.service; sudo cp ./utility/firewall@.service /mnt/lib/systemd/system/firewall@.service;
# (3) Install services # (3) Install services
@ -366,30 +376,34 @@ step7(){
# (2) Enable sats-loop at startup # # (2) Enable sats-loop at startup #
echo " (.) Emulate \`systemctl enable sats-loop.service\`"; echo " (.) Emulate \`systemctl enable sats-loop.service\`";
sudo ln -fs /lib/systemd/system/sats-loop.service /mnt/etc/systemd/system/multi-user.target.wants/sats-loop.service; sudo ln -fs /lib/systemd/system/sats-loop.service /mnt/etc/systemd/system/multi-user.target.wants/sats-loop.service;
# (3) Enable sats-sync path at startup # # (3) Enable sats-update timer at startup #
echo " (.) Emulate \`systemctl enable sats-sync.path\`";
sudo ln -fs /lib/systemd/system/sats-sync.path /mnt/etc/systemd/system/multi-user.target.wants/sats-sync.path;
# (4) Enable sats-update timer at startup #
echo " (.) Emulate \`systemctl enable sats-update.timer\`"; echo " (.) Emulate \`systemctl enable sats-update.timer\`";
sudo ln -fs /lib/systemd/system/sats-update.timer /mnt/etc/systemd/system/multi-user.target.wants/sats-update.timer; sudo ln -fs /lib/systemd/system/sats-update.timer /mnt/etc/systemd/system/multi-user.target.wants/sats-update.timer;
# (5) Enable sats-dwc@wlan0 at startup # # (4) Enable sats-sync path at startup #
echo " (.) Emulate \`systemctl enable sats-sync.path\`";
sudo ln -fs /lib/systemd/system/sats-sync.path /mnt/etc/systemd/system/multi-user.target.wants/sats-sync.path;
# (5) Enable sats-sync-stop path at startup #
echo " (.) Emulate \`systemctl enable sats-sync-stop.path\`";
sudo ln -fs /lib/systemd/system/sats-sync-stop.path /mnt/etc/systemd/system/multi-user.target.wants/sats-sync-stop.path;
# (6) Enable sats-dwc@wlan0 at startup #
echo " (.) Emulate \`systemctl enable sats-dwc@wlan0.service\`"; echo " (.) Emulate \`systemctl enable sats-dwc@wlan0.service\`";
sudo ln -fs /lib/systemd/system/sats-dwc@.service /mnt/etc/systemd/system/multi-user.target.wants/sats-dwc@wlan0.service; sudo ln -fs /lib/systemd/system/sats-dwc@.service /mnt/etc/systemd/system/multi-user.target.wants/sats-dwc@wlan0.service;
# (6) Enable firewall@default at startup # # (7) Enable firewall@default at startup #
echo " (.) Emulate \`systemctl enable firewall@default.service\`"; echo " (.) Emulate \`systemctl enable firewall@default.service\`";
sudo ln -fs /lib/systemd/system/firewall@.service /mnt/etc/systemd/system/multi-user.target.wants/firewall@default.service; sudo ln -fs /lib/systemd/system/firewall@.service /mnt/etc/systemd/system/multi-user.target.wants/firewall@default.service;
# (4) Create target scripts # (4) Create target scripts
#--------------------------------------------------------# #--------------------------------------------------------#
# (1) Create sats-boot script # # (1) Create sats-boot script #
echo " (.) Create sats-boot script"; echo " (.) Create sats-boot script";
sudo cp ./utility/sats-boot /mnt/service/sats-boot; sudo cp ./utility/sats-boot /mnt/service/sats-boot;
# (2) Create sats-install script # # (2) Create sats-install script #
echo " (.) Create sats-install script"; echo " (.) Create sats-install script";
@ -397,20 +411,24 @@ step7(){
# (3) Create sats-update script # # (3) Create sats-update script #
echo " (.) Create sats-update script"; echo " (.) Create sats-update script";
cat ./utility/sats-update | sudo tee /mnt/service/sats-update > /dev/null; cat ./utility/sats-update | sudo tee /mnt/service/sats-update > /dev/null;
# (4) Create sats-loop script # # (4) Create sats-loop script #
echo " (.) Create sats-loop script"; echo " (.) Create sats-loop script";
cat ./utility/sats-loop | sudo tee /mnt/service/sats-loop > /dev/null; cat ./utility/sats-loop | sudo tee /mnt/service/sats-loop > /dev/null;
# (5) Create sats-dwc@wlan0 script # # (5) Create sats-sync-stop script #
echo " (.) Create sats-sync-stop script";
cat ./utility/sats-sync-stop | sudo tee /mnt/service/sats-sync-stop > /dev/null;
# (6) Create sats-dwc@wlan0 script #
echo " (.) Create sats-dwc@wlan0 script"; echo " (.) Create sats-dwc@wlan0 script";
cat ./utility/wlan0.dwc | sed "s/\*\*\*SALT\*\*\*/$WIFI_SALT/" | sed "s/\*\*\*PEPPER\*\*\*/$WIFI_PEPPER/" | sudo tee /mnt/etc/wpa_supplicant/wlan0.dwc > /dev/null; cat ./utility/wlan0.dwc | sed "s/\*\*\*SALT\*\*\*/$WIFI_SALT/" | sed "s/\*\*\*PEPPER\*\*\*/$WIFI_PEPPER/" | sudo tee /mnt/etc/wpa_supplicant/wlan0.dwc > /dev/null;
# (6) Create firewall@default script # # (7) Create firewall@default script #
echo " (.) Create firewall@default script"; echo " (.) Create firewall@default script";
sudo mkdir -p /mnt/opt/firewall; sudo mkdir -p /mnt/opt/firewall;
cat ./utility/default.fw | sudo tee /mnt/opt/firewall/default.fw > /dev/null; cat ./utility/default.fw | sudo tee /mnt/opt/firewall/default.fw > /dev/null;
# (5) Set up permissions # (5) Set up permissions
@ -425,7 +443,7 @@ step7(){
# (2) target dir # # (2) target dir #
echo " - /target (sats:pi 750)"; echo " - /target (sats:pi 750)";
sudo chown -R 666:1000 /mnt/target; sudo chown -R 666:1000 /mnt/target;
sudo chmod -R 750 /mnt/target; sudo chmod -R 755 /mnt/target;
echo "<<< done"; echo "<<< done";
@ -553,6 +571,7 @@ echo "(6) Manage ssh keys";
echo "(7) Set up systemd background"; echo "(7) Set up systemd background";
echo "(8) Set up WiFi config"; echo "(8) Set up WiFi config";
echo "(9) Set up SATS daemon"; echo "(9) Set up SATS daemon";
echo "(10) Proper finishing";
read -p "step: " step; read -p "step: " step;
case $step in case $step in
@ -565,5 +584,6 @@ case $step in
"7") step7;; "7") step7;;
"8") step8;; "8") step8;;
"9") step9;; "9") step9;;
"10") step10;;
*) echo "wrong step"; exit;; *) echo "wrong step"; exit;;
esac; esac;

View File

@ -66,7 +66,7 @@ fi;
# (2) Enable SPI device # # (2) Enable SPI device #
echo " * 8. Enabling spi device"; slog " * 8. Enabling spi device";
echo "dtparam=spi=on" | sudo tee -a /boot/config.txt > /dev/null \ echo "dtparam=spi=on" | sudo tee -a /boot/config.txt > /dev/null \
|| failexit; || failexit;
echo "dtoverlay=spi-bcm2708" | sudo tee -a /boot/config.txt > /dev/null \ echo "dtoverlay=spi-bcm2708" | sudo tee -a /boot/config.txt > /dev/null \

View File

@ -1,7 +1,7 @@
[Unit] [Unit]
Description=[::SATS::] Daemon Description=[::SATS::] Daemon
Requires=sats-sync.target Requires=sats-sync.service
After=sats-sync.target After=sats-sync.service
[Service] [Service]
Type=simple Type=simple

View File

@ -0,0 +1,3 @@
#!/bin/bash
sudo -u sats test ! -e /target/sync && sudo systemctl stop sats-sync.service;

View File

@ -0,0 +1,9 @@
[Unit]
Description=[::SATS::] Path watcher (stop)
[Path]
PathModified=/target/sync
Unit=sats-sync-stop.service
[Install]
WantedBy=multi-user.target

View File

@ -0,0 +1,10 @@
[Unit]
Description=[::SATS::] Sync target (stop)
[Service]
Type=oneshot
RemainAfterExit=no
User=pi
Group=pi
ExecStart=/bin/bash /service/sats-sync-stop

View File

@ -3,7 +3,7 @@ Description=[::SATS::] Path watcher
[Path] [Path]
PathExists=/target/sync PathExists=/target/sync
Unit=sats-sync.target Unit=sats-sync.service
[Install] [Install]
WantedBy=multi-user.target WantedBy=multi-user.target

View File

@ -4,3 +4,11 @@ Requires=sats-boot.service
Wants=sats-install.service Wants=sats-install.service
After=sats-boot.service sats-install.service After=sats-boot.service sats-install.service
AssertPathExists=/target/sync AssertPathExists=/target/sync
[Service]
Type=oneshot
RemainAfterExit=yes
User=sats
Group=sats
ExecStart=/usr/sbin/test -e /target/sync

View File

@ -2,7 +2,7 @@
Description=[::SATS::] Update Process Description=[::SATS::] Update Process
Requires=sats-dwc@wlan0.service network-online.target Requires=sats-dwc@wlan0.service network-online.target
After=sats-dwc@wlan0.service After=sats-dwc@wlan0.service
Requisite=sats-sync.target Requisite=sats-sync.service
[Service] [Service]
Type=oneshot Type=oneshot