SHA256
1
0
forked from pool/tvheadend

Accepting request 460709 from home:sleep_walker:branches:multimedia:apps

- replace original (but long-time broken) package with the working one
  living in PackMan build service (and adopt their changelog)
- keep tvheadend-fix-daemon-user-group.patch
- remove pre-systemd stuff and init scripts
- move "homedir" of the user to /var/lib/tvheadend


process spec file with spec-cleaner

OBS-URL: https://build.opensuse.org/request/show/460709
OBS-URL: https://build.opensuse.org/package/show/multimedia:apps/tvheadend?expand=0&rev=5
This commit is contained in:
Denisart Benjamin 2017-02-27 14:12:27 +00:00 committed by Git OBS Bridge
parent 55fd2777bc
commit e81d11a8c1
8 changed files with 217 additions and 31 deletions

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:04f485c25fcca604165622679e9e7be7aee7575d67f326f5ed8b4ceff63d8f4c
size 15826229

3
tvheadend-4.0.9.tar.gz Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:cea1106f45e286e8c25e6b2f0a581c28bd85e93ce3801ecaac7041568a214977
size 15825419

View File

@ -0,0 +1,13 @@
--- Makefile.orig 2015-06-27 14:15:57.523222561 +0200
+++ Makefile 2015-06-27 14:16:38.689192884 +0200
@@ -27,8 +27,8 @@ PROG := $(BUILDDIR)/tvheadend
# Common compiler flags
#
-CFLAGS += -g -O2 -Wunused-result
-CFLAGS += -Wall -Werror -Wwrite-strings -Wno-deprecated-declarations
+CFLAGS += -g -O2
+CFLAGS += -Wall -Wwrite-strings -Wno-deprecated-declarations
CFLAGS += -Wmissing-prototypes
CFLAGS += -fms-extensions -funsigned-char -fno-strict-aliasing
CFLAGS += -D_FILE_OFFSET_BITS=64

View File

@ -0,0 +1,21 @@
diff -Naur a/src/htsmsg.c b/src/htsmsg.c
--- a/src/htsmsg.c 2016-03-14 04:10:57.000000000 -0500
+++ b/src/htsmsg.c 2016-09-26 16:51:51.367645274 -0500
@@ -760,13 +760,15 @@
case HMF_MAP:
printf("MAP) = {\n");
htsmsg_print0(&f->hmf_msg, indent + 1);
- for(i = 0; i < indent; i++) printf("\t"); printf("}\n");
+ for(i = 0; i < indent; i++) printf("\t");
+ printf("}\n");
break;
case HMF_LIST:
printf("LIST) = {\n");
htsmsg_print0(&f->hmf_msg, indent + 1);
- for(i = 0; i < indent; i++) printf("\t"); printf("}\n");
+ for(i = 0; i < indent; i++) printf("\t");
+ printf("}\n");
break;
case HMF_STR:

View File

@ -1,18 +1,78 @@
-------------------------------------------------------------------
Wed Jan 6 17:41:30 UTC 2016 - p.drouand@gmail.com
Tue Feb 14 12:44:57 UTC 2017 - sleep_walker@opensuse.org
- Update to version 4.0.8
* No changelog available
- Add libhdhomerun-devel and ccache build dependencies
- replace original (but long-time broken) package with the working one
living in PackMan build service (and adopt their changelog)
- keep tvheadend-fix-daemon-user-group.patch
- remove pre-systemd stuff and init scripts
- move "homedir" of the user to /var/lib/tvheadend
-------------------------------------------------------------------
Wed Dec 9 16:33:11 UTC 2015 - p.drouand@gmail.com
Mon Sep 26 21:55:00 UTC 2016 - malcolmlewis@opensuse.org
- Remove prefixed UID
- Add tvheadend-fix-misleading-indent.patch: Fix warning/error
produced with gcc-6.
-------------------------------------------------------------------
Sun Dec 6 12:44:48 UTC 2015 - p.drouand@gmail.com
Sat Apr 9 14:06:31 UTC 2016 - malcolmlewis@opensuse.org
- Initial release (version 4.0.7)
- Add tvheadend-fix-daemon-user-group.patch
- Update to version 4.0.9:
+ https://github.com/tvheadend/tvheadend/compare/v4.0.8...v4.0.9.
- Disable hdhomerun client and static build.
-------------------------------------------------------------------
Sun Feb 7 21:56:31 UTC 2016 - malcolmlewis@opensuse.org
- Update to version 4.0.8:
+ Changelog on
https://github.com/tvheadend/tvheadend/compare/v4.0.7...v4.0.8.
- Fix incorrect sed command in spec file to add user hts and video
group to /etc/sysconfig/tvheadend file.
- Add %%doc files.
- Delete source file not bzipped from rpmlintrc file.
- Add helper script to add/update superuser file.
- Update post install message to include post install steps.
-------------------------------------------------------------------
Tue Oct 27 21:58:38 UTC 2015 - malcolmlewis@opensuse.org
- Update to version 4.0.7:
+ Changelog on
https://tvheadend.org/projects/tvheadend/wiki/Tvheadend-40.
-------------------------------------------------------------------
Fri Jun 26 17:40:22 UTC 2015 - aloisio@gmx.com
- Update to version 4.0.5
* changelog on https://tvheadend.org/projects/tvheadend/wiki/Tvheadend-40
- Added init support for 11.4/SLE_11
- spec cleanup
-------------------------------------------------------------------
Sat Jun 8 14:11:55 UTC 2013 - p.drouand@gmail.com
- Update to version 3.4
- Clean and rebase specfile
- Add systemd service file to start automatically tvheadend daemon
and add tvheadend to video group to get it usable by user
- Remove dvb-scan tables archive and pass --disable-dvbscan;
It doesn't work correctly and is actually obsolete
- Remove tvheadend-3.2.18-dvbscan_data.patch; it's not needed anymore
- Fix executable manpage
-------------------------------------------------------------------
Sat Feb 2 13:31:36 UTC 2013 - hvogel@opensuse.org
- Update to version 3.2.18
-------------------------------------------------------------------
Tue Mar 27 17:20:28 UTC 2012 - hvogel@opensuse.org
- Don't build with Werror
- Add summary/description
-------------------------------------------------------------------
Fri Apr 22 09:03:35 UTC 2011 - hvogel@opensuse.org
- Initial package, version 2.12

