Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Updating Flask to 3.x?

6 views
Skip to first unread message

Carsten Schoenert

unread,
Dec 17, 2023, 4:10:04 AM12/17/23
to
Hi,

the Flask team released Flask and the depending package Werkzeug 3.0.0
on 2023-09-30.

Since Thomas Goirand did the last update of Flask to 2.2.x nearly one
year ago in preparation for the Bookworm release I've talked with Thomas
recently about updating Flask and depending packages again so we can get
Flask 3.x into the archive.
Thomas pointed out he will not have time to work on Flask 3 and some
depending packages in the near future.

I usual try to keep an eye on some Flask related packages as we use them
on my day job. A few of them have now RC issues and are already kicked
out of testing. Solving these bug reports are now mostly depending on a
newer Flask version or at least it would be more useful to move over to
a recent Flask version.

Given we are now short before the X-mas days and I will have some more
time to look at some packages I'm willing to push things further.

I've started on Flask and werkzeug packages yesterday and basically
there are no big issues to get these packages updated.
If no objections are raised I intend to upload recent versions of
python-flask and python-werkzeug to experimental next week.

Once happen we will see through

https://qa.debian.org/excuses.php?experimental=1&package=python-werkzeug
https://qa.debian.org/excuses.php?experimental=1&package=flask

which packages would prevent a migration later due build or test failures.

Following a simple list of reverse deps for the resulting binary
packages. Any help, suggestion or useful hint in maintaining this Flask
update is really appreciated!

@Thomas
Do you agree on my plan? Or do you have reasons to wait a bit more with
uploading Flask and Werkzeug to experimental?

> $ LANG= apt rdepends python3-flask python3-werkzeug
> python3-flask
> Reverse Depends:
> Depends: python3-flask-api (>= 0.12.3)
> Depends: mu-editor (>= 1.0.2)
> Depends: python3-etesync-dav
> Depends: voltron
> Depends: supysonic (>= 0.11)
> Recommends: snakemake
> Depends: python3-sahara (>= 2.1.2)
> Depends: recon-ng
> Suggests: python3-livereload
> Depends: python3-flask-sockets
> Depends: python3-flask-seeder (>= 1.0.2)
> Depends: python3-flask-marshmallow
> Depends: python3-python-flask-jwt-extended (>= 2.0)
> Depends: python3-python-flask-jwt-extended (<< 4.0)
> Depends: python3-flask-httpauth
> Depends: python3-flask-cors (>= 0.9)
> Depends: python3-flasgger (>= 0.10)
> Depends: python3-pytest-flask
> Depends: python3-trove (>= 2.2.3)
> Depends: python-openslide-examples
> Depends: openlp
> Depends: onionshare-cli (<< 3.0.0)
> Depends: onionshare-cli (>= 2.0.0)
> Depends: mkchromecast
> Depends: mitmproxy (>= 1.1.1)
> Depends: python3-locust (>= 2.0.0)
> Depends: lektor
> Depends: python3-klaus
> Depends: python3-keystone
> Depends: json-schema-test-suite
> Depends: python3-ironic-inspector (>= 1.1.0)
> Depends: python3-impacket
> Depends: python3-httpbin
> Depends: gftools
> Depends: python3-flaskext.wtf
> Depends: python3-flask-sqlalchemy (>= 2.2)
> Depends: python3-flask-socketio (>= 0.9)
> Depends: python3-flask-session
> Depends: python3-flask-restful (>= 0.8)
> Depends: python3-flask-principal
> Depends: python3-flask-peewee
> Depends: python3-flask-paranoid (>= 0.10)
> Depends: python3-flask-paginate
> Depends: python3-flask-openid (>= 0.10.1)
> Depends: python3-flaskext.multistatic
> Depends: python3-flask-mongoengine (>= 1.1.2)
> Depends: python3-flask-migrate (>= 0.9)
> Depends: python3-flask-mail
> Depends: python3-flask-login (>= 1.0.4)
> Depends: python3-flask-limiter (>= 2)
> Depends: python3-flask-ldapconn (>= 0.12)
> Depends: python3-flask-jwt-simple
> Depends: python3-flask-htmlmin
> Depends: python3-flask-flatpages (>= 0.8)
> Depends: python3-flask-dance (>= 2.0.3)
> Depends: python3-flask-compress
> Depends: python3-flask-caching
> Depends: python3-flask-bcrypt
> Depends: python3-flask-basicauth
> Depends: python3-flask-babelex
> Depends: python3-flask-babel (>= 2.0)
> Depends: python3-cloudkitty (>= 2.0.0)
> Recommends: python-flask-doc
> Suggests: dnstwist
> Depends: python3-designate
> Depends: comitup
> Depends: a2d
> Depends: ceph-iscsi
> Depends: python3-flask-bootstrap
> Depends: python3-biomaj3-user
> Depends: python3-biomaj3-process
> Depends: python3-biomaj3-download
> Depends: python3-biomaj3-daemon
> Depends: bepasty
> Suggests: beets
> python3-werkzeug
> Reverse Depends:
> Depends: python3-quart (>= 2.2.0~)
> Depends: python3-mediagoblin
> Depends: ceph-mgr-dashboard
> Depends: ceph-mgr
> Depends: python3-vitrage
> Depends: tryton-server
> Depends: tryton-modules-web-shortener
> Depends: tryton-modules-web-shop-vue-storefront
> Depends: tryton-modules-timesheet
> Depends: tryton-modules-marketing-automation
> Depends: tryton-modules-account-payment-stripe
> Depends: tryton-modules-account-payment-braintree
> Depends: python3-pytest-localserver (>= 0.10)
> Depends: python3-pywps
> Depends: python3-python-flask-jwt-extended
> Suggests: python3-django-extensions
> Depends: python3-flask (>= 2.2.2)
> Depends: python3-pytest-httpserver
> Depends: python3-pytest-flask
> Depends: prewikka
> Depends: onionshare-cli
> Depends: onionshare
> Depends: odoo-16
> Depends: python3-magnum
> Depends: python3-locust
> Depends: lektor (<< 3)
> Depends: python3-klaus
> Depends: python3-httpbin
> Depends: python3-gnocchi
> Depends: python3-flask-peewee
> Depends: python3-flask-login
> Depends: python3-flask-dance
> Depends: python3-aodh
> Depends: ceph-mgr-dashboard
> Depends: ceph-mgr
> Depends: python3-ceilometer

