configure.ac                                     |    2 
 debian/changelog                                 |   46 +++++---
 debian/control                                   |   18 ++-
 debian/rules                                     |    4 
 loleaflet/images/lc_submenu_bringtofront.svg     |    1 
 loleaflet/images/lc_submenu_rotateright.svg      |    1 
 loleaflet/images/lc_submenu_setanchoratchar.svg  |   53 +++++++++
 loleaflet/images/lc_submenu_wrapoff.svg          |   12 ++
 loleaflet/src/control/Control.JSDialogBuilder.js |   12 ++
 loolwsd.spec.in                                  |  123 ++++++++++++++---------
 10 files changed, 204 insertions(+), 68 deletions(-)

New commits:
commit b0097c8ab45a1b70c54f3a693fb4d3a5c454a7ab
Author:     Pedro Pinto Silva <pedro.si...@collabora.com>
AuthorDate: Thu Mar 19 15:35:24 2020 +0100
Commit:     Andras Timar <andras.ti...@collabora.com>
CommitDate: Thu Mar 19 16:37:56 2020 +0100

    Mobile: mobile wizard: improve aditional ids by making them dependent ...
    
    of their respective children uno commands and add icons
    
    Change-Id: Iae1fb597272a684539700ed0732cfd19d43724f6
    Reviewed-on: https://gerrit.libreoffice.org/c/online/+/90755
    Tested-by: Tamás Zolnai <tamas.zol...@collabora.com>
    Reviewed-by: Tamás Zolnai <tamas.zol...@collabora.com>

diff --git a/loleaflet/images/lc_submenu_bringtofront.svg 
b/loleaflet/images/lc_submenu_bringtofront.svg
new file mode 100644
index 000000000..7caa5b828
--- /dev/null
+++ b/loleaflet/images/lc_submenu_bringtofront.svg
@@ -0,0 +1 @@
+<svg viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg";><path 
d="m2.9492188 14c-.5263 0-.9492188.422919-.9492188.949219v6.101562c0 
.5263.4229188.949219.9492188.949219h8.1015622c.5263 0 
.949219-.422919.949219-.949219v-2.050781h-1v2h-8v-6h1v-1z" 
fill="#808080"/><path d="m3 15v6h8v-2h-6c-.554 0-1-.446-1-1v-3z" 
fill="#fff"/><path d="m12.949219 2c-.5263 
0-.949219.4229187-.949219.9492188v2.0507812h1v-2h8v6h-1v1h1.050781c.5263 0 
.949219-.4229188.949219-.9492188v-6.1015624c0-.5263-.422919-.9492188-.949219-.9492188z"
 fill="#808080"/><path d="m13 3v2h6c.554 0 1 .446 1 1v3h1v-6z" 
