diff options
author | Andras Timar <andras.timar@collabora.com> | 2021-11-18 13:08:14 +0100 |
---|---|---|
committer | Andras Timar <andras.timar@collabora.com> | 2021-11-18 14:14:11 +0100 |
commit | f07ff8c7e0754babe9819163fb0edeacac326caf (patch) | |
tree | 2e24c52eb95edf971399e33580d26b691528b211 /coolwsd.spec.in | |
parent | NotebookbarBuilder.js: Set role of Menubar. (diff) | |
download | online-f07ff8c7e0754babe9819163fb0edeacac326caf.tar.gz online-f07ff8c7e0754babe9819163fb0edeacac326caf.zip |
rename: remaining lool->cool changes
Signed-off-by: Andras Timar <andras.timar@collabora.com>
Change-Id: Ib7d4e804bebe52dead8d53b0e0bbaed0f08bf3d0
Diffstat (limited to 'coolwsd.spec.in')
-rw-r--r-- | coolwsd.spec.in | 222 |
1 files changed, 222 insertions, 0 deletions
diff --git a/coolwsd.spec.in b/coolwsd.spec.in new file mode 100644 index 0000000000..d1eadacd6c --- /dev/null +++ b/coolwsd.spec.in @@ -0,0 +1,222 @@ +# spec file for package coolwsd +# +# Copyright (c) 2015 Collabora +# +# This file is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. + +%if 0%{?name_suffix:1} +Name: coolwsd%{name_suffix} +%else +Name: coolwsd +%endif +Version: @PACKAGE_VERSION@ +Release: 1%{?dist} +Vendor: %{vendor} +Summary: Collabora Online WebSocket Daemon +License: EULA +Source0: coolwsd-@PACKAGE_VERSION@.tar.gz +BuildRequires: libcap-devel libpng-devel pam-devel gcc-c++ cppunit-devel pam-devel fontconfig make + +# Red Hat and CentOS +%if 0%{?rhel} == 7 +BuildRequires: libpcap kernel-headers python36-polib python36-lxml +%endif + +%if 0%{?rhel} == 8 +BuildRequires: libpcap kernel-headers python3-polib python3-lxml +%endif + +# openSUSE Leap 15.x, SLES12, SLES15 +%if 0%{?suse_version} +BuildRequires: libcap-progs linux-glibc-devel systemd-rpm-macros python3-polib python3-lxml +%endif + +Requires: collaboraoffice collaboraoffice-ure collaboraofficebasis-core collaboraofficebasis-writer collaboraofficebasis-impress collaboraofficebasis-graphicfilter collaboraofficebasis-en-US collaboraofficebasis-calc collaboraofficebasis-ooofonts collaboraofficebasis-images collaboraofficebasis-draw collaboraofficebasis-extension-pdf-import collaboraofficebasis-ooolinguistic collaboraofficebasis-math +Requires(post): coreutils grep sed cpio +%if 0%{?rhel} +# coolwsd dependencies +Requires: systemd expat keyutils-libs krb5-libs libattr libcap libcom_err libgcc libpng libselinux openssh-clients openssl-libs pcre xz-libs zlib +# Collabora Office dependencies (unfortunately Collabora Office RPM packages do not have real dependencies) +Requires: expat fontconfig freetype libuuid bzip2-libs +%endif + +%if 0%{?suse_version} +# coolwsd dependencies +Requires(post): libcap-progs +Requires: systemd libopenssl1_0_0 libpcre1 libz1 libcap2 libpng12-0 %{fillup_prereq} +# Collabora Office dependencies (unfortunately Collabora Office RPM packages do not have real dependencies) +# cd /opt/collaboraoffice/program ; for i in soffice.bin *.so ;do ldd $i | grep '=>' | sed -e "s/^.*=> //" -e "s/ [(].*$//"; done | sort | uniq | xargs rpm -qf --qf="%{NAME}\n" | sort | uniq | grep -v collaboraoffice +Requires: fontconfig libbz2-1 libexpat1 libfreetype6 libpng16-16 libuuid1 openssh +%endif + +Provides: loolwsd +Obsoletes: loolwsd + +%description + +%if 0%{?suse_version} +%debug_package +%endif +%prep +%setup -n coolwsd-@PACKAGE_VERSION@ + +%build +%configure \ + --enable-silent-rules \ + --with-lokit-path=bundled/include \ + --with-lo-path=/opt/collaboraoffice \ + --disable-setcap \ +%if 0%{?config_options:1} + %{config_options} +%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} +install -d -m 755 %{buildroot}/var/adm/fillup-templates +%if 0%{?rhel} +install -D -m 444 coolwsd.service %{buildroot}%{_unitdir}/coolwsd.service +# systemd in RHEL 7 does not understand these options +%if 0%{?rhel} <= 7 +sed -i "/^ReadWritePaths/d;/^ProtectControlGroups/d;/^ProtectSystem/d" %{buildroot}%{_unitdir}/coolwsd.service +%endif +install -D -m 644 sysconfig.coolwsd %{buildroot}/etc/sysconfig/coolwsd +install -d -m 755 %{buildroot}/etc/httpd/conf +install -D -m 755 etc/apache2/coolwsd.conf %{buildroot}/etc/httpd/conf +rm %{buildroot}/etc/apache2/conf-available/coolwsd.conf +%endif +%if 0%{?suse_version} +install -D -m 444 coolwsd.service %{buildroot}%{_unitdir}/coolwsd.service +install -D -m 644 sysconfig.coolwsd %{buildroot}/var/adm/fillup-templates +%endif +mkdir -p %{buildroot}/etc/pam.d +echo "auth required pam_unix.so" > %{buildroot}/etc/pam.d/coolwsd +echo "account required pam_unix.so" >> %{buildroot}/etc/pam.d/coolwsd + +%files +%defattr(-,root,root,-) +/usr/bin/coolwsd +/usr/bin/coolwsd-systemplate-setup +/usr/bin/coolwsd-generate-proof-key +/usr/bin/coolforkit +/usr/bin/coolconvert +/usr/bin/coolconfig +/usr/bin/coolconfig +/usr/bin/coolmount +/usr/share/coolwsd/discovery.xml +/usr/share/coolwsd/favicon.ico +/usr/share/coolwsd/browser +/usr/share/doc/coolwsd/README +/usr/share/doc/coolwsd/README.vars +/usr/share/doc/coolwsd/metrics.txt +/usr/share/doc/coolwsd/protocol.txt +/usr/share/doc/coolwsd/reference.md +/usr/share/man/man1/coolwsd.1.gz +/usr/share/man/man1/coolforkit.1.gz +/usr/share/man/man1/coolconvert.1.gz +/usr/share/man/man1/coolconfig.1.gz +/usr/share/man/man1/coolwsd-systemplate-setup.1.gz +/usr/share/man/man1/coolwsd-generate-proof-key.1.gz +/usr/share/man/man1/coolmount.1.gz +%{_unitdir}/coolwsd.service +%if 0%{?rhel} +%config(noreplace) /etc/sysconfig/coolwsd +%endif +%if 0%{?suse_version} +/var/adm/fillup-templates/sysconfig.coolwsd +%endif + +%config(noreplace) /etc/pam.d/coolwsd +%config(noreplace) %attr(640, cool, root) /etc/coolwsd/coolwsd.xml +%config /etc/coolwsd/coolkitconfig.xcu +%config(noreplace) /etc/nginx/snippets/coolwsd.conf +%if 0%{?suse_version} > 0 +%config(noreplace) /etc/apache2/conf-available/coolwsd.conf +%endif +%if 0%{?rhel} > 0 +%config(noreplace) /etc/httpd/conf/coolwsd.conf +%endif + +%doc README.md + +%pre +%if 0%{?suse_version} +%service_add_pre coolwsd.service +%endif + +getent group cool >/dev/null || groupadd -r cool +getent passwd cool >/dev/null || useradd -g cool -r cool -d /opt/cool -s /bin/bash + +# for filename in `find /opt/cool/systemplate -type f`;do stripped=$(echo -ne $filename | sed -e "s|/opt/cool/systemplate||");rpm -qf --qf="%{NAME}\n" $stripped;done | grep -v devel | grep -v 32bit | grep -v -- -fonts | sort | uniq +%triggerin -- expat fontconfig freetype freetype2 glibc glibc-locale kernel keyutils-libs krb5 krb5-libs libbz2-1 libcap libcap-ng libcap2 libexpat1 libfreetype6 libgcc libgcc_s1 libgcrypt libiscsi libpng libpng12 libpng12-0 libpng15-15 libpng16-16 libstdc++ libstdc++6 libuuid libuuid1 libz1 lsb nss-mdns nss-softokn-freebl pcre sssd sssd-client systemd-libs timezone tzdata zlib + +echo -ne "Triggered update of coolwsd systemplate..." + +%if 0%{?rhel} >= 7 || 0%{?suse_version} >= 1300 +systemctl is-active -q coolwsd && COOLWSD_IS_ACTIVE=1 || COOLWSD_IS_ACTIVE=0 +if [ $COOLWSD_IS_ACTIVE == "1" ]; then systemctl stop coolwsd; fi +%endif + +# Figure out where LO is installed, let's hope it is not a mount point +# Create a directory for coolwsd on the same file system +loroot=/opt/collaboraoffice +coolparent=`cd ${loroot} && cd .. && /bin/pwd` + +rm -rf ${coolparent}/cool +mkdir -p ${coolparent}/cool/child-roots +chown cool:cool ${coolparent}/cool +chown cool:cool ${coolparent}/cool/child-roots + +fc-cache ${loroot}/share/fonts/truetype +coolwsd-systemplate-setup ${coolparent}/cool/systemplate ${loroot} >/dev/null 2>&1 +coolwsd-generate-proof-key >/dev/null 2>&1 + +%if 0%{?rhel} || 0%{?suse_version} +if [ $COOLWSD_IS_ACTIVE == "1" ]; then systemctl start coolwsd; fi +%endif + +echo " Done." + +%post +setcap cap_fowner,cap_chown,cap_mknod,cap_sys_chroot=ep /usr/bin/coolforkit +setcap cap_sys_admin=ep /usr/bin/coolmount + +%if 0%{?rhel} >= 7 +%systemd_post coolwsd.service +%else +%if 0%{?suse_version} +%service_add_post coolwsd.service +%{fillup_only -n coolwsd} +%endif +%endif + + +%preun +%if 0%{?rhel} >= 7 +%systemd_preun coolwsd.service +%else +%if 0%{?suse_version} +%service_del_preun coolwsd.service +%endif +%endif + +%postun +%if 0%{?rhel} >= 7 +%systemd_postun coolwsd.service +%else +%if 0%{?suse_version} +%service_del_postun coolwsd.service +%endif +%endif + +%changelog +* Mon Aug 03 2015 Mihai Varga +- added the cronjob +* Tue May 19 2015 Tor Lillqvist +- Initial RPM release |