---
Regards
Carsten

Michael Kesper

unread,
Dec 18, 2023, 7:20:05 AM12/18/23
to
Hi Carsten,

Am 17.12.23 um 10:06 schrieb Carsten Schoenert:
> Hi,
>
> the Flask team released Flask and the depending package Werkzeug 3.0.0
> on 2023-09-30.
>
> Since Thomas Goirand did the last update of Flask to 2.2.x nearly one
> year ago in preparation for the Bookworm release I've talked with Thomas
> recently about updating Flask and depending packages again so we can get
> Flask 3.x into the archive.
> Thomas pointed out he will not have time to work on Flask 3 and some
> depending packages in the near future.
>
> I usual try to keep an eye on some Flask related packages as we use them
> on my day job. A few of them have now RC issues and are already kicked
> out of testing. Solving these bug reports are now mostly depending on a
> newer Flask version or at least it would be more useful to move over to
> a recent Flask version.

Sure, broken packages are no good for anybody.

...

> Following a simple list of reverse deps for the resulting binary
> packages. Any help, suggestion or useful hint in maintaining this Flask
> update is really appreciated!

Feel free to contact me if you need help!

Best
Michael

Carsten Schoenert

unread,
Dec 26, 2023, 9:30:05 AM12/26/23
to
Hello Michael, hello list,

Am 18.12.23 um 12:54 schrieb Michael Kesper:
>> Following a simple list of reverse deps for the resulting binary
>> packages. Any help, suggestion or useful hint in maintaining this Flask
>> update is really appreciated!
>
> Feel free to contact me if you need help!

I've uploaded first python-werkzeug

https://qa.debian.org/excuses.php?experimental=1&package=python-werkzeug

and a day later flask with a newer version >= 3.0.0.

https://qa.debian.org/excuses.php?experimental=1&package=flask

I focused the past days within my free time to fix issues related to
python-werkzeug. Some of the packages a I touched had also impact to the
broken QA packages in the flask package.

So far it looks not that bad, currently there are three packages left
for python-werkzeug.

