Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 12 Aug 2020 12:38:06 +0000 (UTC)
From:      Dan Langille <dvl@FreeBSD.org>
To:        ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org
Subject:   svn commit: r544744 - in head/sysutils/py-mqttwarn: . files
Message-ID:  <202008121238.07CCc6D5048424@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
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@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
 }
 ]



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202008121238.07CCc6D5048424>