You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@serf.apache.org by James McCoy <ja...@debian.org> on 2020/03/26 00:29:23 UTC

Re: [patch] Py3 compat for create_certs.py

On Sun, Dec 29, 2019 at 12:03:55AM +0100, Branko Čibej wrote:
> On 28.12.2019 17:49, James McCoy wrote:
> > On Wed, Dec 04, 2019 at 10:34:00PM -0500, James McCoy wrote:
> >> I use create_certs.py at build time in the Debian packaging to avoid
> >> dealing with expired certs.  Since Debian is in the process of trying to
> >> remove Python 2, I've updated the script to work with Python 3.
> >>
> >> It would also be useful if 1.4 were released, so I could switch to the
> >> CMake build.
> > These are both becoming more important issues.  As an alternative, is
> > current trunk in decent enough shape to be used, even without an
> > official release?
> >
> > I can also look into more of the Python3 issues (like SyntaxErrors in
> > SConstruct) if there's a desire to release another 1.3.x version (or to
> > carry the patches locally until a new release happens).
> 
> Sorry for not getting back to you sooner.

No worries.  I ended up with two patches.  One that I've applied to the
packaging of 1.3.9, since that was the immediate need.

The other is for trunk and only covers a couple of the helper scripts.
I got distracted by other priorities and didn't get around to finishing
the work, but it should at least be a starting point.

Cheers,
-- 
James
GPG Key: 4096R/91BF BF4D 6956 BD5D F7B7  2D23 DFE6 91AE 331B A3DB

Re: [patch] Py3 compat for create_certs.py

Posted by James McCoy <ja...@jamessan.com>.
On Tue, Mar 31, 2020 at 09:39:12AM -0400, Justin Erenkrantz wrote:
> In reviewing your Python 3.x patches, I noticed a change to build/gen_def.py ;
> in my local tests, it didn't seem to be required; plus, trunk/1.4.x has a
> slightly different patch.

The changes for gen_def.py in the 1.3.x patch I provided weren't
strictly necessary for Python 3, but it's better management of
resources (ensuring the fname filehandle gets closed).  Not a big deal
in this case, since it's a short-lived script but better practice in
general.

> I'm leaning towards just backporting the change
> below; but, it doesn't seem to make a material difference either way as far as
> I can tell.  Do you (or anyone else) have any additional backstory here as to
> why the change is required?

Based on r1699621, it looks like that was general cleanup so
extract_exports() didn't need to create a list that was going to be
turned into a set anyway -- just deal with a set from the start.

Cheers,
-- 
James
GPG Key: 4096R/91BF BF4D 6956 BD5D F7B7  2D23 DFE6 91AE 331B A3DB

Re: [patch] Py3 compat for create_certs.py

Posted by Justin Erenkrantz <ju...@erenkrantz.com>.
James,

Thanks.  I've backported the requisite changes to the 1.3.x branch to
support Python 3.x and scons - I tested on Ubuntu 18.04 and Debian Sid.
(Bert and Andreas had already reviewed those changes.)

In reviewing your Python 3.x patches, I noticed a change to
build/gen_def.py ; in my local tests, it didn't seem to be required; plus,
trunk/1.4.x has a slightly different patch.  I'm leaning towards just
backporting the change below; but, it doesn't seem to make a material
difference either way as far as I can tell.  Do you (or anyone else) have
any additional backstory here as to why the change is required?

I'll continue to do a sweep of the other pending changes and hope to cut a
1.3.10 release for review this week.

Cheers.  -- justin

Index: build/gen_def.py
===================================================================
--- build/gen_def.py    (revision 1875932)
+++ build/gen_def.py    (working copy)
@@ -53,11 +53,11 @@

 def extract_exports(fname):
   content = open(fname).read()
-  exports = [ ]
+  exports = set()
   for name in _funcs.findall(content):
-    exports.append(name)
+    exports.add(name)
   for name in _types.findall(content):
-    exports.append(name)
+    exports.add(name)
   return exports

 # Blacklist the serf v2 API for now


On Wed, Mar 25, 2020 at 8:29 PM James McCoy <ja...@debian.org> wrote:

> On Sun, Dec 29, 2019 at 12:03:55AM +0100, Branko Čibej wrote:
> > On 28.12.2019 17:49, James McCoy wrote:
> > > On Wed, Dec 04, 2019 at 10:34:00PM -0500, James McCoy wrote:
> > >> I use create_certs.py at build time in the Debian packaging to avoid
> > >> dealing with expired certs.  Since Debian is in the process of trying
> to
> > >> remove Python 2, I've updated the script to work with Python 3.
> > >>
> > >> It would also be useful if 1.4 were released, so I could switch to the
> > >> CMake build.
> > > These are both becoming more important issues.  As an alternative, is
> > > current trunk in decent enough shape to be used, even without an
> > > official release?
> > >
> > > I can also look into more of the Python3 issues (like SyntaxErrors in
> > > SConstruct) if there's a desire to release another 1.3.x version (or to
> > > carry the patches locally until a new release happens).
> >
> > Sorry for not getting back to you sooner.
>
> No worries.  I ended up with two patches.  One that I've applied to the
> packaging of 1.3.9, since that was the immediate need.
>
> The other is for trunk and only covers a couple of the helper scripts.
> I got distracted by other priorities and didn't get around to finishing
> the work, but it should at least be a starting point.
>
> Cheers,
> --
> James
> GPG Key: 4096R/91BF BF4D 6956 BD5D F7B7  2D23 DFE6 91AE 331B A3DB
>