[SSSD] [PATCHES] RHEL6 build fixes

Nikolai Kondrashov Nikolai.Kondrashov at redhat.com
Wed Jun 18 11:00:58 UTC 2014


On 06/18/2014 01:39 PM, Lukas Slebodnik wrote:
> On (17/06/14 18:50), Nikolai Kondrashov wrote:
>> On 06/17/2014 05:23 PM, Lukas Slebodnik wrote:
>>> On (17/06/14 15:09), Nikolai Kondrashov wrote:
>> I would like to avoid that, if possible, as it would complicate the CI script.
> I will give you some hints how to simplify invovcation of configure in CI in
> another place of this mail.

Thank you. Although, that wouldn't help the distcheck target, unfortunately.

>> Can we avoid this problem altogether by simply ignoring the fact that the CIFS
>> plugin cannot be built and disabling it, if it wasn't explicitly enabled with
>> --enable-cifs-idmap-plugin?
>>
>> Like this:
>>
>> Options      | Plugin can be built | Outcome
>> -------------+---------------------+----------
>> none         | yes                 | built
>> none         | no                  | not built
>> --disable... | yes                 | not built
>> --disable... | no                  | not built
>> --enable...  | yes                 | built
>> --enable...  | no                  | error
> This would mean 3 state logic(yes, no, autodetect) in autoconf macro
> AC_ARG_ENABLE for cifs-idmap-plugin with default value autodetect.
> It is much more complicated solution than modification of CI script.

Perhaps. It wouldn't be a problem, if such configure behavior was desirable,
but...

> It has another disadvantage for package maintainer. They needn't notice new
> feature in sssd, because new dependency will not be installed and sssd will be
> build without this feature due to "autodetect" in configure script.

...I agree, there might be some value in such behavior to maintainers, even
though it goes against the recommendations of automake authors, which say
configure should be executable without options.

I'll think how to handle this more gracefully in CI.

>>     ../configure \
>>         --build=x86_64-linux-gnu \
>>         --datadir=/usr/share \
>>         --disable-dependency-tracking \
>>         --disable-rpath \
>>         --disable-static \
>>         --host=x86_64-linux-gnu \
>>         --includedir=/usr/include \
>>         --infodir=/usr/share/info \
>>         --localstatedir=/var \
>>         --mandir=/usr/share/man \
>>         --prefix=/usr \
>>         --sysconfdir=/etc \
>>         --bindir=/usr/bin \
>>         --enable-ldb-version-check \
>>         --enable-nsslibdir=//lib64 \
>>         --enable-pammoddir=//lib64/security \
>>         --exec-prefix=/usr \
>>         --libdir=/usr/lib64 \
>>         --libexecdir=/usr/libexec \
>>         --program-prefix= \
>>         --sbindir=/usr/sbin \
>>         --sharedstatedir=/var/lib \
>>         --with-db-path=/var/lib/sss/db \
>>         --with-init-dir=/etc/rc.d/init.d \
>>         --with-krb5-rcache-dir=/var/cache/krb5rcache \
>>         --with-mcache-path=/var/lib/sss/mc \
>>         --with-pipe-path=/var/lib/sss/pipes \
>>         --with-pubconf-path=/var/lib/sss/pubconf \
>>         --disable-cifs-idmap-plugin \
>>         --with-initscript=sysv
> All configure options endig with dir can be removed. They will not influence
> building, unit tests, valgrind test, code coverage.

Sure. I've just taken these from the spec file, IIRC, to be safe and not
wishing to investigate their full effects, deciding to rely on others to
correct me. I'll gladly remove unnecessary options.

Though, some of these are substituted into src/config/SSSDConfig/__init__.py
(which seems to be tested), so, strictly speaking, tests could be affected by
values of *dir options.

> After reduction.
>>     ../configure \
>>         --disable-dependency-tracking \
>>         --disable-rpath \
>>         --disable-static \
>>         --enable-ldb-version-check \
>>         --disable-cifs-idmap-plugin

Thank you, this is much better.

Nick



More information about the sssd-devel mailing list