fill="#fff"/><rect fill="#eac282" height="12" ry="1.254237" width="14" x="5" 
y="6"/></svg>
\ No newline at end of file
diff --git a/loleaflet/images/lc_submenu_rotateright.svg 
b/loleaflet/images/lc_submenu_rotateright.svg
new file mode 100644
index 000000000..40e86d9b3
--- /dev/null
+++ b/loleaflet/images/lc_submenu_rotateright.svg
@@ -0,0 +1 @@
+<svg viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg";><g 
transform="matrix(-1 0 0 1 23.999864 0)"><path d="m1.499971 
21.5h7.000029v-15.0000002z" fill="#4d82b8" fill-rule="evenodd" stroke="#4d82b8" 
stroke-linecap="round" stroke-linejoin="round"/><path d="m10.5 
14.5v7.000008h11.999999z" fill="#fff" fill-rule="evenodd" stroke="#808080" 
stroke-linecap="round" stroke-linejoin="round"/><g transform="matrix(0 -1 -1 0 
30.992857 27)"><path d="m21.5 16.5-2.995 2.992879-3.005-2.992879" fill="none" 
stroke="#4d82b8" stroke-linecap="round" stroke-linejoin="round"/><path d="m13.5 
11.007943c-.276142 0-.5.223858-.5.5s.223858.5.5.5h2c1.380712 0 2.5 1.119287 2.5 
2.5h.0059v.423829 
4.068228h1v-4.068228-.5c-.0059-2.154663-1.88341-3.373799-3.5059-3.423829z" 
fill="#4d82b8" fill-rule="evenodd"/></g></g></svg>
\ No newline at end of file
diff --git a/loleaflet/images/lc_submenu_setanchoratchar.svg 
b/loleaflet/images/lc_submenu_setanchoratchar.svg
new file mode 100644
index 000000000..94262ca3d
--- /dev/null
+++ b/loleaflet/images/lc_submenu_setanchoratchar.svg
@@ -0,0 +1,53 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/";
+   xmlns:cc="http://creativecommons.org/ns#";
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#";
+   xmlns:svg="http://www.w3.org/2000/svg";
+   xmlns="http://www.w3.org/2000/svg";
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd";
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape";
+   viewBox="0 0 24 24"
+   version="1.1"
+   id="svg4"
+   sodipodi:docname="lc_submenu_setanchoratchar.svg"
+   inkscape:version="0.92.4 (unknown)">
+  <metadata
+     id="metadata10">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage"; />
+        <dc:title></dc:title>
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <defs
+     id="defs8" />
+  <sodipodi:namedview
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1"
+     objecttolerance="10"
+     gridtolerance="10"
+     guidetolerance="10"
+     inkscape:pageopacity="0"
+     inkscape:pageshadow="2"
+     inkscape:window-width="748"
+     inkscape:window-height="480"
+     id="namedview6"
+     showgrid="false"
+     inkscape:zoom="9.8333333"
+     inkscape:cx="12"
+     inkscape:cy="12"
+     inkscape:window-x="0"
+     inkscape:window-y="30"
+     inkscape:window-maximized="0"
+     inkscape:current-layer="svg4" />
+  <path
+     d="m12 2a3 3 0 0 0 -3 3 3 3 0 0 0 2 2.8261719v1.1738281h-2c-.554 0-1 
.446-1 1s .446 1 1 
1h2v8.929688c-1.7029249-.217027-3.2936626-.97202-4.5332031-2.164063l1.0625-.744141a.9842562
 1.0907768 0 0 0 -.5195313-2.021484.9842562 1.0907768 0 0 0 
