opendreambox.conf: fix packageconfig for cogl
[opendreambox.git] / meta-opendreambox / recipes-connectivity / vsftpd / vsftpd_3.0.3.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 += "${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'libpam', '', d)}"
8
9 SRC_URI = " \
10         https://security.appspot.com/downloads/${BP}.tar.gz \
11         file://vsftpd@.service \
12         file://vsftpd.socket \
13         file://vsftpd.xinetd.in \
14         file://01-builddefs.patch \
15         file://02-config.patch \
16         file://03-db-doc.patch \
17         file://04-link-local.patch \
18         file://05-whitespaces.patch \
19         file://06-greedy.patch \
20         file://07-utf8.patch \
21         file://08-manpage.patch \
22         file://09-s390.patch \
23         file://10-remote-dos.patch \
24         file://0001-sysdeputil-allow-login-with-empty-passwords-in-etc-p.patch \
25 "
26 SRC_URI[md5sum] = "da119d084bd3f98664636ea05b5bb398"
27 SRC_URI[sha256sum] = "9d4d2bf6e6e2884852ba4e69e157a2cecd68c5a7635d66a3a8cf8d898c955ef7"
28
29 S = "${WORKDIR}/${BP}"
30
31 inherit systemd useradd xinetd
32
33 CFLAGS = "${TARGET_CFLAGS}"
34 CFLAGS += "-DVSF_BUILD_SSL=1"
35 CFLAGS += "${@bb.utils.contains('DISTRO_FEATURES', 'pam', '-DVSF_BUILD_PAM=1', '', d)}"
36
37 LIBS = "-lcap -lcrypt -lssl -lcrypto"
38 LIBS += "${@bb.utils.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 EXTRA_OEMAKE = "-e MAKEFLAGS="
46
47 do_configure() {
48         rm -f builddefs.h
49         touch builddefs.h
50         set_default() {
51                 NAME=$1
52                 VALUE=$2
53                 sed -e "s,^#\?${NAME}=.*,${NAME}=${VALUE}," -i vsftpd.conf
54         }
55         set_default listen NO
56         set_default listen_ipv6 NO
57         set_default anonymous_enable NO
58         set_default local_enable YES
59         set_default write_enable YES
60         set_default anon_upload_enable NO
61         set_default anon_mkdir_write_enable NO
62         set_default dirmessage_enable NO
63         set_default use_localtime YES
64         set_default xferlog_enable NO
65         set_default connect_from_port_20 YES
66         set_default chown_uploads NO
67         set_default nopriv_user vsftpd
68         set_default async_abor_enable YES
69         set_default ascii_upload_enable NO
70         set_default ascii_download_enable NO
71         set_default ftpd_banner "Welcome to the ${DISTRO_NAME} FTP service!"
72         set_default chroot_local_user NO
73         set_default chroot_list_enable NO
74         set_default ls_recurse_enable YES
75         set_default secure_chroot_dir "${SECURE_CHROOT_DIR}"
76         set_default rsa_cert_file "${RSA_CERT_FILE}"
77 }
78 do_compile() {
79         oe_runmake 'CFLAGS=${CFLAGS}' 'LIBS=${LIBS}' 'LINK=${LINK}'
80 }
81 do_install() {
82         install -d ${D}${sysconfdir}
83         install -m 644 vsftpd.conf ${D}${sysconfdir}
84         install -d ${D}${sbindir}
85         install -m 755 vsftpd ${D}${sbindir}/vsftpd
86         install -d ${D}${mandir}/man8
87         install -m 644 vsftpd.8 ${D}${mandir}/man8/vsftpd.8
88         install -d ${D}${mandir}/man5
89         install -m 644 vsftpd.conf.5 ${D}${mandir}/man5/vsftpd.conf.5
90         install -d ${D}${SECURE_CHROOT_DIR}
91         if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then
92                 install -d ${D}${systemd_unitdir}/system
93                 ln -sf /dev/null ${D}${systemd_unitdir}/system/vsftpd.service
94                 install -m644 ${WORKDIR}/vsftpd@.service ${D}${systemd_unitdir}/system
95                 install -m644 ${WORKDIR}/vsftpd.socket ${D}${systemd_unitdir}/system
96         fi
97 }
98
99 SYSTEMD_SERVICE_${PN} = "vsftpd.socket"
100
101 USERADD_PACKAGES = "${PN}"
102 USERADD_PARAM_${PN} = "--home-dir ${SECURE_CHROOT_DIR} --no-create-home --system --shell /bin/false --user-group vsftpd"