On 11.10.2016 09:00, Jan Cholasta wrote:
> 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
>> If you do not care about implementation details, please be so kind and
>> scan through chapter
>> 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?
I think that it would be confusing if we had just
Besides that, I would make --with-default-python to accept either "2" or "3"
(and thus use path specified by --with-python? option).
> 2) There is --with-pylint, --with-jslint, but no --with-po-validate.
Let me clarify: I plan to use --with for things which have paths or other
parameters, --enable for booleans.
Where po-validate belongs? AFAIK target validate-po in install/po/Makefile is
calling script ../../ipatests/i18n.py which is in IPA source tree anyway.
Do you want to have a --enable/--disable switch for these PO checks?
> 3) I would prefer that if pylint (or jslint or python-polib) is not installed
> the build would fail instead of silently skipping the lint. Let it be a wilful
> decision of the packager whether to run the lint or not.
Yes, that is my intent. It will not skip anything automatically.
> 4) It is explicitly stated that I can turn off features using
> --without-feature. But how do I disable building server components?
I've added explicit mention of --disable-feature:
>> Also, I would appreciate ideas how to handle build versioning:
>> My main questions are:
>> * What is triggering IPA upgrade?
>> * Would it be sufficient to bump release in RPM? (I mean - theoretically.
>> Could the code be modified to detect this?)
>> Here I'm trying to avoid unnecessary rebuilds caused by changes to
>> IPA_VENDOR_VERSION during each build.
> How exactly is IPA_VENDOR_VERSION causing unnecessary rebuilds? I can see it
> is written only to ipapython/version.py:
> $ git grep -E '\bIPA_VENDOR_VERSION\b'
> Makefile: sed -i -e "s:__VENDOR_VERSION__:$(IPA_VENDOR_VERSION):"
My bad, I should write 'IPA*VERSION*'.
Especially unconditional write to version.m4 is problematic but unconditional
writes to other files slows things as well, just not that much.
Manage your subscription for the Freeipa-devel mailing list:
Contribute to FreeIPA: http://www.freeipa.org/page/Contribute/Code