Re: How to enable Python3 for python-freecontact
Dear Lumin, On Wed, Jul 04, 2018 at 02:26:36AM +, Lumin wrote: > I'm not sure whether there is a better way to workaround this, > but the following solution works fine > > > -libraries = ['freecontact', 'boost_python'])] > +libraries = ['freecontact', > 'boost_python-py%d%d'%(sys.version_info[0], sys.version_info[1])])] > > > works for all python versions, i.e. 2.7, 3.6, 3.7 . Works perfectly for building the modules. Unfortunately the test does not work for Python3. If I try inside pbuilder chroot: root:/build/python-freecontact-1.1# PYTHONPATH=.pybuild/cpython3_3.6_freecontact/build/ python3.6 test/test01.py Traceback (most recent call last): File "test/test01.py", line 87, in test_main() File "test/test01.py", line 83, in test_main test_support.run_unittest(MyTestCase1 AttributeError: module 'test.test_support' has no attribute 'run_unittest' This also happens if I build without testing and after installing the python3-freecontact package: /python-freecontact(master) $ python3 test/test01.py Traceback (most recent call last): File "test/test01.py", line 87, in test_main() File "test/test01.py", line 83, in test_main test_support.run_unittest(MyTestCase1 AttributeError: module 'test.test_support' has no attribute 'run_unittest' Any clue how to work around this? Kind regards Andreas. -- http://fam-tille.de
Re: How to enable Python3 for python-freecontact
Hi Andreas, > Is there any way to have different library sections in setup.py > to accomplish version specific libraries linked? -libraries = ['freecontact', 'boost_python'])] +libraries = ['freecontact', 'boost_python-py36'])] This hack fixes the python 3.6 .so linkage. I'm not sure whether there is a better way to workaround this, but the following solution works fine -libraries = ['freecontact', 'boost_python'])] +libraries = ['freecontact', 'boost_python-py%d%d'%(sys.version_info[0], sys.version_info[1])])] works for all python versions, i.e. 2.7, 3.6, 3.7 . BTW, Please check you boost-python version: │ │ /t/x/python-freecontact ❯❯❯ dpkg -L libboost-python1.62.0 │ /. │ /usr │ /usr/lib │ /usr/lib/x86_64-linux-gnu │ /usr/lib/x86_64-linux-gnu/libboost_python-py27.so.1.62.0 │ /usr/lib/x86_64-linux-gnu/libboost_python-py36.so.1.62.0 │ /usr/lib/x86_64-linux-gnu/libboost_python-py37.so.1.62.0 │ /usr/share │ /usr/share/doc │ /usr/share/doc/libboost-python1.62.0 │ /usr/share/doc/libboost-python1.62.0/changelog.Debian.gz │ /usr/share/doc/libboost-python1.62.0/copyright │ /usr/share/lintian │ /usr/share/lintian/overrides │ /usr/share/lintian/overrides/libboost-python1.62.0 │ /t/x/python-freecontact ❯❯❯ apt list libboost-python1.62.0 │ Listing... Done │ libboost-python1.62.0/unstable,unstable,now 1.62.0+dfsg-6 amd64 [installed,automatic] │
Re: Bug#900368: RFS: pygithub/1.40a3-1 [ITP]
On Tue, Jul 03, 2018 at 06:00:34PM -0300, eamanu15 wrote: > Hello Dimitry, > > Thanks for you email. I Will make the changes that you recommend. > > I have a cuestion for you. When I update to the version 1.40, Do I merge > all the changelog entries, including 1.35-1 upload, isn't? Yes, it is better to merge these entries and keep one entry per actual upload to archive. -- Dmitry Shachnev signature.asc Description: PGP signature
Re: Bug#900368: RFS: pygithub/1.40a3-1 [ITP]
Hello Dimitry, Thanks for you email. I Will make the changes that you recommend. I have a cuestion for you. When I update to the version 1.40, Do I merge all the changelog entries, including 1.35-1 upload, isn't? Thanks Regards Arias Emmanuel eamanu.com El mar., 3 de jul. de 2018 17:17, Dmitry Shachnev escribió: > Control: merge 898416 898811 900368 > > Hi Emmanuel! > > On Tue, May 29, 2018 at 12:35:25PM -0300, eamanu15 wrote: > > Package: sponsorship-requests > > Severity: normal > > > > Dear mentors, > > > > I am looking for a sponsor for my package "pygithub" > > Note that I am merging your three RFS bugs. If you want to ping, just reply > to the existing bug, not file a new one. > > Here are my comments about your changes. > > - It would be nice if you based the repository on the existing Git > repository [1], rather than starting from scratch. > > Also for new team repositories as this one, it is better to use Gbp-Pq > workflow as described in the team wiki [2]. > > - Please merge the last three changelog entries, as 1.35-1 upload did not > happen. > > - When building in the current sid, I get Lintian warnings about three > files > shipped in /usr/lib/python3.7/dist-packages/. > > That probably happens because of output of 2to3 is slightly different in > Python 3.6 and 3.7 (e.g. files.items() vs. iter(files.items())), and > dh_python3 does not remove the file if it does not match. > > I would recommend removing debian/python3-github/usr/lib/python3.* > manually > in debian/rules. Keeping debian-python@ in Cc in case someone has a > better > idea. > > - A new stable 1.40 release has been released on June 26th [3]. > Can you update from alpha to the stable version? > > Also please add uversionmangle to debian/watch (like here [4]), to make > it > treat 1.40 as a higher version than 1.40aN. > > [1]: > https://alioth-archive.debian.org/git/users/kaction-guest/pygithub.git.tar.xz > [2]: https://wiki.debian.org/Python/GitPackagingPQ > [3]: https://pypi.org/project/PyGithub/1.40/ > [4]: https://pypi.debian.net/PyGithub/watch > > -- > Dmitry Shachnev >
Re: Bug#900368: RFS: pygithub/1.40a3-1 [ITP]
Control: merge 898416 898811 900368 Hi Emmanuel! On Tue, May 29, 2018 at 12:35:25PM -0300, eamanu15 wrote: > Package: sponsorship-requests > Severity: normal > > Dear mentors, > > I am looking for a sponsor for my package "pygithub" Note that I am merging your three RFS bugs. If you want to ping, just reply to the existing bug, not file a new one. Here are my comments about your changes. - It would be nice if you based the repository on the existing Git repository [1], rather than starting from scratch. Also for new team repositories as this one, it is better to use Gbp-Pq workflow as described in the team wiki [2]. - Please merge the last three changelog entries, as 1.35-1 upload did not happen. - When building in the current sid, I get Lintian warnings about three files shipped in /usr/lib/python3.7/dist-packages/. That probably happens because of output of 2to3 is slightly different in Python 3.6 and 3.7 (e.g. files.items() vs. iter(files.items())), and dh_python3 does not remove the file if it does not match. I would recommend removing debian/python3-github/usr/lib/python3.* manually in debian/rules. Keeping debian-python@ in Cc in case someone has a better idea. - A new stable 1.40 release has been released on June 26th [3]. Can you update from alpha to the stable version? Also please add uversionmangle to debian/watch (like here [4]), to make it treat 1.40 as a higher version than 1.40aN. [1]: https://alioth-archive.debian.org/git/users/kaction-guest/pygithub.git.tar.xz [2]: https://wiki.debian.org/Python/GitPackagingPQ [3]: https://pypi.org/project/PyGithub/1.40/ [4]: https://pypi.debian.net/PyGithub/watch -- Dmitry Shachnev signature.asc Description: PGP signature
How to enable Python3 for python-freecontact
Hi, as far as I read the docs python-freecontact[1] works with Python3. The former maintainer left the line ### once libboost-python-dev will be provided for Python3 in d/rules and since I've found libboost-python1.62.0: /usr/lib/x86_64-linux-gnu/libboost_python-py35.so.1.62.0 libboost-python1.62.0: /usr/lib/x86_64-linux-gnu/libboost_python-py36.so.1.62.0 libboost-python1.63.0: /usr/lib/x86_64-linux-gnu/libboost_python-py35.so.1.63.0 libboost-python1.63.0: /usr/lib/x86_64-linux-gnu/libboost_python-py36.so.1.63.0 (missing py37 - but that's not the point for the moment) I tried to activate this. When I tried to run the test suite it turned out that the Python3 3.6 module is linked as follows: $ ldd /usr/lib/python3/dist-packages/freecontact.cpython-36m-x86_64-linux-gnu.so | grep boost libboost_python-py27.so.1.62.0 => /usr/lib/x86_64-linux-gnu/libboost_python-py27.so.1.62.0 (0x7f09c84a8000) The cause for this becomes obvious in $ grep -- "-lfreecontact -lboost_python" python-freecontact_1.1-3_amd64.build x86_64-linux-gnu-g++ -pthread -shared -Wl,-O1 -Wl,-Bsymbolic-functions -Wl,-z,relro -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -Wdate-time -D_FORTIFY_SOURCE=2 -g -fdebug-prefix-map=/build/python2.7-jgBwco/python2.7-2.7.15=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-z,relro -Wl,-z,now -g -O2 -fdebug-prefix-map=/build/python-freecontact-1.1=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 build/temp.linux-amd64-2.7/src/freecontact.o -lfreecontact -lboost_python -o /build/python-freecontact-1.1/.pybuild/cpython2_2.7_freecontact/build/freecontact.so x86_64-linux-gnu-g++ -pthread -shared -Wl,-O1 -Wl,-Bsymbolic-functions -Wl,-z,relro -Wl,-z,relro -Wl,-z,now -g -O2 -fdebug-prefix-map=/build/python-freecontact-1.1=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 build/temp.linux-amd64-3.7/src/freecontact.o -lfreecontact -lboost_python -o /build/python-freecontact-1.1/.pybuild/cpython3_3.7_freecontact/build/freecontact.cpython-37m-x86_64-linux-gnu.so x86_64-linux-gnu-g++ -pthread -shared -Wl,-O1 -Wl,-Bsymbolic-functions -Wl,-z,relro -Wl,-z,relro -Wl,-z,now -g -O2 -fdebug-prefix-map=/build/python-freecontact-1.1=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 build/temp.linux-amd64-3.6/src/freecontact.o -lfreecontact -lboost_python -o /build/python-freecontact-1.1/.pybuild/cpython3_3.6_freecontact/build/freecontact.cpython-36m-x86_64-linux-gnu.so and $ readlink /usr/lib/x86_64-linux-gnu/libboost_python.so libboost_python-py27.so So I need to find some way thet the library linker flag is not -lboost_python but rather -lboost_python-${PYVERSION}. When looking at setup.py it says: libraries = ['freecontact', 'boost_python'])] Is there any way to have different library sections in setup.py to accomplish version specific libraries linked? Kind regards Andreas. [1] https://salsa.debian.org/med-team/python-freecontact -- http://fam-tille.de