1 SUMMARY = "lightweight, efficient FTP server written for security"
2 HOMEPAGE = "https://security.appspot.com/vsftpd.html"
3 SECTION = "console/network"
4 LICENSE = "GPL-2.0-with-OpenSSL-exception"
5 LIC_FILES_CHKSUM = "file://COPYING;md5=a6067ad950b28336613aed9dd47b1271"
6 DEPENDS = "libcap openssl"
7 DEPENDS += "${@base_contains('DISTRO_FEATURES', 'pam', 'libpam', '', d)}"
11 https://security.appspot.com/downloads/${BP}.tar.gz \
12 file://vsftpd@.service \
13 file://vsftpd.socket \
14 file://vsftpd.xinetd.in \
15 file://01-builddefs.patch \
16 file://02-config.patch \
17 file://03-db-doc.patch \
18 file://04-link-local.patch \
19 file://05-whitespaces.patch \
20 file://06-greedy.patch \
21 file://07-utf8.patch \
22 file://08-manpage.patch \
23 file://09-s390.patch \
24 file://10-remote-dos.patch \
26 SRC_URI[md5sum] = "01398a5bef8e85b6cf2c213a4b011eca"
27 SRC_URI[sha256sum] = "d87ee2987df8f03e1dbe294905f7907b2798deb89c67ca965f6e2f60879e54f1"
29 S = "${WORKDIR}/${BP}"
31 inherit systemd useradd xinetd
33 CFLAGS = "${TARGET_CFLAGS}"
34 CFLAGS += "-DVSF_BUILD_SSL=1"
35 CFLAGS += "${@base_contains('DISTRO_FEATURES', 'pam', '-DVSF_BUILD_PAM=1', '', d)}"
37 LIBS = "-lcap -lcrypt -lssl -lcrypto"
38 LIBS += "${@base_contains('DISTRO_FEATURES', 'pam', '-lpam', '', d)}"
40 LINK = "${TARGET_LDFLAGS}"
42 SECURE_CHROOT_DIR = "${datadir}/${BPN}/chroot"
43 RSA_CERT_FILE = "${sysconfdir}/ssl/private/${BPN}.pem"
51 sed -e "s,^#\?${NAME}=.*,${NAME}=${VALUE}," -i vsftpd.conf
54 set_default listen_ipv6 NO
55 set_default anonymous_enable NO
56 set_default local_enable YES
57 set_default write_enable YES
58 set_default anon_upload_enable NO
59 set_default anon_mkdir_write_enable NO
60 set_default dirmessage_enable NO
61 set_default use_localtime YES
62 set_default xferlog_enable NO
63 set_default connect_from_port_20 YES
64 set_default chown_uploads NO
65 set_default nopriv_user vsftpd
66 set_default async_abor_enable YES
67 set_default ascii_upload_enable NO
68 set_default ascii_download_enable NO
69 set_default ftpd_banner "Welcome to the ${DISTRO_NAME} FTP service!"
70 set_default chroot_local_user NO
71 set_default chroot_list_enable NO
72 set_default ls_recurse_enable YES
73 set_default secure_chroot_dir "${SECURE_CHROOT_DIR}"
74 set_default rsa_cert_file "${RSA_CERT_FILE}"
77 oe_runmake 'CFLAGS=${CFLAGS}' 'LIBS=${LIBS}' 'LINK=${LINK}'
80 install -d ${D}${sysconfdir}
81 install -m 644 vsftpd.conf ${D}${sysconfdir}
82 install -d ${D}${sbindir}
83 install -m 755 vsftpd ${D}${sbindir}/vsftpd
84 install -d ${D}${mandir}/man8
85 install -m 644 vsftpd.8 ${D}${mandir}/man8/vsftpd.8
86 install -d ${D}${mandir}/man5
87 install -m 644 vsftpd.conf.5 ${D}${mandir}/man5/vsftpd.conf.5
88 install -d ${D}${SECURE_CHROOT_DIR}
89 install -d ${D}${systemd_unitdir}/system
90 ln -sf /dev/null ${D}${systemd_unitdir}/system/vsftpd.service
93 SYSTEMD_PACKAGES = "${PN}-systemd"
94 SYSTEMD_SERVICE_${PN}-systemd = "vsftpd.socket"
96 USERADD_PACKAGES = "${PN}"
97 USERADD_PARAM_${PN} = "--home-dir ${SECURE_CHROOT_DIR} --no-create-home --system --shell /bin/false --user-group vsftpd"
99 XINETD_PACKAGES = "${PN}-xinetd"
100 XINETD_SERVICE_${PN}-xinetd = "vsftpd"