[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Python 2 in the default installation -- progress made!



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?

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


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).

cheers
Stuart



① The standard task contains packages you'd expect to find on a linux machine 
such as `less`; yes, it also includes a mail-transport-agent and it probably 
shouldn't; no, let's not discuss that now.

② Unlike other tasks, the standard task is not defined as a list of packages 
but as this aptitude search pattern to find all packages that declare Priority: 
required, important or standard; aptitude will also then install packages of 
lower priority to satisfy the dependencies.

-- 
Stuart Prescott    http://www.nanonanonano.net/   stuart@nanonanonano.net
Debian Developer   http://www.debian.org/         stuart@debian.org
GPG fingerprint    90E2 D2C1 AD14 6A1B 7EBB 891D BBC1 7EBB 1396 F2F7


Reply to: