[packages/tvheadend] cleanups; useradd/del deps

glen glen at pld-linux.org
Sat Jan 11 23:17:13 CET 2014


commit f2240875427c83422467ceefdff1846bbc3ddb0b
Author: Elan Ruusamäe <glen at delfi.ee>
Date:   Sun Jan 12 00:17:02 2014 +0200

    cleanups; useradd/del deps

 tvheadend.spec | 42 +++++++++++++++++++++++-------------------
 1 file changed, 23 insertions(+), 19 deletions(-)
---
diff --git a/tvheadend.spec b/tvheadend.spec
index a6d9c4a..2fae4f0 100644
--- a/tvheadend.spec
+++ b/tvheadend.spec
@@ -1,31 +1,35 @@
+# TODO
 Summary:	TV streaming server
 Name:		tvheadend
 # keep stable version announced on web page
+%define vername 3.4patch1
 Version:	3.4.27
 Release:	0.1
 License:	GPL v3
 Group:		Applications/Multimedia
-URL:		https://tvheadend.org/projects/tvheadend
-%define vername 3.4patch1
 Source0:	https://github.com/tvheadend/tvheadend/archive/%{vername}.tar.gz
 # Source0-md5:	86d1be0ad6e02bd2aecd3d529a026797
 Source1:	%{name}.conf
 Source2:	%{name}.service
 Source3:	%{name}.sysconfig
 Source4:	%{name}.init
+URL:		https://tvheadend.org/projects/tvheadend
 BuildRequires:	avahi-devel
 BuildRequires:	curl-devel
 BuildRequires:	python-modules
 BuildRequires:	rpmbuild(macros) >= 1.647
 BuildRequires:	zlib-devel
-Requires(post,preun,postun):	systemd-units >= 38
-Requires:	systemd-units >= 0.38
 Requires(post):	pwgen
 Requires(post):	sed >= 4.0
-Requires(post):	/sbin/chkconfig
 Requires(post,preun):	/sbin/chkconfig
+Requires(post,preun,postun):	systemd-units >= 38
+Requires(postun):	/usr/sbin/userdel
+Requires(pre):	/bin/id
+Requires(pre):	/usr/sbin/useradd
 Requires:	group(video)
-Provides:	user(%{name})
+Requires:	systemd-units >= 0.38
+Provides:	user(tvheadend)
+BuildRoot:	%{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 
 %description
 Tvheadend is a TV streaming server for Linux supporting DVB-S, DVB-S2,
@@ -41,8 +45,8 @@ export CC="%{__cc}"
 # tvheadend uses a custom script, so %%configure cannot be used
 # as not all options are supported
 ./configure \
-	--prefix=%{_prefix} \
 	--release \
+	--prefix=%{_prefix} \
 	--libdir=%{_libdir} \
 	--mandir=%{_mandir}/man1
 
@@ -58,15 +62,19 @@ install -d $RPM_BUILD_ROOT%{_localstatedir}/lib/%{name}/.hts/%{name}/accesscontr
 %{__make} install \
 	DESTDIR=$RPM_BUILD_ROOT
 
-cp %{SOURCE1} $RPM_BUILD_ROOT%{_localstatedir}/lib/%{name}/.hts/%{name}/accesscontrol/1
-cp %{SOURCE2} $RPM_BUILD_ROOT%{systemdunitdir}/%{name}.service
-cp %{SOURCE3} $RPM_BUILD_ROOT/etc/sysconfig/%{name}
-cp %{SOURCE4} $RPM_BUILD_ROOT/etc/rc.d/init.d/%{name}
+cp -p %{SOURCE1} $RPM_BUILD_ROOT%{_localstatedir}/lib/%{name}/.hts/%{name}/accesscontrol/1
+cp -p %{SOURCE2} $RPM_BUILD_ROOT%{systemdunitdir}/%{name}.service
+cp -p %{SOURCE3} $RPM_BUILD_ROOT/etc/sysconfig/%{name}
+install -p %{SOURCE4} $RPM_BUILD_ROOT/etc/rc.d/init.d/%{name}
 
 chmod +x $RPM_BUILD_ROOT%{_bindir}/%{name}
 
+%clean
+rm -rf $RPM_BUILD_ROOT
+
 %pre
-%useradd -u 20 -d %{_localstatedir}/lib/%{name} -g video -G usb -c "tvheadend User" %{name}
+# FIXME: use registered uid!
+%useradd -u 20 -d %{_localstatedir}/lib/%{name} -g video -G usb -c "tvheadend User" tvheadend
 
 %post
 /sbin/chkconfig --add tvheadend
@@ -76,7 +84,7 @@ chmod +x $RPM_BUILD_ROOT%{_bindir}/%{name}
 # check if the access control file still has the initial dummy password, and
 # replace the dummy password by a random, 12-character pwgen-generated password
 if  grep -q '"password": "dummypassword"' %{_localstatedir}/lib/%{name}/.hts/%{name}/accesscontrol/1; then
-  sed -i "s,\"password\": \"dummypassword\",\"password\": \"$(pwgen -s 12 1)\"," %{_localstatedir}/lib/%{name}/.hts/%{name}/accesscontrol/1
+	sed -i "s,\"password\": \"dummypassword\",\"password\": \"$(pwgen -s 12 1)\"," %{_localstatedir}/lib/%{name}/.hts/%{name}/accesscontrol/1
 fi
 
 %preun
@@ -88,13 +96,10 @@ fi
 
 %postun
 if [ "$1" = "0" ]; then
-	%userremove %{name}
+	%userremove tvheadend
 fi
 %systemd_reload
 
-%clean
-rm -rf $RPM_BUILD_ROOT
-
 %files
 %defattr(644,root,root,755)
 %doc docs
@@ -105,11 +110,10 @@ rm -rf $RPM_BUILD_ROOT
 %{_datadir}/%{name}
 %{systemdunitdir}/%{name}.service
 
-#home directory and config file
+# home directory and config file
 %dir %attr(755,tvheadend,root) %{_localstatedir}/lib/%{name}
 %dir %attr(755,tvheadend,video) %{_localstatedir}/lib/%{name}/Videos
 %dir %attr(750,tvheadend,video) %{_localstatedir}/lib/%{name}/.hts
 %dir %attr(750,tvheadend,video) %{_localstatedir}/lib/%{name}/.hts/%{name}
 %dir %attr(750,tvheadend,video) %{_localstatedir}/lib/%{name}/.hts/%{name}/accesscontrol
 %attr(600,tvheadend,video) %config(noreplace) %verify(not md5 mtime size) %{_localstatedir}/lib/%{name}/.hts/%{name}/accesscontrol/1
-
================================================================

---- gitweb:

http://git.pld-linux.org/gitweb.cgi/packages/tvheadend.git/commitdiff/f2240875427c83422467ceefdff1846bbc3ddb0b



More information about the pld-cvs-commit mailing list