summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWade Berrier <wberrier@gmail.com>2008-10-06 22:46:41 +0000
committerWade Berrier <wberrier@gmail.com>2008-10-06 22:46:41 +0000
commitd6b556670c7a96f341d2efc2c24fca1d0a1fe8a1 (patch)
tree722edc926e8719241f23378c635de0a0b51a1033
parentb8508d758e8212df8e517089bccad3302966ed29 (diff)
vsftpd:
-Patch to build against newer kernel headers ( vsftpd-2.0.7-uclibc.patch , based on idea from http://www.bitshrine.org/gpp/vsftpd-2.0.5-syscall2.patch ) -new basic init script (no config yet) -Update version (2.0.7) -openssl fixes -cleanup makefile deps so it doesn't get built when things don't change
-rw-r--r--package/vsftpd/vsftpd-2.0.7-uclibc.patch15
-rwxr-xr-xpackage/vsftpd/vsftpd-init33
-rw-r--r--package/vsftpd/vsftpd.mk18
3 files changed, 59 insertions, 7 deletions
diff --git a/package/vsftpd/vsftpd-2.0.7-uclibc.patch b/package/vsftpd/vsftpd-2.0.7-uclibc.patch
new file mode 100644
index 000000000..43b6ccc26
--- /dev/null
+++ b/package/vsftpd/vsftpd-2.0.7-uclibc.patch
@@ -0,0 +1,15 @@
+--- vsftpd-2.0.5/sysdeputil.c.orig 2008-10-06 15:24:42.000000000 -0600
++++ vsftpd-2.0.5/sysdeputil.c 2008-10-06 15:35:35.000000000 -0600
+@@ -159,7 +159,12 @@
+ #include <linux/capability.h>
+ #include <errno.h>
+ #include <syscall.h>
++/* try to handle kernel header versions correctly (2.4 and >= 2.6.18) */
++#ifndef capset
++#define capset(head,data) syscall(__NR_capset,head,data)
++#else
+ _syscall2(int, capset, cap_user_header_t, header, const cap_user_data_t, data)
++#endif /* capset */
+ /* Gross HACK to avoid warnings - linux headers overlap glibc headers */
+ #undef __NFDBITS
+ #undef __FDMASK
diff --git a/package/vsftpd/vsftpd-init b/package/vsftpd/vsftpd-init
new file mode 100755
index 000000000..6048907f6
--- /dev/null
+++ b/package/vsftpd/vsftpd-init
@@ -0,0 +1,33 @@
+#! /bin/sh
+
+set -e
+
+DESC="vsftpd"
+NAME=vsftpd
+DAEMON=/usr/sbin/$NAME
+
+case "$1" in
+ start)
+ echo -n "Starting $DESC: "
+ start-stop-daemon -S -b -x $NAME
+ echo "OK"
+ ;;
+ stop)
+ echo -n "Stopping $DESC: "
+ start-stop-daemon -K -x $NAME
+ echo "OK"
+ ;;
+ restart|force-reload)
+ echo "Restarting $DESC: "
+ $0 stop
+ sleep 1
+ $0 start
+ echo ""
+ ;;
+ *)
+ echo "Usage: $0 {start|stop|restart|force-reload}" >&2
+ exit 1
+ ;;
+esac
+
+exit 0
diff --git a/package/vsftpd/vsftpd.mk b/package/vsftpd/vsftpd.mk
index 0bceca665..9fc3370e8 100644
--- a/package/vsftpd/vsftpd.mk
+++ b/package/vsftpd/vsftpd.mk
@@ -3,7 +3,7 @@
# vsftpd
#
#############################################################
-VSFTPD_VERSION:=2.0.5
+VSFTPD_VERSION:=2.0.7
VSFTPD_SOURCE:=vsftpd-$(VSFTPD_VERSION).tar.gz
VSFTPD_SITE:=ftp://vsftpd.beasts.org/users/cevans
VSFTPD_DIR:=$(BUILD_DIR)/vsftpd-$(VSFTPD_VERSION)
@@ -12,7 +12,6 @@ VSFTPD_BINARY:=vsftpd
VSFTPD_TARGET_BINARY:=usr/sbin/vsftpd
ifeq ($(BR2_PACKAGE_OPENSSL),y)
-VSFTPF_PREREQ:=openssl
VSFTPD_LIBS:=-lcrypt -lssl
else
VSFTPD_LIBS:=-lcrypt
@@ -26,7 +25,7 @@ vsftpd-source: $(DL_DIR)/$(VSFTPD_SOURCE)
$(VSFTPD_DIR)/.unpacked: $(DL_DIR)/$(VSFTPD_SOURCE)
$(VSFTPD_CAT) $(DL_DIR)/$(VSFTPD_SOURCE) | tar -C $(BUILD_DIR) $(TAR_OPTIONS) -
toolchain/patch-kernel.sh $(VSFTPD_DIR) package/vsftpd/ vsftpd\*.patch
- touch $(VSFTPD_DIR)/.unpacked
+ touch $@
$(VSFTPD_DIR)/.configured: $(VSFTPD_DIR)/.unpacked
ifeq ($(BR2_PACKAGE_OPENSSL),y)
@@ -45,17 +44,22 @@ else # not uclibc
endif
-$(VSFTPD_DIR)/$(VSFTPD_BINARY): $(VSFTPF_PREREQ) $(VSFTPD_DIR)/.configured
+$(VSFTPD_DIR)/$(VSFTPD_BINARY): $(VSFTPD_DIR)/.configured
$(MAKE) CC=$(TARGET_CC) CFLAGS="$(TARGET_CFLAGS)" LIBS="$(VSFTPD_LIBS)" -C $(VSFTPD_DIR)
-$(TARGET_DIR)/usr/sbin/$(VSFTPD_BINARY): $(VSFTPD_DIR)/$(VSFTPD_BINARY)
+$(TARGET_DIR)/$(VSFTPD_TARGET_BINARY): $(VSFTPD_DIR)/$(VSFTPD_BINARY)
cp -dpf $< $@
+ $(INSTALL) -D -m 0755 package/vsftpd/vsftpd-init $(TARGET_DIR)/etc/init.d/S70vsftpd
-vsftpd: uclibc libgmp $(TARGET_DIR)/$(VSFTPD_TARGET_BINARY)
+ifeq ($(BR2_PACKAGE_OPENSSL),y)
+vsftpd: uclibc openssl $(TARGET_DIR)/$(VSFTPD_TARGET_BINARY)
+else
+vsftpd: uclibc $(TARGET_DIR)/$(VSFTPD_TARGET_BINARY)
+endif
vsftpd-clean:
-$(MAKE) -C $(VSFTPD_DIR) clean
- rm -f $(TARGET_DIR)/usr/sbin/$(VSFTPD_BINARY)
+ rm -f $(TARGET_DIR)/$(VSFTPD_TARGET_BINARY)
vsftpd-dirclean:
rm -rf $(VSFTPD_DIR)