summaryrefslogtreecommitdiff
path: root/comms
diff options
context:
space:
mode:
authorxtraeme <xtraeme>2006-07-02 18:18:34 +0000
committerxtraeme <xtraeme>2006-07-02 18:18:34 +0000
commit2ca567cc47e0a5af4d93012cd6ed8235581e2402 (patch)
tree05ded323d994d31eda8e539925a9cfb4279a18f7 /comms
parent5f8fa2773e3a30cd4725d07814f8ce2b7702db2a (diff)
downloadpkgsrc-2ca567cc47e0a5af4d93012cd6ed8235581e2402.tar.gz
Initial import of obexapp-1.4.4.
An obex application to transfer objects (address book items, images, movies, anything the target can handle) to mobile devices via IrDA, Bluetooth and other protocol via the OBEX format. xtraeme: now it should be possible to transfer files from/to my cellular phone from NetBSD.
Diffstat (limited to 'comms')
-rw-r--r--comms/obexapp/DESCR3
-rw-r--r--comms/obexapp/Makefile36
-rw-r--r--comms/obexapp/PLIST4
-rw-r--r--comms/obexapp/distinfo10
-rw-r--r--comms/obexapp/patches/patch-aa16
-rw-r--r--comms/obexapp/patches/patch-ab113
-rw-r--r--comms/obexapp/patches/patch-ac16
-rw-r--r--comms/obexapp/patches/patch-ad116
-rw-r--r--comms/obexapp/patches/patch-ae13
9 files changed, 327 insertions, 0 deletions
diff --git a/comms/obexapp/DESCR b/comms/obexapp/DESCR
new file mode 100644
index 00000000000..b4cb03771a4
--- /dev/null
+++ b/comms/obexapp/DESCR
@@ -0,0 +1,3 @@
+An obex application to transfer objects (address book items, images, movies,
+anything the target can handle) to mobile devices via IrDA, Bluetooth and other
+protocol via the OBEX format.
diff --git a/comms/obexapp/Makefile b/comms/obexapp/Makefile
new file mode 100644
index 00000000000..2c83a1fab63
--- /dev/null
+++ b/comms/obexapp/Makefile
@@ -0,0 +1,36 @@
+# $NetBSD: Makefile,v 1.1.1.1 2006/07/02 18:18:34 xtraeme Exp $
+#
+
+DISTNAME= obexapp-1.4.4
+CATEGORIES= comms
+MASTER_SITES= http://www.geocities.com/m_evmenkin/
+
+MAINTAINER= xtraeme@NetBSD.org
+HOMEPAGE= http://www.geocities.com/m_evmenkin/
+COMMENT= Obex application to transfer objects to mobile equipment
+
+WRKSRC= ${WRKDIR}/obexapp
+
+SUBST_CLASSES+= mk
+SUBST_FILES.mk= Makefile
+SUBST_STAGE.mk= post-configure
+SUBST_SED.mk= -e "s|-lbsdxml|-lexpat|"
+SUBST_SED.mk+= -e "s|/usr/local/man|${PREFIX}|"
+SUBST_SED.mk+= -e "s|/usr/local|${PREFIX}|"
+SUBST_SED.mk+= -e "s|CFLAGS=|CFLAGS+=|"
+
+# Sigh, this needs the GNU libiconv.
+USE_GNU_ICONV= yes
+
+# Version that contains support for NetBSD/bluetooth.
+BUILDLINK_ABI_DEPENDS.openobex+= openobex>=1.0.1nb3
+
+# Sigh... too many warnings with GCC 4.x, disable them for now.
+CFLAGS+= -w
+
+
+.include "../../comms/openobex/buildlink3.mk"
+.include "../../converters/libiconv/buildlink3.mk"
+.include "../../devel/readline/buildlink3.mk"
+.include "../../textproc/expat/buildlink3.mk"
+.include "../../mk/bsd.pkg.mk"
diff --git a/comms/obexapp/PLIST b/comms/obexapp/PLIST
new file mode 100644
index 00000000000..59029ce1087
--- /dev/null
+++ b/comms/obexapp/PLIST
@@ -0,0 +1,4 @@
+@comment $NetBSD: PLIST,v 1.1.1.1 2006/07/02 18:18:34 xtraeme Exp $
+bin/obexapp
+man/cat1/obexapp.0
+man/man1/obexapp.1
diff --git a/comms/obexapp/distinfo b/comms/obexapp/distinfo
new file mode 100644
index 00000000000..027591fde77
--- /dev/null
+++ b/comms/obexapp/distinfo
@@ -0,0 +1,10 @@
+$NetBSD: distinfo,v 1.1.1.1 2006/07/02 18:18:34 xtraeme Exp $
+
+SHA1 (obexapp-1.4.4.tar.gz) = 4d99ff1e636109dd8013d1c4bc5b2852103e4071
+RMD160 (obexapp-1.4.4.tar.gz) = d4ca4229e8e63158366bef72e39323b249aca614
+Size (obexapp-1.4.4.tar.gz) = 245156 bytes
+SHA1 (patch-aa) = 72d58a720378787f2083f55a46dc62a146a10f95
+SHA1 (patch-ab) = 8b6f6f84ba815bc3416822cfbe1fa76ae751b909
+SHA1 (patch-ac) = 0ea10dd4847237fbc8dcb0bfce7e20248d2867b1
+SHA1 (patch-ad) = 02c68786f9621ad4ff4c68653973a549e82de0f7
+SHA1 (patch-ae) = d9a09e9ca0118ebb489507e2fe9965fbded4552b
diff --git a/comms/obexapp/patches/patch-aa b/comms/obexapp/patches/patch-aa
new file mode 100644
index 00000000000..5fcd5c57f3f
--- /dev/null
+++ b/comms/obexapp/patches/patch-aa
@@ -0,0 +1,16 @@
+$NetBSD: patch-aa,v 1.1.1.1 2006/07/02 18:18:34 xtraeme Exp $
+
+--- obexapp.h.orig 2006-07-02 19:32:51.000000000 +0200
++++ obexapp.h 2006-07-02 19:33:45.000000000 +0200
+@@ -71,7 +71,11 @@
+
+ struct context
+ {
++#ifdef __NetBSD__
++ struct sockaddr_bt addr; /* remote address */
++#else
+ struct sockaddr_rfcomm addr; /* remote address */
++#endif
+ bdaddr_t saddr; /* local address */
+ char *root; /* root path */
+ char *user; /* user */
diff --git a/comms/obexapp/patches/patch-ab b/comms/obexapp/patches/patch-ab
new file mode 100644
index 00000000000..36b79c26102
--- /dev/null
+++ b/comms/obexapp/patches/patch-ab
@@ -0,0 +1,113 @@
+$NetBSD: patch-ab,v 1.1.1.1 2006/07/02 18:18:34 xtraeme Exp $
+
+--- main.c.orig 2004-12-24 00:09:48.000000000 +0100
++++ main.c 2006-07-02 19:48:19.000000000 +0200
+@@ -90,8 +90,13 @@
+
+ /* Prepare context */
+ memset(&context, 0, sizeof(context));
++#ifdef __NetBSD__
++ context.addr.bt_len = sizeof(context.addr.bt_len);
++ context.addr.bt_family = AF_BLUETOOTH;
++#else
+ context.addr.rfcomm_len = sizeof(context.addr.rfcomm_len);
+ context.addr.rfcomm_family = AF_BLUETOOTH;
++#endif
+ context.tfd = context.sfd = -1;
+ context.detach = 1;
+
+@@ -148,15 +153,23 @@
+ while ((n = getopt(argc, argv, "a:A:cC:dDfhnr:Ssu:")) != -1) {
+ switch (n) {
+ case 'a':
++#ifdef __NetBSD__
++ if (!bt_aton(optarg, &context.addr.bt_bdaddr)) {
++#else
+ if (!bt_aton(optarg, &context.addr.rfcomm_bdaddr)) {
++#endif
+ struct hostent *he = bt_gethostbyname(optarg);
+
+ if (he == NULL)
+ errx(1, "%s: %s", optarg,
+ hstrerror(h_errno));
+-
++#ifdef __NetBSD__
++ memcpy(&context.addr.bt_bdaddr, he->h_addr,
++ sizeof(context.addr.bt_bdaddr));
++#else
+ memcpy(&context.addr.rfcomm_bdaddr, he->h_addr,
+ sizeof(context.addr.rfcomm_bdaddr));
++#endif
+ }
+ break;
+
+@@ -178,11 +191,19 @@
+ break;
+
+ case 'C': /* channel to listen on or connect to */
++#ifdef __NetBSD__
++ context.addr.bt_channel = strtoul(optarg, &ep, 10);
++#else
+ context.addr.rfcomm_channel = strtoul(optarg, &ep, 10);
++#endif
+ if (*ep != '\0') {
++#ifdef __NetBSD__
++ context.addr.bt_channel = 0;
++#else
+ context.addr.rfcomm_channel = 0;
++#endif
+
+- switch (tolower(optarg[0])) {
++ switch (tolower((unsigned char)optarg[0])) {
+ case 'i': /* IrMC */
+ service = SDP_SERVICE_CLASS_IR_MC_SYNC;
+ break;
+@@ -254,10 +275,25 @@
+ argv += optind;
+
+ if (!context.server) {
++#ifdef __NetBSD__
++ if (memcmp(&context.addr.bt_bdaddr,
++ BDADDR_ANY, sizeof(context.addr.bt_bdaddr)) == 0)
++ errx(1, "Must specify server BD_ADDR");
++
++ /* Check channel, if was not set then obtain it via SDP */
++ if (context.addr.bt_channel == 0 && service != 0) {
++ int channel;
++
++ if (rfcomm_channel_lookup(NULL,
++ &context.addr.bt_bdaddr,
++ service, &channel, &n) != 0)
++ errx(1, "Could not obtain RFCOMM channel");
++
++ context.addr.bt_channel = (u_int8_t) channel;
++#else
+ if (memcmp(&context.addr.rfcomm_bdaddr,
+ NG_HCI_BDADDR_ANY, sizeof(context.addr.rfcomm_bdaddr)) == 0)
+ errx(1, "Must specify server BD_ADDR");
+-
+ /* Check channel, if was not set then obtain it via SDP */
+ if (context.addr.rfcomm_channel == 0 && service != 0) {
+ int channel;
+@@ -268,13 +304,21 @@
+ errc(1, n, "Could not obtain RFCOMM channel");
+
+ context.addr.rfcomm_channel = (u_int8_t) channel;
++#endif
+ }
+ }
+
++#ifdef __NetBSD__
++ if (context.addr.bt_channel <= 0 ||
++ context.addr.bt_channel > 30)
++ errx(1, "Invalid RFCOMM channel %d",
++ context.addr.bt_channel);
++#else
+ if (context.addr.rfcomm_channel <= 0 ||
+ context.addr.rfcomm_channel > 30)
+ errx(1, "Invalid RFCOMM channel %d",
+ context.addr.rfcomm_channel);
++#endif
+
+ /* Detach server (if required) */
+ if (context.server && context.detach) {
diff --git a/comms/obexapp/patches/patch-ac b/comms/obexapp/patches/patch-ac
new file mode 100644
index 00000000000..3a9cff99ff6
--- /dev/null
+++ b/comms/obexapp/patches/patch-ac
@@ -0,0 +1,16 @@
+$NetBSD: patch-ac,v 1.1.1.1 2006/07/02 18:18:34 xtraeme Exp $
+
+--- sdp.c.orig 2006-07-02 19:51:38.000000000 +0200
++++ sdp.c 2006-07-02 19:52:05.000000000 +0200
+@@ -72,7 +72,11 @@
+ u_int32_t type, len;
+
+ if (local == NULL)
++#ifdef __NetBSD__
++ local = BDADDR_ANY;
++#else
+ local = NG_HCI_BDADDR_ANY;
++#endif
+ if (remote == NULL || channel == NULL)
+ rfcomm_channel_lookup_exit(EINVAL);
+
diff --git a/comms/obexapp/patches/patch-ad b/comms/obexapp/patches/patch-ad
new file mode 100644
index 00000000000..ef99c28cf20
--- /dev/null
+++ b/comms/obexapp/patches/patch-ad
@@ -0,0 +1,116 @@
+$NetBSD: patch-ad,v 1.1.1.1 2006/07/02 18:18:34 xtraeme Exp $
+
+--- transport.c.orig 2006-07-02 19:52:50.000000000 +0200
++++ transport.c 2006-07-02 19:59:19.000000000 +0200
+@@ -53,7 +53,11 @@
+ obexapp_transport_connect(obex_t *handle, void *userdata)
+ {
+ context_p context = (context_p) userdata;
+- struct sockaddr_rfcomm addr;
++#ifdef __NetBSD__
++ struct sockaddr_bt addr;
++#else
++ struct sockaddr_rfcomm addr
++#endif
+
+ syslog(LOG_DEBUG, "%s()", __func__);
+
+@@ -63,21 +67,36 @@
+ return (-1);
+ }
+
++#ifdef __NetBSD__
++ syslog(LOG_INFO, "%s(): Connecting to %s/%d, pid=%d",
++ __func__, bt_ntoa(&context->addr.bt_bdaddr, NULL),
++ context->addr.bt_channel, getpid());
++
++ context->tfd = socket(PF_BLUETOOTH,SOCK_STREAM,BTPROTO_RFCOMM);
++#else
+ syslog(LOG_INFO, "%s(): Connecting to %s/%d, pid=%d",
+ __func__, bt_ntoa(&context->addr.rfcomm_bdaddr, NULL),
+ context->addr.rfcomm_channel, getpid());
+
+ context->tfd = socket(PF_BLUETOOTH,SOCK_STREAM,BLUETOOTH_PROTO_RFCOMM);
++#endif
+ if (context->tfd < 0) {
+ syslog(LOG_ERR, "%s(): Could not create socket. %s (%d)",
+ __func__, strerror(errno), errno);
+ return (-1);
+ }
+
++#ifdef __NetBSD__
++ addr.bt_len = sizeof(addr);
++ addr.bt_family = AF_BLUETOOTH;
++ memcpy(&addr.bt_bdaddr, &context->saddr, sizeof(addr.bt_bdaddr));
++ addr.bt_channel = 0;
++#else
+ addr.rfcomm_len = sizeof(addr);
+ addr.rfcomm_family = AF_BLUETOOTH;
+ memcpy(&addr.rfcomm_bdaddr, &context->saddr, sizeof(addr.rfcomm_bdaddr));
+ addr.rfcomm_channel = 0;
++#endif
+
+ if (bind(context->tfd, (struct sockaddr *) &addr, sizeof(addr)) < 0) {
+ syslog(LOG_ERR, "%s(): Could not bind socket. %s (%d)",
+@@ -157,7 +176,11 @@
+ obexapp_transport_listen(obex_t *handle, void *userdata)
+ {
+ context_p context = (context_p) userdata;
++#ifdef __NetBSD__
++ struct sockaddr_bt addr;
++#else
+ struct sockaddr_rfcomm addr;
++#endif
+ socklen_t addrlen;
+ pid_t pid;
+ int s;
+@@ -171,7 +194,11 @@
+ return (1);
+ }
+
++#ifdef __NetBSD__
++ s = socket(PF_BLUETOOTH, SOCK_STREAM, BTPROTO_RFCOMM);
++#else
+ s = socket(PF_BLUETOOTH, SOCK_STREAM, BLUETOOTH_PROTO_RFCOMM);
++#endif
+ if (s < 0) {
+ syslog(LOG_ERR, "%s(): Could not create socket. %s (%d)",
+ __func__, strerror(errno), errno);
+@@ -192,7 +219,11 @@
+ }
+
+ memset(&opush, 0, sizeof(opush));
++#ifdef __NetBSD__
++ opush.server_channel = context->addr.bt_channel;
++#else
+ opush.server_channel = context->addr.rfcomm_channel;
++#endif
+ opush.supported_formats_size = 7;
+ opush.supported_formats[0] = 0x1;
+ opush.supported_formats[1] = 0x2;
+@@ -204,7 +235,11 @@
+
+ if (sdp_register_service(context->ss,
+ SDP_SERVICE_CLASS_OBEX_OBJECT_PUSH,
++#ifdef __NetBSD__
++ &context->addr.bt_bdaddr,
++#else
+ &context->addr.rfcomm_bdaddr,
++#endif
+ (void *) &opush, sizeof(opush), NULL) != 0) {
+ syslog(LOG_ERR, "%s(): Could to register OPUSH service with " \
+ "local SDP daemon. %s (%d)",
+@@ -239,8 +274,13 @@
+
+ syslog(LOG_INFO, "%s(): Accepted new connection from " \
+ "%s/%d, pid=%d", __func__,
++#ifdef __NetBSD__
++ bt_ntoa(&addr.bt_bdaddr, NULL),
++ addr.bt_channel, getpid());
++#else
+ bt_ntoa(&addr.rfcomm_bdaddr, NULL),
+ addr.rfcomm_channel, getpid());
++#endif
+
+ if (daemon(1, 0) < 0) {
+ syslog(LOG_ERR, "%s(): Could not daemon. %s (%d)",
diff --git a/comms/obexapp/patches/patch-ae b/comms/obexapp/patches/patch-ae
new file mode 100644
index 00000000000..608d748ec7f
--- /dev/null
+++ b/comms/obexapp/patches/patch-ae
@@ -0,0 +1,13 @@
+$NetBSD: patch-ae,v 1.1.1.1 2006/07/02 18:18:34 xtraeme Exp $
+
+--- util.c.orig 2006-07-02 20:07:59.000000000 +0200
++++ util.c 2006-07-02 20:08:07.000000000 +0200
+@@ -30,7 +30,7 @@
+ */
+
+ #include <bluetooth.h>
+-#include <bsdxml.h>
++#include <expat.h>
+ #include <ctype.h>
+ #include <errno.h>
+ #include <iconv.h>