-.53125.177734l-3.9980468 2.792969a.9842562 1.0907768 0 1 0 1.0507812 
1.845703l1.2773438-.892578c1.8749123 1.949387 4.4631707 3.074058 7.1914062 
3.076172 2.728857-.001543 5.317991-1.126379 
7.193359-3.076172l1.275391.892578a.98425669 1.0907768 0 1 0 
1.050781-1.845703l-3.998047-2.792969a.98425669 1.0907768 0 0 0 
-.53125-.177734.98425669 1.0907768 0 0 0 -.519531 
2.021484l1.068359.748047c-1.24124 1.192002-2.8347 1.946875-4.539062 
2.16211v-8.931641h2c .554 0 1-.446 1-1s-.446-1-1-1h-2v-1.1757812a3 3 0 0 0 
2-2.8242188 3 3 0 0 0 -3-3zm0 2a1 1 0 0 1 1 1 1 1 0 0 1 -1 1 1 1 0 0 1 -1-1 1 1 
0 0 1 1-1z"
+     fill="#4d82b8"
+     id="path2" />
+</svg>
diff --git a/loleaflet/images/lc_submenu_wrapoff.svg 
b/loleaflet/images/lc_submenu_wrapoff.svg
new file mode 100644
index 000000000..b34b507e0
--- /dev/null
+++ b/loleaflet/images/lc_submenu_wrapoff.svg
@@ -0,0 +1,12 @@
+<svg version="1.1" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg";>
+ <rect x="2" y="3" width="20" height="1" ry=".44607" fill="#808080"/>
+ <g fill="#808080">
+  <rect x="2" y="6" width="20" height="1" ry=".44607"/>
+  <rect x="2" y="21" width="20" height="1" ry=".44607"/>
+  <rect x="2" y="12" width="20" height="1" ry=".44607"/>
+  <rect x="2" y="18" width="20" height="1" ry=".44607"/>
+  <rect x="2" y="9" width="20" height="1" ry=".44607"/>
+  <rect x="2" y="15" width="20" height="1" ry=".44607"/>
+ </g>
+ <rect x="7" y="8" width="10" height="9" ry="1" fill="#4d82b8"/>
+</svg>
diff --git a/loleaflet/src/control/Control.JSDialogBuilder.js 
b/loleaflet/src/control/Control.JSDialogBuilder.js
index f9f536a8e..125dbae90 100644
--- a/loleaflet/src/control/Control.JSDialogBuilder.js
+++ b/loleaflet/src/control/Control.JSDialogBuilder.js
@@ -1660,8 +1660,10 @@ L.Control.JSDialogBuilder = L.Control.extend({
 
 L.Control.JSDialogBuilder.generateIDForSubMenu = function(menuStructure) {
        for (var child = 0; child < menuStructure['children'].length; ++child) {
-               if (menuStructure['children'][child]['command'] === 
'.uno:SetAnchorAtChar') {
-                       menuStructure['id'] = 'submenu_anchor';
+               if (menuStructure['children'][child]['command'] === 
'.uno:SetAnchorAtChar' || menuStructure['children'][child]['command'] === 
'.uno:WrapOff' || menuStructure['children'][child]['command'] === 
'.uno:BringToFront' || menuStructure['children'][child]['command'] === 
'.uno:RotateRight') {
+                       var tempstring = 
menuStructure['children'][child]['command'];
+                       tempstring = tempstring.substring(5);
+                       menuStructure['id'] = 'submenu_' + 
tempstring.toLowerCase();
                        break;
                }
        }
commit 3b1d7123149058e577c99e2a3c8b68563ac96e5c
Author:     Tamás Zolnai <tamas.zol...@collabora.com>
AuthorDate: Thu Mar 19 14:35:20 2020 +0100
Commit:     Andras Timar <andras.ti...@collabora.com>
CommitDate: Thu Mar 19 16:37:35 2020 +0100

    mobile: better way to generate ID for submenus.
    
    We don't have any other information for the submenu
    only it's text and it's children, so let's use
    the children's command to find out what submenu we have
    here.
    
    Change-Id: I188186142fc1dbe483fcce5b5456e0cb1524382e
    Reviewed-on: https://gerrit.libreoffice.org/c/online/+/90750
    Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoff...@gmail.com>
    Reviewed-by: Tamás Zolnai <tamas.zol...@collabora.com>

diff --git a/loleaflet/src/control/Control.JSDialogBuilder.js 
b/loleaflet/src/control/Control.JSDialogBuilder.js
index e6c8f5eeb..f9f536a8e 100644
--- a/loleaflet/src/control/Control.JSDialogBuilder.js
+++ b/loleaflet/src/control/Control.JSDialogBuilder.js
@@ -1659,8 +1659,12 @@ L.Control.JSDialogBuilder = L.Control.extend({
 });
 
 L.Control.JSDialogBuilder.generateIDForSubMenu = function(menuStructure) {
-       if (menuStructure['text'] === 'Anchor')
-               menuStructure['id'] = 'submenu_anchor';
+       for (var child = 0; child < menuStructure['children'].length; ++child) {
+               if (menuStructure['children'][child]['command'] === 
'.uno:SetAnchorAtChar') {
+                       menuStructure['id'] = 'submenu_anchor';
+                       break;
+               }
+       }
 };
 
 L.Control.JSDialogBuilder.getMenuStructureForMobileWizard = function(menu, 
mainMenu, itemCommand) {
@@ -1711,8 +1715,8 @@ L.Control.JSDialogBuilder.getMenuStructureForMobileWizard 
= function(menu, mainM
                        element = 
this.getMenuStructureForMobileWizard(menu.items[menuItem], false, menuItem);
                        if (element)
                                menuStructure['children'].push(element);
-                       this.generateIDForSubMenu(menuStructure);
                }
+               this.generateIDForSubMenu(menuStructure);
        }
 
        return menuStructure;
commit 0d531cc0b5fb14509c4e3d0684fd082f93808b44
Author:     Tamás Zolnai <tamas.zol...@collabora.com>
AuthorDate: Thu Mar 19 11:23:18 2020 +0100
Commit:     Andras Timar <andras.ti...@collabora.com>
CommitDate: Thu Mar 19 16:37:23 2020 +0100

    mobile: add a method to generate ID for submenus.
    
    Change-Id: I45c2865573eb6b9d070fc6c36f4f1369e2ac3172
    Reviewed-on: https://gerrit.libreoffice.org/c/online/+/90739
    Tested-by: Tamás Zolnai <tamas.zol...@collabora.com>
    Reviewed-by: Tamás Zolnai <tamas.zol...@collabora.com>

diff --git a/loleaflet/src/control/Control.JSDialogBuilder.js 
b/loleaflet/src/control/Control.JSDialogBuilder.js
index f0171fb41..e6c8f5eeb 100644
--- a/loleaflet/src/control/Control.JSDialogBuilder.js
+++ b/loleaflet/src/control/Control.JSDialogBuilder.js
@@ -1658,6 +1658,11 @@ L.Control.JSDialogBuilder = L.Control.extend({
        }
 });
 
+L.Control.JSDialogBuilder.generateIDForSubMenu = function(menuStructure) {
+       if (menuStructure['text'] === 'Anchor')
+               menuStructure['id'] = 'submenu_anchor';
+};
+
 L.Control.JSDialogBuilder.getMenuStructureForMobileWizard = function(menu, 
mainMenu, itemCommand) {
        if (itemCommand.includes('sep'))
                return null;
@@ -1706,6 +1711,7 @@ L.Control.JSDialogBuilder.getMenuStructureForMobileWizard 
= function(menu, mainM
                        element = 
this.getMenuStructureForMobileWizard(menu.items[menuItem], false, menuItem);
                        if (element)
                                menuStructure['children'].push(element);
+                       this.generateIDForSubMenu(menuStructure);
                }
        }
 
commit 4f59ad57f11ad2cfb2f4d89c4f946f7b791139cb
Author:     Andras Timar <andras.ti...@collabora.com>
AuthorDate: Mon Dec 9 18:09:48 2019 +0100
Commit:     Andras Timar <andras.ti...@collabora.com>
CommitDate: Thu Mar 19 16:35:51 2020 +0100

    Bump package version to 4.2.1-1 and update deb/rpm package files
    
    Change-Id: I935425f644f373acdd4bf8d073ec8be3f29313b8

diff --git a/configure.ac b/configure.ac
index efd54b872..0160a587e 100644
--- a/configure.ac
+++ b/configure.ac
@@ -3,7 +3,7 @@
 
 AC_PREREQ([2.63])
 
-AC_INIT([loolwsd], [master], [libreoffice@lists.freedesktop.org])
+AC_INIT([loolwsd], [4.2.1], [libreoffice@lists.freedesktop.org])
 LT_INIT([shared, disable-static, dlopen])
 
 AM_INIT_AUTOMAKE([1.10 subdir-objects tar-pax -Wno-portability])
diff --git a/debian/changelog b/debian/changelog
index 56cbc5563..81c2ad6c6 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,25 +1,41 @@
-loolwsd (1.8.2-1) unstable; urgency=medium
+loolwsd (4.2.1-1) unstable; urgency=medium
 
-  * Fix crash in Impress.
+  * https://cgit.freedesktop.org/libreoffice/online/log/?h=CODE-4.2.1-1
 
- -- Jan Holesovsky <ke...@collabora.com>  Thu, 11 Aug 2016 16:46:00 +0100
+ -- Andras Timar <andras.ti...@collabora.com>  Thu, 19 Mar 2020 12:53:00 +0100
 
-loolwsd (1.8.0-1) unstable; urgency=medium
+loolwsd (4.2.0-6) unstable; urgency=medium
 
-  [ Tor Lillqvist ]
-  * Back to packaging this for Debian.
+  * https://cgit.freedesktop.org/libreoffice/online/log/?h=CODE-4.2.0-6
 
-  [ Jan Holesovsky ]
-  * Update to match Collabora Office 5.1
+ -- Andras Timar <andras.ti...@collabora.com>  Wed, 04 Mar 2020 11:26:00 +0100
 
- -- Jan Holesovsky <ke...@collabora.com>  Fri, 05 Aug 2016 16:51:54 +0100
+loolwsd (4.2.0-5) unstable; urgency=medium
 
-loolwsd (1.0.0-1) unstable; urgency=low
+  * https://cgit.freedesktop.org/libreoffice/online/log/?h=CODE-4.2.0-5
 
-  * Initial release
+ -- Andras Timar <andras.ti...@collabora.com>  Tue, 25 Feb 2020 11:58:00 +0100
 
-  * Local Variables:
-  * Mode: fundamental
-  * End:
+loolwsd (4.2.0-4) unstable; urgency=medium
 
- -- Tor Lillqvist <t...@collabora.com>  Fri, 15 May 2015 11:10:20 +0300
+  * https://cgit.freedesktop.org/libreoffice/online/log/?h=CODE-4.2.0-4
+
+ -- Andras Timar <andras.ti...@collabora.com>  Tue, 28 Jan 2020 18:58:00 +0100
+
+loolwsd (4.2.0-3) unstable; urgency=medium
+
+  * https://cgit.freedesktop.org/libreoffice/online/log/?h=CODE-4.2.0-3
+
+ -- Andras Timar <andras.ti...@collabora.com>  Thu, 09 Jan 2020 22:12:00 +0100
+
+loolwsd (4.2.0-2) unstable; urgency=medium
+
+  * https://cgit.freedesktop.org/libreoffice/online/log/?h=CODE-4.2.0-2
+
+ -- Andras Timar <andras.ti...@collabora.com>  Fri, 20 Dec 2019 13:27:00 +0100
+
+loolwsd (4.2.0-1) unstable; urgency=medium
+
+  * https://cgit.freedesktop.org/libreoffice/online/log/?h=CODE-4.2.0-1
+
+ -- Andras Timar <andras.ti...@collabora.com>  Tue, 10 Dec 2019 20:47:00 +0100
diff --git a/debian/control b/debian/control
index 532367872..5184feb1d 100644
--- a/debian/control
+++ b/debian/control
@@ -2,13 +2,27 @@ Source: loolwsd
 Section: web
 Priority: optional
 Maintainer: Andras Timar <andras.ti...@collabora.com>
-Build-Depends: debhelper (>= 9), dh-systemd (>= 1.3), libcap-dev, libcap2-bin, 
libpcre3-dev, libpng-dev, libpoco-dev (>= 1.7.5), linux-libc-dev, nodejs, 
python-polib, python-lxml, python3-polib, python3-lxml, fontconfig, libpam-dev, 
libcppunit-dev, pkg-config, devscripts, m4
+Build-Depends: debhelper (>= 9), dh-systemd (>= 1.3), libcap-dev, libcap2-bin, 
libpcre3-dev, libpng-dev, linux-libc-dev, nodejs, python3-polib, python3-lxml, 
fontconfig, libpam-dev, libcppunit-dev, pkg-config, devscripts, m4
 Standards-Version: 3.9.7
 
 Package: loolwsd
 Section: web
 Architecture: any
-Depends: ${shlibs:Depends}, ${misc:Depends}, adduser, fontconfig, libsm6, 
libssl1.0.0, libodbc1, libxinerama1, libxrender1, libcairo2, libgl1-mesa-glx, 
libcups2, libdbus-glib-1-2, cpio, libcap2-bin, ${lo:Depends}
+Depends: ${shlibs:Depends}, ${misc:Depends},
+ locales-all, adduser, expat, fontconfig, cpio, libcap2-bin,
+ collaboraofficebasis6.2-calc,
+ collaboraofficebasis6.2-core,
+ collaboraofficebasis6.2-graphicfilter,
+ collaboraofficebasis6.2-images,
+ collaboraofficebasis6.2-impress,
+ collaboraofficebasis6.2-ooofonts,
+ collaboraofficebasis6.2-writer,
+ collaboraoffice6.2,
+ collaboraoffice6.2-ure,
+ collaboraofficebasis6.2-en-us,
+ collaboraofficebasis6.2-draw,
+ collaboraofficebasis6.2-extension-pdf-import,
+ collaboraofficebasis6.2-ooolinguistic
 Description: LibreOffice Online WebSocket Daemon
  LOOLWSD is a daemon that talks to web browser clients and provides LibreOffice
  services.
diff --git a/debian/rules b/debian/rules
index d675675c0..feb980c95 100644
--- a/debian/rules
+++ b/debian/rules
@@ -19,7 +19,3 @@ override_dh_auto_test:
 
 override_dh_installinit:
        # no init.d scripts here, assume systemd
-
-override_dh_gencontrol:
-       # put package names of LibreOffice here
-       # dh_gencontrol -- -Vlo:Depends=""
diff --git a/loolwsd.spec.in b/loolwsd.spec.in
index d78760e82..40de72f8b 100644
--- a/loolwsd.spec.in
+++ b/loolwsd.spec.in
@@ -17,34 +17,40 @@ Vendor:         %{vendor}
 Summary:        LibreOffice Online WebSocket Daemon
 License:        MPL
 Source0:        loolwsd-@package_vers...@.tar.gz
-BuildRequires:  libcap-devel libpng-devel poco-devel >= 1.7.5 m4
-%if 0%{?fedora} || 0%{?rhel} >= 7
-BuildRequires:  libpcap kernel-headers
-%else
-%if 0%{?suse_version}
-BuildRequires:  libcap-progs linux-glibc-devel systemd-rpm-macros
+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:       %{lo_rpm_list}
-Requires:       systemd
+Requires:       collaboraoffice6.2 collaboraoffice6.2-ure 
collaboraofficebasis6.2-core collaboraofficebasis6.2-writer 
collaboraofficebasis6.2-impress collaboraofficebasis6.2-graphicfilter 
collaboraofficebasis6.2-en-US collaboraofficebasis6.2-calc 
collaboraofficebasis6.2-ooofonts collaboraofficebasis6.2-images 
collaboraofficebasis6.2-draw collaboraofficebasis6.2-extension-pdf-import 
collaboraofficebasis6.2-ooolinguistic
 Requires(post): coreutils grep sed
-%if 0%{?fedora} || 0%{?rhel} >= 7
+%if 0%{?rhel}
 # loolwsd dependencies
-Requires:       expat keyutils-libs krb5-libs libattr libcap libcom_err libgcc 
libpng libselinux openssl-libs pcre xz-libs zlib
-Requires:       poco-crypto >= 1.7.5 poco-foundation >= 1.7.5 poco-json >= 
1.7.5 poco-net >= 1.7.5 poco-netssl >= 1.7.5 poco-util >= 1.7.5 poco-xml >= 
1.7.5
-# LibreOffice dependencies (unfortunately upstream LibreOffice RPM packages 
(from TDF) do not have real dependencies)
-Requires:       atk avahi-glib avahi-libs bzip2-libs cairo cups-libs dbus-glib 
dbus-libs fontconfig freetype GConf2 gdk-pixbuf2 glib2 gnome-vfs2 graphite2 
gstreamer gstreamer-plugins-base gtk2 harfbuzz libdrm libffi libICE libSM 
libuuid libX11 libXau libxcb libXcomposite libXcursor libXdamage libXext 
libXfixes libXi libXinerama libXrandr libXrender libxshmfence libXt libXxf86vm 
mesa-libEGL mesa-libgbm mesa-libGL mesa-libglapi pango pixman
-%else
+Requires:       systemd expat keyutils-libs krb5-libs libattr libcap 
libcom_err libgcc libpng libselinux 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}
 # loolwsd dependencies
 Requires(post): libcap-progs
-Requires:       libcap2 libopenssl1_0_0 libpng12-0 libpcre1 libz1 
%{?systemd_requires} %{fillup_prereq}
-Requires:       libPocoCrypto48 >= 1.7.8 libPocoFoundation48 >= 1.7.8 
libPocoJSON48 >= 1.7.8 libPocoNet48 >= 1.7.8 libPocoNetSSL48 >= 1.7.8 
libPocoUtil48 >= 1.7.8 libPocoXML48 >= 1.7.8
-# LibreOffice dependencies (unfortunately upstream LibreOffice RPM packages 
(from TDF) do not have real dependencies)
-Requires:       Mesa-libEGL1 Mesa-libGL1 Mesa-libglapi0 cups-libs dbus-1-glib 
fontconfig libatk-1_0-0 libavahi-client3 libavahi-common3 libavahi-glib1 
libbz2-1 libcairo2 libcom_err2 libdbus-1-3 libdrm2 libexpat1 libfreetype6 
libgbm1 libgio-2_0-0 libglib-2_0-0 libgmodule-2_0-0 libgobject-2_0-0 
libgraphite2-3 libgthread-2_0-0 libgtk-2_0-0 libharfbuzz0 libkeyutils1 liblzma5 
libpixman-1-0 libpng16-16 libuuid1 libxml2 libffi4 libgbm1 libICE6 libselinux1 
libSM6 libwayland-client0 libwayland-server0 libX11-6 libX11-xcb1 libXau6 
libxcb1 libxcb-dri2-0 libxcb-dri3-0 libxcb-glx0 libxcb-present0 libxcb-render0 
libxcb-shm0 libxcb-sync1 libxcb-xfixes0 libXdamage1 libXext6 libXfixes3 
libXrender1 libxshmfence1 libXxf86vm1
-%endif
+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/collaboraoffice6.2/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
 %endif
