missing support for python3.8 language features

Bug #1883175 reported by Ted Kern on 2020-06-11
18
This bug affects 2 people
Affects Status Importance Assigned to Milestone
pycodestyle (Ubuntu)
Low
Ted Kern
Focal
Low
Unassigned
pyflakes (Ubuntu)
Low
Ted Kern
Focal
Low
Unassigned
python-flake8 (Ubuntu)
Low
Ted Kern
Focal
Low
Unassigned

Bug Description

[Impact]

Python 3.8 language features include some syntax that python3-flake8 3.7.9-2 registers as an error.

flake8 3.8.x is now available, released after Focal. The minor version of flake8 matches the supported python version, so a release from the 3.8.x series should be ported to Focal.

This version bump requires dependency pycodestyle >= 2.6.0, which is where the bugfix occurs. The dependency pyflakes must also be updated.

[Test Case]

Create a file test.py
Use python3 language features, e.g.
```
while (a := float(input())) < 10 :
    print(f'{a=} is too much!')
print(f'{a=} works fine')
```
Run `python3 -m flake8 test.py`

Result:
"pyflakes" failed during execution due to "'FlakesChecker' object has no attribute 'NAMEDEXPR'"
Run flake8 with greater verbosity to see more details
test.py:1:9: E203 whitespace before ':'
test.py:1:10: E231 missing whitespace after ':'

`echo $?` shows a return value of 1

