Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 25 Mar 2021 16:03:20 +0100
From:      Baptiste Daroussin <bapt@FreeBSD.org>
To:        Olivier Certner <olivier.freebsd@free.fr>
Cc:        freebsd-ports@freebsd.org
Subject:   Re: Python 2.7 removal outline
Message-ID:  <20210325150320.f74kx2uor4dwl5y5@aniel.nours.eu>
In-Reply-To: <10693816.1udYB6hd2u@ravel>
References:  <20210324130347.GA29020@freefall.freebsd.org> <10693816.1udYB6hd2u@ravel>

next in thread | previous in thread | raw e-mail | index | archive | help

--f7e6xagcrslxkxdu
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

On Thu, Mar 25, 2021 at 12:02:29PM +0100, Olivier Certner wrote:
> Hi,
>=20
> Maintainer of Tauthon here, and of Pale Moon (for the few hours it lived =
in=20
> the tree in February; but I'm still pushing updates to PR 251117).
>=20
> I find this announcement very much disappointing, because the situation f=
or=20
> ports that need Python 2.7 or similar to build doesn't seem to have chang=
ed at=20
> all. In short, we are just told (again) that they should disappear.
>=20
> But now we are told also that there are exceptions to the general rule. A=
nd=20
> even worse (or better, for the comical effect), that the Chromium excepti=
on is=20
> going to force its agenda on portmgr@, because nobody seems to really kno=
w=20
> when that migration will complete (having quickly studied how it worked o=
ut=20
> for Firefox, I'm willing to bet this will never happen before June, and l=
ikely=20
> will not before the end of this year either). "I love it when a plan come=
s=20
> together."
>=20
> I had hoped that portmgr@ would turn to me (and others in the same situat=
ion)=20
> with at least some way out to allow Pale Moon to go into the ports tree. =
In=20
> its mail, the closest thing I can find is this:
> > - you are of course free to provide your own version of Python 2.7, Tau=
thon
> >   and any application using those languages in your local setup, by usi=
ng
> >   overlays for example.
> So, if I understand correctly, in its great magnanimity, portmgr@ allows =
us to=20
> do what we want locally. Gosh! That's news. Didn't know I had been violat=
ing=20
> the law for the past 10 years by doing exactly that with my set of patche=
s to=20
> the ports tree (a long way before overlays even existed; that said, I thi=
nk=20
> overlays are helpful, more on that below).
>=20
> And there's more in the same "tone":
> > No excuses. * 3
> You probably were not addressing this to me in particular (at least I hop=
e).=20
> But just in case, did you mean: Excuses for not respecting a non-existing=
=20
> policy?
>=20
> In December last year, I submitted Tauthon with the goals to be able to u=
se it=20
> to build Pale Moon and help others that needed to run 2.7 code despite ph=
asing=20
> out of PSF's interpreter. It was pushed on 2020/12/11. I then submitted a=
n=20
> upstream-approved official version of Pale Moon port, that was pushed on=
=20
> 2021/02/15. It was removed less than 4 hours later, together with Tauthon=
, in=20
> "rage commit" 565350 by antoine@, without any public (or private to me)=
=20
> communication, before or after. Except for one thing: He responsed to my=
=20
> request for explanations by saying: "When we deprecate python 2.7, we als=
o=20
> deprecate all forks of python 2.7.".
>=20
> That also was news to me. Don't know how many ports would have to be remo=
ved=20
> if this rule was followed for all forks of now deprecated projects. I don=
't=20
> think there would be only a few of them. What about the fact that Tauthon=
 has=20
> lived 2 months in the tree up to the removal? What about that it was=20
> contributed through a public PR, linked to other Python-related PRs by so=
me=20
> committers? What about that nobody issued a public objection to its prese=
nce=20
> on said PR or on mailing lists? What about that it is still listed *today=
* on=20
> the wiki's WantedPorts page? Never had a single answer on all this. Surel=
y=20
> these must have been signs that what I was doing was very wrong indeed, a=
nd=20
> against a very clear and strong policy, which I should have understood by=
=20
> myself. Idiot me.
>=20
> I'm not going to repeat here the long mail I wrote in response to FUD bei=
ng=20
> spread about Pale Moon (and even Tauthon and Python 2.7 to some extent) b=
y=20
> rene@ and danfe@, and its excruciating details on how deluded they were=
=20
> (still are?). These mails were for committers only, and exchanged on=20
> 2021/02/2{1,2}.
>=20
> I'll just quickly point out the new FUD and inaccuracies, add some facts =
and=20
> opinions to the picture, and wrap up with two possible ways out.
>=20
> > Tauthon is not guaranteed to be compatible with any official
> >   Python version so keeping it would just unnecessarily complicate thin=
gs.
>=20
> mandree@ preceeded me, so not going to add much except that Tauthon in=20
> practice lives up to its promise (there are incompatibilities due to the=
=20
> introduction of some Python 3 features, but they are very minimal and har=
d to=20
> trigger; unfortunately for me, Pale Moon's weird build system, inherited =
=66rom=20
> Mozilla, triggered some).
>=20
> As to why it would complicate things, we are left with no clue, especiall=
y=20
> given that Tauthon is not hooked at all into python.mk and that no port=
=20
> currently depends on it (Pale Moon having been removed).
>=20
> > - On a related note, most software using Python 2.7 was already removed
> >   from the Ports Tree last year, a lot of it being unmaintained or
> >   more or less abandoned upstream.
>=20
> 1. Most is not all, unfortunately. What happens for the rest? Is "Well, l=
et's=20
> pretend it doesn't exist, and shut the contributors up." your response?=
=20
> Seriously?
> 2. Security is a non-issue for build-only dependencies.
>=20
> > - We are indeed faster with dropping Python 2.7 than e.g. Ubuntu, howev=
er
> >   more recent Debian/Ubuntu distributions are more and more dropping Py=
thon
> >   2.7 too. This also has to do with how their branching model works, the
> >   package set of Ubuntu LTS is determined a few months before the relea=
se
> >   itself.
>=20
> Debian is still tolerating Python 2.7 for build-only dependencies in bull=
seye,=20
> which is due to be released imminently, and will be supported until aroun=
d=20
> 2024. Ubuntu 20.04 LTS incorporates it, apparently without restrictions (=
I see=20
> a full suite of packages relying on 2.7 there), and this release will be=
=20
> supported until... April 2025. So, yes, faster by at least 2 years.
>=20
> Surely, we are not organized the same, and do not have the same manpower =
and/
> or money. However, their security teams do not seem to think that phasing=
 out=20
> CPython 2.7 right now is of uttermost importance. Some Debian links on th=
e=20
> topic:
> https://tracker.debian.org/pkg/python2.7
> https://wiki.debian.org/Python/2Removal
> I must point out that this last page, although listing interesting links,=
=20
> seems itself seriously outdated, as it is contradicted by facts (e.g., 2.=
7 is=20
> in bullseye, and it is indeed receiving security fixes, see the first lin=
k).=20
> It seems that they have changed their mind in light of needs and demands.=
 Food=20
> for thought for portmgr@?
>=20
> And again, there would be no hurry at all for build-only dependencies. Or=
 is=20
> there? May I ask on which ground exactly?
>=20
> > As can be seen on [2], multiple vulnerabilities already have
> > been fixed for Python 3.6 to 3.9 this year.
> > [2] https://www.python.org/downloads/release/python-392/
>=20
> I've started looking into these vulnerabilities. Most are simple to=20
> understand, and their patches even readily apply to Tauthon when relevant=
=2E=20
> Going to submit a bunch of them upstream. At least, this is possible with=
=20
> Tauthon, contrary to CPython 2.7.
>=20
> But in the end, I don't think this is really important for the dependent =
ports=20
> issue, since, again, we are talking about build-only dependencies on CPyt=
hon.
>=20
> That was just for the sake of re-establishing a more accurate balance of=
=20
> facts. Given the track record of recent reactions of portmgr@, I'm now no=
t=20
> foolish enough to believe that all that precedes is going to have any vis=
ible=20
> effect on them.
>=20
> Now, for the two possible ways out, I'm still having some hope (but frank=
ly=20
> not that much).
>=20
> 1. Add the infrastructure to have build-only dependencies. I've proposed=
=20
> changes to that end (https://reviews.freebsd.org/D28946). In addition to =
the=20
> comments in the review, bapt@ rightfully pointed out that 'make install' =
would=20
> still be possible to run for ports listed in NORUNTIME. I acknowledge tha=
t=20
> this is indeed a problem in the current problem, but think it could be so=
lved=20
> technically (e.g., forbidding 'make install' for those ports, but allowin=
g it=20
> when building a dependent port through an environment variable, and remov=
ing=20
> the install after the build). Which reinforces my thinking that the "prob=
lem",=20
> whatever that is, is not technical, but human. Overall, portmgr@ doesn't=
=20
> really seem to be interested in this solution (got short reactions such a=
s=20
> "with RESTRICTED, we don't need this", or "this would be a precedent", in=
deed=20
> a useful one if you're asking me).
>=20
> 2. Leverage overlays to provide additional repos, a bit like AUR for Arch=
=2E=20
> Here I'm in fact building on top of one of bapt@'s ideas. Sounds great fo=
r=20
> publishing ports that are not in the official tree. But not necessarily f=
or=20
> package building: I personally won't commit to maintaining a separate bui=
ld=20
> cluster for all arches and supported FreeBSD versions, in the short term =
at=20
> least.

I really think we should as a project move forward to that direction, it do=
es
not even need to be driven by protmgr or even drive by any @freebsd.org

I would argue here that it is even more interesting to go the gentoo way tr=
y to
provide a tool to just server as a directory of available overlays
with https://github.com/freebsd/poudriere/pull/798 and
https://github.com/freebsd/poudriere/pull/797 it is even easier to public a
light repo per overlay.
>=20
> I re-read portmgr@'s charter (https://www.freebsd.org/portmgr/charter/). =
I=20
> wish it contained points about proper planning, communication and helping=
=20
> maintainers and committers instead of destroying their work without notic=
e,=20
> even for "niche" ports. Perhaps it doesn't because this was implicit or t=
aken=20
> for granted. In which case, in light of recent events, it may be a good t=
ime=20
> to revise it.

I will only here answer about the quality of the communication of portmgr, =
yes
there is room of improvement in general in the current portmgr team as of h=
ow we
do communicate about plans and policy and we are working on it.

Best regards,
Bapt

--f7e6xagcrslxkxdu
Content-Type: application/pgp-signature; name="signature.asc"

-----BEGIN PGP SIGNATURE-----

iQIzBAABCAAdFiEEgOTj3suS2urGXVU3Y4mL3PG3PloFAmBcpjUACgkQY4mL3PG3
Plqmrg//XTkyosN/d4Y89RHrrqtZTl2T4t7suQvdH7xIYkHrE/OAFF28zQtX65xu
yWT6COpxp2E0KCq2DXLXMmuJfHAWcVxaISI4MOc3n3Ow6H7HlGOCpZTsLXpq7uYv
lza5OovH//rELv9btdgyItKJ+BM6P2s9/5uraN0F38bH++WvM/xp3/0lVmBxS2SB
uPO6f0fsKY2xPEpNg/YuowtVDooQQrNk606Bm81DCBe/EXKkjR6L54xb1GyJGTnt
Gcb+fNAOiOKws35E4l4tuiWupu6C17mrv5422sODrNyTdqNeaz5nvNd/b/eLO6kW
f7ky30Dvvs5MOE5cn0jGx6aLidWnoM5cIc575PTouk0UIK4LYOl5hm26chK4+v+c
YPzE4An5AOATGZ5r9dJw9NiSL2eZdhqmu8aZ69ehxj3v9arvcpNq2kgFv6j/HFY0
/Z3mzZidQyZWzX3rfjNoaBRAojl6tjL4tjv/xyBpiGrIrnPfF6+TNZuJRWhcLoqo
TyhCStGjeA5v1LCFHGOmw8XtrPEeTjh3X7Ry6nIBufh/2/X7dkgE4jl/64NrRQHs
/O39vZuyXU2RCMNreDE75sGEBYn6oITWt1Z1ncj7eR9ljsHOOzF+C44m//q0861t
Zg0bX+rjKWVmp8N1mCEA0ITrz5eBswnBmTp1xZdJe+FJHd1ZldI=
=DPqu
-----END PGP SIGNATURE-----

--f7e6xagcrslxkxdu--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20210325150320.f74kx2uor4dwl5y5>