gluon-mesh-batman-adv: respondd: determine compat version from release version
We cannot add the same file (here: /lib/gluon/mesh-batman-adv/compat) to two, installed packages. Therefore, instead of determining the compat version number from this file, infer it from the batman-adv release version number instead. Signed-off-by: Linus Lüssing <linus.luessing@c0d3.blue>
This commit is contained in:
parent
f8ced914cf
commit
5df86557fa
@ -38,16 +38,10 @@ endef
|
|||||||
|
|
||||||
define Package/gluon-mesh-batman-adv-14/install
|
define Package/gluon-mesh-batman-adv-14/install
|
||||||
$(Gluon/Build/Install)
|
$(Gluon/Build/Install)
|
||||||
|
|
||||||
$(INSTALL_DIR) $(1)/lib/gluon/mesh-batman-adv
|
|
||||||
echo 14 > $(1)/lib/gluon/mesh-batman-adv/compat
|
|
||||||
endef
|
endef
|
||||||
|
|
||||||
define Package/gluon-mesh-batman-adv-15/install
|
define Package/gluon-mesh-batman-adv-15/install
|
||||||
$(Gluon/Build/Install)
|
$(Gluon/Build/Install)
|
||||||
|
|
||||||
$(INSTALL_DIR) $(1)/lib/gluon/mesh-batman-adv
|
|
||||||
echo 15 > $(1)/lib/gluon/mesh-batman-adv/compat
|
|
||||||
endef
|
endef
|
||||||
|
|
||||||
$(eval $(call BuildPackageGluon,gluon-mesh-batman-adv-14))
|
$(eval $(call BuildPackageGluon,gluon-mesh-batman-adv-14))
|
||||||
|
@ -232,25 +232,24 @@ static struct json_object * get_mesh(void) {
|
|||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
static struct json_object * get_batman_adv_compat(void) {
|
static struct json_object * get_batman_adv_compat(const char *version) {
|
||||||
FILE *f = fopen("/lib/gluon/mesh-batman-adv/compat", "r");
|
int compat = 15;
|
||||||
if (!f)
|
|
||||||
|
if (!version)
|
||||||
return NULL;
|
return NULL;
|
||||||
|
|
||||||
struct json_object *ret = NULL;
|
if (!strncmp(version, "2013.4.0", strlen("2013.4.0")))
|
||||||
|
compat = 14;
|
||||||
|
|
||||||
int compat;
|
return json_object_new_int(compat);
|
||||||
if (fscanf(f, "%i", &compat) == 1)
|
|
||||||
ret = json_object_new_int(compat);
|
|
||||||
|
|
||||||
fclose(f);
|
|
||||||
|
|
||||||
return ret;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static struct json_object * respondd_provider_nodeinfo(void) {
|
static struct json_object * respondd_provider_nodeinfo(void) {
|
||||||
struct json_object *ret = json_object_new_object();
|
struct json_object *ret = json_object_new_object();
|
||||||
|
|
||||||
|
char *version = gluonutil_read_line("/sys/module/batman_adv/version");
|
||||||
|
struct json_object *compat = get_batman_adv_compat(version);
|
||||||
|
|
||||||
struct json_object *network = json_object_new_object();
|
struct json_object *network = json_object_new_object();
|
||||||
json_object_object_add(network, "addresses", get_addresses());
|
json_object_object_add(network, "addresses", get_addresses());
|
||||||
json_object_object_add(network, "mesh", get_mesh());
|
json_object_object_add(network, "mesh", get_mesh());
|
||||||
@ -258,8 +257,8 @@ static struct json_object * respondd_provider_nodeinfo(void) {
|
|||||||
|
|
||||||
struct json_object *software = json_object_new_object();
|
struct json_object *software = json_object_new_object();
|
||||||
struct json_object *software_batman_adv = json_object_new_object();
|
struct json_object *software_batman_adv = json_object_new_object();
|
||||||
json_object_object_add(software_batman_adv, "version", gluonutil_wrap_and_free_string(gluonutil_read_line("/sys/module/batman_adv/version")));
|
json_object_object_add(software_batman_adv, "version", gluonutil_wrap_and_free_string(version));
|
||||||
json_object_object_add(software_batman_adv, "compat", get_batman_adv_compat());
|
json_object_object_add(software_batman_adv, "compat", compat);
|
||||||
json_object_object_add(software, "batman-adv", software_batman_adv);
|
json_object_object_add(software, "batman-adv", software_batman_adv);
|
||||||
json_object_object_add(ret, "software", software);
|
json_object_object_add(ret, "software", software);
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user