xref: /OK3568_Linux_fs/buildroot/package/python-web2py/python-web2py.mk (revision 4882a59341e53eb6f0b4789bf948001014eff981)
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