From 1624a9652b6405c9dab4b529890a57787104b655 Mon Sep 17 00:00:00 2001 From: =?utf8?q?K=C3=A9vin=20THIERRY?= Date: Tue, 2 Dec 2014 11:48:12 +0100 Subject: [PATCH] neard: add Tizen patches MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Change-Id: Idb92ec85d9691b14bcec885a7d5eeb26e70197a9 Signed-off-by: Kévin THIERRY --- .../neard/0001-ndef-Support-RAW-ndef-writes.patch | 145 ++++++++++++++ .../0002-tag-Implement-a-raw-NDEF-accessor.patch | 100 +++++++++ .../neard/0003-Add-raw-NDEF-support-for-P2P.patch | 94 +++++++++ ...pport-for-WiFi-Handover-through-MIME-x-nf.patch | 223 +++++++++++++++++++++ .../neard/neard/0005-Add-packaging-directory.patch | 206 +++++++++++++++++++ .../recipes-connectivity/neard/neard_%.bbappend | 8 + 6 files changed, 776 insertions(+) create mode 100644 meta-tizen-adaptation-oe-core/recipes-connectivity/neard/neard/0001-ndef-Support-RAW-ndef-writes.patch create mode 100644 meta-tizen-adaptation-oe-core/recipes-connectivity/neard/neard/0002-tag-Implement-a-raw-NDEF-accessor.patch create mode 100644 meta-tizen-adaptation-oe-core/recipes-connectivity/neard/neard/0003-Add-raw-NDEF-support-for-P2P.patch create mode 100644 meta-tizen-adaptation-oe-core/recipes-connectivity/neard/neard/0004-ndef-Add-support-for-WiFi-Handover-through-MIME-x-nf.patch create mode 100644 meta-tizen-adaptation-oe-core/recipes-connectivity/neard/neard/0005-Add-packaging-directory.patch create mode 100644 meta-tizen-adaptation-oe-core/recipes-connectivity/neard/neard_%.bbappend diff --git a/meta-tizen-adaptation-oe-core/recipes-connectivity/neard/neard/0001-ndef-Support-RAW-ndef-writes.patch b/meta-tizen-adaptation-oe-core/recipes-connectivity/neard/neard/0001-ndef-Support-RAW-ndef-writes.patch new file mode 100644 index 0000000..60935f7 --- /dev/null +++ b/meta-tizen-adaptation-oe-core/recipes-connectivity/neard/neard/0001-ndef-Support-RAW-ndef-writes.patch @@ -0,0 +1,145 @@ +From 947a28f4000b4638316f30f88f124d87fbdda218 Mon Sep 17 00:00:00 2001 +From: Samuel Ortiz +Date: Thu, 25 Oct 2012 18:58:06 +0200 +Subject: [PATCH 1/5] ndef: Support RAW ndef writes + +Change-Id: I21a341b2482556458e381b4a3033ef3e9313194c +--- + doc/tag-api.txt | 2 ++ + src/ndef.c | 61 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + test/test-tag | 13 ++++++++++++ + 3 files changed, 76 insertions(+) + +diff --git a/doc/tag-api.txt b/doc/tag-api.txt +index 303438b..768c75f 100644 +--- a/doc/tag-api.txt ++++ b/doc/tag-api.txt +@@ -13,6 +13,8 @@ Method void Write(dict attributes) + record type and is described by the Record properties. + For example, one would add a type, a Language, an + Encoding and a Representation for a text record. ++ To push raw NDEF, one should use the NDEF key and use ++ an array of bytes for the NDEF stream. + + Possible Errors: org.neard.Error.PermissionDenied + org.neard.Error.InvalidArguments +diff --git a/src/ndef.c b/src/ndef.c +index e8f950e..4427f08 100644 +--- a/src/ndef.c ++++ b/src/ndef.c +@@ -3618,6 +3618,64 @@ static struct near_ndef_message *build_mime_record(DBusMessage *msg) + return NULL; + } + ++static struct near_ndef_message * build_raw_ndef(DBusMessage *msg) ++{ ++ DBusMessageIter iter, arr_iter; ++ struct near_ndef_message *ndef; ++ ++ DBG(""); ++ ++ ndef = NULL; ++ ++ dbus_message_iter_init(msg, &iter); ++ dbus_message_iter_recurse(&iter, &arr_iter); ++ ++ while (dbus_message_iter_get_arg_type(&arr_iter) != ++ DBUS_TYPE_INVALID) { ++ const char *key; ++ DBusMessageIter ent_iter; ++ DBusMessageIter var_iter; ++ ++ dbus_message_iter_recurse(&arr_iter, &ent_iter); ++ dbus_message_iter_get_basic(&ent_iter, &key); ++ dbus_message_iter_next(&ent_iter); ++ dbus_message_iter_recurse(&ent_iter, &var_iter); ++ ++ switch (dbus_message_iter_get_arg_type(&var_iter)) { ++ case DBUS_TYPE_ARRAY: ++ if (g_strcmp0(key, "NDEF") == 0) { ++ DBusMessageIter array; ++ uint8_t *data; ++ int data_size; ++ ++ dbus_message_iter_recurse(&var_iter, &array); ++ dbus_message_iter_get_fixed_array(&array, ++ &data, ++ &data_size); ++ ++ ndef = g_try_malloc0(data_size); ++ if (ndef == NULL) ++ break; ++ ++ ndef->data = g_try_malloc0(data_size); ++ if (ndef->data == NULL) { ++ g_free(ndef); ++ break; ++ } ++ ++ ndef->length = data_size; ++ memcpy(ndef->data, data, data_size); ++ } ++ ++ break; ++ } ++ ++ dbus_message_iter_next(&arr_iter); ++ } ++ ++ return ndef; ++} ++ + struct near_ndef_message *__ndef_build_from_message(DBusMessage *msg) + { + DBusMessageIter iter; +@@ -3672,6 +3730,9 @@ struct near_ndef_message *__ndef_build_from_message(DBusMessage *msg) + } else if (g_strcmp0(value, "MIME") == 0) { + ndef = build_mime_record(msg); + break; ++ } else if (g_strcmp0(value, "Raw") == 0) { ++ ndef = build_raw_ndef(msg); ++ break; + } else { + near_error("%s not supported", value); + ndef = NULL; +diff --git a/test/test-tag b/test/test-tag +index 3d2c226..935ab6f 100755 +--- a/test/test-tag ++++ b/test/test-tag +@@ -28,6 +28,7 @@ def usage(): + print " Type is MIME, parameters are wifi_wsc " + print " If type is MIME, and WiFi AP is open network" + print " Type is MIME, parameters are wifi_wsc " ++ print " If type is RAW, parameters are Raw " + print "e.g. < %s /org/neard/nfc0/tag0 Text UTF-8 en-US hello,NFC! >" % (sys.argv[0]) + print "e.g. < %s /org/neard/nfc0/tag0 URI http://www.nfc-forum.com >" % (sys.argv[0]) + print "e.g. < %s /org/neard/nfc0/tag0 SmartPoster http://www.nfc-forum.com >" % (sys.argv[0]) +@@ -35,6 +36,7 @@ def usage(): + print "e.g. < %s /org/neard/nfc0/tag0 E-Mail test@test.com >" % (sys.argv[0]) + print "e.g. < %s /org/neard/nfc0/tag0 MIME wifi_wsc YourAPname passphrase >" % (sys.argv[0]) + print "e.g. < %s /org/neard/nfc0/tag0 MIME wifi_wsc YourAPname >" % (sys.argv[0]) ++ print "e.g. < %s /org/neard/nfc0/tag0 Raw >" % (sys.argv[0]) + + + sys.exit(1) +@@ -129,6 +131,17 @@ if (sys.argv[1] == "write"): + "MIME" : "application/vnd.wfa.wsc", + "SSID" : sys.argv[5], + "Passphrase" : sys.argv[6] })) ++ ++ elif sys.argv[3] in ["Raw"]: ++ ndef = file(sys.argv[4]).read().rsplit(' ') ++ ndef_stream = bytearray() ++ ++ for b in ndef: ++ ndef_stream.append(int(b, 16)) ++ ++ tag.Write(({ "Type" : "Raw", ++ "NDEF" : dbus.ByteArray(ndef_stream) })) ++ + else: + usage() + +-- +1.8.1.4 + diff --git a/meta-tizen-adaptation-oe-core/recipes-connectivity/neard/neard/0002-tag-Implement-a-raw-NDEF-accessor.patch b/meta-tizen-adaptation-oe-core/recipes-connectivity/neard/neard/0002-tag-Implement-a-raw-NDEF-accessor.patch new file mode 100644 index 0000000..a0b86b9 --- /dev/null +++ b/meta-tizen-adaptation-oe-core/recipes-connectivity/neard/neard/0002-tag-Implement-a-raw-NDEF-accessor.patch @@ -0,0 +1,100 @@ +From ebc4849a0c25ebdbd4aa71e130754ee2668f365c Mon Sep 17 00:00:00 2001 +From: Arron Wang +Date: Mon, 29 Sep 2014 14:23:55 +0800 +Subject: [PATCH 2/5] tag: Implement a raw NDEF accessor + +Change-Id: Id7fab24395d45502e8cdde573c40f2bd99348e27 +--- + doc/tag-api.txt | 3 +++ + src/tag.c | 29 +++++++++++++++++++++++++++++ + test/test-tag | 8 ++++++-- + 3 files changed, 38 insertions(+), 2 deletions(-) + +diff --git a/doc/tag-api.txt b/doc/tag-api.txt +index 768c75f..6feb90d 100644 +--- a/doc/tag-api.txt ++++ b/doc/tag-api.txt +@@ -20,6 +20,9 @@ Method void Write(dict attributes) + org.neard.Error.InvalidArguments + org.neard.Error.InProgress + ++ array{byte} GetRawNDEF() ++ ++ Return the tag's NDEF as a raw bytes stream. + + Properties string Type [readonly] + +diff --git a/src/tag.c b/src/tag.c +index 146a87a..dd9dfe3 100644 +--- a/src/tag.c ++++ b/src/tag.c +@@ -461,9 +461,38 @@ fail: + return __near_error_failed(msg, ENOMEM); + } + ++static DBusMessage *get_raw_ndef(DBusConnection *conn, ++ DBusMessage *msg, void *data) ++{ ++ struct near_tag *tag = data; ++ DBusMessage *reply; ++ DBusMessageIter iter, array; ++ ++ DBG(""); ++ ++ reply = dbus_message_new_method_return(msg); ++ if (reply == NULL) ++ return NULL; ++ ++ dbus_message_iter_init_append(reply, &iter); ++ ++ dbus_message_iter_open_container(&iter, DBUS_TYPE_ARRAY, ++ DBUS_TYPE_BYTE_AS_STRING, ++ &array); ++ ++ __near_ndef_append_records(&array, tag->records); ++ ++ dbus_message_iter_close_container(&iter, &array); ++ ++ return reply; ++} ++ + static const GDBusMethodTable tag_methods[] = { + { GDBUS_ASYNC_METHOD("Write", GDBUS_ARGS({"attributes", "a{sv}"}), + NULL, write_ndef) }, ++ { GDBUS_METHOD("GetRawNDEF", ++ NULL, GDBUS_ARGS({"NDEF", "ay"}), ++ get_raw_ndef) }, + { }, + }; + +diff --git a/test/test-tag b/test/test-tag +index 935ab6f..36593ab 100755 +--- a/test/test-tag ++++ b/test/test-tag +@@ -6,10 +6,10 @@ import neardutils + + bus = dbus.SystemBus() + +-def extract_list(list): ++def extract_ndef(list): + val = "[" + for i in list: +- val += " " + str(i) ++ val += " 0x%x" % i + val += " ]" + return val + +@@ -86,6 +86,10 @@ if (sys.argv[1] == "dump"): + else: + neardutils.dump_all_records(sys.argv[2]) + ++ tag = neardutils.find_tag(sys.argv[2]) ++ raw_ndef = tag.GetRawNDEF() ++ print " Raw NDEF = %s" % (extract_ndef(raw_ndef)) ++ + sys.exit(0) + + if (sys.argv[1] == "write"): +-- +1.8.1.4 + diff --git a/meta-tizen-adaptation-oe-core/recipes-connectivity/neard/neard/0003-Add-raw-NDEF-support-for-P2P.patch b/meta-tizen-adaptation-oe-core/recipes-connectivity/neard/neard/0003-Add-raw-NDEF-support-for-P2P.patch new file mode 100644 index 0000000..3f9af0e --- /dev/null +++ b/meta-tizen-adaptation-oe-core/recipes-connectivity/neard/neard/0003-Add-raw-NDEF-support-for-P2P.patch @@ -0,0 +1,94 @@ +From cef95e13567c55fac4c9cf816928705d1b8b233f Mon Sep 17 00:00:00 2001 +From: Arron Wang +Date: Mon, 29 Sep 2014 16:44:46 +0800 +Subject: [PATCH 3/5] Add raw NDEF support for P2P + +Change-Id: I7ab5cd5eea7b0e60b9980f15a7ba15def86ced0e +--- + src/device.c | 31 +++++++++++++++++++++++++++++++ + test/test-device | 8 ++++++-- + 2 files changed, 37 insertions(+), 2 deletions(-) + +diff --git a/src/device.c b/src/device.c +index a6598e0..303e787 100644 +--- a/src/device.c ++++ b/src/device.c +@@ -173,6 +173,8 @@ static char *sn_from_message(DBusMessage *msg) + return NEAR_DEVICE_SN_HANDOVER; + else if (g_strcmp0(value, "MIME") == 0) + return NEAR_DEVICE_SN_SNEP; ++ else if (g_strcmp0(value, "Raw") == 0) ++ return NEAR_DEVICE_SN_SNEP; + else + return NULL; + +@@ -246,9 +248,38 @@ static gboolean property_get_adapter(const GDBusPropertyTable *property, + + } + ++static DBusMessage *dump_raw_ndef(DBusConnection *conn, ++ DBusMessage *msg, void *data) ++{ ++ struct near_device *device = data; ++ DBusMessage *reply; ++ DBusMessageIter iter, array; ++ ++ DBG(""); ++ ++ reply = dbus_message_new_method_return(msg); ++ if (reply == NULL) ++ return NULL; ++ ++ dbus_message_iter_init_append(reply, &iter); ++ ++ dbus_message_iter_open_container(&iter, DBUS_TYPE_ARRAY, ++ DBUS_TYPE_BYTE_AS_STRING, ++ &array); ++ ++ __near_ndef_append_records(&array, device->records); ++ ++ dbus_message_iter_close_container(&iter, &array); ++ ++ return reply; ++} ++ + static const GDBusMethodTable device_methods[] = { + { GDBUS_ASYNC_METHOD("Push", GDBUS_ARGS({"attributes", "a{sv}"}), + NULL, push_ndef) }, ++ { GDBUS_METHOD("DumpRawNDEF", ++ NULL, GDBUS_ARGS({"NDEF", "ay"}), ++ dump_raw_ndef) }, + { }, + }; + +diff --git a/test/test-device b/test/test-device +index a4923fb..226408f 100755 +--- a/test/test-device ++++ b/test/test-device +@@ -6,10 +6,10 @@ import neardutils + + bus = dbus.SystemBus() + +-def extract_list(list): ++def extract_ndef(list): + val = "[" + for i in list: +- val += " " + str(i) ++ val += " 0x%x" % i + val += " ]" + return val + +@@ -73,6 +73,10 @@ if (sys.argv[1] == "dump"): + else: + neardutils.dump_all_records(sys.argv[2]) + ++ device = neardutils.find_device(sys.argv[2]) ++ raw_ndef = device.DumpRawNDEF() ++ print " Raw NDEF = %s" % (extract_ndef(raw_ndef)) ++ + sys.exit(0) + + if (sys.argv[1] == "push"): +-- +1.8.1.4 + diff --git a/meta-tizen-adaptation-oe-core/recipes-connectivity/neard/neard/0004-ndef-Add-support-for-WiFi-Handover-through-MIME-x-nf.patch b/meta-tizen-adaptation-oe-core/recipes-connectivity/neard/neard/0004-ndef-Add-support-for-WiFi-Handover-through-MIME-x-nf.patch new file mode 100644 index 0000000..ff03015 --- /dev/null +++ b/meta-tizen-adaptation-oe-core/recipes-connectivity/neard/neard/0004-ndef-Add-support-for-WiFi-Handover-through-MIME-x-nf.patch @@ -0,0 +1,223 @@ +From e3d9d28335a45ff212bd2dac36bce717dffaaa11 Mon Sep 17 00:00:00 2001 +From: Samuel Ortiz +Date: Thu, 22 Aug 2013 00:13:00 +0200 +Subject: [PATCH 4/5] ndef: Add support for WiFi Handover through MIME/x-nfctl + +The NFC task launcher Android application reads NFC tags formatted with +a proprietary MIME/x-nfctl NDEF containing an SSID and a passphrase. +By pushing the same kind of NDEF through SNEP, a WiFi association with +the neard WiFi handover agent can be triggered. + +Change-Id: I49f13dc3b32b347357c6d2a13f6b3a132ad74dab +Signed-off-by: Geoffroy Van Cutsem +--- + Makefile.am | 2 +- + src/ndef.c | 78 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ + test/test-device | 4 +++ + test/wifi-handover | 63 +++++++++++++++++++++++++++++++++++++++++++ + 4 files changed, 146 insertions(+), 1 deletion(-) + create mode 100755 test/wifi-handover + +diff --git a/Makefile.am b/Makefile.am +index 32a3e91..001f82c 100644 +--- a/Makefile.am ++++ b/Makefile.am +@@ -81,7 +81,7 @@ dist_man_MANS = doc/neard.8 doc/neard.conf.5 doc/nfctool.1 + test_scripts = test/test-adapter test/test-device \ + test/test-tag test/monitor-near test/bt-handover \ + test/handover-agent test/phdc-simple-manager \ +- test/neardutils.py ++ test/neardutils.py test/wifi-handover + + if TEST + testdir = $(pkglibdir)/test +diff --git a/src/ndef.c b/src/ndef.c +index 4427f08..a729b84 100644 +--- a/src/ndef.c ++++ b/src/ndef.c +@@ -3536,6 +3536,59 @@ static struct near_ndef_message *near_ndef_prepare_mime_payload_record( + return mime; + } + ++#define DE_AUTHENTICATION_TYPE 0x1003 ++#define DE_NETWORK_KEY 0x1027 ++#define DE_SSID 0x1045 ++static void parse_wsc_oob(guint8 *oob_data, guint32 oob_length, ++ char **ssid, char **passphrase) ++{ ++ guint32 offset = 0; ++ guint16 de_length, de_type; ++ guint16 auth_type; ++ ++ while (offset < oob_length) { ++ de_type = near_get_be16(oob_data + offset); ++ de_length = near_get_be16(oob_data + offset + 2); ++ ++ switch(de_type) { ++ case DE_AUTHENTICATION_TYPE: ++ auth_type = near_get_be16(oob_data + offset + 4); ++ DBG("WSC Authentication Type: 0x%02x", ++ auth_type); ++ break; ++ ++ case DE_SSID: ++ *ssid = g_try_malloc0(de_length + 1); ++ if (!*ssid) ++ break; ++ ++ g_snprintf(*ssid, de_length + 1, ++ "%s", oob_data + offset + 4); ++ ++ DBG("SSID: %s", *ssid); ++ break; ++ ++ case DE_NETWORK_KEY: ++ *passphrase = g_try_malloc0(de_length + 1); ++ if (!*passphrase) ++ break; ++ ++ g_snprintf(*passphrase, de_length + 1, ++ "%s", oob_data + offset + 4); ++ ++ DBG("Passphrase: %s", *passphrase); ++ break; ++ ++ default: ++ DBG("Unknown Data Element"); ++ break; ++ ++ } ++ ++ offset += 4 + de_length; ++ } ++} ++ + static struct near_ndef_message *build_mime_record(DBusMessage *msg) + { + DBusMessageIter iter, arr_iter; +@@ -3592,6 +3645,31 @@ static struct near_ndef_message *build_mime_record(DBusMessage *msg) + g_free(carrier); + + return mime; ++ } else if (g_strcmp0(mime_str, "x/nfctl") == 0) { ++ struct carrier_data *carrier; ++ char *ssid = NULL, *passphrase = NULL; ++ char payload[128]; ++ ++ carrier = __near_agent_handover_request_data( ++ HO_AGENT_WIFI, NULL); ++ if (!carrier) ++ return NULL; ++ ++ parse_wsc_oob(carrier->data, carrier->size, ++ &ssid, &passphrase); ++ if (!ssid || !passphrase) ++ return NULL; ++ ++ g_snprintf(payload, 128, ++ "enZ:wifi association;C:I4:%s:2:%s", ++ ssid, passphrase); ++ g_free(ssid); ++ g_free(passphrase); ++ ++ DBG("payload %s", payload); ++ ++ return near_ndef_prepare_mime_payload_record( ++ mime_str, payload, strlen(payload)); + } else { + /* + * Expect data is set in the Payload field of +diff --git a/test/test-device b/test/test-device +index 226408f..d3b6873 100755 +--- a/test/test-device ++++ b/test/test-device +@@ -33,6 +33,7 @@ def usage(): + print "e.g. < %s push /org/neard/nfc0/device0 StaticHandover bluetooth,wifi >" % (sys.argv[0]) + print "e.g. < %s push /org/neard/nfc0/device0 MIME wifi_wsc>" % (sys.argv[0]) + print "e.g. < %s push /org/neard/nfc0/device0 MIME raw application/xml '' >" % (sys.argv[0]) ++ print "e.g. < %s push /org/neard/nfc0/device0 WiFiAssociation >" % (sys.argv[0]) + + sys.exit(1) + +@@ -116,6 +117,9 @@ if (sys.argv[1] == "push"): + if sys.argv[4] in ["wifi_wsc"]: + device.Push(({ "Type" : "MIME", + "MIME" : "application/vnd.wfa.wsc"})) ++ elif sys.argv[3] in ["WiFiAssociation"]: ++ device.Push(({ "Type" : "MIME", ++ "MIME" : "x/nfctl" })) + else: + usage() + else: +diff --git a/test/wifi-handover b/test/wifi-handover +new file mode 100755 +index 0000000..54c6347 +--- /dev/null ++++ b/test/wifi-handover +@@ -0,0 +1,63 @@ ++#!/usr/bin/python ++ ++import os ++import sys ++import gobject ++ ++import dbus ++import dbus.mainloop.glib ++ ++import neardutils ++ ++from dbus.lowlevel import MethodCallMessage, HANDLER_RESULT_NOT_YET_HANDLED ++ ++mainloop = gobject.MainLoop() ++ ++def device_added(path, interfaces): ++ for iface, props in interfaces.iteritems(): ++ if "org.neard.Device" in interfaces: ++ print("Pairing with %s" % (path)) ++ device = dbus.Interface(bus.get_object("org.neard", path), ++ "org.neard.Device") ++ device.Push(({ "Type" : "MIME", "MIME" : "x/nfctl"})) ++ break ++ ++def device_removed(path, interfaces): ++ for iface in interfaces: ++ if "org.neard.Device" in interfaces: ++ print("Lost device %s" % (path)) ++ mainloop.quit() ++ break ++ ++if __name__ == '__main__': ++ dbus.mainloop.glib.DBusGMainLoop(set_as_default=True) ++ ++ bus = dbus.SystemBus() ++ ++ adapter_path = neardutils.find_adapter().object_path ++ print("Adapter path %s" % (adapter_path)) ++ adapter = dbus.Interface(bus.get_object("org.neard", adapter_path), ++ "org.neard.Adapter") ++ ++ adapter_props = dbus.Interface(bus.get_object("org.neard", adapter_path), ++ "org.freedesktop.DBus.Properties") ++ powered = adapter_props.Get("org.neard.Adapter", "Powered") ++ if (powered == dbus.Boolean(0)): ++ adapter_props.Set("org.neard.Adapter", "Powered", dbus.Boolean(1)) ++ ++ polling = adapter_props.Get("org.neard.Adapter", "Polling") ++ if (polling == dbus.Boolean(0)): ++ adapter.StopPollLoop() ++ ++ print "Starting poll on %s" % (adapter_path) ++ adapter.StartPollLoop("Initiator") ++ ++ bus.add_signal_receiver(device_added, bus_name="org.neard", ++ dbus_interface="org.freedesktop.DBus.ObjectManager", ++ signal_name="InterfacesAdded") ++ ++ bus.add_signal_receiver(device_removed, bus_name="org.neard", ++ dbus_interface="org.freedesktop.DBus.ObjectManager", ++ signal_name="InterfacesRemoved") ++ ++ mainloop.run() +-- +1.8.1.4 + diff --git a/meta-tizen-adaptation-oe-core/recipes-connectivity/neard/neard/0005-Add-packaging-directory.patch b/meta-tizen-adaptation-oe-core/recipes-connectivity/neard/neard/0005-Add-packaging-directory.patch new file mode 100644 index 0000000..4a0bdb8 --- /dev/null +++ b/meta-tizen-adaptation-oe-core/recipes-connectivity/neard/neard/0005-Add-packaging-directory.patch @@ -0,0 +1,206 @@ +From ff0e49b9b9ceaca5e39139b8013bd779909f8bdb Mon Sep 17 00:00:00 2001 +From: Arron Wang +Date: Mon, 8 Jul 2013 17:04:26 +0800 +Subject: [PATCH 5/5] Add packaging directory + +Change-Id: I5704e7f54c2162b644eaa12aa508d4bf127145eb +--- + packaging/neard.changes | 30 ++++++++++++++ + packaging/neard.manifest | 5 +++ + packaging/neard.service | 12 ++++++ + packaging/neard.spec | 101 +++++++++++++++++++++++++++++++++++++++++++++++ + src/main.conf | 2 +- + 5 files changed, 149 insertions(+), 1 deletion(-) + create mode 100644 packaging/neard.changes + create mode 100644 packaging/neard.manifest + create mode 100644 packaging/neard.service + create mode 100644 packaging/neard.spec + +diff --git a/packaging/neard.changes b/packaging/neard.changes +new file mode 100644 +index 0000000..198bfe3 +--- /dev/null ++++ b/packaging/neard.changes +@@ -0,0 +1,30 @@ ++* Tue Sep 30 14:05:35 CST 2014 Arron - 0.14 ++- Upgrade to version 0.14 ++ ++* Mon Jul 8 17:02:59 CST 2013 Arron - 0.12 ++- rebase to version 0.12 ++ ++* Tue Sep 11 2012 arron.wang submit/2.0_beta/20120831.083207@3ecb862 ++- Update License Info ++ ++* Tue Aug 28 2012 Arron < arron.wang@intel.com> - 0.6 ++- Upgrade to version 0.6 ++ ++* Mon Aug 6 10:39:42 CST 2012 Arron ++- Add systemd support ++ ++* Fri Aug 03 2012 Anas Nashif a7864dd ++- fix runtime requirements ++ ++* Tue Jul 31 09:22:14 CST 2012 Arron - 0.5 ++- Upgrade to version 0.5 ++ ++* Tue Apr 24 2012 Arron - 0.2.26 ++- Upgrade to latest version ++ ++* Fri Apr 20 2012 Arron - 0.1.64 ++- Add building require for kernel-adaptation-bb-devel to fix the building error ++ ++* Fri Mar 30 2012 Arron - 0.1.64 ++- Init package for neard ++ +diff --git a/packaging/neard.manifest b/packaging/neard.manifest +new file mode 100644 +index 0000000..017d22d +--- /dev/null ++++ b/packaging/neard.manifest +@@ -0,0 +1,5 @@ ++ ++ ++ ++ ++ +diff --git a/packaging/neard.service b/packaging/neard.service +new file mode 100644 +index 0000000..1d4ac96 +--- /dev/null ++++ b/packaging/neard.service +@@ -0,0 +1,12 @@ ++[Unit] ++Description=NFC Manager Daemon ++Requires=nfc-manager-neard.service ++Before=network.target nfc-manager-neard.service ++ ++[Service] ++Type=dbus ++BusName=org.neard ++ExecStart=/usr/libexec/nfc/neard -n ++ ++[Install] ++WantedBy=multi-user.target +diff --git a/packaging/neard.spec b/packaging/neard.spec +new file mode 100644 +index 0000000..e5c2abd +--- /dev/null ++++ b/packaging/neard.spec +@@ -0,0 +1,101 @@ ++Name: neard ++Summary: Near Field Communication Manager ++Version: 0.14 ++Release: 1 ++Group: Connectivity/NFC ++License: GPL-2.0 ++URL: http://git.kernel.org/pub/scm/network/nfc/neard.git ++Source0: http://www.kernel.org/pub/linux/network/nfc/neard-%{version}.tar.bz2 ++Source1: neard.service ++Source1001: neard.manifest ++BuildRequires: pkgconfig(glib-2.0) ++BuildRequires: pkgconfig(dbus-1) ++BuildRequires: pkgconfig(libnl-3.0) ++ ++Requires: libnl3 ++Requires(post): systemd ++Requires(preun): systemd ++Requires(postun): systemd ++ ++%description ++Near Field Communication Manager ++ ++ ++ ++%package devel ++Summary: Development files for NFC Manager ++Requires: %{name} = %{version}-%{release} ++ ++%description devel ++neard-devel contains development files for use with neard. ++ ++%package test ++Summary: Test Scripts for NFC Manager ++Requires: %{name} = %{version}-%{release} ++Requires: dbus-python ++Requires: pygobject ++ ++%description test ++Scripts for testing neard and its functionality ++ ++%prep ++%setup -q ++cp %{SOURCE1001} . ++ ++%build ++./bootstrap ++%configure \ ++ --enable-debug \ ++ --prefix=/usr \ ++ --sysconfdir=/etc \ ++ --enable-nfctype1=builtin \ ++ --enable-nfctype2=builtin \ ++ --enable-nfctype3=builtin \ ++ --enable-nfctype4=builtin \ ++ --enable-p2p=builtin \ ++ --enable-test ++ ++make %{?jobs:-j%jobs} ++ ++%install ++%make_install ++ ++# Systemd service file ++install -d %{buildroot}%{_unitdir} ++install -m 644 %{S:1} %{buildroot}%{_unitdir}/neard.service ++install -d %{buildroot}%{_unitdir}/network.target.wants/ ++ln -s ../neard.service %{buildroot}%{_unitdir}/network.target.wants/neard.service ++ ++ ++mkdir -p %{buildroot}%{_sysconfdir}/neard ++cp src/main.conf %{buildroot}%{_sysconfdir}/neard/main.conf ++ ++%post ++systemctl daemon-reload ++systemctl restart neard.service ++ ++%preun ++systemctl stop neard.service ++ ++%postun ++systemctl daemon-reload ++ ++%files ++%manifest %{name}.manifest ++%license COPYING ++%{_mandir}/man*/* ++%{_libexecdir}/nfc/neard ++%config %{_sysconfdir}/neard/main.conf ++%config %{_sysconfdir}/dbus-1/system.d/org.neard.conf ++%{_unitdir}/neard.service ++%{_unitdir}/network.target.wants/neard.service ++ ++%files devel ++%manifest %{name}.manifest ++%{_includedir}/near/*.h ++%{_libdir}/pkgconfig/*.pc ++ ++%files test ++%manifest %{name}.manifest ++%defattr(-,root,root,-) ++%{_libdir}/neard/test/* +diff --git a/src/main.conf b/src/main.conf +index 70c2697..053c0f8 100644 +--- a/src/main.conf ++++ b/src/main.conf +@@ -4,7 +4,7 @@ + # Constant polling will automatically trigger a new + # polling loop whenever a tag or a device is no longer + # in the RF field. +-ConstantPoll = true ++ConstantPoll = false + + # Automatically turn an adapter on when being discovered. + # Default value is false. +-- +1.8.1.4 + diff --git a/meta-tizen-adaptation-oe-core/recipes-connectivity/neard/neard_%.bbappend b/meta-tizen-adaptation-oe-core/recipes-connectivity/neard/neard_%.bbappend new file mode 100644 index 0000000..d38d003 --- /dev/null +++ b/meta-tizen-adaptation-oe-core/recipes-connectivity/neard/neard_%.bbappend @@ -0,0 +1,8 @@ +FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:" + +# Tizen patches +SRC_URI += "file://0001-ndef-Support-RAW-ndef-writes.patch" +SRC_URI += "file://0002-tag-Implement-a-raw-NDEF-accessor.patch" +SRC_URI += "file://0003-Add-raw-NDEF-support-for-P2P.patch" +SRC_URI += "file://0004-ndef-Add-support-for-WiFi-Handover-through-MIME-x-nf.patch" +SRC_URI += "file://0005-Add-packaging-directory.patch" -- 2.7.4