summaryrefslogtreecommitdiff
path: root/net-ftp/pure-ftpd
diff options
context:
space:
mode:
Diffstat (limited to 'net-ftp/pure-ftpd')
-rw-r--r--net-ftp/pure-ftpd/Manifest13
-rw-r--r--net-ftp/pure-ftpd/files/pure-certd.initd19
-rw-r--r--net-ftp/pure-ftpd/files/pure-certd.script27
-rw-r--r--net-ftp/pure-ftpd/files/pure-ftpd.confd-r45
-rw-r--r--net-ftp/pure-ftpd/files/pure-ftpd.initd-r1223
-rw-r--r--net-ftp/pure-ftpd/files/pure-uploadscript.confd8
-rw-r--r--net-ftp/pure-ftpd/files/pure-uploadscript.initd-r130
-rw-r--r--net-ftp/pure-ftpd/pure-ftpd-1.0.49-r6.ebuild2
-rw-r--r--net-ftp/pure-ftpd/pure-ftpd-1.0.50-r1.ebuild2
-rw-r--r--net-ftp/pure-ftpd/pure-ftpd-1.0.50-r3.ebuild161
-rw-r--r--net-ftp/pure-ftpd/pure-ftpd-9999.ebuild105
11 files changed, 343 insertions, 52 deletions
diff --git a/net-ftp/pure-ftpd/Manifest b/net-ftp/pure-ftpd/Manifest
index 8319ba3390ec..4cf70a7469cc 100644
--- a/net-ftp/pure-ftpd/Manifest
+++ b/net-ftp/pure-ftpd/Manifest
@@ -1,14 +1,21 @@
+AUX pure-certd.initd 562 BLAKE2B 21431b74d2a745b13daa7772748b4484e18a640ffc07252ed60867b297a8f31267f583ceb408ee31c11bbc43de3fcda0b51e4324279b50c8a4a19ea6f1342945 SHA512 1a7a7dcba98e92e86ae3f35c33c5fe970c6530f1059692f32cdc851de1d8492720020b252e70c646eff6fdbbb32dfb99b1ae449acaea5fd0fe5541dc89891301
+AUX pure-certd.script 678 BLAKE2B 09a27afc2b1d885b051988d0d5af4ab3fe3ffff68a37a01071a7cfe5334d7f62b0510865381f5d226f12558a04214afdc3fc158e22cc7e2c940617997c9453cf SHA512 807598a1e7e2ad92e1b5e52b0f2321a45d032a74e806435fddbf4f6b99ca2663617ee6accbeeb187c17f8a35668d1b097b13a8930be24ddfd4fb5818e3b1523c
AUX pure-ftpd-1.0.28-pam.patch 568 BLAKE2B cb7a9540e5646d7e9b734f893d4449e11cad60f897b39ed111559877edb4cf22e607fcf15d6ed7eea6dbf7a03a430c9182d6405ced13cf9c6614d15a45e17a49 SHA512 c331837c4c8988e0623a6a4f4222263dd161a49a2748079d3c539db2025b7b048ca5976b4450dd32cab5755932c7e59f6976d9d3bda2e5e87f1869789f8e00ba
AUX pure-ftpd-1.0.49-diraliases_uninitialized_pointer.patch 898 BLAKE2B ccccd0302184a768ac522197628b2021374579afcda595a70041dc14f3cab05317ac373a2fadf9d0565a95c0d730c87590c3dc13efa944e8d496264b3f0e4ab1 SHA512 7930dddc7e58bd00fdeb4cd0da49491d59907334f47f23d12433f71a9a2103a8b5cc503c5d4d461b110cdea61f2f6ef974bf123d96394334f668aacdb747f830
AUX pure-ftpd-1.0.49-do-not-call-ar-directly.patch 609 BLAKE2B 5f3ac69ae824cd07a16629afdbed9d1d55718184fb0da09063ae5beacf189861263bb21bc4e3f6d9f853757169f8125221db4728002bbd2697992c8035201585 SHA512 91d15fbcf4d99100072bae5a7121122a0ae0e912a4df5a7d9645419506bdd7de70ce09d586b9a3ec83838fd98cddee6d744cda7b6383985f80278859ff5200e4
AUX pure-ftpd-1.0.49-pure_strcmp_OOB_read.patch 847 BLAKE2B f7e12194d219bb5a410a7b55743cdb2b8eb268a60aef8b8d9826e242264989a4502bb2378503c3a7ed8913fce4d95b681fcd185d184ef54e04dcda6b4853d99e SHA512 ff4aefeffd92f9e01e7c57779cc9ed59c0972a40a02431fa4e63696071ebbf28e4a0f83b6b6c878d4b62fed7efa05ff90e9d604e8c7e6a9358bc8853105731f1
AUX pure-ftpd-1.0.49-quota_maxfile_size_check.patch 994 BLAKE2B 8a3a840af77642b1b00e7cc05dc095631400e4332a7f5ece140ea5034cd6cbf5f2d9509cfe1138dd4bc968dca60d848ef238a0bd0d7d0f44a978dde15cd9ad62 SHA512 7e5d79984355765dd1c167e23018cda5f17102424769a439a03e642ebc66838d2f9410af99151ce0d47056cbead6979df335a65e4468da5025b8555a84d4c798
AUX pure-ftpd.conf_d-3 3728 BLAKE2B a9bfa8208bdf7fcb053cd48e17638f787388804c57788ac594fae096cc824e347979b251b2c8e9d753308bfb63a37111f9690aabe684dc3eb614f68949d3983b SHA512 a5cc8e59178a5d0f7b5909d09009ef6ace1f8e6874bd733e21bc30f4899447e70b020a0369077132751ceb28afa971588efedcce3dea83e9b043b1545caf3393
+AUX pure-ftpd.confd-r4 170 BLAKE2B d552480bea7503066ef3f0e90a082660a30f35cf809e26860ba9b49fcbb2fcdafdfe35041510fdd73f1b42cb35b7d90caa37ed9722de769750558818ebfbfe43 SHA512 6afde5a6e0f8e3a14bd23a6f861e18754980ab1b845defe06378493ed58e693628f4af71b591b3160037a0fdf6cc750c2a0d156a47c48a2a1d58c0032e389a1f
+AUX pure-ftpd.initd-r12 519 BLAKE2B 6271067b195de1b662ffe1577aaf3e6e2badd44494e17f27671f9f70e3f1bb955326af390b709a4ff9cefd2ba48e1ef77efaaac5595a5dccbbb75e9376db7153 SHA512 2189b8761aa51b68bd4b5b5c79e3f7220c9f96e5187bf17ed55a50a74ebe0989b3d5f2c9d8b3bdc89d184ce7f97d16e1c51e46b3d178feacc72864090717b8a1
AUX pure-ftpd.rc11 2018 BLAKE2B 1783228b5179b6d11fd6b06bc722e15f6f81e6c8443dd516f8fe1b7c7132ef4f8b92a67083354a4f78d41cee4b4a33b39d1940748bcd1056d336b5744069aac8 SHA512 920bb0c20a3a0a053977e999cf26a23a835155eca9c0224577b13623e002a07f52c30439e54f66c42dd89566b66cc5b8341a3d2e78a9bdc038f2a096153daaba
AUX pure-ftpd.xinetd 247 BLAKE2B aa2b0f8b4b6ff45e9b8dd632af5ff680ddd5abe51647dda91ca78bf3cb9ba9a090b20433f460213e95b8e57958d711f4bd7fa594b3d33fae818b853ec5aaee5d SHA512 e8ac0527daf1e182e7514d17f04bd20e789231e627cc7228ac23a241a4c420204a61ef9438c57e63f402eb3608ae0acc15a72fe484c99bb4e172bbd5ece2b72d
+AUX pure-uploadscript.confd 368 BLAKE2B 675e5349b2f808dd2a3cbaf2536a0541f40d42d300b7411163bc8232470c6f63a1d92cef393271693a02bcb5129624d38de77a99ca030a77bab00cc1fbe797c4 SHA512 2632be874a5afb25b8c8c1acbdfef929542d80dc9a8f280b4a9b0b6878be63f901ccd2c29c2ae0f9f74f45e41df1b7e69d1cef6f77e93c9b235709a7094480af
+AUX pure-uploadscript.initd-r1 776 BLAKE2B 1e382300a92fabb5308aa2636de2f427418d8595859fa2d7e6ee0a62297a0a17386f2f4c55de03ad282ed0545cc97ea6c0df67fe5fe6af736789d01e18c69f97 SHA512 3bb735bf0dc12434bc283ea9948c5b7feeaf72a26382a65a3c8eaec87a13f82239699e4687e5b36be5478bcab801974633b17771d9a583b6be508503118899e4
DIST pure-ftpd-1.0.49.tar.bz2 487958 BLAKE2B bd5f10a49b533eb6c257032659e97aa7ae16ec9402704d8ee06c92938e217b748b390ccf0e31b3640f41cb7a93f85b29c8ddcdc296f214391b1d92da9d701a7c SHA512 b44896d6fe2cda9169b1db93c5260bb892af14a173f2d25e60dd6530afe85d8e9156985609e35da7e5550dc123afb42bc5012beb9fca9011054cf0ed8b2eddef
DIST pure-ftpd-1.0.50.tar.bz2 520167 BLAKE2B 0c694ed48e896be13d907a71a24357f8676daf2c66bdaac41d31b162741164fe5ab1560499acc08b11e4fdb2a678c81c81c03e65a8181fcfd960ffbfe4b731d4 SHA512 8fbd24fb0450b9ed8e47335c97c3bc1cbcd0ee2ac7ebea95721b9dbddb7f61d8bedaa1710ba94213d96c79e12ec9b2b555ddb5f494c8961ca2339b176a52fe12
-EBUILD pure-ftpd-1.0.49-r6.ebuild 4393 BLAKE2B 9faa4fd08707b498fdf813545ccabff8a693d4ec349c095c97176196adec89e65dda12adc7822a43887cd944bdb622b624525691cbbfdfcb3ed9770deedc0bbc SHA512 7140052d7d1a0e2c62740296a20c18ad5c0721e9d8274978de824b458ffb318499d3ba3db780dd54137c40dc053d7744f58495038fc4f9978eaccd4460cb1b31
-EBUILD pure-ftpd-1.0.50-r1.ebuild 4107 BLAKE2B e1eba63ae010ae137848d110366de1d30f0b39d3257fcdba06db6c7029caf36bfdfbdd48f4ace82965c83bae2d57b5e066a4ac2b2bca22d4a29ed18d33d510d8 SHA512 0d2a677fb96bed769a01d170f93cdc7ce02ec625481d5a82f331810cb492e6e095ab608610136ead40af9d772bba6e56cf29f114555437b7170aed527c9f27b9
-EBUILD pure-ftpd-9999.ebuild 4107 BLAKE2B e1eba63ae010ae137848d110366de1d30f0b39d3257fcdba06db6c7029caf36bfdfbdd48f4ace82965c83bae2d57b5e066a4ac2b2bca22d4a29ed18d33d510d8 SHA512 0d2a677fb96bed769a01d170f93cdc7ce02ec625481d5a82f331810cb492e6e095ab608610136ead40af9d772bba6e56cf29f114555437b7170aed527c9f27b9
+EBUILD pure-ftpd-1.0.49-r6.ebuild 4399 BLAKE2B 11f875c1345ffde82632d1f7cb70c934f571a460bbe85583c381c1d9ee1cde305e9e413595afb034d34ad695e06bbccd2f695c560202f0a483524a149510737a SHA512 18f4236c55ff0d1f0fd059cf44bfa8fa8f1ddec4d225384bc66c21fefd17ee003e316f9a6f9cafcd6d658ad2ef66bd5d9858b8d05e629cc0071b7fc94453bd1c
+EBUILD pure-ftpd-1.0.50-r1.ebuild 4113 BLAKE2B b60eaf0982ea54aae3b738100017901b264e063c22d4b905358b4710e12c54a0785d58a0f024d04157db9e78be2eaaa61cc7cacdae8a37d02c8acad910155306 SHA512 0b5fd18b202a61ce01d749c5190d4b66ca843e55964891af26a618ce3c3aba16189741de421abaff582ee8d7b4e9420591ab58e25937c0976e3c439f2e42910e
+EBUILD pure-ftpd-1.0.50-r3.ebuild 4369 BLAKE2B b44d87e95f8a73dfec5819b89fc69666809158a61fc4a3e5b31bec0abc299ab788735d3fa414a20f7835c15c610370eabebbd53cd2a56aed11089e8e4bb4b145 SHA512 f4ec59f90bce535f39d135cb07f3ecaa40c16c17d9bfb5b5bfbf25f244ce70445621e5b0a937363970875ba64ed5317242400e949b383476d48f72891f3569f7
+EBUILD pure-ftpd-9999.ebuild 4369 BLAKE2B b44d87e95f8a73dfec5819b89fc69666809158a61fc4a3e5b31bec0abc299ab788735d3fa414a20f7835c15c610370eabebbd53cd2a56aed11089e8e4bb4b145 SHA512 f4ec59f90bce535f39d135cb07f3ecaa40c16c17d9bfb5b5bfbf25f244ce70445621e5b0a937363970875ba64ed5317242400e949b383476d48f72891f3569f7
MISC metadata.xml 1177 BLAKE2B 7662da71f87d60d342e0a304c73c02f95a1006a0e6614c40ee3f3333a01430cb0a50ebd7e190569fcac25f9cefdd48fef68649c97006846977a2596333d78c34 SHA512 6c79218bba944381fbf0bfc86e27adde1e95e5e2ac5e7e2c5d637820f8fb4bb1bbd5e91a53f6fbc4ef641d03be6490e1d137895176576f7e2da798662590fb0a
diff --git a/net-ftp/pure-ftpd/files/pure-certd.initd b/net-ftp/pure-ftpd/files/pure-certd.initd
new file mode 100644
index 000000000000..1d254e5274a9
--- /dev/null
+++ b/net-ftp/pure-ftpd/files/pure-certd.initd
@@ -0,0 +1,19 @@
+#!/sbin/openrc-run
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+certd_scriptfile="/etc/${SVCNAME}.sh"
+certd_socketfile="/run/${SVCNAME}.sock"
+pidfile="/run/pure-certd.pid"
+
+command="/usr/sbin/pure-certd"
+command_args="--pidfile ${pidfile} --run ${certd_scriptfile} --socket ${certd_socketfile}"
+command_background="true"
+
+start_pre() {
+ if [ ! -f "${certd_scriptfile}" ] ; then
+ eerror "The file ${certd_scriptfile} does not exist!"
+ eerror "Please create and configure the script."
+ return 1
+ fi
+}
diff --git a/net-ftp/pure-ftpd/files/pure-certd.script b/net-ftp/pure-ftpd/files/pure-certd.script
new file mode 100644
index 000000000000..77aa1bf9f702
--- /dev/null
+++ b/net-ftp/pure-ftpd/files/pure-certd.script
@@ -0,0 +1,27 @@
+#!/bin/sh
+# Copyright 1999-2022 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+# Set default ssl directory
+SSL_DIR="/etc/ssl/pure-ftpd"
+
+# Check SNI and select certificate
+case "${CERTD_SNI_NAME}" in
+ domain1.tld)
+ FILE_CERT="${SSL_DIR}/domain1.tld.crt"
+ FILE_KEY="${SSL_DIR}/domain1.tld.key"
+ ;;
+
+ domain2.tld)
+ FILE_CERT="${SSL_DIR}/domain2.tld.crt"
+ FILE_KEY="${SSL_DIR}/domain2.tld.key"
+ ;;
+esac
+
+# Print selected certificate for 'pure-certd'.
+# You can modify 'action' for your needs.
+# See man page of 'pure-certd' for more information.
+echo "action:fallback"
+echo "cert_file:${FILE_CERT}"
+echo "key_file:${FILE_KEY}"
+echo "end"
diff --git a/net-ftp/pure-ftpd/files/pure-ftpd.confd-r4 b/net-ftp/pure-ftpd/files/pure-ftpd.confd-r4
new file mode 100644
index 000000000000..d49b6c509c58
--- /dev/null
+++ b/net-ftp/pure-ftpd/files/pure-ftpd.confd-r4
@@ -0,0 +1,5 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+# Optionally depend on started Pure-Certd
+# RC_NEED="pure-certd"
diff --git a/net-ftp/pure-ftpd/files/pure-ftpd.initd-r12 b/net-ftp/pure-ftpd/files/pure-ftpd.initd-r12
new file mode 100644
index 000000000000..c971125784b7
--- /dev/null
+++ b/net-ftp/pure-ftpd/files/pure-ftpd.initd-r12
@@ -0,0 +1,23 @@
+#!/sbin/openrc-run
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+ftpd_configfile="/etc/${SVCNAME}.conf"
+pidfile="/run/pure-ftpd.pid"
+
+command="/usr/sbin/pure-ftpd"
+command_args="${ftpd_configfile}"
+command_background="true"
+
+depend() {
+ need localmount
+ use netmount
+}
+
+start_pre() {
+ if [ ! -f "${ftpd_configfile}" ] ; then
+ eerror "The file ${ftpd_configfile} does not exist!"
+ eerror "Please create and configure the configuration file."
+ return 1
+ fi
+}
diff --git a/net-ftp/pure-ftpd/files/pure-uploadscript.confd b/net-ftp/pure-ftpd/files/pure-uploadscript.confd
new file mode 100644
index 000000000000..4b8fca0deb8f
--- /dev/null
+++ b/net-ftp/pure-ftpd/files/pure-uploadscript.confd
@@ -0,0 +1,8 @@
+#!/sbin/openrc-run
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+# If you want to process each file uploaded through Pure-FTPd, enter the name
+# of the script that should process the files below.
+# Use man pure-uploadscript to learn more about how to write this script.
+# UPLOADSCRIPT="/path/to/uploadscript"
diff --git a/net-ftp/pure-ftpd/files/pure-uploadscript.initd-r1 b/net-ftp/pure-ftpd/files/pure-uploadscript.initd-r1
new file mode 100644
index 000000000000..5914c875fdf1
--- /dev/null
+++ b/net-ftp/pure-ftpd/files/pure-uploadscript.initd-r1
@@ -0,0 +1,30 @@
+#!/sbin/openrc-run
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+ftpd_configfile="/etc/pure-ftpd.conf"
+pidfile="/run/pure-uploadscript.pid"
+
+command="/usr/sbin/pure-uploadscript"
+command_args="${UPLOADSCRIPT}"
+command_background="true"
+
+depend() {
+ need localmount
+ use netmount
+}
+
+start_pre() {
+ if [ -n "${UPLOADSCRIPT}" ] ; then
+ eerror "The file ${ftpd_configfile} does not exist!"
+ eerror "Please create and configure the uploadscript file."
+ return 1
+ fi
+
+ if ! grep "^CallUploadScript" "${ftpd_configfile}" ; then
+ eerror "You cannot start this uploadscript,"
+ eerror "unless you enable the option CallUploadScript"
+ eerror "in your main Pure-FTPd configuration file ${ftpd_configfile}"
+ return 1
+ fi
+}
diff --git a/net-ftp/pure-ftpd/pure-ftpd-1.0.49-r6.ebuild b/net-ftp/pure-ftpd/pure-ftpd-1.0.49-r6.ebuild
index d54809d44fa9..784e79dcafc5 100644
--- a/net-ftp/pure-ftpd/pure-ftpd-1.0.49-r6.ebuild
+++ b/net-ftp/pure-ftpd/pure-ftpd-1.0.49-r6.ebuild
@@ -16,7 +16,7 @@ else
KEYWORDS="~alpha amd64 arm ~arm64 ~hppa ~ia64 ppc ppc64 sparc x86"
fi
-LICENSE="BSD"
+LICENSE="BSD GPL-2"
SLOT="0"
IUSE="anondel anonperm anonren anonres caps implicittls ldap mysql noiplog pam paranoidmsg postgres resolveids selinux ssl sysquota vchroot xinetd"
diff --git a/net-ftp/pure-ftpd/pure-ftpd-1.0.50-r1.ebuild b/net-ftp/pure-ftpd/pure-ftpd-1.0.50-r1.ebuild
index 4be40c54c4ef..e78b1e52dc2e 100644
--- a/net-ftp/pure-ftpd/pure-ftpd-1.0.50-r1.ebuild
+++ b/net-ftp/pure-ftpd/pure-ftpd-1.0.50-r1.ebuild
@@ -16,7 +16,7 @@ else
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86"
fi
-LICENSE="BSD"
+LICENSE="BSD GPL-2"
SLOT="0"
IUSE="anondel anonperm anonren anonres caps implicittls ldap mysql noiplog pam paranoidmsg postgres resolveids selinux ssl sysquota vchroot xinetd"
diff --git a/net-ftp/pure-ftpd/pure-ftpd-1.0.50-r3.ebuild b/net-ftp/pure-ftpd/pure-ftpd-1.0.50-r3.ebuild
new file mode 100644
index 000000000000..712fefda22b2
--- /dev/null
+++ b/net-ftp/pure-ftpd/pure-ftpd-1.0.50-r3.ebuild
@@ -0,0 +1,161 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit flag-o-matic
+
+DESCRIPTION="Fast, production-quality, standard-conformant FTP server"
+HOMEPAGE="https://www.pureftpd.org/project/pure-ftpd/"
+if [[ "${PV}" == 9999 ]] ; then
+ inherit autotools git-r3
+ EGIT_REPO_URI="https://github.com/jedisct1/pure-ftpd.git"
+else
+ SRC_URI="
+ ftp://ftp.pureftpd.org/pub/${PN}/releases/${P}.tar.bz2
+ http://download.pureftpd.org/pub/${PN}/releases/${P}.tar.bz2
+ "
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~riscv ~sparc ~x86"
+fi
+
+LICENSE="BSD GPL-2"
+SLOT="0"
+IUSE="anondel anonperm anonren anonres caps implicittls ldap mysql noiplog pam paranoidmsg postgres resolveids selinux ssl sysquota vchroot xinetd"
+REQUIRED_USE="implicittls? ( ssl )"
+
+DEPEND="
+ dev-libs/libsodium:=
+ virtual/libcrypt:=
+ caps? ( sys-libs/libcap )
+ ldap? ( >=net-nds/openldap-2.0.25:= )
+ mysql? ( || (
+ dev-db/mariadb-connector-c
+ dev-db/mysql-connector-c
+ )
+ )
+ pam? ( sys-libs/pam )
+ postgres? ( dev-db/postgresql:= )
+ ssl? ( dev-libs/openssl:0=[-bindist(-)] )
+ sysquota? ( sys-fs/quota[-rpc] )
+ xinetd? ( virtual/inetd )
+"
+
+RDEPEND="
+ ${DEPEND}
+ net-ftp/ftpbase
+ selinux? ( sec-policy/selinux-ftp )
+"
+
+BDEPEND="sys-devel/autoconf-archive"
+
+PATCHES=( "${FILESDIR}/${PN}-1.0.28-pam.patch" )
+
+src_prepare() {
+ default
+
+ [[ "${PV}" == 9999 ]] && eautoreconf
+}
+
+src_configure() {
+ # Those features are only configurable like this, see bug #179375.
+ use anondel && append-cppflags -DANON_CAN_DELETE
+ use anonperm && append-cppflags -DANON_CAN_CHANGE_PERMS
+ use anonren && append-cppflags -DANON_CAN_RENAME
+ use anonres && append-cppflags -DANON_CAN_RESUME
+ use resolveids && append-cppflags -DALWAYS_RESOLVE_IDS
+
+ # Do not auto-use SSP -- let the user select this.
+ export ax_cv_check_cflags___fstack_protector_all=no
+
+ local myeconfargs=(
+ --enable-largefile
+ # Required for correct pid file location.
+ # Pure-FTPd appends "/run/pure-ftpd.pid" to the localstatedir
+ # path, and tries to write to that file even when being
+ # started in foreground. So we need to pin this to /
+ --localstatedir="${EPREFIX}"/
+ --with-altlog
+ --with-cookie
+ --with-diraliases
+ --with-extauth
+ --with-ftpwho
+ --with-language=${PUREFTPD_LANG:=english}
+ --with-peruserlimits
+ --with-privsep
+ --with-puredb
+ --with-quotas
+ --with-ratios
+ --with-throttling
+ --with-uploadscript
+ --with-virtualhosts
+ $(use_with implicittls)
+ $(use_with ldap)
+ $(use_with mysql)
+ $(use_with pam)
+ $(use_with paranoidmsg)
+ $(use_with postgres pgsql)
+ $(use_with ssl tls)
+ $(use_with sysquota sysquotas)
+ $(use_with vchroot virtualchroot)
+ $(usex caps '' '--without-capabilities')
+ $(usex noiplog '--without-iplogging' '')
+ $(usex xinetd '' '--without-inetd')
+ )
+
+ econf "${myeconfargs[@]}"
+}
+
+src_install() {
+ default
+
+ newinitd "${FILESDIR}/pure-ftpd.initd-r12" pure-ftpd
+ newconfd "${FILESDIR}/pure-ftpd.confd-r4" pure-ftpd
+
+ newinitd "${FILESDIR}/pure-uploadscript.initd-r1" pure-uploadscript
+ newconfd "${FILESDIR}/pure-uploadscript.confd" pure-uploadscript
+
+ if use implicittls ; then
+ sed -e '/^# Bind/s@21@990@' -i "${ED}"/etc/pure-ftpd.conf || die
+ fi
+
+ if use ssl ; then
+ newinitd "${FILESDIR}/pure-certd.initd" pure-certd
+
+ exeinto /etc
+ newexe "${FILESDIR}/pure-certd.script" pure-certd.sh
+ fi
+
+ if use ldap ; then
+ insinto /etc/openldap/schema
+ doins pureftpd.schema
+ insinto /etc/openldap
+ insopts -m 0600
+ doins pureftpd-ldap.conf
+ fi
+
+ if use xinetd ; then
+ insinto /etc/xinetd.d
+ newins "${FILESDIR}/pure-ftpd.xinetd" pure-ftpd
+ fi
+}
+
+pkg_postinst() {
+ if [[ -z "${REPLACING_VERSIONS}" ]] ; then
+ # This is a new installation
+ elog
+ elog "Before starting Pure-FTPd, you have to edit the /etc/pure-ftpd.conf file!"
+ elog
+ ewarn "It's *really* important to read the README provided with Pure-FTPd!"
+ ewarn "Check out http://download.pureftpd.org/pub/pure-ftpd/doc/README for general info"
+ ewarn "and http://download.pureftpd.org/pub/pure-ftpd/doc/README.TLS for SSL/TLS info."
+ ewarn
+ else
+ for v in ${REPLACING_VERSIONS} ; do
+ if ver_test "${v}" -le "1.0.50" ; then
+ einfo "Configuration through /etc/conf.d/pure-ftpd is now deprecated!"
+ einfo "Please migrate your settings to the new configuration file."
+ einfo "Use /etc/pure-ftpd.conf to adjust your settings."
+ fi
+ done
+ fi
+}
diff --git a/net-ftp/pure-ftpd/pure-ftpd-9999.ebuild b/net-ftp/pure-ftpd/pure-ftpd-9999.ebuild
index 4be40c54c4ef..712fefda22b2 100644
--- a/net-ftp/pure-ftpd/pure-ftpd-9999.ebuild
+++ b/net-ftp/pure-ftpd/pure-ftpd-9999.ebuild
@@ -6,66 +6,63 @@ EAPI=8
inherit flag-o-matic
DESCRIPTION="Fast, production-quality, standard-conformant FTP server"
-HOMEPAGE="http://www.pureftpd.org/"
+HOMEPAGE="https://www.pureftpd.org/project/pure-ftpd/"
if [[ "${PV}" == 9999 ]] ; then
inherit autotools git-r3
EGIT_REPO_URI="https://github.com/jedisct1/pure-ftpd.git"
else
- SRC_URI="ftp://ftp.pureftpd.org/pub/${PN}/releases/${P}.tar.bz2
- http://download.pureftpd.org/pub/${PN}/releases/${P}.tar.bz2"
- KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86"
+ SRC_URI="
+ ftp://ftp.pureftpd.org/pub/${PN}/releases/${P}.tar.bz2
+ http://download.pureftpd.org/pub/${PN}/releases/${P}.tar.bz2
+ "
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~riscv ~sparc ~x86"
fi
-LICENSE="BSD"
+LICENSE="BSD GPL-2"
SLOT="0"
-
IUSE="anondel anonperm anonren anonres caps implicittls ldap mysql noiplog pam paranoidmsg postgres resolveids selinux ssl sysquota vchroot xinetd"
-
REQUIRED_USE="implicittls? ( ssl )"
-BDEPEND="sys-devel/autoconf-archive"
-
-DEPEND="dev-libs/libsodium:=
+DEPEND="
+ dev-libs/libsodium:=
virtual/libcrypt:=
caps? ( sys-libs/libcap )
ldap? ( >=net-nds/openldap-2.0.25:= )
mysql? ( || (
- dev-db/mariadb-connector-c
- dev-db/mysql-connector-c
- ) )
+ dev-db/mariadb-connector-c
+ dev-db/mysql-connector-c
+ )
+ )
pam? ( sys-libs/pam )
postgres? ( dev-db/postgresql:= )
- ssl? (
- >=dev-libs/openssl-0.9.6g:0=[-bindist(-)]
- )
+ ssl? ( dev-libs/openssl:0=[-bindist(-)] )
sysquota? ( sys-fs/quota[-rpc] )
- xinetd? ( virtual/inetd )"
+ xinetd? ( virtual/inetd )
+"
-RDEPEND="${DEPEND}
+RDEPEND="
+ ${DEPEND}
net-ftp/ftpbase
- selinux? ( sec-policy/selinux-ftp )"
+ selinux? ( sec-policy/selinux-ftp )
+"
-PATCHES=(
- "${FILESDIR}/${PN}-1.0.28-pam.patch"
-)
+BDEPEND="sys-devel/autoconf-archive"
+
+PATCHES=( "${FILESDIR}/${PN}-1.0.28-pam.patch" )
src_prepare() {
default
+
[[ "${PV}" == 9999 ]] && eautoreconf
}
src_configure() {
- # adjust max user length to something more appropriate
- # for virtual hosts. See bug #62472 for details.
- sed -e "s:# define MAX_USER_LENGTH 32U:# define MAX_USER_LENGTH 127U:" \
- -i "${S}/src/ftpd.h" || die "sed failed"
-
# Those features are only configurable like this, see bug #179375.
- use anondel && append-cppflags -DANON_CAN_DELETE
- use anonperm && append-cppflags -DANON_CAN_CHANGE_PERMS
- use anonren && append-cppflags -DANON_CAN_RENAME
- use anonres && append-cppflags -DANON_CAN_RESUME
- use resolveids && append-cppflags -DALWAYS_RESOLVE_IDS
+ use anondel && append-cppflags -DANON_CAN_DELETE
+ use anonperm && append-cppflags -DANON_CAN_CHANGE_PERMS
+ use anonren && append-cppflags -DANON_CAN_RENAME
+ use anonres && append-cppflags -DANON_CAN_RESUME
+ use resolveids && append-cppflags -DALWAYS_RESOLVE_IDS
# Do not auto-use SSP -- let the user select this.
export ax_cv_check_cflags___fstack_protector_all=no
@@ -73,7 +70,7 @@ src_configure() {
local myeconfargs=(
--enable-largefile
# Required for correct pid file location.
- # pure-ftpd appends "/run/pure-ftpd.pid" to the localstatedir
+ # Pure-FTPd appends "/run/pure-ftpd.pid" to the localstatedir
# path, and tries to write to that file even when being
# started in foreground. So we need to pin this to /
--localstatedir="${EPREFIX}"/
@@ -91,40 +88,41 @@ src_configure() {
--with-throttling
--with-uploadscript
--with-virtualhosts
+ $(use_with implicittls)
$(use_with ldap)
$(use_with mysql)
$(use_with pam)
$(use_with paranoidmsg)
$(use_with postgres pgsql)
$(use_with ssl tls)
- $(use_with implicittls)
- $(use_with vchroot virtualchroot)
$(use_with sysquota sysquotas)
+ $(use_with vchroot virtualchroot)
$(usex caps '' '--without-capabilities')
$(usex noiplog '--without-iplogging' '')
$(usex xinetd '' '--without-inetd')
)
+
econf "${myeconfargs[@]}"
}
src_install() {
- local DOCS=( AUTHORS ChangeLog FAQ HISTORY README* NEWS )
-
default
- newinitd "${FILESDIR}/pure-ftpd.rc11" ${PN}
- newconfd "${FILESDIR}/pure-ftpd.conf_d-3" ${PN}
+ newinitd "${FILESDIR}/pure-ftpd.initd-r12" pure-ftpd
+ newconfd "${FILESDIR}/pure-ftpd.confd-r4" pure-ftpd
+
+ newinitd "${FILESDIR}/pure-uploadscript.initd-r1" pure-uploadscript
+ newconfd "${FILESDIR}/pure-uploadscript.confd" pure-uploadscript
if use implicittls ; then
- sed -i '/^SERVER/s@21@990@' "${ED}"/etc/conf.d/${PN} \
- || die "Adjusting default server port for implicittls usage failed!"
+ sed -e '/^# Bind/s@21@990@' -i "${ED}"/etc/pure-ftpd.conf || die
fi
- keepdir /var/lib/run/${PN}
+ if use ssl ; then
+ newinitd "${FILESDIR}/pure-certd.initd" pure-certd
- if use xinetd ; then
- insinto /etc/xinetd.d
- newins "${FILESDIR}/pure-ftpd.xinetd" ${PN}
+ exeinto /etc
+ newexe "${FILESDIR}/pure-certd.script" pure-certd.sh
fi
if use ldap ; then
@@ -134,17 +132,30 @@ src_install() {
insopts -m 0600
doins pureftpd-ldap.conf
fi
+
+ if use xinetd ; then
+ insinto /etc/xinetd.d
+ newins "${FILESDIR}/pure-ftpd.xinetd" pure-ftpd
+ fi
}
pkg_postinst() {
- if [[ -z "${REPLACING_VERSIONS}" ]]; then
+ if [[ -z "${REPLACING_VERSIONS}" ]] ; then
# This is a new installation
elog
- elog "Before starting Pure-FTPd, you have to edit the /etc/conf.d/pure-ftpd file!"
+ elog "Before starting Pure-FTPd, you have to edit the /etc/pure-ftpd.conf file!"
elog
ewarn "It's *really* important to read the README provided with Pure-FTPd!"
ewarn "Check out http://download.pureftpd.org/pub/pure-ftpd/doc/README for general info"
ewarn "and http://download.pureftpd.org/pub/pure-ftpd/doc/README.TLS for SSL/TLS info."
ewarn
+ else
+ for v in ${REPLACING_VERSIONS} ; do
+ if ver_test "${v}" -le "1.0.50" ; then
+ einfo "Configuration through /etc/conf.d/pure-ftpd is now deprecated!"
+ einfo "Please migrate your settings to the new configuration file."
+ einfo "Use /etc/pure-ftpd.conf to adjust your settings."
+ fi
+ done
fi
}