With the 3.8.3-1 version of the package proposed for Groovy (https://launchpad.net/ubuntu/+source/python-flake8/3.8.3-1) `test.py` produces no output and returns 0

[Regression Potential]

Potential is minimal as this is a minor version bump, which upstream defines as only offering additional, optional checks and not breaking backward compatibility. No reported breakages between 3.7.9 and 3.8.3 are shown in upstream issue tracker.

Any regressions would appear as unexpected errors emitted when running the linter on previously error-less, valid python code.

Upstream QA: https://flake8.pycqa.org/en/latest/internal/releases.html#process outlines the required tests a release must pass, all of which completed in https://gitlab.com/pycqa/flake8/-/pipelines/154124695

Ted Kern (arnatious) on 2020-07-01
description: updated
Ted Kern (arnatious) on 2020-07-01
description: updated
Ted Kern (arnatious) on 2020-07-01
description: updated

The attachment "python-flake8_3.8.3-1.debdiff" seems to be a debdiff. The ubuntu-sponsors team has been subscribed to the bug report so that they can review and hopefully sponsor the debdiff. If the attachment isn't a patch, please remove the "patch" flag from the attachment, remove the "patch" tag, and if you are member of the ~ubuntu-sponsors, unsubscribe the team.

[This is an automated message performed by a Launchpad user owned by ~brian-murray, for any issue please contact him.]

tags: added: patch
Mathew Hodson (mhodson) on 2020-07-02
tags: added: upgrade-software-version
Changed in pycodestyle (Ubuntu):
importance: Undecided → Low
Changed in pyflakes (Ubuntu):
importance: Undecided → Low
Changed in python-flake8 (Ubuntu):
importance: Undecided → Low
Launchpad Janitor (janitor) wrote :

Status changed to 'Confirmed' because the bug affects multiple users.

Changed in pycodestyle (Ubuntu):
status: New → Confirmed
Changed in pyflakes (Ubuntu):
status: New → Confirmed
Changed in python-flake8 (Ubuntu):
status: New → Confirmed
Matthias Klose (doko) wrote :

Sure, we can at least try to do that. pyflakes will trigger a lot of packages depending on pyflakes, so I think we get enough test coverage before we accept this package into -updates. Please make this bug report a proper SRU, and upload to package.

Ted Kern (arnatious) on 2020-07-08
description: updated
Marc Deslauriers (mdeslaur) wrote :

While full-version updates aren't usually appropriate for an SRU, I believe in this case it is the right approach.

ACK on the debdiffs in comments 3 to 5. I've uploaded them for processing by the SRU team once the packages have migrated from groovy-proposed into groovy.

Thanks!

Changed in pycodestyle (Ubuntu):
status: Confirmed → In Progress
Changed in pyflakes (Ubuntu):
status: Confirmed → In Progress
Changed in python-flake8 (Ubuntu):
status: Confirmed → In Progress
Brian Murray (brian-murray) wrote :

I'm setting this to Incomplete as the packages have *not* migrated out of groovy-proposed yet.

Changed in pycodestyle (Ubuntu Focal):
status: New → Incomplete
Changed in python-flake8 (Ubuntu Focal):
status: New → Incomplete
Changed in pyflakes (Ubuntu Focal):
status: New → Incomplete
Mathew Hodson (mhodson) on 2020-07-30
Changed in pycodestyle (Ubuntu Focal):
importance: Undecided → Low
Changed in pyflakes (Ubuntu Focal):
importance: Undecided → Low
Changed in python-flake8 (Ubuntu Focal):
importance: Undecided → Low

Hello Ted, or anyone else affected,

Accepted pyflakes into focal-proposed. The package will build now and be available at https://launchpad.net/ubuntu/+source/pyflakes/2.2.0-1~20.04.1 in a few hours, and then in the -proposed repository.

Please help us by testing this new package. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation on how to enable and use -proposed. Your feedback will aid us getting this update out to other Ubuntu users.

If this package fixes the bug for you, please add a comment to this bug, mentioning the version of the package you tested, what testing has been performed on the package and change the tag from verification-needed-focal to verification-done-focal. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-failed-focal. In either case, without details of your testing we will not be able to proceed.

Further information regarding the verification process can be found at https://wiki.ubuntu.com/QATeam/PerformingSRUVerification . Thank you in advance for helping!

N.B. The updated package will be released to -updates after the bug(s) fixed by this package have been verified and the package has been in -proposed for a minimum of 7 days.

Changed in pyflakes (Ubuntu Focal):
status: Incomplete → Fix Committed
tags: added: verification-needed verification-needed-focal
Chris Halse Rogers (raof) wrote :

Hello Ted, or anyone else affected,

Accepted pycodestyle into focal-proposed. The package will build now and be available at https://launchpad.net/ubuntu/+source/pycodestyle/2.6.0-1~20.04.1 in a few hours, and then in the -proposed repository.

Please help us by testing this new package. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation on how to enable and use -proposed. Your feedback will aid us getting this update out to other Ubuntu users.

If this package fixes the bug for you, please add a comment to this bug, mentioning the version of the package you tested, what testing has been performed on the package and change the tag from verification-needed-focal to verification-done-focal. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-failed-focal. In either case, without details of your testing we will not be able to proceed.

Further information regarding the verification process can be found at https://wiki.ubuntu.com/QATeam/PerformingSRUVerification . Thank you in advance for helping!

N.B. The updated package will be released to -updates after the bug(s) fixed by this package have been verified and the package has been in -proposed for a minimum of 7 days.

Changed in pycodestyle (Ubuntu Focal):
status: Incomplete → Fix Committed
Changed in python-flake8 (Ubuntu Focal):
status: Incomplete → Fix Committed
Chris Halse Rogers (raof) wrote :

Hello Ted, or anyone else affected,

Accepted python-flake8 into focal-proposed. The package will build now and be available at https://launchpad.net/ubuntu/+source/python-flake8/3.8.3-1~20.04.1 in a few hours, and then in the -proposed repository.

Please help us by testing this new package. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation on how to enable and use -proposed. Your feedback will aid us getting this update out to other Ubuntu users.

If this package fixes the bug for you, please add a comment to this bug, mentioning the version of the package you tested, what testing has been performed on the package and change the tag from verification-needed-focal to verification-done-focal. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-failed-focal. In either case, without details of your testing we will not be able to proceed.

Further information regarding the verification process can be found at https://wiki.ubuntu.com/QATeam/PerformingSRUVerification . Thank you in advance for helping!

N.B. The updated package will be released to -updates after the bug(s) fixed by this package have been verified and the package has been in -proposed for a minimum of 7 days.

Changed in pycodestyle (Ubuntu):
status: In Progress → Fix Released
Changed in pyflakes (Ubuntu):
status: In Progress → Fix Released
Changed in python-flake8 (Ubuntu):
status: In Progress → Fix Released
Chris Halse Rogers (raof) wrote :

Packages have all made it into groovy-release, marking those tasks as done and accepting the backports.

All autopkgtests for the newly accepted pycodestyle (2.6.0-1~20.04.1) for focal have finished running.
The following regressions have been reported in tests triggered by the package:

ubuntu-release-upgrader/1:20.04.23 (s390x, arm64, armhf, ppc64el, amd64)
budgie-extras/1.0.2-0ubuntu1 (i386, s390x, arm64, armhf, ppc64el, amd64)
update-manager/1:20.04.10.1 (s390x, arm64, armhf, ppc64el, amd64)

Please visit the excuses page listed below and investigate the failures, proceeding afterwards as per the StableReleaseUpdates policy regarding autopkgtest regressions [1].

https://people.canonical.com/~ubuntu-archive/proposed-migration/focal/update_excuses.html#pycodestyle

[1] https://wiki.ubuntu.com/StableReleaseUpdates#Autopkgtest_Regressions

Thank you!

All autopkgtests for the newly accepted pyflakes (2.2.0-1~20.04.1) for focal have finished running.
The following regressions have been reported in tests triggered by the package:

python-b2sdk/1.0.2-1 (armhf)
mu-editor/1.0.2+dfsg-4build1 (amd64)
update-manager/1:20.04.10.1 (armhf)

Please visit the excuses page listed below and investigate the failures, proceeding afterwards as per the StableReleaseUpdates policy regarding autopkgtest regressions [1].

https://people.canonical.com/~ubuntu-archive/proposed-migration/focal/update_excuses.html#pyflakes

[1] https://wiki.ubuntu.com/StableReleaseUpdates#Autopkgtest_Regressions

Thank you!

All autopkgtests for the newly accepted python-flake8 (3.8.3-1~20.04.1) for focal have finished running.
The following regressions have been reported in tests triggered by the package:

elpy/1.32.0-2 (amd64)

Please visit the excuses page listed below and investigate the failures, proceeding afterwards as per the StableReleaseUpdates policy regarding autopkgtest regressions [1].

https://people.canonical.com/~ubuntu-archive/proposed-migration/focal/update_excuses.html#python-flake8

[1] https://wiki.ubuntu.com/StableReleaseUpdates#Autopkgtest_Regressions

Thank you!

Chris Halse Rogers (raof) wrote :

Just to be clear: Ted and/or Marc, we need the autopkgtests fixed before accepting this into -updates. Could we please get a plan to do that? If we don't have a plan in a week or so (it doesn't need to be *done*, it just needs to be committed to) we'll need to remove these from -proposed to ensure that we don't accidentally block other updates.

Chris Halse Rogers (raof) wrote :

I've talked with Ted; he cannot currently commit time to fixing the autopkgtest regressions, so I've removed these packages from -proposed.

Changed in pycodestyle (Ubuntu Focal):
status: Fix Committed → Confirmed
Changed in pyflakes (Ubuntu Focal):
status: Fix Committed → Confirmed
Changed in python-flake8 (Ubuntu Focal):
status: Fix Committed → Confirmed

All autopkgtests for the newly accepted python-flake8 (3.8.3-1~20.04.1) for focal have finished running.
The following regressions have been reported in tests triggered by the package:

elpy/1.32.0-2 (amd64)

Please visit the excuses page listed below and investigate the failures, proceeding afterwards as per the StableReleaseUpdates policy regarding autopkgtest regressions [1].

https://people.canonical.com/~ubuntu-archive/proposed-migration/focal/update_excuses.html#python-flake8

[1] https://wiki.ubuntu.com/StableReleaseUpdates#Autopkgtest_Regressions

Thank you!

All autopkgtests for the newly accepted pyflakes (2.2.0-1~20.04.1) for focal have finished running.
The following regressions have been reported in tests triggered by the package:

python-b2sdk/1.0.2-1 (armhf)
mu-editor/1.0.2+dfsg-4build1 (amd64)
update-manager/1:20.04.10.1 (armhf)

Please visit the excuses page listed below and investigate the failures, proceeding afterwards as per the StableReleaseUpdates policy regarding autopkgtest regressions [1].

https://people.canonical.com/~ubuntu-archive/proposed-migration/focal/update_excuses.html#pyflakes

[1] https://wiki.ubuntu.com/StableReleaseUpdates#Autopkgtest_Regressions

Thank you!

All autopkgtests for the newly accepted pycodestyle (2.6.0-1~20.04.1) for focal have finished running.
The following regressions have been reported in tests triggered by the package:

update-manager/1:20.04.10.1 (amd64, armhf, arm64, s390x, ppc64el)
budgie-extras/1.0.2-0ubuntu1 (amd64, armhf, arm64, s390x, ppc64el, i386)
ubuntu-release-upgrader/1:20.04.23 (amd64, armhf, arm64, s390x, ppc64el)

Please visit the excuses page listed below and investigate the failures, proceeding afterwards as per the StableReleaseUpdates policy regarding autopkgtest regressions [1].

https://people.canonical.com/~ubuntu-archive/proposed-migration/focal/update_excuses.html#pycodestyle

[1] https://wiki.ubuntu.com/StableReleaseUpdates#Autopkgtest_Regressions

Thank you!

Ted Kern (arnatious) on 2020-09-01
Changed in python-flake8 (Ubuntu):
status: Fix Released → In Progress
Changed in pyflakes (Ubuntu):
status: Fix Released → In Progress
Changed in pycodestyle (Ubuntu):
status: Fix Released → In Progress
assignee: nobody → Ted Kern (arnatious)
Changed in pyflakes (Ubuntu):
assignee: nobody → Ted Kern (arnatious)
Changed in python-flake8 (Ubuntu):
assignee: nobody → Ted Kern (arnatious)
Mathew Hodson (mhodson) wrote :

