1*4882a593SmuzhiyunSUMMARY = "Open source MQTT implementation"
2*4882a593SmuzhiyunDESCRIPTION = "Mosquitto is an open source (Eclipse licensed) message broker \
3*4882a593Smuzhiyunthat implements the MQ Telemetry Transport protocol version 3.1, 3.1.1 and \
4*4882a593Smuzhiyun5, providing both an MQTT broker and several command-line clients. MQTT \
5*4882a593Smuzhiyunprovides a lightweight method of carrying out messaging using a \
6*4882a593Smuzhiyunpublish/subscribe model. "
7*4882a593SmuzhiyunHOMEPAGE = "http://mosquitto.org/"
8*4882a593SmuzhiyunSECTION = "console/network"
9*4882a593SmuzhiyunLICENSE = "EPL-2.0 | EDL-1.0"
10*4882a593SmuzhiyunLIC_FILES_CHKSUM = "file://LICENSE.txt;md5=ca9a8f366c6babf593e374d0d7d58749 \
11*4882a593Smuzhiyun                    file://edl-v10;md5=9f6accb1afcb570f8be65039e2fcd49e \
12*4882a593Smuzhiyun                    file://epl-v20;md5=2dd765ca47a05140be15ebafddbeadfe \
13*4882a593Smuzhiyun                    file://NOTICE.md;md5=a7a91b4754c6f7995020d1b49bc829c6 \
14*4882a593Smuzhiyun"
15*4882a593SmuzhiyunDEPENDS = "uthash cjson"
16*4882a593Smuzhiyun
17*4882a593SmuzhiyunSRC_URI = "http://mosquitto.org/files/source/mosquitto-${PV}.tar.gz \
18*4882a593Smuzhiyun           file://mosquitto.init \
19*4882a593Smuzhiyun           file://1571.patch \
20*4882a593Smuzhiyun"
21*4882a593Smuzhiyun
22*4882a593SmuzhiyunSRC_URI[sha256sum] = "d0dde8fdb12caf6e2426b4f28081919a2fce3448773bdb8af0d3cd5fe5776925"
23*4882a593Smuzhiyun
24*4882a593Smuzhiyuninherit systemd update-rc.d useradd cmake pkgconfig
25*4882a593Smuzhiyun
26*4882a593SmuzhiyunPACKAGECONFIG ??= "ssl dlt websockets \
27*4882a593Smuzhiyun                  ${@bb.utils.filter('DISTRO_FEATURES','systemd', d)} \
28*4882a593Smuzhiyun                  "
29*4882a593Smuzhiyun
30*4882a593SmuzhiyunPACKAGECONFIG[manpages] = "-DDOCUMENTATION=ON,-DDOCUMENTATION=OFF,libxslt-native docbook-xsl-stylesheets-native"
31*4882a593SmuzhiyunPACKAGECONFIG[dns-srv] = "-DWITH_SRV=ON,-DWITH_SRV=OFF,c-ares"
32*4882a593SmuzhiyunPACKAGECONFIG[ssl] = "-DWITH_TLS=ON -DWITH_TLS_PSK=ON -DWITH_EC=ON,-DWITH_TLS=OFF -DWITH_TLS_PSK=OFF -DWITH_EC=OFF,openssl"
33*4882a593SmuzhiyunPACKAGECONFIG[systemd] = "-DWITH_SYSTEMD=ON,-DWITH_SYSTEMD=OFF,systemd"
34*4882a593SmuzhiyunPACKAGECONFIG[websockets] = "-DWITH_WEBSOCKETS=ON,-DWITH_WEBSOCKETS=OFF,libwebsockets"
35*4882a593SmuzhiyunPACKAGECONFIG[dlt] = "-DWITH_DLT=ON,-DWITH_DLT=OFF,dlt-daemon"
36*4882a593Smuzhiyun
37*4882a593SmuzhiyunEXTRA_OECMAKE = " \
38*4882a593Smuzhiyun    -DWITH_BUNDLED_DEPS=OFF \
39*4882a593Smuzhiyun    -DWITH_ADNS=ON \
40*4882a593Smuzhiyun"
41*4882a593Smuzhiyun
42*4882a593Smuzhiyundo_install:append() {
43*4882a593Smuzhiyun    install -d ${D}${systemd_unitdir}/system/
44*4882a593Smuzhiyun    install -m 0644 ${S}/service/systemd/mosquitto.service.notify ${D}${systemd_unitdir}/system/mosquitto.service
45*4882a593Smuzhiyun
46*4882a593Smuzhiyun    install -d ${D}${sysconfdir}/init.d/
47*4882a593Smuzhiyun    install -m 0755 ${WORKDIR}/mosquitto.init ${D}${sysconfdir}/init.d/mosquitto
48*4882a593Smuzhiyun    sed -i -e 's,@SBINDIR@,${sbindir},g' \
49*4882a593Smuzhiyun        -e 's,@BASE_SBINDIR@,${base_sbindir},g' \
50*4882a593Smuzhiyun        -e 's,@LOCALSTATEDIR@,${localstatedir},g' \
51*4882a593Smuzhiyun        -e 's,@SYSCONFDIR@,${sysconfdir},g' \
52*4882a593Smuzhiyun        ${D}${sysconfdir}/init.d/mosquitto
53*4882a593Smuzhiyun}
54*4882a593Smuzhiyun
55*4882a593SmuzhiyunPACKAGES += "libmosquitto1 libmosquittopp1 ${PN}-clients"
56*4882a593Smuzhiyun
57*4882a593SmuzhiyunPACKAGE_BEFORE_PN = "${PN}-examples"
58*4882a593Smuzhiyun
59*4882a593SmuzhiyunFILES:${PN} = "${sbindir}/mosquitto \
60*4882a593Smuzhiyun               ${bindir}/mosquitto_passwd \
61*4882a593Smuzhiyun               ${bindir}/mosquitto_ctrl \
62*4882a593Smuzhiyun               ${libdir}/mosquitto_dynamic_security.so \
63*4882a593Smuzhiyun               ${sysconfdir}/mosquitto \
64*4882a593Smuzhiyun               ${sysconfdir}/init.d \
65*4882a593Smuzhiyun               ${systemd_unitdir}/system/mosquitto.service \
66*4882a593Smuzhiyun"
67*4882a593Smuzhiyun
68*4882a593SmuzhiyunCONFFILES:${PN} += "${sysconfdir}/mosquitto/mosquitto.conf"
69*4882a593Smuzhiyun
70*4882a593SmuzhiyunFILES:libmosquitto1 = "${libdir}/libmosquitto.so.*"
71*4882a593Smuzhiyun
72*4882a593SmuzhiyunFILES:libmosquittopp1 = "${libdir}/libmosquittopp.so.*"
73*4882a593Smuzhiyun
74*4882a593SmuzhiyunFILES:${PN}-clients = "${bindir}/mosquitto_pub \
75*4882a593Smuzhiyun                       ${bindir}/mosquitto_sub \
76*4882a593Smuzhiyun                       ${bindir}/mosquitto_rr \
77*4882a593Smuzhiyun"
78*4882a593Smuzhiyun
79*4882a593SmuzhiyunFILES:${PN}-examples = "${sysconfdir}/mosquitto/*.example"
80*4882a593Smuzhiyun
81*4882a593SmuzhiyunSYSTEMD_SERVICE:${PN} = "mosquitto.service"
82*4882a593Smuzhiyun
83*4882a593SmuzhiyunINITSCRIPT_NAME = "mosquitto"
84*4882a593SmuzhiyunINITSCRIPT_PARAMS = "defaults 30"
85*4882a593Smuzhiyun
86*4882a593SmuzhiyunUSERADD_PACKAGES = "${PN}"
87*4882a593SmuzhiyunUSERADD_PARAM:${PN} = "--system --no-create-home --shell /bin/false \
88*4882a593Smuzhiyun                       --user-group mosquitto"
89*4882a593Smuzhiyun
90*4882a593SmuzhiyunBBCLASSEXTEND += "native nativesdk"
91