Feature #3188
closedlighttpd-mod-webdav dependency to SQLite
Description
In OpenWrt the lighttpd-mod-webdav depends on libsqlite3-0
As far I understood it's needed only for locks. I don't use the locks but still need to configure the webdav.sqlite-db-name
Maybe it's possible to make this dependency not required?
Updated by gstrauss over 2 years ago
- Status changed from New to Invalid
- Target version deleted (
1.4.xx)
As far I understood it's needed only for locks.
You do not understand and you did not read the documentation. mod_webdav#Installation
A database is needed for PROPPATCH for custom properties (and for PROPFIND of those custom properties set with PROPPATCH) as well as for LOCK and UNLOCK.
Supporting LOCK/UNLOCK is what makes lighttpd mod_webdav compliant with DAV Compliance Class 2, which is reported in OPTIONS
response header DAV: 1,2,3
You should ask questions in the lighttpd Forums instead of posting here.
You also should provide some basic justification for why you think setting webdav.sqlite-db-name
is onerous or needs to be avoided on your system.
Updated by gstrauss over 2 years ago
Maybe it's possible to make this dependency not required?
That is a question and does not belong here. Questions belong in the lighttpd Forums
Yes, it is possible. lighttpd supports building without libxml2 and sqlite3 dependencies.
To do this, you can build your own openwrt package of lighttpd with meson build options -Dwith-webdav-props=disabled
and -Dwith-webdav-locks=disabled
. You'll have to edit feeds/packages/net/lighttpd/Makefile
to set those options, which are enabled in the openwrt lighttpd Makefile by default when lighttpd-mod-webdav package is selected to be built.
Updated by stokito over 2 years ago
Thank you for the clarification.
I just had a feeling that it's overkill to have a DB just for something that I don't even need. Also I want to keep a disk space (libsqlite3.so is 909,371 bytes) and not load unnecessary libraries.
I tried to set the webdav.sqlite-db-name = "" and removed the libsqlite3 package but on a start I got the error:
Error loading shared library libsqlite3.so.0: No such file or directory (needed by /usr/lib/lighttpd/mod_webdav.so)
(../src/server.c.1285) loading plugins finally failed
So even if I don't use it I still need it to be installed.
Maybe this can be less strict and just ignore.
Anyway, this is a minor thing and nobody need it.
Thank you.
Updated by gstrauss over 2 years ago
Asked and answered: build the lighttpd openwrt package without those features. lighttpd supports building mod_webdav without those features.
Updated by gstrauss over 2 years ago
If you want to minimize the dependencies of openwrt lighttpd-mod-webdav package to have WebDAV without support for PROPPATCH, LOCK, and UNLOCK, then I would suggest that you write a small patch to openwrt/packages/net/lighttpd/Makefile
to add a new package lighttpd-mod-webdav-min, and patch lighttpd src/meson.build
to build a new mod_webdav_min.so alongside the existing lighttpd build of mod_webdav.so. If meson.build is patched properly, mod_webdav_min.so would be built without support for PROPPATCH, LOCK, and UNLOCK, and without link dependencies on libxml2 and libsqlite3. The OpenWRT build of lighttpd is not going to change lighttpd-mod-webdav, but if you write and propose a patch to github/openwrt as I described above, then there can be an additional package lighttpd-mod-webdav-min for you to use.
Also available in: Atom