From owner-svn-ports-head@freebsd.org Wed Nov 1 07:55:36 2017 Return-Path: Delivered-To: svn-ports-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 25D87E676BE; Wed, 1 Nov 2017 07:55:36 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id F2272271F; Wed, 1 Nov 2017 07:55:35 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id vA17tZlf084646; Wed, 1 Nov 2017 07:55:35 GMT (envelope-from hselasky@FreeBSD.org) Received: (from hselasky@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id vA17tYAC084639; Wed, 1 Nov 2017 07:55:34 GMT (envelope-from hselasky@FreeBSD.org) Message-Id: <201711010755.vA17tYAC084639@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: hselasky set sender to hselasky@FreeBSD.org using -f From: Hans Petter Selasky Date: Wed, 1 Nov 2017 07:55:34 +0000 (UTC) To: ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org Subject: svn commit: r453267 - in head/comms/telldus-core: . files X-SVN-Group: ports-head X-SVN-Commit-Author: hselasky X-SVN-Commit-Paths: in head/comms/telldus-core: . files X-SVN-Commit-Revision: 453267 X-SVN-Commit-Repository: ports MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-ports-head@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: SVN commit messages for the ports tree for head List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 01 Nov 2017 07:55:36 -0000 Author: hselasky (src committer) Date: Wed Nov 1 07:55:34 2017 New Revision: 453267 URL: https://svnweb.freebsd.org/changeset/ports/453267 Log: Update devd rules and various build cleanup. Added support for Tellstick Duo. Approved by: maintainer (Johan Strom, johan@stromnet.se) Tested by: hselasky @ PR: 222790 Added: head/comms/telldus-core/files/pkg-message.in (contents, props changed) Deleted: head/comms/telldus-core/pkg-message Modified: head/comms/telldus-core/Makefile head/comms/telldus-core/files/patch-CMakeLists.txt head/comms/telldus-core/files/patch-common-Socket_unix.cpp head/comms/telldus-core/files/patch-service-SettingsConfuse.cpp head/comms/telldus-core/files/patch-tdadmin-freebsd-devd-tellstick.conf head/comms/telldus-core/pkg-plist Modified: head/comms/telldus-core/Makefile ============================================================================== --- head/comms/telldus-core/Makefile Wed Nov 1 07:44:24 2017 (r453266) +++ head/comms/telldus-core/Makefile Wed Nov 1 07:55:34 2017 (r453267) @@ -3,7 +3,7 @@ PORTNAME= telldus-core PORTVERSION= 2.1.2 -PORTREVISION= 3 +PORTREVISION= 4 CATEGORIES= comms MASTER_SITES= http://download.telldus.se/TellStick/Software/telldus-core/ @@ -20,11 +20,13 @@ LIB_DEPENDS= libftdi.so:devel/libftdi \ BROKEN_powerpc64= Does not build: error: strlen was not declared in this scope BROKEN_sparc64= Does not build: error: strlen was not declared in this scope -USES= cmake compiler:c++11-lang iconv:wchar_t +USE_LDCONFIG= yes +USES= cmake compiler:c++11-lang iconv:wchar_t CMAKE_ARGS+=-DGENERATE_MAN=TRUE # Note: these are internal defines and shall NOT contain ${STAGEDIR} CMAKE_ARGS+=-DSYSCONF_INSTALL_DIR="${PREFIX}/etc" +# Using global /var, otherwise testport complains "Warning: port uses /usr/local/var instead of /var" CMAKE_ARGS+=-DSTATE_INSTALL_DIR="/var/telldus" MAKE_JOBS_UNSAFE= yes @@ -33,6 +35,8 @@ USE_RC_SUBR= telldusd USER= nobody GROUP= dialer +SUB_FILES= pkg-message + .include post-patch: @@ -44,6 +48,9 @@ post-patch: post-install: cd ${STAGEDIR}${PREFIX}/etc && \ ${MV} tellstick.conf tellstick.conf.sample - ${RM} ${STAGEDIR}/var/telldus/telldus-core.conf + # This file is actually empty but allows us to simply use @sample to + # make sure it stays between upgrades if modified + cd ${STAGEDIR}/var/telldus && \ + ${MV} telldus-core.conf telldus-core.conf.sample .include Modified: head/comms/telldus-core/files/patch-CMakeLists.txt ============================================================================== --- head/comms/telldus-core/files/patch-CMakeLists.txt Wed Nov 1 07:44:24 2017 (r453266) +++ head/comms/telldus-core/files/patch-CMakeLists.txt Wed Nov 1 07:55:34 2017 (r453267) @@ -1,6 +1,6 @@ --- CMakeLists.txt +++ CMakeLists.txt -@@ -42,8 +42,18 @@ ENDIF (CMAKE_SYSTEM_NAME MATCHES "FreeBSD") +@@ -37,8 +37,18 @@ ENDIF (CMAKE_SYSTEM_NAME MATCHES "FreeBS SET(BUILD_TDTOOL TRUE CACHE BOOL "Build tdtool") SET(BUILD_TDADMIN ${TDADMIN_DEFAULT} CACHE BOOL "Build tdadmin") @@ -19,7 +19,7 @@ ADD_SUBDIRECTORY(common) ADD_SUBDIRECTORY(service) ADD_SUBDIRECTORY(client) -@@ -61,20 +71,23 @@ ENDIF(BUILD_TDADMIN) +@@ -56,20 +66,23 @@ ENDIF(BUILD_TDADMIN) ENABLE_TESTING() ADD_SUBDIRECTORY(tests) @@ -27,12 +27,20 @@ - -IF(DOXYGEN_FOUND) - SET(DOXY_CONFIG ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile) -- ++IF (GENERATE_DOXYGEN) ++ FIND_PACKAGE(Doxygen) ++ IF(DOXYGEN_FOUND) ++ SET(DOXY_CONFIG ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile) + - CONFIGURE_FILE( - "${CMAKE_CURRENT_SOURCE_DIR}/Doxyfile.in" - ${DOXY_CONFIG} @ONLY - ) -- ++ CONFIGURE_FILE( ++ "${CMAKE_CURRENT_SOURCE_DIR}/Doxyfile.in" ++ ${DOXY_CONFIG} @ONLY ++ ) + - ADD_CUSTOM_TARGET(docs - ${DOXYGEN_EXECUTABLE} ${DOXY_CONFIG} - DEPENDS ${DOXY_CONFIG} @@ -40,16 +48,6 @@ - COMMENT "Generating doxygen documentation" VERBATIM - ) -ENDIF() -+IF (GENERATE_DOXYGEN) -+ FIND_PACKAGE(Doxygen) -+ IF(DOXYGEN_FOUND) -+ SET(DOXY_CONFIG ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile) -+ -+ CONFIGURE_FILE( -+ "${CMAKE_CURRENT_SOURCE_DIR}/Doxyfile.in" -+ ${DOXY_CONFIG} @ONLY -+ ) -+ + ADD_CUSTOM_TARGET(docs + ${DOXYGEN_EXECUTABLE} ${DOXY_CONFIG} + DEPENDS ${DOXY_CONFIG} Modified: head/comms/telldus-core/files/patch-common-Socket_unix.cpp ============================================================================== --- head/comms/telldus-core/files/patch-common-Socket_unix.cpp Wed Nov 1 07:44:24 2017 (r453266) +++ head/comms/telldus-core/files/patch-common-Socket_unix.cpp Wed Nov 1 07:55:34 2017 (r453267) @@ -9,7 +9,7 @@ #define SOCK_CLOEXEC 0 #endif -@@ -130,8 +130,10 @@ std::wstring Socket::read(int timeout) { +@@ -128,8 +128,10 @@ std::wstring Socket::read(int timeout) { void Socket::stopReadWait() { TelldusCore::MutexLocker locker(&d->mutex); Modified: head/comms/telldus-core/files/patch-service-SettingsConfuse.cpp ============================================================================== --- head/comms/telldus-core/files/patch-service-SettingsConfuse.cpp Wed Nov 1 07:44:24 2017 (r453266) +++ head/comms/telldus-core/files/patch-service-SettingsConfuse.cpp Wed Nov 1 07:55:34 2017 (r453267) @@ -9,7 +9,7 @@ cfg_t *cfg; cfg_t *var_cfg; }; -@@ -42,10 +44,10 @@ +@@ -42,10 +44,10 @@ Settings::Settings(void) { */ Settings::~Settings(void) { TelldusCore::MutexLocker locker(&mutex); @@ -22,7 +22,7 @@ cfg_free(d->var_cfg); } delete d; -@@ -56,7 +58,7 @@ +@@ -56,7 +58,7 @@ Settings::~Settings(void) { */ std::wstring Settings::getSetting(const std::wstring &strName) const { TelldusCore::MutexLocker locker(&mutex); @@ -31,7 +31,7 @@ std::string setting(cfg_getstr(d->cfg, TelldusCore::wideToString(strName).c_str())); return TelldusCore::charToWstring(setting.c_str()); } -@@ -68,7 +70,7 @@ +@@ -68,7 +70,7 @@ std::wstring Settings::getSetting(const */ int Settings::getNumberOfNodes(Node node) const { TelldusCore::MutexLocker locker(&mutex); Modified: head/comms/telldus-core/files/patch-tdadmin-freebsd-devd-tellstick.conf ============================================================================== --- head/comms/telldus-core/files/patch-tdadmin-freebsd-devd-tellstick.conf Wed Nov 1 07:44:24 2017 (r453266) +++ head/comms/telldus-core/files/patch-tdadmin-freebsd-devd-tellstick.conf Wed Nov 1 07:55:34 2017 (r453267) @@ -1,15 +1,39 @@ --- tdadmin/freebsd-devd-tellstick.conf 2014-04-06 22:40:11.000000000 +0200 +++ tdadmin/freebsd-devd-tellstick.conf 2014-04-06 20:37:50.501751596 +0200 -@@ -0,0 +1,12 @@ -+attach 10 { -+ device-name "uftdi[0-9]+"; +@@ -0,0 +1,36 @@ ++# Original Tellstick ++notify 10 { ++ match "system" "USB"; ++ match "subsystem" "DEVICE"; ++ match "type" "ATTACH"; + match "vendor" "0x1781"; + match "product" "0x0c30"; ++ action "chgrp dialer /dev/$cdev; chmod 660 /dev/$cdev; @CMAKE_INSTALL_PREFIX@/sbin/tdadmin --pid $product --vid $vendor --serial $sernum controller connect"; ++}; + -+ action "chgrp dialer /dev/ugen$port.$devaddr; chmod 660 /dev/ugen$port.$devaddr; -+ @CMAKE_INSTALL_PREFIX@/sbin/tdadmin --pid $product --vid $vendor --serial $sernum controller connect"; ++notify 10 { ++ match "system" "USB"; ++ match "subsystem" "DEVICE"; ++ match "type" "DETACH"; ++ match "vendor" "0x1781"; ++ match "product" "0x0c30"; ++ action "@CMAKE_INSTALL_PREFIX@/sbin/tdadmin --pid $product --vid $vendor --serial $sernum controller disconnect"; +}; ++# Tellstick Duo ++notify 10 { ++ match "system" "USB"; ++ match "subsystem" "DEVICE"; ++ match "type" "ATTACH"; ++ match "vendor" "0x1781"; ++ match "product" "0x0c31"; ++ action "chgrp dialer /dev/$cdev; chmod 660 /dev/$cdev; @CMAKE_INSTALL_PREFIX@/sbin/tdadmin --pid $product --vid $vendor --serial $sernum controller connect"; ++}; + -+ -+# Haven't managed to handle detach/disconnect events, seems they do not provide any information -+# at all so cannot distinguish different uftdi devices. ++notify 10 { ++ match "system" "USB"; ++ match "subsystem" "DEVICE"; ++ match "type" "DETACH"; ++ match "vendor" "0x1781"; ++ match "product" "0x0c31"; ++ action "@CMAKE_INSTALL_PREFIX@/sbin/tdadmin --pid $product --vid $vendor --serial $sernum controller disconnect"; ++}; Added: head/comms/telldus-core/files/pkg-message.in ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/comms/telldus-core/files/pkg-message.in Wed Nov 1 07:55:34 2017 (r453267) @@ -0,0 +1,20 @@ + +====== +NOTICE +====== + +A devd rule has been installed to automatically notify telldusd +when a new device has been detected. + +Please restart devd to activate this: + + /etc/rc.d/devd restart + +Edit %%PREFIX%%/etc/tellstick.conf to configure some devices, +and enable telldusd in rc.conf. + +Then start telldusd. + +When starting for the first time, you might need to unplug/plugin the device +to allow devd to fix the permissions on the /dev/ugenX.X device. + Modified: head/comms/telldus-core/pkg-plist ============================================================================== --- head/comms/telldus-core/pkg-plist Wed Nov 1 07:44:24 2017 (r453266) +++ head/comms/telldus-core/pkg-plist Wed Nov 1 07:55:34 2017 (r453267) @@ -1,13 +1,13 @@ -bin/tdtool +@owner nobody @group dialer @mode 664 -@exec mkdir -p /var/telldus && chown nobody:dialer /var/telldus -@exec [ -f /var/telldus/telldus-core.conf ] || touch /var/telldus/telldus-core.conf && chown nobody:dialer %D/var/telldus/telldus-core.conf -@unexec if [ ! -s /var/telldus/telldus-core.conf ]; then rm -vf /var/telldus/telldus-core.conf; fi -@unexec rmdir /var/telldus >/dev/null 2>&1 || : +@dir /var/telldus +@sample /var/telldus/telldus-core.conf.sample +@owner @sample etc/tellstick.conf.sample @group @mode +bin/tdtool etc/devd/tellstick.conf include/telldus-core.h lib/libtelldus-core.so