diff mbox series

python-virtualenv: new package

Message ID 1517523718-30586-1-git-send-email-matthew.weber@rockwellcollins.com
State Rejected
Headers show
Series python-virtualenv: new package | expand

Commit Message

Matt Weber Feb. 1, 2018, 10:21 p.m. UTC
A tool for creating a isolated python env.

Within Buildroot, the basic problem being addressed is
one of dependencies and versions, and indirectly permissions.
A great example are the Django and AMQP protocol packages.
An applications depending on these are usually locked into a specific
version.

Signed-off-by: Matthew Weber <matthew.weber@rockwellcollins.com>
---
 package/Config.in                                |  1 +
 package/python-virtualenv/Config.in              |  6 ++++++
 package/python-virtualenv/python-virtualenv.hash |  4 ++++
 package/python-virtualenv/python-virtualenv.mk   | 14 ++++++++++++++
 4 files changed, 25 insertions(+)
 create mode 100644 package/python-virtualenv/Config.in
 create mode 100644 package/python-virtualenv/python-virtualenv.hash
 create mode 100644 package/python-virtualenv/python-virtualenv.mk

Comments

Yegor Yefremov Feb. 2, 2018, 8:15 a.m. UTC | #1
On Thu, Feb 1, 2018 at 11:21 PM, Matt Weber
<matthew.weber@rockwellcollins.com> wrote:
> A tool for creating a isolated python env.
>
> Within Buildroot, the basic problem being addressed is
> one of dependencies and versions, and indirectly permissions.
> A great example are the Django and AMQP protocol packages.
> An applications depending on these are usually locked into a specific
> version.
>
> Signed-off-by: Matthew Weber <matthew.weber@rockwellcollins.com>

Reviewed-by: Yegor Yefremov <yegorslists@googlemail.com>

> ---
>  package/Config.in                                |  1 +
>  package/python-virtualenv/Config.in              |  6 ++++++
>  package/python-virtualenv/python-virtualenv.hash |  4 ++++
>  package/python-virtualenv/python-virtualenv.mk   | 14 ++++++++++++++
>  4 files changed, 25 insertions(+)
>  create mode 100644 package/python-virtualenv/Config.in
>  create mode 100644 package/python-virtualenv/python-virtualenv.hash
>  create mode 100644 package/python-virtualenv/python-virtualenv.mk
>
> diff --git a/package/Config.in b/package/Config.in
> index 9a6b199..214c986 100644
> --- a/package/Config.in
> +++ b/package/Config.in
> @@ -936,6 +936,7 @@ menu "External python modules"
>         source "package/python-urllib3/Config.in"
>         source "package/python-urwid/Config.in"
>         source "package/python-versiontools/Config.in"
> +       source "package/python-virtualenv/Config.in"
>         source "package/python-watchdog/Config.in"
>         source "package/python-wcwidth/Config.in"
>         source "package/python-web2py/Config.in"
> diff --git a/package/python-virtualenv/Config.in b/package/python-virtualenv/Config.in
> new file mode 100644
> index 0000000..e0b3d8a
> --- /dev/null
> +++ b/package/python-virtualenv/Config.in
> @@ -0,0 +1,6 @@
> +config BR2_PACKAGE_PYTHON_VIRTUALENV
> +       bool "python-virtualenv"
> +       help
> +         Virtual Python Environment builder.
> +
> +         https://virtualenv.pypa.io/
> diff --git a/package/python-virtualenv/python-virtualenv.hash b/package/python-virtualenv/python-virtualenv.hash
> new file mode 100644
> index 0000000..54ba07a
> --- /dev/null
> +++ b/package/python-virtualenv/python-virtualenv.hash
> @@ -0,0 +1,4 @@
> +# md5 from https://pypi.python.org/pypi/virtualenv/json, sha256 locally computed
> +md5    44e19f4134906fe2d75124427dc9b716  virtualenv-15.1.0.tar.gz
> +sha256 02f8102c2436bb03b3ee6dede1919d1dac8a427541652e5ec95171ec8adbc93a  virtualenv-15.1.0.tar.gz
> +sha256 c2b40423a77ae2ecf014a447ecd3310e594b594a11e42c12c69b9d0e9ebe2e33  LICENSE.txt
> diff --git a/package/python-virtualenv/python-virtualenv.mk b/package/python-virtualenv/python-virtualenv.mk
> new file mode 100644
> index 0000000..58ac3e6
> --- /dev/null
> +++ b/package/python-virtualenv/python-virtualenv.mk
> @@ -0,0 +1,14 @@
> +################################################################################
> +#
> +# python-virtualenv
> +#
> +################################################################################
> +
> +PYTHON_VIRTUALENV_VERSION = 15.1.0
> +PYTHON_VIRTUALENV_SOURCE = virtualenv-$(PYTHON_VIRTUALENV_VERSION).tar.gz
> +PYTHON_VIRTUALENV_SITE = https://pypi.python.org/packages/d4/0c/9840c08189e030873387a73b90ada981885010dd9aea134d6de30cd24cb8
> +PYTHON_VIRTUALENV_SETUP_TYPE = setuptools
> +PYTHON_VIRTUALENV_LICENSE = MIT
> +PYTHON_VIRTUALENV_LICENSE_FILES = LICENSE.txt
> +
> +$(eval $(python-package))
> --
> 1.9.1
>
> _______________________________________________
> buildroot mailing list
> buildroot@busybox.net
> http://lists.busybox.net/mailman/listinfo/buildroot
Peter Korsgaard Feb. 4, 2018, 7:10 a.m. UTC | #2
>>>>> "Matt" == Matt Weber <matthew.weber@rockwellcollins.com> writes:

 > A tool for creating a isolated python env.
 > Within Buildroot, the basic problem being addressed is
 > one of dependencies and versions, and indirectly permissions.
 > A great example are the Django and AMQP protocol packages.
 > An applications depending on these are usually locked into a specific
 > version.

 > Signed-off-by: Matthew Weber <matthew.weber@rockwellcollins.com>

Can you explain what the use case for this is? Is this to install
additional python packages at runtime on the target?
Matt Weber Feb. 4, 2018, 8:06 a.m. UTC | #3
Peter,

On Sun, Feb 4, 2018 at 8:10 AM, Peter Korsgaard <peter@korsgaard.com> wrote:
>>>>>> "Matt" == Matt Weber <matthew.weber@rockwellcollins.com> writes:
>
>  > A tool for creating a isolated python env.
>  > Within Buildroot, the basic problem being addressed is
>  > one of dependencies and versions, and indirectly permissions.
>  > A great example are the Django and AMQP protocol packages.
>  > An applications depending on these are usually locked into a specific
>  > version.
>
>  > Signed-off-by: Matthew Weber <matthew.weber@rockwellcollins.com>
>
> Can you explain what the use case for this is? Is this to install
> additional python packages at runtime on the target?
>

The main use case is to have a sandbox where you can deploy a
configuration of python packages to support an existing application
where you can't (reasonably) adjust all the buildroot versions of the
similar python packages to match.  My plan is to build the main OS
build using buildroot and then combine the existing virtualenv into
the rootfs for deployment.  There isn't a runtime need to any dynamic
changes to the env.

Matt
Matt Weber March 20, 2018, 2:03 p.m. UTC | #4
All,

