relocate packages on recipes-base/recipes-enigma2/recipes-wlan.
[vuplus_openvuplus_3.0] / meta-openvuplus / recipes-connectivity / vsftpd / vsftpd_2.3.5.bb
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)}"
8 PR = "r3"
9
10 SRC_URI = " \
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 \
25 "
26 SRC_URI[md5sum] = "01398a5bef8e85b6cf2c213a4b011eca"
27 SRC_URI[sha256sum] = "d87ee2987df8f03e1dbe294905f7907b2798deb89c67ca965f6e2f60879e54f1"
28
29 S = "${WORKDIR}/${BP}"
30
31 inherit systemd useradd xinetd
32
33 CFLAGS = "${TARGET_CFLAGS}"
34 CFLAGS += "-DVSF_BUILD_SSL=1"
35 CFLAGS += "${@base_contains('DISTRO_FEATURES', 'pam', '-DVSF_BUILD_PAM=1', '', d)}"
36
37 LIBS = "-lcap -lcrypt -lssl -lcrypto"
38 LIBS += "${@base_contains('DISTRO_FEATURES', 'pam', '-lpam', '', d)}"
39
40 LINK = "${TARGET_LDFLAGS}"
41
42 SECURE_CHROOT_DIR = "${datadir}/${BPN}/chroot"
43 RSA_CERT_FILE = "${sysconfdir}/ssl/private/${BPN}.pem"
44
45 do_configure() {
46         rm -f builddefs.h
47         touch builddefs.h
48         set_default() {
49                 NAME=$1
50                 VALUE=$2
51                 sed -e "s,^#\?${NAME}=.*,${NAME}=${VALUE}," -i vsftpd.conf
52         }
53         set_default listen NO
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}"
75 }
76 do_compile() {
77         oe_runmake 'CFLAGS=${CFLAGS}' 'LIBS=${LIBS}' 'LINK=${LINK}'
78 }
79 do_install() {
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
91 }
92
93 SYSTEMD_PACKAGES = "${PN}-systemd"
94 SYSTEMD_SERVICE_${PN}-systemd = "vsftpd.socket"
95
96 USERADD_PACKAGES = "${PN}"
97 USERADD_PARAM_${PN} = "--home-dir ${SECURE_CHROOT_DIR} --no-create-home --system --shell /bin/false --user-group vsftpd"
98
99 XINETD_PACKAGES = "${PN}-xinetd"
100 XINETD_SERVICE_${PN}-xinetd = "vsftpd"