Project

General

Profile

Actions

Feature #3188

closed

lighttpd-mod-webdav dependency to SQLite

Added by stokito over 2 years ago. Updated over 2 years ago.

Status:
Invalid
Priority:
Normal
Category:
mod_webdav
Target version:
-
ASK QUESTIONS IN Forums:
No

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?

Actions #1

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.

Actions #2

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.

Actions #3

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.

Actions #4

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.

Actions #5

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.

Actions

Also available in: Atom