pure-ftpd:

* Migrate configuration to UCI
 * Cleanup Makefile
 * Refresh patch

git-svn-id: svn://svn.openwrt.org/openwrt/packages@9325 3c298f89-4303-0410-b956-a3cf2f4a3e73
This commit is contained in:
olli 2007-10-15 11:37:54 +00:00
parent 1d6d2b8c2f
commit 5a4a83fefd
4 changed files with 78 additions and 29 deletions

View File

@ -1,5 +1,5 @@
#
# Copyright (C) 2006 OpenWrt.org
# Copyright (C) 2007 OpenWrt.org
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
@ -10,15 +10,10 @@ include $(TOPDIR)/rules.mk
PKG_NAME:=pure-ftpd
PKG_VERSION:=1.0.21
PKG_RELEASE:=1
PKG_MD5SUM:=ca8a8dbec0cd9c8ea92fc4c37ea9c410
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
PKG_SOURCE_URL:=http://download.pureftpd.org/pub/pure-ftpd/releases/
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
PKG_CAT:=bzcat
PKG_INSTALL_DIR:=$(PKG_BUILD_DIR)/ipkg-install
PKG_SOURCE_URL:=http://download.pureftpd.org/pub/pure-ftpd/releases/
PKG_MD5SUM:=ca8a8dbec0cd9c8ea92fc4c37ea9c410
include $(INCLUDE_DIR)/package.mk
@ -32,18 +27,23 @@ define Package/pure-ftpd
endef
define Package/pure-ftpd/description
Pure-FTPd is a free (BSD), secure, production-quality and standard-conformant FTP server.\ It doesn't provide useless bells and whistles, but focuses on efficiency and ease of use.\ It provides simple answers to common needs, plus unique useful features for personal users\ as well as hosting providers.
Pure-FTPd is a free (BSD), secure, production-quality and standard-conformant
FTP server. It doesn't provide useless bells and whistles, but focuses on
efficiency and ease of use.
It provides simple answers to common needs, plus unique useful features for
personal users as well as hosting providers.
endef
define Build/Configure
$(call Build/Configure/Default,--with-everything)
endef
CONFIGURE_ARGS += \
--with-everything \
define Package/pure-ftpd/install
$(INSTALL_DIR) $(1)/etc/init.d $(1)/usr/sbin
install -m0755 ./files/$(PKG_NAME).init $(1)/etc/init.d/$(PKG_NAME)
$(CP) $(PKG_BUILD_DIR)/src/pure-{ftpd,pw,ftpwho,mrtginfo,pwconvert,quotacheck,statsdecode,uploadscript,authd} $(1)/usr/sbin/
$(CP) $(PKG_BUILD_DIR)/src/ptracetest $(1)/usr/sbin/
$(INSTALL_DIR) $(1)/etc/config $(1)/etc/init.d $(1)/usr/sbin
$(INSTALL_DATA) ./files/$(PKG_NAME).config $(1)/etc/config/$(PKG_NAME)
$(INSTALL_BIN) ./files/$(PKG_NAME).init $(1)/etc/init.d/$(PKG_NAME)
$(INSTALL_BIN) $(PKG_BUILD_DIR)/src/ptracetest $(1)/usr/sbin
$(INSTALL_BIN) $(foreach i,ftpd pw ftpwho mrtginfo pwconvert quotacheck statsdecode uploadscript authd, \
$(PKG_BUILD_DIR)/src/pure-$(i)) $(1)/usr/sbin
endef
$(eval $(call BuildPackage,pure-ftpd))

View File

@ -0,0 +1,10 @@
config pure-ftpd
option port '21'
option noanonymous '1'
option chrooteveryone '1'
option maxclientsperip '10'
option maxclientsnumber '4'
option peruserlimits '3:4'
option umask '133:022'
option authentication 'unix'
option enabled '0'

View File

@ -2,20 +2,57 @@
# Copyright (C) 2006 OpenWrt.org
START=50
BIN=pure-ftpd
DEFAULT=/etc/default/$BIN
LOG_D=/var/log/$BIN
RUN_D=/var/run
PID_F=$RUN_D/$BIN.pid
OPTIONS="-A -B -c 10 -C 4 -E -lunix -U 133:022 -g $PID_F -y 3:4"
[ -f $DEFAULT ] && . $DEFAULT
SSD=start-stop-daemon
PIDF=/var/run/pure-ftpd.pid
PROG=/usr/sbin/pure-ftpd
append_bool() {
local section="$1"
local option="$2"
local value="$3"
local _val
config_get_bool _val "$section" "$option" '0'
[ "$_val" -gt 0 ] && append args "$3"
}
append_string() {
local section="$1"
local option="$2"
local value="$3"
local _val
config_get _val "$section" "$option"
[ -n "$_val" ] && append args "$3 $_val"
}
start_service() {
local section="$1"
args=""
append_string "$section" port "-S"
append_bool "$section" noanonymous "-E"
append_bool "$section" chrooteveryone "-A"
append_string "$section" maxclientsperip "-c"
append_string "$section" maxclientsnumber "-C"
append_string "$section" peruserlimits "-y"
append_string "$section" umask "-U"
append_string "$section" authentication "-l"
config_get_bool "enabled" "$section" "enabled" '1'
[ "$enabled" -gt 0 ] && $SSD -S -p $PIDF -q -x $PROG -- -g $PIDF -B $args
}
stop_service() {
killall pure-ftpd 2>&1 > /dev/null
# FIXME: Fix Busybox start-stop-daemon to work with multiple PIDs
# $SSD -K -p $PIDF -q
}
start() {
mkdir -p $LOG_D
mkdir -p $RUN_D
$BIN $OPTIONS
config_load "pure-ftpd"
config_foreach start_service "pure-ftpd"
}
stop() {
[ -f $PID_F ] && kill $(cat $PID_F)
config_load "pure-ftpd"
config_foreach stop_service "pure-ftpd"
}

View File

@ -1,5 +1,7 @@
--- pure-ftpd-1.0.21/configure 2006-02-19 15:33:05.000000000 +0100
+++ pure-ftpd-1.0.21.new/configure 2006-12-11 16:07:29.000000000 +0100
Index: pure-ftpd-1.0.21/configure
===================================================================
--- pure-ftpd-1.0.21.orig/configure 2007-10-14 22:03:46.000000000 +0200
+++ pure-ftpd-1.0.21/configure 2007-10-14 22:03:46.000000000 +0200
@@ -9273,7 +9273,7 @@
if test "$cross_compiling" = yes; then
{ { echo "$as_me:$LINENO: error: internal error: not reached in cross-compile" >&5