From ed7c0937d2a66752345416f5055725f9bcd05615b7c9db0940184156fc3dcf68 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tom=C3=A1=C5=A1=20Chv=C3=A1tal?= Date: Tue, 17 Apr 2018 09:27:24 +0000 Subject: [PATCH 1/7] - Do not enable LTO on older codestreams, too old toolchain OBS-URL: https://build.opensuse.org/package/show/LibreOffice:Factory/libreoffice?expand=0&rev=646 --- libreoffice.changes | 5 +++++ libreoffice.spec | 16 ++++++++++++++-- 2 files changed, 19 insertions(+), 2 deletions(-) diff --git a/libreoffice.changes b/libreoffice.changes index f7a05b5..50bb9f2 100644 --- a/libreoffice.changes +++ b/libreoffice.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Tue Apr 17 09:26:37 UTC 2018 - tchvatal@suse.com + +- Do not enable LTO on older codestreams, too old toolchain + ------------------------------------------------------------------- Fri Apr 13 10:49:46 UTC 2018 - tchvatal@suse.com diff --git a/libreoffice.spec b/libreoffice.spec index d92dcd6..125f9bc 100644 --- a/libreoffice.spec +++ b/libreoffice.spec @@ -24,6 +24,12 @@ %define external_url http://dev-www.libreoffice.org/src/ %define tarball_url http://download.documentfoundation.org/libreoffice/src/6.0.3 #%define tarball_url http://dev-builds.libreoffice.org/pre-releases/src/ +# LTO needs newer toolchain stack only +%if 0%{?suse_version} >= 1500 +%bcond_without lto +%else +%bcond_with lto +%endif # Enable the kde integration on openSUSE only %if 0%{?is_opensuse} %bcond_without kdeintegration @@ -929,9 +935,13 @@ echo "HTML_TIMESTAMP = NO" >> odk/docs/idl/Doxyfile source %{_sysconfdir}/profile.d/alljava.sh # use RPM_OPT_FLAGS, ... # remove big debugsymbols as we simply consume too much space +%if %{with lto} ARCH_FLAGS="`echo %{optflags} -flifetime-dse=1 | sed -e 's/^-g /-g1 /g' -e 's/ -g / -g1 /g' -e 's/ -g$/ -g1/g'`" -CFLAGS="$ARCH_FLAGS -flifetime-dse=1" -CXXFLAGS="$ARCH_FLAGS -flifetime-dse=1" +%else +ARCH_FLAGS="`echo %{optflags} | sed -e 's/^-g /-g1 /g' -e 's/ -g / -g1 /g' -e 's/ -g$/ -g1/g'`" +%endif +CFLAGS="$ARCH_FLAGS" +CXXFLAGS="$ARCH_FLAGS" export ARCH_FLAGS CFLAGS CXXFLAGS # Colada does not have .pc file and configure creator was really lazy @@ -951,7 +961,9 @@ export NOCONFIGURE=yes %configure \ --with-parallelism=%{jobs} \ --enable-eot \ +%if %{with lto} --enable-lto \ +%endif --enable-mergelibs \ --docdir=%{_docdir}/%{name} \ --with-compat-oowrappers \ From 4e506639ef363e4642fa7de092a76c929e0c6550435604181953308546fbb716 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tom=C3=A1=C5=A1=20Chv=C3=A1tal?= Date: Fri, 20 Apr 2018 08:53:56 +0000 Subject: [PATCH 2/7] - Version update to 6.0.4.1: * Another bugfix update containing >60 bugfixes OBS-URL: https://build.opensuse.org/package/show/LibreOffice:Factory/libreoffice?expand=0&rev=647 --- libreoffice-6.0.3.2.tar.xz | 3 --- libreoffice-6.0.3.2.tar.xz.asc | 16 ---------------- libreoffice-6.0.4.1.tar.xz | 3 +++ libreoffice-6.0.4.1.tar.xz.asc | 16 ++++++++++++++++ libreoffice-help-6.0.3.2.tar.xz | 3 --- libreoffice-help-6.0.3.2.tar.xz.asc | 16 ---------------- libreoffice-help-6.0.4.1.tar.xz | 3 +++ libreoffice-help-6.0.4.1.tar.xz.asc | 16 ++++++++++++++++ libreoffice-translations-6.0.3.2.tar.xz | 3 --- libreoffice-translations-6.0.3.2.tar.xz.asc | 16 ---------------- libreoffice-translations-6.0.4.1.tar.xz | 3 +++ libreoffice-translations-6.0.4.1.tar.xz.asc | 16 ++++++++++++++++ libreoffice.changes | 6 ++++++ libreoffice.spec | 4 ++-- 14 files changed, 65 insertions(+), 59 deletions(-) delete mode 100644 libreoffice-6.0.3.2.tar.xz delete mode 100644 libreoffice-6.0.3.2.tar.xz.asc create mode 100644 libreoffice-6.0.4.1.tar.xz create mode 100644 libreoffice-6.0.4.1.tar.xz.asc delete mode 100644 libreoffice-help-6.0.3.2.tar.xz delete mode 100644 libreoffice-help-6.0.3.2.tar.xz.asc create mode 100644 libreoffice-help-6.0.4.1.tar.xz create mode 100644 libreoffice-help-6.0.4.1.tar.xz.asc delete mode 100644 libreoffice-translations-6.0.3.2.tar.xz delete mode 100644 libreoffice-translations-6.0.3.2.tar.xz.asc create mode 100644 libreoffice-translations-6.0.4.1.tar.xz create mode 100644 libreoffice-translations-6.0.4.1.tar.xz.asc diff --git a/libreoffice-6.0.3.2.tar.xz b/libreoffice-6.0.3.2.tar.xz deleted file mode 100644 index b8d152b..0000000 --- a/libreoffice-6.0.3.2.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:12b8a2f57d797ad51b7661e2302babfe73c0d23b52ddac9f4c7eb1b82472859b -size 203747760 diff --git a/libreoffice-6.0.3.2.tar.xz.asc b/libreoffice-6.0.3.2.tar.xz.asc deleted file mode 100644 index 9c7a775..0000000 --- a/libreoffice-6.0.3.2.tar.xz.asc +++ /dev/null @@ -1,16 +0,0 @@ ------BEGIN PGP SIGNATURE----- - -iQIcBAABAgAGBQJavQd9AAoJEPQ0oe+v7q6jPzoP+gJSoOVKHM8+6fvInqFZx/Qn -Gr3AvPP04etYNR/GQBQRRKeoqTZpoCxjk1gw9QgmNlO6YMphVktFXZdPTxSbT5bp -vTF/Pb9JGFpOwE0rYXR6fnF5GeLYFhc+Li5Ky/MiAq5jsDZBrvQNCrxlowYi6v3a -V+TBXb/CBlcl3BJ/fUDsSnWDH/yaPPF3zwqUP65DUCiXFu8vEQC2mXpBAUNQQFEx -NM6jOfndIWESYIu/6YmWNwtcWYCfhyzpuzCiW8eTtv/uByzyM4WMRqYRfqXGeqxT -dUr0JTy9sd/yL9HSZY/T11mGJ+t0G8FmeB5Db82OkPefZnSMQKg8eAyNuNsbMLfP -oUCgua+SsjqFApagxKu9+vhc24I9TivyYOL/a5PF3skGGS5lNvcjtfiavkc/GXOj -UgeAeznnasuIYrVh5yI6HKUyRmNkUbllz6pNq71OIXArMe+K5w0uQGBH2PJByioI -VjiRdPafKAv1fGto9a4b9icAhs5FZ25z3GxkgfOoBAgxCpAEWbLqj8+sOqS9rb99 -wjZuuaqWpwG8XUODNkkKlIMIxw880kySr6FwNM8Ug9to668juoNtcWERhJQDmy0V -H6MxasMN+B93+nv+0eQoLFwFKWD7Phevch1fqfTD/JYXGu6Wp/SNvlh40F3VEVrn -ZcvLwDjluD7VX5dpDi/J -=PHH2 ------END PGP SIGNATURE----- diff --git a/libreoffice-6.0.4.1.tar.xz b/libreoffice-6.0.4.1.tar.xz new file mode 100644 index 0000000..ac076a1 --- /dev/null +++ b/libreoffice-6.0.4.1.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fbf62884f3d3192fe8ad27690a172485322647c1011dcc09139b0ca254f1bc21 +size 204496172 diff --git a/libreoffice-6.0.4.1.tar.xz.asc b/libreoffice-6.0.4.1.tar.xz.asc new file mode 100644 index 0000000..6f5eb75 --- /dev/null +++ b/libreoffice-6.0.4.1.tar.xz.asc @@ -0,0 +1,16 @@ +-----BEGIN PGP SIGNATURE----- + +iQIcBAABAgAGBQJa1kxRAAoJEPQ0oe+v7q6jxGAP/2Li/qf8AVWbY84jaeSU01w+ +JwrFBnPUJDbv5VQcY7Z9Z9vcLfh1wgCF+gVyalcZ3aCPl0E/lL/LpYva7Twc68t6 +O0XlhIc6A7e455DlVv/vICWOjJQawWqUBPEuITabk/kkuXHFA7yyr2cwKXYgmTmc +5XVUgu7DHdSQVVRrXiXwzDrS1acKyqCeo+0Et6Ad4721Cy35afevI4+eT1HxSa81 +JOHtXa7/12luVhW1ecjmpNO9pRkDatKtn81ToVYOQP840OrBGhRsfOTISFBNduxY +QtEVtLJQxhSEV54ctkLi7ZXon9icivI/onoXIW7yMeFdlSbZ2+zLBm4biHPCor/P +2gloiyYY6muoefKkOziXrtpMFDDD2x8yESU5VbRHfwGvU+Tr8NAnvmG/TDhiPnvg +NQs15nUnn6ZG5D0mG6329kcnScgmbf3eb+xfxu1wiEhs+iXpK1hZKpJcyOmhrgKz +A+na22otnReBXezFo71O6+khgOTJ0uuFtfu9nspcf/O/MZLVzS1YkBFQQ328yUjm +OkP16kBh/rwVP0cXV99G8+CrlWdILGO7FvnUf5deOAR3EzQ23c09to5HHX9m+fMz +5cNmjvx3wZ0R/AsMtiLU+3nL6EVMZQOLmgF1B9IokrnztRBzZqqSuHyzzxD48GJp +W5l+OCoHuk0F/qLvI6/P +=Ja54 +-----END PGP SIGNATURE----- diff --git a/libreoffice-help-6.0.3.2.tar.xz b/libreoffice-help-6.0.3.2.tar.xz deleted file mode 100644 index ebd5059..0000000 --- a/libreoffice-help-6.0.3.2.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:06999eac776c4fcf7339732bf988d2b85b7193283d4be622f848706e278e4701 -size 2972952 diff --git a/libreoffice-help-6.0.3.2.tar.xz.asc b/libreoffice-help-6.0.3.2.tar.xz.asc deleted file mode 100644 index 5118789..0000000 --- a/libreoffice-help-6.0.3.2.tar.xz.asc +++ /dev/null @@ -1,16 +0,0 @@ ------BEGIN PGP SIGNATURE----- - -iQIcBAABAgAGBQJavQeHAAoJEPQ0oe+v7q6jmuoP/jlGZgVLrWO8ib3OoGRdJDzn -c1xrfIBuw+4IWSzPRktw27U/DPdDhv9ydTCuZEnWhwLR5MbYYDiBXo+XQe8tIWC7 -cvEvJx+E4JbCCuc4tQrQeM1ZyOIQ6tK0Ncr3RDioxHenko+JVNYlZnfId7IA8My2 -cACPPmFpgIg0oyXd+RtEGxRe6lG4BJa7EBqSf3hhjk1w/ym79BV1JezMwNnwgzKg -rYJeCMh1ZMvj72GF3DH2ucIqtNiRAvTTChEc7lfySR4hDqtZi5MY6sGR7Vk7N+A2 -/vol0vizY0wlB1BUsvhm8rQDjReM1zhlvrVv58A+C5IuD0F6eoH6qD9FJcI4b5c9 -hI9hV3+xafxo53hvvHcmMkoXO20gxNHiTBdORUau2BRXya+lkzkaiXsFV9lTe5tR -80sp7MQIAgAOhxMZDj+IkNu6S56hl4QUsOGrHZ+7m4MQ9od7ODQRnxhGV6rq3P0O -br6T9tyD/j9BybOeP7AKp7fXLoZuNzG9qfIzJ+Kicrjbj18nM+A5s45IV+ZQRT7c -Y8gDUTlTJtQoDjg5B3yGaQz7TIEk0MXb4VMskDJ+/wxyviobIO7jRmjTj9cD+Hzh -QrX+/5PSPAsLTQkJX2U/pCJJl12M0pbeQ8ccfOrxU6FqV1muX5YmrlYh6JkfDD5U -L3NAfbBliU8enm7D9n5t -=RRdV ------END PGP SIGNATURE----- diff --git a/libreoffice-help-6.0.4.1.tar.xz b/libreoffice-help-6.0.4.1.tar.xz new file mode 100644 index 0000000..6ee5509 --- /dev/null +++ b/libreoffice-help-6.0.4.1.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:25424c2be4e323bde79327ccfc293ba63c7319fe0cf71ff12a2c3ebfeb5628d9 +size 2973004 diff --git a/libreoffice-help-6.0.4.1.tar.xz.asc b/libreoffice-help-6.0.4.1.tar.xz.asc new file mode 100644 index 0000000..29035bc --- /dev/null +++ b/libreoffice-help-6.0.4.1.tar.xz.asc @@ -0,0 +1,16 @@ +-----BEGIN PGP SIGNATURE----- + +iQIcBAABAgAGBQJa1kxaAAoJEPQ0oe+v7q6j+1UP/iqFG3ddTp4+dzSzyd0xSVI8 +enhNa1bkvNcldCRJZuQI3xTOmWWBEGD9+QCgqvkuDsWtkcSoESNSbb/FvWIUK8e5 +wp2e4RiSEFamK1VSjD4Ufd1aJqvVAsEYJEXY8oiyAmakp7QXNT/Z417gYW/lPTyd +nlei7PwJCAINjvjiEiC7S27Ud5E7+vYW0YphfynPHRXNnyp0cdwnN9LJVS+XrxKZ +c678CoGH+ogIetbbAkIpyd0bc/KSUU+4guUYOkTbAWyTvPUVsI0kVd9pd+peSCJk +Mxo/a0RQFDkf6vPXgrC69aYIpmFt7QxlvKzbIlAKXLG1H/nr4OeQMJ6TthnbgTbA +phbsuHdKzDAJ6gZOKfyh5uOajrwZ3Rr5Th2AW84eDRrItfW7cEAnZ1OxmfSI9hvw +GNNpwKAc9e5HkMH8JqjcwIGIplWOq3SI0uy+b99TNlCa6VOLRn3w+PYp583AOdIY +y3XdpFdyCfC5jrwtKL/zB1iPTeqJZ6bBk5VV2o7x9AMLTe2JS0X1vBlKUQkCYhUq +CgU16aUeMLq3bL3VzrKh+nZnnQ66nVPWBlWLVRHnQveZ2jA+GnVK1RRq+Aqi2Pmh +/2sBPfUaB+A7UWqKuvGLyeIcCrEpQPJeNANGdhTt1aLyiWCKsNBZMITJYNUBn1tO +GguP/8JcwQ1Me060j4w3 +=rj9H +-----END PGP SIGNATURE----- diff --git a/libreoffice-translations-6.0.3.2.tar.xz b/libreoffice-translations-6.0.3.2.tar.xz deleted file mode 100644 index 5714b7b..0000000 --- a/libreoffice-translations-6.0.3.2.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:8aa651266b701b17e78aaca77db394bec3da07faf62546496484c63dd519a5b3 -size 139138536 diff --git a/libreoffice-translations-6.0.3.2.tar.xz.asc b/libreoffice-translations-6.0.3.2.tar.xz.asc deleted file mode 100644 index 715e9dc..0000000 --- a/libreoffice-translations-6.0.3.2.tar.xz.asc +++ /dev/null @@ -1,16 +0,0 @@ ------BEGIN PGP SIGNATURE----- - -iQIcBAABAgAGBQJavQeLAAoJEPQ0oe+v7q6jfdsQAK68sI5iIuRTHWbfP3c2wDJg -mb37owUyC2k++4W3pz7U0SSroGwoymtPH6s3ZH0utBuo6cNPZ7Ema8Aucr7BD9x+ -ByDL5JlYU/uOPN0nPw2FNnMQZgdJOS9RulpI9ZGGJwISzjUCoD8LRBNvhW1/LmBN -alFBoLOqqoUL0qL3iFD41VRQrEEoLH2mnSfoWqITnh9EWNpVpZrXrjAYLJSgh2K3 -oHrb23M6EDN25o5flm7hmdY2bZOvofh45PpXsngxAtYqVRMYQtO/wHwylG95Xcw9 -1njWXsk3HL+z3H+Ic1GWLGyvumA9IoeS/ZCgxtjWGlvu1T7PRea+opx/gPjWEqUq -ipI7UWS6gQLWf9OiaWQ0Z/UK6FIOnv4Daig/GEmxkZ5R7VRFO7pu4f3NA/z0ilzs -/0H50HVP6Y9E9fah+30FniiS2+RuT7WfuBbgmAwbYdIUyxBXRCHmgkc2fMiHTFcz -7Qeir9x1r+RwCVcxCZ/2IVUu7O1H18kXecBP/nn79adFS4HRNBfcQrWIKQlQCeiq -ZZebVS7Qg8aXgIPOiZ5JXwjuFCMVwIbgLMc4KC6HSrLLZYRfz+9nBYa3j0pDX9rP -yuPZyP8krGrZ6buhPzaKIeYNXoKjeeDLmjFV7zIDWp9mpDWfXIn9zgbw83GfXH7v -R4aohL1cK3AoUOA+z27E -=a9wg ------END PGP SIGNATURE----- diff --git a/libreoffice-translations-6.0.4.1.tar.xz b/libreoffice-translations-6.0.4.1.tar.xz new file mode 100644 index 0000000..e5cc8c5 --- /dev/null +++ b/libreoffice-translations-6.0.4.1.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c57414653ca36d5f40d6572dc5c1e8be63404b16e323864c80ab473e28b9acaa +size 139188068 diff --git a/libreoffice-translations-6.0.4.1.tar.xz.asc b/libreoffice-translations-6.0.4.1.tar.xz.asc new file mode 100644 index 0000000..50eaadc --- /dev/null +++ b/libreoffice-translations-6.0.4.1.tar.xz.asc @@ -0,0 +1,16 @@ +-----BEGIN PGP SIGNATURE----- + +iQIcBAABAgAGBQJa1kxdAAoJEPQ0oe+v7q6jqs0P/1mnB5FQvFGFyusS6UEBFyrN +ATymAcU4swPHr0clbmNlPnsaWsFi6laq68ZZRWqITTTKbP3v22E0dpaX2urW0YRX +PYIrMmploJFDvsc6FmBQNcViA2VsQU8ldXE+f2zUNnobXWb09UekOwiMDh/v/TEN +iLEgP0nHQ3W5xcI4F27adPvqENiHohqHG4Ro4OXTFlcHlc14jTzA93skEuUw66dX +5FF8LC13eUo3Bbb2KEaZLp5usN5D3ZVtgxG9c3R0Eq/OVcSvlLsyOzFC2z5XG0O/ +s5+9c9kl5Uy9WZR6Ac1C/OWzqfn6hdDapHEy66E5l6QH2VCDgOybvTZudm8Rcg2I +j56DijW8/+EOX/2/iwYAyGi3i98VfBx4FOhCsWf26UIWpE5UjLWqmofW3tUQpGPX +9ubE89a5m6hbdiHhQ36t5ybme9QJkM/G6a7qmq7xNZm+gWubdVeHUiotac/PzclV +lvTzsk9Z5VzJ7103nJIwJfVBM00KdSE9AY7BRyzE9qEyVY/2MjHCzDAwQzvRDOsX +XC+u0uItrAa8jRmP+yhsS66Mon8nk/jYC0m5ped8Yp2V3O7IskgOQLzAL1oKjx+A +D9A8JojsgCQv2g8wlcO/zzxMLSyAK7mgQkz86Cubk4LSa4jTvI8j7llEaBZFX9AC +1/f05cONlpOy5raeh6UP +=fcuj +-----END PGP SIGNATURE----- diff --git a/libreoffice.changes b/libreoffice.changes index 50bb9f2..376feba 100644 --- a/libreoffice.changes +++ b/libreoffice.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Fri Apr 20 08:52:11 UTC 2018 - tchvatal@suse.com + +- Version update to 6.0.4.1: + * Another bugfix update containing >60 bugfixes + ------------------------------------------------------------------- Tue Apr 17 09:26:37 UTC 2018 - tchvatal@suse.com diff --git a/libreoffice.spec b/libreoffice.spec index 125f9bc..8ad1fe8 100644 --- a/libreoffice.spec +++ b/libreoffice.spec @@ -22,7 +22,7 @@ %define numbertext_version 0.9.5 # Urls %define external_url http://dev-www.libreoffice.org/src/ -%define tarball_url http://download.documentfoundation.org/libreoffice/src/6.0.3 +%define tarball_url http://download.documentfoundation.org/libreoffice/src/6.0.4 #%define tarball_url http://dev-builds.libreoffice.org/pre-releases/src/ # LTO needs newer toolchain stack only %if 0%{?suse_version} >= 1500 @@ -54,7 +54,7 @@ %bcond_with gtk3 %endif Name: libreoffice -Version: 6.0.3.2 +Version: 6.0.4.1 Release: 0 Summary: A Free Office Suite (Framework) License: LGPL-3.0-or-later AND MPL-2.0+ From 83f43873fa12d489b9672b708bed28e49b8427e3240fa17fec5bf7d2f1f2b7b6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tom=C3=A1=C5=A1=20Chv=C3=A1tal?= Date: Fri, 20 Apr 2018 12:39:24 +0000 Subject: [PATCH 3/7] - Fix build with new icu 61+ * libreoffice-icu61.patch OBS-URL: https://build.opensuse.org/package/show/LibreOffice:Factory/libreoffice?expand=0&rev=648 --- libreoffice-icu61.patch | 93 +++++++++++++++++++++++++++++++++++++++++ libreoffice.changes | 6 +++ libreoffice.spec | 3 ++ 3 files changed, 102 insertions(+) create mode 100644 libreoffice-icu61.patch diff --git a/libreoffice-icu61.patch b/libreoffice-icu61.patch new file mode 100644 index 0000000..958edcc --- /dev/null +++ b/libreoffice-icu61.patch @@ -0,0 +1,93 @@ +From f7961456d81c3ee6ee4c13eac9ef7add6c7ea6b5 Mon Sep 17 00:00:00 2001 +From: Eike Rathke +Date: Mon, 18 Dec 2017 20:28:07 +0100 +Subject: Explicitly qualify ICU types with icu:: namespace + +It will be required by ICU 61 anyway, see +https://ssl.icu-project.org/repos/icu/trunk/icu4c/readme.html#RecBuild + +Change-Id: I16b6bc8b8c49713f32424df5fc6db494df7b6892 +Reviewed-on: https://gerrit.libreoffice.org/46738 +Reviewed-by: Eike Rathke +Tested-by: Eike Rathke +--- + i18npool/source/collator/collator_unicode.cxx | 16 ++++++++-------- + i18npool/source/collator/gencoll_rule.cxx | 2 +- + 2 files changed, 9 insertions(+), 9 deletions(-) + +(limited to 'i18npool/source/collator') + +diff --git a/i18npool/source/collator/collator_unicode.cxx b/i18npool/source/collator/collator_unicode.cxx +index 71bc4ed..37dc7ee 100644 +--- a/i18npool/source/collator/collator_unicode.cxx ++++ b/i18npool/source/collator/collator_unicode.cxx +@@ -138,7 +138,7 @@ Collator_Unicode::loadCollatorAlgorithm(const OUString& rAlgorithm, const lang:: + UErrorCode status = U_ZERO_ERROR; + OUString rule = LocaleDataImpl::get()->getCollatorRuleByAlgorithm(rLocale, rAlgorithm); + if (!rule.isEmpty()) { +- collator = new RuleBasedCollator(reinterpret_cast(rule.getStr()), status); ++ collator = new icu::RuleBasedCollator(reinterpret_cast(rule.getStr()), status); + if (! U_SUCCESS(status)) throw RuntimeException(); + } + if (!collator && OUString(LOCAL_RULE_LANGS).indexOf(rLocale.Language) >= 0) { +@@ -343,7 +343,7 @@ Collator_Unicode::loadCollatorAlgorithm(const OUString& rAlgorithm, const lang:: + size_t ruleImageSize = funclen(); + + #if (U_ICU_VERSION_MAJOR_NUM == 4) && (U_ICU_VERSION_MINOR_NUM <= 2) +- uca_base = new RuleBasedCollator(static_cast(NULL), status); ++ uca_base = new icu::RuleBasedCollator(static_cast(NULL), status); + #else + // Not only changed ICU 53.1 the API behavior that a negative + // length (ruleImageSize) now leads to failure, but also that +@@ -354,11 +354,11 @@ Collator_Unicode::loadCollatorAlgorithm(const OUString& rAlgorithm, const lang:: + // The default collator of the en-US locale would also fulfill + // the requirement. The collator of the actual locale or the + // NULL (default) locale does not. +- uca_base = static_cast(icu::Collator::createInstance( ++ uca_base = static_cast(icu::Collator::createInstance( + icu::Locale::getRoot(), status)); + #endif + if (! U_SUCCESS(status)) throw RuntimeException(); +- collator = new RuleBasedCollator( ++ collator = new icu::RuleBasedCollator( + reinterpret_cast(ruleImage), ruleImageSize, uca_base, status); + if (! U_SUCCESS(status)) throw RuntimeException(); + } +@@ -372,17 +372,17 @@ Collator_Unicode::loadCollatorAlgorithm(const OUString& rAlgorithm, const lang:: + */ + icu::Locale icuLocale( LanguageTagIcu::getIcuLocale( LanguageTag( rLocale), rAlgorithm)); + // load ICU collator +- collator = static_cast( icu::Collator::createInstance(icuLocale, status) ); ++ collator = static_cast( icu::Collator::createInstance(icuLocale, status) ); + if (! U_SUCCESS(status)) throw RuntimeException(); + } + } + + if (options & CollatorOptions::CollatorOptions_IGNORE_CASE_ACCENT) +- collator->setStrength(Collator::PRIMARY); ++ collator->setStrength(icu::Collator::PRIMARY); + else if (options & CollatorOptions::CollatorOptions_IGNORE_CASE) +- collator->setStrength(Collator::SECONDARY); ++ collator->setStrength(icu::Collator::SECONDARY); + else +- collator->setStrength(Collator::TERTIARY); ++ collator->setStrength(icu::Collator::TERTIARY); + + return 0; + } +diff --git a/i18npool/source/collator/gencoll_rule.cxx b/i18npool/source/collator/gencoll_rule.cxx +index 7d795b5..3048d12 100644 +--- a/i18npool/source/collator/gencoll_rule.cxx ++++ b/i18npool/source/collator/gencoll_rule.cxx +@@ -113,7 +113,7 @@ SAL_IMPLEMENT_MAIN_WITH_ARGS(argc, argv) + //UCollator *coll = ucol_openRules(Obuf.getStr(), Obuf.getLength(), UCOL_OFF, + // UCOL_DEFAULT_STRENGTH, &parseError, &status); + +- auto coll = o3tl::make_unique(reinterpret_cast(Obuf.getStr()), status); ++ auto coll = o3tl::make_unique(reinterpret_cast(Obuf.getStr()), status); + + if (U_SUCCESS(status)) { + std::vector data; +-- +cgit v1.1 + diff --git a/libreoffice.changes b/libreoffice.changes index 376feba..b29edbd 100644 --- a/libreoffice.changes +++ b/libreoffice.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Fri Apr 20 12:39:00 UTC 2018 - tchvatal@suse.com + +- Fix build with new icu 61+ + * libreoffice-icu61.patch + ------------------------------------------------------------------- Fri Apr 20 08:52:11 UTC 2018 - tchvatal@suse.com diff --git a/libreoffice.spec b/libreoffice.spec index 8ad1fe8..159c5a8 100644 --- a/libreoffice.spec +++ b/libreoffice.spec @@ -107,6 +107,8 @@ Patch5: 0001-Use-PYTHON_FOR_BUILD-instead-of-calling-python-direc.patch Patch7: bnc1039203.patch # LO-L3: Slide with chart has some strange (too large?) elements (PPTX) Patch8: bnc1060128.patch +# PATCH-FROM-UPSTREAM fix build with new icu +Patch9: libreoffice-icu61.patch # try to save space by using hardlinks Patch990: install-with-hardlinks.diff BuildRequires: %{name}-share-linker @@ -908,6 +910,7 @@ Provides additional %{langname} translations and resources for %{project}. \ %patch5 -p1 %patch7 -p1 %patch8 -p1 +%patch9 -p1 %patch990 -p1 # Disable some of the failing tests (some are random) From 859181bc79bd27e98da03c32d9885b4a713a51014f9ce1feb3d75a6894dc1c5a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tom=C3=A1=C5=A1=20Chv=C3=A1tal?= Date: Sun, 22 Apr 2018 08:51:22 +0000 Subject: [PATCH 4/7] Accepting request 599738 from LibreOffice:6.0 - LO-L3: DOCX import: missing table background color * bnc1083525.patch * Basically we need ANY font, but liberation-fonts are the OBS-URL: https://build.opensuse.org/request/show/599738 OBS-URL: https://build.opensuse.org/package/show/LibreOffice:Factory/libreoffice?expand=0&rev=649 --- bnc1083525.patch | 294 ++++++++++++++++++++++++++++++++++++++++++++ libreoffice.changes | 8 +- libreoffice.spec | 5 +- 3 files changed, 305 insertions(+), 2 deletions(-) create mode 100644 bnc1083525.patch diff --git a/bnc1083525.patch b/bnc1083525.patch new file mode 100644 index 0000000..fe06623 --- /dev/null +++ b/bnc1083525.patch @@ -0,0 +1,294 @@ +diff --git a/writerfilter/source/dmapper/PropertyMap.cxx b/writerfilter/source/dmapper/PropertyMap.cxx +index 708b80a..af4133a 100644 +--- a/writerfilter/source/dmapper/PropertyMap.cxx ++++ b/writerfilter/source/dmapper/PropertyMap.cxx +@@ -1148,6 +1148,10 @@ + std::vector& rAnchoredObjectAnchors = rDM_Impl.m_aAnchoredObjectAnchors; + for (auto& rAnchor : rAnchoredObjectAnchors) + { ++ // Ignore this paragraph when there is a single shape only. ++ if (rAnchor.m_aAnchoredObjects.size() < 2) ++ continue; ++ + // Analyze the anchored objects of this paragraph, now that we know the + // page width. + sal_Int32 nShapesWidth = 0; +diff --git a/sw/source/core/layout/paintfrm.cxx b/sw/source/core/layout/paintfrm.cxx +index 9ace671..80d12a5 100644 +--- a/sw/source/core/layout/paintfrm.cxx ++++ b/sw/source/core/layout/paintfrm.cxx +@@ -6412,7 +6412,9 @@ + if( IsTextFrame() || IsSctFrame() ) + aPaintRect = UnionFrame( true ); + +- if ( (!bOnlyTextBackground || IsTextFrame()) && aPaintRect.IsOver( rRect ) ) ++ // bOnlyTextBackground means background that's on top of background shapes, ++ // this includes both text and cell frames. ++ if ( (!bOnlyTextBackground || IsTextFrame() || IsCellFrame()) && aPaintRect.IsOver( rRect ) ) + { + if ( bBack || bPageFrame || !bLowerMode ) + { +diff --git a/sw/source/core/layout/paintfrm.cxx b/sw/source/core/layout/paintfrm.cxx +index 80d12a5..4c54017 100644 +--- a/sw/source/core/layout/paintfrm.cxx ++++ b/sw/source/core/layout/paintfrm.cxx +@@ -100,6 +100,7 @@ + #include + #include + #include ++#include + #include + + #include +@@ -7347,7 +7348,30 @@ + return false; + + if (pFrame->supportsFullDrawingLayerFillAttributeSet()) +- rFillAttributes = pFrame->getSdrAllFillAttributesHelper(); ++ { ++ bool bTextBox = false; ++ if (pFrame->IsFlyFrame()) ++ { ++ const SwFlyFrame* pFlyFrame = static_cast(pFrame); ++ SwFrameFormat* pShape ++ = SwTextBoxHelper::getOtherTextBoxFormat(pFlyFrame->GetFormat(), RES_FLYFRMFMT); ++ if (pShape) ++ { ++ SdrObject* pObject = pShape->FindRealSdrObject(); ++ if (pObject) ++ { ++ // Work with the fill attributes of the shape of the fly frame. ++ rFillAttributes.reset( ++ new drawinglayer::attribute::SdrAllFillAttributesHelper( ++ pObject->GetMergedItemSet())); ++ bTextBox = true; ++ } ++ } ++ } ++ ++ if (!bTextBox) ++ rFillAttributes = pFrame->getSdrAllFillAttributesHelper(); ++ } + const SvxBrushItem &rBack = pFrame->GetAttrSet()->GetBackground(); + + if( pFrame->IsSctFrame() ) +diff --git a/writerfilter/source/dmapper/GraphicImport.cxx b/writerfilter/source/dmapper/GraphicImport.cxx +index b6c11b5..6830e9d 100644 +--- a/writerfilter/source/dmapper/GraphicImport.cxx ++++ b/writerfilter/source/dmapper/GraphicImport.cxx +@@ -1065,10 +1065,12 @@ + break; + case NS_ooxml::LN_CT_SizeRelH_pctWidth: + case NS_ooxml::LN_CT_SizeRelV_pctHeight: +- if (m_xShape.is() && !m_pImpl->m_rPositivePercentages.empty()) ++ if (m_pImpl->m_rPositivePercentages.empty()) ++ break; ++ ++ if (m_xShape.is()) + { + sal_Int16 nPositivePercentage = rtl::math::round(m_pImpl->m_rPositivePercentages.front().toDouble() / oox::drawingml::PER_PERCENT); +- m_pImpl->m_rPositivePercentages.pop(); + + if (nPositivePercentage) + { +@@ -1077,6 +1079,10 @@ + xPropertySet->setPropertyValue(aProperty, uno::makeAny(nPositivePercentage)); + } + } ++ ++ // Make sure the token is consumed even if xShape is an empty ++ // reference. ++ m_pImpl->m_rPositivePercentages.pop(); + break; + case NS_ooxml::LN_EG_WrapType_wrapNone: // 90944; - doesn't contain attributes + //depending on the behindDoc attribute text wraps through behind or in front of the object +diff --git a/sw/source/core/layout/anchoreddrawobject.cxx b/sw/source/core/layout/anchoreddrawobject.cxx +index dfbdce3..ca5014f 100644 +--- a/sw/source/core/layout/anchoreddrawobject.cxx ++++ b/sw/source/core/layout/anchoreddrawobject.cxx +@@ -32,6 +32,8 @@ + #include + #include + #include ++#include ++#include + + using namespace ::com::sun::star; + +@@ -661,9 +663,22 @@ + + bool bEnableSetModified = pDoc->getIDocumentState().IsEnableSetModified(); + pDoc->getIDocumentState().SetEnableSetModified(false); +- const_cast< SdrObject* >( GetDrawObj() )->Resize( aCurrObjRect.TopLeft(), ++ auto pObject = const_cast(GetDrawObj()); ++ pObject->Resize( aCurrObjRect.TopLeft(), + Fraction( nTargetWidth, aCurrObjRect.GetWidth() ), + Fraction( nTargetHeight, aCurrObjRect.GetHeight() ), false ); ++ ++ if (SwFrameFormat* pFrameFormat = FindFrameFormat(pObject)) ++ { ++ if (SwTextBoxHelper::isTextBox(pFrameFormat, RES_DRAWFRMFMT)) ++ { ++ // Shape has relative size and also a textbox, update its text area as well. ++ uno::Reference xShape(pObject->getUnoShape(), uno::UNO_QUERY); ++ SwTextBoxHelper::syncProperty(pFrameFormat, RES_FRM_SIZE, MID_FRMSIZE_SIZE, ++ uno::makeAny(xShape->getSize())); ++ } ++ } ++ + pDoc->getIDocumentState().SetEnableSetModified(bEnableSetModified); + } + } +diff --git a/sw/source/core/access/accpara.cxx b/sw/source/core/access/accpara.cxx +index 0d60a9d..83527b5 100644 +--- a/sw/source/core/access/accpara.cxx ++++ b/sw/source/core/access/accpara.cxx +@@ -998,7 +998,7 @@ + drawinglayer::attribute::SdrAllFillAttributesHelperPtr aFillAttributes; + + if ( pFrame && +- pFrame->GetBackgroundBrush( aFillAttributes, pBackgrdBrush, pSectionTOXColor, aDummyRect, false ) ) ++ pFrame->GetBackgroundBrush( aFillAttributes, pBackgrdBrush, pSectionTOXColor, aDummyRect, false, /*bConsiderTextBox=*/false ) ) + { + if ( pSectionTOXColor ) + { +diff --git a/sw/source/core/doc/notxtfrm.cxx b/sw/source/core/doc/notxtfrm.cxx +index 4a5176d..fd21b43 100644 +--- a/sw/source/core/doc/notxtfrm.cxx ++++ b/sw/source/core/doc/notxtfrm.cxx +@@ -187,7 +187,7 @@ + SwRect aOrigRect; + drawinglayer::attribute::SdrAllFillAttributesHelperPtr aFillAttributes; + +- if ( rFrame.GetBackgroundBrush( aFillAttributes, pItem, pCol, aOrigRect, false ) ) ++ if ( rFrame.GetBackgroundBrush( aFillAttributes, pItem, pCol, aOrigRect, false, /*bConsiderTextBox=*/false ) ) + { + SwRegionRects const region(rPtArea); + basegfx::utils::B2DClipState aClipState; +diff --git a/sw/source/core/inc/frame.hxx b/sw/source/core/inc/frame.hxx +index 25b65a9..bb5d731 100644 +--- a/sw/source/core/inc/frame.hxx ++++ b/sw/source/core/inc/frame.hxx +@@ -555,7 +555,8 @@ + const SvxBrushItem*& rpBrush, + const Color*& rpColor, + SwRect &rOrigRect, +- bool bLowerMode ) const; ++ bool bLowerMode, ++ bool bConsiderTextBox ) const; + + inline void SetCompletePaint() const; + inline void ResetCompletePaint() const; +diff --git a/sw/source/core/layout/paintfrm.cxx b/sw/source/core/layout/paintfrm.cxx +index 4c54017..fedcd36 100644 +--- a/sw/source/core/layout/paintfrm.cxx ++++ b/sw/source/core/layout/paintfrm.cxx +@@ -3783,7 +3783,7 @@ + SwRect aDummyRect; + drawinglayer::attribute::SdrAllFillAttributesHelperPtr aFillAttributes; + +- if ( GetBackgroundBrush( aFillAttributes, pBackgrdBrush, pSectionTOXColor, aDummyRect, false) ) ++ if ( GetBackgroundBrush( aFillAttributes, pBackgrdBrush, pSectionTOXColor, aDummyRect, false, /*bConsiderTextBox=*/false) ) + { + if ( pSectionTOXColor && + (pSectionTOXColor->GetTransparency() != 0) && +@@ -6364,7 +6364,7 @@ + bool bLowMode = true; + drawinglayer::attribute::SdrAllFillAttributesHelperPtr aFillAttributes; + +- bool bBack = GetBackgroundBrush( aFillAttributes, pItem, pCol, aOrigBackRect, bLowerMode ); ++ bool bBack = GetBackgroundBrush( aFillAttributes, pItem, pCol, aOrigBackRect, bLowerMode, /*bConsiderTextBox=*/false ); + //- Output if a separate background is used. + bool bNoFlyBackground = !gProp.bSFlyMetafile && !bBack && IsFlyFrame(); + if ( bNoFlyBackground ) +@@ -6374,7 +6374,7 @@ + // disabled this option with the parameter + if ( bLowerMode ) + { +- bBack = GetBackgroundBrush( aFillAttributes, pItem, pCol, aOrigBackRect, false ); ++ bBack = GetBackgroundBrush( aFillAttributes, pItem, pCol, aOrigBackRect, false, /*bConsiderTextBox=*/false ); + } + // If still no background found for the fly frame, initialize the + // background brush with global retouche color and set +@@ -7164,7 +7164,7 @@ + SwRect aDummyRect; + drawinglayer::attribute::SdrAllFillAttributesHelperPtr aFillAttributes; + +- if ( GetBackgroundBrush( aFillAttributes, pBrushItem, pDummyColor, aDummyRect, true) ) ++ if ( GetBackgroundBrush( aFillAttributes, pBrushItem, pDummyColor, aDummyRect, true, /*bConsiderTextBox=*/false) ) + { + if(aFillAttributes.get() && aFillAttributes->isUsed()) + { +@@ -7328,6 +7328,10 @@ + * input parameter - boolean indicating, if background brush should *not* be + * taken from parent. + * ++ * @param bConsiderTextBox ++ * consider the TextBox of this fly frame (if there is any) when determining ++ * the background color, useful for automatic font color. ++ * + * @return true, if a background brush for the frame is found + */ + bool SwFrame::GetBackgroundBrush( +@@ -7335,7 +7339,8 @@ + const SvxBrushItem* & rpBrush, + const Color*& rpCol, + SwRect &rOrigRect, +- bool bLowerMode ) const ++ bool bLowerMode, ++ bool bConsiderTextBox ) const + { + const SwFrame *pFrame = this; + SwViewShell *pSh = getRootFrame()->GetCurrShell(); +@@ -7349,8 +7354,8 @@ + + if (pFrame->supportsFullDrawingLayerFillAttributeSet()) + { +- bool bTextBox = false; +- if (pFrame->IsFlyFrame()) ++ bool bHandledTextBox = false; ++ if (pFrame->IsFlyFrame() && bConsiderTextBox) + { + const SwFlyFrame* pFlyFrame = static_cast(pFrame); + SwFrameFormat* pShape +@@ -7364,12 +7369,12 @@ + rFillAttributes.reset( + new drawinglayer::attribute::SdrAllFillAttributesHelper( + pObject->GetMergedItemSet())); +- bTextBox = true; ++ bHandledTextBox = true; + } + } + } + +- if (!bTextBox) ++ if (!bHandledTextBox) + rFillAttributes = pFrame->getSdrAllFillAttributesHelper(); + } + const SvxBrushItem &rBack = pFrame->GetAttrSet()->GetBackground(); +diff --git a/sw/source/core/text/inftxt.cxx b/sw/source/core/text/inftxt.cxx +index de13147..8001e94 100644 +--- a/sw/source/core/text/inftxt.cxx ++++ b/sw/source/core/text/inftxt.cxx +@@ -534,7 +534,7 @@ + // See implementation in /core/layout/paintfrm.cxx + // There is a background color, if there is a background brush and + // its color is *not* "no fill"/"auto fill". +- if( rInf.GetTextFrame()->GetBackgroundBrush( aFillAttributes, pItem, pCol, aOrigBackRect, false ) ) ++ if( rInf.GetTextFrame()->GetBackgroundBrush( aFillAttributes, pItem, pCol, aOrigBackRect, false, /*bConsiderTextBox=*/false ) ) + { + if ( !pCol ) + pCol = &pItem->GetColor(); +diff --git a/sw/source/core/txtnode/fntcache.cxx b/sw/source/core/txtnode/fntcache.cxx +index a7484a5..a6d89f1 100644 +--- a/sw/source/core/txtnode/fntcache.cxx ++++ b/sw/source/core/txtnode/fntcache.cxx +@@ -2510,7 +2510,7 @@ + /// OD 21.08.2002 #99657# + /// There is a user defined setting for the background, if there + /// is a background brush and its color is *not* "no fill"/"auto fill". +- if( GetFrame()->GetBackgroundBrush( aFillAttributes, pItem, pCol, aOrigBackRect, false ) ) ++ if( GetFrame()->GetBackgroundBrush( aFillAttributes, pItem, pCol, aOrigBackRect, false, /*bConsiderTextBox=*/true ) ) + { + if (aFillAttributes.get() && aFillAttributes->isUsed()) + { diff --git a/libreoffice.changes b/libreoffice.changes index b29edbd..7169f0f 100644 --- a/libreoffice.changes +++ b/libreoffice.changes @@ -10,6 +10,12 @@ Fri Apr 20 08:52:11 UTC 2018 - tchvatal@suse.com - Version update to 6.0.4.1: * Another bugfix update containing >60 bugfixes +------------------------------------------------------------------- +Tue Apr 17 10:32:11 UTC 2018 - andras.timar@collabora.com + +- LO-L3: DOCX import: missing table background color + * bnc1083525.patch + ------------------------------------------------------------------- Tue Apr 17 09:26:37 UTC 2018 - tchvatal@suse.com @@ -115,7 +121,7 @@ Thu Mar 22 11:46:48 UTC 2018 - tchvatal@suse.com Wed Mar 14 09:30:47 UTC 2018 - tchvatal@suse.com - Require liberation-fonts instead of Recommends wrt bsc#1083213 - * Basically we need ANY font, but liberation-fonts are the + * Basically we need ANY font, but liberation-fonts are the Arial/etc. compatible and thus you can view the MS Word documents - Drop Build/Require on xorg-x11-fonts diff --git a/libreoffice.spec b/libreoffice.spec index 159c5a8..3324beb 100644 --- a/libreoffice.spec +++ b/libreoffice.spec @@ -107,8 +107,10 @@ Patch5: 0001-Use-PYTHON_FOR_BUILD-instead-of-calling-python-direc.patch Patch7: bnc1039203.patch # LO-L3: Slide with chart has some strange (too large?) elements (PPTX) Patch8: bnc1060128.patch +# LO-L3: DOCX import: missing table background color +Patch9: bnc1083525.patch # PATCH-FROM-UPSTREAM fix build with new icu -Patch9: libreoffice-icu61.patch +Patch10: libreoffice-icu61.patch # try to save space by using hardlinks Patch990: install-with-hardlinks.diff BuildRequires: %{name}-share-linker @@ -911,6 +913,7 @@ Provides additional %{langname} translations and resources for %{project}. \ %patch7 -p1 %patch8 -p1 %patch9 -p1 +%patch10 -p1 %patch990 -p1 # Disable some of the failing tests (some are random) From 6580423f3de426ceaaf06e8f2d1c7b5a1266c6d36f7b8873bd2b1316e7f9de22 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tom=C3=A1=C5=A1=20Chv=C3=A1tal?= Date: Mon, 23 Apr 2018 08:33:25 +0000 Subject: [PATCH 5/7] - Drop patch bnc1083525.patch merged upstream OBS-URL: https://build.opensuse.org/package/show/LibreOffice:Factory/libreoffice?expand=0&rev=650 --- bnc1083525.patch | 294 -------------------------------------------- libreoffice.changes | 5 + libreoffice.spec | 5 +- 3 files changed, 6 insertions(+), 298 deletions(-) delete mode 100644 bnc1083525.patch diff --git a/bnc1083525.patch b/bnc1083525.patch deleted file mode 100644 index fe06623..0000000 --- a/bnc1083525.patch +++ /dev/null @@ -1,294 +0,0 @@ -diff --git a/writerfilter/source/dmapper/PropertyMap.cxx b/writerfilter/source/dmapper/PropertyMap.cxx -index 708b80a..af4133a 100644 ---- a/writerfilter/source/dmapper/PropertyMap.cxx -+++ b/writerfilter/source/dmapper/PropertyMap.cxx -@@ -1148,6 +1148,10 @@ - std::vector& rAnchoredObjectAnchors = rDM_Impl.m_aAnchoredObjectAnchors; - for (auto& rAnchor : rAnchoredObjectAnchors) - { -+ // Ignore this paragraph when there is a single shape only. -+ if (rAnchor.m_aAnchoredObjects.size() < 2) -+ continue; -+ - // Analyze the anchored objects of this paragraph, now that we know the - // page width. - sal_Int32 nShapesWidth = 0; -diff --git a/sw/source/core/layout/paintfrm.cxx b/sw/source/core/layout/paintfrm.cxx -index 9ace671..80d12a5 100644 ---- a/sw/source/core/layout/paintfrm.cxx -+++ b/sw/source/core/layout/paintfrm.cxx -@@ -6412,7 +6412,9 @@ - if( IsTextFrame() || IsSctFrame() ) - aPaintRect = UnionFrame( true ); - -- if ( (!bOnlyTextBackground || IsTextFrame()) && aPaintRect.IsOver( rRect ) ) -+ // bOnlyTextBackground means background that's on top of background shapes, -+ // this includes both text and cell frames. -+ if ( (!bOnlyTextBackground || IsTextFrame() || IsCellFrame()) && aPaintRect.IsOver( rRect ) ) - { - if ( bBack || bPageFrame || !bLowerMode ) - { -diff --git a/sw/source/core/layout/paintfrm.cxx b/sw/source/core/layout/paintfrm.cxx -index 80d12a5..4c54017 100644 ---- a/sw/source/core/layout/paintfrm.cxx -+++ b/sw/source/core/layout/paintfrm.cxx -@@ -100,6 +100,7 @@ - #include - #include - #include -+#include - #include - - #include -@@ -7347,7 +7348,30 @@ - return false; - - if (pFrame->supportsFullDrawingLayerFillAttributeSet()) -- rFillAttributes = pFrame->getSdrAllFillAttributesHelper(); -+ { -+ bool bTextBox = false; -+ if (pFrame->IsFlyFrame()) -+ { -+ const SwFlyFrame* pFlyFrame = static_cast(pFrame); -+ SwFrameFormat* pShape -+ = SwTextBoxHelper::getOtherTextBoxFormat(pFlyFrame->GetFormat(), RES_FLYFRMFMT); -+ if (pShape) -+ { -+ SdrObject* pObject = pShape->FindRealSdrObject(); -+ if (pObject) -+ { -+ // Work with the fill attributes of the shape of the fly frame. -+ rFillAttributes.reset( -+ new drawinglayer::attribute::SdrAllFillAttributesHelper( -+ pObject->GetMergedItemSet())); -+ bTextBox = true; -+ } -+ } -+ } -+ -+ if (!bTextBox) -+ rFillAttributes = pFrame->getSdrAllFillAttributesHelper(); -+ } - const SvxBrushItem &rBack = pFrame->GetAttrSet()->GetBackground(); - - if( pFrame->IsSctFrame() ) -diff --git a/writerfilter/source/dmapper/GraphicImport.cxx b/writerfilter/source/dmapper/GraphicImport.cxx -index b6c11b5..6830e9d 100644 ---- a/writerfilter/source/dmapper/GraphicImport.cxx -+++ b/writerfilter/source/dmapper/GraphicImport.cxx -@@ -1065,10 +1065,12 @@ - break; - case NS_ooxml::LN_CT_SizeRelH_pctWidth: - case NS_ooxml::LN_CT_SizeRelV_pctHeight: -- if (m_xShape.is() && !m_pImpl->m_rPositivePercentages.empty()) -+ if (m_pImpl->m_rPositivePercentages.empty()) -+ break; -+ -+ if (m_xShape.is()) - { - sal_Int16 nPositivePercentage = rtl::math::round(m_pImpl->m_rPositivePercentages.front().toDouble() / oox::drawingml::PER_PERCENT); -- m_pImpl->m_rPositivePercentages.pop(); - - if (nPositivePercentage) - { -@@ -1077,6 +1079,10 @@ - xPropertySet->setPropertyValue(aProperty, uno::makeAny(nPositivePercentage)); - } - } -+ -+ // Make sure the token is consumed even if xShape is an empty -+ // reference. -+ m_pImpl->m_rPositivePercentages.pop(); - break; - case NS_ooxml::LN_EG_WrapType_wrapNone: // 90944; - doesn't contain attributes - //depending on the behindDoc attribute text wraps through behind or in front of the object -diff --git a/sw/source/core/layout/anchoreddrawobject.cxx b/sw/source/core/layout/anchoreddrawobject.cxx -index dfbdce3..ca5014f 100644 ---- a/sw/source/core/layout/anchoreddrawobject.cxx -+++ b/sw/source/core/layout/anchoreddrawobject.cxx -@@ -32,6 +32,8 @@ - #include - #include - #include -+#include -+#include - - using namespace ::com::sun::star; - -@@ -661,9 +663,22 @@ - - bool bEnableSetModified = pDoc->getIDocumentState().IsEnableSetModified(); - pDoc->getIDocumentState().SetEnableSetModified(false); -- const_cast< SdrObject* >( GetDrawObj() )->Resize( aCurrObjRect.TopLeft(), -+ auto pObject = const_cast(GetDrawObj()); -+ pObject->Resize( aCurrObjRect.TopLeft(), - Fraction( nTargetWidth, aCurrObjRect.GetWidth() ), - Fraction( nTargetHeight, aCurrObjRect.GetHeight() ), false ); -+ -+ if (SwFrameFormat* pFrameFormat = FindFrameFormat(pObject)) -+ { -+ if (SwTextBoxHelper::isTextBox(pFrameFormat, RES_DRAWFRMFMT)) -+ { -+ // Shape has relative size and also a textbox, update its text area as well. -+ uno::Reference xShape(pObject->getUnoShape(), uno::UNO_QUERY); -+ SwTextBoxHelper::syncProperty(pFrameFormat, RES_FRM_SIZE, MID_FRMSIZE_SIZE, -+ uno::makeAny(xShape->getSize())); -+ } -+ } -+ - pDoc->getIDocumentState().SetEnableSetModified(bEnableSetModified); - } - } -diff --git a/sw/source/core/access/accpara.cxx b/sw/source/core/access/accpara.cxx -index 0d60a9d..83527b5 100644 ---- a/sw/source/core/access/accpara.cxx -+++ b/sw/source/core/access/accpara.cxx -@@ -998,7 +998,7 @@ - drawinglayer::attribute::SdrAllFillAttributesHelperPtr aFillAttributes; - - if ( pFrame && -- pFrame->GetBackgroundBrush( aFillAttributes, pBackgrdBrush, pSectionTOXColor, aDummyRect, false ) ) -+ pFrame->GetBackgroundBrush( aFillAttributes, pBackgrdBrush, pSectionTOXColor, aDummyRect, false, /*bConsiderTextBox=*/false ) ) - { - if ( pSectionTOXColor ) - { -diff --git a/sw/source/core/doc/notxtfrm.cxx b/sw/source/core/doc/notxtfrm.cxx -index 4a5176d..fd21b43 100644 ---- a/sw/source/core/doc/notxtfrm.cxx -+++ b/sw/source/core/doc/notxtfrm.cxx -@@ -187,7 +187,7 @@ - SwRect aOrigRect; - drawinglayer::attribute::SdrAllFillAttributesHelperPtr aFillAttributes; - -- if ( rFrame.GetBackgroundBrush( aFillAttributes, pItem, pCol, aOrigRect, false ) ) -+ if ( rFrame.GetBackgroundBrush( aFillAttributes, pItem, pCol, aOrigRect, false, /*bConsiderTextBox=*/false ) ) - { - SwRegionRects const region(rPtArea); - basegfx::utils::B2DClipState aClipState; -diff --git a/sw/source/core/inc/frame.hxx b/sw/source/core/inc/frame.hxx -index 25b65a9..bb5d731 100644 ---- a/sw/source/core/inc/frame.hxx -+++ b/sw/source/core/inc/frame.hxx -@@ -555,7 +555,8 @@ - const SvxBrushItem*& rpBrush, - const Color*& rpColor, - SwRect &rOrigRect, -- bool bLowerMode ) const; -+ bool bLowerMode, -+ bool bConsiderTextBox ) const; - - inline void SetCompletePaint() const; - inline void ResetCompletePaint() const; -diff --git a/sw/source/core/layout/paintfrm.cxx b/sw/source/core/layout/paintfrm.cxx -index 4c54017..fedcd36 100644 ---- a/sw/source/core/layout/paintfrm.cxx -+++ b/sw/source/core/layout/paintfrm.cxx -@@ -3783,7 +3783,7 @@ - SwRect aDummyRect; - drawinglayer::attribute::SdrAllFillAttributesHelperPtr aFillAttributes; - -- if ( GetBackgroundBrush( aFillAttributes, pBackgrdBrush, pSectionTOXColor, aDummyRect, false) ) -+ if ( GetBackgroundBrush( aFillAttributes, pBackgrdBrush, pSectionTOXColor, aDummyRect, false, /*bConsiderTextBox=*/false) ) - { - if ( pSectionTOXColor && - (pSectionTOXColor->GetTransparency() != 0) && -@@ -6364,7 +6364,7 @@ - bool bLowMode = true; - drawinglayer::attribute::SdrAllFillAttributesHelperPtr aFillAttributes; - -- bool bBack = GetBackgroundBrush( aFillAttributes, pItem, pCol, aOrigBackRect, bLowerMode ); -+ bool bBack = GetBackgroundBrush( aFillAttributes, pItem, pCol, aOrigBackRect, bLowerMode, /*bConsiderTextBox=*/false ); - //- Output if a separate background is used. - bool bNoFlyBackground = !gProp.bSFlyMetafile && !bBack && IsFlyFrame(); - if ( bNoFlyBackground ) -@@ -6374,7 +6374,7 @@ - // disabled this option with the parameter - if ( bLowerMode ) - { -- bBack = GetBackgroundBrush( aFillAttributes, pItem, pCol, aOrigBackRect, false ); -+ bBack = GetBackgroundBrush( aFillAttributes, pItem, pCol, aOrigBackRect, false, /*bConsiderTextBox=*/false ); - } - // If still no background found for the fly frame, initialize the - // background brush with global retouche color and set -@@ -7164,7 +7164,7 @@ - SwRect aDummyRect; - drawinglayer::attribute::SdrAllFillAttributesHelperPtr aFillAttributes; - -- if ( GetBackgroundBrush( aFillAttributes, pBrushItem, pDummyColor, aDummyRect, true) ) -+ if ( GetBackgroundBrush( aFillAttributes, pBrushItem, pDummyColor, aDummyRect, true, /*bConsiderTextBox=*/false) ) - { - if(aFillAttributes.get() && aFillAttributes->isUsed()) - { -@@ -7328,6 +7328,10 @@ - * input parameter - boolean indicating, if background brush should *not* be - * taken from parent. - * -+ * @param bConsiderTextBox -+ * consider the TextBox of this fly frame (if there is any) when determining -+ * the background color, useful for automatic font color. -+ * - * @return true, if a background brush for the frame is found - */ - bool SwFrame::GetBackgroundBrush( -@@ -7335,7 +7339,8 @@ - const SvxBrushItem* & rpBrush, - const Color*& rpCol, - SwRect &rOrigRect, -- bool bLowerMode ) const -+ bool bLowerMode, -+ bool bConsiderTextBox ) const - { - const SwFrame *pFrame = this; - SwViewShell *pSh = getRootFrame()->GetCurrShell(); -@@ -7349,8 +7354,8 @@ - - if (pFrame->supportsFullDrawingLayerFillAttributeSet()) - { -- bool bTextBox = false; -- if (pFrame->IsFlyFrame()) -+ bool bHandledTextBox = false; -+ if (pFrame->IsFlyFrame() && bConsiderTextBox) - { - const SwFlyFrame* pFlyFrame = static_cast(pFrame); - SwFrameFormat* pShape -@@ -7364,12 +7369,12 @@ - rFillAttributes.reset( - new drawinglayer::attribute::SdrAllFillAttributesHelper( - pObject->GetMergedItemSet())); -- bTextBox = true; -+ bHandledTextBox = true; - } - } - } - -- if (!bTextBox) -+ if (!bHandledTextBox) - rFillAttributes = pFrame->getSdrAllFillAttributesHelper(); - } - const SvxBrushItem &rBack = pFrame->GetAttrSet()->GetBackground(); -diff --git a/sw/source/core/text/inftxt.cxx b/sw/source/core/text/inftxt.cxx -index de13147..8001e94 100644 ---- a/sw/source/core/text/inftxt.cxx -+++ b/sw/source/core/text/inftxt.cxx -@@ -534,7 +534,7 @@ - // See implementation in /core/layout/paintfrm.cxx - // There is a background color, if there is a background brush and - // its color is *not* "no fill"/"auto fill". -- if( rInf.GetTextFrame()->GetBackgroundBrush( aFillAttributes, pItem, pCol, aOrigBackRect, false ) ) -+ if( rInf.GetTextFrame()->GetBackgroundBrush( aFillAttributes, pItem, pCol, aOrigBackRect, false, /*bConsiderTextBox=*/false ) ) - { - if ( !pCol ) - pCol = &pItem->GetColor(); -diff --git a/sw/source/core/txtnode/fntcache.cxx b/sw/source/core/txtnode/fntcache.cxx -index a7484a5..a6d89f1 100644 ---- a/sw/source/core/txtnode/fntcache.cxx -+++ b/sw/source/core/txtnode/fntcache.cxx -@@ -2510,7 +2510,7 @@ - /// OD 21.08.2002 #99657# - /// There is a user defined setting for the background, if there - /// is a background brush and its color is *not* "no fill"/"auto fill". -- if( GetFrame()->GetBackgroundBrush( aFillAttributes, pItem, pCol, aOrigBackRect, false ) ) -+ if( GetFrame()->GetBackgroundBrush( aFillAttributes, pItem, pCol, aOrigBackRect, false, /*bConsiderTextBox=*/true ) ) - { - if (aFillAttributes.get() && aFillAttributes->isUsed()) - { diff --git a/libreoffice.changes b/libreoffice.changes index 7169f0f..dbecb3e 100644 --- a/libreoffice.changes +++ b/libreoffice.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Mon Apr 23 08:32:48 UTC 2018 - tchvatal@suse.com + +- Drop patch bnc1083525.patch merged upstream + ------------------------------------------------------------------- Fri Apr 20 12:39:00 UTC 2018 - tchvatal@suse.com diff --git a/libreoffice.spec b/libreoffice.spec index 3324beb..159c5a8 100644 --- a/libreoffice.spec +++ b/libreoffice.spec @@ -107,10 +107,8 @@ Patch5: 0001-Use-PYTHON_FOR_BUILD-instead-of-calling-python-direc.patch Patch7: bnc1039203.patch # LO-L3: Slide with chart has some strange (too large?) elements (PPTX) Patch8: bnc1060128.patch -# LO-L3: DOCX import: missing table background color -Patch9: bnc1083525.patch # PATCH-FROM-UPSTREAM fix build with new icu -Patch10: libreoffice-icu61.patch +Patch9: libreoffice-icu61.patch # try to save space by using hardlinks Patch990: install-with-hardlinks.diff BuildRequires: %{name}-share-linker @@ -913,7 +911,6 @@ Provides additional %{langname} translations and resources for %{project}. \ %patch7 -p1 %patch8 -p1 %patch9 -p1 -%patch10 -p1 %patch990 -p1 # Disable some of the failing tests (some are random) From fd16999e1ff823dbceef051d0a982f7041cf1566de114d7a23f69830794c6816 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tom=C3=A1=C5=A1=20Chv=C3=A1tal?= Date: Wed, 25 Apr 2018 07:33:37 +0000 Subject: [PATCH 6/7] Accepting request 600810 from home:Guillaume_G:branches:openSUSE:Factory:ARM - Remove aarch64 condition in _constraints OBS-URL: https://build.opensuse.org/request/show/600810 OBS-URL: https://build.opensuse.org/package/show/LibreOffice:Factory/libreoffice?expand=0&rev=651 --- _constraints | 15 --------------- libreoffice.changes | 5 +++++ 2 files changed, 5 insertions(+), 15 deletions(-) diff --git a/_constraints b/_constraints index 2b787e9..c098220 100644 --- a/_constraints +++ b/_constraints @@ -7,19 +7,4 @@ 25 - - - - aarch64 - - - - 2000 - - - 15 - - - - diff --git a/libreoffice.changes b/libreoffice.changes index dbecb3e..b738710 100644 --- a/libreoffice.changes +++ b/libreoffice.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Wed Apr 25 06:27:49 UTC 2018 - guillaume.gardet@opensuse.org + +- Remove aarch64 condition in _constraints + ------------------------------------------------------------------- Mon Apr 23 08:32:48 UTC 2018 - tchvatal@suse.com From c2254d7fac160520863ee6735e498b34becb838fb16e46abe453da017c5fb7ba Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tom=C3=A1=C5=A1=20Chv=C3=A1tal?= Date: Wed, 25 Apr 2018 08:47:27 +0000 Subject: [PATCH 7/7] - Do not require update-desktop-files on 15+ bsc#1090737 OBS-URL: https://build.opensuse.org/package/show/LibreOffice:Factory/libreoffice?expand=0&rev=652 --- libreoffice.changes | 5 +++++ libreoffice.spec | 12 ++++++++++-- 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/libreoffice.changes b/libreoffice.changes index b738710..06ed87e 100644 --- a/libreoffice.changes +++ b/libreoffice.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Wed Apr 25 08:46:16 UTC 2018 - tchvatal@suse.com + +- Do not require update-desktop-files on 15+ bsc#1090737 + ------------------------------------------------------------------- Wed Apr 25 06:27:49 UTC 2018 - guillaume.gardet@opensuse.org diff --git a/libreoffice.spec b/libreoffice.spec index 159c5a8..c6feb96 100644 --- a/libreoffice.spec +++ b/libreoffice.spec @@ -232,8 +232,6 @@ Requires: libreoffice-branding >= 6.0 Requires: libreoffice-icon-themes = %{version} Requires: libreoffice-l10n-en = %{version} Requires: python3 -Requires(post): update-desktop-files -Requires(postun): update-desktop-files Recommends: dejavu-fonts Recommends: google-carlito-fonts Provides: %{name}-draw-extensions = %{version} @@ -255,6 +253,10 @@ Obsoletes: %{name}-icon-theme-crystal < %{version} Provides: %{name}-icon-theme-oxygen = %{version} Obsoletes: %{name}-icon-theme-oxygen < %{version} ExclusiveArch: aarch64 %{ix86} x86_64 +%if 0%{?suse_version} < 1500 +Requires(post): update-desktop-files +Requires(postun): update-desktop-files +%endif %if %{with gtk3} BuildRequires: pkgconfig(glib-2.0) >= 2.40 BuildRequires: pkgconfig(gtk+-3.0) @@ -1284,9 +1286,11 @@ export SRCDIR="./" %post /sbin/ldconfig +%if 0%{?suse_version} < 1500 %mime_database_post %desktop_database_post %icon_theme_cache_post +%endif %preun uno_cache="%{_libdir}/%{name}/share/uno_packages/cache/uno_packages/" @@ -1297,10 +1301,13 @@ exit 0 %postun /sbin/ldconfig +%if 0%{?suse_version} < 1500 %icon_theme_cache_postun %desktop_database_postun %mime_database_postun +%endif +%if 0%{?suse_version} < 1500 %post base %desktop_database_post @@ -1336,6 +1343,7 @@ exit 0 %postun writer %desktop_database_postun +%endif %_link_noarch_files icon-themes