[Freeipa-devel] Build system refactoring - design document

Alexander Bokovoy abokovoy at redhat.com
Tue Oct 11 08:21:40 UTC 2016


On ti, 11 loka 2016, Petr Spacek wrote:
>On 11.10.2016 10:04, Jan Cholasta wrote:
>> On 11.10.2016 09:36, Petr Spacek wrote:
>>> On 11.10.2016 09:00, Jan Cholasta wrote:
>>>> Hi,
>>>>
>>>> On 7.10.2016 11:56, Petr Spacek wrote:
>>>>> Dear FreeIPA developers and packagers,
>>>>>
>>>>> you can find first version of the Build system refactoring design document
>>>>> on:
>>>>> http://www.freeipa.org/page/V4/Build_system_refactoring
>>>>>
>>>>> If you do not care about implementation details, please be so kind and
>>>>> quickly
>>>>> scan through chapter
>>>>> http://www.freeipa.org/page/V4/Build_system_refactoring#Feature_Management
>>>>>
>>>>> I'm not an FreeIPA packager so I might miss some important thing which needs
>>>>> to be configurable.
>>>>
>>>> 1) There should be a --with-python switch to select the version of Python to
>>>> use in our command line tools and/or during build. The default would be
>>>> "python", i.e. the default Python interpreter found in the path.
>>>
>>> Okay. Can we pick some descriptive name?
>>>
>>> --with-default-python
>>> or
>>> --with-<something-else>-python?
>>>
>>> I think that it would be confusing if we had just
>>> --with-python
>>> --with-python2
>>> --with-python3
>>
>> If the default values are "python", "python2", "python3" respectively, I don't
>
>These need to be full paths. I hope that some autoconf detection logic will
>help with autodetection.
>
>
>> think it would be confusing, since most of the time you only need to specify
>> --with-python, if anything.
>
>Okay, let me be explicit: It *is* confusing for me. Would you be okay with
>--with-default-python ?
>
>
>> Do we even need --with-python2 and --with-python3? I think they would only
>> make sense if you had multiple Python minor versions installed and wanted to
>> make packages for all of them.
>
>AFAIK autoconf-style is to provide these for options where path to external
>binary is needed. I would like to keep these conventions to avoid NIH syndrome
>in the new build system.
>
>Also, --without-python2/--without-python3 is needed anyway to disable this
>part of build on systems without Python X version. I want to keep this
>explicit (as with any other optional part of the build).
Why so complex? Allow --with-python to be specified multiple times and
enable all python versions that resolve through --with-python specified executables:

  --with-python=/bin/python2 --with-python=/bin/python3

would enable both Python 2 and Python 3. Specifying none will enable
default version found on the system. Specifying one will enable
explicitly only one.


-- 
/ Alexander Bokovoy




More information about the Freeipa-devel mailing list