diff mbox

package/python-protobuf: eliminate unneeded build-time dependencies

Message ID 1447002489-2373-1-git-send-email-steven@uplinklabs.net
State Superseded
Headers show

Commit Message

Steven Noonan Nov. 8, 2015, 5:08 p.m. UTC
This was causing unexpected HTTP requests by the setup.py script for
python-protobuf. These "dependencies" aren't actually required for a successful
build, and are not staged into the target install directory.

Signed-off-by: Steven Noonan <steven@uplinklabs.net>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
 ...2.6.1-disable-unneeded-build-dependencies.patch | 37 ++++++++++++++++++++++
 1 file changed, 37 insertions(+)
 create mode 100644 package/python-protobuf/protobuf-2.6.1-disable-unneeded-build-dependencies.patch

Comments

Thomas Petazzoni Nov. 9, 2015, 9:08 p.m. UTC | #1
Steven,

On Sun,  8 Nov 2015 09:08:09 -0800, Steven Noonan wrote:
> This was causing unexpected HTTP requests by the setup.py script for
> python-protobuf. These "dependencies" aren't actually required for a successful
> build, and are not staged into the target install directory.

The reference to the autobuild is missing. It should contain:

Fixes:

	http://autobuild.buildroot.org/results/e44/e44694f30e39266491a1040e284e504d6d37ef9e/

> 
> Signed-off-by: Steven Noonan <steven@uplinklabs.net>
> Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>

Tested-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>

(I have verified that your patch fixes the build problem in the minimal
chroot I use for Buildroot testing in my autobuilder instance)

> +++ b/package/python-protobuf/protobuf-2.6.1-disable-unneeded-build-dependencies.patch

This file name is not correct according to our patch naming policy. It
should be 0001-disable-unneeded-build-dependencies.patch.

Also, can you submit this change upstream ?

Thanks,

Thomas
Steven Noonan Nov. 9, 2015, 10:07 p.m. UTC | #2
On Mon, Nov 9, 2015 at 1:08 PM, Thomas Petazzoni
<thomas.petazzoni@free-electrons.com> wrote:
> Steven,
>
> On Sun,  8 Nov 2015 09:08:09 -0800, Steven Noonan wrote:
>> This was causing unexpected HTTP requests by the setup.py script for
>> python-protobuf. These "dependencies" aren't actually required for a successful
>> build, and are not staged into the target install directory.
>
> The reference to the autobuild is missing. It should contain:
>
> Fixes:
>
>         http://autobuild.buildroot.org/results/e44/e44694f30e39266491a1040e284e504d6d37ef9e/

OK. I'll add that and rename the patch file later this evening.

>>
>> Signed-off-by: Steven Noonan <steven@uplinklabs.net>
>> Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
>
> Tested-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
>
> (I have verified that your patch fixes the build problem in the minimal
> chroot I use for Buildroot testing in my autobuilder instance)

Good to hear. :)

>> +++ b/package/python-protobuf/protobuf-2.6.1-disable-unneeded-build-dependencies.patch
>
> This file name is not correct according to our patch naming policy. It
> should be 0001-disable-unneeded-build-dependencies.patch.
>
> Also, can you submit this change upstream ?

Upstream would make use of the lines we're removing. It's intended for
running their unit tests, which we don't use when building it.
Thomas Petazzoni Nov. 9, 2015, 10:10 p.m. UTC | #3
Steven,

On Mon, 9 Nov 2015 14:07:36 -0800, Steven Noonan wrote:

> Upstream would make use of the lines we're removing. It's intended for
> running their unit tests, which we don't use when building it.

Can we find a way that is upstreamable, like some setup.py option or
environment variable to disable the build/installation of unit tests?

Thanks,

Thomas
Steven Noonan Nov. 9, 2015, 10:12 p.m. UTC | #4
On Mon, Nov 9, 2015 at 2:10 PM, Thomas Petazzoni
<thomas.petazzoni@free-electrons.com> wrote:
> Steven,
>
> On Mon, 9 Nov 2015 14:07:36 -0800, Steven Noonan wrote:
>
>> Upstream would make use of the lines we're removing. It's intended for
>> running their unit tests, which we don't use when building it.
>
> Can we find a way that is upstreamable, like some setup.py option or
> environment variable to disable the build/installation of unit tests?
>

