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

Bug#983499: unblock: python3-defaults/3.9.2~rc1-1, python3.9/3.9.2~rc1-1



Package: release.debian.org
Severity: normal
User: release.debian.org@packages.debian.org
Usertags: unblock
X-Debbugs-Cc: doko@debian.org

Please unblock package python3-defaults and python3.9

Adding a new binary package, -full, to both source packages. Both are
currently in binNEW.

Sorry, should have probably filed this a couple of weeks ago. Once we
saw this coming.

[ Reason ]

The reason for this change is laid out in
https://lists.debian.org/debian-python/2021/02/msg00035.html

TL;DR: Debian heard of some upstream Python grumpyness about our
standard library splits, recently. This is all very badly timed for the
freeze.

Including a python3-full and python3.x-full packages, that Depends on
the entire stdlib, is a compromise position to help them to support
Python users on Debian (and derivative) platforms.
These packages would be dependency-only packages, and only directly
installed by end-users, not used as a dependency of other packages.

We intend to try to backport this to stable releases too.

[ Impact ]

Impact, if this isn't granted, is continuation of status-quo.
We'd probably attempt to add it in a point release.

[ Tests ]

Not relevant.

[ Risks ]

While the source packages at question are core to the system, this is
just the addition of leaf packages.

[ Checklist ]

unblock python3-defaults/3.9.2~rc1-1
unblock python3.9/3.9.2~rc1-1
diff --git a/.gitignore b/.gitignore
index 1f20116..0717416 100644
--- a/.gitignore
+++ b/.gitignore
@@ -22,6 +22,7 @@ debian/python3-dbg
 debian/python3-dev
 debian/python3-doc
 debian/python3-examples
+debian/python3-full
 debian/python3-minimal
 debian/python3-venv
 
diff --git a/debian/changelog b/debian/changelog
index 19ee73a..f360209 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,16 @@
+python3-defaults (3.9.2~rc1-1) experimental; urgency=medium
+
+  * Bump version to 3.9.2 rc1.
+
+  [ Stefano Rivera ]
+  * Improve package descriptions, describing venv, stdlib, and lib2to3 package
+    contents.
+
+  [ Matthias Klose ]
+  * Build a python3-full package.
+
+ -- Matthias Klose <doko@debian.org>  Thu, 18 Feb 2021 12:16:46 +0100
+
 python3-defaults (3.9.1-1) unstable; urgency=medium
 
   * Bump version to 3.9.1.
diff --git a/debian/control b/debian/control
index 59ed6f6..0087ed5 100644
--- a/debian/control
+++ b/debian/control
@@ -39,13 +39,19 @@ Architecture: any
 Multi-Arch: allowed
 Depends: python3.9-venv (>= 3.9.1-1~), python3 (= ${binary:Version}),
   python3-distutils (>= 3.9.1-1~), ${misc:Depends}
-Description: pyvenv-3 binary for python3 (default python3 version)
- Python, the high-level, interactive object oriented language,
- includes an extensive class library with lots of goodies for
- network programming, system administration, sounds and graphics.
+Description: venv module for python3 (default python3 version)
+ This package contains the venv module for the Python language (default python3
+ version).
+ .
+ The venv module provides support for creating lightweight "virtual
+ environments" with their own site directories, optionally isolated from system
+ site directories. Each virtual environment has its own Python binary (which
+ matches the version of the binary that was used to create this environment)
+ and can have its own independent set of installed Python packages in its site
+ directories.
  .
  This package is a dependency package, which depends on Debian's default
- Python 3 version (currently v3.9).
+ Python 3 version's venv module (currently v3.9).
 
 Package: python3-minimal
 Architecture: any
@@ -68,7 +74,7 @@ Description: examples for the Python language (default version)
  the upstream Python distribution.
  .
  This package is a dependency package, which depends on Debian's default
- Python 3 version (currently v3.9).
+ Python 3 version's examples (currently v3.9).
 
 Package: python3-dev
 Architecture: any
@@ -83,7 +89,7 @@ Description: header files and a static library for Python (default)
  in applications.
  .
  This package is a dependency package, which depends on Debian's default