+
 %if 0%{?name_suffix:1}
 Provides:       loleaflet = 1.5.8, loolwsd
 %else
@@ -64,28 +70,31 @@ Obsoletes:      loleaflet <= 1.5.8
 %configure \
        --enable-silent-rules \
        --with-lokit-path=bundled/include \
-       --with-lo-path=%{loroot} \
+       --with-lo-path=/opt/collaboraoffice6.2 \
        --disable-setcap \
 %if 0%{?config_options:1}
        %{config_options}
 %endif
 
-make %{?_smp_mflags}
+env BUILDING_FROM_RPMBUILD=yes make %{?_smp_mflags}
 
 %check
-#make check
+#env BUILDING_FROM_RPMBUILD=yes make check
 
 %install
-make install DESTDIR=%{buildroot}
-%__install -D -m 444 loolwsd.service %{buildroot}%{_unitdir}/loolwsd.service
+env BUILDING_FROM_RPMBUILD=yes make install DESTDIR=%{buildroot}
 install -d -m 755 %{buildroot}/var/adm/fillup-templates
-%if 0%{?fedora} || 0%{?rhel} >= 7
+%if 0%{?rhel}
+install -D -m 444 loolwsd.service %{buildroot}%{_unitdir}/loolwsd.service
 install -D -m 644 sysconfig.loolwsd %{buildroot}/etc/sysconfig/loolwsd
