From 4ebfc00c460c08a0fd3eb5d609bdf0c1ec123ea4 Mon Sep 17 00:00:00 2001 From: Lukas Slebodnik Date: Feb 01 2020 17:37:02 +0000 Subject: [PATCH 1/2] CONFIGURE: Fix detection of samba version for idmap plugin The parameter -e is not standard parameter for echo builtin. And therefore needn't be implemented in some shells. e.g. sh$ /bin/dash -c 'echo -e "#include \nSAMBA_VERSION_MAJOR"' -e #include SAMBA_VERSION_MAJOR And it caused failures in configure checking Samba's idmap plugin interface version... idmap test result is: 6 configure: Samba's idmap interface version: 6 configure: Samba version: -e #include SAMBA_VERSION_MAJOR -e #include SAMBA_VERSION_MINOR -e #include SAMBA_VERSION_RELEASE /home/build/sssd/configure: 21832: test: #include: unexpected operator configure: Samba's struct idmap_domain does not have dom_sid member Merges: https://pagure.io/SSSD/sssd/pull-request/4153 --- diff --git a/src/external/samba.m4 b/src/external/samba.m4 index 65947fa..7faebd6 100644 --- a/src/external/samba.m4 +++ b/src/external/samba.m4 @@ -122,9 +122,9 @@ int main(void) AC_DEFINE_UNQUOTED(SMB_IDMAP_INTERFACE_VERSION, $idmap_version, [Detected version of Samba's idmap plugin interface]) - samba_major_version=`echo -e '#include \nSAMBA_VERSION_MAJOR' | $CPP $SMBCLIENT_CFLAGS -P -` - samba_minor_version=`echo -e '#include \nSAMBA_VERSION_MINOR' | $CPP $SMBCLIENT_CFLAGS -P -` - samba_release_version=`echo -e '#include \nSAMBA_VERSION_RELEASE' | $CPP $SMBCLIENT_CFLAGS -P -` + samba_major_version=`printf '#include \nSAMBA_VERSION_MAJOR' | $CPP $SMBCLIENT_CFLAGS -P -` + samba_minor_version=`printf '#include \nSAMBA_VERSION_MINOR' | $CPP $SMBCLIENT_CFLAGS -P -` + samba_release_version=`printf '#include \nSAMBA_VERSION_RELEASE' | $CPP $SMBCLIENT_CFLAGS -P -` AC_MSG_NOTICE([Samba version: $samba_major_version $samba_minor_version $samba_release_version]) if test $samba_major_version -ge 4 -a $samba_minor_version -ge 8 ; then AC_DEFINE_UNQUOTED(SMB_IDMAP_DOMAIN_HAS_DOM_SID, 1, From 6a1ec3c90ada640bb1e51a2a7ee1f1d4752f8623 Mon Sep 17 00:00:00 2001 From: Lukas Slebodnik Date: Feb 01 2020 17:37:24 +0000 Subject: [PATCH 2/2] CONFIGURE: Fix detection of attribute fallthrough configure:27218: checking whether compiler supports __attribute__((fallthrough)) configure:27228: gcc -c -Werror conftest.c >&5 conftest.c:185:2: error: 'fallthrough' attribute at top level [-Werror=attributes] 185 | __attribute__ ((fallthrough)); | ^~~~~~~~~~~~~ cc1: all warnings being treated as errors Merges: https://pagure.io/SSSD/sssd/pull-request/4153 --- diff --git a/configure.ac b/configure.ac index c369413..598f758 100644 --- a/configure.ac +++ b/configure.ac @@ -465,7 +465,17 @@ AC_CACHE_CHECK( [sss_cv_attribute_fallthrough], [AC_COMPILE_IFELSE( [AC_LANG_SOURCE( - [ __attribute__ ((fallthrough)); ]) + [ void test_fun(int arg) { + switch (arg) { + case 1: + __attribute__ ((fallthrough)); + case 2: ++arg; + break; + default: --arg; + break; + } + } + ]) ],[ sss_cv_attribute_fallthrough=yes sss_cv_attribute_fallthrough_val="__attribute__ ((fallthrough))"