131 lines
5.3 KiB
RPMSpec
131 lines
5.3 KiB
RPMSpec
#
|
|
# spec file for package loolwsd
|
|
#
|
|
# Copyright (c) 2015 Collabora
|
|
#
|
|
# All modifications and additions to the file contributed by third parties
|
|
# remain the property of their copyright owners, unless otherwise agreed
|
|
# upon. The license for this file, and modifications and additions to the
|
|
# file, is the same license as for the pristine package itself (unless the
|
|
# license for the pristine package is not an Open Source License, in which
|
|
# case the license is the MIT License). An "Open Source License" is a
|
|
# license that conforms to the Open Source Definition (Version 1.9)
|
|
# published by the Open Source Initiative.
|
|
|
|
|
|
# See also http://en.opensuse.org/openSUSE:Specfile_guidelines
|
|
|
|
Name: loolwsd
|
|
Version: @PACKAGE_VERSION@
|
|
Release: 0
|
|
Vendor: Collabora
|
|
Summary: LibreOffice On-Line WebSocket Daemon
|
|
License: MPL
|
|
Source0: loolwsd-@PACKAGE_VERSION@.tar.gz
|
|
Source1: loleaflet-@PACKAGE_VERSION@.tar.gz
|
|
BuildRequires: libcap-progs libcap-devel libpng-devel poco-devel >= 1.7.1 systemd-rpm-macros
|
|
# This works for now only with a CP build of 5.0, I think. The TDF
|
|
# (and thus also CP) packages include the version number in their
|
|
# names. How clever is that? So we need to specify one.
|
|
Requires: libcap libcap-progs libpng libPocoFoundation42 >= 1.7.1 libPocoNet42 >= 1.7.1 collaboraoffice5.0 collaboraoffice5.0-en-US collaboraoffice5.0-ure collaboraofficebasis5.0-core collaboraofficebasis5.0-writer collaboraofficebasis5.0-impress collaboraofficebasis5.0-graphicfilter collaboraofficebasis5.0-en-US collaboraofficebasis5.0-calc collaboraofficebasis5.0-en-US-res collaboraofficebasis5.0-en-US-calc collaboraofficebasis5.0-ooofonts collaboraofficebasis5.0-images collaboraofficebasis5.0-filter-data collaboraofficebasis5.0-draw collaboraofficebasis5.0-base collaboraofficebasis5.0-en-US-writer collaboraofficebasis5.0-en-US-math collaboraofficebasis5.0-en-US-base Mesa-libEGL1 Mesa-libGL1 Mesa-libglapi0 cups-libs dbus-1-glib fontconfig libbz2-1 libcairo2 libdrm2 libexpat1 libfreetype6 libgbm1 libgio-2_0-0 libglib-2_0-0 libgmodule-2_0-0 libgobject-2_0-0 libgthread-2_0-0 liblzma5 libpcre1 libpixman-1-0 libpng16-16 libuuid1 libxml2-2 %{?systemd_requires} %{fillup_prereq}
|
|
Provides: loleaflet = 1.5.8
|
|
Obsoletes: loleaflet <= 1.5.8
|
|
|
|
%define owner lool
|
|
%define group lool
|
|
|
|
%description
|
|
|
|
%prep
|
|
%setup
|
|
%setup -T -D -a 1
|
|
|
|
%build
|
|
%configure \
|
|
--with-lokit-path=bundled/include \
|
|
%if %{ssl_support} == "NO"
|
|
--disable-ssl
|
|
%endif
|
|
|
|
env BUILDING_FROM_RPMBUILD=yes make %{?_smp_mflags}
|
|
|
|
%check
|
|
#env BUILDING_FROM_RPMBUILD=yes make check
|
|
|
|
%install
|
|
env BUILDING_FROM_RPMBUILD=yes make install DESTDIR=%{buildroot}
|
|
%if %{default_admin} == "YES"
|
|
sed -i "s|ExecStart=/usr/bin/loolwsd --version --systemplate=/opt/lool/systemplate --lotemplate=/opt/collaboraoffice5.0 --childroot=/opt/lool/child-roots --numprespawns=5 --fileserverroot=/usr/share/loolwsd|ExecStart=/usr/bin/loolwsd --version --systemplate=/opt/lool/systemplate --lotemplate=/opt/collaboraoffice5.0 --childroot=/opt/lool/child-roots --numprespawns=5 --fileserverroot=/usr/share/loolwsd --admincreds=admin/admin|" loolwsd.service
|
|
%endif
|
|
%__install -D -m 444 loolwsd.service %{buildroot}%{_unitdir}/loolwsd.service
|
|
install -d -m 755 %{buildroot}/var/adm/fillup-templates
|
|
install -D -m 644 sysconfig.loolwsd %{buildroot}/var/adm/fillup-templates
|
|
mkdir -p %{buildroot}/etc/cron.d
|
|
echo "#Remove old tiles once every 10 days at midnight" > %{buildroot}/etc/cron.d/loolwsd.cron
|
|
echo "0 0 */1 * * root find /var/cache/loolwsd -name \"*.png\" -a -atime +10 -exec rm {} \;" >> %{buildroot}/etc/cron.d/loolwsd.cron
|
|
cd loleaflet-@PACKAGE_VERSION@
|
|
mkdir -p %{buildroot}/usr/share/loolwsd/loleaflet
|
|
tar cf - . | (cd %{buildroot}/usr/share/loolwsd/loleaflet && tar xf -)
|
|
|
|
%files
|
|
/usr/bin/loolwsd
|
|
/usr/bin/loolwsd-systemplate-setup
|
|
/usr/bin/loolmap
|
|
/usr/bin/loolforkit
|
|
/usr/bin/loolmount
|
|
/usr/bin/looltool
|
|
/usr/share/loolwsd/discovery.xml
|
|
/usr/share/loolwsd/loleaflet
|
|
%{_unitdir}/loolwsd.service
|
|
/var/adm/fillup-templates/sysconfig.loolwsd
|
|
|
|
%config(noreplace) /etc/cron.d/loolwsd.cron
|
|
%config(noreplace) /etc/loolwsd/loolwsd.xml
|
|
%config(noreplace) %attr(400, %{owner}, %{owner}) /etc/loolwsd/key.pem
|
|
%if %{ssl_support} == "YES"
|
|
%config(noreplace) /etc/loolwsd/cert.pem
|
|
%config(noreplace) /etc/loolwsd/ca-chain.cert.pem
|
|
%endif
|
|
|
|
%doc README
|
|
|
|
%pre
|
|
%service_add_pre loolwsd.service
|
|
|
|
%post
|
|
setcap cap_fowner,cap_mknod,cap_sys_chroot=ep /usr/bin/loolforkit
|
|
|
|
getent group %{group} >/dev/null || groupadd -r %{group}
|
|
getent passwd %{owner} >/dev/null || useradd -g %{group} -r %{owner}
|
|
|
|
mkdir -p /var/cache/loolwsd && chown %{owner}: /var/cache/loolwsd
|
|
rm -rf /var/cache/loolwsd/*
|
|
|
|
# Figure out where LO is installed, let's hope it is not a mount point
|
|
# Create a directory for loolwsd on the same file system
|
|
loroot=`rpm -ql collaboraoffice5.0 | grep '/soffice$' | sed -e 's-/program/soffice--'`
|
|
loolparent=`cd ${loroot} && cd .. && /bin/pwd`
|
|
|
|
rm -rf ${loolparent}/lool
|
|
mkdir -p ${loolparent}/lool/child-roots
|
|
chown %{owner}: ${loolparent}/lool
|
|
chown %{owner}: ${loolparent}/lool/child-roots
|
|
|
|
su %{owner} -c "loolwsd-systemplate-setup ${loolparent}/lool/systemplate ${loroot} >/dev/null"
|
|
|
|
%service_add_post loolwsd.service
|
|
|
|
%{fillup_only -n loolwsd}
|
|
|
|
%preun
|
|
%service_del_preun loolwsd.service
|
|
|
|
%postun
|
|
%service_del_postun loolwsd.service
|
|
|
|
%changelog
|
|
* Mon Aug 03 2015 Mihai Varga
|
|
- added the cronjob
|
|
* Tue May 19 2015 Tor Lillqvist
|
|
- Initial RPM release
|
|
|