Buildroot Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH 0/2]  Web2py and pydal new packages
@ 2015-04-13 13:43 Angelo Compagnucci
  2015-04-13 13:43 ` [Buildroot] [PATCH 1/2] package/python-pydal: new package Angelo Compagnucci
  2015-04-13 13:43 ` [Buildroot] [PATCH 2/2] package/python-web2py: " Angelo Compagnucci
  0 siblings, 2 replies; 4+ messages in thread
From: Angelo Compagnucci @ 2015-04-13 13:43 UTC (permalink / raw)
  To: buildroot

This patch adds web2py python web application framework and pydal,
it's database abstraction layer.
This is the first package to use the new recursive makedevs syntax,
indeed it runs as www-data non privileged user.

Angelo Compagnucci (2):
  package/python-pydal: new package
  package/python-web2py: new package

 package/Config.in                      |  2 ++
 package/python-pydal/Config.in         |  2 ++
 package/python-pydal/python-pydal.mk   | 13 ++++++++++
 package/python-web2py/Config.in        | 25 ++++++++++++++++++
 package/python-web2py/S51web2py        | 25 ++++++++++++++++++
 package/python-web2py/python-web2py.mk | 46 ++++++++++++++++++++++++++++++++++
 package/python-web2py/web2py.service   | 11 ++++++++
 7 files changed, 124 insertions(+)
 create mode 100644 package/python-pydal/Config.in
 create mode 100644 package/python-pydal/python-pydal.mk
 create mode 100644 package/python-web2py/Config.in
 create mode 100644 package/python-web2py/S51web2py
 create mode 100644 package/python-web2py/python-web2py.mk
 create mode 100644 package/python-web2py/web2py.service

-- 
1.9.1

^ permalink raw reply	[flat|nested] 4+ messages in thread

* [Buildroot] [PATCH 1/2] package/python-pydal: new package
  2015-04-13 13:43 [Buildroot] [PATCH 0/2] Web2py and pydal new packages Angelo Compagnucci
@ 2015-04-13 13:43 ` Angelo Compagnucci
  2015-04-13 13:43 ` [Buildroot] [PATCH 2/2] package/python-web2py: " Angelo Compagnucci
  1 sibling, 0 replies; 4+ messages in thread
From: Angelo Compagnucci @ 2015-04-13 13:43 UTC (permalink / raw)
  To: buildroot

This package adds the python-pydal dependency for web2py.
This is a submodule and used by web2py only.

Signed-off-by: Angelo Compagnucci <angelo.compagnucci@gmail.com>
---
 package/Config.in                    |  1 +
 package/python-pydal/Config.in       |  2 ++
 package/python-pydal/python-pydal.mk | 13 +++++++++++++
 3 files changed, 16 insertions(+)
 create mode 100644 package/python-pydal/Config.in
 create mode 100644 package/python-pydal/python-pydal.mk

diff --git a/package/Config.in b/package/Config.in
index c27fc20..839b80a 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -592,6 +592,7 @@ menu "external python modules"
 	source "package/python-psutil/Config.in"
 	source "package/python-pyasn/Config.in"
 	source "package/python-pycrypto/Config.in"
+	source "package/python-pydal/Config.in"
 	source "package/python-pyftpdlib/Config.in"
 	source "package/python-pygame/Config.in"
 	source "package/python-pyinotify/Config.in"
diff --git a/package/python-pydal/Config.in b/package/python-pydal/Config.in
new file mode 100644
index 0000000..eda2f77
--- /dev/null
+++ b/package/python-pydal/Config.in
@@ -0,0 +1,2 @@
+config BR2_PACKAGE_PYTHON_PYDAL
+	bool
diff --git a/package/python-pydal/python-pydal.mk b/package/python-pydal/python-pydal.mk
new file mode 100644
index 0000000..a88bf8b
--- /dev/null
+++ b/package/python-pydal/python-pydal.mk
@@ -0,0 +1,13 @@
+################################################################################
+#
+# python-pydal
+#
+################################################################################
+
+PYTHON_PYDAL_VERSION = v15.03
+PYTHON_PYDAL_SITE = https://github.com/web2py/pydal.git
+PYTHON_PYDAL_SITE_METHOD = git
+PYTHON_PYDAL_LICENSE = BSDv3
+PYTHON_PYDAL_LICENSE_FILES = LICENSE
+
+$(eval $(generic-package))
-- 
1.9.1

^ permalink raw reply related	[flat|nested] 4+ messages in thread

* [Buildroot] [PATCH 2/2] package/python-web2py: new package
  2015-04-13 13:43 [Buildroot] [PATCH 0/2] Web2py and pydal new packages Angelo Compagnucci
  2015-04-13 13:43 ` [Buildroot] [PATCH 1/2] package/python-pydal: new package Angelo Compagnucci
@ 2015-04-13 13:43 ` Angelo Compagnucci
  2015-04-13 13:47   ` Yegor Yefremov
  1 sibling, 1 reply; 4+ messages in thread
From: Angelo Compagnucci @ 2015-04-13 13:43 UTC (permalink / raw)
  To: buildroot

This patch adds web2py package. web2py is a free open source
full-stack framework for rapid development of fast, scalable,
secure and portable database-driven web-based applications.
This patch is a big rework using the new introduced feature of recursive
permission to run web2py application server as non root user.

Signed-off-by: Angelo Compagnucci <angelo.compagnucci@gmail.com>
---
 package/Config.in                      |  1 +
 package/python-web2py/Config.in        | 25 ++++++++++++++++++
 package/python-web2py/S51web2py        | 25 ++++++++++++++++++
 package/python-web2py/python-web2py.mk | 46 ++++++++++++++++++++++++++++++++++
 package/python-web2py/web2py.service   | 11 ++++++++
 5 files changed, 108 insertions(+)
 create mode 100644 package/python-web2py/Config.in
 create mode 100644 package/python-web2py/S51web2py
 create mode 100644 package/python-web2py/python-web2py.mk
 create mode 100644 package/python-web2py/web2py.service

diff --git a/package/Config.in b/package/Config.in
index 839b80a..fd4296c 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -618,6 +618,7 @@ menu "external python modules"
 	source "package/python-twisted/Config.in"
 	source "package/python-urwid/Config.in"
 	source "package/python-versiontools/Config.in"
+	source "package/python-web2py/Config.in"
 	source "package/python-webpy/Config.in"
 	source "package/python-werkzeug/Config.in"
 	source "package/python-ws4py/Config.in"
diff --git a/package/python-web2py/Config.in b/package/python-web2py/Config.in
new file mode 100644
index 0000000..e3144d4
--- /dev/null
+++ b/package/python-web2py/Config.in
@@ -0,0 +1,25 @@
+config BR2_PACKAGE_PYTHON_WEB2PY
+	bool "python-web2py"
+	select BR2_PACKAGE_PYTHON_PYDAL
+	select BR2_PACKAGE_ZLIB
+	select BR2_PACKAGE_PYTHON_ZLIB
+	select BR2_PACKAGE_EXPAT
+	select BR2_PACKAGE_PYTHON_PYEXPAT
+	select BR2_PACKAGE_SQLITE
+	select BR2_PACKAGE_PYTHON_SQLITE
+	help
+	  web2py is a free open source full-stack framework for rapid
+	  development of fast, scalable, secure and portable
+	  database-driven web-based applications.
+
+	  http://web2py.com
+
+if BR2_PACKAGE_PYTHON_WEB2PY
+
+config BR2_PACKAGE_PYTHON_WEB2PY_PASSWORD
+	string "admin panel password"
+	default web2py
+	help
+	  Set the admin panel password.
+
+endif
diff --git a/package/python-web2py/S51web2py b/package/python-web2py/S51web2py
new file mode 100644
index 0000000..55a2ad8
--- /dev/null
+++ b/package/python-web2py/S51web2py
@@ -0,0 +1,25 @@
+#!/bin/sh
+
+case "$1" in
+	start)
+		echo -n "Starting web2py: "
+		start-stop-daemon -S -q -m -p /run/web2py.pid \
+			-c www-data \
+			-b -x /usr/share/web2py/web2py.py \
+			-- --nogui -a '"<recycle>"' -i 0.0.0.0 -p 8000
+		[ $? = 0 ] && echo "OK" || echo "FAIL"
+		;;
+	stop)
+		echo -n "Stopping web2py: "
+		start-stop-daemon -K -q -p /run/web2py.pid
+		[ $? = 0 ] && echo "OK" || echo "FAIL"
+		;;
+	restart)
+		"$0" stop
+		sleep 1
+		"$0" start
+		;;
+	*)
+		echo "Usage: $0 {start|stop|restart}"
+		;;
+esac
diff --git a/package/python-web2py/python-web2py.mk b/package/python-web2py/python-web2py.mk
new file mode 100644
index 0000000..828b662
--- /dev/null
+++ b/package/python-web2py/python-web2py.mk
@@ -0,0 +1,46 @@
+################################################################################
+#
+# python-web2py
+#
+################################################################################
+
+PYTHON_WEB2PY_VERSION = R-2.10.3
+PYTHON_WEB2PY_SITE = https://github.com/web2py/web2py.git
+PYTHON_WEB2PY_SITE_METHOD = git
+PYTHON_WEB2PY_LICENSE = LGPLv3
+PYTHON_WEB2PY_LICENSE_FILES = LICENSE
+PYTHON_WEB2PY_DEPENDENCIES = python sqlite
+
+define PYTHON_WEB2PY_PYDAL_COPY
+	cp -rf $(PYTHON_PYDAL_SRCDIR)/*  $(@D)/gluon/packages/dal/
+endef
+
+PYTHON_WEB2PY_POST_EXTRACT_HOOKS += PYTHON_WEB2PY_PYDAL_COPY
+
+define PYTHON_WEB2PY_INSTALL_TARGET_CMDS
+	$(HOST_DIR)/usr/bin/python2 -c 'import os; \
+		os.chdir("$(@D)"); \
+		from gluon.main import save_password; \
+		save_password($(BR2_PACKAGE_PYTHON_WEB2PY_PASSWORD),8000)'
+	mkdir -p $(TARGET_DIR)/usr/share/web2py
+	cp -dpfr $(@D)/* $(TARGET_DIR)/usr/share/web2py
+endef
+
+define PYTHON_WEB2PY_INSTALL_INIT_SYSV
+	$(INSTALL) -m 0755 -D package/python-web2py/S51web2py \
+		$(TARGET_DIR)/etc/init.d/S51web2py
+endef
+
+define PYTHON_WEB2PY_INSTALL_INIT_SYSTEMD
+	$(INSTALL) -D -m 0644 package/python-web2py/web2py.service \
+		$(TARGET_DIR)/etc/systemd/system/web2py.service
+	mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants
+	ln -fs ../web2py.service \
+		$(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/web2py.service
+endef
+
+define PYTHON_WEB2PY_PERMISSIONS
+	/usr/share/web2py  r  750  www-data  www-data  -  -  -  -  -
+endef
+
+$(eval $(generic-package))
diff --git a/package/python-web2py/web2py.service b/package/python-web2py/web2py.service
new file mode 100644
index 0000000..87d0416
--- /dev/null
+++ b/package/python-web2py/web2py.service
@@ -0,0 +1,11 @@
+[Unit]
+Description=Web2py daemon
+After=network.target
+
+[Service]
+Type=simple
+ExecStart=/usr/share/web2py/web2py.py --nogui -a '<recycle>' -i 0.0.0.0 -p 8000
+User=www-data
+
+[Install]
+WantedBy=multi-user.target
-- 
1.9.1

^ permalink raw reply related	[flat|nested] 4+ messages in thread

* [Buildroot] [PATCH 2/2] package/python-web2py: new package
  2015-04-13 13:43 ` [Buildroot] [PATCH 2/2] package/python-web2py: " Angelo Compagnucci
