[Debian-pan-maintainers] Packaging pytango 9.2.0

Bodó-Merle Sándor Sandor.Bodo-Merle at eli-alps.hu
Fri Aug 26 09:51:42 BST 2016


I'll switch to gbp for building - with the suggested corrections. Thx.

rsync is used by the Makefile to do local file copy - and before i explicitly add pybuild, the Makefile was picked up by default by the build system - but right - with pybuild is unnecessary.

Regarding python-sphinx - my understanding was that it is used only by build time to create the HTML documentation - and in order to favor the upcoming python3 transition, i made the assumption that it is nicer to generate the doc based on python3 - but anyway as the build depends on both python2 and python3 it makes no big difference.

Sandor

________________________________________
From: PICCA Frederic-Emmanuel <frederic-emmanuel.picca at synchrotron-soleil.fr>
Sent: Friday, August 26, 2016 10:21 AM
To: Bodó-Merle Sándor; debian-pan-maintainers at lists.alioth.debian.org
Subject: RE:Packaging pytango 9.2.0

> Ok - thanks for the feedback.
> I attach the first round of the patch (for review) - i'll do the binary package transition soon.

> diff --git a/debian/changelog b/debian/changelog
> index ad57059..6c66c71 100644
> --- a/debian/changelog
> +++ b/debian/changelog
> @@ -1,3 +1,17 @@
> +pytango (9.2.0-1) UNRELEASED; urgency=medium
> +
> +  * package 9.2.0

if you use gbp dch in order to genereate the changelog it says
       * Import Upstream 9.2.0
which is clearer

> +  * debian/patch
> +    - 0001-Fix-syntax-error-in-python-3.patch (deleted, upstream uses python-six)

ok

> +  * debian/control
> +    - Build-deps: libtango-dev (>= 9.2.0+dfsg-1~)

I would remove the version dependency, since libtango-dev exist only since tango9

you can use cme fix dpkg in order to check you control file

> +    - Build-Depends-Indep: use python3-sphinx to generate docs

Usually I build the documentation for all version of python in the package
you can have a look here [1], specially the override_dh_sphinxdoc.


> +  * drop itango dependency - itango is a separate project since 9.2.0

ok for now but the idea is to add this dependency for sardana ;)

> +  * debian/rules:
> +    - explicitely use pybuild

great :))

> +
> + -- Sandor Bodo-Merle <sandor.bodo-merle at eli-alps.hu>  Wed, 24 Aug 2016 15:10:25 +0200
> +
>  pytango (8.1.8-2) unstable; urgency=medium


>   * debian/patches
> diff --git a/debian/control b/debian/control
> index 7ece0be..fdca2d4 100644
> --- a/debian/control
> +++ b/debian/control
> @@ -4,15 +4,19 @@ Uploaders: Picca Frédéric-Emmanuel <picca at debian.org>
>  Section: science
>  Priority: extra
>  Build-Depends: debhelper (>= 9),
> +               dh-python,
>                 libboost-python-dev,
> -               libtango8-dev (>= 8.1.2c+dfsg-7~),
> +               libtango-dev (>= 9.2.0+dfsg-1~),

remove the version dependency

>                pkg-config,
>                python-all-dev,
>               python-numpy,
> +               python-setuptools,

ok

>                 python3-all-dev,
> -               python3-numpy
> +               python3-numpy,
> +               python3-setuptools,
> +               rsync


why rsync ?

On debian infrastructure there is no networkconnection during the build.
so what are you doing with this ?

>  Build-Depends-Indep: graphviz,
> -                     python-sphinx
> +                     python3-sphinx

I would use both in order to build the documentation for python2 and python3

> Standards-Version: 3.9.4
> Vcs-Browser: http://anonscm.debian.org/gitweb/?p=debian-science/packages/pytango.git
> Vcs-Git: git://anonscm.debian.org/debian-science/packages/pytango.git
>@@ -26,7 +30,6 @@ Section: python
> Depends: ${shlibs:Depends},
>          ${misc:Depends},
>          ${python:Depends},
>-         ipython

ok

> Provides: ${python:Provides}
> Description: API for the TANGO control system (Python 2)
>  TANGO is an object oriented distributed control system using CORBA,
> @@ -43,7 +46,6 @@ Section: python
>  Depends: ${shlibs:Depends},
>           ${misc:Depends},
>           ${python3:Depends},
> -         ipython3

ok

>  Provides: ${python3:Provides}
>  Description: API for the TANGO control system (Python 3)
>   TANGO is an object oriented distributed control system using CORBA,
> diff --git a/debian/patches/0001-Fix-syntax-error-in-python-3.patch b/debian/patches/0001-Fix-syntax-error-in-python-3.patch
> deleted file mode 100644

ok

> diff --git a/debian/patches/series b/debian/patches/series
> deleted file mode 100644

ok

> diff --git a/debian/python-pytango.install b/debian/python-pytango.install
> index d91fadf..b2cc136 100644
> --- a/debian/python-pytango.install
> +++ b/debian/python-pytango.install
> @@ -1,2 +1 @@
> -usr/bin/itango
> -usr/lib/python2*
> \ No newline at end of file
> +usr/lib/python2*