- Python 3 version (currently v3.9).
+ Python 3 version's headers (currently v3.9).
 
 Package: libpython3-dev
 Architecture: any
@@ -98,19 +104,18 @@ Description: header files and a static library for Python (default)
  in applications.
  .
  This package is a dependency package, which depends on Debian's default
- Python 3 version (currently v3.9).
+ Python 3 version's headers (currently v3.9).
 
 Package: libpython3-stdlib
 Architecture: any
 Multi-Arch: same
 Depends: libpython3.9-stdlib (>= 3.9.1-1~), ${misc:Depends}
 Description: interactive high-level object-oriented language (default python3 version)
- Python, the high-level, interactive object oriented language,
- includes an extensive class library with lots of goodies for
- network programming, system administration, sounds and graphics.
+ This package contains the majority of the standard library for the Python
+ language (default python3 version).
  .
  This package is a dependency package, which depends on Debian's default
- Python 3 version (currently v3.9).
+ Python 3 version's standard library (currently v3.9).
 
 Package: idle
 Architecture: all
@@ -123,7 +128,7 @@ Description: IDE for Python using Tkinter (default version)
  IDLE is written using Tkinter and therefore quite platform-independent.
  .
  This package is a dependency package, which depends on Debian's default
- Python 3 version (currently v3.9).
+ Python 3 version's IDLE (currently v3.9).
 
 Package: idle3
 Architecture: all
@@ -156,7 +161,7 @@ Description: documentation for the high-level object-oriented language Python 3
    * Distributing Python Modules
  .
  This package is a dependency package, which depends on Debian's default
- Python 3 version (currently v3.9).
+ Python 3 version's documentation (currently v3.9).
 
 Package: python3-dbg
 Architecture: any