flask-dance
For this package I wasn't able to fix the broken CI tests, fixing the
broken import which is shown on the QA output is mostly easy, but
afterwards there are some more other broken tests that will require some
help by upstream. Raising a issue within the GitHub issue tracker is
still needed. For now I postponed this, if someone wants to take action
on this please go ahead.

onionshare
open3d
These packages have currently no version in testing for some time. Both
will also require help from upstream I guess.

pytest-httpbin
Should be obsolete soon, I uploaded a newer version to unstable that
will fix the broken tests.

The amount of broken packages due the flask 3.0.0 upload is a bit
greater and I haven't looked much at these packages yet. My guess is
that most of these packages can be "fixed" by preparing uploads with
newer versions.

--
Regards
Carsten

Carsten Schoenert

unread,
Jan 23, 2024, 2:20:04 PM1/23/24
to
Hi,

Am 26.12.23 um 15:24 schrieb Carsten Schoenert:
I wanted to give a update on the current state.

Since my last email about this topic a lot fixes and uploading of
packages did happen by various people and contributors, thank you all
for working on the build or test issues!

For now it's look quite good to me. There are currently three packages
left that showing build or test issues while package build. The details
can be found on the URLS from my previous email.^^^

python-werkzeug triggers (still) a autopkgtest failure for onionshare.

flask is provoking autopkgtest failure for ironic-inspector[2] and
bepasty [3].
bepasty is fixed upstream and will get fixed in Debian once the newer
version (not yet released) will enter Debian.

So we mainly have basically two packages left, I might will find some
time and look again into onionshare.
ironic-inspector is maintained by the Openstack maintainers and I'm not
familiar enough to check if a newer version would fix the current test
issues.


[1] https://ci.debian.net/packages/o/onionshare/unstable/amd64/41943542/
[2]
https://ci.debian.net/packages/i/ironic-inspector/unstable/amd64/41962520/
[3] https://ci.debian.net/packages/b/bepasty/unstable/amd64/41942909/

--
Regards
Carsten

Elena ``of Valhalla'' Grandi

unread,
Jan 24, 2024, 4:20:04 AM1/24/24
to
On 2024-01-23 at 20:14:07 +0100, Carsten Schoenert wrote:
> flask is provoking autopkgtest failure for ironic-inspector[2] and bepasty
> [3].
> bepasty is fixed upstream and will get fixed in Debian once the newer
> version (not yet released) will enter Debian.

I just wanted to add that for bepasty I was waiting a few days in case
upstream did a release soon, but if it's needed I can also upload a new
package with just the patch (and possibly a few other unrelated
improvements, if I get the time to work on them, so it may happen even
if it's not strictly needed).

thanks for your work on this!

--
Elena ``of Valhalla''
signature.asc

Carsten Schoenert

unread,
Feb 4, 2024, 7:50:05 AM2/4/24
to
Hello Hefee, hello list,

Am 24.01.24 um 22:46 schrieb Hefee:

> Me as maintainer of onionshare got notice about this discussion here by a
> sidechannel. It would have made things a lot easier to me to spot the issue
> that onionshare is not ready for flask 3.x, if you had open a bugreport against
> onionshare in December.

no worries, at that time at least I was focusing on the rather easier
things for me to fix and did chose to work on packages which were rather
easier to fix for me.

Thanks for your time and energy fixing the onionshare package, that
makes currently one package left that is not ready for Flask 3.0.

The current outstanding package is ironic-inspector which is marked due
other reason for auto removal from testing on 29th February.

Based on the current situation I plan now to upload Werkzeug und Flask
3.x in about a week to unstable.

--
Regards
Carsten

Carsten Schoenert

unread,
Feb 12, 2024, 2:20:04 AM2/12/24
to
Hi,

Am 04.02.24 um 13:46 schrieb Carsten Schoenert:

> Based on the current situation I plan now to upload Werkzeug und Flask
> 3.x in about a week to unstable.

the upload of Werkzeug and Flask to unstable did happen on Friday and
Saturday last week. Things went smooth without hick-ups so far. Thanks
again all involved Contributors to make this happen!

https://tracker.debian.org/pkg/python-werkzeug
https://tracker.debian.org/pkg/flask

@Hefee
Could you please prepare a upload of onionshare to unstable the next
days? At this time onionshare in testing will prevent python3-flask from
migrating to testing.

--
Regards
Carsten
0 new messages