diff mbox

[1/2] python: enable bzip2 in host variant

Message ID 1461508789-17644-2-git-send-email-eric.le.bihan.dev@free.fr
State Superseded
Headers show

Commit Message

Eric Le Bihan April 24, 2016, 2:39 p.m. UTC
Enable support for bzip2 in Python host variant, so the tarfile module
works properly.

Signed-off-by: Eric Le Bihan <eric.le.bihan.dev@free.fr>
---
 package/python/python.mk | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

Comments

Thomas Petazzoni June 15, 2016, 10:01 p.m. UTC | #1
Hello,

On Sun, 24 Apr 2016 16:39:48 +0200, Eric Le Bihan wrote:
> Enable support for bzip2 in Python host variant, so the tarfile module
> works properly.
> 
> Signed-off-by: Eric Le Bihan <eric.le.bihan.dev@free.fr>

Could you give some more details about this? The tarfile module seems
to only import the bz2 module when a bzip2-compressed file is handled.
Is this actually the case with rust?

I am hesitant between applying your patch (and therefore removing
package/nodejs/0.10.45/0001-remove-python-bz2-dependency.patch), or
adding an hidden BR2_HOST_PACKAGE_PYTHON_BZIP2 that the rust package
could select to make sure bzip2 support is built into host-python.

Indeed, host-python is used by numerous packages, and we're trying to
not add too many dependencies to host-python. On the other hand,
building bzip2 is pretty fast, so maybe it's reasonable to add it as a
mandatory dependency of host-python.

Thomas
Eric Le Bihan June 16, 2016, 8:43 p.m. UTC | #2
Le Thu, 16 Jun 2016 00:01:31 +0200,
Thomas Petazzoni <thomas.petazzoni@free-electrons.com> a écrit :

> On Sun, 24 Apr 2016 16:39:48 +0200, Eric Le Bihan wrote:
> > Enable support for bzip2 in Python host variant, so the tarfile
> > module works properly.
> > 
> > Signed-off-by: Eric Le Bihan <eric.le.bihan.dev@free.fr>  
> 
> Could you give some more details about this? The tarfile module seems
> to only import the bz2 module when a bzip2-compressed file is handled.
> Is this actually the case with rust?

This was required because my initial take on Rust let the build process
download the rust-stage0 bzip2 tarball and uncompress it on its own. As
the bootstrap binary will now be provided by the rust-bootstrap
package, this is not needed anymore.

> Indeed, host-python is used by numerous packages, and we're trying to
> not add too many dependencies to host-python. On the other hand,
> building bzip2 is pretty fast, so maybe it's reasonable to add it as a
> mandatory dependency of host-python.

bz2 tarballs are widespread. So having support for this format in
host-python, regardless of Rust, will benefit the user.

Regards,
Thomas Petazzoni June 16, 2016, 8:55 p.m. UTC | #3
Hello,

On Thu, 16 Jun 2016 22:43:40 +0200, Eric Le Bihan wrote:

> > Could you give some more details about this? The tarfile module seems
> > to only import the bz2 module when a bzip2-compressed file is handled.
> > Is this actually the case with rust?  
> 
> This was required because my initial take on Rust let the build process
> download the rust-stage0 bzip2 tarball and uncompress it on its own. As
> the bootstrap binary will now be provided by the rust-bootstrap
> package, this is not needed anymore.

OK, great!

> > Indeed, host-python is used by numerous packages, and we're trying to
> > not add too many dependencies to host-python. On the other hand,
> > building bzip2 is pretty fast, so maybe it's reasonable to add it as a
> > mandatory dependency of host-python.  
> 
> bz2 tarballs are widespread. So having support for this format in
> host-python, regardless of Rust, will benefit the user.

host-python is only meant to be used as a dependency to build other
things in Buildroot. As long as these "other things" don't need bz2
support in Python, there's no reason to enable it.

Thomas
diff mbox

Patch

diff --git a/package/python/python.mk b/package/python/python.mk
index 4ecd0d1..09356c5 100644
--- a/package/python/python.mk
+++ b/package/python/python.mk
@@ -31,7 +31,6 @@  HOST_PYTHON_CONF_OPTS += 	\
 	--disable-gdbm		\
 	--disable-bsddb		\
 	--disable-test-modules	\
-	--disable-bz2		\
 	--disable-ssl		\
 	--disable-ossaudiodev	\
 	--disable-pyo-build
@@ -52,7 +51,7 @@  HOST_PYTHON_MAKE = $(MAKE1)
 
 PYTHON_DEPENDENCIES = host-python libffi
 
-HOST_PYTHON_DEPENDENCIES = host-expat host-zlib
+HOST_PYTHON_DEPENDENCIES = host-expat host-zlib host-bzip2
 
 PYTHON_INSTALL_STAGING = YES