When the default value was empty, @ENABLE_DEBUG@ in loolwsd.xml.in
was substituted to empty string, not to "false" as intended in release
builds. As a consequence, in new installations, the loading of the
loleaflet.html gave 400 Bad request error with a not very helpful
error message:
wsd-00922-00928 2019-11-24 16:05:55.384859 [ websrv_poll ] INF #23 Exception while processing incoming request: [POST /loleaflet/08aa7d914/loleaflet.html?WOPISrc=http%3A%2F%2F172.22.64.173%2Findex.php%2Fapps%2F...]: Syntax error| wsd/LOOLWSD.cpp:2244euex4o&title=About.odt&lang=en&closebutton=1&revisionhistory=1 HTTP/1.1
Change-Id: Ia8bb18914bb49af057c4618f99124b0f22737f20
It turns out that the std::filesystem is still not part of the NDK:
https://github.com/android/ndk/issues/609
The NDK has the header - but not the c++fs library yet :-(
Change-Id: Ic7003f71cd4730b2f34138adea3b09fe92fdbb4a
Reviewed-on: https://gerrit.libreoffice.org/82336
Reviewed-by: Jan Holesovsky <kendy@collabora.com>
Tested-by: Jan Holesovsky <kendy@collabora.com>
This introduces basic C++17 support, because the functionality needed
here is easy to implement using std::filesystem.
Adds also the necessary checks to ./configure. The code still uses POCO
when C++17 is not available in the compiler.
Change-Id: I03353834d10201bf0a13ea72715560b9b9b16265
Reviewed-on: https://gerrit.libreoffice.org/82294
Reviewed-by: Jan Holesovsky <kendy@collabora.com>
Tested-by: Jan Holesovsky <kendy@collabora.com>
When building the iOS app my way, I do the J bits on a Linux box and
not on the Mac, thus I don't need any Python stuff on the Mac.
Change-Id: Ib8092870598fb3a8f304aefa8fab21fe7e3acc73
Reviewed-on: https://gerrit.libreoffice.org/82018
Reviewed-by: Tor Lillqvist <tml@collabora.com>
Tested-by: Tor Lillqvist <tml@collabora.com>
Without this the linking with static poco libs failed on Ubuntu
16.04 and 18.04. Interestingly on other distros, including Debian
8, 9, 10, and CentOS 7, 8, and openSUSE, this patch was not necessary.
Change-Id: I96c90ab5e960e8843db9b835f6e1a0417c7b48f8
Reviewed-on: https://gerrit.libreoffice.org/81836
Reviewed-by: Andras Timar <andras.timar@collabora.com>
Tested-by: Andras Timar <andras.timar@collabora.com>
The test program did not compile because of
error: unused parameter 'argc' [-Werror=unused-parameter]
As result, we always linked with -lpcre.
Change-Id: I7557025cc56fb72fc2a9f8de6142de93cfed2335
They are needed since commit
c1e04e4069
("scripts/unocommands.py: Switch to python3"),
so add a corresponding check to configure.ac.
Change-Id: If0f1d2b474c3edb3fc63dc54292acd54f096b822
Reviewed-on: https://gerrit.libreoffice.org/81473
Reviewed-by: Jan Holesovsky <kendy@collabora.com>
Tested-by: Michael Weghorn <m.weghorn@posteo.de>
It was not very useful to let this setting configurable by the user.
On the other hand, old path in config file caused issues after
upgrade. It is better to decide the location of LOKit core
during compilation. From now on the --with-lo-path configure
option is compulsory.
Change-Id: Icdcbc21bde5dad329fdb6e30ed17efde6b0e73de
Reviewed-on: https://gerrit.libreoffice.org/79943
Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
Tested-by: Andras Timar <andras.timar@collabora.com>
It is now possible to run ./configure --with-sanitizer=address
(or any least of valid sanitizers) to build with sanitizers.
When --with-sanitizer is specified, we build with -O1 and
don't omit frame-pointer. We also enable RTTI (which should
be enabled anyway, but just in case).
UBSan (undefined) sanitizer can cause 'typeinfo' errors.
Fixing the source is best, but as a workaround, disabling
vptr sanitizer works. Just pass -fno-sanitize=vptr to CFLAGS
and CXXFLAGS.
Change-Id: I4031aa872b1b1ef779703135394f3733952e5cd1
Reviewed-on: https://gerrit.libreoffice.org/79329
Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
Tested-by: Ashod Nakashian <ashnakash@gmail.com>
This simplifies the anonymization configuration
as virtually always they are all either enabled
together, or not at all.
Change-Id: I6fe60f5287fc5d71cd7a6ac3268eac67e5e6e9fb
Reviewed-on: https://gerrit.libreoffice.org/70033
Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
Tested-by: Ashod Nakashian <ashnakash@gmail.com>
Reviewed-on: https://gerrit.libreoffice.org/71090
This way, it is more naturally visible what is the actuall app (with the
initial recent documents / file picker) and the editing part.
Change-Id: Ia764f2900939e980f703e3da9f9abd6c0aee7cbb
This is needed for the Android app too, so generalize the switch.
Kill copying of the example documents into the APK when at that...
Change-Id: I5b575ade3e40cc0becd5c739077acff5299d3312
The change causes problems for people on various sad distros. Oh well,
whatever.
This reverts commit bd00d9fd05.
This reverts commit 054a9cdb04.
Change-Id: Ie439e4c655d02b6f34bdd1a9c1c5b6db6048b653
It is is complicated enough to build the iOS app. Requiring GNU
libtool brings with it the risk of polluting the command environment
as there already is a completely different command in macOS with the
same name, /usr/bin/libtool. And as GNU libtool was used only to build
the unit tests for the "normal" server-based Online that are built and
run only on Linux anyway, we don't really need any of the
"portability" that GNU libtool brings.
Without GNU libtool, we compile all the $(wsd_sources) (see
test/Makefile.am) that the unit-* tests use into a single object file,
WsdSources.o. (Because they need to be compiled as PIC we can't use
the already compiled object files for the Online server programs.)
This required some additional minor changes to a few source files.
Change-Id: I20a2c523170376fa4c1a0d9d8d6b693a9779376f
Reviewed-on: https://gerrit.libreoffice.org/72840
Reviewed-by: Tor Lillqvist <tml@collabora.com>
Tested-by: Tor Lillqvist <tml@collabora.com>
As discussed on IRC: This leads to incompatible changes (config directory changed) and instead we will use loolwsd on master branch too from now on.
This reverts commit 1dbbc5acc7.
Change-Id: Ifa38144f830578c12cda7454354b60d09426e704
Reviewed-on: https://gerrit.libreoffice.org/72734
Reviewed-by: Samuel Mehrbrodt <Samuel.Mehrbrodt@cib.de>
Tested-by: Samuel Mehrbrodt <Samuel.Mehrbrodt@cib.de>
The name on master is "loolwsd" while the official relase branches
(libreoffice-6-2 e.g.) have "libreoffice-online".
This leads to various issues, e.g. some scripts expect the config files
to be in /etc/loolwsd while changing the name also changes that folder name
to /etc/libreoffice-online.
So at least docker builds from the release branches don't work.
The package name should be consistent, either we use "libreoffice-online"
on master also, or we change the release branches to also use "loolwsd".
My preference is to have "libreoffice-online" as the name. "loolwsd" is an
internal term and hard to associate with LibreOffice online for "outsiders".
Change-Id: I1b1efda2fa6083f1a0d211fd73f1fa062f3286cc
Reviewed-on: https://gerrit.libreoffice.org/72590
Reviewed-by: Samuel Mehrbrodt <Samuel.Mehrbrodt@cib.de>
Tested-by: Samuel Mehrbrodt <Samuel.Mehrbrodt@cib.de>
A configure argument, --with-iosapp-branding, should point to a
directory containing a branding.css file and possibly other files that
branding.css references, to be bundled and used by the iOS app. The
directory structure ends upp in the app bundle as Branding. The
generated loleaflet.html for the iOS app references
Branding/branding.css unconditionally.
Preparation for using it on Android too.
Change-Id: Iee7778b2625a02a98daff5df87c39f4ab1d18144
Reviewed-on: https://gerrit.libreoffice.org/70651
Reviewed-by: Tor Lillqvist <tml@collabora.com>
Tested-by: Tor Lillqvist <tml@collabora.com>
This is necessary after 338563ab45
Change-Id: I026dba613349931a95fd71b126e72605d1546140
Reviewed-on: https://gerrit.libreoffice.org/70054
Reviewed-by: Alexandru Vlăduţu <alexandru.vladutu@1and1.ro>
Reviewed-by: Michael Meeks <michael.meeks@collabora.com>
Tested-by: Michael Meeks <michael.meeks@collabora.com>
When you want to build a new version for distribution, bump the
build number in the BUNDLE-VERSION file.
Change-Id: I1e7e55528aef6d3526ce14d070ae96abc5931f38
Tool to automatically reload used .css and .js files.
To make it work symlinks are created instead of a copy
if browsersync is enabled.
1. install:
npm install -g browser-sync
2. use configure option: --enable-browsersync
3. remove loleaflet/dist directory
4. run server:
LOOL_SERVE_FROM_FS=1 make run -j10
5. run browsersync:
browser-sync start --config browsersync-config.js
or
make sync-writer
Change-Id: Iebee1cc0b9a03bc866954ff33e3cb8a10b48e0af
Sadly, it did not work as expected. Even if the LibreOffice core
source that are mentioned in project.pbxproh, and referred to using
the losrcdir-symlink, did show up in Xcode, setting breakpoints in
them did not work. A pathname to such a source file would include
"losrcdir-symlink" which woul not match the pathname actually compiled
in the corresponding binary. Or something like that. So we are back at
requiring manual editing of the LO core source directory path in
project.pbxproj.
This commit reverts part of 5f2a6f6aa3.
Change-Id: I15fb7363e287fdf4942ac9d362a7151202d0ee9d
On Linux, you use it just to process the JS bits, for copying them
over to the Mac where you build the app. (Because setting up npm and
whatnot on my Mac, from unknown 3rd parties, with unknown side
effects, semed a bit scary.)
Since some days, you need to run the configure script in a tree where
you are going to build the iOS app anyway (to set the app's
user-visible name). Use the configure script to set up a couple of
symbolic links pointing to the LibreOffice core source and build
directories and the Poco installation. Use those symbolic links in the
project file.
Also, now a vendor-specific app icon set can be given with the
--with-iosapp-appicon option.
Change-Id: Ib936388a4cc680bd97ca6ef95a91e3296ab04d18
Take the user-visible name of the iOS app as a configure parameter
--with-iosapp-name. The only purpose of running the configure script
in this case is to get that expanded into the Info.plist file.
You need autofoo to build LibreOffice core for iOS anyway, so this
doesn't really add any new hurdles for a potential developer who wants
to build the iOS app
Bypass some checks that aren't relevant (and would fail) in this case.
Could bypass a lot more of configure.ac in the ENABLE_IOSAPP case.
Change-Id: Ia0cb82ad552da1bb597411748f0cd74f825774fa
And inform the user of the anonymization level.
Reviewed-on: https://gerrit.libreoffice.org/56567
Reviewed-by: Jan Holesovsky <kendy@collabora.com>
Tested-by: Jan Holesovsky <kendy@collabora.com>
(cherry picked from commit 13f3b7848f9cd77dc7a1e82f0fba656dbd503b4c)
Change-Id: I95cf832d5c4103744207214ffbf4e85d177ff190
This prevents disabling from loolwsd.xml when
the flags to anonymize are baked in at compile time.
Change-Id: If38ad3815bc9f18ed51b6626fc8c03528e7b8327
Reviewed-on: https://gerrit.libreoffice.org/56089
Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
Tested-by: Ashod Nakashian <ashnakash@gmail.com>
(cherry picked from commit 8844d238f1c7a0bd71f6ddd3b59f4ea18bf3bdbb)
The idea is that on a Linux box you have a tree of online that you
configure with --enable-iosapp. Then running 'make' there will only
create the stuff in loleaflet/dist. That loleaflet/dist can then be
copied to the Mac where you build the iOS app.
(To me, this approach seemed for now simpler than to get all the
PKG_CONFIG etc stuff working that running configure normally requires,
and run all the node, npm, and associated crack, on a Mac.)
Change-Id: Id2e495d0521922d0666fdab5fdcb5fcd460136f1
The embedded ODF thumbnail in documents produced by OOo or LO is too
small (max 256 pixels) to be useful in general, so let's not bother.
This reverts commit 3a9e536dfa.
Change-Id: I503b61f85264b9be658064632ffd1f94518b2a3c
Concatenate and minify all javascript files in the release build but not
in the debug build. Also, it is enabled to use a build directory
Change-Id: Ia120447a827cfe236241ddf188bf43a088f877a7
Reviewed-on: https://gerrit.libreoffice.org/52802
Reviewed-by: pranavk <pranavk@collabora.co.uk>
Tested-by: pranavk <pranavk@collabora.co.uk>
Build will fail for nodejs 4 anyway, so fail early in configure.
Change-Id: I0be746454cd21401195f8bf72a4eb107a3433fd7
Reviewed-on: https://gerrit.libreoffice.org/50889
Reviewed-by: Andras Timar <andras.timar@collabora.com>
Tested-by: Andras Timar <andras.timar@collabora.com>
To be able to set the support key directly from the command line, and to show
the option, etc.
Change-Id: Iac93bc47a6f4b9d5a5ad0ac8b06bda978e01b760
Reviewed-on: https://gerrit.libreoffice.org/43098
Reviewed-by: Michael Meeks <michael.meeks@collabora.com>
Tested-by: Michael Meeks <michael.meeks@collabora.com>
Also check for C++11 support, and remove an unneeded dlopen check (we check for
dlopen earlier in the configure.ac).
Change-Id: I76c25a25d22987ad6a1de309c3edd6ef2ea2b64d
Reviewed-on: https://gerrit.libreoffice.org/40952
Reviewed-by: Jan Holesovsky <kendy@collabora.com>
Tested-by: Jan Holesovsky <kendy@collabora.com>