Index: head/comms/ebusd/Makefile =================================================================== --- head/comms/ebusd/Makefile (revision 533777) +++ head/comms/ebusd/Makefile (revision 533778) @@ -1,47 +1,47 @@ # $FreeBSD$ PORTNAME= ebusd -PORTVERSION= 3.3 +PORTVERSION= 3.4 DISTVERSIONPREFIX= v CATEGORIES= comms MAINTAINER= samm@FreeBSD.org COMMENT= Daemon for communication with eBUS heating systems LICENSE= GPLv3 LICENSE_FILE= ${WRKSRC}/LICENSE LIB_DEPENDS= libargp.so:devel/argp-standalone USES= autoreconf compiler:c++11-lang localbase:ldflags USE_GITHUB= yes GH_ACCOUNT= john30 USE_RC_SUBR= ebusd USERS= ebusd GROUPS= ebusd LOGDIR= /var/log/${PORTNAME} RUNDIR= /var/run/${PORTNAME} CPPFLAGS+= -I${LOCALBASE}/include GNU_CONFIGURE= yes PLIST_SUB= USER=${USERS} GROUP=${GROUPS} \ LOGDIR=${LOGDIR} \ RUNDIR=${RUNDIR} OPTIONS_DEFINE= MQTT OPTIONS_DEFAULT=MQTT MQTT_DESC= MQTT protocol support MQTT_CONFIGURE_WITH= mqtt MQTT_LIB_DEPENDS= libmosquitto.so:net/mosquitto MQTT_VARS= LIBS+=-lmosquitto post-install: ${MKDIR} ${STAGEDIR}${LOGDIR} ${MKDIR} ${STAGEDIR}${RUNDIR} .include Index: head/comms/ebusd/distinfo =================================================================== --- head/comms/ebusd/distinfo (revision 533777) +++ head/comms/ebusd/distinfo (revision 533778) @@ -1,3 +1,3 @@ -TIMESTAMP = 1569925578 -SHA256 (john30-ebusd-v3.3_GH0.tar.gz) = 48669140cfafbe060c765b4530018b30f07e1b074dbce00b205a8f2a22dee573 -SIZE (john30-ebusd-v3.3_GH0.tar.gz) = 696172 +TIMESTAMP = 1588504293 +SHA256 (john30-ebusd-v3.4_GH0.tar.gz) = 38d69e8687ab98cd6cfcadc6ca1b1949ce29a0efa51f82e3e38777a1f99b28ae +SIZE (john30-ebusd-v3.4_GH0.tar.gz) = 462066 Index: head/comms/ebusd/files/patch-src_lib_ebus_device.h =================================================================== --- head/comms/ebusd/files/patch-src_lib_ebus_device.h (revision 533777) +++ head/comms/ebusd/files/patch-src_lib_ebus_device.h (nonexistent) @@ -1,10 +0,0 @@ ---- src/lib/ebus/device.h.orig 2018-12-26 15:38:15 UTC -+++ src/lib/ebus/device.h -@@ -22,6 +22,7 @@ - #include - #include - #include -+#include - #include - #include - #include Property changes on: head/comms/ebusd/files/patch-src_lib_ebus_device.h ___________________________________________________________________ Deleted: fbsd:nokeywords ## -1 +0,0 ## -yes \ No newline at end of property Deleted: svn:eol-style ## -1 +0,0 ## -native \ No newline at end of property Deleted: svn:mime-type ## -1 +0,0 ## -text/plain \ No newline at end of property Index: head/comms/ebusd/files/patch-src_lib_ebus_device.cpp =================================================================== --- head/comms/ebusd/files/patch-src_lib_ebus_device.cpp (revision 533777) +++ head/comms/ebusd/files/patch-src_lib_ebus_device.cpp (nonexistent) @@ -1,59 +0,0 @@ ---- src/lib/ebus/device.cpp.orig 2018-12-26 15:38:15 UTC -+++ src/lib/ebus/device.cpp -@@ -30,6 +30,9 @@ - #ifdef HAVE_LINUX_SERIAL - # include - #endif -+#ifdef HAVE_FREEBSD_UFTDI -+# include -+#endif - #include - #ifdef HAVE_PPOLL - # include -@@ -192,7 +195,7 @@ result_t SerialDevice::open() { - struct termios newSettings; - - // open file descriptor -- m_fd = ::open(m_name, O_RDWR | O_NOCTTY); -+ m_fd = ::open(m_name, O_RDWR | O_NOCTTY | O_NDELAY); - - if (m_fd < 0) { - return RESULT_ERR_NOTFOUND; -@@ -215,13 +218,24 @@ result_t SerialDevice::open() { - } - #endif - -+#ifdef HAVE_FREEBSD_UFTDI -+ int param = 0; -+ // flush tx/rx and set low latency on uftdi device -+ if (ioctl(m_fd, UFTDIIOC_GET_LATENCY, ¶m) == 0) { -+ ioctl(m_fd, UFTDIIOC_RESET_IO, ¶m); -+ param = 1; -+ ioctl(m_fd, UFTDIIOC_SET_LATENCY, ¶m); -+ } -+#endif -+ - // save current settings - tcgetattr(m_fd, &m_oldSettings); - - // create new settings - memset(&newSettings, 0, sizeof(newSettings)); - -- newSettings.c_cflag |= (B2400 | CS8 | CLOCAL | CREAD); -+ cfsetspeed(&newSettings, B2400); -+ newSettings.c_cflag |= (CS8 | CLOCAL | CREAD); - newSettings.c_lflag &= ~(ICANON | ECHO | ECHOE | ISIG); // non-canonical mode - newSettings.c_iflag |= IGNPAR; // ignore parity errors - newSettings.c_oflag &= ~OPOST; -@@ -234,7 +248,10 @@ result_t SerialDevice::open() { - tcflush(m_fd, TCIFLUSH); - - // activate new settings of serial device -- tcsetattr(m_fd, TCSAFLUSH, &newSettings); -+ if (tcsetattr(m_fd, TCSAFLUSH, &newSettings)) { -+ close(); -+ return RESULT_ERR_DEVICE; -+ } - - // set serial device into blocking mode - fcntl(m_fd, F_SETFL, fcntl(m_fd, F_GETFL) & ~O_NONBLOCK); Property changes on: head/comms/ebusd/files/patch-src_lib_ebus_device.cpp ___________________________________________________________________ Deleted: fbsd:nokeywords ## -1 +0,0 ## -yes \ No newline at end of property Deleted: svn:eol-style ## -1 +0,0 ## -native \ No newline at end of property Deleted: svn:mime-type ## -1 +0,0 ## -text/plain \ No newline at end of property Index: head/comms/ebusd/files/patch-src_lib_utils_tcpsocket.h =================================================================== --- head/comms/ebusd/files/patch-src_lib_utils_tcpsocket.h (revision 533777) +++ head/comms/ebusd/files/patch-src_lib_utils_tcpsocket.h (nonexistent) @@ -1,10 +0,0 @@ ---- src/lib/utils/tcpsocket.h.orig 2018-12-26 15:38:15 UTC -+++ src/lib/utils/tcpsocket.h -@@ -21,6 +21,7 @@ - - #include - #include -+#include - #include - #include - #include Property changes on: head/comms/ebusd/files/patch-src_lib_utils_tcpsocket.h ___________________________________________________________________ Deleted: fbsd:nokeywords ## -1 +0,0 ## -yes \ No newline at end of property Deleted: svn:eol-style ## -1 +0,0 ## -native \ No newline at end of property Deleted: svn:mime-type ## -1 +0,0 ## -text/plain \ No newline at end of property Index: head/comms/ebusd/files/patch-configure.ac =================================================================== --- head/comms/ebusd/files/patch-configure.ac (revision 533777) +++ head/comms/ebusd/files/patch-configure.ac (revision 533778) @@ -1,19 +1,11 @@ --- configure.ac.orig 2018-12-26 15:38:15 UTC +++ configure.ac -@@ -36,6 +36,7 @@ AC_SUBST(EXTRA_LIBS) - AC_CHECK_FUNC([pselect], [AC_DEFINE(HAVE_PSELECT, [1], [Defined if pselect() is available.])]) - AC_CHECK_FUNC([ppoll], [AC_DEFINE(HAVE_PPOLL, [1], [Defined if ppoll() is available.])]) - AC_CHECK_HEADER([linux/serial.h], [AC_DEFINE(HAVE_LINUX_SERIAL, [1], [Defined if linux/serial.h is available.])]) -+AC_CHECK_HEADER([dev/usb/uftdiio.h], [AC_DEFINE(HAVE_FREEBSD_UFTDI, [1], [Defined if dev/usb/uftdiio.h is available.])]) - - AC_ARG_ENABLE(coverage, AS_HELP_STRING([--enable-coverage], [enable code coverage tracking]), [CXXFLAGS+=" -coverage -O0"], []) - AC_ARG_WITH(contrib, AS_HELP_STRING([--without-contrib], [disable inclusion of contributed sources]), [], [with_contrib=yes]) @@ -118,7 +119,7 @@ AM_COND_IF([CONTRIB], [AC_CONFIG_FILES([ ])]) AC_DEFINE_UNQUOTED(PACKAGE_PIDFILE, LOCALSTATEDIR "/run/" PACKAGE ".pid", [The path and name of the PID file.]) -AC_DEFINE_UNQUOTED(PACKAGE_LOGFILE, LOCALSTATEDIR "/log/" PACKAGE ".log", [The path and name of the log file.]) +AC_DEFINE_UNQUOTED(PACKAGE_LOGFILE, LOCALSTATEDIR "/log/" PACKAGE "/" PACKAGE ".log", [The path and name of the log file.]) AC_DEFINE(SCAN_VERSION, "[m4_esyscmd_s([sed -e 's#^\([0-9]*\.[0-9]*\).*#\1#' -e 's#\.\([0-9]\)$#0\1#' -e 's#\.##' VERSION])]", [The version of the package formatted for the scan result.]) AC_DEFINE(REVISION, "[m4_esyscmd_s([git describe --always 2>/dev/null || (date +p%Y%m%d)])]", [The revision of the package.])