diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..9aab017 --- /dev/null +++ b/Makefile @@ -0,0 +1,4 @@ +build: + cd cmd/fermentord && GOARCH=arm GOARM=6 GOOS=linux go build + +.PHONY: build diff --git a/debian/changelog b/debian/changelog new file mode 100644 index 0000000..52fbfe3 --- /dev/null +++ b/debian/changelog @@ -0,0 +1,5 @@ +fermentord (1.0.0) bullseye; urgency=medium + + * Initial packaging + + -- Søren Rasmussen Tue, 08 Mar 2022 06:29:00 +0100 diff --git a/debian/compat b/debian/compat new file mode 100644 index 0000000..ec63514 --- /dev/null +++ b/debian/compat @@ -0,0 +1 @@ +9 diff --git a/debian/control b/debian/control new file mode 100644 index 0000000..5ea8dad --- /dev/null +++ b/debian/control @@ -0,0 +1,15 @@ +Source: fermentord +Section: main +Priority: optional +Maintainer: Søren Rasmussen +Standards-Version: 3.6.1 + +Package: fermentord +Architecture: armhf +Depends: bash +Description: Beer fermentation controller software + fermentord is a beer fermentation controller software that allows a converted + fridge to function as a beer fermentation chamber. + Configuring the system in /etc/fermentord.toml is mandatory. + The system controls mains voltage. Ensure correct configuration before + starting the daemon, as wrong configuration may damage the hardware. diff --git a/debian/fermentord.dirs b/debian/fermentord.dirs new file mode 100644 index 0000000..9bfdbec --- /dev/null +++ b/debian/fermentord.dirs @@ -0,0 +1 @@ +var/lib/fermentord diff --git a/debian/fermentord.postinst b/debian/fermentord.postinst new file mode 100644 index 0000000..e49d931 --- /dev/null +++ b/debian/fermentord.postinst @@ -0,0 +1,17 @@ +#!/bin/bash + +set -e + +case "$1" in + install) + groupadd --system --force w1 + adduser --system --group --no-create-home --add_extra_groups gpio,w1,spi --home /var/lib/fermentord --shell /sbin/nologin fermentor + ;; + + configure) + systemctl try-reload-or-restart fermentord +esac + +#DEBHELPER# + +exit 0 diff --git a/debian/fermentord.rules b/debian/fermentord.rules new file mode 100644 index 0000000..1f58083 --- /dev/null +++ b/debian/fermentord.rules @@ -0,0 +1 @@ +KERNEL=="w1_bus_master1", SUBSYSTEM=="w1", DRIVER=="w1_master_driver", GROUP="w1", MODE="0660" diff --git a/fermentord.service b/debian/fermentord.service similarity index 64% rename from fermentord.service rename to debian/fermentord.service index 3d0877a..48ff46d 100644 --- a/fermentord.service +++ b/debian/fermentord.service @@ -1,11 +1,16 @@ [Unit] Description=Fermentor daemon -After=network.target +Wants=network-online.target local-fs.target +After=network-online.target local-fs.target ConditionPathExists=!/etc/fermentord_not_to_be_run +ConditionKernelCommandLine=dtoverlay=w1-gpio,gpiopin=4,pullup=0 +ConditionPathExists=/etc/fermentord.toml [Service] ExecStart=/usr/local/bin/fermentord ExecReload=/bin/kill -HUP $MAINPID +User=fermentor +Group=fermentor KillMode=process TimeoutStopSec=15 Restart=always @@ -17,5 +22,6 @@ CPUSchedulingPriority=49 IOSchedulingClass=realtime IOSchedulingPriority=3 + [Install] WantedBy=multi-user.target diff --git a/debian/rules b/debian/rules new file mode 100755 index 0000000..4c746f8 --- /dev/null +++ b/debian/rules @@ -0,0 +1,10 @@ +#!/usr/bin/make -f + +# Uncomment this to turn on verbose mode. +#export DH_VERBOSE=1 + +%: + dh $@ --with systemd + +override_dh_strip: +override_dh_makeshlibs: