From owner-freebsd-ports-bugs@FreeBSD.ORG Tue Aug 21 12:40:11 2012 Return-Path: Delivered-To: freebsd-ports-bugs@hub.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 5500C106564A for ; Tue, 21 Aug 2012 12:40:11 +0000 (UTC) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2001:4f8:fff6::28]) by mx1.freebsd.org (Postfix) with ESMTP id 286968FC17 for ; Tue, 21 Aug 2012 12:40:11 +0000 (UTC) Received: from freefall.freebsd.org (localhost [127.0.0.1]) by freefall.freebsd.org (8.14.5/8.14.5) with ESMTP id q7LCeBnQ097659 for ; Tue, 21 Aug 2012 12:40:11 GMT (envelope-from gnats@freefall.freebsd.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.14.5/8.14.5/Submit) id q7LCeAfi097658; Tue, 21 Aug 2012 12:40:10 GMT (envelope-from gnats) Resent-Date: Tue, 21 Aug 2012 12:40:10 GMT Resent-Message-Id: <201208211240.q7LCeAfi097658@freefall.freebsd.org> Resent-From: FreeBSD-gnats-submit@FreeBSD.org (GNATS Filer) Resent-To: freebsd-ports-bugs@FreeBSD.org Resent-Reply-To: FreeBSD-gnats-submit@FreeBSD.org, Eugene Grosbein Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 4570A106566C for ; Tue, 21 Aug 2012 12:37:20 +0000 (UTC) (envelope-from eugen@k-45-monitor.sd.rdtc.ru) Received: from k-45-monitor.sd.rdtc.ru (k-45-monitor.sd.rdtc.ru [62.231.191.161]) by mx1.freebsd.org (Postfix) with ESMTP id A837A8FC0C for ; Tue, 21 Aug 2012 12:37:18 +0000 (UTC) Received: from k-45-monitor.sd.rdtc.ru (localhost [127.0.0.1]) by k-45-monitor.sd.rdtc.ru (8.14.5/8.14.5) with ESMTP id q7LCVqB7066607; Tue, 21 Aug 2012 19:31:52 +0700 (NOVT) (envelope-from eugen@k-45-monitor.sd.rdtc.ru) Received: (from eugen@localhost) by k-45-monitor.sd.rdtc.ru (8.14.5/8.14.5/Submit) id q7LCVpfM066606; Tue, 21 Aug 2012 19:31:51 +0700 (NOVT) (envelope-from eugen) Message-Id: <201208211231.q7LCVpfM066606@k-45-monitor.sd.rdtc.ru> Date: Tue, 21 Aug 2012 19:31:51 +0700 (NOVT) From: Eugene Grosbein To: FreeBSD-gnats-submit@FreeBSD.org X-Send-Pr-Version: 3.113 Cc: Subject: ports/170819: New port: net-mgmt/UniFi UniFi Wireless Controller X-BeenThere: freebsd-ports-bugs@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Ports bug reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 21 Aug 2012 12:40:11 -0000 >Number: 170819 >Category: ports >Synopsis: New port: net-mgmt/UniFi UniFi Wireless Controller >Confidential: no >Severity: non-critical >Priority: low >Responsible: freebsd-ports-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: change-request >Submitter-Id: current-users >Arrival-Date: Tue Aug 21 12:40:10 UTC 2012 >Closed-Date: >Last-Modified: >Originator: Eugene Grosbein >Release: FreeBSD 9.1-PRERELEASE amd64 >Organization: RDTC JSC >Environment: System: FreeBSD k-45-monitor 9.1-PRERELEASE FreeBSD 9.1-PRERELEASE #6: Wed Aug 15 16:24:32 NOVT 2012 root@k-45-monitor:/usr/obj/usr/local/src/sys/K-45-MONITOR amd64 >Description: This is new port for the UniFi Wireless Controler - java-based server-side software to control UniFi Access Points using web interface. Please note that original zip file contains proprietary firmware images for access points and the license prohibits their redistribution. Also, the user must accept license agreement on-site to download the distibution file, so MASTER_SITES is empty (contents commented out). >How-To-Repeat: N/A >Fix: # This is a shell archive. Save it in a file, remove anything before # this line, and then unpack it by entering "sh file". Note, it may # create directories; files and directories will be owned by you and # have default permissions. # # This archive contains: # # UniFi # UniFi/Makefile # UniFi/distinfo # UniFi/pkg-descr # UniFi/pkg-plist # UniFi/files # UniFi/files/UniFi.in # UniFi/files/pkg-deinstall.in # echo c - UniFi mkdir -p UniFi > /dev/null 2>&1 echo x - UniFi/Makefile sed 's/^X//' >UniFi/Makefile << '6493abb108342c994405f3f0c0b569ee' X# New ports collection makefile for: UniFi X# Date created: 21 August 2012 X# Whom: Eugene Grosbein X# X# $FreeBSD$ X# X XPORTNAME= UniFi XPORTVERSION= 2.3.5 XCATEGORIES= net-mgmt java XMASTER_SITES= #http://www.ubnt.com/downloads/unifi/2.3.5/ XDISTNAME= ${PORTNAME}.unix XDIST_SUBDIR= ${PORTNAME}-${PORTVERSION} X XMAINTAINER= ports@grosbein.net XCOMMENT= UniFi Wireless Controller X XRUN_DEPENDS= mongodb>=1.6.5:${PORTSDIR}/databases/mongodb X XSUB_FILES= pkg-deinstall XSUB_LIST= PORTNAME=${PORTNAME} USERS=${USERS} GROUPS=${GROUPS} X XWRKSRC= ${WRKDIR}/${PORTNAME}-${PORTVERSION} X XUSE_ZIP= yes X XUSE_JAVA= yes XJAVA_VERSION= 1.6+ XJAVA_OS= native XJAVA_VENDOR= openjdk bsdjava XJAVA_RUN= yes X XDATADIR= ${JAVASHAREDIR}/${PORTNAME} XNO_BUILD= yes X XUSE_RC_SUBR= ${PORTNAME} X XUSERS= unifi XGROUPS= unifi X XRESTRICTED= Redistribution of bundled firmware images is not permitted X X.include X X.if !defined(PACKAGE_BUILDING) && (!exists(${DISTDIR}/${DIST_SUBDIR}/${DISTNAME}.zip)) XDISTFILE_INSTRUCTIONS=\n\ XDue to licensing restrictions, distribution file must be fetched manually.\n\ XPlease download the file to ${DISTDIR}/${DIST_SUBDIR}/${DISTNAME}.zip from: \n\n\ Xhttp://www.ubnt.com/downloads/unifi/${PORTVERSION}/${DISTNAME}.zip\n\n X.endif X X.if defined(DISTFILE_INSTRUCTIONS) Xpre-fetch: X @${PRINTF} "${DISTFILE_INSTRUCTIONS}" X @exit 1 X.endif X Xpost-extract: X @${MV} ${WRKDIR}/${PORTNAME} ${WRKSRC} X @${ECHO} system_ip=0.0.0.0 >> ${WRKSRC}/data/system.properties X Xdo-install: X @( cd ${WRKSRC} && \ X ${COPYTREE_SHARE} "bin data dl lib webapps readme.txt" ${DATADIR} \ X '! -path data/system.properties' && \ X ${MKDIR} ${DATADIR}/conf && \ X for f in conf/catalina.policy conf/catalina.properties \ X conf/context.xml conf/server.xml conf/tomcat-users.xml \ X conf/web.xml data/system.properties; \ X do ${CP} -p $$f ${DATADIR}/$$f.sample && \ X if [ ! -f ${DATADIR}/$$f ]; then \ X ${CP} -p $$f ${DATADIR}/$$f; \ X fi; \ X done; \ X ) X @${CHOWN} -R ${USERS}:${GROUPS} ${DATADIR} X @${CHMOD} -R g+w ${DATADIR}/* X @${LN} -sf ${PREFIX}/bin/mongod ${DATADIR}/bin/ X X.include 6493abb108342c994405f3f0c0b569ee echo x - UniFi/distinfo sed 's/^X//' >UniFi/distinfo << 'bd662b9b933319e0a9ae8bbb1ccd7c20' XSHA256 (UniFi-2.3.5/UniFi.unix.zip) = 27c304744bea3224048773658259368b54c37071c3d15fc538cc58c56427f22a XSIZE (UniFi-2.3.5/UniFi.unix.zip) = 22650879 bd662b9b933319e0a9ae8bbb1ccd7c20 echo x - UniFi/pkg-descr sed 's/^X//' >UniFi/pkg-descr << 'bcf3a6f93eef3e49af172f8445a33804' XThe UniFi Controller allows to manage the UniFi Wireless Network. X XWWW: http://wiki.ubnt.com/UniFi_FAQ bcf3a6f93eef3e49af172f8445a33804 echo x - UniFi/pkg-plist sed 's/^X//' >UniFi/pkg-plist << '199d70a395bfd59bb4417f4e3b5a1864' X%%DATADIR%%/bin/mongod X@unexec if cmp -s %D/%%DATADIR%%/conf/catalina.policy.sample %D/%%DATADIR%%/conf/catalina.policy; then rm -f %D/%%DATADIR%%/conf/catalina.policy; fi X%%DATADIR%%/conf/catalina.policy.sample X@exec if [ ! -f %D/%%DATADIR%%/conf/catalina.policy ]; then cp -p %F %D/%%DATADIR%%/catalina.policy; fi X@unexec if cmp -s %D/%%DATADIR%%/conf/catalina.properties.sample %D/%%DATADIR%%/conf/catalina.properties; then rm -f %D/%%DATADIR%%/conf/catalina.properties; fi X%%DATADIR%%/conf/catalina.properties.sample X@exec if [ ! -f %D/%%DATADIR%%/conf/catalina.properties ]; then cp -p %F %D/%%DATADIR%%/catalina.properties; fi X@unexec if cmp -s %D/%%DATADIR%%/conf/context.xml.sample %D/%%DATADIR%%/conf/context.xml; then rm -f %D/%%DATADIR%%/conf/context.xml; fi X%%DATADIR%%/conf/context.xml.sample X@exec if [ ! -f %D/%%DATADIR%%/conf/context.xml ]; then cp -p %F %D/%%DATADIR%%/context.xml; fi X@unexec if cmp -s %D/%%DATADIR%%/conf/server.xml.sample %D/%%DATADIR%%/conf/server.xml; then rm -f %D/%%DATADIR%%/conf/server.xml; fi X%%DATADIR%%/conf/server.xml.sample X@exec if [ ! -f %D/%%DATADIR%%/conf/server.xml ]; then cp -p %F %D/%%DATADIR%%/server.xml; fi X@unexec if cmp -s %D/%%DATADIR%%/conf/tomcat-users.xml.sample %D/%%DATADIR%%/conf/tomcat-users.xml; then rm -f %D/%%DATADIR%%/conf/tomcat-users.xml; fi X%%DATADIR%%/conf/tomcat-users.xml.sample X@exec if [ ! -f %D/%%DATADIR%%/conf/tomcat-users.xml ]; then cp -p %F %D/%%DATADIR%%/tomcat-users.xml; fi X@unexec if cmp -s %D/%%DATADIR%%/conf/web.xml.sample %D/%%DATADIR%%/conf/web.xml; then rm -f %D/%%DATADIR%%/conf/web.xml; fi X%%DATADIR%%/conf/web.xml.sample X@exec if [ ! -f %D/%%DATADIR%%/conf/web.xml ]; then cp -p %F %D/%%DATADIR%%/web.xml; fi X@unexec if cmp -s %D/%%DATADIR%%/data/system.properties.sample %D/%%DATADIR%%/data/system.properties; then rm -f %D/%%DATADIR%%/data/system.properties; fi X%%DATADIR%%/data/system.properties.sample X@exec if [ ! -f %D/%%DATADIR%%/data/system.properties ]; then cp -p %F %D/%%DATADIR%%/data/system.properties; fi X%%DATADIR%%/dl/firmware/BZ2/2.3.5.954/firmware.bin X%%DATADIR%%/dl/firmware/U7P/2.3.5.954/firmware.bin X%%DATADIR%%/dl/firmware/bundles.json X%%DATADIR%%/lib/MRJAdapter.jar X%%DATADIR%%/lib/ace.jar X%%DATADIR%%/lib/annotations-api.jar X%%DATADIR%%/lib/asm.jar X%%DATADIR%%/lib/bootstrap.jar X%%DATADIR%%/lib/catalina-ant.jar X%%DATADIR%%/lib/catalina-ha.jar X%%DATADIR%%/lib/catalina-tribes.jar X%%DATADIR%%/lib/catalina.jar X%%DATADIR%%/lib/cglib.jar X%%DATADIR%%/lib/commons-beanutils.jar X%%DATADIR%%/lib/commons-codec-1.4.jar X%%DATADIR%%/lib/commons-collections.jar X%%DATADIR%%/lib/commons-daemon.jar X%%DATADIR%%/lib/commons-digester.jar X%%DATADIR%%/lib/commons-httpclient-3.1.jar X%%DATADIR%%/lib/commons-lang.jar X%%DATADIR%%/lib/commons-logging.jar X%%DATADIR%%/lib/dom4j.jar X%%DATADIR%%/lib/el-api.jar X%%DATADIR%%/lib/jasper-el.jar X%%DATADIR%%/lib/jasper-jdt.jar X%%DATADIR%%/lib/jasper.jar X%%DATADIR%%/lib/javassist.jar X%%DATADIR%%/lib/jmdns.jar X%%DATADIR%%/lib/jsp-api.jar X%%DATADIR%%/lib/jstl.jar X%%DATADIR%%/lib/jstun-0.7.3.jar X%%DATADIR%%/lib/jul-log4j-bridge.jar X%%DATADIR%%/lib/log4j.jar X%%DATADIR%%/lib/mail.jar X%%DATADIR%%/lib/mongo.jar X%%DATADIR%%/lib/org.springframework.config.java-1.0.0.M4.jar X%%DATADIR%%/lib/quartz-all-1.6.1.jar X%%DATADIR%%/lib/servlet-api.jar X%%DATADIR%%/lib/slf4j-api.jar X%%DATADIR%%/lib/slf4j-log4j12.jar X%%DATADIR%%/lib/spring-aop-2.5.6.jar X%%DATADIR%%/lib/spring-beans-2.5.6.jar X%%DATADIR%%/lib/spring-context-2.5.6.jar X%%DATADIR%%/lib/spring-context-support-2.5.6.jar X%%DATADIR%%/lib/spring-core-2.5.6.jar X%%DATADIR%%/lib/spring-web-2.5.6.jar X%%DATADIR%%/lib/sshj.jar X%%DATADIR%%/lib/standard.jar X%%DATADIR%%/lib/tomcat-coyote.jar X%%DATADIR%%/lib/tomcat-dbcp.jar X%%DATADIR%%/lib/tomcat-i18n-es.jar X%%DATADIR%%/lib/tomcat-i18n-fr.jar X%%DATADIR%%/lib/tomcat-i18n-ja.jar X%%DATADIR%%/lib/tomcat-juli-adapters.jar X%%DATADIR%%/lib/tomcat-juli.jar X%%DATADIR%%/readme.txt X%%DATADIR%%/webapps/ROOT.war X@dirrmtry %%DATADIR%%/work/Catalina/localhost/_ X@dirrmtry %%DATADIR%%/work/Catalina/localhost X@dirrmtry %%DATADIR%%/work/Catalina X@dirrmtry %%DATADIR%%/work X@dirrmtry %%DATADIR%%/webapps X@dirrm %%DATADIR%%/lib X@dirrm %%DATADIR%%/dl/firmware/U7P/2.3.5.954 X@dirrm %%DATADIR%%/dl/firmware/U7P X@dirrm %%DATADIR%%/dl/firmware/BZ2/2.3.5.954 X@dirrm %%DATADIR%%/dl/firmware/BZ2 X@dirrm %%DATADIR%%/dl/firmware X@dirrm %%DATADIR%%/dl X@dirrmtry %%DATADIR%%/data/backup X@dirrmtry %%DATADIR%%/data X@dirrmtry %%DATADIR%%/conf X@dirrm %%DATADIR%%/bin X@dirrmtry %%DATADIR%% 199d70a395bfd59bb4417f4e3b5a1864 echo c - UniFi/files mkdir -p UniFi/files > /dev/null 2>&1 echo x - UniFi/files/UniFi.in sed 's/^X//' >UniFi/files/UniFi.in << 'ee35482e7baa9edd47bc8454b47b43e5' X#!/bin/sh X# X# $FreeBSD$ X# X X# PROVIDE: UniFi X# REQUIRE: LOGIN X# KEYWORD: shutdown X X# X# Add the following line to /etc/rc.conf to enable `UniFi': X# X# UniFi_enable="YES" X X. /etc/rc.subr X Xcommand_interpreter="." Xcommand="%%PREFIX%%/bin/java" Xcommand_args="-jar lib/ace.jar" Xname="UniFi" Xrcvar="${name}_enable" Xstart_cmd="start_cmd" Xstop_cmd="stop_cmd" Xpidfile="/var/run/${name}.pid" Xrequired_files="%%DATADIR%%/lib/ace.jar" XUniFi_chdir=%%DATADIR%% X Xeval `JAVAVM_DRYRUN=yes ${command} | fgrep JAVAVM_COMMAND` Xprocname=${JAVAVM_COMMAND} X Xstart_cmd() X{ X check_startmsgs && echo "Starting ${name}." X cd ${UniFi_chdir} X daemon -u %%USERS%% -f -p ${pidfile} ${command} ${command_args} start X} X Xstop_cmd() X{ X check_startmsgs && echo "Stopping ${name}." X rc_pid=$(check_pidfile $pidfile $procname) X cd ${UniFi_chdir} X ${command} ${command_args} stop X wait_for_pids $rc_pid X} X Xload_rc_config ${name} X: ${UniFi_enable="NO"} Xrun_rc_command "$1" ee35482e7baa9edd47bc8454b47b43e5 echo x - UniFi/files/pkg-deinstall.in sed 's/^X//' >UniFi/files/pkg-deinstall.in << '2784190a27095d588b76c5331c1863ae' X#!/bin/sh X XPATH=/bin:/usr/bin:/usr/sbin X XUSER=%%USERS%% XGROUP=%%GROUPS%% X Xask() { X local question default answer X X question=$1; shift X while [ $# -gt 1 ] X do X if [ -z "${BATCH}" -a -z "${PACKAGE_BUILDING}" ]; then X echo "$question" >&2 X fi X question=$1; shift X done X X default=$1 X if [ -z "${BATCH}" -a -z "${PACKAGE_BUILDING}" ]; then X read -p "${question} [${default}]? " answer X fi X if [ x${answer} = x ]; then X answer=${default} X fi X echo ${answer} X} X Xyesno() { X local dflt question answer X X question=$1 X dflt=$2 X while :; do X answer=$(ask "$@") X case "${answer}" in X [Yy]*) return 0;; X [Nn]*) return 1;; X esac X echo "Please answer yes or no." X done X} X Xdelete_account() { X local u g X X u=$1 X g=$2 X if yesno "Do you want me to remove group \"${g}\"" y; then X pw groupdel -n ${g} X echo "Done." X fi X if yesno "Do you want me to remove user \"${u}\"" y; then X pw userdel -n ${u} X echo "Done." X fi X} X X[ "$2" = DEINSTALL ] || exit 0 X Xif kill -0 `head -1 /var/run/%%PORTNAME%%.pid 2>/dev/null` 2>/dev/null; then X if yesno "There are some UniFi Controller processes running. Shall I kill them" y X then X service %%PORTNAME%% forcestop X else X echo "OK ... I hope you know what you are doing." X echo "" X fi Xfi X Xif yesno "Whould you like to remove all configs, logs and other staff" \ X "of the UniFi Controller (perform complete uninstallation)" n Xthen X cd %%DATADIR%%/data && \ X rm -rf backup db keystore system.properties update.json X cd .. && rm -rf conf logs webapps/ROOT work X echo "Done." Xfi X Xdelete_account ${USER} ${GROUP} Xexit 0 2784190a27095d588b76c5331c1863ae exit >Release-Note: >Audit-Trail: >Unformatted: