Add ProFTPD package with working init script.
author"Steven J. Hill" <sjhill@realitydiluted.com>
Sun, 14 Jan 2007 01:48:49 +0000 (01:48 -0000)
committer"Steven J. Hill" <sjhill@realitydiluted.com>
Sun, 14 Jan 2007 01:48:49 +0000 (01:48 -0000)
package/proftpd/Config.in [new file with mode: 0644]
package/proftpd/init-proftpd [new file with mode: 0755]
package/proftpd/proftpd.mk [new file with mode: 0644]

diff --git a/package/proftpd/Config.in b/package/proftpd/Config.in
new file mode 100644 (file)
index 0000000..0c3ed12
--- /dev/null
@@ -0,0 +1,6 @@
+config BR2_PACKAGE_PROFTPD
+       bool "proftpd"
+       default n
+       help
+         ProFTPD, a highly configurable FTP server.
+
diff --git a/package/proftpd/init-proftpd b/package/proftpd/init-proftpd
new file mode 100755 (executable)
index 0000000..550e0a6
--- /dev/null
@@ -0,0 +1,47 @@
+#!/bin/sh 
+
+DAEMON=/usr/sbin/proftpd
+trap "" 1
+trap "" 15
+test -f $DAEMON || exit 0
+[ ! -d /var/run/proftpd ] && mkdir /var/run/proftpd
+[ ! -f /var/log/wtmp ] && touch /var/log/wtmp
+
+start() {
+       echo -n "Starting ProFTPD: "
+       $DAEMON
+       if [ $? != 0 ]; then
+               echo "FAILED"
+               exit 1
+       else
+               echo "done"
+       fi
+}
+
+stop() {
+       echo -n "Stopping ProFTPD: "
+       killall proftpd
+        echo "done"
+}
+
+case "$1" in
+    start)
+       start
+       ;;
+
+    stop)
+       stop
+       ;;
+
+    restart)
+       stop
+       start
+       ;;
+
+    *)
+       echo "Usage: /etc/init.d/S50proftpd {start|stop|restart}"
+       exit 1
+       ;;
+esac
+
+exit 0
diff --git a/package/proftpd/proftpd.mk b/package/proftpd/proftpd.mk
new file mode 100644 (file)
index 0000000..d2e7fad
--- /dev/null
@@ -0,0 +1,79 @@
+#############################################################
+#
+# proftpd
+#
+#############################################################
+PROFTPD_VER:=1.3.0a
+PROFTPD_SOURCE:=proftpd-$(PROFTPD_VER).tar.bz2
+PROFTPD_SITE:=ftp://ftp.proftpd.org/distrib/source/
+PROFTPD_DIR:=$(BUILD_DIR)/proftpd-$(PROFTPD_VER)
+PROFTPD_CAT:=bzcat
+PROFTPD_BINARY:=proftpd
+PROFTPD_TARGET_BINARY:=usr/sbin/proftpd
+
+$(DL_DIR)/$(PROFTPD_SOURCE):
+        $(WGET) -P $(DL_DIR) $(PROFTPD_SITE)/$(PROFTPD_SOURCE)
+
+proftpd-source: $(DL_DIR)/$(PROFTPD_SOURCE)
+
+$(PROFTPD_DIR)/.unpacked: $(DL_DIR)/$(PROFTPD_SOURCE)
+       $(PROFTPD_CAT) $(DL_DIR)/$(PROFTPD_SOURCE) | tar -C $(BUILD_DIR) $(TAR_OPTIONS) -
+       touch $(PROFTPD_DIR)/.unpacked
+
+$(PROFTPD_DIR)/.configured: $(PROFTPD_DIR)/.unpacked
+       (cd $(PROFTPD_DIR); rm -rf config.cache; \
+               $(TARGET_CONFIGURE_OPTS) \
+               CFLAGS="$(TARGET_CFLAGS)" \
+               LDFLAGS="$(TARGET_LDFLAGS)" \
+               ac_cv_func_setpgrp_void=yes \
+               ac_cv_func_setgrent_void=yes \
+               ./configure \
+               --target=$(GNU_TARGET_NAME) \
+               --host=$(GNU_TARGET_NAME) \
+               --build=$(GNU_HOST_NAME) \
+               --prefix=/usr \
+               --sysconfdir=/etc \
+               --localstatedir=/var/run \
+               --disable-static \
+               --disable-curses \
+               --disable-ncurses \
+               --disable-facl \
+               --disable-dso \
+               --enable-shadow \
+               $(DISABLE_LARGEFILE) \
+               --with-gnu-ld \
+       );
+       touch $(PROFTPD_DIR)/.configured
+
+$(PROFTPD_DIR)/$(PROFTPD_BINARY): $(PROFTPD_DIR)/.configured
+       $(MAKE) CC="$(HOSTCC)" CFLAGS="" LDFLAGS=""     \
+               -C $(PROFTPD_DIR)/lib/libcap _makenames
+       $(MAKE) -C $(PROFTPD_DIR)
+
+$(TARGET_DIR)/$(PROFTPD_TARGET_BINARY): $(PROFTPD_DIR)/$(PROFTPD_BINARY)
+       cp -a $(PROFTPD_DIR)/$(PROFTPD_BINARY)  \
+               $(TARGET_DIR)/$(PROFTPD_TARGET_BINARY)
+       @if [ ! -f $(TARGET_DIR)/etc/proftpd.conf ] ; then \
+               $(INSTALL) -m 0644 -D $(PROFTPD_DIR)/sample-configurations/basic.conf $(TARGET_DIR)/etc/proftpd.conf; \
+       fi;
+       $(INSTALL) -m 0755 -D package/proftpd/init-proftpd $(TARGET_DIR)/etc/init.d/S50proftpd
+
+proftpd: uclibc $(TARGET_DIR)/$(PROFTPD_TARGET_BINARY)
+
+proftpd-clean:
+       rm -f $(TARGET_DIR)/$(PROFTPD_TARGET_BINARY)
+       rm -f $(TARGET_DIR)/etc/init.d/S50proftpd
+       rm -f $(TARGET_DIR)/etc/proftpd.conf
+       -$(MAKE) -C $(PROFTPD_DIR) clean
+
+proftpd-dirclean:
+       rm -rf $(PROFTPD_DIR)
+
+#############################################################
+#
+# Toplevel Makefile options
+#
+#############################################################
+ifeq ($(strip $(BR2_PACKAGE_PROFTPD)),y)
+TARGETS+=proftpd
+endif