svn commit: r544744 - in head/sysutils/py-mqttwarn: . files
Dan Langille
dvl at FreeBSD.org
Wed Aug 12 12:38:08 UTC 2020
Author: dvl
Date: Wed Aug 12 12:38:06 2020
New Revision: 544744
URL: https://svnweb.freebsd.org/changeset/ports/544744
Log:
Update t0 0.16.2
Now with Python 3
https://github.com/jpmens/mqttwarn/releases/tag/0.16.2
Differential Revision: https://reviews.freebsd.org/D24654
Added:
head/sysutils/py-mqttwarn/files/mqttwarn.in (contents, props changed)
head/sysutils/py-mqttwarn/files/patch-mqttwarn_examples_basic_mqttwarn.ini (contents, props changed)
head/sysutils/py-mqttwarn/files/patch-setup.py (contents, props changed)
Deleted:
head/sysutils/py-mqttwarn/files/patch-mqttwarn.ini.sample
head/sysutils/py-mqttwarn/files/patch-mqttwarn.py
head/sysutils/py-mqttwarn/pkg-plist
Modified:
head/sysutils/py-mqttwarn/Makefile
head/sysutils/py-mqttwarn/distinfo
head/sysutils/py-mqttwarn/files/pkg-message.in
Modified: head/sysutils/py-mqttwarn/Makefile
==============================================================================
--- head/sysutils/py-mqttwarn/Makefile Wed Aug 12 10:58:12 2020 (r544743)
+++ head/sysutils/py-mqttwarn/Makefile Wed Aug 12 12:38:06 2020 (r544744)
@@ -1,57 +1,95 @@
# $FreeBSD$
PORTNAME= mqttwarn
-DISTVERSION= 0.10.4
-PORTREVISION= 1
+DISTVERSION= 0.16.2
CATEGORIES= sysutils python
+MASTER_SITES= CHEESESHOP
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
MAINTAINER= dvl at FreeBSD.org
COMMENT= Subscribe to MQTT topics and notify pluggable services
LICENSE= EPL
-LICENSE_FILE= ${WRKSRC}/LICENSE
-DEPRECATED= Uses deprecated version of python
-EXPIRATION_DATE= 2020-08-15
+RUN_DEPENDS+= ${PYTHON_PKGNAMEPREFIX}six>=1.13.0:devel/py-six@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}paho-mqtt>=1.4.0:net/py-paho-mqtt@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}Jinja2>=2.10.1:devel/py-Jinja2@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}attrs>=19.3.0:devel/py-attrs@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}docopt>=0.6.2:devel/py-docopt@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}requests>=2.22.0:www/py-requests@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}future>=0.18.2:devel/py-future@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}configparser>=3.5.3:devel/py-configparser@${PY_FLAVOR}
-RUN_DEPENDS+= ${PYTHON_PKGNAMEPREFIX}paho-mqtt>=0:net/py-paho-mqtt@${PY_FLAVOR}
-RUN_DEPENDS+= ${PYTHON_PKGNAMEPREFIX}supervisor>=0:sysutils/py-supervisor@${PY_FLAVOR}
+# based on setup.py : tests_require=extras['test'],
+TEST_DEPENDS= ${PYTHON_PKGNAMEPREFIX}pytest>0:devel/py-pytest@${PY_FLAVOR}
-USES= python:2.7 shebangfix
-USE_PYTHON= flavors
+USES= python shebangfix
+USE_PYTHON= autoplist concurrent distutils
SHEBANG_REGEX= '.*\.py$$'
-USE_GITHUB= yes
-GH_ACCOUNT= jpmens
NO_ARCH= yes
-OPTIONS_DEFINE= DOCS EXAMPLES
+# Most of what is in setup.py under extras is supported.
+# The following were omitted because their dependencies are not found in the
+# FreeBSD port tree: AMQP APPRISE ASTERISK FBCHAT IOHUB NMA NSCA OSXNOTIFY PASTEBINPUB PROWL PUSHBULLET
+# SLACK TOOTPASTE XIVELY XMPP
+OPTIONS_DEFINE= DOCS EXAMPLES \
+ APNS CELERY DNSUPDATE GSS GSS2 MYSQL POSTGRES REISPUB RRDTOOL \
+ SERIAL SSH TWILIO TWITTER WEBSOCKET
USERS= mqttwarn
GROUPS= mqttwarn
-SUB_FILES= pkg-message
+SUB_FILES= pkg-message mqttwarn
-post-patch:
- @${REINPLACE_CMD} -e 's|MQTTWARN_LIBDIR|${PYTHON_SITELIBDIR}/${PORTNAME}/lib/|g' ${WRKSRC}/mqttwarn.ini.sample
+APNS_DESC= Apple Push Notifications
+CELERY_DESC= Asynchronous task queue/job queue
+DNSUPDATE_DESC= DNS updates
+GSS_DESC= Google Docs Spreadsheet
+GSS2_DESC= Google Docs Spreadsheet 2
+MYSQL_DESC= MySQL plugin
+POSTGRES_DESC= PostgreSQL Plugin
+REISPUB_DESC= Publishes to a Redis channel
+RRDTOOL_DESC= Updates a round robin database created by rrdtool
+SERIAL_DESC= Serial port
+SSH_DESC= ssh plugin
+TWILIO_DESC= Use Twilio API to send messages
+TWITTER_DESC= Notifications to Twitter accounts
+WEBSOCKET_DESC= Websocket
-do-build:
- (cd ${WRKSRC} && ${PYTHON_CMD} -m compileall .)
+APNS_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}apns2>=2.0.1:devel/py-apns2@${PY_FLAVOR}
+CELERY_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}celery>0:devel/py-celery@${PY_FLAVOR}
+DNSUPDATE_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}dnspython>=1.15.0:dns/py-dnspython@${PY_FLAVOR}
+GSS_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}gdata>=2.0.18:devel/py-gdata@${PY_FLAVOR}
+GSS2_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}gspread>=2.1.10:net/py-gspread@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}oauth2client>=4.1.2:security/py-oauth2client@${PY_FLAVOR}
+MYSQL_USES= mysql
+POSTGRES_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}psycopg2>=2.7.4:databases/py-psycopg2@${PY_FLAVOR}
+REISPUB_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}redis>=2.10.6:databases/py-redis@${PY_FLAVOR}
+RRDTOOL_LIB_DEPENDS= librrd.so:databases/rrdtool
+RRDTOOL_RUN_DEPENDS= rrdtool>0.1.12:databases/rrdtool
+SERIAL_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}pyserial>3.40:comms/py-pyserial@${PY_FLAVOR}
+SSH_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}paramiko>2.4.1:security/py-paramiko@${PY_FLAVOR}
+TWILIO_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}twilio>6.11.0:devel/py-twilio@${PY_FLAVOR}
+TWITTER_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}python-twitter>=3.4.1:net/py-python-twitter@${PY_FLAVOR}
+WEBSOCKET_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}websocket-client>=0.47.0:www/py-websocket-client@${PY_FLAVOR}
-do-install:
- ${MKDIR} ${STAGEDIR}/var/log/${PORTNAME}
- ${INSTALL_SCRIPT} ${WRKSRC}/mqttwarn.py ${STAGEDIR}${PREFIX}/sbin/mqttwarn
- (cd ${WRKSRC}/etc && ${COPYTREE_SHARE} . ${STAGEDIR}${ETCDIR})
- (cd ${WRKSRC}/services && ${COPYTREE_SHARE} . ${STAGEDIR}${PYTHON_SITELIBDIR}/${PORTNAME}/lib/services)
- ${CP} ${WRKSRC}/mqttwarn.ini.sample ${STAGEDIR}${ETCDIR}
+do-test:
+ @cd ${WRKSRC} && ${PYTHON_CMD} -m pytest -v -rs -o addopts=
-do-install-DOCS-on:
- @${MKDIR} ${STAGEDIR}${DOCSDIR}
- ${INSTALL_DATA} ${WRKSRC}/README.md ${STAGEDIR}${DOCSDIR}
+post-install:
+ ${INSTALL_SCRIPT} ${WRKDIR}/mqttwarn ${STAGEDIR}${PREFIX}/etc/rc.d
+ @${ECHO_CMD} "etc/rc.d/mqttwarn" >> ${TMPPLIST}
-do-install-EXAMPLES-on:
- @${MKDIR} ${STAGEDIR}${EXAMPLESDIR}
- (cd ${WRKSRC}/examples && ${COPYTREE_SHARE} . ${STAGEDIR}${EXAMPLESDIR})
+ ${MKDIR} ${STAGEDIR}${ETCDIR}
+ ${INSTALL_SCRIPT} ${WRKSRC}/mqttwarn/examples/basic/mqttwarn.ini ${STAGEDIR}${ETCDIR}/mqttwarn.ini.sample
+ @${ECHO_CMD} "@dir ${ETCDIR}" >> ${TMPPLIST}
+ @${ECHO_CMD} "@sample(mqttwarn,mqttwarn,0640) ${ETCDIR}/mqttwarn.ini.sample" >> ${TMPPLIST}
+
+ ${MKDIR} ${STAGEDIR}/var/run/mqttwarn
+ @${ECHO_CMD} "@dir /var/run/mqttwarn" >> ${TMPPLIST}
+
+ ${MKDIR} ${STAGEDIR}/var/log/mqttwarn
+ @${ECHO_CMD} "@dir(mqttwarn,mqttwarn,) /var/log/mqttwarn" >> ${TMPPLIST}
.include <bsd.port.mk>
Modified: head/sysutils/py-mqttwarn/distinfo
==============================================================================
--- head/sysutils/py-mqttwarn/distinfo Wed Aug 12 10:58:12 2020 (r544743)
+++ head/sysutils/py-mqttwarn/distinfo Wed Aug 12 12:38:06 2020 (r544744)
@@ -1,3 +1,3 @@
-TIMESTAMP = 1540990308
-SHA256 (jpmens-mqttwarn-0.10.4_GH0.tar.gz) = a93cd520e622f57f416e01909f807754c485511dbbb2970c85cd479a971fbf73
-SIZE (jpmens-mqttwarn-0.10.4_GH0.tar.gz) = 790670
+TIMESTAMP = 1596829490
+SHA256 (mqttwarn-0.16.2.tar.gz) = d20914858f2f5d2363debf9fc229dda78f9191f42982cdc960de2e4f20bd8950
+SIZE (mqttwarn-0.16.2.tar.gz) = 106511
Added: head/sysutils/py-mqttwarn/files/mqttwarn.in
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/sysutils/py-mqttwarn/files/mqttwarn.in Wed Aug 12 12:38:06 2020 (r544744)
@@ -0,0 +1,48 @@
+#!/bin/sh
+# $FreeBSD$
+
+# PROVIDE: mqttwarn
+# REQUIRE: LOGIN cleanvar
+# KEYWORD: shutdown
+
+#
+# Add the following lines to /etc/rc.conf to enable mqttwarn:
+# mqttwarn_enable (bool): Set to "NO" by default.
+# Set it to "YES" to enable mqttwarn
+#
+
+. /etc/rc.subr
+
+name="mqttwarn"
+rcvar=${name}_enable
+
+pidfile="/var/run/${name}/${name}.pid"
+mqttwarn_user="mqttwarn"
+mqttwarn_command="%%PREFIX%%/bin/mqttwarn"
+command="/usr/sbin/daemon"
+
+load_rc_config $name
+
+: ${mqttwarn_enable:=NO}
+: ${mqttwarn_user:=mqttwarn}
+: ${mqttwarn_group:=mqttwarn}
+: ${mqttwarn_syslog_facility:=local3}
+
+start_precmd=mqttwarn_prestart
+
+# these environment varialbes need to be set or the app will fail to start.
+mqttwarn_env="MQTTWARNINI='/usr/local/etc/mqttwarn/mqttwarn.ini' MQTTWARNLOG='/var/log/mqttwarn/mqttwarn.log'"
+
+mqttwarn_prestart()
+{
+ # create the file pid, and directory, with correct permissions
+ if [ ! -e ${pidfile} ]; then
+ install -o ${mqttwarn_user} -g ${mqttwarn_group} /dev/null ${pidfile};
+ else
+ chown ${mqttwarn_user}:${mqttwarn_group} ${pidfile};
+ fi
+}
+
+command_args="-P ${pidfile} -t ${name} -T ${name} -l ${mqttwarn_syslog_facility} ${mqttwarn_command}"
+
+run_rc_command "$1"
Added: head/sysutils/py-mqttwarn/files/patch-mqttwarn_examples_basic_mqttwarn.ini
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/sysutils/py-mqttwarn/files/patch-mqttwarn_examples_basic_mqttwarn.ini Wed Aug 12 12:38:06 2020 (r544744)
@@ -0,0 +1,12 @@
+# If we don't comment this out, the daemon will fail to start
+--- mqttwarn/examples/basic/mqttwarn.ini.orig 2019-12-27 00:39:16 UTC
++++ mqttwarn/examples/basic/mqttwarn.ini
+@@ -50,7 +50,7 @@ loglevel = DEBUG
+ ; --------
+
+ ; path to file containing self-defined functions for formatmap and datamap
+-functions = 'samplefuncs.py'
++#functions = 'samplefuncs.py'
+
+ ; name the service providers you will be using.
+ launch = file, log
Added: head/sysutils/py-mqttwarn/files/patch-setup.py
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/sysutils/py-mqttwarn/files/patch-setup.py Wed Aug 12 12:38:06 2020 (r544744)
@@ -0,0 +1,156 @@
+# Fix the versions according to what has been tested to work
+# change == to >=
+--- setup.py.orig 2020-08-11 14:49:15 UTC
++++ setup.py
+@@ -7,112 +7,112 @@ here = os.path.abspath(os.path.dirname(__file__))
+ README = open(os.path.join(here, 'README.rst')).read()
+
+ requires = [
+- 'six==1.13.0',
+- 'paho-mqtt==1.5.0',
+- 'jinja2==2.10.3',
+- 'attrs==19.3.0',
+- 'docopt==0.6.2',
+- 'requests==2.22.0',
+- 'future==0.18.2',
+- 'configparser==4.0.2',
++ 'six>=1.13.0',
++ 'paho-mqtt>=1.4.0',
++ 'jinja2>=2.10.1',
++ 'attrs>=19.3.0',
++ 'docopt>=0.6.2',
++ 'requests>=2.22.0',
++ 'future>=0.18.2',
++ 'configparser>=3.5.3',
+ ]
+
+ extras = {
+ 'amqp': [
+- 'puka==0.0.7',
++ 'puka>=0.0.7',
+ ],
+ 'apns': [
+- 'apns==2.0.1',
++ 'apns>=2.0.1',
+ ],
+ 'apprise': [
+- 'apprise==0.8.5',
++ 'apprise>=0.8.5',
+ ],
+ 'asterisk': [
+- 'pyst2==0.5.0',
++ 'pyst2>=0.5.0',
+ ],
+ 'celery': [
+ 'celery',
+ ],
+ 'dnsupdate': [
+- 'dnspython==1.15.0',
++ 'dnspython>=1.15.0',
+ ],
+ 'fbchat': [
+- 'fbchat==1.3.6',
++ 'fbchat>=1.3.6',
+ ],
+ 'gss': [
+- 'gdata==2.0.18',
++ 'gdata>=2.0.18',
+ ],
+ 'gss2': [
+- 'gspread==2.1.1',
+- 'oauth2client==4.1.2',
+- #'google-api-python-client==1.7.11',
++ 'gspread>=2.1.1',
++ 'oauth2client>=4.1.2',
++ #'google-api-python-client>=1.7.11',
+ ],
+ 'iothub': [
+- 'iothub-client==1.1.2.0',
++ 'iothub-client>=1.1.2.0',
+ ],
+ 'mysql': [
+ 'mysql',
+ ],
+ 'nma': [
+- 'PyNMA==1.0',
++ 'PyNMA>=1.0',
+ ],
+ 'nsca': [
+- 'pynsca==1.6',
++ 'pynsca>=1.6',
+ ],
+ 'osxnotify': [
+- 'pync==1.6.1',
++ 'pync>=1.6.1',
+ ],
+ 'pastebinpub': [
+- 'Pastebin==1.1.2',
++ 'Pastebin>=1.1.2',
+ ],
+ 'postgres': [
+- 'psycopg2==2.7.4',
++ 'psycopg2>=2.7.4',
+ ],
+ 'prowl': [
+ 'prowlpy>=0.52',
+ ],
+ 'pushbullet': [
+- 'PushbulletPythonLibrary==2.3',
++ 'PushbulletPythonLibrary>=2.3',
+ ],
+ 'redispub': [
+- 'redis==2.10.6',
++ 'redis>=2.10.6',
+ ],
+ 'rrdtool': [
+- 'rrdtool==0.1.12',
++ 'rrdtool>=0.1.12',
+ ],
+ 'serial': [
+- 'pyserial==3.4',
++ 'pyserial>=3.4',
+ ],
+ 'slack': [
+- 'slacker==0.9.65',
++ 'slacker>=0.9.65',
+ ],
+ 'ssh': [
+- 'paramiko==2.4.1',
++ 'paramiko>=2.4.1',
+ ],
+ 'tootpaste': [
+- 'Mastodon.py==1.2.2',
++ 'Mastodon.py>=1.2.2',
+ ],
+ 'twilio': [
+- 'twilio==6.11.0',
++ 'twilio>=6.11.0',
+ ],
+ 'twitter': [
+- 'python-twitter==3.4.1',
++ 'python-twitter>=3.4.1',
+ ],
+ 'websocket': [
+- 'websocket-client==0.47.0',
++ 'websocket-client>=0.47.0',
+ ],
+ 'xively': [
+ 'xively-python',
+ ],
+ 'xmpp': [
+- 'xmpppy==0.6.1',
+- 'dnspython==1.16.0',
++ 'xmpppy>=0.6.1',
++ 'dnspython>=1.16.0',
+ ],
+ 'test': [
+- 'pytest==4.6.7',
+- 'pytest-cov==2.8.1',
++ 'pytest>=4.6.7',
++ 'pytest-cov>=2.8.1',
+ 'lovely.testlayers>=0.7.1',
+- 'tox==3.14.2',
++ 'tox>=3.14.2',
+ ],
+ }
+
Modified: head/sysutils/py-mqttwarn/files/pkg-message.in
==============================================================================
--- head/sysutils/py-mqttwarn/files/pkg-message.in Wed Aug 12 10:58:12 2020 (r544743)
+++ head/sysutils/py-mqttwarn/files/pkg-message.in Wed Aug 12 12:38:06 2020 (r544744)
@@ -1,34 +1,16 @@
[
{ type: install
message: <<EOM
-After installing mqttwarn for the first time, we recommend making the
-following change to supervisord configuration settings:
+After installing mqttwarn for the first time, we recommend the following:
1 - Add to /etc/rc.conf:
-supervisord_enable="YES"
-supervisord_config="%%PREFIX%%/etc/supervisord/supervisord.conf"
+mqttwarn_enable="YES"
-2 - Create this directory:
+2 - Edit your configuration file
-mkdir %%PREFIX%%/etc/supervisord
+%%PREFIX%%/etc/mqttwarn/mqttwarn.conf
-3 - Move the configuration file:
-
-mv -i %%PREFIX%%/etc/supervisord.conf %%PREFIX%%/etc/supervisord/
-
-4 - Create %%PREFIX%%/etc/supervisord/mqttwarn.conf with the following content:
-
-[program:mqttwarn]
-command = %%PREFIX%%/sbin/mqttwarn
-user = mqttwarn
-environment=MQTTWARNINI="%%PREFIX%%/etc/mqttwarn/mqttwarn.ini",MQTTWARNLOG="/var/log/mqttwarn/mqttwarn.log"
-
-
-5 - Add this to the end of %%PREFIX%%/etc/supervisord/supervisord.conf
-
-[include]
-files = mqttwarn.conf
EOM
}
]
More information about the svn-ports-head
mailing list