aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStuart Shelton <stuart@shelton.me>2018-04-27 20:20:28 +0100
committerStuart Shelton <stuart@shelton.me>2018-04-27 20:20:28 +0100
commitabd6e78ffb8b3e822c5ee2782addef706e31a7db (patch)
tree4620031fecb4878ee07daa9e61e0f0285063216f /www-apps
parentAdd sys-libs/slang-2.3.2, update sys-libs/slang-2.3.0 (diff)
downloadsrcshelton-abd6e78ffb8b3e822c5ee2782addef706e31a7db.tar.gz
srcshelton-abd6e78ffb8b3e822c5ee2782addef706e31a7db.tar.bz2
srcshelton-abd6e78ffb8b3e822c5ee2782addef706e31a7db.zip
Update www-apps/heatmiser-9999
Diffstat (limited to 'www-apps')
-rw-r--r--www-apps/heatmiser/Manifest12
-rw-r--r--www-apps/heatmiser/files/heatmiser-highcharts-version.patch11
-rw-r--r--www-apps/heatmiser/files/heatmiser.confd31
-rw-r--r--www-apps/heatmiser/files/heatmiser.initd52
-rw-r--r--www-apps/heatmiser/heatmiser-9999.ebuild81
5 files changed, 139 insertions, 48 deletions
diff --git a/www-apps/heatmiser/Manifest b/www-apps/heatmiser/Manifest
index 295e1de6..4befc1c5 100644
--- a/www-apps/heatmiser/Manifest
+++ b/www-apps/heatmiser/Manifest
@@ -1,5 +1,7 @@
-AUX heatmiser.conf 231 SHA256 6a884ea715a0f5637e34511bac14e3f6620ddf32b6ff2d49d9ca48273832b4f0 SHA512 381da067386ef56156621e96141bfc74463ebf40c95840e18b1242d1614cf128d6622a3bce21f421c295cc19d17986a20035e413247ccdbc59677c2c88be158e WHIRLPOOL da21d0b0973d470e6f24e2619808607947a6141fd3cff98249ac1f290c66ac82735949250231b54b3e0397b92f959c760fbbb904fb89a398c93c38c6f29ae3f8
-AUX heatmiser.initd 624 SHA256 4196a0cb41c0f8b4935fafcdb3e6feca93b57d9eb54f1a3298babb5d2a4e09e8 SHA512 c68760ec1603c51a42a2ba92eebdbb4e5d8f81c014e5e72e4685978b9c764d1bf051b86a130ca1df7fac53c297a02a9b7669f420d77e49799c766572ac042750 WHIRLPOOL 6d6be852d25ea397e7731facdb3cd37ef6fe61c1f59586f5189d54b7e6fa27e176fff1e2b419d7958c6f64c2018666020eedc31593de0f564425c7946a99e441
-DIST Highstock-1.1.5.zip 303571 SHA256 62982a1950b59a7dddeffbe831976063547c52e4b42bcd2b552e7edd30794846 SHA512 97f72d57b328b4791ac9d79c41ce9f309befb7595adc272f2dec56c675219e8e29c73a5faab56f29f16bd71061736e61ee710ca554f064c16744fa0cfb517240 WHIRLPOOL 0cc987d1316a64d11374400e73b3120c0752ae6065d13d4af81ee216be01efc12b68f70ef3e4a79e5582187e37e49155b1d76d8c3d1175cb496a9ea02a51fba4
-DIST jquery-ui.min.js 186173 SHA256 e21e121c209400a165ef1585f49799a7db6753c9663396ede86de434ae84e1e9 SHA512 4bfc6fbf65cee94f3579aa1f5b03454b01c8d557da30524baf727d19423929eabf786390d3ce0fab0645f2daba5494ad332466f27019b3e60fd2031aa6f6d078 WHIRLPOOL 7de212dd7cfa396f92a6bf1dff419f13af6f7e4a64e71d11cce1c42c694801df7749cdfc6e369ced2d172e2e937ac7ef21a30eff1cfd9a3bf0c3c10b412d63ef
-EBUILD heatmiser-9999.ebuild 2291 SHA256 6a71d6ba1d51441932c3a82875c1fbc9234c3fe0c91234952856039223b1a5c8 SHA512 452a871f46f0074548826200513c13c5112a954e6449ae05510662ad148d7b0b8d7d5c5b93001f0ba64844cc46d21de66e0d1787f14cd32f5edc4f7e23cc60f4 WHIRLPOOL 46a76b5eec3f08589f9432d9e644be81ae9d8d4144db80e9e4e75094e6d6b062c89547e2c0b65242b8cb871d65b9cd5cc20b10b4a2a21a30c9dce09d6410dae2
+AUX heatmiser-highcharts-version.patch 778 BLAKE2B 28b9cbc64548225f1cece376f4e5930121bfcf98b38d1e7ccaf2613d9f637ffbc5c55e0b3d49aa86e61cdf299881efdcad65f2e0f1cda3bc8b4960a16284e1e8 SHA512 370b17b19c52409313dbf62db7d22c76be2323806ce8cdbd7eed90da6ba2dc275bfc46bc3839b433890094d471311c37ebb57e614970d70162fab238d3cca304
+AUX heatmiser.conf 231 BLAKE2B e34487c0b94f3ceeeca9ec7fafda80beee8380e453f331f856c1d85a7a020c5b0f6bc92a5a4a809bd2f67cb75e4c9491e664effff64c6c46a93c4458fbf36f79 SHA512 381da067386ef56156621e96141bfc74463ebf40c95840e18b1242d1614cf128d6622a3bce21f421c295cc19d17986a20035e413247ccdbc59677c2c88be158e
+AUX heatmiser.confd 400 BLAKE2B 2e65ec3be50c5287acd9b594fa2184563d041286f6f10034f602d3aafc47b012f13dc23532180fe88fb2ea4ed4bf6a1a17992690aebfe90f2bbf3d1ce0d2cd22 SHA512 b7f42f8da08b5f27933563ee71fd3cf775210362379640599d4ce2b654d1009b2de1048c9d856a430758291c6dd7d0aa84afe7a08f97eef2566db3fab25d970c
+AUX heatmiser.initd 1606 BLAKE2B c16c571ea161c2a13651dc46b23bec5a60fa6cc25d5901cee3c81975b20f54afaf5eccd529dc6b1ce8784c7f596742dd93c52934bb52091a8a53d575f38a17e5 SHA512 4108080ab183e4ef7360c2ec836f31c28f091751766fa0e5788ab22b0a1f8da0a48329b914ab75661d4b00bc8cdb675d8e993290d27e88d854811666f0bd1309
+DIST Highstock-6.0.7.zip 3959069 BLAKE2B 9f6311c470c284f3353f9f9f6d6d2bfc0b957db37a711d5421b6968c91fae786bebd6401c77fd63e493198ff188d523d2ec7442b721af87552dbf774a3a806a5 SHA512 69331611c63e8694fdae6bb97b35eec72f55df4cb7ff02f4b8c690801b8fe9fc5288b7742a0106cbc7fbe7ad4afb2b8a0ffb1d60491944a221e083d3c82ff7c9
+DIST jquery-2.0.2.min.js 83501 BLAKE2B 03675fdee9cd20e11aea5dc6686f1c5761f4e420265d04f833dfb20aa1d44ff874381c4b5bb14f23a977c0da8152f53bd15c30d5539a3f5eb7faa8d89d3314a3 SHA512 421702a33456ab28734765559c45a14b3c9f0c16e70f27314ffc84c7f9ed0d2eeb7a41f083a3bf8f51ef5a0a5087f1497f80ebad6da0600e60d33286ab56e3cd
+EBUILD heatmiser-9999.ebuild 2786 BLAKE2B 43686c454d3bbe03b802c057d817866c06dacf7f01674756c7b52cadef3a039494ea30c95e714f6c670c3c27aef9711d56cd7c421b9e5a040313e16ea2cf9e06 SHA512 b64f7f8d7f7bb4fbc3edddb7cb6c4ad2792a322599c2f445d0530b34367ff6a72795f90c6c2139ecf2dc52e21534867d62c2b533baa532c259bad3f1b06790d2
diff --git a/www-apps/heatmiser/files/heatmiser-highcharts-version.patch b/www-apps/heatmiser/files/heatmiser-highcharts-version.patch
new file mode 100644
index 00000000..e62db34a
--- /dev/null
+++ b/www-apps/heatmiser/files/heatmiser-highcharts-version.patch
@@ -0,0 +1,11 @@
+--- a/html/index.html
++++ b/html/index.html
+@@ -89,7 +89,7 @@
+ $('#thermostats').parent().hide();
+
+ // Warn if the version of the Highstock JS library is too old
+- if (Highcharts.version < '1.3.2') alert('This web page is designed to work with Highstock JS version 1.3.2, but the currently installed version is ' + Highcharts.version + '.\nDownload the latest version from http://www.highcharts.com/download\n');
++ //if (Highcharts.version < '1.3.2') alert('This web page is designed to work with Highstock JS version 1.3.2, but the currently installed version is ' + Highcharts.version + '.\nDownload the latest version from http://www.highcharts.com/download\n');
+
+ // Create an empty chart
+ chart = new Highcharts.StockChart({
diff --git a/www-apps/heatmiser/files/heatmiser.confd b/www-apps/heatmiser/files/heatmiser.confd
new file mode 100644
index 00000000..f70d16e4
--- /dev/null
+++ b/www-apps/heatmiser/files/heatmiser.confd
@@ -0,0 +1,31 @@
+# Defaults come from /etc/heatmiser.conf, but can
+# be overridden here.
+
+# Options
+#VERBOSE=1
+#LOGFILE='/var/log/heatmiser.log'
+
+# Thermostat
+#HOST=
+#PIN=
+
+#FREQUENCY=60
+
+# Database
+#DBNAME='dbi:mysql:heatmiser'
+#DBUSER='heatmiser'
+#DBPASS='heatmiser'
+
+# Weather Service
+#WEATHER=
+#APIKEY=
+#LOCATION=
+#UNITS='C'/'F'
+#RATE=5
+#
+#WEATHER='wunderground'
+#APIKEY=
+#LOCATION=
+#
+#WEATHER='yahoo'
+#LOCATION=
diff --git a/www-apps/heatmiser/files/heatmiser.initd b/www-apps/heatmiser/files/heatmiser.initd
index 3eb80d91..dfbb2942 100644
--- a/www-apps/heatmiser/files/heatmiser.initd
+++ b/www-apps/heatmiser/files/heatmiser.initd
@@ -1,24 +1,58 @@
#!/sbin/openrc-run
+# Copyright 2013-2018 Stuart Shelton
# Distributed under the terms of the GNU General Public License v2
PERL="$( type -pf perl )"
-NAME=heatmiser_daemon.pl
-DAEMON=/usr/libexec/heatmiser/$NAME
-DAEMON_ARGS=""
-PIDFILE=/var/run/$NAME.pid
+NAME='heatmiser_daemon.pl'
+DAEMON="/usr/libexec/heatmiser/${NAME}"
+DAEMON_ARGS=''
+PIDFILE="/var/run/${NAME}.pid"
depend() {
- need mysql
+ need localmount net mysql
}
start() {
ebegin "Starting Heatmiser Logger"
- start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $PERL -- $DAEMON $DAEMON_ARGS
- eend $? "Unable to start Logging Daemon"
+
+ ARGS=""
+ [ -n "${VERBOSE}" ] && [ "${VERBOSE}" -ne 0 ] && ARGS="-v ${ARGS}"
+ [ -n "${LOGFILE}" ] && ARGS="${ARGS} -l ${LOGFILE}"
+ [ -n "${HOST}" ] && ARGS="${ARGS} -h ${HOST}"
+ [ -n "${PIN}" ] && ARGS="${ARGS} -p ${PIN}"
+ [ -n "${FREQUENCY}" ] && ARGS="${ARGS} -i ${FREQUENCY}"
+ [ -n "${DBNAME}" ] && ARGS="${ARGS} -s ${DBNAME}"
+ [ -n "${DBUSER}" ] && ARGS="${ARGS} -u ${DBUSER}"
+ [ -n "${DBPASS}" ] && ARGS="${ARGS} -a ${DBPASS}"
+ if [ -n "${WEATHER}" ]; then
+ ARGS="${ARGS} -w ${WEATHER}"
+ [ -n "${RATE}" ] && ARGS="${ARGS} -r ${RATE}"
+ [ -n "${APIKEY}" ] && ARGS="${ARGS} -k ${APIKEY}"
+ [ -n "${LOCATION}" ] && ARGS="${ARGS} -g ${LOCATION}"
+ [ -n "${UNITS}" ] && ARGS="${ARGS} -f ${UNITS}"
+ fi
+
+ start-stop-daemon \
+ --start \
+ --quiet \
+ --name "${NAME}" \
+ --pidfile "${PIDFILE}" \
+ --exec "${PERL}" -- "${DAEMON}" ${DAEMON_ARGS} ${ARGS}
+ retval=${?}
+ if [ "${retval}" -eq 0 ] && ! [ -f "${PIDFILE}" ]; then
+ sleep 1
+ fi
+ eend ${retval} "Failed to start Heatmiser Logger daemon"
}
stop() {
ebegin "Stopping Heatmiser Logger"
- start-stop-daemon --stop --quiet --retry=TERM/30/KILL/5 --pidfile $PIDFILE --interpreted --exec $PERL $DAEMON
- eend $? "Unable to stop Logging Daemon"
+ start-stop-daemon \
+ --stop \
+ --quiet \
+ --retry=TERM/30/KILL/5 \
+ --pidfile "${PIDFILE}" \
+ --interpreted \
+ --exec "${PERL}" "${DAEMON}"
+ eend $? "Unable to stop Heatmiser Logger daemon"
}
diff --git a/www-apps/heatmiser/heatmiser-9999.ebuild b/www-apps/heatmiser/heatmiser-9999.ebuild
index 9a66fec1..82350a48 100644
--- a/www-apps/heatmiser/heatmiser-9999.ebuild
+++ b/www-apps/heatmiser/heatmiser-9999.ebuild
@@ -1,15 +1,22 @@
-# Copyright 1999-2012 Gentoo Foundation
+# Copyright 2013-2018 Stuart Shelton
# Distributed under the terms of the GNU General Public License v2
-EAPI=4
+EAPI=6
-inherit subversion webapp
+inherit git-r3 webapp
+
+VER_HC='6.0.7' # Unversioned - this is latest
+VER_JQ='2.0.2' # Hard-coded
+SUB_JQ='' # Previously 'ui'
DESCRIPTION="Perl scripts and web interface for Heatmiser Wi-Fi Thermostats"
-HOMEPAGE="http://code.google.com/p/heatmiser-wifi/"
-SRC_URI="http://code.jquery.com/ui/1.7.2/jquery-ui.min.js \
-http://www.highcharts.com/downloads/zips/Highstock-1.1.5.zip"
-ESVN_REPO_URI="http://heatmiser-wifi.googlecode.com/svn/trunk/"
+HOMEPAGE="https://github.com/thoukydides/heatmiser-wifi"
+SRC_URI="
+ ${SUB_JQ:+https://code.jquery.com/${SUB_JQ:+${SUB_JQ}/}/${VER_JQ}/jquery${SUB_JQ:+-${SUB_JQ}}.min.js -> jquery${SUB_JQ:+-${SUB_JQ}}-${VER_JQ}.min.js}
+ ${SUB_JQ:-https://code.jquery.com/jquery-${VER_JQ}.min.js}
+ https://code.highcharts.com/zips/Highstock-${VER_HC}.zip
+"
+EGIT_REPO_URI="https://github.com/thoukydides/heatmiser-wifi.git"
RESTRICT="nomirror"
LICENSE="GPL-2"
@@ -17,33 +24,35 @@ SLOT="0"
WEBAPP_MANUAL_SLOT="yes"
IUSE=""
-DEPEND=""
-RDEPEND="${DEPEND} \
- virtual/perl-Time-HiRes \
- dev-perl/JSON \
- dev-perl/File-HomeDir \
- dev-perl/Proc-Daemon \
- dev-perl/Proc-PID-File"
+RDEPEND="
+ virtual/perl-Time-HiRes
+ dev-perl/File-HomeDir
+ dev-perl/JSON
+ dev-perl/Proc-Daemon
+ dev-perl/Proc-PID-File
+"
need_httpd_cgi
+PATCHES=( "${FILESDIR}/${PN}-highcharts-version.patch" )
+
src_unpack() {
- subversion_src_unpack
+ git-r3_src_unpack
- for FILE in $A; do
- case "$( basename "$FILE" | sed 's/^.*\.//' )" in
+ for FILE in ${A}; do
+ case "$( basename "${FILE}" | sed 's/^.*\.//' )" in
js)
- if [[ "$FILE" == "jquery-ui.min.js" ]]; then
- cp "$DISTDIR"/"$FILE" "${WORKDIR}"/jquery-1.7.2.min.js || die "File copy failed for file '$FILE'"
+ if [[ "${FILE}" == "jquery${SUB_JQ:+-${SUB_JQ}}-${VER_JQ}.min.js" ]]; then
+ cp "${DISTDIR}/${FILE}" "${WORKDIR}/jquery-${VER_JQ}.min.js" || die "File copy failed for file '${FILE}'"
else
- die "File copy failed for unkown file '$FILE'"
+ die "File copy failed for unkown file '${FILE}'"
fi
;;
zip)
- unpack "$FILE" || die "Unpack failed for file '$FILE'"
+ unpack "${FILE}" || die "Unpack failed for file '${FILE}'"
;;
*)
- die "Unknown file format detected for file '$FILE'"
+ die "Unknown file extension detected for file '${FILE}'"
;;
esac
done
@@ -54,35 +63,39 @@ src_install() {
dodoc COPYING
- insinto "${MY_HTDOCSDIR}"/
- doins -r "${WORKDIR}"/jquery-1.7.2.min.js "${WORKDIR}"/js/highstock.js html/index.html
+ insinto "${MY_HTDOCSDIR}"
+ if [[ -r "${WORKDIR}"/js/highstock.js ]]; then
+ doins -r "${WORKDIR}/jquery-${VER_JQ}.min.js" "${WORKDIR}"/js/highstock.js html/index.html
+ else
+ doins -r "${WORKDIR}/jquery-${VER_JQ}.min.js" "${WORKDIR}"/code/js/highstock.js html/index.html
+ fi
- insinto "${MY_CGIBINDIR}"/"${PN}"/
+ insinto "${MY_CGIBINDIR}/${PN}"
doins bin/heatmiser_config.pm bin/heatmiser_db.pm
- exeinto "${MY_CGIBINDIR}"/"${PN}"/
+ exeinto "${MY_CGIBINDIR}/${PN}"
newexe bin/heatmiser_cgi.pl ajax.pl
rm bin/heatmiser_cgi.pl 2>/dev/null
- insinto /usr/libexec/"${PN}"/
+ insinto /usr/libexec/"${PN}"
doins bin/*.pm
- exeinto /usr/libexec/"${PN}"/
+ exeinto /usr/libexec/"${PN}"
doexe bin/*.pl
newinitd "${FILESDIR}/${PN}.initd" "${PN}"
- #newconfd "${FILESDIR}/${PN}.confd" "${PN}"
+ newconfd "${FILESDIR}/${PN}.confd" "${PN}"
- insinto /etc/
+ insinto /etc
doins "${FILESDIR}/${PN}.conf"
keepdir /etc/cron.daily
dosym /usr/libexec/"${PN}"/heatmiser_time.pl /etc/cron.daily/heatmiser
# Without this it'll crash at startup. When merging in ROOT= this
- # won't be created by default, so we want to make sure we got it!
- keepdir /var/run
- fowners root:root /var/run
- fperms 0755 /var/run
+ # won't be created by default, so we want to make sure we have it!
+ #keepdir /var/run
+ #fowners root:root /var/run
+ #fperms 0755 /var/run
webapp_src_install
}