Re: How to enable Python3 for python-freecontact

2018-07-03 Thread Andreas Tille
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

2018-07-03 Thread Lumin
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]

2018-07-03 Thread Dmitry Shachnev
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]

2018-07-03 Thread eamanu15
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]

2018-07-03 Thread Dmitry Shachnev
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

2018-07-03 Thread Andreas Tille
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