if I am correct :) with pybuild you can remove the
python-pytango.install and python3-pytango.install files now.

> diff --git a/debian/python-pytango.manpages b/debian/python-pytango.manpages
> deleted file mode 100644

ok

> diff --git a/debian/python-pytango.pyinstall b/debian/python-pytango.pyinstall
> deleted file mode 100644

ok

> index 8f5ae77..0000000
> --- a/debian/python-pytango.pyinstall
> +++ /dev/null

ok

> diff --git a/debian/python3-pytango.install b/debian/python3-pytango.install
> index 3e1c0f1..b06a399 100644
> --- a/debian/python3-pytango.install
> +++ b/debian/python3-pytango.install
> @@ -1,2 +1 @@
> -usr/bin/itango3
> -usr/lib/python3
> \ No newline at end of file
> +usr/lib/python3

idem you should remove this file

> diff --git a/debian/rules b/debian/rules
i> ndex d04e851..a4010b4 100755
-> > -- a/debian/rules
> +++ b/debian/rules
> @@ -4,7 +4,7 @@ PYTHON2=$(shell pyversions -vr)
>  PYTHON3=$(shell py3versions -vr)

this is useless right ?

>  %:
> -     dh $@ --with python2,python3
> +     dh $@ --with python2,python3 --buildsystem=pybuild

you should add with sphinxdoc in order to deal with the sphinx documentation javascript link



>  build-python%:
>       python$* setup.py build
> @@ -12,20 +12,12 @@ build-python%:
>  override_dh_auto_build: $(PYTHON3:%=build-python%)
>       dh_auto_build
>
> -
>  install-python%:
>       python$* setup.py install --root=$(CURDIR)/debian/tmp --install-layout=deb --install-html=$(CURDIR)/debian/python-pytango-doc/usr/share/doc/python-pytango-doc/html
> -     # install itango3
> -     mv $(CURDIR)/debian/tmp/usr/bin/itango $(CURDIR)/debian/tmp/usr/bin/itango3
> -     # install the ipython >= 0.11 profiles
> -     install -d $(CURDIR)/debian/tmp/usr/lib/python3/dist-packages/IPython/config/profile/tango
> -     install -p -m644\
> -             $(CURDIR)/IPython/config/profile/tango/ipython_config.py\
> -             $(CURDIR)/debian/tmp/usr/lib/python3/dist-packages/IPython/config/profile/tango
>       dh_numpy3

>  override_dh_auto_install: $(PYTHON3:%=install-python%)
> -     dh_auto_install -- --install-html=$(CURDIR)/debian/python-pytango-doc/usr/share/doc/python-pytango-doc/html
> +     dh_auto_install
 >      dh_numpy

now you need to call also dh_numpy3 for python3.

can you look after [1] create a new package and upload it into mentors [2]

this way I can get your source package easily and I can try to build it and test your modifications.

Cheers

Fred

[1] https://tracker.debian.org/media/packages/p/pymca/rules-5.1.2%2Bdfsg-1
[2] https://mentors.debian.net
________________________________

A jelen email útján megküldött vélemény vagy információ kizárólag a küldő személyéhez kapcsolódik és nem feltétlenül jeleníti meg az ELI-HU Nonprofit Kft. álláspontját is. Társaságunk nem vállal felelősséget az email tartalmáért, ide értve különösen, de nem kizárólagosan kötelezettségvállalást jogi kötő erővel bíró szerződések létrehozásáért, módosításáért vagy megszűntetéséért, valamint az átadott információ alapján indult eljárásokért mindaddig, amíg az adott információt utólag és írásban a megfelelően meghatalmazott vagy az ELI-HU Nonprofit Kft. képviseleti jogával felruházott személy meg nem erősíti. Az email bizalmas vagy jogilag védett információt tartalmazhat, amelyet kizárólag a címzett személy vagy szervezet, illetve az általuk felhatalmazottak használhatnak fel. Amennyiben Ön nem az üzenet címzettje, kérjük, értesítse erről az üzenet küldőjét és törölje az üzenetet rendszeréből. A jelen email tartalmának nem a címzett általi bármilyen formában történő illetéktelen közzététele, terjesztése, másolása, illetve felhasználása vagy alkalmazása szigorúan tilos és jogszabályba ütközhet.


Please note that any information or opinions presented in this email are solely those of the sender and do not necessarily represent those of ELI-HU Nonprofit Ltd. Our Company accepts no liability or responsibility for the content of this email, especially, but not limited to commitment for establishing, modifying or terminating legally binding contracts, or for the consequences of any actions taken on the basis of the information provided, unless that information is subsequently confirmed in writing by a person duly authorized or endowed with the right of representation of ELI-HU Nonprofit Ltd. This email may contain confidential or legally protected information, and is intended solely for the use of the individual or entity to whom it is addressed and others authorized to receive it. If you are not the intended recipient of this email, please inform the sender immediately and delete it from your system. Any unauthorized disclosure, dissemination, copying or use of or reliance upon the content of this email by anyone other than the intended recipient is strictly prohibited and may be unlawful.


More information about the Debian-pan-maintainers mailing list