%global ref @REF@
%global commit @COMMIT@
%global shortcommit %(c=%{commit}; echo ${c:0:7})

Name:           tvheadend
Summary:        TV streaming server and Digital Video Recorder
Version:        @VERSION@
Release:        @RELEASE@%{?dist}

License:        GPLv3
Group:          Applications/Multimedia
URL:            http://tvheadend.org

Source:         https://github.com/tvheadend/tvheadend/archive/%{ref}/tvheadend-%{commit}.tar.gz
#Patch999:      test.patch

BuildRequires:  systemd-units
BuildRequires:  dbus-devel
BuildRequires:  avahi-devel
BuildRequires:  avahi-libs
BuildRequires:  openssl-devel
BuildRequires:  uriparser-devel
BuildRequires:  ffmpeg-devel
BuildRequires:  python

Requires:       systemd-units

%description
Tvheadend is a TV streaming server with Digital Video Recorder functionality
for Linux supporting DVB, ATSC, IPTV, SAT>IP, HDHomeRun as input sources.

It can be used as a back-end to HTTP (VLC, MPlayer), HTSP (Movian, Kodi),
SAT>IP and various other clients using these protocols.

%prep
%setup -q -n tvheadend-%{commit}
#%patch999 -p1 -b .test

%build
echo %{version}-%{release} > %{_builddir}/%{buildsubdir}/rpm/version
%configure --disable-lockowner --enable-bundle --disable-libffmpeg_static
%{__make} %{?_smp_mflags}

%install
# binary
mkdir -p -m755 %{buildroot}%{_bindir}
install -p -m 755 build.linux/tvheadend %{buildroot}%{_bindir}
# systemd
mkdir -p -m755 %{buildroot}%{_sysconfdir}/sysconfig
install -p -m 644 rpm/tvheadend.sysconfig %{buildroot}%{_sysconfdir}/sysconfig/tvheadend
mkdir -p -m755 %{buildroot}%{_unitdir}
install -p -m 644 rpm/tvheadend.service %{buildroot}%{_unitdir}

%pre
getent group tvheadend >/dev/null || groupadd -f -g 283 -r tvheadend
if ! getent passwd tvheadend > /dev/null ; then
  if ! getent passwd 283 > /dev/null ; then
    useradd -r -l -u 283 -g tvheadend -d /home/tvheadend -s /sbin/nologin -c "Tvheadend TV server" tvheadend
  else
    useradd -r -l -g tvheadend -d /home/tvheadend -s /sbin/nologin -c "Tvheadend TV server" tvheadend
  fi
fi
if ! test -d /home/tvheadend ; then
  mkdir -m 0755 /home/tvheadend || exit 1
  chown tvheadend.tvheadend /home/tvheadend || exit 1
fi
exit 0

%post
%systemd_post tvheadend.service

%postun
%systemd_postun_with_restart tvheadend.service

%files
%{_bindir}/*
%{_sysconfdir}/sysconfig/*
%{_unitdir}/*

%changelog
* Wed May 27 2015 Jaroslav Kysela <perex@perex.cz> 4.0.3-1
- rpmlint fixes

* Mon May 25 2015 Jaroslav Kysela <perex@perex.cz> 4.0.2-1
- fix requires (libs) and improve description
- add support for final version to Source

* Thu May 21 2015 Jaroslav Kysela <perex@perex.cz> 4.0.1-1
- changed versioning system (put changes and git hash to revision)

* Thu May 14 2015 Jaroslav Kysela <perex@perex.cz> 3.9-2842
- add python to BuildRequires

* Wed Mar 25 2015 Bob Lightfoot <boblfoot@gmail.com> 3.9-2658-gb427d7e
- Patching rpm spec file so the arm architecture builds properly

* Mon Oct 13 2014 Jaroslav Kysela <perex@perex.cz> 3.9-1806-g6f3324e
- RPM: Typo fixes

* Mon Oct 13 2014 Jaroslav Kysela <perex@perex.cz> 3.9-1805-g14a7de8
- RPM build - config fixes

* Mon Oct 13 2014 Jaroslav Kysela <perex@perex.cz> 3.9-1803-g392dec0
- Add basic RPM build support

~   
