diff --git a/net/davfs2/Makefile b/net/davfs2/Makefile index 32deede9c..c77a6e244 100644 --- a/net/davfs2/Makefile +++ b/net/davfs2/Makefile @@ -8,23 +8,22 @@ include $(TOPDIR)/rules.mk PKG_NAME:=davfs2 -PKG_VERSION:=1.5.5 -PKG_RELEASE:=3 +PKG_VERSION:=1.5.6 +PKG_RELEASE:=1 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz PKG_SOURCE_URL:=@SAVANNAH/davfs2 -PKG_HASH:=587c6a25ad78109995a7ccb8e60aa1c491b149f2c99d47033f3d5e648430ad2f +PKG_HASH:=417476cdcfd53966b2dcfaf12455b54f315959b488a89255ab4b44586153d801 PKG_MAINTAINER:=Federico Di Marco PKG_LICENSE:=GPL-3 PKG_LICENSE_FILES:=COPYING PKG_CPE_ID:=cpe:/a:davfs2:davfs2 -PKG_FIXUP:=gettext-version autoreconf +PKG_FIXUP:=autoreconf PKG_BUILD_PARALLEL:=1 include $(INCLUDE_DIR)/package.mk -include $(INCLUDE_DIR)/nls.mk define Package/davfs2 SECTION:=net @@ -56,14 +55,11 @@ define Package/davfs2/conffiles /etc/davfs2/davfs2.conf endef -TARGET_CFLAGS += -I$(STAGING_DIR)/usr/include # $(ICONV_CFLAGS) $(INTL_CFLAGS) - -TARGET_CPPFLAGS += -D_GNU_SOURCE # $(ICONV_CPFLAGS) $(INTL_CPPFLAGS) - -CONFIGURE_VARS += \ - LDFLAGS="$(TARGET_LDFLAGS) -L$(TOOLCHAIN_DIR)/usr/lib -L$(TOOLCHAIN_DIR)/lib $(if $(INTL_FULL),-lintl) $(if $(ICONV_FULL),-liconv)" #$(INTL_LDFLAGS) $(ICONV_LDFLAGS) - -CONFIGURE_ARGS += --with-neon="$(STAGING_DIR)/usr" --enable-largefile #--with-libintl-prefix=$(INTL_PREFIX) --with-libiconv-prefix=$(ICONV_PREFIX) +CONFIGURE_ARGS += \ + --with-neon="$(STAGING_DIR)/usr" \ + --without-libiconv-prefix \ + --without-libintl-prefix \ + --disable-rpath define Package/davfs2/install $(INSTALL_DIR) $(1)/usr/sbin diff --git a/net/davfs2/patches/030-realpath.patch b/net/davfs2/patches/030-realpath.patch new file mode 100644 index 000000000..a1658e27a --- /dev/null +++ b/net/davfs2/patches/030-realpath.patch @@ -0,0 +1,49 @@ +--- a/src/mount_davfs.c ++++ b/src/mount_davfs.c +@@ -702,7 +702,7 @@ check_fstab(const dav_args *args) + struct mntent *ft = getmntent(fstab); + while (ft) { + if (ft->mnt_dir) { +- char *mp = canonicalize_file_name(ft->mnt_dir); ++ char *mp = realpath(ft->mnt_dir, NULL); + if (mp) { + if (strcmp(mp, mpoint) == 0) { + free(mp); +@@ -966,7 +966,7 @@ parse_commandline(int argc, char *argv[]) + url = ne_strdup(argv[i]); + } + i++; +- mpoint = canonicalize_file_name(argv[i]); ++ mpoint = realpath(argv[i], NULL); + if (!mpoint) + error(EXIT_FAILURE, 0, + _("can't evaluate path of mount point %s"), mpoint); +@@ -2188,7 +2188,7 @@ read_config(dav_args *args, const char * filename, int system) + error_at_line(EXIT_FAILURE, 0, filename, lineno, + _("malformed line")); + *(parmv[0] + strlen(parmv[0]) - 1) = '\0'; +- char *mp = canonicalize_file_name(parmv[0] + 1); ++ char *mp = realpath(parmv[0] + 1, NULL); + if (mp) { + applies = (strcmp(mp, mpoint) == 0); + free(mp); +@@ -2440,7 +2440,7 @@ read_secrets(dav_args *args, const char *filename) + if (scheme && !port) + port = ne_uri_defaultport(scheme); + +- char *mp = canonicalize_file_name(parmv[0]); ++ char *mp = realpath(parmv[0], NULL); + + char *ccert = NULL; + if (args->clicert) { +--- a/src/umount_davfs.c ++++ b/src/umount_davfs.c +@@ -118,7 +118,7 @@ main(int argc, char *argv[]) + if (optind < (argc - 1)) + error(EXIT_FAILURE, 0, _("too many arguments")); + +- char *mpoint = canonicalize_file_name(argv[optind]); ++ char *mpoint = realpath(argv[optind], NULL); + + char *umount_command = NULL; + if (mpoint) { diff --git a/net/davfs2/patches/040-sys-select.patch b/net/davfs2/patches/040-sys-select.patch new file mode 100644 index 000000000..20502a023 --- /dev/null +++ b/net/davfs2/patches/040-sys-select.patch @@ -0,0 +1,11 @@ +--- a/src/dav_fuse.c ++++ b/src/dav_fuse.c +@@ -48,6 +48,8 @@ + #include + #endif + ++#include ++ + #include "defaults.h" + #include "mount_davfs.h" + #include "cache.h" diff --git a/net/davfs2/patches/050-sys-types.h b/net/davfs2/patches/050-sys-types.h new file mode 100644 index 000000000..9478b8b78 --- /dev/null +++ b/net/davfs2/patches/050-sys-types.h @@ -0,0 +1,11 @@ +--- a/src/kernel_interface.c ++++ b/src/kernel_interface.c +@@ -45,6 +45,8 @@ + #include + #endif + ++#include ++ + #ifdef HAVE_SYS_MOUNT_H + #include + #endif diff --git a/net/davfs2/patches/060-paths.patch b/net/davfs2/patches/060-paths.patch new file mode 100644 index 000000000..f915fa374 --- /dev/null +++ b/net/davfs2/patches/060-paths.patch @@ -0,0 +1,10 @@ +--- a/src/mount_davfs.c ++++ b/src/mount_davfs.c +@@ -40,6 +40,7 @@ + #ifdef HAVE_MNTENT_H + #include + #endif ++#include + #include + #include + #ifdef HAVE_STDINT_H diff --git a/net/davfs2/patches/070-no-error.patch b/net/davfs2/patches/070-no-error.patch new file mode 100644 index 000000000..fb3966b1f --- /dev/null +++ b/net/davfs2/patches/070-no-error.patch @@ -0,0 +1,120 @@ +--- a/configure.ac ++++ b/configure.ac +@@ -42,7 +42,7 @@ DAV_CHECK_NEON + # Checks for header files. + AC_HEADER_DIRENT + AC_HEADER_STDC +-AC_CHECK_HEADERS([fcntl.h iconv.h libintl.h langinfo.h limits.h locale.h mntent.h stddef.h stdint.h stdlib.h string.h sys/file.h sys/mount.h sys/time.h syslog.h termios.h unistd.h utime.h]) ++AC_CHECK_HEADERS([error.h fcntl.h iconv.h libintl.h langinfo.h limits.h locale.h mntent.h stddef.h stdint.h stdlib.h string.h sys/file.h sys/mount.h sys/time.h syslog.h termios.h unistd.h utime.h]) + + # Checks for typedefs, structures, and compiler characteristics. + AC_C_CONST +--- a/src/cache.c ++++ b/src/cache.c +@@ -19,12 +19,12 @@ + + + #include "config.h" ++#include "compat.h" + + #ifdef HAVE_DIRENT_H + #include + #endif + #include +-#include + #ifdef HAVE_FCNTL_H + #include + #endif +--- /dev/null ++++ b/src/compat.h +@@ -0,0 +1,39 @@ ++#ifndef _COMPAT_H ++#define _COMPAT_H ++ ++#ifdef HAVE_ERROR_H ++# include ++#else ++# include ++# include ++# include ++# include ++static void error_at_line(int status, int errnum, const char *filename, ++ unsigned int linenum, const char *format, ...) ++{ ++ va_list ap; ++ ++ fflush(stdout); ++ ++ if (filename != NULL) ++ fprintf(stderr, "%s:%u: ", filename, linenum); ++ ++ va_start(ap, format); ++ vfprintf(stderr, format, ap); ++ va_end(ap); ++ ++ if (errnum != 0) ++ fprintf(stderr, ": %s", strerror(errnum)); ++ ++ fprintf(stderr, "\n"); ++ ++ if (status != 0) ++ exit(status); ++} ++ ++#define error(status, errnum, format...) \ ++ error_at_line(status, errnum, NULL, 0, format) ++ ++#endif /* HAVE_ERROR_H */ ++ ++#endif /* _COMPAT_H */ +--- a/src/kernel_interface.c ++++ b/src/kernel_interface.c +@@ -19,8 +19,8 @@ + + + #include "config.h" ++#include "compat.h" + +-#include + #ifdef HAVE_FCNTL_H + #include + #endif +--- a/src/mount_davfs.c ++++ b/src/mount_davfs.c +@@ -19,10 +19,10 @@ + + + #include "config.h" ++#include "compat.h" + + #include + #include +-#include + #ifdef HAVE_FCNTL_H + #include + #endif +--- a/src/umount_davfs.c ++++ b/src/umount_davfs.c +@@ -19,8 +19,8 @@ + + + #include "config.h" ++#include "compat.h" + +-#include + #include + #include + #ifdef HAVE_LIBINTL_H +--- a/src/webdav.c ++++ b/src/webdav.c +@@ -19,9 +19,9 @@ + + + #include "config.h" ++#include "compat.h" + + #include +-#include + #ifdef HAVE_FCNTL_H + #include + #endif diff --git a/net/davfs2/patches/100-musl-compat.patch b/net/davfs2/patches/100-musl-compat.patch deleted file mode 100644 index 67a926c24..000000000 --- a/net/davfs2/patches/100-musl-compat.patch +++ /dev/null @@ -1,194 +0,0 @@ ---- a/configure.ac -+++ b/configure.ac -@@ -42,7 +42,7 @@ DAV_CHECK_NEON - # Checks for header files. - AC_HEADER_DIRENT - AC_HEADER_STDC --AC_CHECK_HEADERS([fcntl.h libintl.h langinfo.h limits.h locale.h mntent.h stddef.h stdint.h stdlib.h string.h sys/file.h sys/mount.h sys/time.h syslog.h termios.h unistd.h utime.h]) -+AC_CHECK_HEADERS([error.h fcntl.h libintl.h langinfo.h limits.h locale.h mntent.h stddef.h stdint.h stdlib.h string.h sys/file.h sys/mount.h sys/time.h sys/select.h sys/types.h syslog.h termios.h unistd.h utime.h]) - - # Checks for typedefs, structures, and compiler characteristics. - AC_C_CONST -@@ -78,7 +78,7 @@ AC_FUNC_SELECT_ARGTYPES - AC_FUNC_STRFTIME - AC_FUNC_STAT - AC_FUNC_UTIME_NULL --AC_CHECK_FUNCS([endpwent ftruncate getmntent memset mkdir nl_langinfo rpmatch select setlocale strcasecmp strchr strdup strerror strpbrk strrchr strstr strtol strtoull utime]) -+AC_CHECK_FUNCS([endpwent ftruncate getmntent memset mkdir nl_langinfo rpmatch select setlocale strcasecmp strchr strdup strerror strpbrk strrchr strstr strtol strtoull utime canonicalize_file_name fopencookie]) - - # Misc. - DAV_DEFAULTS ---- a/src/cache.c -+++ b/src/cache.c -@@ -19,12 +19,12 @@ - - - #include "config.h" -+#include "compat.h" - - #ifdef HAVE_DIRENT_H - #include - #endif - #include --#include - #ifdef HAVE_FCNTL_H - #include - #endif ---- /dev/null -+++ b/src/compat.h -@@ -0,0 +1,64 @@ -+#ifndef _COMPAT_H -+#define _COMPAT_H -+ -+#ifndef _PATH_MOUNTED -+# define _PATH_MOUNTED "/proc/mounts" -+#endif -+ -+#ifndef _PATH_MNTTAB -+# define _PATH_MNTTAB "/etc/fstab" -+#endif -+ -+#ifdef HAVE_ERROR_H -+# include -+#else -+# include -+# include -+# include -+# include -+static void error_at_line(int status, int errnum, const char *filename, -+ unsigned int linenum, const char *format, ...) -+{ -+ va_list ap; -+ -+ fflush(stdout); -+ -+ if (filename != NULL) -+ fprintf(stderr, "%s:%u: ", filename, linenum); -+ -+ va_start(ap, format); -+ vfprintf(stderr, format, ap); -+ va_end(ap); -+ -+ if (errnum != 0) -+ fprintf(stderr, ": %s", strerror(errnum)); -+ -+ fprintf(stderr, "\n"); -+ -+ if (status != 0) -+ exit(status); -+} -+ -+#define error(status, errnum, format...) \ -+ error_at_line(status, errnum, NULL, 0, format) -+ -+#endif /* HAVE_ERROR_H */ -+ -+#ifndef HAVE_CANONICALIZE_FILE_NAME -+#include -+#include -+#include -+static char * canonicalize_file_name(const char *path) -+{ -+ char buf[PATH_MAX] = { }; -+ -+ snprintf(buf, sizeof(buf) - 1, "%s", path); -+ -+ if (!realpath(path, buf)) -+ return NULL; -+ -+ return strdup(buf); -+} -+#endif -+ -+#endif /* _COMPAT_H */ ---- a/src/dav_fuse.c -+++ b/src/dav_fuse.c -@@ -47,6 +47,9 @@ - #ifdef HAVE_SYS_STAT_H - #include - #endif -+#ifdef HAVE_SYS_SELECT_H -+#include -+#endif - - #include "defaults.h" - #include "mount_davfs.h" ---- a/src/kernel_interface.c -+++ b/src/kernel_interface.c -@@ -19,8 +19,8 @@ - - - #include "config.h" -+#include "compat.h" - --#include - #ifdef HAVE_FCNTL_H - #include - #endif -@@ -51,6 +51,9 @@ - #ifdef HAVE_SYS_STAT_H - #include - #endif -+#ifdef HAVE_SYS_TYPES_H -+#include -+#endif - #include - - #include "defaults.h" ---- a/src/mount_davfs.c -+++ b/src/mount_davfs.c -@@ -19,10 +19,10 @@ - - - #include "config.h" -+#include "compat.h" - - #include - #include --#include - #ifdef HAVE_FCNTL_H - #include - #endif ---- a/src/umount_davfs.c -+++ b/src/umount_davfs.c -@@ -19,8 +19,8 @@ - - - #include "config.h" -+#include "compat.h" - --#include - #include - #include - #ifdef HAVE_LIBINTL_H ---- a/src/webdav.c -+++ b/src/webdav.c -@@ -19,9 +19,9 @@ - - - #include "config.h" -+#include "compat.h" - - #include --#include - #ifdef HAVE_FCNTL_H - #include - #endif -@@ -368,6 +368,7 @@ dav_init_webdav(const dav_args *args) - error(EXIT_FAILURE, errno, _("socket library initialization failed")); - - if (args->neon_debug & ~NE_DBG_HTTPPLAIN) { -+#ifdef HAVE_FOPENCOOKIE - char *buf = malloc(log_bufsize); - cookie_io_functions_t *log_func = malloc(sizeof(cookie_io_functions_t)); - if (!log_func) abort(); -@@ -380,6 +381,9 @@ dav_init_webdav(const dav_args *args) - error(EXIT_FAILURE, errno, - _("can't open stream to log neon-messages")); - ne_debug_init(log_stream, args->neon_debug); -+#else -+ error(EXIT_FAILURE, 0, "neon debugging unsupported"); -+#endif - } - - session = ne_session_create(args->scheme, args->host, args->port); diff --git a/net/davfs2/patches/200-davfs2-1.5.4-no-forced-stack-protector.patch b/net/davfs2/patches/200-davfs2-1.5.4-no-forced-stack-protector.patch deleted file mode 100644 index 86f177532..000000000 --- a/net/davfs2/patches/200-davfs2-1.5.4-no-forced-stack-protector.patch +++ /dev/null @@ -1,12 +0,0 @@ ---- a/src/Makefile.am -+++ b/src/Makefile.am -@@ -32,8 +32,7 @@ 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-strong --param=ssp-buffer-size=4 -+AM_CFLAGS = -Wall -Werror=format-security - DEFS = -DPROGRAM_NAME=\"mount.davfs\" \ - -DDAV_SYS_CONF_DIR=\"$(pkgsysconfdir)\" \ - -DDAV_LOCALSTATE_DIR=\"$(dav_localstatedir)\" \ diff --git a/net/davfs2/patches/300-have_iconv_h.patch b/net/davfs2/patches/300-have_iconv_h.patch deleted file mode 100644 index 6bf95a24a..000000000 --- a/net/davfs2/patches/300-have_iconv_h.patch +++ /dev/null @@ -1,38 +0,0 @@ ---- a/src/webdav.c -+++ b/src/webdav.c -@@ -25,7 +25,7 @@ - #ifdef HAVE_FCNTL_H - #include - #endif --#ifdef HAVE_ICONV_H -+#ifdef HAVE_ICONV - #include - #endif - #ifdef HAVE_LANGINFO_H -@@ -231,7 +231,7 @@ static int initialized; - Needed by ssl_verify() which may be called at any time. */ - static int have_terminal; - --#ifdef HAVE_ICONV_H -+#ifdef HAVE_ICONV - /* Handle to convert character encoding from utf-8 to LC_CTYPE. - If NULL no conversion is done. */ - static iconv_t from_utf_8; -@@ -264,7 +264,7 @@ static char **cookie_list; - /* Private function prototypes and inline functions */ - /*==================================================*/ - --#ifdef HAVE_ICONV_H -+#ifdef HAVE_ICONV - static void - convert(char **s, iconv_t conv); - #endif -@@ -337,7 +337,7 @@ dav_init_webdav(const dav_args *args) - if (args->neon_debug & ~NE_DBG_HTTPPLAIN) - syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG), "Initializing webdav"); - --#ifdef HAVE_ICONV_H -+#ifdef HAVE_ICONV - char *lc_charset = nl_langinfo(CODESET); - if (lc_charset && strcasecmp(lc_charset, "UTF-8") != 0) { - from_utf_8 = iconv_open(lc_charset, "UTF-8");