From 014dc659f71c348084dd93999894e3cabe6eed04 Mon Sep 17 00:00:00 2001 From: Stephen Walker Date: Fri, 5 Mar 2010 11:34:19 +0000 Subject: [PATCH 1/1] [packages] proftpd: update to 1.3.3, add standalone init script, comment out UseIPv6 when IPv6 is disabled SVN-Revision: 19991 --- net/proftpd/Makefile | 48 +++++++++++++++++++++++++++++++--- net/proftpd/files/proftpd.init | 41 +++++++++++++++++++++++++++++ 2 files changed, 85 insertions(+), 4 deletions(-) create mode 100644 net/proftpd/files/proftpd.init diff --git a/net/proftpd/Makefile b/net/proftpd/Makefile index 554608ed85..beb9e5c354 100644 --- a/net/proftpd/Makefile +++ b/net/proftpd/Makefile @@ -8,15 +8,15 @@ include $(TOPDIR)/rules.mk PKG_NAME:=proftpd -PKG_VERSION:=1.3.2e +PKG_VERSION:=1.3.3 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_URL:=ftp://ftp.proftpd.org/distrib/source +PKG_MD5SUM:=3951244f1940f0a40e8af142a9cf67fe PKG_FIXUP:=libtool -PKG_INSTALL=1 +PKG_INSTALL:=1 include $(INCLUDE_DIR)/package.mk @@ -45,7 +45,10 @@ CONFIGURE_ARGS += \ 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_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 @@ -53,4 +56,41 @@ define Package/proftpd/install $(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)) diff --git a/net/proftpd/files/proftpd.init b/net/proftpd/files/proftpd.init new file mode 100644 index 0000000000..b92dc385be --- /dev/null +++ b/net/proftpd/files/proftpd.init @@ -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 + } +} -- 2.30.2