The new packages were released in Groovy so I updated the status for those. The Focal tasks are still open because there wasn't an SRU.

Changed in python-flake8 (Ubuntu):
status: In Progress → Fix Released
Changed in pyflakes (Ubuntu):
status: In Progress → Fix Released
Changed in pycodestyle (Ubuntu):
status: In Progress → Fix Released
Steve Langasek (vorlon) wrote :

python-flake8 has been copied back to focal-proposed.

Changed in python-flake8 (Ubuntu Focal):
status: Confirmed → Fix Committed
Steve Langasek (vorlon) wrote :

pyflakes copied back to focal-proposed.

Changed in pyflakes (Ubuntu Focal):
status: Confirmed → Fix Committed
Steve Langasek (vorlon) wrote :

pycodestyle copied back to focal-proposed.

Changed in pycodestyle (Ubuntu Focal):
status: Confirmed → Fix Committed

All autopkgtests for the newly accepted pyflakes (2.2.0-1~20.04.1) for focal have finished running.
The following regressions have been reported in tests triggered by the package:

python-b2sdk/1.0.2-1 (armhf)
update-manager/1:20.04.10.1 (armhf)
mu-editor/1.0.2+dfsg-4build1 (amd64)

Please visit the excuses page listed below and investigate the failures, proceeding afterwards as per the StableReleaseUpdates policy regarding autopkgtest regressions [1].

https://people.canonical.com/~ubuntu-archive/proposed-migration/focal/update_excuses.html#pyflakes

[1] https://wiki.ubuntu.com/StableReleaseUpdates#Autopkgtest_Regressions

Thank you!

All autopkgtests for the newly accepted python-flake8 (3.8.3-1~20.04.1) for focal have finished running.
The following regressions have been reported in tests triggered by the package:

elpy/1.32.0-2 (amd64)

Please visit the excuses page listed below and investigate the failures, proceeding afterwards as per the StableReleaseUpdates policy regarding autopkgtest regressions [1].

https://people.canonical.com/~ubuntu-archive/proposed-migration/focal/update_excuses.html#python-flake8

[1] https://wiki.ubuntu.com/StableReleaseUpdates#Autopkgtest_Regressions

Thank you!

All autopkgtests for the newly accepted pycodestyle (2.6.0-1~20.04.1) for focal have finished running.
The following regressions have been reported in tests triggered by the package:

budgie-extras/1.0.2-0ubuntu1 (arm64, amd64, armhf, i386, ppc64el, s390x)
update-manager/1:20.04.10.1 (arm64, amd64, armhf, ppc64el, s390x)
ubuntu-release-upgrader/1:20.04.23 (arm64, amd64, armhf, ppc64el, s390x)

Please visit the excuses page listed below and investigate the failures, proceeding afterwards as per the StableReleaseUpdates policy regarding autopkgtest regressions [1].

https://people.canonical.com/~ubuntu-archive/proposed-migration/focal/update_excuses.html#pycodestyle

[1] https://wiki.ubuntu.com/StableReleaseUpdates#Autopkgtest_Regressions

Thank you!

Ted Kern (arnatious) wrote :
Ted Kern (arnatious) wrote :
Ted Kern (arnatious) wrote :
Ted Kern (arnatious) wrote :

New patches posted with correctly formatted changelog.

Failures:
budgie-extras/1.0.2-0ubuntu1 (arm64, amd64, armhf, i386, ppc64el, s390x)
update-manager/1:20.04.10.1 (arm64, amd64, armhf, ppc64el, s390x)
ubuntu-release-upgrader/1:20.04.23 (arm64, amd64, armhf, ppc64el, s390x)

Are all related to code style errors caught by the updated linter. These are not regressions.

Failures:
python-b2sdk/1.0.2-1 (armhf)
update-manager/1:20.04.10.1 (armhf)
mu-editor/1.0.2+dfsg-4build1 (amd64)

python-b2sdk failure is due to a segfault after its test suite has completed, not related to this update
update-manager is again the same style error as above
mu-editor appears to be a timeout, likely a transient failure

Failures:
elpy/1.32.0-2 (amd64)

Are transient (timeout in profiling), a manual re-run succeeded https://autopkgtest.ubuntu.com/packages/e/elpy/focal/amd64

Marc Deslauriers (mdeslaur) wrote :

The debdiffs in comments 31, 32, and 33 are equivalent to what is currently in focal-proposed, and do not need uploading. The changelog was fixed before the original debdiffs were uploaded.

To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers