Commit graph

6 commits

Author SHA1 Message Date
Ashod Nakashian
e1ff82324e docker: exec the startup script to intercept SIGTERM
Docker supports two methods of executing commands.
The existing approach was to run bash and give the
shell script to execute, which forks and execs another
shell instance to run the script. This means that the
script itself is not PID 1, rather the parent bash
instance is.
The second approach is to exec the script in the same
bash process, without a parent. This is exactly what
we want, because once our script is done, it execs
loolwsd, thereby making loolwsd PID 1.

All of this means that when the docker container is
stopped, and PID 1 is sent SIGTERM, loolwsd will
intercept it and gracefully shutdown.

Change-Id: I52ac63f7fba58d20d1c6f63c7e07dd18141c1af4
Signed-off-by: Ashod Nakashian <ashod.nakashian@collabora.co.uk>
2021-10-12 09:36:33 +02:00
Andras Timar
92f44a4695 On-disk cache was removed long ago, clean-up in packaging
Signed-off-by: Andras Timar <andras.timar@collabora.com>
Change-Id: I2eeaed12af6ac8789151b95a9c2a2aa1fd72573b
2021-01-26 21:10:50 +01:00
Martin Hoffmann
fff344afed fix build.sh: wrong directory after poco install
After compiling and installing poco the script is left in the wrong path, resulting core to be deployed underneath poco directory which breaks configure --with-lo-path later on.

Signed-off-by: Martin Hoffmann <mhoffmann@pro-nets.de>
Change-Id: I46c5b77e44eebead08c8a7fb857c229900a23570
2021-01-26 13:59:26 +01:00
Andras Timar
289a51db58 Fix #895: build poco from source, link poco statically, add openSUSE target, and other fixes
Signed-off-by: Andras Timar <andras.timar@collabora.com>
Change-Id: I525ee004771ad335e41e4602e044d4fd8d8a19bc
2021-01-11 11:46:52 +01:00
Michael Meeks
317dffb817 Optimize copy of jails to hard-linking with new capability.
In some cases we cannot do a fast bind-mount of the files we want
in our jail since we don't have cap_sys_admin for loolmount inside
eg. docker.

Thus we need to fallback to hard-linking, however various security
systems namespace parts of our tree, such that link() fails with
EXDEV even across the (apparently) same file-system.

As such we need to assemble a copy of what we want to hard-link
close to our jails. However, this needs to be owned by root / the
system to avoid having writable files shared between jails. Hence
we need cap_chown in addition to cap_fowner, to get ownership right
and then hard-link.

Change-Id: Iba0ef46ddbc1c03f3dc7177bc1ec1755624135db
Signed-off-by: Michael Meeks <michael.meeks@collabora.com>
2021-01-04 15:05:36 +00:00
Andras Timar
34b8ff08f6 Docker bits
Signed-off-by: Andras Timar <andras.timar@collabora.com>
Change-Id: I4b4d8f9d6ccb8648d5d75e6abff751d1b37e8773
2020-11-22 22:19:34 +01:00