On Sun, Feb 4, 2018 at 2:06 AM, Matthew Weber
<matthew.weber@rockwellcollins.com> wrote:
>
> Peter,
>
> On Sun, Feb 4, 2018 at 8:10 AM, Peter Korsgaard <peter@korsgaard.com> wrote:
> >>>>>> "Matt" == Matt Weber <matthew.weber@rockwellcollins.com> writes:
> >
> >  > A tool for creating a isolated python env.
> >  > Within Buildroot, the basic problem being addressed is
> >  > one of dependencies and versions, and indirectly permissions.
> >  > A great example are the Django and AMQP protocol packages.
> >  > An applications depending on these are usually locked into a specific
> >  > version.
> >
> >  > Signed-off-by: Matthew Weber <matthew.weber@rockwellcollins.com>
> >
> > Can you explain what the use case for this is? Is this to install
> > additional python packages at runtime on the target?
> >
>
> The main use case is to have a sandbox where you can deploy a
> configuration of python packages to support an existing application
> where you can't (reasonably) adjust all the buildroot versions of the
> similar python packages to match.  My plan is to build the main OS
> build using buildroot and then combine the existing virtualenv into
> the rootfs for deployment.  There isn't a runtime need to any dynamic
> changes to the env.


We did some prototyping and it turns out that virtualenv and
setuptools are not required to make a rehosted folder of python work
in buildroot (ie you just set a path and use it).  Note: However, on
the host machine where you gather up the folder of material, you do
need virtualenv to perform that caching activity.

I've marked my series as rejected.

Matt
diff mbox series

Patch

diff --git a/package/Config.in b/package/Config.in
index 9a6b199..214c986 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -936,6 +936,7 @@  menu "External python modules"
 	source "package/python-urllib3/Config.in"
 	source "package/python-urwid/Config.in"
 	source "package/python-versiontools/Config.in"
+	source "package/python-virtualenv/Config.in"
 	source "package/python-watchdog/Config.in"
 	source "package/python-wcwidth/Config.in"
 	source "package/python-web2py/Config.in"
diff --git a/package/python-virtualenv/Config.in b/package/python-virtualenv/Config.in
new file mode 100644
index 0000000..e0b3d8a
--- /dev/null
+++ b/package/python-virtualenv/Config.in
@@ -0,0 +1,6 @@ 
+config BR2_PACKAGE_PYTHON_VIRTUALENV
+	bool "python-virtualenv"
+	help
+	  Virtual Python Environment builder.
+
+	  https://virtualenv.pypa.io/
diff --git a/package/python-virtualenv/python-virtualenv.hash b/package/python-virtualenv/python-virtualenv.hash
new file mode 100644
index 0000000..54ba07a
--- /dev/null
+++ b/package/python-virtualenv/python-virtualenv.hash
@@ -0,0 +1,4 @@ 
+# md5 from https://pypi.python.org/pypi/virtualenv/json, sha256 locally computed
+md5	44e19f4134906fe2d75124427dc9b716  virtualenv-15.1.0.tar.gz
+sha256	02f8102c2436bb03b3ee6dede1919d1dac8a427541652e5ec95171ec8adbc93a  virtualenv-15.1.0.tar.gz
+sha256	c2b40423a77ae2ecf014a447ecd3310e594b594a11e42c12c69b9d0e9ebe2e33  LICENSE.txt
diff --git a/package/python-virtualenv/python-virtualenv.mk b/package/python-virtualenv/python-virtualenv.mk
new file mode 100644
index 0000000..58ac3e6
--- /dev/null
+++ b/package/python-virtualenv/python-virtualenv.mk
@@ -0,0 +1,14 @@ 
+################################################################################
+#
+# python-virtualenv
+#
+################################################################################
+
+PYTHON_VIRTUALENV_VERSION = 15.1.0
+PYTHON_VIRTUALENV_SOURCE = virtualenv-$(PYTHON_VIRTUALENV_VERSION).tar.gz
+PYTHON_VIRTUALENV_SITE = https://pypi.python.org/packages/d4/0c/9840c08189e030873387a73b90ada981885010dd9aea134d6de30cd24cb8
+PYTHON_VIRTUALENV_SETUP_TYPE = setuptools
+PYTHON_VIRTUALENV_LICENSE = MIT
+PYTHON_VIRTUALENV_LICENSE_FILES = LICENSE.txt
+
+$(eval $(python-package))