From 3b0f173db6ec73cea07ca016a3df68da4b7ef3c8 Mon Sep 17 00:00:00 2001 From: Hannu Nyman Date: Tue, 16 Jun 2015 21:50:04 +0300 Subject: [PATCH] vsftpd: fix musl compatibility Make vsftpd to compile with musl, while preserving uclibc compatibility. When using musl: * disable UTMPX functionality * disable -lnsl option in upstream Makefile Signed-off-by: Hannu Nyman --- net/vsftpd/Makefile | 12 ++++++++++-- net/vsftpd/patches/006-musl-compatibility.patch | 13 +++++++++++++ 2 files changed, 23 insertions(+), 2 deletions(-) create mode 100644 net/vsftpd/patches/006-musl-compatibility.patch diff --git a/net/vsftpd/Makefile b/net/vsftpd/Makefile index e1a4de0174..4df9292950 100644 --- a/net/vsftpd/Makefile +++ b/net/vsftpd/Makefile @@ -1,5 +1,5 @@ # -# Copyright (C) 2006-2014 OpenWrt.org +# Copyright (C) 2006-2015 OpenWrt.org # # This is free software, licensed under the GNU General Public License v2. # See /LICENSE for more information. @@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=vsftpd PKG_VERSION:=3.0.2 -PKG_RELEASE:=4 +PKG_RELEASE:=5 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz PKG_SOURCE_URL:=https://security.appspot.com/downloads/ @@ -48,8 +48,15 @@ endef Package/vsftpd-tls/conffiles=$(Package/vsftpd/conffiles) +ifneq ($(CONFIG_USE_MUSL),) + NLSSTRING:=-lcrypt +else + NLSSTRING:=-lcrypt -lnsl +endif + ifeq ($(BUILD_VARIANT),notls) define Build/Compile + $(SED) 's/-lcrypt -lnsl/$(NLSSTRING)/' $(PKG_BUILD_DIR)/Makefile $(MAKE) -C $(PKG_BUILD_DIR) \ CC="$(TARGET_CC)" \ CFLAGS="$(TARGET_CFLAGS)" \ @@ -62,6 +69,7 @@ ifeq ($(BUILD_VARIANT),tls) define Build/Compile $(SED) 's/#undef VSF_BUILD_SSL/#define VSF_BUILD_SSL/' $(PKG_BUILD_DIR)/builddefs.h $(SED) 's/-lcrypt -lnsl/-lcrypt -lnsl -lssl -lcrypto/' $(PKG_BUILD_DIR)/Makefile + $(SED) 's/-lcrypt -lnsl/$(NLSSTRING)/' $(PKG_BUILD_DIR)/Makefile $(MAKE) -C $(PKG_BUILD_DIR) \ CC="$(TARGET_CC)" \ CFLAGS="$(TARGET_CFLAGS)" \ diff --git a/net/vsftpd/patches/006-musl-compatibility.patch b/net/vsftpd/patches/006-musl-compatibility.patch new file mode 100644 index 0000000000..9eefec79d3 --- /dev/null +++ b/net/vsftpd/patches/006-musl-compatibility.patch @@ -0,0 +1,13 @@ +--- a/sysdeputil.c ++++ b/sysdeputil.c +@@ -58,7 +58,9 @@ + #define VSF_SYSDEP_HAVE_SHADOW + #define VSF_SYSDEP_HAVE_USERSHELL + #define VSF_SYSDEP_HAVE_LIBCAP +-#define VSF_SYSDEP_HAVE_UTMPX ++#if defined(__GLIBC__) || defined(__UCLIBC__) ++ #define VSF_SYSDEP_HAVE_UTMPX ++#endif + + #define __USE_GNU + #include