2
tvheadend.rpmlintrc Normal file
View File

@ -0,0 +1,2 @@
# this file is supposed to be empty
addFilter("W: zero-length .*empty.css")

View File

@ -1,7 +1,8 @@
#
# spec file for package tvheadend
#
# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany.
# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany.
# Copyright (c) 2016 Packman Team <packman@links2linux.de>
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@ -18,30 +19,35 @@
%define htsgroup video
%define htsuser hts
%define homedir %{_localstatedir}/lib/tvheadend
Name: tvheadend
Version: 4.0.8
Version: 4.0.9
Release: 0
Summary: A TV Streaming Server
License: GPL-3.0
Group: Productivity/Multimedia/Other
Url: https://tvheadend.org/
Source0: http://github.com/%{name}/%{name}/archive/v%{version}.tar.gz#/%{name}-%{version}.tar.gz
Patch: tvheadend-fix-daemon-user-group.patch
BuildRequires: ccache
Source2: %{name}.rpmlintrc
Source3: %{name}_super
# PATCH-FIX-OPENSUSE tvheadend-4.0_no-werror.patch -- Do not treat warnings as errors.
Patch0: %{name}-4.0_no-werror.patch
# PATCH-FIX-OPENSUSE tvheadend-fix-misleading-indent.patch malcolmlewis@opensuse.org -- Fix warning/error produced with gcc-6.
Patch1: %{name}-fix-misleading-indent.patch
BuildRequires: fdupes
BuildRequires: libhdhomerun-devel
BuildRequires: pkgconfig
BuildRequires: python-devel
BuildRequires: pkgconfig(avahi-client)
BuildRequires: pkgconfig(dbus-1)
BuildRequires: pkgconfig(libavcodec)
BuildRequires: pkgconfig(libavformat)
BuildRequires: pkgconfig(libavresample)
BuildRequires: pkgconfig(libavutil)
BuildRequires: pkgconfig(libavcodec) = 56.60.100
BuildRequires: pkgconfig(libavformat) = 56.40.101
BuildRequires: pkgconfig(libavresample) = 2.1.0
BuildRequires: pkgconfig(libavutil) = 54.31.100
BuildRequires: pkgconfig(libssl)
BuildRequires: pkgconfig(libswscale)
BuildRequires: pkgconfig(libswscale) = 3.1.101
BuildRequires: pkgconfig(liburiparser)
BuildRequires: pkgconfig(zlib)
BuildRequires: pkg-config
BuildRequires: python-devel
BuildRoot: %{_tmppath}/%{name}-%{version}-build
%{?systemd_requires}
%description
@ -54,12 +60,20 @@ scheduling recordings.
%prep
%setup -q
%patch -p1
%patch0
%if 0%{?suse_version} >= 1320
%patch1 -p1
%endif
sed -e "s/-u \([^ ]*\) -g \([^ ]*\)/-u %{htsuser} -g %{htsgroup}/" -i rpm/%{name}.sysconfig
sed -e '/^TVH_ARGS/cTVH_ARGS="-C"' -i debian/%{name}.default
echo %{version} > rpm/version
%build
%configure --disable-dvbscan --disable-libffmpeg_static --disable-libffmpeg_static_x264
%configure --disable-dvbscan \
--disable-libffmpeg_static \
--disable-libffmpeg_static_x264 \
--disable-hdhomerun_static
make V=1 %{?_smp_mflags}
%install
@ -67,8 +81,12 @@ make V=1 %{?_smp_mflags}
mkdir -p %{buildroot}%{_localstatedir}/adm/fillup-templates/
mkdir -p %{buildroot}%{_sbindir}
install -D -m 644 rpm/%{name}.service %{buildroot}/%{_unitdir}/%{name}.service
sed -i 's@/home/tvheadend@%{homedir}@' rpm/%{name}.sysconfig
install -m 644 rpm/%{name}.sysconfig %{buildroot}/%{_localstatedir}/adm/fillup-templates/sysconfig.%{name}
ln -s %{_sbindir}/service %{buildroot}%{_sbindir}/rc%{name}
# Install superuser helper script
sed -i 's@/home/tvheadend@%{homedir}@' %{SOURCE3}
install -Dm0755 %{SOURCE3} %{buildroot}%{_sbindir}/%{name}_super
%fdupes -s %{buildroot}%{_datadir}
chmod -x %{buildroot}%{_mandir}/man1/tvheadend.1
@ -76,16 +94,21 @@ chmod -x %{buildroot}%{_mandir}/man1/tvheadend.1
%fillup_only %{name}
%service_add_post %{name}.service
cat << 'EOM'
==> All configuration is maintained through the web interface:
==> IMPORTANT: Post configuration tasks;
==> 1. Start the tvheadend service (to create home directory).
==> 2. Run tvheadend_super to set default username and password.
==> 3. Restart tvheadend service.
==>
==>
==> All further configuration is maintained through the web interface:
==>
==> http://localhost:9981/
==>
==> Default login without username/password.
EOM
%pre
%service_add_pre %{name}.service
%{_sbindir}/useradd -g %{htsgroup} -m -s /bin/false %{htsuser} -c "Tvheadend TV server" &> /dev/null || :
%{_sbindir}/useradd -u 1337 -g %{htsgroup} -m -d %{homedir} -r -s /bin/false %{htsuser} -c "Tvheadend TV server" &> /dev/null || :
%{_sbindir}/passwd -l %{htsuser} &> /dev/null || :
%preun
@ -96,12 +119,13 @@ EOM
%files
%defattr(-,root,root)
%doc CONTRIBUTING.md LICENSE.md
%{_bindir}/tvheadend
%{_datadir}/tvheadend
%{_mandir}/man1/tvheadend.1.gz
%{_mandir}/man1/tvheadend.1%{?ext_man}
%{_unitdir}/%{name}.service
%{_localstatedir}/adm/fillup-templates/sysconfig.%{name}
%{_sbindir}/%{name}_super
%{_sbindir}/rc%{name}
%changelog

