[elbe-devel] [PATCH 21/25] py3: debian - produce python3 in python2 packages

Torben Hohn torben.hohn at linutronix.de
Mon Dec 18 10:52:42 CET 2017


On Mon, Dec 11, 2017 at 10:11:15AM +0100, Manuel Traut wrote:
> move from compat 7 to 9 and use pybuild instead of python_distutils
> 
> preseed relevant package names with python- or python3-

We are accumulating stuff, which enables backward compatible py2
support. Some of these py2py3 fixes are pretty ugly.

Lets agree, that we open a bug, where we track these things,
so that we can get rid of them, once we have a working python3 based
elbe version. (The missing link is python3-spyne currently)

As agreed per telephone, manut opens the github issue,
when he commits this patch.
I will try to find the other patches.


> 
> Signed-off-by: Manuel Traut <manut at linutronix.de>

Reviewed-by: Torben Hohn <torben.hohn at linutronix.de>

> ---
>  .gitignore                                         |  12 +-
>  debian/compat                                      |   2 +-
>  debian/control                                     | 126 ++++++++++++++++++---
>  debian/elbe-common.lintian-overrides               |   2 -
>  debian/elbe-schema.install                         |   1 +
>  ...-common.xmlcatalogs => elbe-schema.xmlcatalogs} |   0
>  debian/python-elbe-bin.install                     |   2 +
>  debian/python-elbe-bin.lintian-overrides           |   2 +
>  ...ildenv.install => python-elbe-buildenv.install} |   0
>  ...denv.postinst => python-elbe-buildenv.postinst} |   0
>  ...e-common.install => python-elbe-common.install} |   3 -
>  ...control.install => python-elbe-control.install} |   0
>  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                                       |   2 +-
>  elbepack/commands/adjustpkgs.py                    |   6 +-
>  elbepack/init/preseed.cfg.mako                     |   2 +-
>  19 files changed, 197 insertions(+), 33 deletions(-)
>  delete mode 100644 debian/elbe-common.lintian-overrides
>  create mode 100644 debian/elbe-schema.install
>  rename debian/{elbe-common.xmlcatalogs => elbe-schema.xmlcatalogs} (100%)
>  create mode 100644 debian/python-elbe-bin.install
>  create mode 100644 debian/python-elbe-bin.lintian-overrides
>  rename debian/{elbe-buildenv.install => python-elbe-buildenv.install} (100%)
>  rename debian/{elbe-buildenv.postinst => python-elbe-buildenv.postinst} (100%)
>  rename debian/{elbe-common.install => python-elbe-common.install} (95%)
>  rename debian/{elbe-control.install => python-elbe-control.install} (100%)
>  create mode 100644 debian/python3-elbe-buildenv.install
>  create mode 100644 debian/python3-elbe-buildenv.postinst
>  create mode 100644 debian/python3-elbe-common.install
>  create mode 100644 debian/python3-elbe-control.install
> 
> diff --git a/.gitignore b/.gitignore
> index 461dc605..135c7d14 100644
> --- a/.gitignore
> +++ b/.gitignore
> @@ -1,12 +1,18 @@
>  tags
> +.pybuild
>  elbe.egg-info
>  debian/elbe-bootup-check/
> -debian/elbe-buildenv/
> -debian/elbe-common/
> -debian/elbe-control/
> +debian/python-elbe-buildenv/
> +debian/python3-elbe-buildenv/
> +debian/python-elbe-bin/
> +debian/python-elbe-common/
> +debian/python3-elbe-common/
> +debian/python-elbe-control/
> +debian/python3-elbe-control/
>  debian/elbe-daemon/
>  debian/elbe-debianize/
>  debian/elbe-doc/
> +debian/elbe-schema/
>  debian/elbe-soap/
>  debian/elbe-updated/
>  *.debhelper
> diff --git a/debian/compat b/debian/compat
> index 7f8f011e..ec635144 100644
> --- a/debian/compat
> +++ b/debian/compat
> @@ -1 +1 @@
> -7
> +9
> diff --git a/debian/control b/debian/control
> index fa12f1d6..c9454ae5 100644
> --- a/debian/control
> +++ b/debian/control
> @@ -2,12 +2,16 @@ Source: elbe
>  Section: misc
>  Priority: optional
>  Maintainer: Manuel Traut <manut at linutronix.de>
> -Build-Depends: dh-python,
> -  debhelper (>= 7),
> -  dh-systemd (>= 1.5),
> +Build-Depends: debhelper (>= 9),
> +  dh-python,
> +  dh-systemd,
> +  python-setuptools,
>    python (>= 2.7~),
> -  python-mako,
>    python-lxml,
> +  python-mako,
> +  python3,
> +  python3-lxml,
> +  python3-mako,
>    dia,
>    asciidoc,
>    xmlto,
> @@ -27,9 +31,28 @@ Description: man-pages, examples and documentation
>   man-pages for elbe and all elbe subcommands. Some documentation and howtos.
>   And examples for several targets.
>  
> -Package: elbe-common
> +Package: elbe-schema
> +Architecture: all
> +Conflicts: elbe-common
> +Depends: ${misc:Depends}
> +Description: xml schema files
> + Common files for ELBE (embedded linux build environment). These
> + schemas are used by ELBE.
> +
> +Package: python-elbe-bin
> +Conflicts: elbe-common
> +Architecture: all
> +Depends: python-elbe-common (= ${binary:Version})
> +Description: elbe executable
> + Common files for ELBE (embedded linux build environment). These
> + python-modules are shared by several elbe subcommands.
> +
> +Package: python-elbe-common
>  Architecture: all
> +Conflicts: elbe-common
>  Depends: ${misc:Depends},
> +  elbe-schema (= ${binary:Version}),
> +  python-elbe-bin (= ${binary:Version}),
>    python (>= 2.7~),
>    python-lxml,
>    python-apt,
> @@ -42,6 +65,22 @@ Description: common files
>   Common files for ELBE (embedded linux build environment). These
>   python-modules are shared by several elbe subcommands.
>  
> +Package: python3-elbe-common
> +Architecture: all
> +Depends: ${misc:Depends},
> +  elbe-schema (= ${binary:Version}),
> +  python3,
> +  python3-lxml,
> +  python3-apt,
> +  python3-gpgme,
> +  python3-gpg,
> +  python3-libvirt,
> +  wget,
> +  cpio
> +Description: common files
> + Common files for ELBE (embedded linux build environment). These
> + python-modules are shared by several elbe subcommands.
> +
>  Package: elbe-debianize
>  Architecture: all
>  Depends: ${misc:Depends},
> @@ -49,7 +88,7 @@ Depends: ${misc:Depends},
>    devscripts,
>    libdistro-info-perl,
>    libparse-debcontrol-perl,
> -  elbe-common (= ${binary:Version}),
> +  python-elbe-common (= ${binary:Version}),
>    python-mako,
>    python-npyscreen
>  Description: Wizard for debian foler generation
> @@ -59,8 +98,8 @@ Package: elbe
>  Architecture: all
>  Depends: ${misc:Depends},
>    python (>= 2.7~),
> -  elbe-common (= ${binary:Version}),
> -  elbe-control (= ${binary:Version}),
> +  python-elbe-bin (= ${binary:Version}),
> +  python-elbe-control (= ${binary:Version}),
>    qemu-utils,
>    qemu-kvm (>= 1:2.1),
>    python-mako,
> @@ -76,14 +115,51 @@ Package: elbe-daemon
>  Architecture: all
>  Depends: ${misc:Depends},
>    python (>= 2.7~),
> -  elbe-common (= ${binary:Version}),
> -  elbe-buildenv (= ${binary:Version}),
> +  python-elbe-common (= ${binary:Version}),
> +  python-elbe-buildenv (= ${binary:Version}),
>    python-cherrypy3, python-beaker, openssh-server, lsb-base (>= 3.0-6)
>  Description: wsgi daemon interface
>   subcommand to start wsgi services.
>  
> -Package: elbe-buildenv
> +Package: python3-elbe-buildenv
>  Architecture: all
> +Depends: ${misc:Depends},
> +  python3,
> +  apt-rdepends,
> +  binfmt-support,
> +  debootstrap,
> +  dosfstools,
> +  dpkg-dev,
> +  python3-elbe-common (= ${binary:Version}),
> +  genisoimage,
> +  mtd-utils,
> +  python3-apt,
> +  python3-mako,
> +  python3-parted,
> +  python3-passlib,
> +  python3-sqlalchemy,
> +  python3-debian,
> +  qemu-user-static,
> +  reprepro,
> +  rsync,
> +  kpartx,
> +  squashfs-tools,
> +  sudo,
> +  pbuilder,
> +  git,
> +  ca-certificates,
> +  subversion,
> +  haveged
> +Description: Embedded Linux Build Environment Server Component
> + This package is typically installed in a virtual machine (that can be created
> + with the 'elbe initvm create' command from the 'elbe' package). Several
> + subcommands need to be executed with root privileges. It is not recommended to
> + install this package on a native system.
> +
> +
> +Package: python-elbe-buildenv
> +Architecture: all
> +Conflicts: elbe-buildenv
>  Depends: ${misc:Depends},
>    python (>= 2.7~),
>    apt-rdepends,
> @@ -91,7 +167,7 @@ Depends: ${misc:Depends},
>    debootstrap,
>    dosfstools,
>    dpkg-dev,
> -  elbe-common (= ${binary:Version}),
> +  python-elbe-common (= ${binary:Version}),
>    genisoimage,
>    mtd-utils,
>    python-apt,
> @@ -123,7 +199,7 @@ Package: elbe-bootup-check
>  Architecture: all
>  Depends: ${misc:Depends},
>    python (>= 2.7~),
> -  elbe-common (= ${binary:Version}),
> +  python-elbe-common (= ${binary:Version}),
>    python-apt, lsb-base (>= 3.0-6)
>  Description: bootup checker
>   This package is typically installed on a embedded system. The bootup checker
> @@ -134,28 +210,42 @@ Architecture: all
>  Depends: ${misc:Depends},
>    python (>= 2.7~),
>    python-spyne,
> -  elbe-buildenv (= ${binary:Version}),
> +  python-elbe-buildenv (= ${binary:Version}),
>    elbe-daemon (= ${binary:Version})
>  Description: SOAP Interface for elbe buildenv
>   Enables remote control of the elbe buildenv via SOAP.
>  
> -Package: elbe-control
> +Package: python-elbe-control
>  Architecture: all
> +Conflicts: elbe-control
>  Depends: ${misc:Depends},
>    python (>= 2.7~),
>    python-suds,
>    python-debian,
> -  elbe-common (= ${binary:Version}),
> +  python-elbe-common (= ${binary:Version}),
>    libvirt-clients,
>    libvirt-daemon-system
>  Description: Commandline Tool to control an elbe buildenv
>   The SOAP Interface is used to control an elbe buildenv.
>  
> +Package: python3-elbe-control
> +Architecture: all
> +Depends: ${misc:Depends},
> +  python3,
> +  python3-suds,
> +  python3-debian,
> +  python3-elbe-common (= ${binary:Version}),
> +  libvirt-clients,
> +  libvirt-daemon-system
> +Description: Commandline Tool to control an elbe buildenv
> + The SOAP Interface is used to control an elbe buildenv.
> +
> +
>  Package: elbe-updated
>  Architecture: all
>  Depends: ${misc:Depends},
>    python (>= 2.7~),
> -  elbe-common (= ${binary:Version}),
> +  python-elbe-common (= ${binary:Version}),
>    python-lxml (>= 2.3.2-1),
>    python-tz (>= 2012c-1),
>    python-pyinotify,
> @@ -168,6 +258,6 @@ Suggests: python-pyudev,
>  Description: update daemon for embedded systems
>   This package is typically installed on a embedded system. The update daemon
>   monitors a directory or USB mounts. If an ELBE update file (generated by
> - 'elbe gen_update' command from the 'elbe-buildenv' package) is placed in this
> + 'elbe gen_update' command from the 'python-elbe-buildenv' package) is placed in this
>   directory the update will be applied.
>   Downgrades are possible by the integrated SOAP interface.
> diff --git a/debian/elbe-common.lintian-overrides b/debian/elbe-common.lintian-overrides
> deleted file mode 100644
> index 8f16ce0f..00000000
> --- a/debian/elbe-common.lintian-overrides
> +++ /dev/null
> @@ -1,2 +0,0 @@
> -# documentation is provided in elbe-doc
> -elbe-common: binary-without-manpage usr/bin/elbe
> diff --git a/debian/elbe-schema.install b/debian/elbe-schema.install
> new file mode 100644
> index 00000000..7cb5f41f
> --- /dev/null
> +++ b/debian/elbe-schema.install
> @@ -0,0 +1 @@
> +schema/*xsd usr/share/xml/elbe-common/
> diff --git a/debian/elbe-common.xmlcatalogs b/debian/elbe-schema.xmlcatalogs
> similarity index 100%
> rename from debian/elbe-common.xmlcatalogs
> rename to debian/elbe-schema.xmlcatalogs
> diff --git a/debian/python-elbe-bin.install b/debian/python-elbe-bin.install
> new file mode 100644
> index 00000000..0afb26cf
> --- /dev/null
> +++ b/debian/python-elbe-bin.install
> @@ -0,0 +1,2 @@
> +./usr/bin/*
> +./usr/share/man/man1/elbe.1
> diff --git a/debian/python-elbe-bin.lintian-overrides b/debian/python-elbe-bin.lintian-overrides
> new file mode 100644
> index 00000000..b4d50058
> --- /dev/null
> +++ b/debian/python-elbe-bin.lintian-overrides
> @@ -0,0 +1,2 @@
> +# documentation is provided in elbe-doc
> +python-elbe-bin: binary-without-manpage usr/bin/elbe
> diff --git a/debian/elbe-buildenv.install b/debian/python-elbe-buildenv.install
> similarity index 100%
> rename from debian/elbe-buildenv.install
> rename to debian/python-elbe-buildenv.install
> diff --git a/debian/elbe-buildenv.postinst b/debian/python-elbe-buildenv.postinst
> similarity index 100%
> rename from debian/elbe-buildenv.postinst
> rename to debian/python-elbe-buildenv.postinst
> diff --git a/debian/elbe-common.install b/debian/python-elbe-common.install
> similarity index 95%
> rename from debian/elbe-common.install
> rename to debian/python-elbe-common.install
> index 6c137e06..00757619 100644
> --- a/debian/elbe-common.install
> +++ b/debian/python-elbe-common.install
> @@ -1,4 +1,3 @@
> -./usr/bin/*
>  ./usr/lib/python2.*/*-packages/elbepack/elbe-repo.pub
>  ./usr/lib/python2.*/*-packages/elbepack/init/default-init.xml
>  ./usr/lib/python2.*/*-packages/elbepack/init/Makefile.mako
> @@ -31,5 +30,3 @@
>  ./usr/lib/python2.*/*-packages/elbepack/version.py
>  ./usr/lib/python2.*/*-packages/elbepack/virtapt.py
>  ./usr/lib/python2.*/*-packages/elbepack/xmldefaults.py
> -./usr/share/man/man1/elbe.1
> -schema/*xsd	usr/share/xml/elbe-common/
> diff --git a/debian/elbe-control.install b/debian/python-elbe-control.install
> similarity index 100%
> rename from debian/elbe-control.install
> rename to debian/python-elbe-control.install
> diff --git a/debian/python3-elbe-buildenv.install b/debian/python3-elbe-buildenv.install
> new file mode 100644
> index 00000000..54f39ee5
> --- /dev/null
> +++ b/debian/python3-elbe-buildenv.install
> @@ -0,0 +1,29 @@
> +./usr/lib/python3.*/*-packages/elbepack/commands/adjustpkgs.py
> +./usr/lib/python3.*/*-packages/elbepack/commands/buildchroot.py
> +./usr/lib/python3.*/*-packages/elbepack/commands/buildsysroot.py
> +./usr/lib/python3.*/*-packages/elbepack/commands/chroot.py
> +./usr/lib/python3.*/*-packages/elbepack/commands/db.py
> +./usr/lib/python3.*/*-packages/elbepack/commands/genlicence.py
> +./usr/lib/python3.*/*-packages/elbepack/commands/gen_update.py
> +./usr/lib/python3.*/*-packages/elbepack/commands/hdimg.py
> +./usr/lib/python3.*/*-packages/elbepack/commands/mkcdrom.py
> +./usr/lib/python3.*/*-packages/elbepack/commands/toolchainextract.py
> +./usr/lib/python3.*/*-packages/elbepack/makofiles/preferences.mako
> +./usr/lib/python3.*/*-packages/elbepack/hdimg.py
> +./usr/lib/python3.*/*-packages/elbepack/db.py
> +./usr/lib/python3.*/*-packages/elbepack/dbaction.py
> +./usr/lib/python3.*/*-packages/elbepack/dump.py
> +./usr/lib/python3.*/*-packages/elbepack/ziparchives.py
> +./usr/lib/python3.*/*-packages/elbepack/repomanager.py
> +./usr/lib/python3.*/*-packages/elbepack/finetuning.py
> +./usr/lib/python3.*/*-packages/elbepack/rfs.py
> +./usr/lib/python3.*/*-packages/elbepack/aptpkgutils.py
> +./usr/lib/python3.*/*-packages/elbepack/asciidoclog.py
> +./usr/lib/python3.*/*-packages/elbepack/cdroms.py
> +./usr/lib/python3.*/*-packages/elbepack/debianreleases.py
> +./usr/lib/python3.*/*-packages/elbepack/debpkg.py
> +./usr/lib/python3.*/*-packages/elbepack/efilesystem.py
> +./usr/lib/python3.*/*-packages/elbepack/fstab.py
> +./usr/lib/python3.*/*-packages/elbepack/rpcaptcache.py
> +./usr/lib/python3.*/*-packages/elbepack/updatepkg.py
> +./usr/lib/python3.*/*-packages/elbepack/pbuilder.py
> diff --git a/debian/python3-elbe-buildenv.postinst b/debian/python3-elbe-buildenv.postinst
> new file mode 100644
> index 00000000..2a90a4a1
> --- /dev/null
> +++ b/debian/python3-elbe-buildenv.postinst
> @@ -0,0 +1,4 @@
> +#!/bin/bash
> +set -e
> +elbe db init --name=root --password=foo
> +#DEBHELPER#
> diff --git a/debian/python3-elbe-common.install b/debian/python3-elbe-common.install
> new file mode 100644
> index 00000000..1c94cd3b
> --- /dev/null
> +++ b/debian/python3-elbe-common.install
> @@ -0,0 +1,32 @@
> +./usr/lib/python3.*/*-packages/elbepack/elbe-repo.pub
> +./usr/lib/python3.*/*-packages/elbepack/init/default-init.xml
> +./usr/lib/python3.*/*-packages/elbepack/init/Makefile.mako
> +./usr/lib/python3.*/*-packages/elbepack/init/libvirt.xml.mako
> +./usr/lib/python3.*/*-packages/elbepack/init/apt.conf.mako
> +./usr/lib/python3.*/*-packages/elbepack/init/preseed.cfg.mako
> +./usr/lib/python3.*/*-packages/elbepack/init/init-elbe.sh.mako
> +./usr/lib/python3.*/*-packages/elbepack/__init__.py
> +./usr/lib/python3.*/*-packages/elbepack/commands/__init__.py
> +./usr/lib/python3.*/*-packages/elbepack/aptprogress.py
> +./usr/lib/python3.*/*-packages/elbepack/config.py
> +./usr/lib/python3.*/*-packages/elbepack/default-preseed.xml
> +./usr/lib/python3.*/*-packages/elbepack/directories.py
> +./usr/lib/python3.*/*-packages/elbepack/dosunix.py
> +./usr/lib/python3.*/*-packages/elbepack/elbexml.py
> +./usr/lib/python3.*/*-packages/elbepack/elbeproject.py
> +./usr/lib/python3.*/*-packages/elbepack/filesystem.py
> +./usr/lib/python3.*/*-packages/elbepack/gpg.py
> +./usr/lib/python3.*/*-packages/elbepack/initvmaction.py
> +./usr/lib/python3.*/*-packages/elbepack/kvm.py
> +./usr/lib/python3.*/*-packages/elbepack/licencexml.py
> +./usr/lib/python3.*/*-packages/elbepack/pbuilderaction.py
> +./usr/lib/python3.*/*-packages/elbepack/pkgutils.py
> +./usr/lib/python3.*/*-packages/elbepack/xmlpreprocess.py
> +./usr/lib/python3.*/*-packages/elbepack/shellhelper.py
> +./usr/lib/python3.*/*-packages/elbepack/templates.py
> +./usr/lib/python3.*/*-packages/elbepack/toolchain.py
> +./usr/lib/python3.*/*-packages/elbepack/treeutils.py
> +./usr/lib/python3.*/*-packages/elbepack/validate.py
> +./usr/lib/python3.*/*-packages/elbepack/version.py
> +./usr/lib/python3.*/*-packages/elbepack/virtapt.py
> +./usr/lib/python3.*/*-packages/elbepack/xmldefaults.py
> diff --git a/debian/python3-elbe-control.install b/debian/python3-elbe-control.install
> new file mode 100644
> index 00000000..965f2d4f
> --- /dev/null
> +++ b/debian/python3-elbe-control.install
> @@ -0,0 +1,5 @@
> +./usr/lib/python3.*/*-packages/elbepack/commands/control.py
> +./usr/lib/python3.*/*-packages/elbepack/commands/initvm.py
> +./usr/lib/python3.*/*-packages/elbepack/commands/pbuilder.py
> +./usr/lib/python3.*/*-packages/elbepack/commands/prjrepo.py
> +./usr/lib/python3.*/*-packages/elbepack/soapclient.py
> diff --git a/debian/rules b/debian/rules
> index 39160f30..cf2bcb12 100755
> --- a/debian/rules
> +++ b/debian/rules
> @@ -26,4 +26,4 @@ override_dh_install:
>  	dh_installxmlcatalogs
>  
>  %:
> -	dh --with systemd --buildsystem=python_distutils --with python2 $@
> +	dh $@ --with systemd --buildsystem=pybuild --with python2,python3
> diff --git a/elbepack/commands/adjustpkgs.py b/elbepack/commands/adjustpkgs.py
> index d21da1bd..f64715b1 100644
> --- a/elbepack/commands/adjustpkgs.py
> +++ b/elbepack/commands/adjustpkgs.py
> @@ -1,5 +1,3 @@
> -#!/usr/bin/env python
> -#
>  # ELBE - Debian Based Embedded Rootfilesystem Builder
>  # Copyright (C) 2013  Linutronix GmbH
>  #
> @@ -111,9 +109,9 @@ def run_command( argv ):
>      xml_pkglist = xml.node("/target/pkg-list")
>      xml_pkgs = [p.et.text for p in xml_pkglist]
>  
> -    mandatory_pkgs = ["elbe-buildenv"]
> +    mandatory_pkgs = ["python-elbe-buildenv"]
>      if xml.has("target/images/msdoshd/grub-install"):
> -        mandatory_pkgs = ["elbe-buildenv", "grub-pc"]
> +        mandatory_pkgs = ["python-elbe-buildenv", "grub-pc"]
>  
>      # TODO: install buildimage packages after target image generation
>      #         and remove theme before target image generation
> diff --git a/elbepack/init/preseed.cfg.mako b/elbepack/init/preseed.cfg.mako
> index 086ad849..196f1d42 100644
> --- a/elbepack/init/preseed.cfg.mako
> +++ b/elbepack/init/preseed.cfg.mako
> @@ -105,7 +105,7 @@ apt-mirror-setup apt-setup/use_mirror boolean false
>  d-i finish-install/reboot_in_progress note
>  d-i pkgsel/include string rng-tools btrfs-tools openssh-client \
>  debathena-transform-lighttpd \
> -elbe-soap elbe-buildenv qemu-elbe-user-static \
> +elbe-soap python-elbe-buildenv qemu-elbe-user-static \
>  % for n in pkgs:
>  % if n.tag == "pkg":
>  %   if prj.has("mirror/primary_host") or not prj.node("mirror/cdrom") or n.et.text.find('/') == -1:
> -- 
> 2.15.1
> 
> 
> _______________________________________________
> elbe-devel mailing list
> elbe-devel at linutronix.de
> https://lists.linutronix.de/mailman/listinfo/elbe-devel

-- 
Mit freundlichen Grüßen
Torben Hohn

Linutronix GmbH

Standort: Bremen

Phone: +49 7556 25 999 18; Fax.: +49 7556 25 999 99

Firmensitz / Registered Office: D-88690 Uhldingen, Bahnhofstr. 3
Registergericht / Local District Court: Amtsgericht Freiburg i. Br.; HRB
Nr. / Trade register no.: 700 806

Geschäftsführer / Managing Directors: Heinz Egger, Thomas Gleixner

Eine Bitte von uns: Sollten Sie diese E-Mail irrtümlich erhalten haben,
benachrichtigen Sie uns in diesem Falle bitte sobald wie es Ihnen
möglich ist, durch Antwort-Mail. Vielen Dank!
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 473 bytes
Desc: Digital signature
URL: <http://lists.linutronix.de/pipermail/elbe-devel/attachments/20171218/dfd61c3d/attachment.sig>


More information about the elbe-devel mailing list