./configure without python3?

Andrew Bartlett abartlet at samba.org
Tue Dec 11 18:46:45 UTC 2018


On Tue, 2018-12-11 at 20:20 +1100, Martin Schwenke wrote:
> On Tue, 11 Dec 2018 13:59:05 +1300, Andrew Bartlett
> <abartlet at samba.org> wrote:
> 
> > On Tue, 2018-12-11 at 10:47 +1100, Martin Schwenke via samba-technical
> > wrote:
> > > On Tue, 11 Dec 2018 12:17:16 +1300, Andrew Bartlett
> > > <abartlet at samba.org> wrote:
> > > 
> > > 
> > > I don't think my feelings come into it.  :-D
> > > 
> > > The build falls over by default on CentOS 7, RHEL 6, FreeBSD 11 and AIX
> > > 7.  We either save our (manual installing) users some pain and make it
> > > work if they don't have python3...  
> > 
> > Sure.  But please do remember that python2 support, except for the --
> > disable-python fileserver build, is going away after 4.10 branches. 
> 
> OK, so maybe I retreat and go along with the idea that this is expected
> behaviour.  I'm happy with that, as long as it is documented somewhere.

Thanks for the flexibility.  I think there is some advantage to this,
because users who can get python3 (by some means) will, and users who
can't (which thanks to RHEL is way to many!) will clearly know this is
their second-best option.  

This will avoid creating the expectation that python2 support will
continue forever (and so avoid boxing us in). 

> > > > My gut feeling is that we want the current behaviour.    
> > > 
> > > ... or we don't.  :-)
> > >   
> > > > However, the alternative would need us to have the ./configure script
> > > > rewrite the Makefile (eg an autoconf style Makefile.in -> Makefile) to
> > > > then run waf with the detected $PYTHON.
> > > > 
> > > > Not the end of the world of course, and if you would like us to go that
> > > > way perhaps you could create something that does that?  
> > > 
> > > I think the Makefile.in -> Makefile idea probably adds more fragility
> > > that we don't need... and it is quite a fundamental change that causes
> > > a lot of churn.
> > > 
> > > I like the suggestion I saw in another reply where someone suggested
> > > using buildtools/python.sh and have that script run the right
> > > version.  ;-)  
> > 
> > ENOPATCH?  
> 
> It's a substantial amount of work and I'd like to believe it is
> necessary before ending up knee deep in this stuff.  :-)
> 
> > As long as PYTHON becomes a python interpreter, and not the shell
> > script I suppose that might work, and assuming it runs identically
> > between the configure and make steps.
> 
> Well, I was going to set PYTHON to the script and have it exec the
> interpreter.

So, the challenge is that, if non-default, we write this interpreter
into the !# line of the installed python binaries.  

> > Finally, I think some work needs to be done on the interaction of this
> > as the SAMBA_CHECK_PYTHON code in buildtools/wafsamba/samba_python.py. 
> > Currently that looks for 'python' but is always being overridden by the
> > ./configure script, and then soon your configure-before-the-configure
> > script. 
> 
> OK, this is looking like too much work.

Yeah.

> Unless others complain that we're making things hard for users, I
> propose that we document this change in appropriate places, including
> WHATSNEW.txt and get on with life...  :-)

Thanks!

Andrew Bartlett

-- 
Andrew Bartlett                       http://samba.org/~abartlet/
Authentication Developer, Samba Team  http://samba.org
Samba Developer, Catalyst IT          http://catalyst.net.nz/services/samba





More information about the samba-technical mailing list