66
tvheadend_super Normal file
View File

@ -0,0 +1,66 @@
#!/bin/bash
# This program is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 3.0 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
# Lesser General Public License for more details.
#
# Copyright (C) 2016 Malcolm Lewis <malcolmlewis@opensuse.org>
echo "Superuser setup for tvheadend"
# Make sure only root can run
if [[ $EUID -ne 0 ]]; then
echo "This script must be run as root, exiting..." 1>&2
exit 1
fi
if (( $# != 2 )); then
echo "Usage: $0 <Username> <Password>" >&2
exit 1
fi
# The superuser file location and name
SUPERUSER_FILE_LOCATION="/home/tvheadend/config"
# Test to see if file exists and if exists ask to overwrite
[ -f $SUPERUSER_FILE_LOCATION/superuser ] && { echo "Superuser file exists at '$SUPERUSER_FILE_LOCATION'.";
read -p "Overwrite existing superuser file [yes]/[no]? "
if [ "$REPLY" != "yes" ]; then
echo "Exiting, superuser file unchanged"
exit 1
else
echo "Updating superuser file"
fi
}
# If new file, advise user it's being created
[ ! -f $SUPERUSER_FILE_LOCATION/superuser ] && { echo "Creating new superuser file at '$SUPERUSER_FILE_LOCATION'."; }
# Read in the username and password for superuser file
TVHEADEND_SUPERUSER_NAME="$1"
TVHEADEND_SUPERUSER_PASS="$2"
# Create directory if it doesn't exist
mkdir -p $SUPERUSER_FILE_LOCATION
# Create superuser file with username and password
cat << EOF > $SUPERUSER_FILE_LOCATION/superuser
{
"username": "$TVHEADEND_SUPERUSER_NAME",
"password": "$TVHEADEND_SUPERUSER_PASS"
}
EOF
#Set permissions and ownership
chmod 0600 $SUPERUSER_FILE_LOCATION/superuser
chown hts:video $SUPERUSER_FILE_LOCATION/superuser
echo "Finished, superuser file updated, please logout of the"
echo "Web UI and restart tvheadend service to apply changes!"