diff options
author | Mike Gilbert <floppym@gentoo.org> | 2021-08-16 14:09:43 -0400 |
---|---|---|
committer | Mike Gilbert <floppym@gentoo.org> | 2021-08-16 14:09:43 -0400 |
commit | 1a75a25262b20b9213dac8b2ebdd0c4938323b4b (patch) | |
tree | 1c65bc3a89aebca93a37c34a789db390ce05b00f /net-ftp/vsftpd/vsftpd-3.0.5-r1.ebuild | |
parent | profiles/package.mask: unmask dev-libs/intel-neo (diff) | |
download | gentoo-1a75a25262b20b9213dac8b2ebdd0c4938323b4b.tar.gz gentoo-1a75a25262b20b9213dac8b2ebdd0c4938323b4b.tar.bz2 gentoo-1a75a25262b20b9213dac8b2ebdd0c4938323b4b.zip |
net-ftp/vsftpd: fix seccomp failures
Signed-off-by: Mike Gilbert <floppym@gentoo.org>
Diffstat (limited to 'net-ftp/vsftpd/vsftpd-3.0.5-r1.ebuild')
-rw-r--r-- | net-ftp/vsftpd/vsftpd-3.0.5-r1.ebuild | 116 |
1 files changed, 116 insertions, 0 deletions
diff --git a/net-ftp/vsftpd/vsftpd-3.0.5-r1.ebuild b/net-ftp/vsftpd/vsftpd-3.0.5-r1.ebuild new file mode 100644 index 000000000000..707069d713d6 --- /dev/null +++ b/net-ftp/vsftpd/vsftpd-3.0.5-r1.ebuild @@ -0,0 +1,116 @@ +# Copyright 2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit systemd toolchain-funcs + +DESCRIPTION="Very Secure FTP Daemon" +HOMEPAGE="https://security.appspot.com/vsftpd.html" +SRC_URI="https://security.appspot.com/downloads/${P}.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~s390 ~sparc ~x86" +IUSE="elibc_musl pam ssl tcpd" + +DEPEND=" + >=sys-libs/libcap-2 + pam? ( sys-libs/pam ) + !pam? ( virtual/libcrypt:= ) + ssl? ( dev-libs/openssl:0= ) + tcpd? ( >=sys-apps/tcp-wrappers-7.6 ) +" + +RDEPEND="${DEPEND} + net-ftp/ftpbase +" + +src_prepare() { + local PATCHES=( + "${FILESDIR}"/vsftpd-2.3.2-kerberos.patch + "${FILESDIR}"/vsftpd-3.0.2-alpha.patch + "${FILESDIR}"/vsftpd-3.0.3-sparc.patch + "${FILESDIR}"/vsftpd-3.0.5-seccomp.patch + ) + default +} + +define() { + sed -i -e "/#undef $2/c#define $2${3:+ }$3" "$1" || die +} + +undef() { + sed -i -e "/#define $2/c#undef $2" "$1" || die +} + +src_configure() { + libs=( -lcap ) + + if use pam; then + libs+=( -lpam ) + else + undef builddefs.h VSF_BUILD_PAM + libs+=( -lcrypt ) + fi + + if use ssl; then + define builddefs.h VSF_BUILD_SSL + libs+=( -lcrypto -lssl ) + fi + + if use tcpd; then + define builddefs.h VSF_BUILD_TCPWRAPPERS + libs+=( -lwrap ) + fi + + if use elibc_musl; then + # musl does not support utmp/wtmp + # https://bugs.gentoo.org/713952 + undef sysdeputil.c VSF_SYSDEP_HAVE_UTMPX + fi +} + +src_compile() { + local args=( + CC="$(tc-getCC)" + CFLAGS="${CFLAGS}" + LDFLAGS="${LDFLAGS}" + LIBS="${libs[*]}" + LINK= + ) + emake "${args[@]}" +} + +src_install() { + into /usr + dosbin vsftpd + + doman vsftpd.conf.5 vsftpd.8 + + insinto /etc/logrotate.d + newins "${FILESDIR}"/vsftpd.logrotate vsftpd + + insinto /etc/xinetd.d + newins "${FILESDIR}"/vsftpd.xinetd vsftpd + + newinitd "${FILESDIR}"/vsftpd.init-3.0.5 vsftpd + + systemd_newunit "${FILESDIR}"/vsftpd.service-3.0.5 vsftpd.service + systemd_newunit "${FILESDIR}"/vsftpd_at.service-3.0.5 vsftpd@.service + systemd_dounit "${FILESDIR}"/vsftpd.socket + + keepdir /usr/share/empty + + dodoc vsftpd.conf + dodoc -r EXAMPLE SECURITY + + einstalldocs +} + +pkg_preinst() { + if [[ ! -e ${EROOT}/etc/vsftpd.conf && -e ${EROOT}/etc/vsftpd/vsftpd.conf ]]; then + elog "Moving ${EROOT}/etc/vsftpd/vsftpd.conf to ${EROOT}/etc/vsftpd.conf" + mv "${EROOT}"/etc/{vsftpd/,}vsftpd.conf || die + fi +} |