Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 13 Sep 2016 20:18:00 +0000 (UTC)
From:      Kurt Jaeger <pi@FreeBSD.org>
To:        ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org
Subject:   svn commit: r422081 - in head/net/wpa_gui: . files
Message-ID:  <201609132018.u8DKI02v040588@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: pi
Date: Tue Sep 13 20:18:00 2016
New Revision: 422081
URL: https://svnweb.freebsd.org/changeset/ports/422081

Log:
  net/wpa_gui: Several improvements
  
  - Adds DEBUG option to simplify troubleshooting
  - Adds debug logging of wpa_supplicant control interface
  - Installs the manpage
  - Adds USE_QT4=corelib
  - Makes wpa_gui executable setuid to allow it to easily connect to
    wpa_supplicant control socket
  - Fixes the problem that wpa_gui sometimes picks up .pid file instead
    of the control interface
  
  PR:		211214
  Submitted by:	Yuri Victorovich <yuri@rawbw.com>
  Reviewed by:	koobs

Added:
  head/net/wpa_gui/files/patch-wpa_ctrl.c   (contents, props changed)
  head/net/wpa_gui/files/patch-wpagui.cpp   (contents, props changed)
  head/net/wpa_gui/files/pkg-message.in   (contents, props changed)
Modified:
  head/net/wpa_gui/Makefile

Modified: head/net/wpa_gui/Makefile
==============================================================================
--- head/net/wpa_gui/Makefile	Tue Sep 13 20:15:42 2016	(r422080)
+++ head/net/wpa_gui/Makefile	Tue Sep 13 20:18:00 2016	(r422081)
@@ -3,6 +3,7 @@
 
 PORTNAME=	wpa_gui
 PORTVERSION=	2.5
+PORTREVISION=	1
 CATEGORIES=	net
 MASTER_SITES=	http://w1.fi/releases/ \
 		http://partmedia.users.sourceforge.net/dist/:icons \
@@ -18,19 +19,33 @@ LICENSE=	BSD3CLAUSE
 
 WRKSRC_SUBDIR=	wpa_supplicant/wpa_gui-qt4
 
-PLIST_FILES=	sbin/wpa_gui \
+PLIST_FILES=	"@mode 4555" \
+		sbin/wpa_gui \
+		"@mode" \
 		share/applications/wpa_gui.desktop \
 		share/icons/hicolor/16x16/apps/wpa_gui.png \
-		share/icons/hicolor/scalable/apps/wpa_gui.svg
+		share/icons/hicolor/scalable/apps/wpa_gui.svgz \
+		man/man8/wpa_gui.8.gz
 
-USE_QT4=	gui moc_build rcc_build uic_build
+SUB_FILES=	pkg-message
+SUB_LIST=	LOCALBASE=${LOCALBASE}
+
+USE_QT4=	corelib gui moc_build rcc_build uic_build
 USES=		qmake
+INSTALLS_ICONS=	yes
+
+OPTIONS_DEFINE=	DEBUG
 
 post-patch:
 	@${REINPLACE_CMD} -e \
 		'/^Exec/s|=.*|=${PREFIX}/sbin/wpa_gui|' \
 		${WRKSRC}/wpa_gui.desktop
 
+post-patch-DEBUG-on:
+	@${REINPLACE_CMD} -e \
+		's| release| debug|' \
+		${WRKSRC}/wpa_gui.pro
+
 do-install:
 	${INSTALL_PROGRAM} ${WRKSRC}/${PORTNAME} ${STAGEDIR}${PREFIX}/sbin
 	${INSTALL_DATA} ${WRKSRC}/wpa_gui.desktop ${STAGEDIR}${PREFIX}/share/applications
@@ -38,7 +53,9 @@ do-install:
 	${INSTALL_DATA} ${WRKDIR}/icons/hicolor/16x16/apps/wpa_gui.png \
 		${STAGEDIR}${PREFIX}/share/icons/hicolor/16x16/apps
 	${MKDIR} ${STAGEDIR}${PREFIX}/share/icons/hicolor/scalable/apps
-	${INSTALL_DATA} ${WRKSRC}/icons/wpa_gui.svg \
-		${STAGEDIR}${PREFIX}/share/icons/hicolor/scalable/apps
+	@${GZIP_CMD} < ${WRKSRC}/icons/wpa_gui.svg \
+		> ${STAGEDIR}${PREFIX}/share/icons/hicolor/scalable/apps/wpa_gui.svgz
+	@${GZIP_CMD} < ${WRKSRC}/../doc/docbook/wpa_gui.8 \
+		> ${STAGEDIR}${PREFIX}/man/man8/wpa_gui.8.gz
 
 .include <bsd.port.mk>

Added: head/net/wpa_gui/files/patch-wpa_ctrl.c
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/net/wpa_gui/files/patch-wpa_ctrl.c	Tue Sep 13 20:18:00 2016	(r422081)
@@ -0,0 +1,23 @@
+--- ../../src/common/wpa_ctrl.c.orig	2016-07-18 19:31:51.725862000 -0700
++++ ../../src/common/wpa_ctrl.c
+@@ -477,6 +477,10 @@
+ 	char *cmd_buf = NULL;
+ 	size_t _cmd_len;
+ 
++#ifndef QT_NO_DEBUG
++	fprintf(stderr, "CMD-SEND: %*s\n", cmd_len, cmd);
++#endif // QT_NO_DEBUG
++
+ #ifdef CONFIG_CTRL_IFACE_UDP
+ 	if (ctrl->cookie) {
+ 		char *pos;
+@@ -554,6 +558,9 @@
+ 				continue;
+ 			}
+ 			*reply_len = res;
++#ifndef QT_NO_DEBUG
++			fprintf(stderr, "CMD-RECV: %*s\n", *reply_len, reply);
++#endif // QT_NO_DEBUG
+ 			break;
+ 		} else {
+ 			return -2;

Added: head/net/wpa_gui/files/patch-wpagui.cpp
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/net/wpa_gui/files/patch-wpagui.cpp	Tue Sep 13 20:18:00 2016	(r422081)
@@ -0,0 +1,12 @@
+--- wpagui.cpp.orig	2015-09-27 19:02:05 UTC
++++ wpagui.cpp
+@@ -302,7 +302,8 @@ int WpaGui::openCtrlConnection(const cha
+ #endif /* _DIRENT_HAVE_D_TYPE */
+ 
+ 				if (strcmp(dent->d_name, ".") == 0 ||
+-				    strcmp(dent->d_name, "..") == 0)
++				    strcmp(dent->d_name, "..") == 0 ||
++				    (strlen(dent->d_name) > strlen(".pid") && !strcmp(dent->d_name + strlen(dent->d_name) - strlen(".pid"), ".pid")))
+ 					continue;
+ 				debug("Selected interface '%s'",
+ 				      dent->d_name);

Added: head/net/wpa_gui/files/pkg-message.in
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/net/wpa_gui/files/pkg-message.in	Tue Sep 13 20:18:00 2016	(r422081)
@@ -0,0 +1,13 @@
+======================================================================
+You installed wpa_gui: Qt frontend for wpa_supplicant.
+
+It expects the running wpa_supplicant from the port
+security/wpa_supplicant. In order to use wpa_gui you need:
+* to have the functioning wifi network interface
+* to install the wpa_supplicant port security/wpa_supplicant
+* to run the wpa_supplicant:
+  # sysrc wpa_supplicant_enable="YES"
+  # sysrc wpa_supplicant_program="%%PREFIX%%/sbin/wpa_supplicant"
+  and possibly
+  # service wpa_supplicant start wlan0
+======================================================================



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