[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
(https://dev.openwrt.org/ticket/12843)

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
uClibc++.
- 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)


Sign-off:
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
    it.

(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
mypackages/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_NAME:=davfs2
+PKG_VERSION:=1.5.0
+PKG_RELEASE:=1
+
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
+PKG_SOURCE_URL:=http://download.savannah.gnu.org/releases/davfs2/
+#PKG_MD5SUM:=0892fbf993407c6b5a16f96e23299b62
+PKG_INSTALL_DIR:=$(PKG_BUILD_DIR)/ipkg-install
+PKG_BUILD_DIR :=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
+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/
+endef
+
+
+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.
+
+endef
+
+
+define Package/davfs2/conffiles
+/etc/davfs2/davfs2.conf
+endef
+
+TARGET_CFLAGS += -I$(STAGING_DIR)/usr/include
+
+CONFIGURE_VARS += \
+#        CXXFLAGS="-nostdinc++"  \
+       LDFLAGS="$(TARGET_LDFLAGS) -L$(TOOLCHAIN_DIR)/usr/lib
-L$(TOOLCHAIN_DIR)/lib" \
+# LIBS="-lgcc -lc -luClibc++ -lgcc_s"
+
+
+define Build/Configure
+  $(call Build/Configure/Default,--with-neon="$(STAGING_DIR)/usr")
+endef
+
+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
+endef
+
+$(eval $(call BuildPackage,davfs2))
diff -uprN packages/net/davfs2/patches/010-main_code_fix.patch
mypackages/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 @@
+ #ifdef HAVE_SYS_TYPES_H
+ #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
mypackages/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 @@
+010-main_code_fix.patch
_______________________________________________
openwrt-devel mailing list
openwrt-devel at lists.openwrt.org
https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel



More information about the openwrt-devel mailing list