-%else
+install -d -m 755 %{buildroot}/etc/httpd/conf
+install -D -m 755 etc/apache2/loolwsd.conf %{buildroot}/etc/httpd/conf
+rm %{buildroot}/etc/apache2/conf-available/loolwsd.conf
+%endif
 %if 0%{?suse_version}
+install -D -m 444 loolwsd.service %{buildroot}%{_unitdir}/loolwsd.service
 install -D -m 644 sysconfig.loolwsd %{buildroot}/var/adm/fillup-templates
 %endif
-%endif
 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 -type f -a -atime +10 -exec rm 
{} \;" >> %{buildroot}/etc/cron.d/loolwsd.cron
@@ -94,6 +103,7 @@ echo "auth       required     pam_unix.so" > 
%{buildroot}/etc/pam.d/loolwsd
 echo "account    required     pam_unix.so" >>  %{buildroot}/etc/pam.d/loolwsd
 
 %files
+%defattr(-,root,root,-)
 /usr/bin/loolwsd
 /usr/bin/loolwsd-systemplate-setup
 /usr/bin/loolforkit
@@ -104,27 +114,33 @@ echo "account    required     pam_unix.so" >>  
%{buildroot}/etc/pam.d/loolwsd
 /usr/share/loolwsd/loleaflet
 /usr/share/doc/loolwsd/README
 /usr/share/doc/loolwsd/README.vars
