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