From 2c21f90b843437505808a0e6719d2b3364ca8382 Mon Sep 17 00:00:00 2001 From: Etienne CHAMPETIER Date: Fri, 12 Sep 2014 19:23:44 +0200 Subject: [PATCH 1/3] libs/neon: import from old packages Signed-off-by: Etienne CHAMPETIER --- libs/neon/Makefile | 63 +++++++++++++++++++++ libs/neon/patches/001-automake-compat.patch | 5 ++ 2 files changed, 68 insertions(+) create mode 100644 libs/neon/Makefile create mode 100644 libs/neon/patches/001-automake-compat.patch diff --git a/libs/neon/Makefile b/libs/neon/Makefile new file mode 100644 index 000000000..4a95cacf8 --- /dev/null +++ b/libs/neon/Makefile @@ -0,0 +1,63 @@ +# +# Copyright (C) 2007-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:=neon +PKG_VERSION:=0.29.6 +PKG_RELEASE:=2 + +PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz +PKG_SOURCE_URL:=http://www.webdav.org/neon +PKG_MD5SUM:=591e0c82e6979e7e615211b386b8f6bc + +PKG_FIXUP:=autoreconf +PKG_INSTALL:=1 + +include $(INCLUDE_DIR)/package.mk + +define Package/libneon + SECTION:=libs + CATEGORY:=Libraries + TITLE:=HTTP and WebDAV client library + URL:=http://www.webdav.org/neon/ + DEPENDS:=+libopenssl +libexpat +endef + +TARGET_CFLAGS += $(FPIC) +TARGET_CPPFLAGS += -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE + +CONFIGURE_ARGS += \ + --enable-shared \ + --enable-static \ + --with-expat \ + --with-ssl="openssl" \ + --without-egd \ + --without-libproxy \ + +CONFIGURE_VARS += \ + LDFLAGS="$$$$LDFLAGS -lcrypto -lssl" + +define Build/InstallDev + $(INSTALL_DIR) $(1)/usr/bin + $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/neon-config $(1)/usr/bin/ + $(INSTALL_DIR) $(1)/usr/include + $(CP) $(PKG_INSTALL_DIR)/usr/include/neon $(1)/usr/include/ + $(INSTALL_DIR) $(1)/usr/lib + $(CP) $(PKG_INSTALL_DIR)/usr/lib/libneon.{a,so*} $(1)/usr/lib/ + $(INSTALL_DIR) $(1)/usr/lib/pkgconfig + $(CP) $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/neon.pc $(1)/usr/lib/pkgconfig/ + $(SED) 's,-I$$$${includedir}/,-I$(STAGING_DIR)/usr/include/,g' $(1)/usr/bin/neon-config + $(SED) 's,-L$$$${libdir},,g' $(1)/usr/bin/neon-config +endef + +define Package/libneon/install + $(INSTALL_DIR) $(1)/usr/lib + $(CP) $(PKG_INSTALL_DIR)/usr/lib/libneon.so.* $(1)/usr/lib/ +endef + +$(eval $(call BuildPackage,libneon)) diff --git a/libs/neon/patches/001-automake-compat.patch b/libs/neon/patches/001-automake-compat.patch new file mode 100644 index 000000000..f6ffa0fe8 --- /dev/null +++ b/libs/neon/patches/001-automake-compat.patch @@ -0,0 +1,5 @@ +--- /dev/null ++++ b/Makefile.am +@@ -0,0 +1,2 @@ ++SUBDIRS = . ++ACLOCAL_AMFLAGS = -I macros From eb07b2c0559fbe55ad7833cbb184a3843574caf4 Mon Sep 17 00:00:00 2001 From: Etienne CHAMPETIER Date: Fri, 12 Sep 2014 19:43:08 +0200 Subject: [PATCH 2/3] libs/neon: update to latest, add maintainer, add description the package (ipk) was previously called libneon, so I keep this name instead of neon. Signed-off-by: Federico Di Marco Signed-off-by: Etienne CHAMPETIER --- libs/neon/Makefile | 27 ++++++++++++++++----- libs/neon/patches/001-automake-compat.patch | 5 ---- 2 files changed, 21 insertions(+), 11 deletions(-) delete mode 100644 libs/neon/patches/001-automake-compat.patch diff --git a/libs/neon/Makefile b/libs/neon/Makefile index 4a95cacf8..4d3bf8cf5 100644 --- a/libs/neon/Makefile +++ b/libs/neon/Makefile @@ -1,5 +1,5 @@ # -# Copyright (C) 2007-2011 OpenWrt.org +# Copyright (C) 2007-2014 OpenWrt.org # # This is free software, licensed under the GNU General Public License v2. # See /LICENSE for more information. @@ -8,14 +8,13 @@ include $(TOPDIR)/rules.mk PKG_NAME:=neon -PKG_VERSION:=0.29.6 -PKG_RELEASE:=2 +PKG_VERSION:=0.30.0 +PKG_RELEASE:=1 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz PKG_SOURCE_URL:=http://www.webdav.org/neon -PKG_MD5SUM:=591e0c82e6979e7e615211b386b8f6bc +PKG_MD5SUM:=fb60b3a124eeec441937a812c456fd94 -PKG_FIXUP:=autoreconf PKG_INSTALL:=1 include $(INCLUDE_DIR)/package.mk @@ -26,8 +25,24 @@ define Package/libneon TITLE:=HTTP and WebDAV client library URL:=http://www.webdav.org/neon/ DEPENDS:=+libopenssl +libexpat + MAINTAINER:=Federico Di Marco endef +define Package/libneon/description + neon is an HTTP and WebDAV client library, with a C interface. Features: + + - High-level wrappers for common HTTP and WebDAV operations (GET, MOVE, DELETE, etc) + - Low-level interface to the HTTP request/response engine, allowing the use of arbitrary HTTP methods, headers, etc. + - Authentication support including Basic and Digest support, along with GSSAPI-based Negotiate on Unix, and + SSPI-based Negotiate/NTLM on Win32 + - SSL/TLS support using OpenSSL or GnuTLS; exposing an abstraction layer for verifying server certificates, handling client + certificates, and examining certificate properties. Smartcard-based client certificates are also supported via a + PKCS11 wrapper interface. + - Abstract interface to parsing XML using libxml2 or expat, and wrappers for simplifying handling XML HTTP response bodies + - WebDAV metadata support; wrappers for PROPFIND and PROPPATCH to simplify property manipulation. +endef + + TARGET_CFLAGS += $(FPIC) TARGET_CPPFLAGS += -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE @@ -37,7 +52,7 @@ CONFIGURE_ARGS += \ --with-expat \ --with-ssl="openssl" \ --without-egd \ - --without-libproxy \ + --without-libproxy CONFIGURE_VARS += \ LDFLAGS="$$$$LDFLAGS -lcrypto -lssl" diff --git a/libs/neon/patches/001-automake-compat.patch b/libs/neon/patches/001-automake-compat.patch deleted file mode 100644 index f6ffa0fe8..000000000 --- a/libs/neon/patches/001-automake-compat.patch +++ /dev/null @@ -1,5 +0,0 @@ ---- /dev/null -+++ b/Makefile.am -@@ -0,0 +1,2 @@ -+SUBDIRS = . -+ACLOCAL_AMFLAGS = -I macros From df674e659da5fa5aca6d6d803b69d77c73610b72 Mon Sep 17 00:00:00 2001 From: Etienne CHAMPETIER Date: Fri, 12 Sep 2014 20:12:04 +0200 Subject: [PATCH 3/3] net/davfs2: add new package version 1.5.2 porting the davfs2 filesystem Signed-off-by: Federico Di Marco Signed-off-by: Etienne CHAMPETIER --- net/davfs2/Makefile | 67 ++++++++++++++++++++++ net/davfs2/files/davfs2.conf | 9 +++ net/davfs2/patches/010-main_code_fix.patch | 35 +++++++++++ 3 files changed, 111 insertions(+) create mode 100644 net/davfs2/Makefile create mode 100644 net/davfs2/files/davfs2.conf create mode 100644 net/davfs2/patches/010-main_code_fix.patch diff --git a/net/davfs2/Makefile b/net/davfs2/Makefile new file mode 100644 index 000000000..fc247b8eb --- /dev/null +++ b/net/davfs2/Makefile @@ -0,0 +1,67 @@ +# +# Copyright (C) 2006-2014 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.2 +PKG_RELEASE:=1 + +PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz +PKG_SOURCE_URL:=http://download.savannah.gnu.org/releases/davfs2/ +PKG_MD5SUM:=376bc9346454135cba78afacbcb23f86 + +include $(INCLUDE_DIR)/package.mk + +define Package/davfs2 + SECTION:=net + CATEGORY:=Network + SUBMENU:=Filesystem + DEPENDS=+libopenssl +libneon +libiconv +libintl +libexpat +kmod-fuse +libfuse + TITLE:=Mount a WebDAV resource as a regular file system. + URL:=http://savannah.nongnu.org/projects/davfs2/ + MAINTAINER:=Federico Di Marco +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 += \ + LDFLAGS="$(TARGET_LDFLAGS) -L$(TOOLCHAIN_DIR)/usr/lib -L$(TOOLCHAIN_DIR)/lib" + +CONFIGURE_ARGS += --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 +endef + +$(eval $(call BuildPackage,davfs2)) diff --git a/net/davfs2/files/davfs2.conf b/net/davfs2/files/davfs2.conf new file mode 100644 index 000000000..4cf501be5 --- /dev/null +++ b/net/davfs2/files/davfs2.conf @@ -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 --git a/net/davfs2/patches/010-main_code_fix.patch b/net/davfs2/patches/010-main_code_fix.patch new file mode 100644 index 000000000..aa36fdfaa --- /dev/null +++ b/net/davfs2/patches/010-main_code_fix.patch @@ -0,0 +1,35 @@ +--- a/src/Makefile.am ++++ b/src/Makefile.am +@@ -32,8 +32,8 @@ mount_davfs_SOURCES = cache.c dav_coda.c + kernel_interface.h mount_davfs.h webdav.h + umount_davfs_SOURCES = umount_davfs.c defaults.h + +-AM_CFLAGS = -Wall -Werror=format-security \ +- -fstack-protector --param=ssp-buffer-size=4 ++AM_CFLAGS = -Wall -Werror=format-security ++# -fstack-protector --param=ssp-buffer-size=4 -- removed ssp not supported in openwrt + DEFS = -DPROGRAM_NAME=\"mount.davfs\" \ + -DDAV_SYS_CONF_DIR=\"$(pkgsysconfdir)\" \ + -DDAV_LOCALSTATE_DIR=\"$(dav_localstatedir)\" \ +--- a/src/cache.c ++++ b/src/cache.c +@@ -58,7 +58,7 @@ + #ifdef HAVE_SYS_TYPES_H + #include + #endif +-#include ++#include + + #include + #include +--- a/src/webdav.c ++++ b/src/webdav.c +@@ -2033,7 +2033,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); + }