+/usr/share/doc/loolwsd/metrics.txt
 /usr/share/doc/loolwsd/protocol.txt
 /usr/share/doc/loolwsd/reference.md
-/usr/share/doc/loolwsd/metrics.txt
-/usr/share/man/man1/loolwsd.1
-/usr/share/man/man1/loolforkit.1
-/usr/share/man/man1/loolconvert.1
-/usr/share/man/man1/loolconfig.1
-/usr/share/man/man1/loolwsd-systemplate-setup.1
+/usr/share/man/man1/loolwsd.1.gz
+/usr/share/man/man1/loolforkit.1.gz
+/usr/share/man/man1/loolconvert.1.gz
+/usr/share/man/man1/loolconfig.1.gz
+/usr/share/man/man1/loolwsd-systemplate-setup.1.gz
 %{_unitdir}/loolwsd.service
-%if 0%{?fedora} || 0%{?rhel} >= 7
+%if 0%{?rhel}
 %config(noreplace) /etc/sysconfig/loolwsd
-%else
+%endif
 %if 0%{?suse_version}
 /var/adm/fillup-templates/sysconfig.loolwsd
 %endif
-%endif
 
 %config(noreplace) /etc/cron.d/loolwsd.cron
 %config(noreplace) /etc/pam.d/loolwsd
 %config(noreplace) %attr(640, lool, root) /etc/loolwsd/loolwsd.xml
 %config /etc/loolwsd/loolkitconfig.xcu