@ 2015-04-13 13:47   ` Yegor Yefremov
  0 siblings, 0 replies; 4+ messages in thread
From: Yegor Yefremov @ 2015-04-13 13:47 UTC (permalink / raw)
  To: buildroot

On Mon, Apr 13, 2015 at 3:43 PM, Angelo Compagnucci
<angelo.compagnucci@gmail.com> wrote:
> This patch adds web2py package. web2py is a free open source
> full-stack framework for rapid development of fast, scalable,
> secure and portable database-driven web-based applications.
> This patch is a big rework using the new introduced feature of recursive
> permission to run web2py application server as non root user.
>
> Signed-off-by: Angelo Compagnucci <angelo.compagnucci@gmail.com>
> ---
>  package/Config.in                      |  1 +
>  package/python-web2py/Config.in        | 25 ++++++++++++++++++
>  package/python-web2py/S51web2py        | 25 ++++++++++++++++++
>  package/python-web2py/python-web2py.mk | 46 ++++++++++++++++++++++++++++++++++
>  package/python-web2py/web2py.service   | 11 ++++++++
>  5 files changed, 108 insertions(+)
>  create mode 100644 package/python-web2py/Config.in
>  create mode 100644 package/python-web2py/S51web2py
>  create mode 100644 package/python-web2py/python-web2py.mk
>  create mode 100644 package/python-web2py/web2py.service
>
> diff --git a/package/Config.in b/package/Config.in
> index 839b80a..fd4296c 100644
> --- a/package/Config.in
> +++ b/package/Config.in
> @@ -618,6 +618,7 @@ menu "external python modules"
>         source "package/python-twisted/Config.in"
>         source "package/python-urwid/Config.in"
>         source "package/python-versiontools/Config.in"
> +       source "package/python-web2py/Config.in"
>         source "package/python-webpy/Config.in"
>         source "package/python-werkzeug/Config.in"
>         source "package/python-ws4py/Config.in"
> diff --git a/package/python-web2py/Config.in b/package/python-web2py/Config.in
> new file mode 100644
> index 0000000..e3144d4
> --- /dev/null
> +++ b/package/python-web2py/Config.in
> @@ -0,0 +1,25 @@
> +config BR2_PACKAGE_PYTHON_WEB2PY
> +       bool "python-web2py"

this package seems to work with Python 2.x only, so please add

depends on BR2_PACKAGE_PYTHON

> +       select BR2_PACKAGE_PYTHON_PYDAL
> +       select BR2_PACKAGE_ZLIB
> +       select BR2_PACKAGE_PYTHON_ZLIB
> +       select BR2_PACKAGE_EXPAT
> +       select BR2_PACKAGE_PYTHON_PYEXPAT
> +       select BR2_PACKAGE_SQLITE
> +       select BR2_PACKAGE_PYTHON_SQLITE
> +       help
> +         web2py is a free open source full-stack framework for rapid
> +         development of fast, scalable, secure and portable
> +         database-driven web-based applications.
> +
> +         http://web2py.com
> +
> +if BR2_PACKAGE_PYTHON_WEB2PY
> +
> +config BR2_PACKAGE_PYTHON_WEB2PY_PASSWORD
> +       string "admin panel password"
> +       default web2py
> +       help
> +         Set the admin panel password.
> +
> +endif
> diff --git a/package/python-web2py/S51web2py b/package/python-web2py/S51web2py
> new file mode 100644
> index 0000000..55a2ad8
> --- /dev/null
> +++ b/package/python-web2py/S51web2py
> @@ -0,0 +1,25 @@
> +#!/bin/sh
> +
> +case "$1" in
> +       start)
> +               echo -n "Starting web2py: "
> +               start-stop-daemon -S -q -m -p /run/web2py.pid \
> +                       -c www-data \
> +                       -b -x /usr/share/web2py/web2py.py \
> +                       -- --nogui -a '"<recycle>"' -i 0.0.0.0 -p 8000
> +               [ $? = 0 ] && echo "OK" || echo "FAIL"
> +               ;;
> +       stop)
> +               echo -n "Stopping web2py: "
> +               start-stop-daemon -K -q -p /run/web2py.pid
> +               [ $? = 0 ] && echo "OK" || echo "FAIL"
> +               ;;
> +       restart)
> +               "$0" stop
> +               sleep 1
> +               "$0" start
> +               ;;
> +       *)
> +               echo "Usage: $0 {start|stop|restart}"
> +               ;;
> +esac
> diff --git a/package/python-web2py/python-web2py.mk b/package/python-web2py/python-web2py.mk
> new file mode 100644
> index 0000000..828b662
> --- /dev/null
> +++ b/package/python-web2py/python-web2py.mk
> @@ -0,0 +1,46 @@
> +################################################################################
> +#
> +# python-web2py
> +#
> +################################################################################
> +
> +PYTHON_WEB2PY_VERSION = R-2.10.3
> +PYTHON_WEB2PY_SITE = https://github.com/web2py/web2py.git
> +PYTHON_WEB2PY_SITE_METHOD = git
> +PYTHON_WEB2PY_LICENSE = LGPLv3
> +PYTHON_WEB2PY_LICENSE_FILES = LICENSE
> +PYTHON_WEB2PY_DEPENDENCIES = python sqlite
> +
> +define PYTHON_WEB2PY_PYDAL_COPY
> +       cp -rf $(PYTHON_PYDAL_SRCDIR)/*  $(@D)/gluon/packages/dal/
> +endef
> +
> +PYTHON_WEB2PY_POST_EXTRACT_HOOKS += PYTHON_WEB2PY_PYDAL_COPY
> +
> +define PYTHON_WEB2PY_INSTALL_TARGET_CMDS
> +       $(HOST_DIR)/usr/bin/python2 -c 'import os; \
> +               os.chdir("$(@D)"); \
> +               from gluon.main import save_password; \
> +               save_password($(BR2_PACKAGE_PYTHON_WEB2PY_PASSWORD),8000)'
> +       mkdir -p $(TARGET_DIR)/usr/share/web2py
> +       cp -dpfr $(@D)/* $(TARGET_DIR)/usr/share/web2py
> +endef
> +
> +define PYTHON_WEB2PY_INSTALL_INIT_SYSV
> +       $(INSTALL) -m 0755 -D package/python-web2py/S51web2py \
> +               $(TARGET_DIR)/etc/init.d/S51web2py
> +endef
> +
> +define PYTHON_WEB2PY_INSTALL_INIT_SYSTEMD
> +       $(INSTALL) -D -m 0644 package/python-web2py/web2py.service \
> +               $(TARGET_DIR)/etc/systemd/system/web2py.service
> +       mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants
> +       ln -fs ../web2py.service \
> +               $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/web2py.service
> +endef
> +
> +define PYTHON_WEB2PY_PERMISSIONS
> +       /usr/share/web2py  r  750  www-data  www-data  -  -  -  -  -
> +endef
> +
> +$(eval $(generic-package))
> diff --git a/package/python-web2py/web2py.service b/package/python-web2py/web2py.service
> new file mode 100644
> index 0000000..87d0416
> --- /dev/null
> +++ b/package/python-web2py/web2py.service
> @@ -0,0 +1,11 @@
> +[Unit]
> +Description=Web2py daemon
> +After=network.target
> +
> +[Service]
> +Type=simple
> +ExecStart=/usr/share/web2py/web2py.py --nogui -a '<recycle>' -i 0.0.0.0 -p 8000
> +User=www-data
> +
> +[Install]
> +WantedBy=multi-user.target
> --
> 1.9.1
>
> _______________________________________________
> buildroot mailing list
> buildroot at busybox.net
> http://lists.busybox.net/mailman/listinfo/buildroot

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2015-04-13 13:47 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-04-13 13:43 [Buildroot] [PATCH 0/2] Web2py and pydal new packages Angelo Compagnucci
2015-04-13 13:43 ` [Buildroot] [PATCH 1/2] package/python-pydal: new package Angelo Compagnucci
2015-04-13 13:43 ` [Buildroot] [PATCH 2/2] package/python-web2py: " Angelo Compagnucci
2015-04-13 13:47   ` Yegor Yefremov

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox