[packages] proftpd: update to 1.3.3, add standalone init script, comment out UseIPv6...
authorStephen Walker <stephendwalker@gmail.com>
Fri, 5 Mar 2010 11:34:19 +0000 (11:34 +0000)
committerStephen Walker <stephendwalker@gmail.com>
Fri, 5 Mar 2010 11:34:19 +0000 (11:34 +0000)
SVN-Revision: 19991

net/proftpd/Makefile
net/proftpd/files/proftpd.init [new file with mode: 0644]

index 554608ed85d69c726a4b0ebc57e5b9360e3049c3..beb9e5c3541117b68055403903e91b028cf818b9 100644 (file)
@@ -8,15 +8,15 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=proftpd
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=proftpd
-PKG_VERSION:=1.3.2e
+PKG_VERSION:=1.3.3
 PKG_RELEASE:=1
 
 PKG_RELEASE:=1
 
-PKG_SOURCE_URL:=ftp://ftp.proftpd.org/distrib/source
-PKG_MD5SUM:=018e0eb1757d9cea2a0e17f2c9b1ca2d
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
+PKG_SOURCE_URL:=ftp://ftp.proftpd.org/distrib/source
+PKG_MD5SUM:=3951244f1940f0a40e8af142a9cf67fe
 
 PKG_FIXUP:=libtool
 
 PKG_FIXUP:=libtool
-PKG_INSTALL=1
+PKG_INSTALL:=1
 
 include $(INCLUDE_DIR)/package.mk
 
 
 include $(INCLUDE_DIR)/package.mk
 
@@ -45,7 +45,10 @@ CONFIGURE_ARGS += \
 
 define Package/proftpd/install
        $(INSTALL_DIR) $(1)/etc
 
 define Package/proftpd/install
        $(INSTALL_DIR) $(1)/etc
+       $(if $(CONFIG_IPV6),,$(SED) 's/^UseIPv6/#UseIPv6/' $(PKG_INSTALL_DIR)/etc/proftpd.conf)
        $(INSTALL_CONF) $(PKG_INSTALL_DIR)/etc/proftpd.conf $(1)/etc/
        $(INSTALL_CONF) $(PKG_INSTALL_DIR)/etc/proftpd.conf $(1)/etc/
+       $(INSTALL_DIR) $(1)/etc/init.d
+       $(INSTALL_BIN) ./files/proftpd.init $(1)/etc/init.d/proftpd
        $(INSTALL_DIR) $(1)/usr/bin
        $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/ftp{count,top,who} $(1)/usr/bin/
        $(INSTALL_DIR) $(1)/usr/sbin
        $(INSTALL_DIR) $(1)/usr/bin
        $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/ftp{count,top,who} $(1)/usr/bin/
        $(INSTALL_DIR) $(1)/usr/sbin
@@ -53,4 +56,41 @@ define Package/proftpd/install
        $(CP) $(PKG_INSTALL_DIR)/usr/sbin/in.proftpd $(1)/usr/sbin/
 endef
 
        $(CP) $(PKG_INSTALL_DIR)/usr/sbin/in.proftpd $(1)/usr/sbin/
 endef
 
+define Package/proftpd/postinst
+#!/bin/sh
+
+name=ftp
+id=55
+home=/home/$${name}
+shell=/bin/ash
+
+# do not change below
+# # check if we are on real system
+if [ -z "$${IPKG_INSTROOT}" ]; then
+        # create copies of passwd and group, if we use squashfs
+        rootfs=`mount |awk '/root/ { print $$5 }'`
+        if [ "$$rootfs" = "squashfs" ]; then
+                if [ -h /etc/group ]; then
+                        rm /etc/group
+                        cp /rom/etc/group /etc/group
+                fi
+                if [ -h /etc/passwd ]; then
+                        rm /etc/passwd
+                        cp /rom/etc/passwd /etc/passwd
+                fi
+        fi
+fi
+
+echo ""
+if [ -z "$$(grep ^\\$${name}: $${IPKG_INSTROOT}/etc/group)" ]; then
+        echo "adding group $$name to /etc/group"
+        echo "$${name}:x:$${id}:" >> $${IPKG_INSTROOT}/etc/group
+fi
+
+if [ -z "$$(grep ^\\$${name}: $${IPKG_INSTROOT}/etc/passwd)" ]; then
+        echo "adding user $$name to /etc/passwd"
+        echo "$${name}:x:$${id}:$${id}:$${name}:$${home}:$${shell}" >> $${IPKG_INSTROOT}/etc/passwd
+fi
+endef
+
 $(eval $(call BuildPackage,proftpd))
 $(eval $(call BuildPackage,proftpd))
diff --git a/net/proftpd/files/proftpd.init b/net/proftpd/files/proftpd.init
new file mode 100644 (file)
index 0000000..b92dc38
--- /dev/null
@@ -0,0 +1,41 @@
+#!/bin/sh /etc/rc.common
+# Copyright (C) 2010 OpenWrt.org
+
+START=50
+
+BIN=/usr/sbin/proftpd
+HOME=/home/ftp
+RUN_D=/var
+PID_F=$RUN_D/proftpd.pid
+RUN_USER=ftp
+RUN_GROUP=$RUN_USER
+
+EXTRA_COMMANDS="suspend resume"
+EXTRA_HELP="   suspend Suspend the service
+       resume  Resume the service"
+
+start() {
+       [ -d $HOME ] || ( mkdir -p $HOME && chown $RUN_USER:$RUN_GROUP $HOME )
+
+       [ ! -f $PID_F ] && $BIN
+}
+
+stop() {
+       [ -f $PID_F ] && kill $(cat $PID_F)
+}
+
+reload() {
+       [ -f $PID_F ] && kill -HUP $(cat $PID_F)
+}
+
+suspend() {
+       echo "Suspending NOW"
+       ftpshut now "Maintenance in progress"
+}
+
+resume() {
+       [ -f /etc/shutmsg ] && {
+               echo "Allowing sessions again"
+               ftpshut -R > /dev/null
+       }
+}