[pkg-gnupg-maint] Python 2 in the default installation -- progress made!

Matthias Klose doko at debian.org
Fri Dec 30 05:52:37 UTC 2016


On 30.12.2016 05:41, Stuart Prescott wrote:
> 
> Hi everyone,
> 
> one of the objectives for stretch was to reduce the number of Python 2 
> packages that are installed in common scenarios, instead having the Python 3 
> stack take over. The "standard task" within tasksel is a reasonable place to 
> look.¹
> 
> Thanks to the recent work on reportbug and debianbts, this is now largely 
> complete.
> 
> In a stretch chroot, install the standard task:²
> 
> # aptitude install ~prequired ~pimportant ~pstandard
> 
> and the only python packages installed are:
> 
> # aptitude search ~npython~i
> i A dh-python
> i A libpython-stdlib
> i A libpython2.7
> i A libpython2.7-minimal
> i A libpython2.7-stdlib
> i A libpython3-stdlib
> i A libpython3.5-minimal
> i A libpython3.5-stdlib
> i   python
> i   python-apt
> i A python-apt-common
> i   python-gpg
> i   python-minimal
> i   python2.7
> i A python2.7-minimal
> i A python3
> i A python3-apt
> i A python3-chardet
> i A python3-debian
> i A python3-debianbts
> i   python3-gpg
> i A python3-httplib2
> i A python3-minimal
> i A python3-pkg-resources
> i A python3-pycurl
> i A python3-pysimplesoap
> i   python3-reportbug
> i A python3-requests
> i A python3-six
> i A python3-urllib3
> i A python3.5
> i A python3.5-minimal
> 
> where the packages marked "A" (Automatically Installed) are there to satisfy 
> dependencies only.
> 
> We see that:
> 
> python
> python-apt
> python-gpg
> python-minimal
> python2.7
> 
> are now only installed because they are marked as Priority: standard.
> 
> 
> Question for discussion: Is Python 2 a tool that would be expected to be found 
> on any linux machine and so should it be Priority: standard? Is Python 3? Is 
> now the time to ask ftp-masters to change the overrides to move them to 
> Priority: optional?

I think it's time to move these to optional, and bump the priority of the
equivalent python3 packages. Should be done in the packages as well.

> (My personal feeling is that none of the above packages should be Priority: 
> standard, including Python 3)

I don't know the rationale for having the apt and gpg bindings as Priority
standard, but if these can be made optional, then the depending packages can be
made optional as well.

> The libpython2.7* packages are present because:
> 
> i   logrotate Recommends mailx                
> i A mailutils Provides   mailx                
> i A mailutils Depends    libpython2.7 (>= 2.7)
> 
> I don't know if mailutils can already use Python 3 instead of Python 2 or how 
> it is actually using Python at all -- the build system will certainly need 
> some work. Perhaps a keen Python 3 porter can investigate that as an opening 
> move for stretch+1 (it's too late for stretch for that transition).

while the code has some comments about python 3.0 it fails in the configury and
later building the extensions, so apparently it's not used, and not tested with
recent python3 versions.  I filed #849721 for that.

Otoh, logrotate could explicitly recommend bsd-mailx | mailx to avoid that
dependency.

I would prefer having stretch shipping with only one Python version in the base
task.

Matthias




More information about the pkg-gnupg-maint mailing list