spec: add rpm specfile

This commit is contained in:
Wim Taymans 2015-09-02 09:10:49 +02:00
parent a6dfb8831f
commit f0cd100d4c
5 changed files with 166 additions and 12 deletions

3
LICENSE Normal file
View file

@ -0,0 +1,3 @@
All Pinos source files are licensed under the GNU Lesser General Public
License. (see file LGPL for details)

View file

@ -26,9 +26,7 @@ EXTRA_DIST = \
SUBDIRS = src
DIST_SUBDIRS = pkgconfig \
doc \
src
DIST_SUBDIRS = src
MAINTAINERCLEANFILES =
noinst_DATA =

5
m4/.gitignore vendored Normal file
View file

@ -0,0 +1,5 @@
libtool.m4
ltoptions.m4
ltsugar.m4
ltversion.m4
lt~obsolete.m4

148
pinos.spec Normal file
View file

@ -0,0 +1,148 @@
%global majorminor 0.1
#global snap 20141103
#global gitrel 327
#global gitcommit aec811798cd883a454b9b5cd82c77831906bbd2d
#global shortcommit %(c=%{gitcommit}; echo ${c:0:5})
# https://bugzilla.redhat.com/983606
%global _hardened_build 1
# where/how to apply multilib hacks
%global multilib_archs x86_64 %{ix86} ppc64 ppc s390x s390 sparc64 sparcv9 ppc64le
Name: pinos
Summary: Media Sharing Server
Version: 0.1
Release: 1%{?snap:.%{snap}git%{shortcommit}}%{?dist}
License: LGPLv2+
URL: http://www.freedesktop.org/wiki/Software/Pinos
%if 0%{?gitrel}
# git clone git://anongit.freedesktop.org/gstreamer/pinos
# cd pinos; git reset --hard %{gitcommit}; ./autogen.sh; make; make distcheck
Source0: pinos-%{version}-%{gitrel}-g%{shortcommit}.tar.xz
%else
Source0: http://freedesktop.org/software/pinos/releases/pinos-%{version}.tar.xz
%endif
## upstream patches
## upstreamable patches
BuildRequires: automake libtool
BuildRequires: m4
BuildRequires: libtool-ltdl-devel
BuildRequires: intltool
BuildRequires: pkgconfig
BuildRequires: xmltoman
BuildRequires: tcp_wrappers-devel
BuildRequires: gstreamer1-devel >= 1.4.5
BuildRequires: systemd-devel >= 184
Requires(pre): shadow-utils
Requires: %{name}-libs%{?_isa} = %{version}-%{release}
Requires: systemd >= 184
Requires: rtkit
%description
Pinos is a multimedia server for Linux and other Unix like operating
systems.
%package libs
Summary: Libraries for Pinos clients
License: LGPLv2+
%description libs
This package contains the runtime libraries for any application that wishes
to interface with a Pinos media server.
%package libs-devel
Summary: Headers and libraries for Pinos client development
License: LGPLv2+
Requires: %{name}-libs%{?_isa} = %{version}-%{release}
%description libs-devel
Headers and libraries for developing applications that can communicate with
a Pinos media server.
%package utils
Summary: Pinos media server utilities
License: LGPLv2+
Requires: %{name}-libs%{?_isa} = %{version}-%{release}
%description utils
This package contains command line utilities for the Pinos media server.
%prep
%setup -q -T -b0 -n %{name}-%{version}%{?gitrel:-%{gitrel}-g%{shortcommit}}
%if 0%{?gitrel:1}
# fixup PACKAGE_VERSION that leaks into pkgconfig files and friends
sed -i.PACKAGE_VERSION -e "s|^PACKAGE_VERSION=.*|PACKAGE_VERSION=\'%{version}\'|" configure
%else
## kill rpaths
%if "%{_libdir}" != "/usr/lib"
sed -i -e 's|"/lib /usr/lib|"/%{_lib} %{_libdir}|' configure
%endif
%endif
%build
%configure \
--disable-silent-rules \
--disable-static \
--disable-rpath \
--with-system-user=pinos \
--with-system-group=pinos \
--with-access-group=pinos-access \
--disable-systemd-daemon \
--enable-tests
make %{?_smp_mflags} V=1
%install
make install DESTDIR=$RPM_BUILD_ROOT
## unpackaged files
# extraneous libtool crud
rm -fv $RPM_BUILD_ROOT%{_libdir}/*.la
%check
# don't fail build due failing tests on big endian arches (rhbz#1067470)
make check \
%ifarch ppc %{power64} s390 s390x
|| :
%else
%{nil}
%endif
%pre
%post -p /sbin/ldconfig
%postun -p /sbin/ldconfig
%files
%doc README LICENSE GPL LGPL
## already owned by -libs, see also https://bugzilla.redhat.com/show_bug.cgi?id=909690
#dir %{_sysconfdir}/pinos/
%{_sysconfdir}/dbus-1/system.d/pinos-system.conf
%{_bindir}/pinos
%{_libdir}/libpinos-%{majorminor}.so
%{_libdir}/libpinoscore-%{majorminor}.so
%{_libdir}/gstreamer-1.0/libgstpinos.*
%files libs
%doc README LICENSE GPL LGPL
#%dir %{_sysconfdir}/pinos/
#%dir %{_libdir}/pinos/
%files libs-devel
%{_includedir}/pinos/
%{_libdir}/pkgconfig/libpinos*.pc
%files utils
%{_bindir}/pinos-monitor
%changelog
* Tue Sep 1 2015 Wim Taymans <wtaymans@redhat.com> - 0.1.0-1
- First version

View file

@ -19,9 +19,9 @@
# Extra directories #
###################################
pinosincludedir=$(includedir)/client
pinosserverincludedir=$(includedir)/server
pinoslibexecdir=$(libexecdir)/client
pinosincludedir=$(includedir)/pinos/client
pinosserverincludedir=$(includedir)/pinos/server
pinoslibexecdir=$(libexecdir)/pinos/client
dbuspolicydir=$(sysconfdir)/dbus-1/system.d
###################################
@ -49,8 +49,9 @@ FOREIGN_CFLAGS = -w
###################################
EXTRA_DIST = \
src/version.h.in \
daemon/pinos-system.conf
daemon/pinos-system.conf \
dbus/org.pinos.xml \
client/private.h
dbuspolicy_DATA = \
daemon/pinos-system.conf
@ -152,8 +153,7 @@ pinos_monitor_LDFLAGS = $(AM_LDFLAGS) $(BINLDFLAGS)
pinosgstsource = gst/gstpinospay.h gst/gstpinospay.c \
gst/gstpinosdepay.h gst/gstpinosdepay.c \
gst/gsttmpfileallocator.h gst/gsttmpfileallocator.c \
wire-protocol.h
gst/gsttmpfileallocator.h gst/gsttmpfileallocator.c
pinosinclude_HEADERS = \
client/pinos.h \
@ -200,8 +200,8 @@ libpinoscore_@PINOS_MAJORMINOR@_la_SOURCES = \
server/source.c server/source.h \
server/client-source.c server/client-source.h \
server/source-output.c server/source-output.h \
modules/gst/gst-manager.c \
modules/gst/gst-source.c \
modules/gst/gst-manager.c modules/gst/gst-manager.h \
modules/gst/gst-source.c modules/gst/gst-source.h \
dbus/org-pinos.c dbus/org-pinos.h
libpinoscore_@PINOS_MAJORMINOR@_la_CFLAGS = $(AM_CFLAGS) $(SERVER_CFLAGS)