+%config(noreplace) /etc/nginx/snippets/loolwsd.conf
+%if 0%{?suse_version} > 0
+%config(noreplace) /etc/apache2/conf-available/loolwsd.conf
+%endif
+%if 0%{?rhel} > 0
+%config(noreplace) /etc/httpd/conf/loolwsd.conf
+%endif
 
 %doc README
 
@@ -134,17 +150,21 @@ echo "account    required     pam_unix.so" >>  
%{buildroot}/etc/pam.d/loolwsd
 %endif
 
 getent group lool >/dev/null || groupadd -r lool
-getent passwd lool >/dev/null || useradd -g lool -r lool
+getent passwd lool >/dev/null || useradd -g lool -r lool -d /opt/lool -s 
/bin/bash
 
-%post
-setcap cap_fowner,cap_mknod,cap_sys_chroot=ep /usr/bin/loolforkit
+# for filename in `find /opt/lool/systemplate -type f`;do stripped=$(echo -ne 
$filename | sed -e "s|/opt/lool/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
 
-mkdir -p /var/cache/loolwsd && chown lool:lool /var/cache/loolwsd
-rm -rf /var/cache/loolwsd/*
+echo -ne "Triggered update of loolwsd systemplate..."
+
+%if 0%{?rhel} >= 7 || 0%{?suse_version} >= 1300
+systemctl is-active -q loolwsd && LOOLWSD_IS_ACTIVE=1 || LOOLWSD_IS_ACTIVE=0
+if [ $LOOLWSD_IS_ACTIVE == "1" ]; then systemctl stop loolwsd; fi
+%endif
 
 # 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=%{loroot}
+loroot=/opt/collaboraoffice6.2
 loolparent=`cd ${loroot} && cd .. && /bin/pwd`
 
 rm -rf ${loolparent}/lool
@@ -155,7 +175,19 @@ chown lool:lool ${loolparent}/lool/child-roots
 fc-cache ${loroot}/share/fonts/truetype
 loolwsd-systemplate-setup ${loolparent}/lool/systemplate ${loroot} >/dev/null 
2>&1
 
-%if 0%{?fedora} || 0%{?rhel} >= 7
+%if 0%{?rhel} || 0%{?suse_version}
+if [ $LOOLWSD_IS_ACTIVE == "1" ]; then systemctl start loolwsd; fi
+%endif
+
+echo "   Done."
+
+%post
+setcap cap_fowner,cap_mknod,cap_sys_chroot=ep /usr/bin/loolforkit
+
+mkdir -p /var/cache/loolwsd && chown lool:lool /var/cache/loolwsd
+rm -rf /var/cache/loolwsd/*
+
+%if 0%{?rhel} >= 7
 %systemd_post loolwsd.service
 %else
 %if 0%{?suse_version}
@@ -164,9 +196,8 @@ loolwsd-systemplate-setup ${loolparent}/lool/systemplate 
${loroot} >/dev/null 2>
 %endif
 %endif
 
-
 %preun
-%if 0%{?fedora} || 0%{?rhel} >= 7
+%if 0%{?rhel} >= 7
 %systemd_preun loolwsd.service
 %else
 %if 0%{?suse_version}
@@ -175,7 +206,7 @@ loolwsd-systemplate-setup ${loolparent}/lool/systemplate 
${loroot} >/dev/null 2>
 %endif
 
 %postun
-%if 0%{?fedora} || 0%{?rhel} >= 7
+%if 0%{?rhel} >= 7
 %systemd_postun loolwsd.service
 %else
 %if 0%{?suse_version}
_______________________________________________
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits

Reply via email to