{
  "manufacturer": "IOPSYS",
  "protocol": "DEVICE_PROTOCOL_DSLFTR069v1",
  "manufacturer_oui": "002207",
  "product_class": "EX75X",
  "model_name": "EX750",
  "software_version": "1.2.3.4",
  "dm_json_files": [
    "tools/datamodel.json"
  ],
  "plugins": [
    {
      "repo": "https://dev.iopsys.eu/feed/iopsys.git",
      "proto": "git",
      "service_name": "core",
      "unified_daemon": false,
      "post_install": [
        "cp -f /opt/dev/iopsys/bbfdm/bbfdm_service.json /etc/bbfdm/services/core.json"
      ]
    },
    {
      "repo": "https://dev.iopsys.eu/feed/iopsys.git",
      "proto": "git",
      "service_name": "netmode",
      "unified_daemon": false,
      "post_install": [
        "sed 's/{BBF_VENDOR_PREFIX}/X_IOWRT_EU_/g' netmode/files/datamodel.json > /usr/share/bbfdm/micro_services/netmode.json",
        "sed 's/{BBF_VENDOR_PREFIX}/X_IOWRT_EU_/g' netmode/bbfdm_service.json > /etc/bbfdm/services/netmode.json"
      ]
    },
    {
      "repo": "https://dev.iopsys.eu/feed/iopsys.git",
      "proto": "git",
      "service_name": "ponmngr",
      "unified_daemon": false,
      "post_install": [
        "cp -f /opt/dev/iopsys/ponmngr/files/etc/ponmngr/xpon.json /usr/share/bbfdm/micro_services/ponmngr.json",
        "cp -f /opt/dev/iopsys/ponmngr/bbfdm_service.json /etc/bbfdm/services/ponmngr.json"
      ]
    },
    {
      "repo": "https://dev.iopsys.eu/feed/iopsys.git",
      "proto": "git",
      "compile": [
        "make -C self-diagnostics/src clean",
        "make -C self-diagnostics/src"
      ],
      "post_install": [
        "mkdir -p /usr/share/bbfdm/micro_services/core",
        "cp -f /opt/dev/iopsys/self-diagnostics/src/libselftest.so /usr/share/bbfdm/micro_services/core"
      ]
    },
    {
      "repo": "https://dev.iopsys.eu/feed/iopsys.git",
      "proto": "git",
      "service_name": "ssdpd",
      "unified_daemon": false,
      "compile": [
        "make -C ssdpd/src clean",
        "make -C ssdpd/src upnpdm.so"
      ],
      "post_install": [
        "cp -f /opt/dev/iopsys/ssdpd/src/upnpdm.so /usr/share/bbfdm/micro_services/ssdpd.so",
        "cp -f /opt/dev/iopsys/ssdpd/bbfdm_service.json /etc/bbfdm/services/ssdpd.json"
      ]
    },
    {
      "repo": "https://dev.iopsys.eu/system/sysmngr.git",
      "proto": "git",
      "service_name": "sysmngr",
      "unified_daemon": true,
      "daemon_name": "/usr/sbin/sysmngr",
      "dm_info_file": "src/datamodel_description.json",
      "compile": [
        "make -C src clean",
        "make -C src CFLAGS+=\"-DBBF_VENDOR_PREFIX=\\\"X_IOWRT_EU_\\\"\" SYSMNGR_VENDOR_CONFIG_FILE='y' SYSMNGR_MEMORY_STATUS='y' SYSMNGR_PROCESS_STATUS='y' SYSMNGR_SUPPORTED_DATA_MODEL='y' SYSMNGR_FIRMWARE_IMAGE='y' SYSMNGR_REBOOTS='y' SYSMNGR_NETWORK_PROPERTIES='y' SYSMNGR_VENDOR_EXTENSIONS='y' SYSMNGR_FWBANK_UBUS_SUPPORT='y' SYSMNGR_TEMPERATURE_STATUS='y'"
      ],
      "post_install": [
        "mkdir -p /etc/sysmngr",
        "cp -f src/sysmngr /usr/sbin/",
        "cp -f /opt/dev/iopsys/sysmngr/bbfdm_service.json /etc/bbfdm/services/sysmngr.json"
      ]
    },
    {
      "repo": "https://dev.iopsys.eu/bbf/icwmp.git",
      "proto": "git",
      "service_name": "icwmp",
      "unified_daemon": false,
      "compile": [
        "cmake bbf_plugin -DBBF_VENDOR_PREFIX=\"X_IOWRT_EU_\" -DCMAKE_INSTALL_PREFIX=/",
        "make"
      ],
      "post_install": [
        "cp -f libcwmpdm.so /usr/share/bbfdm/micro_services/icwmp.so",
        "cp -f /opt/dev/iopsys/icwmp/bbfdm_service.json /etc/bbfdm/services/icwmp.json",
        "mkdir -p /usr/share/bbfdm/micro_services/icwmp",
        "cp -f /opt/dev/iopsys/icwmp/files/etc/bbfdm/json/CWMPManagementServer.json /usr/share/bbfdm/micro_services/icwmp"
      ]
    },
    {
      "repo": "https://dev.iopsys.eu/bbf/wifidmd.git",
      "proto": "git",
      "service_name": "wifidmd",
      "unified_daemon": true,
      "daemon_name": "/usr/sbin/wifidmd",
      "dm_info_file": "src/datamodel_description.json",
      "compile": [
        "make -C src clean",
        "make -C src CFLAGS+='-DBBF_VENDOR_PREFIX=\\\"X_IOWRT_EU_\\\"' WIFIDMD_ENABLE_WIFI_DATAELEMENTS='y'"
      ],
      "post_install": [
        "cp -f src/wifidmd /usr/sbin/",
        "cp -f /opt/dev/iopsys/wifidmd/bbfdm_service.json /etc/bbfdm/services/wifidmd.json"
      ]
    },
    {
      "repo": "https://dev.iopsys.eu/multi-ap/decollector.git",
      "proto": "git",
      "service_name": "decollector",
      "unified_daemon": true,
      "daemon_name": "/usr/sbin/decollector",
      "schema_option": "c",
      "compile": [
        "./gitlab-ci/install-dependencies.sh",
        "rm -f /etc/supervisor/conf.d/iopsys-supervisord.conf",
        "make -C src clean",
        "make -C src DECOLLECTOR_BUILD_TR181_PLUGIN='y' CFLAGS+='-DEASYMESH_VERSION=6 -DDECOLLECTOR_BUILD_TR181_PLUGIN -DDECOLLECTOR_VENDOR_EXTENSIONS -DSERVICE_NAME=\\\"decollector\\\" -DCUSTOM_PREFIX=\\\"X_IOPSYS_EU_\\\"'"
      ],
      "post_install": [
        "cp -f src/decollector /usr/sbin/",
        "cp -f /opt/dev/iopsys/decollector/bbfdm_service.json /etc/bbfdm/services/decollector.json"
      ]
    },
    {
      "repo": "https://dev.iopsys.eu/hal/ethmngr.git",
      "proto": "git",
      "service_name": "ethmngr",
      "unified_daemon": true,
      "daemon_name": "/usr/sbin/ethmngr",
      "dm_info_file": "src/datamodel_description.json",
      "compile": [
        "make clean",
        "make CFLAGS+='-DETHMNGR_MACVLAN_EXTENSION'"
      ],
      "post_install": [
        "cp -f ethmngr /usr/sbin/",
        "cp -f /opt/dev/iopsys/ethmngr/bbfdm_service.json /etc/bbfdm/services/ethmngr.json"
      ]
    },
    {
      "repo": "https://dev.iopsys.eu/network/netmngr.git",
      "proto": "git",
      "service_name": "netmngr",
      "compile": [
        "apt install iproute2 -y",
        "make -C src clean",
        "make -C src NETMNGR_GRE_OBJ=y NETMNGR_IP_OBJ=y NETMNGR_ROUTING_OBJ=y NETMNGR_PPP_OBJ=y NETMNGR_ROUTER_ADVERTISEMENT_OBJ=y NETMNGR_IPV6RD_OBJ=y"
      ],
      "post_install": [
        "cp -f src/libnetmngr.so /usr/share/bbfdm/micro_services/netmngr.so",
        "cp -f /opt/dev/iopsys/netmngr/bbfdm_service.json /etc/bbfdm/services/netmngr.json"
      ]
    },
    {
      "repo": "https://dev.iopsys.eu/bbf/tr143d.git",
      "proto": "git",
      "compile": [
        "make -C src clean",
        "make -C src"
      ],
      "post_install": [
        "cp -rf scripts/* /usr/share/bbfdm/scripts/",
        "mkdir -p /usr/share/bbfdm/micro_services/netmngr",
        "cp -f src/libtr143d.so /usr/share/bbfdm/micro_services/netmngr"
      ]
    },
    {
      "repo": "https://dev.iopsys.eu/bbf/tr471d.git",
      "proto": "git",
      "compile": [
        "make -C src clean",
        "make -C src"
      ],
      "post_install": [
        "mkdir -p /usr/share/bbfdm/micro_services/netmngr",
        "cp -f src/libtr471d.so /usr/share/bbfdm/micro_services/netmngr"
      ]
    },
    {
      "repo": "https://dev.iopsys.eu/bbf/twamp-light.git",
      "proto": "git",
      "compile": [
        "make clean",
        "make"
      ],
      "post_install": [
        "mkdir -p /usr/share/bbfdm/micro_services/netmngr",
        "cp -f libtwamp.so /usr/share/bbfdm/micro_services/netmngr"
      ]
    },
    {
      "repo": "https://dev.iopsys.eu/bbf/udpecho.git",
      "proto": "git",
      "compile": [
        "make -C src/ clean",
        "make -C src/"
      ],
      "post_install": [
        "mkdir -p /usr/share/bbfdm/micro_services/netmngr",
        "cp -f src/libudpechoserver.so /usr/share/bbfdm/micro_services/netmngr"
      ]
    },
    {
      "repo": "https://dev.iopsys.eu/bbf/bulkdata.git",
      "proto": "git",
      "service_name": "bulkdata",
      "unified_daemon": true,
      "daemon_name": "/usr/sbin/bulkdatad",
      "compile": [
        "make clean",
        "make"
      ],
      "post_install": [
        "cp -f bulkdatad /usr/sbin/",
        "cp -f /opt/dev/iopsys/bulkdata/bbfdm_service.json /etc/bbfdm/services/bulkdata.json"
      ]
    },
    {
      "repo": "https://dev.iopsys.eu/bbf/xmppc.git",
      "proto": "git",
      "compile": [
        "apt install libstrophe-dev -y",
        "make -C src clean",
        "make -C src"
      ],
      "post_install": [
        "mkdir -p /usr/share/bbfdm/micro_services/icwmp",
        "cp -f src/libxmppc.so /usr/share/bbfdm/micro_services/icwmp"
      ]
    },
    {
      "repo": "https://dev.iopsys.eu/bbf/stunc.git",
      "proto": "git",
      "compile": [
        "make -C src clean",
        "make -C src"
      ],
      "post_install": [
        "mkdir -p /usr/share/bbfdm/micro_services/icwmp",
        "cp -f src/libstunc.so /usr/share/bbfdm/micro_services/icwmp"
      ]
    },
    {
      "repo": "https://dev.iopsys.eu/bbf/periodicstats.git",
      "proto": "git",
      "service_name": "periodicstats",
      "unified_daemon": true,
      "daemon_name": "/usr/sbin/periodicstatsd",
      "compile": [
        "make clean",
        "make"
      ],
      "post_install": [
        "cp -f periodicstatsd /usr/sbin/",
        "cp -f /opt/dev/iopsys/periodicstats/bbfdm_service.json /etc/bbfdm/services/periodicstats.json"
      ]
    },
    {
      "repo": "https://dev.iopsys.eu/lcm/swmodd.git",
      "proto": "git",
      "service_name": "swmodd",
      "unified_daemon": false,
      "compile": [
        "apt install uuid-dev -y",
        "make -C src clean",
        "make -C src libswmodd.so"
      ],
      "post_install": [
        "cp -f src/libswmodd.so /usr/share/bbfdm/micro_services/swmodd.so",
        "cp -f /opt/dev/iopsys/swmodd/bbfdm_service.json /etc/bbfdm/services/swmodd.json"
      ]
    },
    {
      "repo": "https://dev.iopsys.eu/bbf/usermngr.git",
      "proto": "git",
      "service_name": "usermngr",
      "unified_daemon": true,
      "daemon_name": "/usr/sbin/usermngr",
      "compile": [
        "make -C src clean",
        "make -C src"
      ],
      "post_install": [
        "cp -f src/usermngr /usr/sbin/",
        "cp -f /opt/dev/iopsys/usermngr/bbfdm_service.json /etc/bbfdm/services/usermngr.json"
      ]
    },
    {
      "repo": "https://dev.iopsys.eu/network/parental-control.git",
      "proto": "git",
      "service_name": "parentalcontrol",
      "unified_daemon": true,
      "daemon_name": "/usr/sbin/urlfilter",
      "dm_info_file": "src/datamodel_description.json",
      "compile": [
        "apt install libnetfilter-queue-dev -y",
        "make clean",
        "make CFLAGS+='-DBBF_VENDOR_PREFIX=\\\"X_IOWRT_EU_\\\" -DPARENTAL_CONTROL_ULRFILTER'"
      ],
      "post_install": [
        "cp -f urlfilter /usr/sbin/",
        "cp -f /opt/dev/iopsys/parental-control/bbfdm_service.json /etc/bbfdm/services/parentalcontrol.json"
      ]
    },
    {
      "repo": "https://dev.iopsys.eu/iopsys/hostmngr.git",
      "proto": "git",
      "service_name": "hostmngr",
      "unified_daemon": false,
      "dm_info_file": "src/bbf_plugin/datamodel_description.json",
      "compile": [
        "make -C src clean",
        "make -C src libhostmngr.so",
        "make -C src libhostext.so CFLAGS+='-DCUSTOM_PREFIX=\\\"X_IOWRT_EU_\\\" -DHAS_VENDOR_EXT'"
      ],
      "post_install": [
        "cp -f src/bbf_plugin/libhostmngr.so /usr/share/bbfdm/micro_services/hostmngr.so",
        "cp -f /opt/dev/iopsys/hostmngr/bbfdm_service.json /etc/bbfdm/services/hostmngr.json",
        "mkdir -p /usr/share/bbfdm/micro_services/hostmngr",
        "cp -f src/bbf_plugin/libhostext.so /usr/share/bbfdm/micro_services/hostmngr"
      ]
    },
    {
      "repo": "https://dev.iopsys.eu/bbf/timemngr.git",
      "proto": "git",
      "service_name": "timemngr",
      "unified_daemon": true,
      "daemon_name": "/usr/sbin/timemngr",
      "dm_info_file": "src/datamodel_description.json",
      "compile": [
        "make -C src clean",
        "make -C src"
      ],
      "post_install": [
        "cp -f src/timemngr /usr/sbin/",
        "cp -f /opt/dev/iopsys/timemngr/bbfdm_service.json /etc/bbfdm/services/timemngr.json",
        "mkdir -p /usr/share/bbfdm/micro_services/timemngr",
        "cp -f src/libtimeext.so /usr/share/bbfdm/micro_services/timemngr"
      ]
    },
    {
      "repo": "https://dev.iopsys.eu/network/dnsmngr.git",
      "proto": "git",
      "service_name": "dnsmngr",
      "unified_daemon": false,
      "compile": [
        "make -C src clean",
        "make -C src all CFLAGS+=\"-DDNSMASQ_BACKEND\""
      ],
      "post_install": [
        "cp -f src/libdnsmngr.so /usr/share/bbfdm/micro_services/dnsmngr.so",
        "cp -f /opt/dev/iopsys/dnsmngr/bbfdm_service.json /etc/bbfdm/services/dnsmngr.json",
        "mkdir -p /usr/share/bbfdm/micro_services/dnsmngr",
        "cp -f src/libdns_sd.so /usr/share/bbfdm/micro_services/dnsmngr"
      ]
    },
    {
      "repo": "https://dev.iopsys.eu/network/dhcpmngr.git",
      "proto": "git",
      "service_name": "dhcpmngr",
      "unified_daemon": false,
      "compile": [
        "make -C src clean",
        "make -C src"
      ],
      "post_install": [
        "cp -f src/libdhcpmngr.so /usr/share/bbfdm/micro_services/dhcpmngr.so",
        "cp -f /opt/dev/iopsys/dhcpmngr/bbfdm_service.json /etc/bbfdm/services/dhcpmngr.json"
      ]
    },
    {
      "repo": "https://dev.iopsys.eu/hal/qosmngr.git",
      "proto": "git",
      "service_name": "qosmngr",
      "unified_daemon": true,
      "daemon_name": "/usr/sbin/qosmngr",
      "dm_info_file": "src/datamodel_description.json",
      "compile": [
        "make -C src clean",
        "make -C src"
      ],
      "post_install": [
        "cp -f src/qosmngr /usr/sbin/",
        "cp -f /opt/dev/iopsys/qosmngr/bbfdm_service.json /etc/bbfdm/services/qosmngr.json"
      ]
    },
    {
      "repo": "https://dev.iopsys.eu/system/logmngr.git",
      "proto": "git",
      "unified_daemon": false,
      "compile": [
        "make -C bbf_plugin clean",
        "make -C bbf_plugin"
      ],
      "post_install": [
        "mkdir -p /usr/share/bbfdm/micro_services/sysmngr",
        "cp -f bbf_plugin/libbbflogrotate.so /usr/share/bbfdm/micro_services/sysmngr",
        "cp -f bbf_plugin/libbbfvendorlog.so /usr/share/bbfdm/micro_services/sysmngr",
        "mkdir -p /usr/share/bbfdm/micro_services/core",
        "cp -f bbf_plugin/libbbfsyslog.so /usr/share/bbfdm/micro_services/core"
      ]
    },
    {
      "repo": "https://dev.iopsys.eu/voice/tr104.git",
      "proto": "git",
      "service_name": "tr104",
      "unified_daemon": false,
      "dm_info_file": "libdm/extensions/iowrt/datamodel_description.json",
      "compile": [
        "export CFLAGS=\"-I/usr/include/libbbfdm-api -Wall\"",
        "cmake -DBBF_VENDOR_PREFIX:String=X_IOWRT_EU_ -DTR104_EXTENSION_DIR:String=iowrt -DRUNAS_BBFDM_MICROSERVICE:BOOL=ON",
        "cd libdm",
        "make",
        "cd -"
      ],
      "post_install": [
        "cp -f libdm/tr104/libtr104.so /usr/share/bbfdm/micro_services/tr104.so",
        "mkdir -p /usr/share/bbfdm/micro_services/tr104",
        "cp -f libdm/extensions/iowrt/libtr104ext.so /usr/share/bbfdm/micro_services/tr104",
        "cp -f /opt/dev/iopsys/tr104/bbfdm_service.json /etc/bbfdm/services/tr104.json"
      ]
    },
    {
      "repo": "https://dev.iopsys.eu/hal/mcastmngr.git",
      "proto": "git",
      "service_name": "mcastmngr",
      "unified_daemon": false,
      "dm_info_file": "bbf_plugin/datamodel_description.json",
      "compile": [
        "make -C bbf_plugin clean",
        "make -C bbf_plugin CFLAGS+='-DBBF_VENDOR_PREFIX=\\\"X_IOWRT_EU_\\\"'"
      ],
      "post_install": [
        "cp -f bbf_plugin/libmcast_bbf.so /usr/share/bbfdm/micro_services/mcastmngr.so",
        "cp -f /opt/dev/iopsys/mcastmngr/bbfdm_service.json /etc/bbfdm/services/mcastmngr.json"
      ]
    },
    {
      "repo": "https://dev.iopsys.eu/bbf/packet-capture-diagnostics.git",
      "proto": "git",
      "unified_daemon": false,
      "compile": [
        "make -C src clean",
        "make -C src"
      ],
      "post_install": [
        "mkdir -p /usr/share/bbfdm/micro_services/core",
        "cp -f src/libpackcapture.so /usr/share/bbfdm/micro_services/core"
      ]
    },
    {
      "repo": "https://dev.iopsys.eu/multi-ap/ieee1905.git",
      "proto": "git",
      "service_name": "ieee1905",
      "unified_daemon": false,
      "dm_info_file": "../iopsys/ieee1905/files/datamodel_description.json",
      "compile": [
        "make -C tr181 clean",
        "make -C tr181"
      ],
      "post_install": [
        "cp -f tr181/ieee1905dm.so /usr/share/bbfdm/micro_services/ieee1905.so",
        "cp -f /opt/dev/iopsys/ieee1905/bbfdm_service.json /etc/bbfdm/services/ieee1905.json"
      ]
    },
    {
      "repo": "https://dev.iopsys.eu/network/bridgemngr.git",
      "proto": "git",
      "service_name": "bridgemngr",
      "unified_daemon": false,
      "dm_info_file": "src/driver_vlan_backend/datamodel_description.json",
      "compile": [
        "make -C src clean",
        "make -C src CFLAGS+='-DBBF_VENDOR_PREFIX=\\\"X_IOWRT_EU_\\\"'"
      ],
      "post_install": [
        "cp -f src/libbridgemngr.so /usr/share/bbfdm/micro_services/bridgemngr.so",
        "mkdir -p /usr/share/bbfdm/micro_services/bridgemngr",
        "cp -f src/libbridgeext.so /usr/share/bbfdm/micro_services/bridgemngr",
        "cp -f /opt/dev/iopsys/bridgemngr/files/VLAN_Filtering_Extension.json /usr/share/bbfdm/micro_services/bridgemngr",
        "cp -f /opt/dev/iopsys/bridgemngr/bbfdm_service.json /etc/bbfdm/services/bridgemngr.json"
      ]
    },
    {
      "repo": "https://dev.iopsys.eu/feed/openwrt-packages.git",
      "proto": "git",
      "post_install": [
        "mkdir -p /usr/share/bbfdm/micro_services/core",
        "cp -f net/openvpn/files/bbfdm/OpenVPN_DM.json /usr/share/bbfdm/micro_services/core",
        "mkdir -p /usr/share/bbfdm/micro_services/obuspa",
        "cp -f net/mosquitto/bbf_plugin/mqtt_broker_plugin.json /usr/share/bbfdm/micro_services/obuspa"
      ]
    },
    {
      "repo": "https://dev.iopsys.eu/network/ddnsmngr.git",
      "proto": "git",
      "service_name": "ddnsmngr",
      "unified_daemon": false,
      "compile": [
        "make -C src clean",
        "make -C src"
      ],
      "post_install": [
        "cp -f src/libddnsmngr.so /usr/share/bbfdm/micro_services/ddnsmngr.so",
        "cp -f /opt/dev/iopsys/ddnsmngr/bbfdm_service.json /etc/bbfdm/services/ddnsmngr.json"
      ]
    },
    {
      "repo": "https://dev.iopsys.eu/network/sshmngr.git",
      "proto": "git",
      "service_name": "sshmngr",
      "unified_daemon": false,
      "compile": [
        "make -C src clean",
        "make -C src"
      ],
      "post_install": [
        "cp -f src/libsshmngr.so /usr/share/bbfdm/micro_services/sshmngr.so",
        "cp -f /opt/dev/iopsys/sshmngr/bbfdm_service.json /etc/bbfdm/services/sshmngr.json"
      ]
    },
    {
      "repo": "https://dev.iopsys.eu/network/firewallmngr.git",
      "proto": "git",
      "service_name": "firewallmngr",
      "unified_daemon": false,
      "compile": [
        "make -C src clean",
        "make -C src CFLAGS+='-DINCLUDE_PORT_TRIGGER'"
      ],
      "post_install": [
        "cp -f src/libfirewallmngr.so /usr/share/bbfdm/micro_services/firewallmngr.so",
        "cp -f /opt/dev/iopsys/firewallmngr/bbfdm_service.json /etc/bbfdm/services/firewallmngr.json"
      ]
    },
    {
      "repo": "https://dev.iopsys.eu/hal/dslmngr.git",
      "proto": "git",
      "service_name": "dslmngr",
      "unified_daemon": false,
      "compile": [
        "make clean",
        "make libbbfdsl.so"
      ],
      "post_install": [
        "cp -f libbbfdsl.so /usr/share/bbfdm/micro_services/dslmngr.so",
        "cp -f /opt/dev/iopsys/dslmngr/bbfdm_service.json /etc/bbfdm/services/dslmngr.json"
      ]
    },
    {
      "repo": "https://dev.iopsys.eu/system/usbmngr.git",
      "proto": "git",
      "service_name": "usbmngr",
      "unified_daemon": false,
      "compile": [
        "make -C src clean",
        "make -C src"
      ],
      "post_install": [
        "cp -f src/dm_usb.so /usr/share/bbfdm/micro_services/usbmngr.so",
        "cp -f /opt/dev/iopsys/usbmngr/bbfdm_service.json /etc/bbfdm/services/usbmngr.json"
      ]
    },
    {
      "repo": "https://dev.iopsys.eu/bbf/obuspa.git",
      "proto": "git",
      "service_name": "obuspa",
      "unified_daemon": false,
      "compile": [
        "gcc -shared -o libuspagentdm.so -fPIC -DBBF_VENDOR_PREFIX=\"_IOWRT_EU_\" -I src/vendor -DENABLE_MQTT -DENABLE_COAP -DENABLE_WEBSOCKETS -DENABLE_UDS src/vendor/bbf_plugin/common.c src/vendor/bbf_plugin/mqtt_dm.c src/vendor/bbf_plugin/stomp_dm.c src/vendor/bbf_plugin/uspagent_dm.c"
      ],
      "post_install": [
        "cp -f libuspagentdm.so /usr/share/bbfdm/micro_services/obuspa.so",
        "cp -f test/obuspa_core_dm.json /usr/share/bbfdm/micro_services/obuspa",
        "cp -f /opt/dev/iopsys/obuspa/bbfdm_service.json /etc/bbfdm/services/obuspa.json"
      ]
    },
    {
      "repo": "https://dev.iopsys.eu/bbf/gateway-info.git",
      "proto": "git",
      "service_name": "gateway-info",
      "unified_daemon": false,
      "compile": [
        "make -C src clean",
        "make -C src"
      ],
      "post_install": [
        "cp -f src/libgwinfo.so /usr/share/bbfdm/micro_services/gateway-info.so",
        "cp -f /opt/dev/iopsys/gateway-info/files/bbfdm_service.json /etc/bbfdm/services/gateway-info.json"
      ]
    },
    {
      "repo": "https://dev.iopsys.eu/feed/gnx.git",
      "proto": "git",
      "dm_info_file": "genexis-packages/link-state-forwarding/bbf_plugin/link_forwarding.json",
      "post_install": [
        "mkdir -p /usr/share/bbfdm/micro_services/ethmngr",
        "sed 's/{BBF_VENDOR_PREFIX}/X_GENEXIS_EU_/g' genexis-packages/link-state-forwarding/bbf_plugin/link_forwarding.json > /usr/share/bbfdm/micro_services/ethmngr/link_forwarding.json"
      ]
    },
    {
      "repo": "https://dev.iopsys.eu/feed/gnx.git",
      "proto": "git",
      "service_name": "gnx-ux-manager",
      "unified_daemon": false,
      "compile": [
        "cd genexis-packages/gnx-ux-manager",
        "cmake src/bbf_plugin -DCMAKE_INSTALL_PREFIX=/",
        "make",
        "cd -"
      ],
      "post_install": [
        "cp -f genexis-packages/gnx-ux-manager/libleddm.so /usr/share/bbfdm/micro_services/gnx-ux-manager.so",
        "cp -f genexis-packages/gnx-ux-manager/bbfdm_service.json /etc/bbfdm/services/gnx-ux-manager.json"
      ]
    },
    {
      "repo": "https://dev.iopsys.eu/feed/gnx.git",
      "proto": "git",
      "service_name": "gnx-catv",
      "unified_daemon": false,
      "dm_info_file": "genexis-packages/gnx-catv/datamodel/datamodel_description.json",
      "compile": [
        "cd genexis-packages/gnx-catv",
        "make -C datamodel CFLAGS+='-DBBF_VENDOR_PREFIX=\\\"X_GENEXIS_EU_\\\"'",
        "cd -"
      ],
      "post_install": [
        "cp -f genexis-packages/gnx-catv/datamodel/libgnx-bbf-catv.so /usr/share/bbfdm/micro_services/gnx-catv.so",
        "sed 's/{BBF_VENDOR_PREFIX}/X_GENEXIS_EU_/g' genexis-packages/gnx-catv/bbfdm_service.json > /etc/bbfdm/services/gnx-catv.json"
      ]
    },
    {
      "repo": "https://dev.iopsys.eu/feed/gnx.git",
      "proto": "git",
      "dm_info_file": "genexis-packages/easywifi/files/wifi_extn.json",
      "post_install": [
        "mkdir -p /usr/share/bbfdm/micro_services/wifidmd",
        "sed 's/{BBF_VENDOR_PREFIX}/X_GENEXIS_EU_/g' genexis-packages/easywifi/files/wifi_extn.json > /usr/share/bbfdm/micro_services/wifidmd/wifi_extn.json"
      ]
    },
    {
      "repo": "https://dev.iopsys.eu/feed/gnx.git",
      "proto": "git",
      "service_name": "dhcp-on-boarding",
      "unified_daemon": false,
      "dm_info_file": "genexis-packages/dhcp-on-boarding/src/datamodel_description.json",
      "compile": [
        "cd genexis-packages/dhcp-on-boarding",
        "make -C src CFLAGS+='-DBBF_VENDOR_PREFIX=\\\"X_GENEXIS_EU_\\\"'",
        "cd -"
      ],
      "post_install": [
        "cp -f genexis-packages/dhcp-on-boarding/src/lib_dhcp_onboarding.so /usr/share/bbfdm/micro_services/dhcp-on-boarding.so",
        "sed 's/{BBF_VENDOR_PREFIX}/X_GENEXIS_EU_/g' genexis-packages/dhcp-on-boarding/bbfdm_service.json > /etc/bbfdm/services/dhcp-on-boarding.json"
      ]
    },
    {
      "repo": "https://dev.iopsys.eu/feed/gnx.git",
      "proto": "git",
      "service_name": "gnx-loop-detector",
      "unified_daemon": false,
      "dm_info_file": "genexis-packages/gnx-loop-detector/datamodel/datamodel_description.json",
      "compile": [
        "cd genexis-packages/gnx-loop-detector",
        "make -C datamodel CFLAGS+='-DBBF_VENDOR_PREFIX=\\\"X_GENEXIS_EU_\\\"'",
        "cd -"
      ],
      "post_install": [
        "cp -f genexis-packages/gnx-loop-detector/datamodel/libloopdetection.so /usr/share/bbfdm/micro_services/gnx-loop-detector.so",
        "sed 's/{BBF_VENDOR_PREFIX}/X_GENEXIS_EU_/g' genexis-packages/gnx-loop-detector/bbfdm_service.json > /etc/bbfdm/services/gnx-loop-detector.json"
      ]
    },
    {
      "repo": "https://dev.iopsys.eu/feed/gnx.git",
      "proto": "git",
      "service_name": "gnx-sfp",
      "unified_daemon": false,
      "dm_info_file": "genexis-packages/gnx-sfp/src/bbf_plugin/datamodel_description.json",
      "compile": [
        "cd genexis-packages/gnx-sfp",
        "cmake src/bbf_plugin -DCMAKE_INSTALL_PREFIX=/ -DCMAKE_C_FLAGS='-DBBF_VENDOR_PREFIX=\\\"X_GENEXIS_EU_\\\"'",
        "make",
        "cd -"
      ],
      "post_install": [
        "cp -f genexis-packages/gnx-sfp/libopticaldm.so /usr/share/bbfdm/micro_services/gnx-sfp.so",
        "cp -f genexis-packages/gnx-sfp/bbfdm_service.json /etc/bbfdm/services/gnx-sfp.json"
      ]
    },
    {
      "repo": "https://dev.iopsys.eu/feed/gnx.git",
      "proto": "git",
      "service_name": "opconf",
      "unified_daemon": false,
      "post_install": [
        "sed 's/{BBF_VENDOR_PREFIX}/X_GENEXIS_EU_/g' genexis-packages/opconf/bbfdm_dm.json > /usr/share/bbfdm/micro_services/opconf.json",
        "sed 's/{BBF_VENDOR_PREFIX}/X_GENEXIS_EU_/g' genexis-packages/opconf/bbfdm_service.json > /etc/bbfdm/services/opconf.json"
      ]
    },
    {
      "repo": "https://dev.iopsys.eu/feed/gnx.git",
      "proto": "git",
      "service_name": "gnx-l2snoopingfiltering",
      "unified_daemon": false,
      "post_install": [
        "sed 's/{BBF_VENDOR_PREFIX}/X_GENEXIS_EU_/g' genexis-packages/gnx-l2snoopingfiltering/files/bbf_plugin/bbfdm_dm.json > /usr/share/bbfdm/micro_services/gnx-l2snoopingfiltering.json",
        "sed 's/{BBF_VENDOR_PREFIX}/X_GENEXIS_EU_/g' genexis-packages/gnx-l2snoopingfiltering/files/bbf_plugin/bbfdm_service.json > /etc/bbfdm/services/gnx-l2snoopingfiltering.json"
      ]
    }
  ],
  "output": {
    "acs": [
      "default",
      "hdm"
    ],
    "file_format": [
      "xls",
      "xml"
    ],
    "output_dir": "./out",
    "output_file_prefix": "datamodel"
  }
}
