[elbe-devel] python3 compatibility

Manuel Traut manut at linutronix.de
Fri Dec 1 16:50:57 CET 2017


Hi,

during working on nneta-elbe [0] i wanted to include elbe code in python3.
This is not possible, because python2 and 3 are slightly incompatible.

python3 will be the future of the language [1], so it makes sense to convert
elbe.

Howerver a complete convert is not possible, because e.g. python-spyne that
is used by elbe is not packaged for python3 in debian.

This patch series converts the elbe code base, that it still runs in python2
and that the parts that are runnable in python3 can be run in python3.

It also reworks the debian packaging to produce python-elbe-* and
python3-elbe-* packages.

The patch-queue is based on the minor-fixups queue i posted yesterday.

Thanks for your feedback,

  Manuel

[0] https://github.com/linutronix/nneta-elbe
[1] https://wiki.python.org/moin/Python2orPython3

---

 .gitignore                               |   12 +
 debian/compat                            |    2
 debian/control                           |  126 +++++++++++++---
 debian/elbe-schema.install               |    1
 debian/python-elbe-bin.install           |    2
 debian/python-elbe-bin.lintian-overrides |    2
 debian/python-elbe-buildenv.install      |    1
 debian/python-elbe-common.install        |    3
 debian/python3-elbe-buildenv.install     |   29 +++
 debian/python3-elbe-buildenv.postinst    |    4
 debian/python3-elbe-common.install       |   32 ++++
 debian/python3-elbe-control.install      |    5
 debian/rules                             |    5
 docs/Makefile                            |    2
 elbe                                     |   24 ++-
 elbepack/aptprogress.py                  |   14 +
 elbepack/asyncworker.py                  |   14 +
 elbepack/cdroms.py                       |   12 -
 elbepack/commands/add.py                 |   10 -
 elbepack/commands/adjustpkgs.py          |   16 +-
 elbepack/commands/bootup-check.py        |   14 +
 elbepack/commands/buildchroot.py         |   16 +-
 elbepack/commands/buildsysroot.py        |    7
 elbepack/commands/check_updates.py       |   22 +-
 elbepack/commands/chg_archive.py         |   10 -
 elbepack/commands/chroot.py              |    7
 elbepack/commands/control.py             |   53 ++++--
 elbepack/commands/daemon.py              |   12 -
 elbepack/commands/db.py                  |    5
 elbepack/commands/debianize.py           |   10 -
 elbepack/commands/diff.py                |   30 ++-
 elbepack/commands/gen_update.py          |   20 +-
 elbepack/commands/genlicence.py          |    3
 elbepack/commands/get_archive.py         |   13 -
 elbepack/commands/hdimg.py               |   14 +
 elbepack/commands/init.py                |   34 ++--
 elbepack/commands/initvm.py              |    8 -
 elbepack/commands/mkcdrom.py             |   16 +-
 elbepack/commands/parselicence.py        |   25 +--
 elbepack/commands/pbuilder.py            |    8 -
 elbepack/commands/pin_versions.py        |   14 +
 elbepack/commands/pkgdiff.py             |   24 +--
 elbepack/commands/prjrepo.py             |   53 ++++--
 elbepack/commands/remove_sign.py         |   10 -
 elbepack/commands/setsel.py              |    9 -
 elbepack/commands/show.py                |   40 ++---
 elbepack/commands/sign.py                |    6
 elbepack/commands/validate.py            |   10 -
 elbepack/commands/xsdtoasciidoc.py       |    6
 elbepack/config.py                       |   10 -
 elbepack/daemons/soap/__init__.py        |   18 +-
 elbepack/daemons/soap/authentication.py  |   24 +--
 elbepack/daemons/soap/datatypes.py       |   12 +
 elbepack/daemons/soap/esoap.py           |   27 ++-
 elbepack/daemons/soap/faults.py          |   28 ++-
 elbepack/db.py                           |   16 +-
 elbepack/dbaction.py                     |   54 +++---
 elbepack/debianize/base.py               |    2
 elbepack/debianize/uboot.py              |    2
 elbepack/debianreleases.py               |    2
 elbepack/debpkg.py                       |    2
 elbepack/dosunix.py                      |    7
 elbepack/dump.py                         |   16 +-
 elbepack/efilesystem.py                  |   32 ++--
 elbepack/elbexml.py                      |   31 ++--
 elbepack/filesystem.py                   |    4
 elbepack/finetuning.py                   |    8 -
 elbepack/fstab.py                        |    4
 elbepack/gpg.py                          |   40 ++---
 elbepack/hdimg.py                        |   14 +
 elbepack/init/preseed.cfg.mako           |    2
 elbepack/initvmaction.py                 |  224 ++++++++++++++---------------
 elbepack/kvm.py                          |    4
 elbepack/licencexml.py                   |   18 +-
 elbepack/pbuilder.py                     |   11 -
 elbepack/pbuilderaction.py               |  152 +++++++++----------
 elbepack/pkgutils.py                     |   35 ++--
 elbepack/rfs.py                          |   28 ++-
 elbepack/soapclient.py                   |  111 +++++++-------
 elbepack/templates.py                    |    8 -
 elbepack/treeutils.py                    |   12 -
 elbepack/updated.py                      |   18 +-
 elbepack/updatepkg.py                    |   18 +-
 elbepack/virtapt.py                      |   13 -
 elbepack/xmldefaults.py                  |   21 +-
 elbepack/xsdtoasciidoc.mako              |    4
 elbepack/ziparchives.py                  |    2
 setup.py                                 |    4
 test/modify_rfs.py                       |   10 -
 test/updated.py                          |   20 +-
 debian/elbe-common.lintian-overrides       |    2
 elbepack/persistency.py                    |   74 ---------
 92 files changed, 1126 insertions(+), 833 deletions(-)




More information about the elbe-devel mailing list