[jira] [Updated] (PROTON-908) Use swig as a build dependency when possible
[ https://issues.apache.org/jira/browse/PROTON-908?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Flavio Percoco updated PROTON-908: -- Attachment: 0001-PROTON-908-Remove-install-runtime-dependency-on-swig.patch Use swig as a build dependency when possible Key: PROTON-908 URL: https://issues.apache.org/jira/browse/PROTON-908 Project: Qpid Proton Issue Type: Bug Reporter: Flavio Percoco Attachments: 0001-PROTON-908-Remove-install-runtime-dependency-on-swig.patch python-qpid-proton depends on swig to generate the C/python wrappers for proton-c. It is possible to soften this dependency by making it a build (sdist in python jargon) dependency instead of a runtime/install dependency. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (PROTON-902) Make dependency on libuuid optional
[ https://issues.apache.org/jira/browse/PROTON-902?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14578847#comment-14578847 ] Flavio Percoco commented on PROTON-902: --- FWIW, I fully agree... I'll open a new JIRA Make dependency on libuuid optional --- Key: PROTON-902 URL: https://issues.apache.org/jira/browse/PROTON-902 Project: Qpid Proton Issue Type: Improvement Reporter: Flavio Percoco Assignee: Ken Giusti Attachments: 0001-PROTON-902-Remove-the-dependency-on-uuid.patch The current proton-c version depends on libuuid for, well, generating uuids. The unfortunate thing of this dependency is that it's currently just required by the messenger and it's just being used for building the messengers name. It's really unfortunate to require this library and headers to be present for such a small case. It'd be possible to make this dependency optional by adding a built-in uuid4 generator that'd be enabled whenever libuuid is not around. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Created] (PROTON-904) Remove dependency on libuuid
Flavio Percoco created PROTON-904: - Summary: Remove dependency on libuuid Key: PROTON-904 URL: https://issues.apache.org/jira/browse/PROTON-904 Project: Qpid Proton Issue Type: Bug Reporter: Flavio Percoco The current proton-c version depends on libuuid for, well, generating uuids. The unfortunate thing of this dependency is that it's currently just required by the messenger and it's just being used for building the messengers name. It's really unfortunate to require this library and headers to be present for such a small case. It'd be possible to remove this dependency by adding a built-in uuid4 generator since uuid4 is based on random bytes generation. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (PROTON-904) Remove dependency on libuuid
[ https://issues.apache.org/jira/browse/PROTON-904?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14578861#comment-14578861 ] Flavio Percoco commented on PROTON-904: --- reviewboard link: https://reviews.apache.org/r/35252/ Remove dependency on libuuid Key: PROTON-904 URL: https://issues.apache.org/jira/browse/PROTON-904 Project: Qpid Proton Issue Type: Bug Reporter: Flavio Percoco The current proton-c version depends on libuuid for, well, generating uuids. The unfortunate thing of this dependency is that it's currently just required by the messenger and it's just being used for building the messengers name. It's really unfortunate to require this library and headers to be present for such a small case. It'd be possible to remove this dependency by adding a built-in uuid4 generator since uuid4 is based on random bytes generation. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Updated] (PROTON-902) Make dependency on libuuid optional
[ https://issues.apache.org/jira/browse/PROTON-902?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Flavio Percoco updated PROTON-902: -- Attachment: 0001-PROTON-902-Remove-the-dependency-on-uuid.patch Make dependency on libuuid optional --- Key: PROTON-902 URL: https://issues.apache.org/jira/browse/PROTON-902 Project: Qpid Proton Issue Type: Improvement Reporter: Flavio Percoco Attachments: 0001-PROTON-902-Remove-the-dependency-on-uuid.patch The current proton-c version depends on libuuid for, well, generating uuids. The unfortunate thing of this dependency is that it's currently just required by the messenger and it's just being used for building the messengers name. It's really unfortunate to require this library and headers to be present for such a small case. It'd be possible to make this dependency optional by adding a built-in uuid4 generator that'd be enabled whenever libuuid is not around. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Created] (PROTON-902) Make dependency on libuuid optional
Flavio Percoco created PROTON-902: - Summary: Make dependency on libuuid optional Key: PROTON-902 URL: https://issues.apache.org/jira/browse/PROTON-902 Project: Qpid Proton Issue Type: Improvement Reporter: Flavio Percoco The current proton-c version depends on libuuid for, well, generating uuids. The unfortunate thing of this dependency is that it's currently just required by the messenger and it's just being used for building the messengers name. It's really unfortunate to require this library and headers to be present for such a small case. It'd be possible to make this dependency optional by adding a built-in uuid4 generator that'd be enabled whenever libuuid is not around. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Updated] (PROTON-902) Make dependency on libuuid optional
[ https://issues.apache.org/jira/browse/PROTON-902?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Flavio Percoco updated PROTON-902: -- Attachment: (was: 0001-PROTON-902-Remove-the-dependency-on-uuid.patch) Make dependency on libuuid optional --- Key: PROTON-902 URL: https://issues.apache.org/jira/browse/PROTON-902 Project: Qpid Proton Issue Type: Improvement Reporter: Flavio Percoco Attachments: 0001-PROTON-902-Remove-the-dependency-on-uuid.patch The current proton-c version depends on libuuid for, well, generating uuids. The unfortunate thing of this dependency is that it's currently just required by the messenger and it's just being used for building the messengers name. It's really unfortunate to require this library and headers to be present for such a small case. It'd be possible to make this dependency optional by adding a built-in uuid4 generator that'd be enabled whenever libuuid is not around. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (PROTON-902) Make dependency on libuuid optional
[ https://issues.apache.org/jira/browse/PROTON-902?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14577275#comment-14577275 ] Flavio Percoco commented on PROTON-902: --- Review board link: https://reviews.apache.org/r/35214/ Make dependency on libuuid optional --- Key: PROTON-902 URL: https://issues.apache.org/jira/browse/PROTON-902 Project: Qpid Proton Issue Type: Improvement Reporter: Flavio Percoco Attachments: 0001-PROTON-902-Remove-the-dependency-on-uuid.patch, 0001-PROTON-902-Remove-the-dependency-on-uuid.patch The current proton-c version depends on libuuid for, well, generating uuids. The unfortunate thing of this dependency is that it's currently just required by the messenger and it's just being used for building the messengers name. It's really unfortunate to require this library and headers to be present for such a small case. It'd be possible to make this dependency optional by adding a built-in uuid4 generator that'd be enabled whenever libuuid is not around. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Updated] (PROTON-903) UUID version should be in sixth octet
[ https://issues.apache.org/jira/browse/PROTON-903?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Flavio Percoco updated PROTON-903: -- Attachment: 0001-PROTON-903-Set-UUID-s-version-in-the-sixth-octet.patch UUID version should be in sixth octet - Key: PROTON-903 URL: https://issues.apache.org/jira/browse/PROTON-903 Project: Qpid Proton Issue Type: Improvement Reporter: Flavio Percoco Attachments: 0001-PROTON-903-Set-UUID-s-version-in-the-sixth-octet.patch Python's UUID fallback implementation sets the UUID version in the seventh octet instead of the sixth. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Updated] (PROTON-902) Make dependency on libuuid optional
[ https://issues.apache.org/jira/browse/PROTON-902?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Flavio Percoco updated PROTON-902: -- Attachment: (was: 0001-PROTON-902-Remove-the-dependency-on-uuid.patch) Make dependency on libuuid optional --- Key: PROTON-902 URL: https://issues.apache.org/jira/browse/PROTON-902 Project: Qpid Proton Issue Type: Improvement Reporter: Flavio Percoco Attachments: 0001-PROTON-902-Remove-the-dependency-on-uuid.patch The current proton-c version depends on libuuid for, well, generating uuids. The unfortunate thing of this dependency is that it's currently just required by the messenger and it's just being used for building the messengers name. It's really unfortunate to require this library and headers to be present for such a small case. It'd be possible to make this dependency optional by adding a built-in uuid4 generator that'd be enabled whenever libuuid is not around. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Updated] (PROTON-902) Make dependency on libuuid optional
[ https://issues.apache.org/jira/browse/PROTON-902?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Flavio Percoco updated PROTON-902: -- Attachment: 0001-PROTON-902-Remove-the-dependency-on-uuid.patch 0001-PROTON-902-Remove-the-dependency-on-uuid.patch Make dependency on libuuid optional --- Key: PROTON-902 URL: https://issues.apache.org/jira/browse/PROTON-902 Project: Qpid Proton Issue Type: Improvement Reporter: Flavio Percoco Attachments: 0001-PROTON-902-Remove-the-dependency-on-uuid.patch The current proton-c version depends on libuuid for, well, generating uuids. The unfortunate thing of this dependency is that it's currently just required by the messenger and it's just being used for building the messengers name. It's really unfortunate to require this library and headers to be present for such a small case. It'd be possible to make this dependency optional by adding a built-in uuid4 generator that'd be enabled whenever libuuid is not around. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Updated] (PROTON-902) Make dependency on libuuid optional
[ https://issues.apache.org/jira/browse/PROTON-902?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Flavio Percoco updated PROTON-902: -- Attachment: (was: 0001-PROTON-902-Remove-the-dependency-on-uuid.patch) Make dependency on libuuid optional --- Key: PROTON-902 URL: https://issues.apache.org/jira/browse/PROTON-902 Project: Qpid Proton Issue Type: Improvement Reporter: Flavio Percoco Attachments: 0001-PROTON-902-Remove-the-dependency-on-uuid.patch The current proton-c version depends on libuuid for, well, generating uuids. The unfortunate thing of this dependency is that it's currently just required by the messenger and it's just being used for building the messengers name. It's really unfortunate to require this library and headers to be present for such a small case. It'd be possible to make this dependency optional by adding a built-in uuid4 generator that'd be enabled whenever libuuid is not around. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (PROTON-903) UUID version should be in sixth octet
[ https://issues.apache.org/jira/browse/PROTON-903?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14577305#comment-14577305 ] Flavio Percoco commented on PROTON-903: --- reviewboard link: https://reviews.apache.org/r/35215/ UUID version should be in sixth octet - Key: PROTON-903 URL: https://issues.apache.org/jira/browse/PROTON-903 Project: Qpid Proton Issue Type: Improvement Reporter: Flavio Percoco Attachments: 0001-PROTON-903-Set-UUID-s-version-in-the-sixth-octet.patch Python's UUID fallback implementation sets the UUID version in the seventh octet instead of the sixth. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Updated] (PROTON-902) Make dependency on libuuid optional
[ https://issues.apache.org/jira/browse/PROTON-902?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Flavio Percoco updated PROTON-902: -- Attachment: (was: 0001-PROTON-902-Remove-the-dependency-on-uuid.patch) Make dependency on libuuid optional --- Key: PROTON-902 URL: https://issues.apache.org/jira/browse/PROTON-902 Project: Qpid Proton Issue Type: Improvement Reporter: Flavio Percoco Attachments: 0001-PROTON-902-Remove-the-dependency-on-uuid.patch The current proton-c version depends on libuuid for, well, generating uuids. The unfortunate thing of this dependency is that it's currently just required by the messenger and it's just being used for building the messengers name. It's really unfortunate to require this library and headers to be present for such a small case. It'd be possible to make this dependency optional by adding a built-in uuid4 generator that'd be enabled whenever libuuid is not around. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Updated] (PROTON-902) Make dependency on libuuid optional
[ https://issues.apache.org/jira/browse/PROTON-902?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Flavio Percoco updated PROTON-902: -- Attachment: 0001-PROTON-902-Remove-the-dependency-on-uuid.patch fixed an overflow issue Make dependency on libuuid optional --- Key: PROTON-902 URL: https://issues.apache.org/jira/browse/PROTON-902 Project: Qpid Proton Issue Type: Improvement Reporter: Flavio Percoco Attachments: 0001-PROTON-902-Remove-the-dependency-on-uuid.patch The current proton-c version depends on libuuid for, well, generating uuids. The unfortunate thing of this dependency is that it's currently just required by the messenger and it's just being used for building the messengers name. It's really unfortunate to require this library and headers to be present for such a small case. It'd be possible to make this dependency optional by adding a built-in uuid4 generator that'd be enabled whenever libuuid is not around. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Updated] (PROTON-902) Make dependency on libuuid optional
[ https://issues.apache.org/jira/browse/PROTON-902?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Flavio Percoco updated PROTON-902: -- Attachment: 0001-PROTON-902-Remove-the-dependency-on-uuid.patch Make dependency on libuuid optional --- Key: PROTON-902 URL: https://issues.apache.org/jira/browse/PROTON-902 Project: Qpid Proton Issue Type: Improvement Reporter: Flavio Percoco Attachments: 0001-PROTON-902-Remove-the-dependency-on-uuid.patch The current proton-c version depends on libuuid for, well, generating uuids. The unfortunate thing of this dependency is that it's currently just required by the messenger and it's just being used for building the messengers name. It's really unfortunate to require this library and headers to be present for such a small case. It'd be possible to make this dependency optional by adding a built-in uuid4 generator that'd be enabled whenever libuuid is not around. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Updated] (PROTON-895) Rely on python to build the downloaded tarball
[ https://issues.apache.org/jira/browse/PROTON-895?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Flavio Percoco updated PROTON-895: -- Attachment: (was: 0001-Rely-on-python-to-build-downloaded-tarball.patch) Rely on python to build the downloaded tarball -- Key: PROTON-895 URL: https://issues.apache.org/jira/browse/PROTON-895 Project: Qpid Proton Issue Type: Bug Reporter: Flavio Percoco Assignee: Ken Giusti Attachments: 0001-Rely-on-python-to-build-downloaded-tarball.patch Recently, a patch that made python-qpid-proton's setup.py download proton-c and build it whenever it's not found in the system. The patch relied on cmake to build the library as everyone would do when building proton-c. While that works, it's not the right, most pythonic, reliable way to do it. Some reasons why it's not a good thing: 1. It might overwrite a system qpid install if there's one and if the python-qpid-proton library is being installed in the system 2. It requires users - including CI systems, etc - to have cmake installed. 3. It does everything from outside the Python mechanism. The patch proposed in this bug changes the current behavior in favor of using Python's build extensions to compile the library. The patch follows the same steps as you'd do with cmake and it does it *just* for the downloaded tarball. If there's an installed proton-c library, there's nothing to do. If you're building it using cmake from a proton-c dir, it'll keep using cmake normally. The built library doesn't have the same name as the global one and it's installed along with the python binding instead of installing header files and the library itself system wide. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Updated] (PROTON-895) Rely on python to build the downloaded tarball
[ https://issues.apache.org/jira/browse/PROTON-895?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Flavio Percoco updated PROTON-895: -- Attachment: 0001-Rely-on-python-to-build-downloaded-tarball.patch lowered tox version to 1.4, check for tox before running tests. Ken tested this in: rhel5, rhel6, rhel7, f21 and Windows. I believe it's good to go. Rely on python to build the downloaded tarball -- Key: PROTON-895 URL: https://issues.apache.org/jira/browse/PROTON-895 Project: Qpid Proton Issue Type: Bug Reporter: Flavio Percoco Assignee: Ken Giusti Attachments: 0001-Rely-on-python-to-build-downloaded-tarball.patch, 0001-Rely-on-python-to-build-downloaded-tarball.patch Recently, a patch that made python-qpid-proton's setup.py download proton-c and build it whenever it's not found in the system. The patch relied on cmake to build the library as everyone would do when building proton-c. While that works, it's not the right, most pythonic, reliable way to do it. Some reasons why it's not a good thing: 1. It might overwrite a system qpid install if there's one and if the python-qpid-proton library is being installed in the system 2. It requires users - including CI systems, etc - to have cmake installed. 3. It does everything from outside the Python mechanism. The patch proposed in this bug changes the current behavior in favor of using Python's build extensions to compile the library. The patch follows the same steps as you'd do with cmake and it does it *just* for the downloaded tarball. If there's an installed proton-c library, there's nothing to do. If you're building it using cmake from a proton-c dir, it'll keep using cmake normally. The built library doesn't have the same name as the global one and it's installed along with the python binding instead of installing header files and the library itself system wide. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Updated] (PROTON-895) Rely on python to build the downloaded tarball
[ https://issues.apache.org/jira/browse/PROTON-895?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Flavio Percoco updated PROTON-895: -- Attachment: 0001-Rely-on-python-to-build-downloaded-tarball.patch removed `basepython` from tox.ini Rely on python to build the downloaded tarball -- Key: PROTON-895 URL: https://issues.apache.org/jira/browse/PROTON-895 Project: Qpid Proton Issue Type: Bug Reporter: Flavio Percoco Assignee: Ken Giusti Attachments: 0001-Rely-on-python-to-build-downloaded-tarball.patch Recently, a patch that made python-qpid-proton's setup.py download proton-c and build it whenever it's not found in the system. The patch relied on cmake to build the library as everyone would do when building proton-c. While that works, it's not the right, most pythonic, reliable way to do it. Some reasons why it's not a good thing: 1. It might overwrite a system qpid install if there's one and if the python-qpid-proton library is being installed in the system 2. It requires users - including CI systems, etc - to have cmake installed. 3. It does everything from outside the Python mechanism. The patch proposed in this bug changes the current behavior in favor of using Python's build extensions to compile the library. The patch follows the same steps as you'd do with cmake and it does it *just* for the downloaded tarball. If there's an installed proton-c library, there's nothing to do. If you're building it using cmake from a proton-c dir, it'll keep using cmake normally. The built library doesn't have the same name as the global one and it's installed along with the python binding instead of installing header files and the library itself system wide. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Updated] (PROTON-895) Rely on python to build the downloaded tarball
[ https://issues.apache.org/jira/browse/PROTON-895?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Flavio Percoco updated PROTON-895: -- Attachment: (was: 0001-Rely-on-python-to-build-downloaded-tarball.patch) Rely on python to build the downloaded tarball -- Key: PROTON-895 URL: https://issues.apache.org/jira/browse/PROTON-895 Project: Qpid Proton Issue Type: Bug Reporter: Flavio Percoco Assignee: Ken Giusti Attachments: 0001-Rely-on-python-to-build-downloaded-tarball.patch Recently, a patch that made python-qpid-proton's setup.py download proton-c and build it whenever it's not found in the system. The patch relied on cmake to build the library as everyone would do when building proton-c. While that works, it's not the right, most pythonic, reliable way to do it. Some reasons why it's not a good thing: 1. It might overwrite a system qpid install if there's one and if the python-qpid-proton library is being installed in the system 2. It requires users - including CI systems, etc - to have cmake installed. 3. It does everything from outside the Python mechanism. The patch proposed in this bug changes the current behavior in favor of using Python's build extensions to compile the library. The patch follows the same steps as you'd do with cmake and it does it *just* for the downloaded tarball. If there's an installed proton-c library, there's nothing to do. If you're building it using cmake from a proton-c dir, it'll keep using cmake normally. The built library doesn't have the same name as the global one and it's installed along with the python binding instead of installing header files and the library itself system wide. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Updated] (PROTON-895) Rely on python to build the downloaded tarball
[ https://issues.apache.org/jira/browse/PROTON-895?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Flavio Percoco updated PROTON-895: -- Attachment: 0001-Rely-on-python-to-build-downloaded-tarball.patch cleaned up, documented, added tests. Rely on python to build the downloaded tarball -- Key: PROTON-895 URL: https://issues.apache.org/jira/browse/PROTON-895 Project: Qpid Proton Issue Type: Bug Reporter: Flavio Percoco Assignee: Ken Giusti Attachments: 0001-Rely-on-python-to-build-downloaded-tarball.patch Recently, a patch that made python-qpid-proton's setup.py download proton-c and build it whenever it's not found in the system. The patch relied on cmake to build the library as everyone would do when building proton-c. While that works, it's not the right, most pythonic, reliable way to do it. Some reasons why it's not a good thing: 1. It might overwrite a system qpid install if there's one and if the python-qpid-proton library is being installed in the system 2. It requires users - including CI systems, etc - to have cmake installed. 3. It does everything from outside the Python mechanism. The patch proposed in this bug changes the current behavior in favor of using Python's build extensions to compile the library. The patch follows the same steps as you'd do with cmake and it does it *just* for the downloaded tarball. If there's an installed proton-c library, there's nothing to do. If you're building it using cmake from a proton-c dir, it'll keep using cmake normally. The built library doesn't have the same name as the global one and it's installed along with the python binding instead of installing header files and the library itself system wide. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Created] (PROTON-895) Rely on python to build the downloaded tarball
Flavio Percoco created PROTON-895: - Summary: Rely on python to build the downloaded tarball Key: PROTON-895 URL: https://issues.apache.org/jira/browse/PROTON-895 Project: Qpid Proton Issue Type: Bug Reporter: Flavio Percoco Recently, a patch that made python-qpid-proton's setup.py download proton-c and build it whenever it's not found in the system. The patch relied on cmake to build the library as everyone would do when building proton-c. While that works, it's not the right, most pythonic, reliable way to do it. Some reasons why it's not a good thing: 1. It might overwrite a system qpid install if there's one and if the python-qpid-proton library is being installed in the system 2. It requires users - including CI systems, etc - to have cmake installed. 3. It does everything from outside the Python mechanism. The patch proposed in this bug changes the current behavior in favor of using Python's build extensions to compile the library. The patch follows the same steps as you'd do with cmake and it does it *just* for the downloaded tarball. If there's an installed proton-c library, there's nothing to do. If you're building it using cmake from a proton-c dir, it'll keep using cmake normally. The built library doesn't have the same name as the global one and it's installed along with the python binding instead of installing header files and the library itself system wide. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Updated] (PROTON-895) Rely on python to build the downloaded tarball
[ https://issues.apache.org/jira/browse/PROTON-895?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Flavio Percoco updated PROTON-895: -- Attachment: 0001-Rely-on-python-to-build-downloaded-tarball.patch Rely on python to build the downloaded tarball -- Key: PROTON-895 URL: https://issues.apache.org/jira/browse/PROTON-895 Project: Qpid Proton Issue Type: Bug Reporter: Flavio Percoco Attachments: 0001-Rely-on-python-to-build-downloaded-tarball.patch Recently, a patch that made python-qpid-proton's setup.py download proton-c and build it whenever it's not found in the system. The patch relied on cmake to build the library as everyone would do when building proton-c. While that works, it's not the right, most pythonic, reliable way to do it. Some reasons why it's not a good thing: 1. It might overwrite a system qpid install if there's one and if the python-qpid-proton library is being installed in the system 2. It requires users - including CI systems, etc - to have cmake installed. 3. It does everything from outside the Python mechanism. The patch proposed in this bug changes the current behavior in favor of using Python's build extensions to compile the library. The patch follows the same steps as you'd do with cmake and it does it *just* for the downloaded tarball. If there's an installed proton-c library, there's nothing to do. If you're building it using cmake from a proton-c dir, it'll keep using cmake normally. The built library doesn't have the same name as the global one and it's installed along with the python binding instead of installing header files and the library itself system wide. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Updated] (PROTON-895) Rely on python to build the downloaded tarball
[ https://issues.apache.org/jira/browse/PROTON-895?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Flavio Percoco updated PROTON-895: -- Attachment: (was: 0001-Rely-on-python-to-build-downloaded-tarball.patch) Rely on python to build the downloaded tarball -- Key: PROTON-895 URL: https://issues.apache.org/jira/browse/PROTON-895 Project: Qpid Proton Issue Type: Bug Reporter: Flavio Percoco Assignee: Ken Giusti Attachments: 0001-Rely-on-python-to-build-downloaded-tarball.patch Recently, a patch that made python-qpid-proton's setup.py download proton-c and build it whenever it's not found in the system. The patch relied on cmake to build the library as everyone would do when building proton-c. While that works, it's not the right, most pythonic, reliable way to do it. Some reasons why it's not a good thing: 1. It might overwrite a system qpid install if there's one and if the python-qpid-proton library is being installed in the system 2. It requires users - including CI systems, etc - to have cmake installed. 3. It does everything from outside the Python mechanism. The patch proposed in this bug changes the current behavior in favor of using Python's build extensions to compile the library. The patch follows the same steps as you'd do with cmake and it does it *just* for the downloaded tarball. If there's an installed proton-c library, there's nothing to do. If you're building it using cmake from a proton-c dir, it'll keep using cmake normally. The built library doesn't have the same name as the global one and it's installed along with the python binding instead of installing header files and the library itself system wide. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Updated] (PROTON-895) Rely on python to build the downloaded tarball
[ https://issues.apache.org/jira/browse/PROTON-895?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Flavio Percoco updated PROTON-895: -- Attachment: 0001-Rely-on-python-to-build-downloaded-tarball.patch Rely on python to build the downloaded tarball -- Key: PROTON-895 URL: https://issues.apache.org/jira/browse/PROTON-895 Project: Qpid Proton Issue Type: Bug Reporter: Flavio Percoco Assignee: Ken Giusti Attachments: 0001-Rely-on-python-to-build-downloaded-tarball.patch Recently, a patch that made python-qpid-proton's setup.py download proton-c and build it whenever it's not found in the system. The patch relied on cmake to build the library as everyone would do when building proton-c. While that works, it's not the right, most pythonic, reliable way to do it. Some reasons why it's not a good thing: 1. It might overwrite a system qpid install if there's one and if the python-qpid-proton library is being installed in the system 2. It requires users - including CI systems, etc - to have cmake installed. 3. It does everything from outside the Python mechanism. The patch proposed in this bug changes the current behavior in favor of using Python's build extensions to compile the library. The patch follows the same steps as you'd do with cmake and it does it *just* for the downloaded tarball. If there's an installed proton-c library, there's nothing to do. If you're building it using cmake from a proton-c dir, it'll keep using cmake normally. The built library doesn't have the same name as the global one and it's installed along with the python binding instead of installing header files and the library itself system wide. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Updated] (PROTON-895) Rely on python to build the downloaded tarball
[ https://issues.apache.org/jira/browse/PROTON-895?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Flavio Percoco updated PROTON-895: -- Attachment: (was: 0001-Rely-on-python-to-build-downloaded-tarball.patch) Rely on python to build the downloaded tarball -- Key: PROTON-895 URL: https://issues.apache.org/jira/browse/PROTON-895 Project: Qpid Proton Issue Type: Bug Reporter: Flavio Percoco Assignee: Ken Giusti Attachments: 0001-Rely-on-python-to-build-downloaded-tarball.patch Recently, a patch that made python-qpid-proton's setup.py download proton-c and build it whenever it's not found in the system. The patch relied on cmake to build the library as everyone would do when building proton-c. While that works, it's not the right, most pythonic, reliable way to do it. Some reasons why it's not a good thing: 1. It might overwrite a system qpid install if there's one and if the python-qpid-proton library is being installed in the system 2. It requires users - including CI systems, etc - to have cmake installed. 3. It does everything from outside the Python mechanism. The patch proposed in this bug changes the current behavior in favor of using Python's build extensions to compile the library. The patch follows the same steps as you'd do with cmake and it does it *just* for the downloaded tarball. If there's an installed proton-c library, there's nothing to do. If you're building it using cmake from a proton-c dir, it'll keep using cmake normally. The built library doesn't have the same name as the global one and it's installed along with the python binding instead of installing header files and the library itself system wide. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Updated] (PROTON-895) Rely on python to build the downloaded tarball
[ https://issues.apache.org/jira/browse/PROTON-895?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Flavio Percoco updated PROTON-895: -- Attachment: 0001-Rely-on-python-to-build-downloaded-tarball.patch removed most of the compile/link flags Rely on python to build the downloaded tarball -- Key: PROTON-895 URL: https://issues.apache.org/jira/browse/PROTON-895 Project: Qpid Proton Issue Type: Bug Reporter: Flavio Percoco Assignee: Ken Giusti Attachments: 0001-Rely-on-python-to-build-downloaded-tarball.patch, 0001-Rely-on-python-to-build-downloaded-tarball.patch Recently, a patch that made python-qpid-proton's setup.py download proton-c and build it whenever it's not found in the system. The patch relied on cmake to build the library as everyone would do when building proton-c. While that works, it's not the right, most pythonic, reliable way to do it. Some reasons why it's not a good thing: 1. It might overwrite a system qpid install if there's one and if the python-qpid-proton library is being installed in the system 2. It requires users - including CI systems, etc - to have cmake installed. 3. It does everything from outside the Python mechanism. The patch proposed in this bug changes the current behavior in favor of using Python's build extensions to compile the library. The patch follows the same steps as you'd do with cmake and it does it *just* for the downloaded tarball. If there's an installed proton-c library, there's nothing to do. If you're building it using cmake from a proton-c dir, it'll keep using cmake normally. The built library doesn't have the same name as the global one and it's installed along with the python binding instead of installing header files and the library itself system wide. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Updated] (PROTON-885) Allow setup.py to bundle qpid-proton
[ https://issues.apache.org/jira/browse/PROTON-885?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Flavio Percoco updated PROTON-885: -- Attachment: 0001-Allow-setup.py-for-bundling-proton.patch Latest patch updates the license to mention the PyZMQ derived code. Thanks, Ken. Allow setup.py to bundle qpid-proton Key: PROTON-885 URL: https://issues.apache.org/jira/browse/PROTON-885 Project: Qpid Proton Issue Type: Improvement Components: python-binding Reporter: Flavio Percoco Assignee: Ken Giusti Attachments: 0001-Allow-setup.py-for-bundling-proton.patch Allow setup.py for bundling proton As of now, it's not possible to install python-qpid-proton if libqpid-proton is not present in the system. To be more precises, it's possible to build python-qpid-proton using cmake, upload it and beg to the gods of OPs that the required (and correct) shared library will be present in the system. This patch adds to python-qpid-proton the ability to download, build and install qpid-proton if the required version is not present in the system. It does this by checking - using pkg-config - whether the required version is installed and if not, it goes to downloading the package from the official apache source and builds it using cmake. As nasty as it sounds, this process is not strange in the Python community. Very famous - and way more used - libraries like PyZMQ (from which this work took lots of inspiration) do this already in a fairly more complex way. This first step is quite simple, it checks, downloads and builds using the standard tools. It's enabled just for linux and it does not use fancy flags. Future enhancements could take care of improving the implementation and extending it to support other systems. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Updated] (PROTON-885) Allow setup.py to bundle qpid-proton
[ https://issues.apache.org/jira/browse/PROTON-885?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Flavio Percoco updated PROTON-885: -- Attachment: 0001-Allow-setup.py-for-bundling-proton.patch I've restored the PyZMQ headers and I've also added a PYZMQ_LICENSE.BSD file that contains the PyZMQ license. Allow setup.py to bundle qpid-proton Key: PROTON-885 URL: https://issues.apache.org/jira/browse/PROTON-885 Project: Qpid Proton Issue Type: Improvement Components: python-binding Reporter: Flavio Percoco Assignee: Ken Giusti Attachments: 0001-Allow-setup.py-for-bundling-proton.patch, 0001-Allow-setup.py-for-bundling-proton.patch Allow setup.py for bundling proton As of now, it's not possible to install python-qpid-proton if libqpid-proton is not present in the system. To be more precises, it's possible to build python-qpid-proton using cmake, upload it and beg to the gods of OPs that the required (and correct) shared library will be present in the system. This patch adds to python-qpid-proton the ability to download, build and install qpid-proton if the required version is not present in the system. It does this by checking - using pkg-config - whether the required version is installed and if not, it goes to downloading the package from the official apache source and builds it using cmake. As nasty as it sounds, this process is not strange in the Python community. Very famous - and way more used - libraries like PyZMQ (from which this work took lots of inspiration) do this already in a fairly more complex way. This first step is quite simple, it checks, downloads and builds using the standard tools. It's enabled just for linux and it does not use fancy flags. Future enhancements could take care of improving the implementation and extending it to support other systems. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (PROTON-885) Allow setup.py to bundle qpid-proton
[ https://issues.apache.org/jira/browse/PROTON-885?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14543693#comment-14543693 ] Flavio Percoco commented on PROTON-885: --- I'm happy with whatever works from a license POV. FWIW, while it is true I took ideas and code from PyZMQ, the functions (except for log.py) where largely modified. That said, let me know what to do license-wise and I'll do it. Allow setup.py to bundle qpid-proton Key: PROTON-885 URL: https://issues.apache.org/jira/browse/PROTON-885 Project: Qpid Proton Issue Type: Improvement Components: python-binding Reporter: Flavio Percoco Assignee: Ken Giusti Attachments: 0001-Allow-setup.py-for-bundling-proton.patch Allow setup.py for bundling proton As of now, it's not possible to install python-qpid-proton if libqpid-proton is not present in the system. To be more precises, it's possible to build python-qpid-proton using cmake, upload it and beg to the gods of OPs that the required (and correct) shared library will be present in the system. This patch adds to python-qpid-proton the ability to download, build and install qpid-proton if the required version is not present in the system. It does this by checking - using pkg-config - whether the required version is installed and if not, it goes to downloading the package from the official apache source and builds it using cmake. As nasty as it sounds, this process is not strange in the Python community. Very famous - and way more used - libraries like PyZMQ (from which this work took lots of inspiration) do this already in a fairly more complex way. This first step is quite simple, it checks, downloads and builds using the standard tools. It's enabled just for linux and it does not use fancy flags. Future enhancements could take care of improving the implementation and extending it to support other systems. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Updated] (PROTON-885) Allow setup.py to bundle qpid-proton
[ https://issues.apache.org/jira/browse/PROTON-885?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Flavio Percoco updated PROTON-885: -- Attachment: (was: 0001-Allow-setup.py-for-bundling-proton.patch) Allow setup.py to bundle qpid-proton Key: PROTON-885 URL: https://issues.apache.org/jira/browse/PROTON-885 Project: Qpid Proton Issue Type: Improvement Components: python-binding Reporter: Flavio Percoco Assignee: Ken Giusti Attachments: 0001-Allow-setup.py-for-bundling-proton.patch Allow setup.py for bundling proton As of now, it's not possible to install python-qpid-proton if libqpid-proton is not present in the system. To be more precises, it's possible to build python-qpid-proton using cmake, upload it and beg to the gods of OPs that the required (and correct) shared library will be present in the system. This patch adds to python-qpid-proton the ability to download, build and install qpid-proton if the required version is not present in the system. It does this by checking - using pkg-config - whether the required version is installed and if not, it goes to downloading the package from the official apache source and builds it using cmake. As nasty as it sounds, this process is not strange in the Python community. Very famous - and way more used - libraries like PyZMQ (from which this work took lots of inspiration) do this already in a fairly more complex way. This first step is quite simple, it checks, downloads and builds using the standard tools. It's enabled just for linux and it does not use fancy flags. Future enhancements could take care of improving the implementation and extending it to support other systems. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (PROTON-885) Allow setup.py to bundle qpid-proton
[ https://issues.apache.org/jira/browse/PROTON-885?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14543364#comment-14543364 ] Flavio Percoco commented on PROTON-885: --- I've pushed everything in a GH fork so that it's probably easier to read the change and test it. In the fork, I've also created a branch that *only* contains the python bindings code so that you can pip install it directly using the git repo url. Fork: https://github.com/FlaPer87/qpid-proton/ Bindings branch: https://github.com/FlaPer87/qpid-proton/tree/python-qpid-proton Install from git: $ pip install git+https://github.com/FlaPer87/qpid-proton.git@python-qpid-proton#egg=python-qpid-proton; Allow setup.py to bundle qpid-proton Key: PROTON-885 URL: https://issues.apache.org/jira/browse/PROTON-885 Project: Qpid Proton Issue Type: Improvement Components: python-binding Reporter: Flavio Percoco Assignee: Ken Giusti Attachments: 0001-Allow-setup.py-for-bundling-proton.patch Allow setup.py for bundling proton As of now, it's not possible to install python-qpid-proton if libqpid-proton is not present in the system. To be more precises, it's possible to build python-qpid-proton using cmake, upload it and beg to the gods of OPs that the required (and correct) shared library will be present in the system. This patch adds to python-qpid-proton the ability to download, build and install qpid-proton if the required version is not present in the system. It does this by checking - using pkg-config - whether the required version is installed and if not, it goes to downloading the package from the official apache source and builds it using cmake. As nasty as it sounds, this process is not strange in the Python community. Very famous - and way more used - libraries like PyZMQ (from which this work took lots of inspiration) do this already in a fairly more complex way. This first step is quite simple, it checks, downloads and builds using the standard tools. It's enabled just for linux and it does not use fancy flags. Future enhancements could take care of improving the implementation and extending it to support other systems. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Updated] (PROTON-885) Allow setup.py to bundle qpid-proton
[ https://issues.apache.org/jira/browse/PROTON-885?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Flavio Percoco updated PROTON-885: -- Attachment: (was: 0001-Allow-setup.py-for-bundling-proton.patch) Allow setup.py to bundle qpid-proton Key: PROTON-885 URL: https://issues.apache.org/jira/browse/PROTON-885 Project: Qpid Proton Issue Type: Improvement Components: python-binding Reporter: Flavio Percoco Assignee: Ken Giusti Attachments: 0001-Allow-setup.py-for-bundling-proton.patch Allow setup.py for bundling proton As of now, it's not possible to install python-qpid-proton if libqpid-proton is not present in the system. To be more precises, it's possible to build python-qpid-proton using cmake, upload it and beg to the gods of OPs that the required (and correct) shared library will be present in the system. This patch adds to python-qpid-proton the ability to download, build and install qpid-proton if the required version is not present in the system. It does this by checking - using pkg-config - whether the required version is installed and if not, it goes to downloading the package from the official apache source and builds it using cmake. As nasty as it sounds, this process is not strange in the Python community. Very famous - and way more used - libraries like PyZMQ (from which this work took lots of inspiration) do this already in a fairly more complex way. This first step is quite simple, it checks, downloads and builds using the standard tools. It's enabled just for linux and it does not use fancy flags. Future enhancements could take care of improving the implementation and extending it to support other systems. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Updated] (PROTON-885) Allow setup.py to bundle qpid-proton
[ https://issues.apache.org/jira/browse/PROTON-885?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Flavio Percoco updated PROTON-885: -- Attachment: 0001-Allow-setup.py-for-bundling-proton.patch Yet another version, with some extra clean ups and a fixed bug Allow setup.py to bundle qpid-proton Key: PROTON-885 URL: https://issues.apache.org/jira/browse/PROTON-885 Project: Qpid Proton Issue Type: Improvement Components: python-binding Reporter: Flavio Percoco Assignee: Ken Giusti Attachments: 0001-Allow-setup.py-for-bundling-proton.patch Allow setup.py for bundling proton As of now, it's not possible to install python-qpid-proton if libqpid-proton is not present in the system. To be more precises, it's possible to build python-qpid-proton using cmake, upload it and beg to the gods of OPs that the required (and correct) shared library will be present in the system. This patch adds to python-qpid-proton the ability to download, build and install qpid-proton if the required version is not present in the system. It does this by checking - using pkg-config - whether the required version is installed and if not, it goes to downloading the package from the official apache source and builds it using cmake. As nasty as it sounds, this process is not strange in the Python community. Very famous - and way more used - libraries like PyZMQ (from which this work took lots of inspiration) do this already in a fairly more complex way. This first step is quite simple, it checks, downloads and builds using the standard tools. It's enabled just for linux and it does not use fancy flags. Future enhancements could take care of improving the implementation and extending it to support other systems. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Comment Edited] (PROTON-885) Allow setup.py to bundle qpid-proton
[ https://issues.apache.org/jira/browse/PROTON-885?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14542852#comment-14542852 ] Flavio Percoco edited comment on PROTON-885 at 5/13/15 10:35 PM: - The best way to test it is to make sure you don't have the required qpid-proton version installed in your system. You can either change the versions in `setuputils/bundle` or just uninstall whatever you have in your system. Once you've done that, I'd recommend you to create a virtualenv and give this a try: $ mkdir /tmp/proton_test $ cd /tmp/proton_test $ virtualenv --python python2.7 .venv $ source .venv/bin/activate $ pip install $PATH_TO_THE_PYTHON_DIR_IN_PROTON_C_BINDINGS $ python -c import proton Further checks could be: $ ls .venv/lib64 # (or lib?) You should see qpid-proton here $ ls .venv/include # you should see proton here was (Author: flaper87): The best way to test it is to make sure you don't have the required qpid-proton version installed in your system. You can either change the versions in `setuputils/bundle` or just uninstall whatever you have in your system. Once you've done that, I'd recommend you to create a virtualenv and give this a try: $ mkdir /tmp/proton_test $ cd /tmp/proton_test $ virtualenv --python python2.7 .venv $ source .venv/bin/activate $ pip install $PATH_TO_THE_PYTHON_DIR_IN_PROTON_C_BINDINGS $ python -c import proton Further checks could be: $ ls .venv/lib64 # (or lib?) You should see qpid-proton here $ ls .venv/include # you should see proton here Allow setup.py to bundle qpid-proton Key: PROTON-885 URL: https://issues.apache.org/jira/browse/PROTON-885 Project: Qpid Proton Issue Type: Improvement Components: python-binding Reporter: Flavio Percoco Assignee: Ken Giusti Attachments: 0001-Allow-setup.py-for-bundling-proton.patch Allow setup.py for bundling proton As of now, it's not possible to install python-qpid-proton if libqpid-proton is not present in the system. To be more precises, it's possible to build python-qpid-proton using cmake, upload it and beg to the gods of OPs that the required (and correct) shared library will be present in the system. This patch adds to python-qpid-proton the ability to download, build and install qpid-proton if the required version is not present in the system. It does this by checking - using pkg-config - whether the required version is installed and if not, it goes to downloading the package from the official apache source and builds it using cmake. As nasty as it sounds, this process is not strange in the Python community. Very famous - and way more used - libraries like PyZMQ (from which this work took lots of inspiration) do this already in a fairly more complex way. This first step is quite simple, it checks, downloads and builds using the standard tools. It's enabled just for linux and it does not use fancy flags. Future enhancements could take care of improving the implementation and extending it to support other systems. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (PROTON-885) Allow setup.py to bundle qpid-proton
[ https://issues.apache.org/jira/browse/PROTON-885?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14542852#comment-14542852 ] Flavio Percoco commented on PROTON-885: --- The best way to test it is to make sure you don't have the required qpid-proton version installed in your system. You can either change the versions in `setuputils/bundle` or just uninstall whatever you have in your system. Once you've done that, I'd recommend you to create a virtualenv and give this a try: $ mkdir /tmp/proton_test $ cd /tmp/proton_test $ virtualenv --python python2.7 .venv $ source .venv/bin/activate $ pip install $PATH_TO_THE_PYTHON_DIR_IN_PROTON_C_BINDINGS $ python -c import proton Further checks could be: $ ls .venv/lib64 # (or lib?) You should see qpid-proton here $ ls .venv/include # you should see proton here Allow setup.py to bundle qpid-proton Key: PROTON-885 URL: https://issues.apache.org/jira/browse/PROTON-885 Project: Qpid Proton Issue Type: Improvement Components: python-binding Reporter: Flavio Percoco Assignee: Ken Giusti Attachments: 0001-Allow-setup.py-for-bundling-proton.patch Allow setup.py for bundling proton As of now, it's not possible to install python-qpid-proton if libqpid-proton is not present in the system. To be more precises, it's possible to build python-qpid-proton using cmake, upload it and beg to the gods of OPs that the required (and correct) shared library will be present in the system. This patch adds to python-qpid-proton the ability to download, build and install qpid-proton if the required version is not present in the system. It does this by checking - using pkg-config - whether the required version is installed and if not, it goes to downloading the package from the official apache source and builds it using cmake. As nasty as it sounds, this process is not strange in the Python community. Very famous - and way more used - libraries like PyZMQ (from which this work took lots of inspiration) do this already in a fairly more complex way. This first step is quite simple, it checks, downloads and builds using the standard tools. It's enabled just for linux and it does not use fancy flags. Future enhancements could take care of improving the implementation and extending it to support other systems. -- This message was sent by Atlassian JIRA (v6.3.4#6332)