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