python-web2py.mk 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. ################################################################################
  2. #
  3. # python-web2py
  4. #
  5. ################################################################################
  6. PYTHON_WEB2PY_VERSION = R-2.14.6
  7. PYTHON_WEB2PY_SITE = $(call github,web2py,web2py,$(PYTHON_WEB2PY_VERSION))
  8. PYTHON_WEB2PY_LICENSE = LGPL-3.0
  9. PYTHON_WEB2PY_LICENSE_FILES = LICENSE
  10. PYTHON_WEB2PY_DEPENDENCIES = python python-pydal host-python-pydal
  11. PYTHON_WEB2PY_EXCLUSIONS = \
  12. welcome.w2p \
  13. applications/examples \
  14. applications/welcome \
  15. deposit \
  16. docs \
  17. examples \
  18. extras \
  19. handlers \
  20. scripts \
  21. ABOUT \
  22. anyserver.py \
  23. CHANGELOG \
  24. Makefile \
  25. MANIFEST.in \
  26. README.markdown \
  27. setup.py \
  28. tox.ini
  29. define PYTHON_WEB2PY_GENERATE_PASSWORD
  30. $(HOST_DIR)/bin/python2 -c 'import os; \
  31. os.chdir("$(@D)"); \
  32. from gluon.main import save_password; \
  33. save_password($(BR2_PACKAGE_PYTHON_WEB2PY_PASSWORD),8000)'
  34. endef
  35. ifeq ($(BR2_PACKAGE_PYTHON_WEB2PY_INSTALL_ADMIN),y)
  36. PYTHON_WEB2PY_POST_BUILD_HOOKS += PYTHON_WEB2PY_GENERATE_PASSWORD
  37. else
  38. PYTHON_WEB2PY_EXCLUSIONS += applications/admin
  39. endif
  40. define PYTHON_WEB2PY_INSTALL_TARGET_CMDS
  41. mkdir -p $(TARGET_DIR)/var/www/web2py
  42. rsync -a $(@D)/ $(TARGET_DIR)/var/www/web2py/ \
  43. $(addprefix --exclude=,$(PYTHON_WEB2PY_EXCLUSIONS))
  44. endef
  45. define PYTHON_WEB2PY_INSTALL_INIT_SYSV
  46. $(INSTALL) -m 0755 -D package/python-web2py/S51web2py \
  47. $(TARGET_DIR)/etc/init.d/S51web2py
  48. endef
  49. define PYTHON_WEB2PY_INSTALL_INIT_SYSTEMD
  50. $(INSTALL) -D -m 0644 package/python-web2py/web2py.service \
  51. $(TARGET_DIR)/usr/lib/systemd/system/web2py.service
  52. mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants
  53. ln -fs ../../../../usr/lib//systemd/system/web2py.service \
  54. $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/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))