diff options
author | miwi <miwi@FreeBSD.org> | 2008-11-10 00:51:31 +0800 |
---|---|---|
committer | miwi <miwi@FreeBSD.org> | 2008-11-10 00:51:31 +0800 |
commit | 13909103ffcb5e61d9f5e94159fe4f2e1aae54a5 (patch) | |
tree | 4a79a49692a0cb6807314be87e4de759cc962167 | |
parent | ea3bcc4e633cc7e57d8b62dd9fc9730778fc678e (diff) | |
download | freebsd-ports-gnome-13909103ffcb5e61d9f5e94159fe4f2e1aae54a5.tar.gz freebsd-ports-gnome-13909103ffcb5e61d9f5e94159fe4f2e1aae54a5.tar.zst freebsd-ports-gnome-13909103ffcb5e61d9f5e94159fe4f2e1aae54a5.zip |
The overall goal of this project is to provide remote control service on Linux
through Bluetooth, InfraRed, Wi-Fi or just TCP/IP connection.
anyRemote supports wide range of modern cell phones like Nokia, SonyEricsson,
Motorola and others.
It was developed as thin communication layer between Bluetooth (or IR, Wi-Fi)
capabled phone and UNIX, and in principle could be configured to manage almost
any software.
WWW: http://anyremote.sourceforge.net/
PR: ports/128609
Submitted by: Alex Samorukov <samm at os2.kiev.ua>
-rw-r--r-- | comms/Makefile | 1 | ||||
-rw-r--r-- | comms/anyremote/Makefile | 41 | ||||
-rw-r--r-- | comms/anyremote/distinfo | 3 | ||||
-rw-r--r-- | comms/anyremote/files/opt-nodocs-patch | 15 | ||||
-rw-r--r-- | comms/anyremote/files/patch-freebsd | 486 | ||||
-rw-r--r-- | comms/anyremote/files/patch-getline | 209 | ||||
-rw-r--r-- | comms/anyremote/pkg-descr | 11 | ||||
-rw-r--r-- | comms/anyremote/pkg-plist | 292 |
8 files changed, 1058 insertions, 0 deletions
diff --git a/comms/Makefile b/comms/Makefile index 3aca37863c99..a3a16047c249 100644 --- a/comms/Makefile +++ b/comms/Makefile @@ -5,6 +5,7 @@ SUBDIR += acfax SUBDIR += aldo + SUBDIR += anyremote SUBDIR += aprsd SUBDIR += asmodem SUBDIR += atslog diff --git a/comms/anyremote/Makefile b/comms/anyremote/Makefile new file mode 100644 index 000000000000..370d473ed379 --- /dev/null +++ b/comms/anyremote/Makefile @@ -0,0 +1,41 @@ +# New ports collection makefile for: anyremote +# Date created: 2008-11-05 +# Whom: Alex Samorukov <samm@os2.kiev.ua> +# +# $FreeBSD$ +# + +PORTNAME= anyremote +PORTVERSION= 4.11 +CATEGORIES= comms +MASTER_SITES= SF + +MAINTAINER= samm@os2.kiev.ua +COMMENT= Remote control service over Bluetooth,infrared or tcp/ip networking + +USE_AUTOTOOLS= automake:14 autoconf:262 libtool:15 +GNU_CONFIGURE= yes +CONFIGURE_ENV= CPPFLAGS="-I${LOCALBASE}/include" \ + LDFLAGS="-L${LOCALBASE}/lib" + +.if defined(NOPORTDOCS) +EXTRA_PATCHES= ${FILESDIR}/opt-nodocs-patch +.endif +.if defined(WITHOUT_X11) +CONFIGURE_ARGS+=--disable-xtest +.else +USE_XORG= x11 xtst +.endif +MAKE_ARGS+= LDFLAGS="-L${LOCALBASE}/lib" + +MAN1= anyremote.1 +MANCOMPRESSED= yes + +pre-configure: + cd ${WRKSRC} && ${AUTOMAKE} -a && ${AUTORECONF} +pre-build: + cd ${WRKSRC} && ${MAKE} clean +post-patch: + @${REINPLACE_CMD} -e 's|(datadir)/man/man1|(mandir)/man1|g' ${WRKSRC}/Makefile.am + +.include <bsd.port.mk> diff --git a/comms/anyremote/distinfo b/comms/anyremote/distinfo new file mode 100644 index 000000000000..77a11730ba3b --- /dev/null +++ b/comms/anyremote/distinfo @@ -0,0 +1,3 @@ +MD5 (anyremote-4.11.tar.gz) = b4a856b3f95de57ce1c227c0f43eb0dd +SHA256 (anyremote-4.11.tar.gz) = d0e411d1afacecd0f6732ed5454989434a039f172b599cbaaaacec783cfc63a8 +SIZE (anyremote-4.11.tar.gz) = 1457711 diff --git a/comms/anyremote/files/opt-nodocs-patch b/comms/anyremote/files/opt-nodocs-patch new file mode 100644 index 000000000000..83be88dd5202 --- /dev/null +++ b/comms/anyremote/files/opt-nodocs-patch @@ -0,0 +1,15 @@ +--- Makefile.am 2008-10-16 21:00:58.000000000 +0200 ++++ Makefile.am 2008-11-05 12:23:19.000000000 +0100 +@@ -24,12 +24,8 @@ + + install-data-local: + test -z $(DESTDIR)$(pkgdatadir) || mkdir -p -- . $(DESTDIR)$(pkgdatadir) +- test -z $(DESTDIR)$(datadir)/doc/anyremote || mkdir -p -- . $(DESTDIR)$(datadir)/doc/anyremote + cp -r cfg-data $(DESTDIR)$(pkgdatadir) +- cp -r doc-html ChangeLog README COPYING AUTHORS $(DESTDIR)$(datadir)/doc/anyremote/ +- find $(DESTDIR)$(pkgdatadir) $(DESTDIR)$(datadir)/doc/anyremote -type f -exec chmod 644 {} \; + chmod -R a+x $(DESTDIR)$(pkgdatadir)/cfg-data/Utils +- find $(DESTDIR)$(pkgdatadir) $(DESTDIR)$(datadir)/doc/anyremote -type d -exec chmod 755 {} \; + test -z $(DESTDIR)$(datadir)/man/man1 || mkdir -p -- . $(DESTDIR)$(datadir)/man/man1 + cp -r anyremote.1.gz $(DESTDIR)$(datadir)/man/man1 + chmod 644 $(DESTDIR)$(datadir)/man/man1/anyremote.1.gz diff --git a/comms/anyremote/files/patch-freebsd b/comms/anyremote/files/patch-freebsd new file mode 100644 index 000000000000..009e7ec8b36a --- /dev/null +++ b/comms/anyremote/files/patch-freebsd @@ -0,0 +1,486 @@ +diff -ur configure.in anyremote-4.11-fbsd/configure.in +--- configure.in 2008-10-16 20:56:17.000000000 +0200 ++++ configure.in 2008-10-31 13:09:34.000000000 +0100 +@@ -53,14 +53,31 @@ + #AC_CONFIG_FILES([Makefile + # src/Makefile]) + +-AC_ARG_ENABLE(bluez, +- [ --disable-bluez disable bluez support]) ++AC_CANONICAL_HOST + +-if test x"$enable_bluez" != xno; then +- AC_CHECK_HEADERS([bluetooth/bluetooth.h], [], [echo "Can not find bluetooth.h ! Install it or use --disable-bluez";exit]) +- AR_EXTRAFLAGS="$AR_EXTRAFLAGS -DUSE_BT=1" +- AR_EXTRALIBS="$AR_EXTRALIBS -lbluetooth" +-fi ++case "$host_os" in ++linux*) ++ AC_ARG_ENABLE(bluez, ++ [ --disable-bluez disable bluez support]) ++ ++ if test x"$enable_bluez" != xno; then ++ AC_CHECK_HEADERS([bluetooth/bluetooth.h], [], [echo "Can not find bluetooth.h ! Install it or use --disable-bluez";exit]) ++ AR_EXTRAFLAGS="$AR_EXTRAFLAGS -DUSE_BT=1" ++ AR_EXTRALIBS="$AR_EXTRALIBS -lbluetooth" ++ fi ++ AR_EXTRAFLAGS="$AR_EXTRAFLAGS -DHAVE_GETLINE=1" ++ ;; ++freebsd*) ++ AC_ARG_ENABLE(bluetooth, ++ [ --disable-bluetooth disable bluetooth support]) ++ ++ if test x"$enable_bluetooth" != xno; then ++ AC_CHECK_HEADERS([bluetooth.h], [], [echo "Can not find bluetooth.h ! Install it or use --disable-bluetooth";exit]) ++ AR_EXTRAFLAGS="$AR_EXTRAFLAGS -DUSE_BT_FBSD=1" ++ AR_EXTRALIBS="$AR_EXTRALIBS -lbluetooth -lsdp" ++ fi ++ ;; ++esac + + AC_ARG_ENABLE(xtext, + [ --disable-xtest disable xtest support]) +Only in anyremote-4.11-fbsd/: configure.in~ +Only in anyremote-4.11-fbsd/: configure.lineno +diff -ur anyremote-4.11/src/Makefile.am anyremote-4.11-fbsd/src/Makefile.am +--- src/Makefile.am 2008-09-29 20:54:38.000000000 +0200 ++++ src/Makefile.am 2008-10-31 13:08:21.000000000 +0100 +@@ -19,7 +19,7 @@ + # + + bin_PROGRAMS = anyremote +-anyremote_SOURCES = atsend.c btio.c main.c cmds.c parse.c utils.c xemulate.c conf.c atsend.h common.h btio.h common.h parse.h cmds.h utils.h xemulate.h conf.h ++anyremote_SOURCES = atsend.c btio.c main.c cmds.c parse.c utils.c xemulate.c conf.c atsend.h common.h btio.h common.h parse.h cmds.h utils.h xemulate.h conf.h getline.h getline.c + anyremote_LDFLAGS = @LDFLAGS@ + anyremote_LDADD = @AR_EXTRALIBS@ + AM_CFLAGS = @AR_EXTRAFLAGS@ +diff -ur anyremote-4.11/src/btio.c anyremote-4.11-fbsd/src/btio.c +--- src/btio.c 2008-09-29 20:54:38.000000000 +0200 ++++ src/btio.c 2008-11-01 20:04:02.000000000 +0100 +@@ -40,12 +40,19 @@ + #include <netdb.h> + + //#define USE_BT ++// #define USE_BT_FBSD + + #ifdef USE_BT + #include <bluetooth/bluetooth.h> + #include <bluetooth/rfcomm.h> + #endif + ++#ifdef USE_BT_FBSD ++#include <bluetooth.h> ++#include <sdp.h> ++#include <err.h> ++#endif ++ + #include "btio.h" + #include "common.h" + #include "parse.h" +@@ -576,6 +583,39 @@ + } + #endif + ++#ifdef USE_BT_FBSD ++void *session = NULL; ++uint32_t record; ++ ++ ++void sdpRegister(int port) ++{ ++ int channel,service; ++ bdaddr_t bt_addr_any; ++ sdp_lan_profile_t lan; ++ ++ channel = port; ++ service = SDP_SERVICE_CLASS_SERIAL_PORT; ++ ++ session = sdp_open_local(NULL); ++ if (session == NULL) ++ errx(1, "Unable to create local SDP session"); ++ if (sdp_error(session) != 0) ++ errx(1, "Unable to open local SDP session. %s (%d)", ++ strerror(sdp_error(session)), sdp_error(session)); ++ memset(&lan, 0, sizeof(lan)); ++ lan.server_channel = channel; ++ ++ memcpy(&bt_addr_any, NG_HCI_BDADDR_ANY, sizeof(bt_addr_any)); ++ if (sdp_register_service(session, service, &bt_addr_any, ++ (void *)&lan, sizeof(lan), &record) != 0) { ++ errx(1, "Unable to register LAN service with " ++ "local SDP daemon. %s (%d)", ++ strerror(sdp_error(session)), sdp_error(session)); ++ } ++} ++#endif ++ + void sdpDeregister() + { + #ifdef USE_BT +@@ -585,6 +625,13 @@ + //sdp_record_free(record); + } + #endif ++ #ifdef USE_BT_FBSD ++ if (session != NULL) { ++ sdp_unregister_service(session, record); ++ sdp_close(session); ++ session = NULL; ++ } ++ #endif + } + + // +@@ -598,11 +645,15 @@ + #ifdef USE_BT + struct sockaddr_rc bt_addr; + #endif ++ #ifdef USE_BT_FBSD ++ struct sockaddr_rfcomm bt_addr; ++ #endif + + struct sockaddr* socketaddr = NULL; + + int addFamily = 0; + int proto = 0; ++ int sz; + + if (sportfd) { + logger("ERROR", "socket was already opened"); +@@ -619,6 +670,10 @@ + addFamily = PF_BLUETOOTH; + proto = BTPROTO_RFCOMM; + #endif ++ #ifdef USE_BT_FBSD ++ addFamily = PF_BLUETOOTH; ++ proto = BLUETOOTH_PROTO_RFCOMM; ++ #endif + } else if (type == SERVER_UX) { + addFamily = AF_UNIX; + proto = 0; +@@ -654,10 +709,12 @@ + tcp_addr.sin_port = htons(port); + + socketaddr=(struct sockaddr *)&tcp_addr; ++ sz = sizeof(tcp_addr); + + } else if (type == SERVER_BT){ // SERVER_BT + #ifdef USE_BT + memset((void *) &bt_addr, 0, sizeof(bt_addr)); ++ sz = sizeof(bt_addr); + + // bind socket to the specified port of the first available local bluetooth adapter + bt_addr.rc_family = AF_BLUETOOTH; +@@ -673,8 +730,21 @@ + sdpRegister(port); + sprintf(tmp, "registered SP for channel %i", port); + logger("INFO", tmp); ++ socketaddr=(struct sockaddr *)&bt_addr; ++ #endif ++ ++ #ifdef USE_BT_FBSD ++ memset(&bt_addr, 0, sizeof(bt_addr)); + ++ bt_addr.rfcomm_len = sizeof(bt_addr); ++ bt_addr.rfcomm_family = AF_BLUETOOTH; ++ bt_addr.rfcomm_channel = (uint8_t) port;; ++ sdpRegister(port); ++ sprintf(tmp, "registered SP for channel %i", port); ++ logger("INFO", tmp); ++ + socketaddr=(struct sockaddr *)&bt_addr; ++ sz = sizeof(bt_addr); + #endif + } else if (type == SERVER_UX && path != NULL){ + +@@ -683,16 +753,16 @@ + strncpy(un_addr.sun_path, path, sizeof un_addr.sun_path - 1); + printf("ERROR: SOCKET %s\n", path); + socketaddr=(struct sockaddr *)&un_addr; ++ sz = sizeof(un_addr); + + } else { + logger("ERROR", "incorrect input 2"); + return -1; + } + +- if (bind(sportfd, (struct sockaddr *) socketaddr, sizeof(*socketaddr)) < 0) { ++ if (bind(sportfd, (struct sockaddr *) socketaddr, sz) < 0) { + logger("ERROR", "on binding"); + printf("ERROR: on binding %d->%s\n", errno, strerror(errno)); +- + return -1; + } + +@@ -735,11 +805,15 @@ + bdaddr_t ba; + #endif + ++ #ifdef USE_BT_FBSD ++ struct sockaddr_rfcomm bt_addr; ++ #endif ++ + logger("INFO", "listenAndAcceptSocketConn"); + cnt = 0; + + if (type == SERVER_BT) { +- #ifdef USE_BT ++ #if defined(USE_BT) || defined(USE_BT_FBSD) + socketaddr=(struct sockaddr *)&bt_addr; + sz = sizeof(bt_addr); + #endif +@@ -789,7 +863,6 @@ + #ifdef USE_BT + if (type == SERVER_BT) { + baswap(&ba, &bt_addr.rc_bdaddr); +- + if (btAddress) { + free(btAddress); + } +@@ -799,6 +872,17 @@ + logger("INFO", tmp); + } + #endif ++ #ifdef USE_BT_FBSD ++ if (type == SERVER_BT) { ++ if (btAddress) { ++ free(btAddress); ++ } ++ btAddress = strdup(bt_ntoa(&bt_addr.rfcomm_bdaddr, NULL)); ++ ++ sprintf(tmp, "listenAndAcceptSocketConn: remote BT address is %s", btAddress); ++ logger("INFO", tmp); ++ } ++ #endif + + break; + } +Only in anyremote-4.11-fbsd/src: btio.c~ +diff -ur anyremote-4.11/src/cmds.c anyremote-4.11-fbsd/src/cmds.c +--- src/cmds.c 2008-10-01 20:23:20.000000000 +0200 ++++ src/cmds.c 2008-10-31 11:29:24.000000000 +0100 +@@ -39,6 +39,9 @@ + #include "parse.h" + #include "utils.h" + #include "xemulate.h" ++#ifndef HAVE_GETLINE ++ #include "getline.h" ++#endif + + extern void closePort(int final); + extern int isConnected; +Only in anyremote-4.11-fbsd/src: cmds.c~ +Only in anyremote-4.11-fbsd/src: fileManager.cfg +Only in anyremote-4.11-fbsd/src: getline.c +Only in anyremote-4.11-fbsd/src: getline.c~ +Only in anyremote-4.11-fbsd/src: getline.h +Only in anyremote-4.11-fbsd/src: getline.h~ +diff -ur anyremote-4.11/src/main.c anyremote-4.11-fbsd/src/main.c +--- src/main.c 2008-10-16 20:59:27.000000000 +0200 ++++ src/main.c 2008-11-01 20:33:35.000000000 +0100 +@@ -32,6 +32,9 @@ + #include <sys/wait.h> + #include <time.h> + #include <unistd.h> ++#ifdef __FreeBSD__ ++ #include <signal.h> ++#endif + + #include "atsend.h" + #include "btio.h" +@@ -46,6 +49,8 @@ + #define ALARM_CLEAN 0 + #define ALARM_CHECK 1 + ++extern CONF conf; ++ + static void mainRoutine (void); + static int isBemusedCommand(char *cmd); + static int isInpLircCommand(char *cmd); +@@ -201,6 +206,13 @@ + } + initialized++; + } ++ ++ // setgid ++ if(conf.uid && getuid()==0){ ++ DEBUG2("setuid/setgid %d,%d",conf.uid,conf.gid); ++ setgid(conf.gid); ++ setuid(conf.uid); ++ } + return 1; + } + +@@ -216,6 +228,9 @@ + closedir(d); + } else { + mkdir(dd, S_IRWXU); ++ if(getuid()==0 && conf.uid) { // do not create as superuser ++ chown(dd,conf.uid,conf.gid); ++ } + } + } + +@@ -309,8 +324,6 @@ + } + } + +- createDataDir(); +- + if (argv[1] && (strcmp(argv[1],"-h")==0 || strcmp(argv[1],"--help")==0)) { + //Just print help and exit + printHelp(); +@@ -334,7 +347,8 @@ + freeCfg(); + exit(1); + } +- ++ ++ createDataDir(); + initLog(); + + // Not to core dump if connection will close +Only in anyremote-4.11-fbsd/src: main.c~ +Only in anyremote-4.11-fbsd/src: make.sh +diff -ur anyremote-4.11/src/parse.c anyremote-4.11-fbsd/src/parse.c +--- src/parse.c 2008-10-06 15:19:34.000000000 +0200 ++++ src/parse.c 2008-11-01 19:58:30.000000000 +0100 +@@ -50,7 +50,7 @@ + #define REGEX_TIMER "[[:space:]]*([^[:space:]]+)[[:space:]]*,[[:space:]]*([[:digit:]]*)[[:space:]]*,[[:space:]]*([[:digit:]]*)[[:space:]]*$|[[:space:]]*([^[:space:]]+)[[:space:]]*,[[:space:]]*(cancel|pause|continue)" + #define REGEX_MAKE "[[:space:]]*(remote|mode|var)[[:space:]]*,[[:space:]]*(.*)[[:space:]]*|[[:space:]]*(exit|flush|disconnect|none)[[:space:]]*" + +-#define REGEX_SET_TL "[[:space:]]*(fg|bg|font|select)[[:space:]]*,(.*)|[[:space:]]*(add|replace)[[:space:]]*,[[:space:]]*([^[:space:]]{1}[^,]*[^[:space:]]{1})[[:space:]]*,[[:space:]]*(.*)|[[:space:]]*(close)[[:space:]]*,[[:space:]]**(clear)[[:space:]]*|[[:space:]]*(clear|close|show)[[:space:]]*" ++#define REGEX_SET_TL "[[:space:]]*(fg|bg|font|select)[[:space:]]*,(.*)|[[:space:]]*(add|replace)[[:space:]]*,[[:space:]]*([^[:space:]]{1}[^,]*[^[:space:]]{1})[[:space:]]*,[[:space:]]*(.*)|[[:space:]]*(close)[[:space:]]*,[[:space:]]*(clear)[[:space:]]*|[[:space:]]*(clear|close|show)[[:space:]]*" + #define REGEX_SET_MN "[[:space:]]*(add|replace)[[:space:]]*,(.*)|[[:space:]]*(clear)[[:space:]]*" + #define REGEX_SET_WM "[[:space:]]*(icon|window)[[:space:]]*,(.*)|[[:space:]]*(remove_all|show|close|cursor|nocursor|dynamic_cursor)[[:space:]]*|[[:space:]]*(set_cursor),[[:space:]]*(.*)[[:space:]]*" + #define REGEX_SET_FM "[[:space:]]*(add|replace|select)[[:space:]]*,[[:space:]]*(left|right)[[:space:]]*,[[:space:]]*(.*)|[[:space:]]*(close|show)[[:space:]]*" +@@ -85,7 +85,9 @@ + MODEL_DEFAULT, // Model + NULL, // Cfg. dir + -1, // Front-end port +- 0}; // Work with anyremote2html ++ 0, // Work with anyremote2html ++ 0, // set uid ++ 0}; // set gid + + type_key* findExact(mode *mode, char *key) + { +@@ -216,6 +218,9 @@ + conf.http = 1; + } else if (strcmp(argv[i],"--autoconnect")==0 || strcmp(argv[i],"-a")==0) { + conf.autoConnect = 1; ++ } else if (strcmp(argv[i],"--user")==0 || strcmp(argv[i],"-u")==0) { ++ if(getUidGid(argv[++i], &conf.uid, &conf.gid)!=EXIT_OK) ++ printf("WARNING: bad username %s\n", argv[i]); + } else if (strcmp(argv[i],"-f")==0) { + ++i; + continue; // already processed this parameter +Only in anyremote-4.11-fbsd/src: parse.c~ +diff -ur anyremote-4.11/src/parse.h anyremote-4.11-fbsd/src/parse.h +--- src/parse.h 2008-09-29 20:54:38.000000000 +0200 ++++ src/parse.h 2008-11-01 19:47:18.000000000 +0100 +@@ -23,6 +23,8 @@ + #define _PARSE_H_ 1 + + #include "common.h" ++#include <sys/types.h> ++#include <unistd.h> + + #define CFGFILE "/.anyremote.cfg" + +@@ -241,6 +243,8 @@ + char* cfgDir; + int frontEnd; + int http; ++ uid_t uid; ++ gid_t gid; + } CONF; + + +Only in anyremote-4.11-fbsd/src: parse.h~ +diff -ur anyremote-4.11/src/utils.c anyremote-4.11-fbsd/src/utils.c +--- src/utils.c 2008-10-20 20:13:39.000000000 +0200 ++++ src/utils.c 2008-11-01 20:42:28.000000000 +0100 +@@ -23,12 +23,16 @@ + #include <stdlib.h> + #include <string.h> + #include <time.h> ++#include <sys/types.h> ++#include <pwd.h> + + #include "common.h" + #include "utils.h" + #include "conf.h" + ++ + extern char tmp[MAXMAXLEN]; ++extern CONF conf; + + // Some globals + +@@ -91,7 +95,11 @@ + FILE *fplog = fopen(logfile, "w"); + if (fplog) { + fclose(fplog); +- } ++ } ++ if(getuid()==0 && conf.uid) { // do not open file as superuser ++ chown(logfile,conf.uid,conf.gid); ++ } ++ + printConf(); + } + } +@@ -451,7 +459,9 @@ + printf(" -n do not send any AT+CKPD command to the phone\n"); + printf(" -a reconnect automatically in case of connection failure\n"); + printf(" -fe <port> work as backend for GUI frontend. Use specified port to connect to frontend.\n"); +- printf(" -http tune work with anyremote2html\n\n"); ++ printf(" -http tune work with anyremote2html\n"); ++ printf(" -u|--user <username> causes to run as a user other than root. \n\n"); ++ + } + + int flushData() +@@ -486,4 +496,21 @@ + flushAliases = NULL; + } + ++int getUidGid(char *username, uid_t *uid, gid_t *gid) { ++ /* Set uid and gid to the preferred user (found in setuid.h). Can either be ++ * numeric or a string, found in /etc/passwd. */ ++ struct passwd *pw; ++ ++ if ((pw = getpwnam(username))) { ++ // Name exists ++ *uid = pw->pw_uid; ++ *gid = pw->pw_gid; ++ return EXIT_OK; ++ } ++ /* something Bad happened, so send back an error */ ++ return EXIT_NOK; ++} ++ ++ ++ + ////////////////////////////////////////////////////////////////////////////////// +Only in anyremote-4.11-fbsd/src: utils.c~ +diff -ur anyremote-4.11/src/utils.h anyremote-4.11-fbsd/src/utils.h +--- src/utils.h 2008-09-29 20:54:38.000000000 +0200 ++++ src/utils.h 2008-11-01 19:52:34.000000000 +0100 +@@ -23,6 +23,8 @@ + #define _UTILS_H + + #include "parse.h" ++#include <sys/types.h> ++#include <pwd.h> + + #define LOGFILE "/anyremote.log" + +@@ -78,4 +80,6 @@ + void setResFile (void); + char* getResFile (void); + ++int getUidGid(char *username, uid_t *uid, gid_t *gid) ; ++ + #endif diff --git a/comms/anyremote/files/patch-getline b/comms/anyremote/files/patch-getline new file mode 100644 index 000000000000..63fae1653bb5 --- /dev/null +++ b/comms/anyremote/files/patch-getline @@ -0,0 +1,209 @@ +diff -urN getline1/getline.c getline2/getline.c +--- src/getline.c 1970-01-01 01:00:00.000000000 +0100 ++++ src/getline.c 2008-10-31 13:10:57.000000000 +0100 +@@ -0,0 +1,176 @@ ++/* getline.c -- Replacement for GNU C library function getline ++ ++Copyright (C) 1993 Free Software Foundation, Inc. ++ ++This program is free software; you can redistribute it and/or ++modify it under the terms of the GNU General Public License as ++published by the Free Software Foundation; either version 2 of the ++License, or (at your option) any later version. ++ ++This program is distributed in the hope that it will be useful, but ++WITHOUT ANY WARRANTY; without even the implied warranty of ++MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ++General Public License for more details. */ ++ ++/* Written by Jan Brittenson, bson@gnu.ai.mit.edu. */ ++ ++#ifndef HAVE_GETLINE ++#ifdef HAVE_CONFIG_H ++#include <config.h> ++#endif ++ ++#include <sys/types.h> ++#include <stdio.h> ++#include <assert.h> ++#include <errno.h> ++#include "getline.h" ++ ++#if STDC_HEADERS ++#include <stdlib.h> ++#else ++char *malloc (), *realloc (); ++#endif ++ ++/* Always add at least this many bytes when extending the buffer. */ ++#define MIN_CHUNK 64 ++ ++/* Read up to (and including) a TERMINATOR from STREAM into *LINEPTR ++ + OFFSET (and null-terminate it). If LIMIT is non-negative, then ++ read no more than LIMIT chars. ++ ++ *LINEPTR is a pointer returned from malloc (or NULL), pointing to ++ *N characters of space. It is realloc'd as necessary. ++ ++ Return the number of characters read (not including the null ++ terminator), or -1 on error or EOF. On a -1 return, the caller ++ should check feof(), if not then errno has been set to indicate the ++ error. */ ++ ++int ++getstr (lineptr, n, stream, terminator, offset, limit) ++ char **lineptr; ++ size_t *n; ++ FILE *stream; ++ int terminator; ++ int offset; ++ int limit; ++{ ++ int nchars_avail; /* Allocated but unused chars in *LINEPTR. */ ++ char *read_pos; /* Where we're reading into *LINEPTR. */ ++ int ret; ++ ++ if (!lineptr || !n || !stream) ++ { ++ errno = EINVAL; ++ return -1; ++ } ++ ++ if (!*lineptr) ++ { ++ *n = MIN_CHUNK; ++ *lineptr = malloc (*n); ++ if (!*lineptr) ++ { ++ errno = ENOMEM; ++ return -1; ++ } ++ *lineptr[0] = '\0'; ++ } ++ ++ nchars_avail = *n - offset; ++ read_pos = *lineptr + offset; ++ ++ for (;;) ++ { ++ int save_errno; ++ register int c; ++ ++ if (limit == 0) ++ break; ++ else ++ { ++ c = getc (stream); ++ ++ /* If limit is negative, then we shouldn't pay attention to ++ it, so decrement only if positive. */ ++ if (limit > 0) ++ limit--; ++ } ++ ++ save_errno = errno; ++ ++ /* We always want at least one char left in the buffer, since we ++ always (unless we get an error while reading the first char) ++ NUL-terminate the line buffer. */ ++ ++ assert((*lineptr + *n) == (read_pos + nchars_avail)); ++ if (nchars_avail < 2) ++ { ++ if (*n > MIN_CHUNK) ++ *n *= 2; ++ else ++ *n += MIN_CHUNK; ++ ++ nchars_avail = *n + *lineptr - read_pos; ++ *lineptr = realloc (*lineptr, *n); ++ if (!*lineptr) ++ { ++ errno = ENOMEM; ++ return -1; ++ } ++ read_pos = *n - nchars_avail + *lineptr; ++ assert((*lineptr + *n) == (read_pos + nchars_avail)); ++ } ++ ++ if (ferror (stream)) ++ { ++ /* Might like to return partial line, but there is no ++ place for us to store errno. And we don't want to just ++ lose errno. */ ++ errno = save_errno; ++ return -1; ++ } ++ ++ if (c == EOF) ++ { ++ /* Return partial line, if any. */ ++ if (read_pos == *lineptr) ++ return -1; ++ else ++ break; ++ } ++ ++ *read_pos++ = c; ++ nchars_avail--; ++ ++ if (c == terminator) ++ /* Return the line. */ ++ break; ++ } ++ ++ /* Done - NUL terminate and return the number of chars read. */ ++ *read_pos = '\0'; ++ ++ ret = read_pos - (*lineptr + offset); ++ return ret; ++} ++ ++int ++getline (lineptr, n, stream) ++ char **lineptr; ++ size_t *n; ++ FILE *stream; ++{ ++ return getstr (lineptr, n, stream, '\n', 0, GETLINE_NO_LIMIT); ++} ++ ++int ++getline_safe (lineptr, n, stream, limit) ++ char **lineptr; ++ size_t *n; ++ FILE *stream; ++ int limit; ++{ ++ return getstr (lineptr, n, stream, '\n', 0, limit); ++} ++#endif /* HAVE_GETLINE */ +diff -urN getline1/getline.h getline2/getline.h +--- src/getline.h 1970-01-01 01:00:00.000000000 +0100 ++++ src/getline.h 2008-10-31 13:10:51.000000000 +0100 +@@ -0,0 +1,25 @@ ++#ifndef HAVE_GETLINE ++#ifndef _getline_h_ ++#define _getline_h_ 1 ++ ++#include <stdio.h> ++ ++#if defined (__GNUC__) || (defined (__STDC__) && __STDC__) ++#define __PROTO(args) args ++#else ++#define __PROTO(args) () ++#endif /* GCC. */ ++ ++#define GETLINE_NO_LIMIT -1 ++ ++int ++ getline __PROTO ((char **_lineptr, size_t *_n, FILE *_stream)); ++int ++ getline_safe __PROTO ((char **_lineptr, size_t *_n, FILE *_stream, ++ int limit)); ++int ++ getstr __PROTO ((char **_lineptr, size_t *_n, FILE *_stream, ++ int _terminator, int _offset, int limit)); ++ ++#endif /* _getline_h_ */ ++#endif /* HAVE_GETLINE */ diff --git a/comms/anyremote/pkg-descr b/comms/anyremote/pkg-descr new file mode 100644 index 000000000000..311ad042b381 --- /dev/null +++ b/comms/anyremote/pkg-descr @@ -0,0 +1,11 @@ +The overall goal of this project is to provide remote control service on Linux +through Bluetooth, InfraRed, Wi-Fi or just TCP/IP connection. + +anyRemote supports wide range of modern cell phones like Nokia, SonyEricsson, +Motorola and others. + +It was developed as thin communication layer between Bluetooth (or IR, Wi-Fi) +capabled phone and UNIX, and in principle could be configured to manage almost +any software. + +WWW: http://anyremote.sourceforge.net/ diff --git a/comms/anyremote/pkg-plist b/comms/anyremote/pkg-plist new file mode 100644 index 000000000000..3d16a03d68b6 --- /dev/null +++ b/comms/anyremote/pkg-plist @@ -0,0 +1,292 @@ +@comment $FreeBSD$ +bin/anyremote +%%DATADIR%%/cfg-data/Server-mode/kuickshow.cfg +%%DATADIR%%/cfg-data/Server-mode/comix.cfg +%%DATADIR%%/cfg-data/Server-mode/freevo.cfg +%%DATADIR%%/cfg-data/Server-mode/aqualung.cfg +%%DATADIR%%/cfg-data/Server-mode/kview.cfg +%%DATADIR%%/cfg-data/Server-mode/gthumb.cfg +%%DATADIR%%/cfg-data/Server-mode/xfmedia.cfg +%%DATADIR%%/cfg-data/Server-mode/mouse.cfg +%%DATADIR%%/cfg-data/Server-mode/kaffeine_dvbt.cfg +%%DATADIR%%/cfg-data/Server-mode/fileManager2.cfg +%%DATADIR%%/cfg-data/Server-mode/evince.cfg +%%DATADIR%%/cfg-data/Server-mode/customizeClient3.cfg +%%DATADIR%%/cfg-data/Server-mode/xine.cfg +%%DATADIR%%/cfg-data/Server-mode/customizeClient5.cfg +%%DATADIR%%/cfg-data/Server-mode/ooimpress.cfg +%%DATADIR%%/cfg-data/Server-mode/imageViewer.cfg +%%DATADIR%%/cfg-data/Server-mode/keyboard.cfg +%%DATADIR%%/cfg-data/Server-mode/all-in-one.cfg +%%DATADIR%%/cfg-data/Server-mode/gmusicbrowser.cfg +%%DATADIR%%/cfg-data/Server-mode/fileManager.cfg +%%DATADIR%%/cfg-data/Server-mode/mpd.cfg +%%DATADIR%%/cfg-data/Server-mode/rssReader.cfg +%%DATADIR%%/cfg-data/Server-mode/fileManager3.cfg +%%DATADIR%%/cfg-data/Server-mode/keyjnote.cfg +%%DATADIR%%/cfg-data/Server-mode/kpdf.cfg +%%DATADIR%%/cfg-data/Server-mode/xmms2.cfg +%%DATADIR%%/cfg-data/Server-mode/amarok-v2.cfg +%%DATADIR%%/cfg-data/Server-mode/kaboodle.cfg +%%DATADIR%%/cfg-data/Server-mode/juk.cfg +%%DATADIR%%/cfg-data/Server-mode/quodlibet.cfg +%%DATADIR%%/cfg-data/Server-mode/noatun.cfg +%%DATADIR%%/cfg-data/Server-mode/gnomeradio.cfg +%%DATADIR%%/cfg-data/Server-mode/customizeClient2.cfg +%%DATADIR%%/cfg-data/Server-mode/elisa.cfg +%%DATADIR%%/cfg-data/Server-mode/xmms.cfg +%%DATADIR%%/cfg-data/Server-mode/kmplayer.cfg +%%DATADIR%%/cfg-data/Server-mode/iconUpload.cfg +%%DATADIR%%/cfg-data/Server-mode/banshee.cfg +%%DATADIR%%/cfg-data/Server-mode/rhythmbox.cfg +%%DATADIR%%/cfg-data/Server-mode/autolock.cfg +%%DATADIR%%/cfg-data/Server-mode/mplayer.cfg +%%DATADIR%%/cfg-data/Server-mode/totem.cfg +%%DATADIR%%/cfg-data/Server-mode/xdtv.cfg +%%DATADIR%%/cfg-data/Server-mode/kmid.cfg +%%DATADIR%%/cfg-data/Server-mode/amarok.cfg +%%DATADIR%%/cfg-data/Server-mode/adminExample.cfg +%%DATADIR%%/cfg-data/Server-mode/customizeClient.cfg +%%DATADIR%%/cfg-data/Server-mode/nokia-e70.cfg +%%DATADIR%%/cfg-data/Server-mode/customizeClient4.cfg +%%DATADIR%%/cfg-data/Server-mode/nokia-e61.cfg +%%DATADIR%%/cfg-data/Server-mode/kaffeine-v2.cfg +%%DATADIR%%/cfg-data/Server-mode/bmp.cfg +%%DATADIR%%/cfg-data/Server-mode/sound.cfg +%%DATADIR%%/cfg-data/Server-mode/kdetv.cfg +%%DATADIR%%/cfg-data/Server-mode/kdialog.cfg +%%DATADIR%%/cfg-data/Server-mode/vlc.cfg +%%DATADIR%%/cfg-data/Server-mode/kscd.cfg +%%DATADIR%%/cfg-data/Server-mode/multimode.cfg +%%DATADIR%%/cfg-data/Server-mode/all-in-one2.cfg +%%DATADIR%%/cfg-data/Server-mode/moc.cfg +%%DATADIR%%/cfg-data/Server-mode/smplayer.cfg +%%DATADIR%%/cfg-data/Server-mode/audacious.cfg +%%DATADIR%%/cfg-data/Server-mode/tvtime.cfg +%%DATADIR%%/cfg-data/Server-mode/amarok-v3.cfg +%%DATADIR%%/cfg-data/Server-mode/winManager.cfg +%%DATADIR%%/cfg-data/Server-mode/myth-tv.cfg +%%DATADIR%%/cfg-data/Server-mode/gwenview.cfg +%%DATADIR%%/cfg-data/Server-mode/kplayer.cfg +%%DATADIR%%/cfg-data/Server-mode/kopete.cfg +%%DATADIR%%/cfg-data/Server-mode/decibel.cfg +%%DATADIR%%/cfg-data/Server-mode/kaffeine.cfg +%%DATADIR%%/cfg-data/Server-mode/listen.cfg +%%DATADIR%%/cfg-data/Server-mode/exaile.cfg +%%DATADIR%%/cfg-data/Server-mode/banshee-v2.cfg +%%DATADIR%%/cfg-data/Utils/gradient.png +%%DATADIR%%/cfg-data/Utils/all-in-1.py +%%DATADIR%%/cfg-data/Utils/xmms_is_playing +%%DATADIR%%/cfg-data/Bemused-emulation/exaile.cfg +%%DATADIR%%/cfg-data/Bemused-emulation/juk.cfg +%%DATADIR%%/cfg-data/Bemused-emulation/quodlibet.cfg +%%DATADIR%%/cfg-data/Bemused-emulation/noatun.cfg +%%DATADIR%%/cfg-data/Bemused-emulation/xmms.cfg +%%DATADIR%%/cfg-data/Bemused-emulation/rhythmbox.cfg +%%DATADIR%%/cfg-data/Bemused-emulation/totem.cfg +%%DATADIR%%/cfg-data/Bemused-emulation/template.cfg +%%DATADIR%%/cfg-data/Bemused-emulation/amarok.cfg +%%DATADIR%%/cfg-data/Bemused-emulation/kdetv.cfg +%%DATADIR%%/cfg-data/Bemused-emulation/kscd.cfg +%%DATADIR%%/cfg-data/Bemused-emulation/tvtime.cfg +%%DATADIR%%/cfg-data/Bemused-emulation/kplayer.cfg +%%DATADIR%%/cfg-data/Bemused-emulation/kaffeine.cfg +%%DATADIR%%/cfg-data/Bemused-emulation/mpd.cfg +%%DATADIR%%/cfg-data/AT-mode/kuickshow.cfg +%%DATADIR%%/cfg-data/AT-mode/aqualung.cfg +%%DATADIR%%/cfg-data/AT-mode/kview.cfg +%%DATADIR%%/cfg-data/AT-mode/xfmedia.cfg +%%DATADIR%%/cfg-data/AT-mode/mouse.cfg +%%DATADIR%%/cfg-data/AT-mode/kdialog.se.cfg +%%DATADIR%%/cfg-data/AT-mode/keyboard.cfg +%%DATADIR%%/cfg-data/AT-mode/all-in-one.cfg +%%DATADIR%%/cfg-data/AT-mode/xineForDvd.cfg +%%DATADIR%%/cfg-data/AT-mode/gmusicbrowser.cfg +%%DATADIR%%/cfg-data/AT-mode/mpd.cfg +%%DATADIR%%/cfg-data/AT-mode/juk.cfg +%%DATADIR%%/cfg-data/AT-mode/quodlibet.cfg +%%DATADIR%%/cfg-data/AT-mode/noatun.cfg +%%DATADIR%%/cfg-data/AT-mode/kdialog.sagem.cfg +%%DATADIR%%/cfg-data/AT-mode/elisa.cfg +%%DATADIR%%/cfg-data/AT-mode/xmms.cfg +%%DATADIR%%/cfg-data/AT-mode/kmplayer.cfg +%%DATADIR%%/cfg-data/AT-mode/kdialog.motorola.cfg +%%DATADIR%%/cfg-data/AT-mode/banshee.cfg +%%DATADIR%%/cfg-data/AT-mode/rhythmbox.cfg +%%DATADIR%%/cfg-data/AT-mode/bmp.cfg +%%DATADIR%%/cfg-data/AT-mode/autolock.cfg +%%DATADIR%%/cfg-data/AT-mode/totem.cfg +%%DATADIR%%/cfg-data/AT-mode/xdtv.cfg +%%DATADIR%%/cfg-data/AT-mode/amarok.cfg +%%DATADIR%%/cfg-data/AT-mode/sound.cfg +%%DATADIR%%/cfg-data/AT-mode/kdetv.cfg +%%DATADIR%%/cfg-data/AT-mode/kdialog.cfg +%%DATADIR%%/cfg-data/AT-mode/kscd.cfg +%%DATADIR%%/cfg-data/AT-mode/multimode.cfg +%%DATADIR%%/cfg-data/AT-mode/moc.cfg +%%DATADIR%%/cfg-data/AT-mode/audacious.cfg +%%DATADIR%%/cfg-data/AT-mode/tvtime.cfg +%%DATADIR%%/cfg-data/AT-mode/kplayer.cfg +%%DATADIR%%/cfg-data/AT-mode/kdialog.siemens.cfg +%%DATADIR%%/cfg-data/AT-mode/kaffeine.cfg +%%DATADIR%%/cfg-data/AT-mode/listen.cfg +%%DATADIR%%/cfg-data/AT-mode/exaile.cfg +%%DATADIR%%/cfg-data/AT-mode/freevo.cfg +@dirrm %%DATADIR%%/cfg-data/AT-mode +@dirrm %%DATADIR%%/cfg-data/Bemused-emulation +@dirrm %%DATADIR%%/cfg-data/Server-mode +@dirrm %%DATADIR%%/cfg-data/Utils +@dirrm %%DATADIR%%/cfg-data +@dirrm %%DATADIR%% +%%PORTDOCS%%%%DOCSDIR%%/doc-html/data/jc/jc-menu.png +%%PORTDOCS%%%%DOCSDIR%%/doc-html/data/jc/fileManager2.png +%%PORTDOCS%%%%DOCSDIR%%/doc-html/data/jc/fileManager3.png +%%PORTDOCS%%%%DOCSDIR%%/doc-html/data/jc/amarok-16.png +%%PORTDOCS%%%%DOCSDIR%%/doc-html/data/jc/banshee-v2.png +%%PORTDOCS%%%%DOCSDIR%%/doc-html/data/jc/fileManager.png +%%PORTDOCS%%%%DOCSDIR%%/doc-html/data/jc/amarok.png +%%PORTDOCS%%%%DOCSDIR%%/doc-html/data/jc/amarok-v2.png +%%PORTDOCS%%%%DOCSDIR%%/doc-html/data/jc/banshee.png +%%PORTDOCS%%%%DOCSDIR%%/doc-html/data/img/bg-sidebar-blue.png +%%PORTDOCS%%%%DOCSDIR%%/doc-html/data/img/bg-sidebar-blue-bottom.png +%%PORTDOCS%%%%DOCSDIR%%/doc-html/data/img/question.png +%%PORTDOCS%%%%DOCSDIR%%/doc-html/data/img/bg-sidebar-red-bottom.png +%%PORTDOCS%%%%DOCSDIR%%/doc-html/data/img/bg-sidebar-green-top.png +%%PORTDOCS%%%%DOCSDIR%%/doc-html/data/img/bg-sidebar-red-top.png +%%PORTDOCS%%%%DOCSDIR%%/doc-html/data/img/yes.png +%%PORTDOCS%%%%DOCSDIR%%/doc-html/data/img/bg-sidebar-yellow-bottom.png +%%PORTDOCS%%%%DOCSDIR%%/doc-html/data/img/bg-sidebar-yellow.png +%%PORTDOCS%%%%DOCSDIR%%/doc-html/data/img/bg-sidebar-old.xcf +%%PORTDOCS%%%%DOCSDIR%%/doc-html/data/img/no.png +%%PORTDOCS%%%%DOCSDIR%%/doc-html/data/img/bg-sidebar-yellow-top.png +%%PORTDOCS%%%%DOCSDIR%%/doc-html/data/img/bg-navigation-off.png +%%PORTDOCS%%%%DOCSDIR%%/doc-html/data/img/bg-sidebar-green-bottom.png +%%PORTDOCS%%%%DOCSDIR%%/doc-html/data/img/bullet-blue.png +%%PORTDOCS%%%%DOCSDIR%%/doc-html/data/img/bg-foot.png +%%PORTDOCS%%%%DOCSDIR%%/doc-html/data/img/bg-sidebar.xcf +%%PORTDOCS%%%%DOCSDIR%%/doc-html/data/img/bg-sidebar-gray.png +%%PORTDOCS%%%%DOCSDIR%%/doc-html/data/img/bg-sidebar-green.png +%%PORTDOCS%%%%DOCSDIR%%/doc-html/data/img/bg-sidebar-gray-bottom.png +%%PORTDOCS%%%%DOCSDIR%%/doc-html/data/img/bg-sidebar-blue-top.png +%%PORTDOCS%%%%DOCSDIR%%/doc-html/data/img/bg-navigation-on.png +%%PORTDOCS%%%%DOCSDIR%%/doc-html/data/img/bg-sidebar-gray-top.png +%%PORTDOCS%%%%DOCSDIR%%/doc-html/data/img/bg-sidebar-red.png +%%PORTDOCS%%%%DOCSDIR%%/doc-html/data/icons/prev.png +%%PORTDOCS%%%%DOCSDIR%%/doc-html/data/icons/question.png +%%PORTDOCS%%%%DOCSDIR%%/doc-html/data/icons/play.png +%%PORTDOCS%%%%DOCSDIR%%/doc-html/data/icons/mute.png +%%PORTDOCS%%%%DOCSDIR%%/doc-html/data/icons/vol_down.png +%%PORTDOCS%%%%DOCSDIR%%/doc-html/data/icons/folder.png +%%PORTDOCS%%%%DOCSDIR%%/doc-html/data/icons/default.png +%%PORTDOCS%%%%DOCSDIR%%/doc-html/data/icons/no.png +%%PORTDOCS%%%%DOCSDIR%%/doc-html/data/icons/stop.png +%%PORTDOCS%%%%DOCSDIR%%/doc-html/data/icons/eject.png +%%PORTDOCS%%%%DOCSDIR%%/doc-html/data/icons/vol_up.png +%%PORTDOCS%%%%DOCSDIR%%/doc-html/data/icons/up.png +%%PORTDOCS%%%%DOCSDIR%%/doc-html/data/icons/rewind.png +%%PORTDOCS%%%%DOCSDIR%%/doc-html/data/icons/down.png +%%PORTDOCS%%%%DOCSDIR%%/doc-html/data/icons/launch.png +%%PORTDOCS%%%%DOCSDIR%%/doc-html/data/icons/forward.png +%%PORTDOCS%%%%DOCSDIR%%/doc-html/data/icons/left.png +%%PORTDOCS%%%%DOCSDIR%%/doc-html/data/icons/minus.png +%%PORTDOCS%%%%DOCSDIR%%/doc-html/data/icons/right.png +%%PORTDOCS%%%%DOCSDIR%%/doc-html/data/icons/fullscreen.png +%%PORTDOCS%%%%DOCSDIR%%/doc-html/data/icons/pause.png +%%PORTDOCS%%%%DOCSDIR%%/doc-html/data/icons/file.png +%%PORTDOCS%%%%DOCSDIR%%/doc-html/data/icons/view_tree.png +%%PORTDOCS%%%%DOCSDIR%%/doc-html/data/icons/fit.png +%%PORTDOCS%%%%DOCSDIR%%/doc-html/data/icons/click_icon.png +%%PORTDOCS%%%%DOCSDIR%%/doc-html/data/icons/refresh.png +%%PORTDOCS%%%%DOCSDIR%%/doc-html/data/icons/exit.png +%%PORTDOCS%%%%DOCSDIR%%/doc-html/data/icons/next.png +%%PORTDOCS%%%%DOCSDIR%%/doc-html/data/icons/plus.png +%%PORTDOCS%%%%DOCSDIR%%/doc-html/data/icons/info.png +%%PORTDOCS%%%%DOCSDIR%%/doc-html/data/client-text.png +%%PORTDOCS%%%%DOCSDIR%%/doc-html/data/ganyremote1.jpg +%%PORTDOCS%%%%DOCSDIR%%/doc-html/data/master.css +%%PORTDOCS%%%%DOCSDIR%%/doc-html/data/ganyremote-devdet.png +%%PORTDOCS%%%%DOCSDIR%%/doc-html/data/client-list.png +%%PORTDOCS%%%%DOCSDIR%%/doc-html/data/anyremote32.png +%%PORTDOCS%%%%DOCSDIR%%/doc-html/data/view-screen.jpg +%%PORTDOCS%%%%DOCSDIR%%/doc-html/data/default.css +%%PORTDOCS%%%%DOCSDIR%%/doc-html/data/anyRemote32.png +%%PORTDOCS%%%%DOCSDIR%%/doc-html/data/ganyremote2.jpg +%%PORTDOCS%%%%DOCSDIR%%/doc-html/data/ganyremote-tray.png +%%PORTDOCS%%%%DOCSDIR%%/doc-html/data/kanyremote-devbr.jpg +%%PORTDOCS%%%%DOCSDIR%%/doc-html/data/anyRemote.png +%%PORTDOCS%%%%DOCSDIR%%/doc-html/data/kanyremote2.jpg +%%PORTDOCS%%%%DOCSDIR%%/doc-html/data/anyremote16.png +%%PORTDOCS%%%%DOCSDIR%%/doc-html/data/kanyremote-devdet.jpg +%%PORTDOCS%%%%DOCSDIR%%/doc-html/data/logo-head.png +%%PORTDOCS%%%%DOCSDIR%%/doc-html/data/spacer.png +%%PORTDOCS%%%%DOCSDIR%%/doc-html/data/anyremote256.png +%%PORTDOCS%%%%DOCSDIR%%/doc-html/data/anyremote22.png +%%PORTDOCS%%%%DOCSDIR%%/doc-html/data/anyremote24.png +%%PORTDOCS%%%%DOCSDIR%%/doc-html/data/client-control-menu.png +%%PORTDOCS%%%%DOCSDIR%%/doc-html/data/ganyremote3.jpg +%%PORTDOCS%%%%DOCSDIR%%/doc-html/data/client-text-menu.png +%%PORTDOCS%%%%DOCSDIR%%/doc-html/data/client-test.png +%%PORTDOCS%%%%DOCSDIR%%/doc-html/data/any1.jpg +%%PORTDOCS%%%%DOCSDIR%%/doc-html/data/logo-detail.png +%%PORTDOCS%%%%DOCSDIR%%/doc-html/data/nothing.png +%%PORTDOCS%%%%DOCSDIR%%/doc-html/data/logo-favicon.png +%%PORTDOCS%%%%DOCSDIR%%/doc-html/data/anyRemote16.png +%%PORTDOCS%%%%DOCSDIR%%/doc-html/data/client-list-menu.png +%%PORTDOCS%%%%DOCSDIR%%/doc-html/data/any3.jpg +%%PORTDOCS%%%%DOCSDIR%%/doc-html/data/ganyremote-devbr.jpg +%%PORTDOCS%%%%DOCSDIR%%/doc-html/data/any6.jpg +%%PORTDOCS%%%%DOCSDIR%%/doc-html/man.html +%%PORTDOCS%%%%DOCSDIR%%/doc-html/dcop.html +%%PORTDOCS%%%%DOCSDIR%%/doc-html/cfg-howto.html +%%PORTDOCS%%%%DOCSDIR%%/doc-html/conf-server-ex.html +%%PORTDOCS%%%%DOCSDIR%%/doc-html/conf-server.html +%%PORTDOCS%%%%DOCSDIR%%/doc-html/setup-at.html +%%PORTDOCS%%%%DOCSDIR%%/doc-html/use.html +%%PORTDOCS%%%%DOCSDIR%%/doc-html/k-shots.html +%%PORTDOCS%%%%DOCSDIR%%/doc-html/set.html +%%PORTDOCS%%%%DOCSDIR%%/doc-html/bemused.html +%%PORTDOCS%%%%DOCSDIR%%/doc-html/g-shots.html +%%PORTDOCS%%%%DOCSDIR%%/doc-html/set-fm.html +%%PORTDOCS%%%%DOCSDIR%%/doc-html/set-parameter.html +%%PORTDOCS%%%%DOCSDIR%%/doc-html/thanks.html +%%PORTDOCS%%%%DOCSDIR%%/doc-html/ev-handlers.html +%%PORTDOCS%%%%DOCSDIR%%/doc-html/set-menu.html +%%PORTDOCS%%%%DOCSDIR%%/doc-html/index.html.dup +%%PORTDOCS%%%%DOCSDIR%%/doc-html/conf-at.html +%%PORTDOCS%%%%DOCSDIR%%/doc-html/set-icons.html +%%PORTDOCS%%%%DOCSDIR%%/doc-html/install.html +%%PORTDOCS%%%%DOCSDIR%%/doc-html/dload.html +%%PORTDOCS%%%%DOCSDIR%%/doc-html/devices.html +%%PORTDOCS%%%%DOCSDIR%%/doc-html/contacts.html +%%PORTDOCS%%%%DOCSDIR%%/doc-html/vars.html +%%PORTDOCS%%%%DOCSDIR%%/doc-html/ckpd-emulation.html +%%PORTDOCS%%%%DOCSDIR%%/doc-html/mode.html +%%PORTDOCS%%%%DOCSDIR%%/doc-html/index.html +%%PORTDOCS%%%%DOCSDIR%%/doc-html/set-text.html +%%PORTDOCS%%%%DOCSDIR%%/doc-html/setup-server.html +%%PORTDOCS%%%%DOCSDIR%%/doc-html/set-list.html +%%PORTDOCS%%%%DOCSDIR%%/doc-html/pre-setup.html +%%PORTDOCS%%%%DOCSDIR%%/doc-html/faq.html +%%PORTDOCS%%%%DOCSDIR%%/doc-html/set-window.html +%%PORTDOCS%%%%DOCSDIR%%/doc-html/docs.html +%%PORTDOCS%%%%DOCSDIR%%/doc-html/web.html +%%PORTDOCS%%%%DOCSDIR%%/doc-html/pre.html +%%PORTDOCS%%%%DOCSDIR%%/doc-html/frontend.html +%%PORTDOCS%%%%DOCSDIR%%/doc-html/ir.html +%%PORTDOCS%%%%DOCSDIR%%/doc-html/emulate.html +%%PORTDOCS%%%%DOCSDIR%%/doc-html/use-jc.html +%%PORTDOCS%%%%DOCSDIR%%/doc-html/phones.html +%%PORTDOCS%%%%DOCSDIR%%/doc-html/conf-at-ex.html +%%PORTDOCS%%%%DOCSDIR%%/doc-html/lirc.html +%%PORTDOCS%%%%DOCSDIR%%/doc-html/make.html +%%PORTDOCS%%%%DOCSDIR%%/doc-html/event.html +%%PORTDOCS%%%%DOCSDIR%%/AUTHORS +%%PORTDOCS%%%%DOCSDIR%%/COPYING +%%PORTDOCS%%%%DOCSDIR%%/README +%%PORTDOCS%%%%DOCSDIR%%/ChangeLog +%%PORTDOCS%%@dirrm %%DOCSDIR%%/doc-html/data/jc +%%PORTDOCS%%@dirrm %%DOCSDIR%%/doc-html/data/img +%%PORTDOCS%%@dirrm %%DOCSDIR%%/doc-html/data/icons +%%PORTDOCS%%@dirrm %%DOCSDIR%%/doc-html/data +%%PORTDOCS%%@dirrm %%DOCSDIR%%/doc-html +%%PORTDOCS%%@dirrm %%DOCSDIR%% |