vsftpd_3.0.3.bb 4.2 KB

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