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