Re: port lang/python27 does not build in 14.0-CURRENT w/ poudriere

2023-08-11 Thread Tomoaki AOKI
Resent. Not yet sent from ML but later one was sent.
Adding @freebsd.org address of Enji, as gmail does not accept mails
from dec.sakura.ne.jp, which has neither DKIM functionality nor SPF
record.

On Thu, 10 Aug 2023 16:32:32 -0700
Enji Cooper  wrote:

> > On Aug 10, 2023, at 4:00 PM, Tomoaki AOKI  wrote:
> > 
> > On Thu, 10 Aug 2023 18:09:54 -0400
> > Charlie Li  wrote:
> > 
> >> Enji Cooper wrote:
> >>> Hmm… All lang/python27 requiring ports should be marked BROKEN and
> >>> removed — upstream stopped supporting 2.7 3.5 years ago (04/01/2020) :/.
> >> We can't entirely do that yet. Unfortunately, moinmoin, original mailman
> >> and the CSM for UEFI-EDK2 (used in bhyve) still staunchly require this.
> >> It was the case that Chrom{e,ium} and qt-webengine still had Python 2
> >> build bits but they've since migrated off.
> >> 
> >> --
> >> Charlie Li
> >> …nope, still don't have an exit line.
> > 
> > Can lang/tauthon used instead of lang/python27?
> > It's a fork of python27 and maintained (slowly) like [1].
> 
> Lang/tauthon probably could be used instead.

Even if original upstream is abandoned, maintained fork would better be
allowed. If tauthon can be considered "well maintained", consumers of
python27 which is enough compatible with tauthon can switch to tauthon
and un-deprecated.