@@ -267,9 +272,43 @@ Depends: python3-lib2to3 (>= 3.9.1-1~), python3 (>= ${binary:Version}), ${misc:D
 Breaks: python (<< 2.7.14-4)
 Replaces: python (<< 2.7.14-4)
 Description: 2to3 binary using python3
+ 2to3 is a Python program that reads Python 2.x source code and applies a
+ series of fixers to transform it into valid Python 3.x code. The standard
+ library contains a rich set of fixers that will handle almost all code. 2to3
+ supporting library lib2to3 is, however, a flexible and generic library, so it
+ is possible to write your own fixers for 2to3. lib2to3 could also be adapted
+ to custom applications in which Python code needs to be edited automatically.
+ .
+ This package is a dependency package, which depends on Debian's default
+ Python 3 2to3 version (currently v3.9).
+
+Package: python3-full
+Architecture: any
+Multi-Arch: allowed
+Depends: python3 (= ${binary:Version}),
+  python3.9-full (>= 3.9.1-1~),
+  python3-venv (= ${binary:Version}),
+  2to3,
+  idle,
+  python3-distutils,
+  python3-gdbm,
+  python3-lib2to3,
+  python3-tk,
+  ${shlibs:Depends}, ${misc:Depends}
+Recommends: python3-doc, python3-examples,
+Suggests: python3-dev
+Description: Default Python Interpreter with complete class library
  Python, the high-level, interactive object oriented language,
  includes an extensive class library with lots of goodies for
  network programming, system administration, sounds and graphics.
  .
- This package is a dependency package, which depends on Debian's default
- Python 3 2to3 version (currently v3.9).
+ This package is a dependency package, which depends on the full
+ standard library of Python for Python developers. Including modules
+ used only at build-time, such as venv and distutils, and modules with
+ complex dependencies, such as tk and IDLE. All batteries included.
+ .
+ This package depends on Debian's default python 3 version's full
+ standard library (currently v3.9).
+ .
+ According to the Debian Python policy, this package must not be used in
+ build dependencies, dependencies and recommendations.
diff --git a/debian/control.in b/debian/control.in
index 0c39681..feff47c 100644
--- a/debian/control.in
+++ b/debian/control.in
@@ -39,13 +39,19 @@ Architecture: any
 Multi-Arch: allowed
 Depends: python@VER@-venv (>= @UPSTRVER@), python3 (= ${binary:Version}),
   python3-distutils (>= @STDLIBVER@), ${misc:Depends}
-Description: pyvenv-3 binary for python3 (default python3 version)
- Python, the high-level, interactive object oriented language,
- includes an extensive class library with lots of goodies for
- network programming, system administration, sounds and graphics.
+Description: venv module for python3 (default python3 version)
+ This package contains the venv module for the Python language (default python3
+ version).
+ .
+ The venv module provides support for creating lightweight "virtual
+ environments" with their own site directories, optionally isolated from system
+ site directories. Each virtual environment has its own Python binary (which
+ matches the version of the binary that was used to create this environment)
+ and can have its own independent set of installed Python packages in its site
+ directories.
  .
  This package is a dependency package, which depends on Debian's default
- Python 3 version (currently v@VER@).
+ Python 3 version's venv module (currently v@VER@).
 
 Package: python3-minimal
 Architecture: any
@@ -68,7 +74,7 @@ Description: examples for the Python language (default version)
  the upstream Python distribution.
  .
  This package is a dependency package, which depends on Debian's default
- Python 3 version (currently v@VER@).
+ Python 3 version's examples (currently v@VER@).
 
 Package: python3-dev
 Architecture: any
@@ -83,7 +89,7 @@ Description: header files and a static library for Python (default)
  in applications.
  .
  This package is a dependency package, which depends on Debian's default
- Python 3 version (currently v@VER@).
+ Python 3 version's headers (currently v@VER@).
 
 Package: libpython3-dev
 Architecture: any
@@ -98,19 +104,18 @@ Description: header files and a static library for Python (default)
  in applications.
  .
  This package is a dependency package, which depends on Debian's default
- Python 3 version (currently v@VER@).
+ Python 3 version's headers (currently v@VER@).
 
 Package: libpython3-stdlib
 Architecture: any
 Multi-Arch: same
 Depends: libpython@VER@-stdlib (>= @UPSTRVER@), ${misc:Depends}
 Description: interactive high-level object-oriented language (default python3 version)
- Python, the high-level, interactive object oriented language,
- includes an extensive class library with lots of goodies for
- network programming, system administration, sounds and graphics.
+ This package contains the majority of the standard library for the Python
+ language (default python3 version).
  .
  This package is a dependency package, which depends on Debian's default
- Python 3 version (currently v@VER@).
+ Python 3 version's standard library (currently v@VER@).
 
 Package: idle
 Architecture: all
@@ -123,7 +128,7 @@ Description: IDE for Python using Tkinter (default version)
  IDLE is written using Tkinter and therefore quite platform-independent.
  .
  This package is a dependency package, which depends on Debian's default
- Python 3 version (currently v@VER@).
+ Python 3 version's IDLE (currently v@VER@).
 
 Package: idle3
 Architecture: all
@@ -156,7 +161,7 @@ Description: documentation for the high-level object-oriented language Python 3
    * Distributing Python Modules
  .
  This package is a dependency package, which depends on Debian's default
- Python 3 version (currently v@VER@).
+ Python 3 version's documentation (currently v@VER@).
 
 Package: python3-dbg
 Architecture: any
@@ -267,9 +272,43 @@ Depends: python3-lib2to3 (>= @STDLIBVER@), python3 (>= ${binary:Version}), ${mis
 Breaks: python (<< 2.7.14-4)
 Replaces: python (<< 2.7.14-4)
 Description: 2to3 binary using python3
+ 2to3 is a Python program that reads Python 2.x source code and applies a
+ series of fixers to transform it into valid Python 3.x code. The standard
+ library contains a rich set of fixers that will handle almost all code. 2to3
+ supporting library lib2to3 is, however, a flexible and generic library, so it
+ is possible to write your own fixers for 2to3. lib2to3 could also be adapted
+ to custom applications in which Python code needs to be edited automatically.
+ .
+ This package is a dependency package, which depends on Debian's default
+ Python 3 2to3 version (currently v@VER@).
+
+Package: python3-full
+Architecture: any
+Multi-Arch: allowed
+Depends: python3 (= ${binary:Version}),
+  python3.9-full (>= @UPSTRVER@),
+  python3-venv (= ${binary:Version}),
+  2to3,
+  idle,
+  python3-distutils,
+  python3-gdbm,
+  python3-lib2to3,
+  python3-tk,
+  ${shlibs:Depends}, ${misc:Depends}
+Recommends: python3-doc, python3-examples,
+Suggests: python3-dev
+Description: Default Python Interpreter with complete class library
  Python, the high-level, interactive object oriented language,
  includes an extensive class library with lots of goodies for
  network programming, system administration, sounds and graphics.
  .
- This package is a dependency package, which depends on Debian's default
- Python 3 2to3 version (currently v@VER@).
+ This package is a dependency package, which depends on the full
+ standard library of Python for Python developers. Including modules
+ used only at build-time, such as venv and distutils, and modules with
+ complex dependencies, such as tk and IDLE. All batteries included.
+ .
+ This package depends on Debian's default python 3 version's full
+ standard library (currently v3.9).
+ .
+ According to the Debian Python policy, this package must not be used in
+ build dependencies, dependencies and recommendations.
diff --git a/debian/python-policy.dbk b/debian/python-policy.dbk
index 875b281..830f4bf 100644
--- a/debian/python-policy.dbk
+++ b/debian/python-policy.dbk
@@ -52,7 +52,7 @@
       </para></abstract>
 
       <copyright><year>1999</year> <year>2019</year><holder>Software in the Public Interest</holder></copyright>
-	<legalnotice>
+      <legalnotice>
 	<para>
 	  This manual is free software; you can redistribute it and/or
 	  modify it under the terms of the GNU General Public License
@@ -1195,8 +1195,8 @@ Build-Depends: python3-all-dev (&gt;= 3.2)
 	      versions then packages with multi-version support are binNMUed
 	      again to remove support for the old Python 3 version. This is
 	      not a true transition and only needs a tracker and binNMU
-	scheduling.
-	</para>
+	      scheduling.
+	    </para>
 	  </listitem>
 	</orderedlist>
       </para>
@@ -1210,4 +1210,4 @@ Build-Depends: python3-all-dev (&gt;= 3.2)
   fill-column: 76
   End:
 -->
-<!-- vim: set fenc=utf-8 ft=xml ai noet sts=2 sw=2 tw=76 : -->
+<!-- vim: set fenc=utf-8 ft=xml ai noet sts=2 sw=2 ts=8 tw=76 : -->
diff --git a/debian/rules b/debian/rules
index 7c4af0c..6bcc2e0 100755
--- a/debian/rules
+++ b/debian/rules
@@ -380,7 +380,7 @@ endif
 	dh_installdocs -a $(NOPKGS) --all debian/README.Debian
 	dh_installchangelogs -a $(NOPKGS)
 
-	for p in all all-dev all-dbg dbg dev venv; do \
+	for p in all all-dev all-dbg dbg dev venv full; do \
 	  case $$p in idle*) : ;; *) p=python3-$$p; esac; \
 	  rm -rf debian/$$p/usr/share/doc/$$p; \
 	  ln -sf python3 debian/$$p/usr/share/doc/$$p; \
 .gitignore                               |     1 +
 debian/PVER-minimal.postinst.in          |     4 +-
 debian/changelog                         |    14 +
 debian/control                           |    31 +-
 debian/control.in                        |    31 +-
 debian/patches/deb-setup.diff            |     4 +-
 debian/patches/disable-sem-check.diff    |     4 +-
 debian/patches/git-updates.diff          | 16865 -----------------------------
 debian/patches/link-opt.diff             |     4 +-
 debian/patches/local-doc-references.diff |     6 +-
 debian/patches/mpdecimal-2.5.1.diff      |    10 +-
 debian/patches/multiarch.diff            |     4 +-
 debian/patches/series                    |     2 +-
 debian/patches/sysconfigdata-name.diff   |     6 +-
 debian/rules                             |     4 +-
 15 files changed, 96 insertions(+), 16894 deletions(-)

Reply to: