- Add skeleton for vsftpd, an FTP daemon.
authorBernhard Reutner-Fischer <rep.dot.nop@gmail.com>
Thu, 14 Dec 2006 14:23:50 +0000 (14:23 -0000)
committerBernhard Reutner-Fischer <rep.dot.nop@gmail.com>
Thu, 14 Dec 2006 14:23:50 +0000 (14:23 -0000)
  sysdeputil needs treatment, perhaps it get's Claudio Leonel started

package/vsftpd/Config.in [new file with mode: 0644]
package/vsftpd/vsftpd-2.0.5-uclibc_lfs.patch [new file with mode: 0644]
package/vsftpd/vsftpd.mk [new file with mode: 0644]

diff --git a/package/vsftpd/Config.in b/package/vsftpd/Config.in
new file mode 100644 (file)
index 0000000..e264190
--- /dev/null
@@ -0,0 +1,7 @@
+config BR2_PACKAGE_VSFTPD
+        bool "vsftpd"
+        default n
+        help
+         vsftpd is an ftp daemon written with security in mind.
+          http://vsftpd.beasts.org/
+
diff --git a/package/vsftpd/vsftpd-2.0.5-uclibc_lfs.patch b/package/vsftpd/vsftpd-2.0.5-uclibc_lfs.patch
new file mode 100644 (file)
index 0000000..ebd25ca
--- /dev/null
@@ -0,0 +1,19 @@
+diff -rdup vsftpd-2.0.5.orig/sysutil.c vsftpd-2.0.5/sysutil.c
+--- vsftpd-2.0.5.orig/sysutil.c        2006-07-03 18:26:40.000000000 +0200
++++ vsftpd-2.0.5/sysutil.c     2006-12-14 15:13:15.000000000 +0100
+@@ -16,11 +16,15 @@
+ #include "utility.h"
+ #include "tunables.h"
++#include "builddefs.h"
++
++#if !defined __UCLIBC__ || (defined __UCLIBC__ && defined __UCLIBC_HAS_LFS__)
+ /* Activate 64-bit file support on Linux/32bit plus others */
+ #define _FILE_OFFSET_BITS 64
+ #define _LARGEFILE_SOURCE 1
+ #define _LARGEFILE64_SOURCE 1
+ #define _LARGE_FILES 1
++#endif
+ /* For Linux, this adds nothing :-) */
+ #include "port/porting_junk.h"
diff --git a/package/vsftpd/vsftpd.mk b/package/vsftpd/vsftpd.mk
new file mode 100644 (file)
index 0000000..f6d3046
--- /dev/null
@@ -0,0 +1,69 @@
+#############################################################
+#
+# vsftpd
+#
+#############################################################
+VSFTPD_VERSION:=2.0.5
+VSFTPD_SOURCE:=vsftpd-$(VSFTPD_VERSION).tar.gz
+VSFTPD_SITE:=ftp://vsftpd.beasts.org/users/cevans
+VSFTPD_DIR:=$(BUILD_DIR)/vsftpd-$(VSFTPD_VERSION)
+VSFTPD_CAT:=$(ZCAT)
+VSFTPD_BINARY:=vsftpd
+
+ifeq ($(BR2_PACKAGE_OPENSSL),y)
+VSFTPF_PREREQ:=openssl
+endif
+ifeq ($(BR2_LARGEFILE),)
+#BR2_VSFTPD_CFLAGS:=-U_LARGEFILE64_SOURCE -U_FILE_OFFSET_BITS
+endif
+
+$(DL_DIR)/$(VSFTPD_SOURCE):
+        $(WGET) -P $(DL_DIR) $(VSFTPD_SITE)/$(VSFTPD_SOURCE)
+
+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
+
+$(VSFTPD_DIR)/.configured: $(VSFTPD_DIR)/.unpacked
+ifeq ($(BR2_PACKAGE_OPENSSL),y)
+       $(SED) 's,#undef[       ]*VSF_BUILD_SSL.*,#define VSF_BUILD_SSL,g' $(VSFTPD_DIR)/builddefs.h
+else
+       $(SED) 's,#define[      ]*VSF_BUILD_SSL.*,#undef VSF_BUILD_SSL,g' $(VSFTPD_DIR)/builddefs.h
+endif
+ifneq ($(findstring uclibc,$(BR2_GNU_TARGET_SUFFIX)),)
+       $(SED) 's,#define[      ]*VSF_BUILDDEFS_H.*,#define VSF_BUILDDEFS_H\n#define __UCLIBC__,g' $(VSFTPD_DIR)/builddefs.h
+       $(SED) 's,.*__UCLIBC_HAS_LFS__.*,,g' $(VSFTPD_DIR)/builddefs.h
+ifeq ($(BR2_LARGEFILE),y)
+       $(SED) 's,#define[      ]*VSF_BUILDDEFS_H.*,#define VSF_BUILDDEFS_H\n#define __UCLIBC_HAS_LFS__,g' $(VSFTPD_DIR)/builddefs.h
+endif
+else # not uclibc
+       $(SED) 's,.*__UCLIBC_.*,,g' $(VSFTPD_DIR)/builddefs.h
+endif
+
+
+$(VSFTPD_DIR)/$(VSFTPD_BINARY): $(VSFTPF_PREREQ) $(VSFTPD_DIR)/.configured
+       $(MAKE) CC=$(TARGET_CC) CFLAGS="$(TARGET_CFLAGS) $(BR2_VSFTPD_CFLAGS)" -C $(VSFTPD_DIR)
+
+$(TARGET_DIR)/usr/sbin/$(VSFTPD_BINARY): $(VSFTPD_DIR)/$(VSFTPD_BINARY)
+       cp -dpf $< $@
+
+vsftpd: uclibc libgmp $(TARGET_DIR)/$(VSFTPD_TARGET_BINARY)
+
+vsftpd-clean:
+       -$(MAKE) -C $(VSFTPD_DIR) clean
+       rm -f $(TARGET_DIR)/usr/sbin/$(VSFTPD_BINARY)
+
+vsftpd-dirclean:
+       rm -rf $(VSFTPD_DIR)
+
+#############################################################
+#
+# Toplevel Makefile options
+#
+#############################################################
+ifeq ($(strip $(BR2_PACKAGE_VSFTPD)),y)
+TARGETS+=vsftpd
+endif