Pārlūkot izejas kodu

ffho-respondd-config: replaces ffho-alfred-config
gluon now uses respondd instead of announced, so we need to replace ffho-alfred-config with the corresponding respondd package

Karsten Böddeker 8 gadi atpakaļ
vecāks
revīzija
1a357fe8f7

+ 0 - 39
ffho/ffho-alfred-config/Makefile

@@ -1,39 +0,0 @@
-include $(TOPDIR)/rules.mk
-
-PKG_NAME:=ffho-alfred-config
-PKG_VERSION:=1
-PKG_RELEASE:=$(GLUON_VERSION).$(GLUON_SITE_CODE)-$(GLUON_RELEASE).$(GLUON_CONFIG_VERSION)
-
-PKG_BUILD_DIR := $(BUILD_DIR)/$(PKG_NAME)
-
-include $(INCLUDE_DIR)/package.mk
-
-define Package/ffho-alfred-config
-  SECTION:=ffho
-  CATEGORY:=workarounds
-  TITLE:=Additional A.L.F.R.E.D. config files 
-  DEPENDS:=+busybox
-  MAINTAINER:=Freifunk Hochstift <maschinenraum@paderborn.freifunk.net>
-  URL:=https://git.c3pb.de/freifunk-pb/ffho-packages
-  SOURCE:=git@git.c3pb.de:freifunk-pb/ffho-packages.git
-endef
-
-define Package/ffho-alfred-config/description
-  This package contains additional config files for A.L.F.R.E.D. 
-endef
-
-define Build/Prepare
-endef
-
-define Build/Configure
-endef
-
-define Build/Compile
-endef
-
-define Package/ffho-alfred-config/install
-	$(INSTALL_DIR) $(1)/lib/gluon/announce/nodeinfo.d/system
-	$(INSTALL_DATA) ./files/lib/gluon/announce/nodeinfo.d/system/* $(1)/lib/gluon/announce/nodeinfo.d/system/
-endef
-
-$(eval $(call BuildPackage,ffho-alfred-config))

+ 0 - 3
ffho/ffho-alfred-config/files/lib/gluon/announce/nodeinfo.d/system/site_name

@@ -1,3 +0,0 @@
-local site = require 'gluon.site_config'
-
-return site.site_name

+ 36 - 0
ffho/ffho-respondd-config/Makefile

@@ -0,0 +1,36 @@
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=ffho-respondd-config
+PKG_VERSION:=1
+PKG_RELEASE:=$(GLUON_VERSION).$(GLUON_SITE_CODE)-$(GLUON_RELEASE).$(GLUON_CONFIG_VERSION)
+
+PKG_BUILD_DIR := $(BUILD_DIR)/$(PKG_NAME)
+PKG_BUILD_DEPENDS := respondd
+
+include $(INCLUDE_DIR)/package.mk
+
+define Package/ffho-respondd-config
+  SECTION:=ffho
+  CATEGORY:=workarounds
+  TITLE:=Additional respondd config files 
+  DEPENDS:=+gluon-core +libgluonutil
+  MAINTAINER:=Freifunk Hochstift <kontakt@hochstift.freifunk.net>
+  URL:=https://git.c3pb.de/freifunk-pb/ffho-packages
+  SOURCE:=git@git.c3pb.de:freifunk-pb/ffho-packages.git
+endef
+
+define Package/ffho-respondd-config/description
+  This package contains additional config files for respondd
+endef
+
+define Build/Prepare
+	mkdir -p $(PKG_BUILD_DIR)
+	$(CP) ./src/* $(PKG_BUILD_DIR)/
+endef
+
+define Package/ffho-respondd-config/install
+	$(INSTALL_DIR) $(1)/lib/gluon/respondd
+	$(CP) $(PKG_BUILD_DIR)/respondd.so $(1)/lib/gluon/respondd/ffho.so
+endef
+
+$(eval $(call BuildPackage,ffho-respondd-config))

+ 6 - 0
ffho/ffho-respondd-config/src/Makefile

@@ -0,0 +1,6 @@
+all: respondd.so
+
+CFLAGS += -Wall
+
+respondd.so: respondd.c
+	$(CC) $(CPPFLAGS) $(CFLAGS) $(LDFLAGS) -shared -fPIC -D_GNU_SOURCE -o $@ $^ $(LDLIBS) -lgluonutil -luci

+ 61 - 0
ffho/ffho-respondd-config/src/respondd.c

@@ -0,0 +1,61 @@
+/*
+  Copyright (c) 2016, Matthias Schiffer <mschiffer@universe-factory.net>
+  All rights reserved.
+
+  Redistribution and use in source and binary forms, with or without
+  modification, are permitted provided that the following conditions are met:
+
+    1. Redistributions of source code must retain the above copyright notice,
+       this list of conditions and the following disclaimer.
+    2. Redistributions in binary form must reproduce the above copyright notice,
+       this list of conditions and the following disclaimer in the documentation
+       and/or other materials provided with the distribution.
+
+  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+  AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+  IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+  DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
+  FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+  DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+  SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+  CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+  OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+  OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+*/
+
+
+#include <respondd.h>
+
+#include <json-c/json.h>
+#include <libgluonutil.h>
+
+
+struct json_object * get_site_name(void) {
+	struct json_object *site = gluonutil_load_site_config();
+	if (!site)
+		return NULL;
+
+	struct json_object *ret = NULL;
+	json_object_object_get_ex(site, "site_name", &ret);
+	if (ret)
+		json_object_get(ret);
+
+	json_object_put(site);
+	return ret;
+}
+
+static struct json_object * respondd_provider_nodeinfo(void) {
+	struct json_object *ret = json_object_new_object();
+
+	struct json_object *system = json_object_new_object();
+	json_object_object_add(system, "site_name", get_site_name());
+	json_object_object_add(ret, "system", system);
+
+	return ret;
+}
+
+
+const struct respondd_provider_info respondd_providers[] = {
+	{"nodeinfo", respondd_provider_nodeinfo},
+	{}
+};