diff options
Diffstat (limited to 'meta-networking/recipes-daemons/vsftpd/vsftpd_3.0.3.bb')
| -rw-r--r-- | meta-networking/recipes-daemons/vsftpd/vsftpd_3.0.3.bb | 107 |
1 files changed, 107 insertions, 0 deletions
diff --git a/meta-networking/recipes-daemons/vsftpd/vsftpd_3.0.3.bb b/meta-networking/recipes-daemons/vsftpd/vsftpd_3.0.3.bb new file mode 100644 index 0000000000..580dabe766 --- /dev/null +++ b/meta-networking/recipes-daemons/vsftpd/vsftpd_3.0.3.bb | |||
| @@ -0,0 +1,107 @@ | |||
| 1 | SUMMARY = "Very Secure FTP server" | ||
| 2 | HOMEPAGE = "https://security.appspot.com/vsftpd.html" | ||
| 3 | SECTION = "net" | ||
| 4 | LICENSE = "GPLv2" | ||
| 5 | LIC_FILES_CHKSUM = "file://COPYING;md5=a6067ad950b28336613aed9dd47b1271" | ||
| 6 | |||
| 7 | DEPENDS = "libcap openssl" | ||
| 8 | |||
| 9 | SRC_URI = "https://security.appspot.com/downloads/vsftpd-${PV}.tar.gz \ | ||
| 10 | file://makefile-destdir.patch \ | ||
| 11 | file://makefile-libs.patch \ | ||
| 12 | file://makefile-strip.patch \ | ||
| 13 | file://init \ | ||
| 14 | file://vsftpd.conf \ | ||
| 15 | file://vsftpd.user_list \ | ||
| 16 | file://vsftpd.ftpusers \ | ||
| 17 | file://change-secure_chroot_dir.patch \ | ||
| 18 | file://volatiles.99_vsftpd \ | ||
| 19 | file://vsftpd.service \ | ||
| 20 | file://vsftpd-2.1.0-filter.patch \ | ||
| 21 | " | ||
| 22 | |||
| 23 | LIC_FILES_CHKSUM = "file://COPYING;md5=a6067ad950b28336613aed9dd47b1271 \ | ||
| 24 | file://COPYRIGHT;md5=04251b2eb0f298dae376d92454f6f72e \ | ||
| 25 | file://LICENSE;md5=654df2042d44b8cac8a5654fc5be63eb" | ||
| 26 | SRC_URI[md5sum] = "da119d084bd3f98664636ea05b5bb398" | ||
| 27 | SRC_URI[sha256sum] = "9d4d2bf6e6e2884852ba4e69e157a2cecd68c5a7635d66a3a8cf8d898c955ef7" | ||
| 28 | |||
| 29 | |||
| 30 | PACKAGECONFIG ??= "tcp-wrappers" | ||
| 31 | PACKAGECONFIG[tcp-wrappers] = ",,tcp-wrappers" | ||
| 32 | SRC_URI +="${@base_contains('PACKAGECONFIG', 'tcp-wrappers', 'file://vsftpd-tcp_wrappers-support.patch', '', d)}" | ||
| 33 | |||
| 34 | DEPENDS += "${@base_contains('DISTRO_FEATURES', 'pam', 'libpam', '', d)}" | ||
| 35 | RDEPENDS_${PN} += "${@base_contains('DISTRO_FEATURES', 'pam', 'pam-plugin-listfile', '', d)}" | ||
| 36 | PAMLIB = "${@base_contains('DISTRO_FEATURES', 'pam', '-L${STAGING_BASELIBDIR} -lpam', '', d)}" | ||
| 37 | NOPAM_SRC ="${@base_contains('PACKAGECONFIG', 'tcp-wrappers', 'file://nopam-with-tcp_wrappers.patch', 'file://nopam.patch', d)}" | ||
| 38 | SRC_URI += "${@base_contains('DISTRO_FEATURES', 'pam', '', '${NOPAM_SRC}', d)}" | ||
| 39 | |||
| 40 | inherit update-rc.d useradd systemd | ||
| 41 | |||
| 42 | CONFFILES_${PN} = "${sysconfdir}/vsftpd.conf" | ||
| 43 | LDFLAGS_append =" -lcrypt -lcap" | ||
| 44 | |||
| 45 | do_configure() { | ||
| 46 | # Fix hardcoded /usr, /etc, /var mess. | ||
| 47 | cat tunables.c|sed s:\"/usr:\"${prefix}:g|sed s:\"/var:\"${localstatedir}:g \ | ||
| 48 | |sed s:\"/etc:\"${sysconfdir}:g > tunables.c.new | ||
| 49 | mv tunables.c.new tunables.c | ||
| 50 | } | ||
| 51 | |||
| 52 | do_compile() { | ||
| 53 | oe_runmake "LIBS=-L${STAGING_LIBDIR} -lcrypt -lcap ${PAMLIB} -lwrap" | ||
| 54 | } | ||
| 55 | |||
| 56 | do_install() { | ||
| 57 | install -d ${D}${sbindir} | ||
| 58 | install -d ${D}${mandir}/man8 | ||
| 59 | install -d ${D}${mandir}/man5 | ||
| 60 | oe_runmake 'DESTDIR=${D}' install | ||
| 61 | install -d ${D}${sysconfdir} | ||
| 62 | install -m 600 ${WORKDIR}/vsftpd.conf ${D}${sysconfdir}/vsftpd.conf | ||
| 63 | install -d ${D}${sysconfdir}/init.d/ | ||
| 64 | install -m 755 ${WORKDIR}/init ${D}${sysconfdir}/init.d/vsftpd | ||
| 65 | install -d ${D}/${sysconfdir}/default/volatiles | ||
| 66 | install -m 644 ${WORKDIR}/volatiles.99_vsftpd ${D}/${sysconfdir}/default/volatiles/99_vsftpd | ||
| 67 | |||
| 68 | install -m 600 ${WORKDIR}/vsftpd.ftpusers ${D}${sysconfdir}/ | ||
| 69 | install -m 600 ${WORKDIR}/vsftpd.user_list ${D}${sysconfdir}/ | ||
| 70 | if ! test -z "${PAMLIB}" ; then | ||
| 71 | install -d ${D}${sysconfdir}/pam.d/ | ||
| 72 | cp ${S}/RedHat/vsftpd.pam ${D}${sysconfdir}/pam.d/vsftpd | ||
| 73 | sed -i "s:/lib/security:${base_libdir}/security:" ${D}${sysconfdir}/pam.d/vsftpd | ||
| 74 | sed -i "s:ftpusers:vsftpd.ftpusers:" ${D}${sysconfdir}/pam.d/vsftpd | ||
| 75 | fi | ||
| 76 | if ${@base_contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then | ||
| 77 | install -d ${D}${sysconfdir}/tmpfiles.d | ||
| 78 | echo "d /var/run/vsftpd/empty 0755 root root -" \ | ||
| 79 | > ${D}${sysconfdir}/tmpfiles.d/${BPN}.conf | ||
| 80 | fi | ||
| 81 | |||
| 82 | # Install systemd unit files | ||
| 83 | install -d ${D}${systemd_unitdir}/system | ||
| 84 | install -m 0644 ${WORKDIR}/vsftpd.service ${D}${systemd_unitdir}/system | ||
| 85 | sed -i -e 's#@SBINDIR@#${sbindir}#g' ${D}${systemd_unitdir}/system/vsftpd.service | ||
| 86 | } | ||
| 87 | |||
| 88 | INITSCRIPT_PACKAGES = "${PN}" | ||
| 89 | INITSCRIPT_NAME_${PN} = "vsftpd" | ||
| 90 | INITSCRIPT_PARAMS_${PN} = "defaults 80" | ||
| 91 | |||
| 92 | USERADD_PACKAGES = "${PN}" | ||
| 93 | USERADD_PARAM_${PN} = "--system --home-dir /var/lib/ftp --no-create-home -g ftp \ | ||
| 94 | --shell /bin/false ftp " | ||
| 95 | GROUPADD_PARAM_${PN} = "-r ftp" | ||
| 96 | |||
| 97 | SYSTEMD_SERVICE_${PN} = "vsftpd.service" | ||
| 98 | |||
| 99 | pkg_postinst_${PN}() { | ||
| 100 | if [ -z "$D" ]; then | ||
| 101 | if type systemd-tmpfiles >/dev/null; then | ||
| 102 | systemd-tmpfiles --create | ||
| 103 | elif [ -e ${sysconfdir}/init.d/populate-volatile.sh ]; then | ||
| 104 | ${sysconfdir}/init.d/populate-volatile.sh update | ||
| 105 | fi | ||
| 106 | fi | ||
| 107 | } | ||