Maybe, I'll think about how it could be done.
Steven Noonan Nov. 10, 2015, 1:28 a.m. UTC | #5
On Mon, Nov 9, 2015 at 2:12 PM, Steven Noonan <steven@uplinklabs.net> wrote:
> On Mon, Nov 9, 2015 at 2:10 PM, Thomas Petazzoni
> <thomas.petazzoni@free-electrons.com> wrote:
>> Steven,
>>
>> On Mon, 9 Nov 2015 14:07:36 -0800, Steven Noonan wrote:
>>
>>> Upstream would make use of the lines we're removing. It's intended for
>>> running their unit tests, which we don't use when building it.
>>
>> Can we find a way that is upstreamable, like some setup.py option or
>> environment variable to disable the build/installation of unit tests?
>>
>
> Maybe, I'll think about how it could be done.

I investigated upstream's master branch state before doing too much
and found this:

https://github.com/google/protobuf/commit/9f42f5f4a423b923f7b07ae8c5e8db4943df49c6

(It doesn't apply to 2.6.1, but this does show that protobuf 3.x will
not have the unneeded dependency.)

So the upstream work has already been done.
Thomas Petazzoni Nov. 10, 2015, 8:20 a.m. UTC | #6
Hello,

On Mon, 9 Nov 2015 17:28:58 -0800, Steven Noonan wrote:

> > Maybe, I'll think about how it could be done.
> 
> I investigated upstream's master branch state before doing too much
> and found this:
> 
> https://github.com/google/protobuf/commit/9f42f5f4a423b923f7b07ae8c5e8db4943df49c6
> 
> (It doesn't apply to 2.6.1, but this does show that protobuf 3.x will
> not have the unneeded dependency.)
> 
> So the upstream work has already been done.

Alright, thanks for looking into this. I guess your patch is then
perfectly fine in the meantime.

Thanks!

Thomas
diff mbox

Patch

diff --git a/package/python-protobuf/protobuf-2.6.1-disable-unneeded-build-dependencies.patch b/package/python-protobuf/protobuf-2.6.1-disable-unneeded-build-dependencies.patch
new file mode 100644
index 0000000..3f0eabd
--- /dev/null
+++ b/package/python-protobuf/protobuf-2.6.1-disable-unneeded-build-dependencies.patch
@@ -0,0 +1,37 @@ 
+From 7e7db7225e227905acabfa2149152ece21c93e70 Mon Sep 17 00:00:00 2001
+From: Steven Noonan <steven@uplinklabs.net>
+Date: Sun, 8 Nov 2015 09:03:00 -0800
+Subject: [PATCH] python-protobuf: don't require google-apputils
+
+This dependency is totally superfluous for successfully building/running
+python-protobuf. It's only "required" at build time and is not staged into the
+install directory, but it isn't even really required for a successful build.
+
+Signed-off-by: Steven Noonan <steven@uplinklabs.net>
+---
+ python/setup.py | 2 --
+ 1 file changed, 2 deletions(-)
+
+diff --git a/python/setup.py b/python/setup.py
+index 2450a77..db6f497 100755
+--- a/python/setup.py
++++ b/python/setup.py
+@@ -160,7 +160,6 @@ if __name__ == '__main__':
+         packages = [ 'google' ],
+         namespace_packages = [ 'google' ],
+         test_suite = 'setup.MakeTestSuite',
+-        google_test_dir = "google/protobuf/internal",
+         # Must list modules explicitly so that we don't install tests.
+         py_modules = [
+           'google.protobuf.internal.api_implementation',
+@@ -189,7 +188,6 @@ if __name__ == '__main__':
+           'google.protobuf.text_format'],
+         cmdclass = { 'clean': clean, 'build_py': build_py },
+         install_requires = ['setuptools'],
+-        setup_requires = ['google-apputils'],
+         ext_modules = ext_module_list,
+         url = 'https://developers.google.com/protocol-buffers/',
+         maintainer = maintainer_email,
+-- 
+2.6.2
+