python-web2py.mk 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. ################################################################################
  2. #
  3. # python-web2py
  4. #
  5. ################################################################################
  6. PYTHON_WEB2PY_VERSION = 2.23.0
  7. PYTHON_WEB2PY_SITE = $(call github,web2py,web2py,v$(PYTHON_WEB2PY_VERSION))
  8. PYTHON_WEB2PY_LICENSE = LGPL-3.0
  9. PYTHON_WEB2PY_LICENSE_FILES = LICENSE
  10. PYTHON_WEB2PY_CPE_ID_VENDOR = web2py
  11. PYTHON_WEB2PY_CPE_ID_PRODUCT = web2py
  12. PYTHON_WEB2PY_DEPENDENCIES = host-python3 python3 \
  13. host-python-pydal host-python-yatl
  14. PYTHON_WEB2PY_EXCLUSIONS = \
  15. welcome.w2p \
  16. applications/examples \
  17. applications/welcome \
  18. deposit \
  19. docs \
  20. examples \
  21. extras \
  22. handlers \
  23. scripts \
  24. ABOUT \
  25. anyserver.py \
  26. CHANGELOG \
  27. Makefile \
  28. MANIFEST.in \
  29. README.markdown \
  30. setup.py \
  31. tox.ini
  32. define PYTHON_WEB2PY_GENERATE_PASSWORD
  33. $(HOST_DIR)/bin/python -c 'import os; \
  34. os.chdir("$(@D)"); \
  35. from gluon.main import save_password; \
  36. save_password($(BR2_PACKAGE_PYTHON_WEB2PY_PASSWORD),8000)'
  37. endef
  38. ifeq ($(BR2_PACKAGE_PYTHON_WEB2PY_INSTALL_ADMIN),y)
  39. PYTHON_WEB2PY_POST_BUILD_HOOKS += PYTHON_WEB2PY_GENERATE_PASSWORD
  40. else
  41. PYTHON_WEB2PY_EXCLUSIONS += applications/admin
  42. endif
  43. define PYTHON_WEB2PY_INSTALL_TARGET_CMDS
  44. mkdir -p $(TARGET_DIR)/var/www/web2py
  45. rsync -a $(@D)/ $(TARGET_DIR)/var/www/web2py/ \
  46. $(addprefix --exclude=,$(PYTHON_WEB2PY_EXCLUSIONS))
  47. endef
  48. define PYTHON_WEB2PY_INSTALL_INIT_SYSV
  49. $(INSTALL) -m 0755 -D package/python-web2py/S51web2py \
  50. $(TARGET_DIR)/etc/init.d/S51web2py
  51. endef
  52. define PYTHON_WEB2PY_INSTALL_INIT_SYSTEMD
  53. $(INSTALL) -D -m 0644 package/python-web2py/web2py.service \
  54. $(TARGET_DIR)/usr/lib/systemd/system/web2py.service
  55. endef
  56. # www-data user and group are used for web2py. Because these user and group
  57. # are already set by buildroot, it is not necessary to redefine them.
  58. # See system/skeleton/etc/passwd
  59. # username: www-data uid: 33
  60. # groupname: www-data gid: 33
  61. #
  62. # So, we just need to create the directories used by web2py with the right
  63. # ownership.
  64. define PYTHON_WEB2PY_PERMISSIONS
  65. /var/www/web2py r 750 33 33 - - - - -
  66. endef
  67. $(eval $(generic-package))