[PATCH] >=samba-4.0 automagically depends on dmapi (libdm.so)

Lars Wendler polynomial-c at gentoo.org
Fri Dec 6 04:30:43 MST 2013


From: Andreas Sturmlechner <andreas.sturmlechner at gmail.com>

This fixes https://bugs.gentoo.org/474492

Signed-off-by: Lars Wendler <polynomial-c at gentoo.org>
---
 source3/wscript | 40 ++++++++++++++++++++--------------------
 1 file changed, 20 insertions(+), 20 deletions(-)

diff --git a/source3/wscript b/source3/wscript
index b09c2db..ca40ed2 100644
--- a/source3/wscript
+++ b/source3/wscript
@@ -193,28 +193,29 @@ main() {
         elif check_for_fam:
             Logs.warn('no suitable FAM library found')
 
-    # check for DMAPI libs
-    Logs.info("Checking for DMAPI library existence")
     conf.env['dmapi_lib'] = ''
     samba_dmapi_lib = ''
-    if conf.CHECK_FUNCS_IN('dm_get_eventlist', 'dm'):
-        samba_dmapi_lib = 'dm'
-    else:
-        if conf.CHECK_FUNCS_IN('dm_get_eventlist', 'jfsdm'):
-            samba_dmapi_lib = 'jfsdm'
+    if Options.options.with_dmapi == True:
+        # check for DMAPI libs
+        Logs.info("Checking for DMAPI library existence")
+        if conf.CHECK_FUNCS_IN('dm_get_eventlist', 'dm'):
+            samba_dmapi_lib = 'dm'
         else:
-            if conf.CHECK_FUNCS_IN('dm_get_eventlist', 'dmapi'):
-                samba_dmapi_lib = 'dmapi'
+            if conf.CHECK_FUNCS_IN('dm_get_eventlist', 'jfsdm'):
+                samba_dmapi_lib = 'jfsdm'
             else:
-                if conf.CHECK_FUNCS_IN('dm_get_eventlist', 'xdsm'):
-                    samba_dmapi_lib = 'xdsm'
-    # only bother to test headers and compilation when a candidate
-    # library has been found
-    if Options.options.with_dmapi == True and samba_dmapi_lib == '':
-        conf.fatal('DMAPI support requested, but no suitable DMAPI library found')
-    else:
-        conf.CHECK_HEADERS('sys/dmi.h xfs/dmapi.h sys/jfsdmapi.h sys/dmapi.h dmapi.h')
-        conf.CHECK_CODE('''
+                if conf.CHECK_FUNCS_IN('dm_get_eventlist', 'dmapi'):
+                    samba_dmapi_lib = 'dmapi'
+                else:
+                    if conf.CHECK_FUNCS_IN('dm_get_eventlist', 'xdsm'):
+                        samba_dmapi_lib = 'xdsm'
+        # only bother to test headers and compilation when a candidate
+        # library has been found
+        if samba_dmapi_lib == '':
+            conf.fatal('DMAPI support requested, but no suitable DMAPI library found')
+        else:
+            conf.CHECK_HEADERS('sys/dmi.h xfs/dmapi.h sys/jfsdmapi.h sys/dmapi.h dmapi.h')
+            conf.CHECK_CODE('''
 #include <time.h>      /* needed by Tru64 */
 #include <sys/types.h> /* needed by AIX */
 #ifdef HAVE_XFS_DMAPI_H
@@ -253,8 +254,7 @@ int main(int argc, char **argv)
         if conf.CONFIG_SET('USE_DMAPI'):
             conf.env['dmapi_lib'] = samba_dmapi_lib
         else:
-            if Options.options.with_dmapi == True:
-                conf.fatal('DMAPI support requested but not found');
+            conf.fatal('DMAPI support requested but not found');
 
     # Check for various members of the stat structure
     conf.CHECK_STRUCTURE_MEMBER('struct stat', 'st_blocks', define='HAVE_STAT_ST_BLOCKS',
-- 
1.8.5.1



More information about the samba-technical mailing list