svn commit: r453267 - in head/comms/telldus-core: . files
Hans Petter Selasky
hselasky at FreeBSD.org
Wed Nov 1 07:55:36 UTC 2017
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 at 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 <bsd.port.pre.mk>
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 <bsd.port.post.mk>
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
+ at owner nobody
@group dialer
@mode 664
- at exec mkdir -p /var/telldus && chown nobody:dialer /var/telldus
- at exec [ -f /var/telldus/telldus-core.conf ] || touch /var/telldus/telldus-core.conf && chown nobody:dialer %D/var/telldus/telldus-core.conf
- at unexec if [ ! -s /var/telldus/telldus-core.conf ]; then rm -vf /var/telldus/telldus-core.conf; fi
- at unexec rmdir /var/telldus >/dev/null 2>&1 || :
+ at dir /var/telldus
+ at sample /var/telldus/telldus-core.conf.sample
+ at owner
@sample etc/tellstick.conf.sample
@group
@mode
+bin/tdtool
etc/devd/tellstick.conf
include/telldus-core.h
lib/libtelldus-core.so
More information about the svn-ports-head
mailing list