# Maintainer: Natanael Copa global pkgname := 'mosquitto' global pkgver := '1.4.14' global pkgrel := '1' global pkgdesc := '"An Open Source MQTT v3.1 Broker'" global url := '"http://mosquitto.org/'" global arch := '"all'" global license := '"BSD'" global depends := ''"" global depends_dev := ''"" global makedepends := ""$depends_dev libressl-dev c-ares-dev util-linux-dev libwebsockets-dev"" global install := ""$pkgname.pre-install"" global subpackages := ""$pkgname-dev $pkgname-doc $pkgname-libs++:_pp $pkgname-libs $pkgname-clients"" global replaces := '"mosquitto-utils'" global source := ""http://mosquitto.org/files/source/$pkgname-$pkgver.tar.gz libressl.patch config.patch mosquitto.initd"" global builddir := ""$srcdir/$pkgname-$pkgver"" # secfixes: # 1.4.13-r0: # - CVE-2017-9868 # 1.4.12-r0: # - CVE-2017-7650 proc prepare { default_prepare || return 1 # dont strip sed -i -e "s|(INSTALL) -s|(INSTALL)|g" \ -e 's|--strip-program=${CROSS_COMPILE}${STRIP}||' \ */Makefile */*/Makefile } proc build { cd $builddir # PSK not supported by libressl make \ WITH_MEMORY_TRACKING=no \ WITH_WEBSOCKETS=yes \ WITH_SRV=yes \ WITH_TLS_PSK=no \ WITH_ADNS=no \ prefix=/usr || return 1 } proc package { cd $builddir make prefix=/usr DESTDIR="$pkgdir" install || return 1 mv "$pkgdir"/etc/mosquitto/mosquitto.conf.example \ "$pkgdir"/etc/mosquitto/mosquitto.conf || return 1 sed -i -e 's/#log_dest stderr/log_dest syslog/' \ "$pkgdir"/etc/mosquitto/mosquitto.conf || return 1 install -Dm755 "$srcdir"/mosquitto.initd "$pkgdir"/etc/init.d/mosquitto } proc _pp { global pkgdesc := '"C++ wrapper for libmosquitto'" global replaces := '' mkdir -p "$subpkgdir"/usr/lib mv "$pkgdir"/usr/lib/libmosquittopp.so.* "$subpkgdir"/usr/lib/ } proc clients { global pkgdesc := '"Mosquitto command line MQTT clients'" global replaces := '"mosquitto-utils'" mkdir -p "$subpkgdir"/usr/bin mv "$pkgdir"/usr/bin/mosquitto_[ps]ub "$subpkgdir"/usr/bin/ } global sha512sums := '"dc75a971354f87deeb79f32435acfae9bc561a1a24a75ee4940a35176ff91758071930d2105d8dee2a090e07527dbfaa5692bece67e03cc87e8b4b8b46f846c2 mosquitto-1.4.14.tar.gz 53859b628f965b77f6e47910c0ceba2f2737b815131ed800dc64a80419e434d25b5ba0938ae645882e9aa5d475d4940c7d35cc6d56f54bc4937a66b32d7db4ad libressl.patch d5442373ae6ae8bc83eee59b425fbd76e80f905b9fd2bd2ed2a37a7e156fe95a9cf477c9c4dac0975c5fd90e70884de6fb8a16aefcd37b239199d5deae50b7d2 config.patch 16f96d8f7f3a8b06e2b2e04d42d7e0d89a931b52277fc017e4802f7a3bc85aff4dd290b1a0c40382ea8f5568d0ceb7319c031d9be916f346d805231a002b0433 mosquitto.initd'" (CommandList children: [ (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:pkgname) op:Equal rhs:{(mosquitto)} spids:[3])] spids: [3] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:pkgver) op:Equal rhs:{(1.4.14)} spids:[6])] spids: [6] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:pkgrel) op:Equal rhs:{(1)} spids:[9])] spids: [9] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:pkgdesc) op: Equal rhs: {(DQ ("An Open Source MQTT v3.1 Broker"))} spids: [12] ) ] spids: [12] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:url) op: Equal rhs: {(DQ ("http://mosquitto.org/"))} spids: [17] ) ] spids: [17] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:arch) op:Equal rhs:{(DQ (all))} spids:[22])] spids: [22] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:license) op:Equal rhs:{(DQ (BSD))} spids:[27])] spids: [27] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:depends) op:Equal rhs:{(DQ )} spids:[32])] spids: [32] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:depends_dev) op:Equal rhs:{(DQ )} spids:[36])] spids: [36] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:makedepends) op: Equal rhs: { (DQ ($ VSub_Name "$depends_dev") (" libressl-dev c-ares-dev util-linux-dev\n") ("\tlibwebsockets-dev") ) } spids: [40] ) ] spids: [40] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:install) op: Equal rhs: {(DQ ($ VSub_Name "$pkgname") (.pre-install))} spids: [47] ) ] spids: [47] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:subpackages) op: Equal rhs: { (DQ ($ VSub_Name "$pkgname") ("-dev ") ($ VSub_Name "$pkgname") ("-doc ") ($ VSub_Name "$pkgname") ("-libs++:_pp\n") ("\t") ($ VSub_Name "$pkgname") ("-libs ") ($ VSub_Name "$pkgname") (-clients) ) } spids: [53] ) ] spids: [53] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:replaces) op: Equal rhs: {(DQ (mosquitto-utils))} spids: [68] ) ] spids: [68] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:source) op: Equal rhs: { (DQ ("http://mosquitto.org/files/source/") ($ VSub_Name "$pkgname") (-) ($ VSub_Name "$pkgver") (".tar.gz\n") ("\tlibressl.patch\n") ("\tconfig.patch\n") ("\tmosquitto.initd") ) } spids: [73] ) ] spids: [73] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:builddir) op: Equal rhs: {(DQ ($ VSub_Name "$srcdir") (/) ($ VSub_Name "$pkgname") (-) ($ VSub_Name "$pkgver"))} spids: [85] ) ] spids: [85] ) (FuncDef name: prepare body: (BraceGroup children: [ (AndOr children: [ (C {(default_prepare)}) (ControlFlow token: arg_word:{(1)}) ] op_id: Op_DPipe ) (C {(sed)} {(-i)} {(-e)} {(DQ ("s|(INSTALL) -s|(INSTALL)|g"))} {(-e)} {(SQ <"s|--strip-program=${CROSS_COMPILE}${STRIP}||">)} {(Lit_Other "*") (/Makefile)} {(Lit_Other "*") (/) (Lit_Other "*") (/Makefile)} ) ] spids: [115] ) spids: [111 114] ) (FuncDef name: build body: (BraceGroup children: [ (C {(cd)} {(DQ ($ VSub_Name "$builddir"))}) (AndOr children: [ (C {(make)} {(Lit_VarLike "WITH_MEMORY_TRACKING=") (no)} {(Lit_VarLike "WITH_WEBSOCKETS=") (yes)} {(Lit_VarLike "WITH_SRV=") (yes)} {(Lit_VarLike "WITH_TLS_PSK=") (no)} {(Lit_VarLike "WITH_ADNS=") (no)} {(Lit_VarLike "prefix=") (/usr)} ) (ControlFlow token: arg_word:{(1)}) ] op_id: Op_DPipe ) ] spids: [167] ) spids: [163 166] ) (FuncDef name: package body: (BraceGroup children: [ (C {(cd)} {(DQ ($ VSub_Name "$builddir"))}) (AndOr children: [ (C {(make)} {(Lit_VarLike "prefix=") (/usr)} {(Lit_VarLike "DESTDIR=") (DQ ($ VSub_Name "$pkgdir"))} {(install)} ) (ControlFlow token: arg_word:{(1)}) ] op_id: Op_DPipe ) (AndOr children: [ (C {(mv)} {(DQ ($ VSub_Name "$pkgdir")) (/etc/mosquitto/mosquitto.conf.example)} {(DQ ($ VSub_Name "$pkgdir")) (/etc/mosquitto/mosquitto.conf)} ) (ControlFlow token: arg_word:{(1)}) ] op_id: Op_DPipe ) (AndOr children: [ (C {(sed)} {(-i)} {(-e)} {(SQ <"s/#log_dest stderr/log_dest syslog/">)} {(DQ ($ VSub_Name "$pkgdir")) (/etc/mosquitto/mosquitto.conf)} ) (ControlFlow token: arg_word:{(1)}) ] op_id: Op_DPipe ) (C {(install)} {(-Dm755)} {(DQ ($ VSub_Name "$srcdir")) (/mosquitto.initd)} {(DQ ($ VSub_Name "$pkgdir")) (/etc/init.d/mosquitto)} ) ] spids: [226] ) spids: [222 225] ) (FuncDef name: _pp body: (BraceGroup children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:pkgdesc) op: Equal rhs: {(DQ ("C++ wrapper for libmosquitto"))} spids: [327] ) ] spids: [327] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:replaces) op:Equal rhs:{(SQ )} spids:[333])] spids: [333] ) (C {(mkdir)} {(-p)} {(DQ ($ VSub_Name "$subpkgdir")) (/usr/lib)}) (C {(mv)} {(DQ ($ VSub_Name "$pkgdir")) (/usr/lib/libmosquittopp.so.) (Lit_Other "*")} {(DQ ($ VSub_Name "$subpkgdir")) (/usr/lib/)} ) ] spids: [324] ) spids: [320 323] ) (FuncDef name: clients body: (BraceGroup children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:pkgdesc) op: Equal rhs: {(DQ ("Mosquitto command line MQTT clients"))} spids: [370] ) ] spids: [370] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:replaces) op: Equal rhs: {(DQ (mosquitto-utils))} spids: [376] ) ] spids: [376] ) (C {(mkdir)} {(-p)} {(DQ ($ VSub_Name "$subpkgdir")) (/usr/bin)}) (C {(mv)} {(DQ ($ VSub_Name "$pkgdir")) (/usr/bin/mosquitto_) (Lit_Other "[") (ps) (Lit_Other "]") (ub) } {(DQ ($ VSub_Name "$subpkgdir")) (/usr/bin/)} ) ] spids: [367] ) spids: [363 366] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:sha512sums) op: Equal rhs: { (DQ ( "dc75a971354f87deeb79f32435acfae9bc561a1a24a75ee4940a35176ff91758071930d2105d8dee2a090e07527dbfaa5692bece67e03cc87e8b4b8b46f846c2 mosquitto-1.4.14.tar.gz\n" ) ( "53859b628f965b77f6e47910c0ceba2f2737b815131ed800dc64a80419e434d25b5ba0938ae645882e9aa5d475d4940c7d35cc6d56f54bc4937a66b32d7db4ad libressl.patch\n" ) ( "d5442373ae6ae8bc83eee59b425fbd76e80f905b9fd2bd2ed2a37a7e156fe95a9cf477c9c4dac0975c5fd90e70884de6fb8a16aefcd37b239199d5deae50b7d2 config.patch\n" ) ( "16f96d8f7f3a8b06e2b2e04d42d7e0d89a931b52277fc017e4802f7a3bc85aff4dd290b1a0c40382ea8f5568d0ceb7319c031d9be916f346d805231a002b0433 mosquitto.initd" ) ) } spids: [412] ) ] spids: [412] ) ] )