> > I don't use python nor tauthon directly, though.
> > I dislike languages killing backward compatibility... :-(
> > 
> > I love C as even recent llvm/clang has an ability to compile K
> > codes, if proper options are set. This is how ALL computer languages
> > SHALL BE.
> 
> The problem that python2 -> python3 was trying to solve was multifold: there 
> were a variety of issues with the language, as defined in python2, which made 
> the syntax changes going from 2 to 3 necessary.
> 
> That being said, the whole “python2 is going away in 2020” was advertised 
> well in advance (several years). If projects hadn’t done the work of getting 
> off python2 by 2020, it’s their fault in not prioritizing that effort.
> 
> The problem with packages like MoinMoin, etc, is that unless they’re 
> completely isolated (vendor and provide all of their dependencies), they are 
> likely developing pieces of software on vulnerable versions of third-party 
> packages since many packages started yanking python2 support in the past 
> couple years. Yanking python2 support allows third-party projects to be 
> developed with more modern syntax niceties like the walrus operator, type 
> hints, asyncio, etc. It’s not logical for pieces of software to not improve.
> 
> Python is not C or Perl; the transition from 2 to 3 was particularly painful, 
> but the changes were based on development that was over a decade in the 
> making.

If I'm the project owner of python, I would have been decided to
abandon python and switch to different name because of backward
incompatibility. But unfortunately, they didn't do so.

If the software itself runs on python, I think you're completely right.
It should be rewritten.

But for softwares which uses python only on build time, staying on
python27 should be allowed.
In small projects, if the person who built the building environment
retired from the project and noone else can understand / maintain the
build system, the only selection is "stay there until someone who can
construct new build environment pops in". This could happen here and
there, unfortunately.

For example,

 *Consider python27 and required py-* as bootstrapping tool.
 *Build python27 and required py-* everytime the port is built
  and cleanup afterwards, INSIDE PORTS WORKDIR.
 *python27 and required py-* are listed in distinfo of each port which
  requires python27 on build time only.

would allow lang/python27 to be deleted, if possible.


> 
> Cheers,
> -Enji


-- 
Tomoaki AOKI



Re: port lang/python27 does not build in 14.0-CURRENT w/ poudriere

2023-08-10 Thread Tomoaki AOKI
On Thu, 10 Aug 2023 18:09:54 -0400
Charlie Li  wrote:

> Enji Cooper wrote:
> > Hmm… All lang/python27 requiring ports should be marked BROKEN and 
> > removed — upstream stopped supporting 2.7 3.5 years ago (04/01/2020) :/.
> We can't entirely do that yet. Unfortunately, moinmoin, original mailman 
> and the CSM for UEFI-EDK2 (used in bhyve) still staunchly require this. 
> It was the case that Chrom{e,ium} and qt-webengine still had Python 2 
> build bits but they've since migrated off.
> 
> -- 
> Charlie Li
> …nope, still don't have an exit line.

Can lang/tauthon used instead of lang/python27?
It's a fork of python27 and maintained (slowly) like [1].

I don't use python nor tauthon directly, though.
I dislike languages killing backward compatibility... :-(

I love C as even recent llvm/clang has an ability to compile K
codes, if proper options are set. This is how ALL computer languages
SHALL BE.

[1]
https://github.com/naftaliharris/tauthon/commit/52473e14e93366e02cf0b63b4c7fd952420e5ee3


-- 
Tomoaki AOKI



Re: port lang/python27 does not build in 14.0-CURRENT w/ poudriere

2023-08-10 Thread Charlie Li

Enji Cooper wrote:
Hmm… All lang/python27 requiring ports should be marked BROKEN and 
removed — upstream stopped supporting 2.7 3.5 years ago (04/01/2020) :/.
We can't entirely do that yet. Unfortunately, moinmoin, original mailman 
and the CSM for UEFI-EDK2 (used in bhyve) still staunchly require this. 
It was the case that Chrom{e,ium} and qt-webengine still had Python 2 
build bits but they've since migrated off.


--
Charlie Li
…nope, still don't have an exit line.



OpenPGP_signature
Description: OpenPGP digital signature


Re: port lang/python27 does not build in 14.0-CURRENT w/ poudriere

2023-08-10 Thread Enji Cooper

> On Aug 10, 2023, at 2:56 PM, Matthias Apitz  wrote:

…

> Don't know if I can answer your questions. I'm building ports with
> poudriere and lang/python27 is pulled in from some other ports. The port
> lang/python27 itself is not on my list for poudriere:
> 
> # grep python /usr/local/etc/poudriere-list
> databases/postgresql13-plpython
> lang/python3

Hmm… All lang/python27 requiring ports should be marked BROKEN and removed — 
upstream stopped supporting 2.7 3.5 years ago (04/01/2020) :/.
Cheers,
-Enji


signature.asc
Description: Message signed with OpenPGP


Re: port lang/python27 does not build in 14.0-CURRENT w/ poudriere

2023-08-10 Thread Matthias Apitz
El día jueves, agosto 10, 2023 a las 01:46:56p. m. -0700, Enji Cooper escribió:

> 
> > On Aug 10, 2023, at 2:38 AM, Matthias Apitz  wrote:
> > 
> > El día Wednesday, August 09, 2023 a las 06:04:16PM +0200, Moin Rahman 
> > escribió:
> > 
> >> This perfectly builds on the latest HEAD without any problem as shared in 
> >> my build log. I am not sure what is wrong at your end. Neither can I see 
> >> any fallout on the clusters.
> > 
> > I've cc'ed freebsd-current@
> > 
> > I did two times the building of lang/python27 within poudriere on
> > 14.0-CURRENT:
> > 
> > =>> Building lang/python27
> > build started at Tue Aug  8 04:05:20 CEST 2023
> > port directory: /usr/ports/lang/python27=>> Building lang/python27
> > 
> > =>> Building lang/python27
> > build started at Thu Aug 10 06:33:53 CEST 2023
> > port directory: /usr/ports/lang/python27
> > 
> > The first failed, the one of today went fine. The main difference in the
> > building log is:
> > 
> > failing job:
> > --MAKE_ENV--
> > OPENSSLBASE=/usr/local OPENSSLDIR=/usr/local/openssl 
> > OPENSSLINC=/usr/local/include OPENSSLLIB=/usr/local/lib 
> > OPENSSLRPATH=/usr/local/lib
> > 
> > fine job:
> > --MAKE_ENV--
> > OPENSSLBASE=/usr OPENSSLDIR=/etc/ssl OPENSSLINC=/usr/include 
> > OPENSSLLIB=/usr/lib
> > ...
> > 
> > I didn't changed anything in the poudriere config or port's options. The
> > only thing I did between was yesterday evening a 'git pull' in
> > /usr/ports.
> > 
> > What could have triggered this change of the used SSL version?
> 
> 1. lang/python27 is no longer supported upstream.
> 2. lang/python27’s modules and compatible third-party packages won’t work 
> with OpenSSL 3; they depend on OpenSSL 1.x specific symbols/APIs.
> 
> If you want to make lang/python27 work with OpenSSL 3, you’re going to port 
> the modules to OpenSSL 3
> 
> My question is: why are you doing this, given that it’s no longer receiving 
> upstream updates (functional or security)?

Don't know if I can answer your questions. I'm building ports with
poudriere and lang/python27 is pulled in from some other ports. The port
lang/python27 itself is not on my list for poudriere:

# grep python /usr/local/etc/poudriere-list
databases/postgresql13-plpython
lang/python3

matthias

-- 
Matthias Apitz, ✉ g...@unixarea.de, http://www.unixarea.de/ +49-176-38902045
Public GnuPG key: http://www.unixarea.de/key.pub



Re: port lang/python27 does not build in 14.0-CURRENT w/ poudriere

2023-08-10 Thread Enji Cooper

> On Aug 10, 2023, at 2:38 AM, Matthias Apitz  wrote:
> 
> El día Wednesday, August 09, 2023 a las 06:04:16PM +0200, Moin Rahman 
> escribió:
> 
>> This perfectly builds on the latest HEAD without any problem as shared in my 
>> build log. I am not sure what is wrong at your end. Neither can I see any 
>> fallout on the clusters.
> 
> I've cc'ed freebsd-current@
> 
> I did two times the building of lang/python27 within poudriere on
> 14.0-CURRENT:
> 
> =>> Building lang/python27
> build started at Tue Aug  8 04:05:20 CEST 2023
> port directory: /usr/ports/lang/python27=>> Building lang/python27
> 
> =>> Building lang/python27
> build started at Thu Aug 10 06:33:53 CEST 2023
> port directory: /usr/ports/lang/python27
> 
> The first failed, the one of today went fine. The main difference in the
> building log is:
> 
> failing job:
> --MAKE_ENV--
> OPENSSLBASE=/usr/local OPENSSLDIR=/usr/local/openssl 
> OPENSSLINC=/usr/local/include OPENSSLLIB=/usr/local/lib 
> OPENSSLRPATH=/usr/local/lib
> 
> fine job:
> --MAKE_ENV--
> OPENSSLBASE=/usr OPENSSLDIR=/etc/ssl OPENSSLINC=/usr/include 
> OPENSSLLIB=/usr/lib
> ...
> 
> I didn't changed anything in the poudriere config or port's options. The
> only thing I did between was yesterday evening a 'git pull' in
> /usr/ports.
> 
> What could have triggered this change of the used SSL version?

1. lang/python27 is no longer supported upstream.
2. lang/python27’s modules and compatible third-party packages won’t work with 
OpenSSL 3; they depend on OpenSSL 1.x specific symbols/APIs.

If you want to make lang/python27 work with OpenSSL 3, you’re going to port the 
modules to OpenSSL 3

My question is: why are you doing this, given that it’s no longer receiving 
upstream updates (functional or security)?

Cheers,
-Enji

PS IIRC, there were lang/python27 forks out there that might be used as 
inspiration for the OpenSSL 3 uplift, but again… I don’t understand why effort 
is being spent making the two (Python 2 and OpenSSL 3) work.


signature.asc
Description: Message signed with OpenPGP


Re: port lang/python27 does not build in 14.0-CURRENT w/ poudriere

2023-08-10 Thread Matthias Apitz
El día jueves, agosto 10, 2023 a las 09:50:31 +, Alastair Hogge escribió:

> On 2023-08-10 17:38, Matthias Apitz wrote:
> > El día Wednesday, August 09, 2023 a las 06:04:16PM +0200, Moin Rahman 
> > escribió:
> > 
> >> This perfectly builds on the latest HEAD without any problem as shared in 
> >> my build log. I am not sure what is wrong at your end. Neither can I see 
> >> any fallout on the clusters.
> >> 
> > 
> > I've cc'ed freebsd-current@
> > 
> > I did two times the building of lang/python27 within poudriere on
> > 14.0-CURRENT:
> > 
> > =>> Building lang/python27
> > build started at Tue Aug  8 04:05:20 CEST 2023
> > port directory: /usr/ports/lang/python27=>> Building lang/python27
> > 
> > =>> Building lang/python27
> > build started at Thu Aug 10 06:33:53 CEST 2023
> > port directory: /usr/ports/lang/python27
> > 
> > The first failed, the one of today went fine. The main difference in the
> > building log is:
> > 
> > failing job:
> > --MAKE_ENV--
> > OPENSSLBASE=/usr/local OPENSSLDIR=/usr/local/openssl 
> > OPENSSLINC=/usr/local/include OPENSSLLIB=/usr/local/lib 
> > OPENSSLRPATH=/usr/local/lib
> > 
> > fine job:
> > --MAKE_ENV--
> > OPENSSLBASE=/usr OPENSSLDIR=/etc/ssl OPENSSLINC=/usr/include 
> > OPENSSLLIB=/usr/lib
> > ...
> > 
> > I didn't changed anything in the poudriere config or port's options. The
> > only thing I did between was yesterday evening a 'git pull' in
> > /usr/ports.
> > 
> > What could have triggered this change of the used SSL version?
> 
> Do you have the error from the failed build? I have the following patch
> in my tree to get Python-2.7 to build, tho I have not tested recently if
> it is still required:

The log of the failing job is here:

http://www.unixarea.de/python27-2.7.18_2.log

It has exactly the issue which your patch addresses: with OpenSSL from
ports it can't build the shared object _hashlib.so.

I can live with this for now (as the package was built now). But I
wanted to understand, why and what was the change between August 8 and
10.

matthias

-- 
Matthias Apitz, ✉ g...@unixarea.de, http://www.unixarea.de/ +49-176-38902045
Public GnuPG key: http://www.unixarea.de/key.pub



Re: port lang/python27 does not build in 14.0-CURRENT w/ poudriere

2023-08-10 Thread Alastair Hogge
On 2023-08-10 17:38, Matthias Apitz wrote:
> El día Wednesday, August 09, 2023 a las 06:04:16PM +0200, Moin Rahman 
> escribió:
> 
>> This perfectly builds on the latest HEAD without any problem as shared in my 
>> build log. I am not sure what is wrong at your end. Neither can I see any 
>> fallout on the clusters.
>> 
> 
> I've cc'ed freebsd-current@
> 
> I did two times the building of lang/python27 within poudriere on
> 14.0-CURRENT:
> 
> =>> Building lang/python27
> build started at Tue Aug  8 04:05:20 CEST 2023
> port directory: /usr/ports/lang/python27=>> Building lang/python27
> 
> =>> Building lang/python27
> build started at Thu Aug 10 06:33:53 CEST 2023
> port directory: /usr/ports/lang/python27
> 
> The first failed, the one of today went fine. The main difference in the
> building log is:
> 
> failing job:
> --MAKE_ENV--
> OPENSSLBASE=/usr/local OPENSSLDIR=/usr/local/openssl 
> OPENSSLINC=/usr/local/include OPENSSLLIB=/usr/local/lib 
> OPENSSLRPATH=/usr/local/lib
> 
> fine job:
> --MAKE_ENV--
> OPENSSLBASE=/usr OPENSSLDIR=/etc/ssl OPENSSLINC=/usr/include 
> OPENSSLLIB=/usr/lib
> ...
> 
> I didn't changed anything in the poudriere config or port's options. The
> only thing I did between was yesterday evening a 'git pull' in
> /usr/ports.
> 
> What could have triggered this change of the used SSL version?

Do you have the error from the failed build? I have the following patch
in my tree to get Python-2.7 to build, tho I have not tested recently if
it is still required:

diff --git a/lang/python27/pkg-plist b/lang/python27/pkg-plist
index 4d8dc5b06c81..a92192e6c9d6 100644
--- a/lang/python27/pkg-plist
+++ b/lang/python27/pkg-plist
@@ -1908,7 +1908,6 @@ lib/python2.7/lib-dynload/_curses.so
 lib/python2.7/lib-dynload/_curses_panel.so
 lib/python2.7/lib-dynload/_elementtree.so
 lib/python2.7/lib-dynload/_functools.so
-lib/python2.7/lib-dynload/_hashlib.so
 lib/python2.7/lib-dynload/_heapq.so
 lib/python2.7/lib-dynload/_hotshot.so
 lib/python2.7/lib-dynload/_io.so

There was some heavy OpenSSL work recently, and it maybe possible there
is some fallout still from that?

--
To health and anarchy,
Alastair



Re: port lang/python27 does not build in 14.0-CURRENT w/ poudriere

2023-08-10 Thread Matthias Apitz
El día Wednesday, August 09, 2023 a las 06:04:16PM +0200, Moin Rahman escribió:

> This perfectly builds on the latest HEAD without any problem as shared in my 
> build log. I am not sure what is wrong at your end. Neither can I see any 
> fallout on the clusters.
> 

I've cc'ed freebsd-current@

I did two times the building of lang/python27 within poudriere on
14.0-CURRENT:

=>> Building lang/python27
build started at Tue Aug  8 04:05:20 CEST 2023
port directory: /usr/ports/lang/python27=>> Building lang/python27

=>> Building lang/python27
build started at Thu Aug 10 06:33:53 CEST 2023
port directory: /usr/ports/lang/python27

The first failed, the one of today went fine. The main difference in the
building log is:

failing job:
--MAKE_ENV--
OPENSSLBASE=/usr/local OPENSSLDIR=/usr/local/openssl 
OPENSSLINC=/usr/local/include OPENSSLLIB=/usr/local/lib 
OPENSSLRPATH=/usr/local/lib

fine job:
--MAKE_ENV--
OPENSSLBASE=/usr OPENSSLDIR=/etc/ssl OPENSSLINC=/usr/include OPENSSLLIB=/usr/lib
...

I didn't changed anything in the poudriere config or port's options. The
only thing I did between was yesterday evening a 'git pull' in
/usr/ports.

What could have triggered this change of the used SSL version?

matthias

-- 
Matthias Apitz, ✉ g...@unixarea.de, http://www.unixarea.de/ +49-176-38902045
Public GnuPG key: http://www.unixarea.de/key.pub