[OpenWrt-Devel] [PATCH] [packages] Davfs2: added new package version 1.5

Federico Di Marco fededim at gmail.com
Tue Aug 5 10:47:00 EDT 2014

From: Federico Di Marco <fededim at gmail.com>

Body of explanation:
A new package has been added in packages feed under net/davfs2
directory, porting a simple tool to mount a WebDAV resource as a
regular file system (please see
https://savannah.nongnu.org/projects/davfs2/ ) to OpenWRT. There was
also a previous ticket requesting the porting of this tool

The patch consists of the following files:
- Makefile: standard makefile of OpenWRT packages which downloads from
the source code and compiles it into a package using the
- files/davfs2.conf: configuration file for davfs2
- patches/010-main_code_fix.patch: minor fixes to allow the source
code to compile under uClibc (remove rpmatch function not present in
uclibc and other small corrections)

Developer's Certificate of Origin 1.1

By making a contribution to this project, I certify that:

(a) The contribution was created in whole or in part by me and I
    have the right to submit it under the open source license
    indicated in the file; or

(b) The contribution is based upon previous work that, to the best
    of my knowledge, is covered under an appropriate open source
    license and I have the right under that license to submit that
    work with modifications, whether created in whole or in part
    by me, under the same open source license (unless I am
    permitted to submit under a different license), as indicated
    in the file; or

(c) The contribution was provided directly to me by some other
    person who certified (a), (b) or (c) and I have not modified

(d) I understand and agree that this project and the contribution
    are public and that a record of the contribution (including all
    personal information I submit with it, including my sign-off) is
    maintained indefinitely and may be redistributed consistent with
    this project or the open source license(s) involved.

Signed-off-by: Federico Di Marco <fededim at gmail.com>


Diff output (according to https://dev.openwrt.org/wiki/SubmittingPatches/Diff)

diff -uprN packages/net/davfs2/files/davfs2.conf
--- packages/net/davfs2/files/davfs2.conf 1970-01-01 01:00:00.000000000 +0100
+++ mypackages/net/davfs2/files/davfs2.conf 2014-08-05 16:32:10.767885118 +0200
@@ -0,0 +1,9 @@
+# davfs2 configuration file
+# please see http://linux.die.net/man/5/davfs2.conf for details
+dav_user nobody
+dav_group nogroup
+cache_dir /tmp/davfs2
+cache_size 4
diff -uprN packages/net/davfs2/Makefile mypackages/net/davfs2/Makefile
--- packages/net/davfs2/Makefile 1970-01-01 01:00:00.000000000 +0100
+++ mypackages/net/davfs2/Makefile 2014-08-05 16:32:10.767885118 +0200
@@ -0,0 +1,74 @@
+# Copyright (C) 2006-2011 OpenWrt.org
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+include $(TOPDIR)/rules.mk
+PKG_CAT :=zcat
+include $(INCLUDE_DIR)/package.mk
+define Package/davfs2
+  SECTION:=net
+  CATEGORY:=Network
+  SUBMENU:=Filesystem
+  DEPENDS=+libopenssl +libneon +libiconv +libintl +libexpat +kmod-fuse
+  TITLE:=Mount a WebDAV resource as a regular file system.
+  URL:=http://savannah.nongnu.org/projects/davfs2/
+define Package/davfs2/description
+Web Distributed Authoring and Versioning (WebDAV), an extension to
the HTTP-protocol, allows authoring of resources
+on a remote web server. davfs2 provides the ability to access such
resources like a typical filesystem, allowing
+for use by standard applications with no built-in support for WebDAV.
+davfs2 is designed to fully integrate into the filesystem semantics
of Unix-like systems (mount, umount, etc.).
+davfs2 makes mounting by unprivileged users as easy and secure as possible.
+davfs2 does extensive caching to make the file system responsive, to
avoid unnecessary network traffic and
+to prevent data loss, and to cope for slow or unreliable connections.
+davfs2 will work with most WebDAV servers needing little or no configuration.
+define Package/davfs2/conffiles
+TARGET_CFLAGS += -I$(STAGING_DIR)/usr/include
+#        CXXFLAGS="-nostdinc++"  \
+# LIBS="-lgcc -lc -luClibc++ -lgcc_s"
+define Build/Configure
+  $(call Build/Configure/Default,--with-neon="$(STAGING_DIR)/usr")
+define Package/davfs2/install
+ $(INSTALL_DIR) $(1)/usr/sbin
+ $(INSTALL_BIN) $(PKG_BUILD_DIR)/src/mount.davfs $(1)/usr/sbin/
+ $(INSTALL_BIN) $(PKG_BUILD_DIR)/src/umount.davfs $(1)/usr/sbin/
+ $(INSTALL_DIR) $(1)/etc
+ $(INSTALL_DIR) $(1)/etc/davfs2
+ $(INSTALL_DATA) files/$(PKG_NAME).conf $(1)/etc/davfs2
+$(eval $(call BuildPackage,davfs2))
diff -uprN packages/net/davfs2/patches/010-main_code_fix.patch
--- packages/net/davfs2/patches/010-main_code_fix.patch 1970-01-01
01:00:00.000000000 +0100
+++ mypackages/net/davfs2/patches/010-main_code_fix.patch 2014-08-05
16:32:10.763885018 +0200
@@ -0,0 +1,33 @@
+--- a/src/cache.c
++++ b/src/cache.c
+@@ -55,7 +55,7 @@
+ #include <sys/types.h>
+ #endif
+-#include <sys/xattr.h>
++#include <linux/xattr.h>
+ #include <ne_alloc.h>
+ #include <ne_string.h>
+--- a/src/webdav.c
++++ b/src/webdav.c
+@@ -2056,7 +2056,7 @@ ssl_verify(void *userdata, int failures,
+             len = getline(&s, &n, stdin);
+             if (len < 0)
+                 abort();
+-            if (rpmatch(s) > 0)
++            if ((s[0]=='y' || s[0]=='Y') > 0)
+                 ret = 0;
+             free(s);
+     }
+--- a/src/webdav.h
++++ b/src/webdav.h
+@@ -244,7 +244,7 @@ dav_put(const char *path, const char *ca
+    If quota information is not
+    available, an error is returned and available and used are not changed. */
+ int
+-dav_quota(const char *path, off_t *total, off_t *used);
++dav_quota(const char *path, off64_t *total, off64_t *used);
+ /* Sets or resets the execute property of file path.
diff -uprN packages/net/davfs2/patches/series
--- packages/net/davfs2/patches/series 1970-01-01 01:00:00.000000000 +0100
+++ mypackages/net/davfs2/patches/series 2014-08-05 16:32:10.767885118 +0200
@@ -0,0 +1 @@
openwrt-devel mailing list
openwrt-devel at lists.openwrt.org

More information about the openwrt-devel mailing list