Name: emqttd Version: 2.1.2 Release: 1%{?dist} Summary: emqttd License: Apache License Version 2.0 Group: System Environment/Daemons Vendor: VMware, Inc. Distribution: Photon URL: http://www.emqtt.io Source0: emq-relx-%{version}.tar.gz %define sha1 emq-relx=c6ca7460a3b40d09ca65a9430ff1702574333222 Source1: emqttd.service Patch0: vars.config.patch BuildRequires: erlang BuildRequires: git Requires: shadow gawk sed %description (Erlang MQTT Broker) is a distributed, massively scalable, highly extensible MQTT message broker written in Erlang/OTP. %prep %setup -qn emq-relx-%{version} %patch0 -p0 %build make %install #make install DESTDIR=%{buildroot} %define relpath %{_builddir}/%{buildsubdir}/_rel/emqttd %define buildroot_lib %{buildroot}%{_libdir}/emqttd %define buildroot_etc %{buildroot}%{_sysconfdir}/emqttd %define buildroot_bin %{buildroot_lib}/bin mkdir -p %{buildroot_etc} mkdir -p %{buildroot_lib} mkdir -p %{buildroot}%{_localstatedir}/lib/emqttd mkdir -p %{buildroot}%{_localstatedir}/log/emqttd mkdir %{buildroot_bin} mkdir -p %{buildroot}/usr/sbin/ install -p -D -m 0755 %{relpath}/bin/emqttd %{buildroot}/usr/sbin install -p -D -m 0755 %{relpath}/bin/emqttd_ctl %{buildroot}/usr/sbin cp -R %{relpath}/lib %{buildroot_lib} cp -R %{relpath}/erts-* %{buildroot_lib} cp -R %{relpath}/releases %{buildroot_lib} cp %{relpath}/bin/cuttlefish %{buildroot_bin} cp %{relpath}/bin/install_upgrade_escript %{buildroot_bin} cp %{relpath}/bin/nodetool %{buildroot_bin} cp %{relpath}/bin/start_clean.boot %{buildroot_bin} cp -R %{relpath}/etc/* %{buildroot_etc} mkdir -p %{buildroot}%{_localstatedir}/lib/emqttd cp -R %{relpath}/data/* %{buildroot}%{_localstatedir}/lib/emqttd install -vdm755 %{buildroot}/usr/lib/systemd/system install -D -m 444 %{SOURCE1} %{buildroot}/usr/lib/systemd/system %pre # Pre-install script if ! getent group emqtt >/dev/null 2>&1; then groupadd -r emqtt fi if getent passwd emqtt >/dev/null 2>&1; then usermod -d %{_localstatedir}/lib/emqttd emqtt || true else useradd -r -g emqtt \ --home %{_localstatedir}/lib/emqttd \ --comment "emqtt user" \ --shell /bin/bash \ emqtt fi %post if [ $1 == 1 ];then chown -R emqtt:emqtt /var/log/emqttd/ chown -R emqtt:emqtt /var/lib/emqttd/ systemctl >/dev/null 2>&1 if [ $? -eq 0 ]; then systemctl enable emqttd.service fi fi %preun # Pre-uninstall script # Only on uninstall, not upgrades if [ "$1" = 0 ] ; then systemctl >/dev/null 2>&1 if [ $? -eq 0 ]; then systemctl disable emqttd.service fi fi exit 0 %files %defattr(-,root,root) %config(noreplace) %{_sysconfdir}/%{name}/ %{_sbindir} %{_libdir} %{_localstatedir}/lib/%{name} %{_localstatedir}/log/%{name} %exclude %{_libdir}/debug %doc %clean rm -rf %{buildroot} %changelog * Thu Dec 07 2017 Priyesh Padmavilasom <ppadmavilasom@vmware.com> 2.1.2-1 - Initial - modified from https://github.com/emqtt/emq-package