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

Federico Di Marco fededim at gmail.com
Wed Aug 6 06:42:40 EDT 2014


Ok, I just wanted to check that the davfs2 could be of enough interest
to be included it in the openwrt distribution. I'll make a new PR also
for this package.

On Wed, Aug 6, 2014 at 12:29 PM, Etienne Champetier
<champetier.etienne at gmail.com> wrote:
> Hi Federico,
> For all packages in the packages feeds, please use PR on github.
> Also no need to copy paste the developer's certificate of origin, just put
> the signed-off-by line
>
> Le 6 août 2014 11:29, "Federico Di Marco" <fededim at gmail.com> a écrit :
>
>> Well after connecting an external hard drive or 32gb usb flash, you
>> will never think about these issues :) In any case there are just two
>> executables mount.davs 73KB and umount.davfs 5KB, whereas the libneon
>> and libexpat (two shared libraries needed by davfs2) count
>> respectively 150KB and 100KB, so you should expect around 350 KB +
>> plus the space needed by the kmod-fuse package. I tried using it with
>> online services like box.com and it works perfectly even though their
>> perfomance really sucks.
>>
>> On Tue, Aug 5, 2014 at 7:28 PM, Daniel Petre <daniel.petre at gmail.com>
>> wrote:
>> >
>> >
>> > On 05/08/14 19:09, Federico Di Marco wrote:
>> >>
>> >> No, not even tried. On ar71xx platform the final .ipk package size is
>> >> less than 43KB, is that too big ?!?!?
>> >
>> >
>> > not that bad for a 8 Mb flash router but still pulls some extra libs..
>> > thanks for the package, i was preparing one myself :)
>> >
>> >>
>> >> -rw-r--r--    1 root     root         42487 Aug  5 16:03
>> >> davfs2_1.5.0-1_ar71xx.ipk
>> >>
>> >> P.S. please reply also to me and not only to mailing list, thank you.
>> >>
>> >> On Tue, Aug 5, 2014 at 16:58:25 CEST 2014 Daniel Petre daniel.petre at
>> >> gmail.com wrote:
>> >>
>> >> Hi Federico,
>> >> did you try configuring davfs2 with --disable-largefile to see if
>> >> packaged size drops?
>> >>
>> >> On Tue, Aug 5, 2014 at 4:47 PM, Federico Di Marco <fededim at gmail.com>
>> >> wrote:
>> >>>
>> >>> 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
>> >>
>> >
>> _______________________________________________
>> openwrt-devel mailing list
>> openwrt-devel at lists.openwrt.org
>> https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel
_______________________________________________
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