python-web2py.mk 2.1 KB

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