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:
>>+DISTCHECK_CONFIGURE_FLAGS =
--with-ldb-lib-dir="$$dc_install_base"/lib/ldb \
>>+ --disable-dbus-tests \
>>+ --enable-all-experimental-features \
>>+ $(extra_distcheck_flags) \
>>+ $(EXTRA_DISTCHECK_CONFIGURE_FLAGS)
>The prefix "EXTRA_" has special meaning in automake.
> e.g. EXTRA_LTLIBRARIES, EXTRA_PROGRAMS, EXTRA_progname_SOURCES ...
>It would be better to avoid confusion and use different prefix.
> e.g. CUSTOM_DISTCHECK_CONFIGURE_FLAGS, MY_EXTRA_DISTCHECK_CONFIGURE_FLAGS
Ah, right, thank you. I'll name it "AUX_DISTCHECK_CONFIGURE_FLAGS", if you
don't mind.
"CUSTOM" would imply that the value is a replacement and "MY" is
unclear in
that regard, also raising the question "whose?".
As you want.
>>From cfe87bd3a6f0282eaeb04f313cde264a3794691b Mon Sep 17
00:00:00 2001
>>From: Nikolai Kondrashov <Nikolai.Kondrashov(a)redhat.com>
>>Date: Tue, 17 Jun 2014 11:58:26 +0300
>>Subject: [PATCH 2/3] build: Propagate CIFS plugin status to distcheck
>>
>>Add "--disable-cifs-idmap-plugin" to DISTCHECK_CONFIGURE_FLAGS, if
build
>>of CIFS plugin was disabled. This fixes distcheck on RHEL6.
>>---
>>Makefile.am | 4 ++++
>>1 file changed, 4 insertions(+)
>>
>>diff --git a/Makefile.am b/Makefile.am
>>index 25b8b96..0445f4a 100644
>>--- a/Makefile.am
>>+++ b/Makefile.am
>>@@ -7,6 +7,10 @@ if WITH_JOURNALD
>> extra_distcheck_flags += --with-syslog=journald
>>endif
>>
>>+if !BUILD_CIFS_IDMAP_PLUGIN
>>+ extra_distcheck_flags += --disable-cifs-idmap-plugin
>>+endif
>>+
>>DISTCHECK_CONFIGURE_FLAGS =
--with-ldb-lib-dir="$$dc_install_base"/lib/ldb \
>> --disable-dbus-tests \
>> --enable-all-experimental-features \
>>--
> 2) commit message doesn't corespond to patch.
> * BUILD_CIFS_IDMAP_PLUGIN is not related to RHEL6
Sorry, I can't see any evidence to the above. Do you mean that I should
explain how this fixes distcheck on RHEL6? Can you elaborate?
>It is possible to do it with the 1st patch
> "build: Switch back to DISTCHECK_CONFIGURE_FLAGS"
>
>export DISTRO_CONFIGURE_FLAGS=--disable-cifs-idmap-plugin
>./configure $DISTRO_CONFIGURE_FLAGS
>make distcheck V=0 EXTRA_DISTCHECK_CONFIGURE_FLAGS=$DISTRO_CONFIGURE_FLAGS
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.
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.
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.
../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. Distcheck use different
values anyway. For integration tests, sssd should be installed from rpms
on fedora/rhel. This is way how it is done in FreeIPA integration tests.
After 1st step.
../configure \
--build=x86_64-linux-gnu \
We don't use cross compilation.
Default value is good.
--disable-dependency-tracking \
--disable-rpath \
--disable-static \
These arguments are not necessary but can be used.
--host=x86_64-linux-gnu \
We don't use cross
compilation. Default value is good.
--prefix=/usr \
--exec-prefix=/usr \
--program-prefix= \
Situation with these 3 arguments is the same as
with other "*dir"
arguments. They will not influence current test.
--enable-ldb-version-check \
can be used.
--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 \
All previous arguments
can influence only integration tests.
--disable-cifs-idmap-plugin
must be used for
rhel6
After reduction.
> ../configure \
--disable-dependency-tracking \
--disable-rpath \
--disable-static \
--enable-ldb-version-check \
--disable-cifs-idmap-plugin
LS