# encrypted
plantestsuite("samba3.blackbox.smbclient_s3.crypt (%s)" % env, env, [os.path.join(samba3srcdir, "script/tests/test_smbclient_s3.sh"), '$SERVER', '$SERVER_IP', '$DOMAIN', '$USERNAME', '$PASSWORD', '$USERID', '$LOCAL_PATH', '$PREFIX', smbclient3, wbinfo, net, configuration, "-e"])
- # Test smbclient/tarmode
- plantestsuite("samba3.blackbox.smbclient_tarmode (%s)" % env, env, [os.path.join(samba3srcdir, "script/tests/test_smbclient_tarmode.sh"), '$SERVER', '$SERVER_IP', '$USERNAME', '$PASSWORD', '$LOCAL_PATH', '$PREFIX', smbclient3, configuration])
-
- # Test suite for new smbclient/tar with libarchive (GSoC 13)
- plantestsuite("samba3.blackbox.smbclient_tar (%s)" % env, env,
- [os.path.join(samba3srcdir, "script/tests/test_smbclient_tarmode.pl"),
- '-n', '$SERVER', '-i', '$SERVER_IP', '-s', 'tmp',
- '-u', '$USERNAME', '-p', '$PASSWORD', '-l', '$LOCAL_PATH', '-d', '$PREFIX',
- '-b', smbclient3, '--subunit', '--', configuration])
+
+ #
+ # tar command tests
+ #
+
+ # find config.h
+ try:
+ config_h = os.environ["CONFIG_H"]
+ except KeyError:
+ config_h = os.path.join(samba4bindir, "default/include/config.h")
+
+ # see if libarchive is supported
+ f = open(config_h, 'r')
+ try:
+ have_libarchive = ("HAVE_LIBARCHIVE 1" in f.read())
+ finally:
+ f.close()
+
+ # tar command enabled only if built with libarchive
+ if have_libarchive:
+ # Test smbclient/tarmode
+ plantestsuite("samba3.blackbox.smbclient_tarmode (%s)" % env, env,
+ [os.path.join(samba3srcdir, "script/tests/test_smbclient_tarmode.sh"),
+ '$SERVER', '$SERVER_IP', '$USERNAME', '$PASSWORD',
+ '$LOCAL_PATH', '$PREFIX', smbclient3, configuration])
+
+ # Test suite for new smbclient/tar with libarchive (GSoC 13)
+ plantestsuite("samba3.blackbox.smbclient_tar (%s)" % env, env,
+ [os.path.join(samba3srcdir, "script/tests/test_smbclient_tarmode.pl"),
+ '-n', '$SERVER', '-i', '$SERVER_IP', '-s', 'tmp',
+ '-u', '$USERNAME', '-p', '$PASSWORD', '-l', '$LOCAL_PATH',
+ '-d', '$PREFIX', '-b', smbclient3,
+ '--subunit', '--', configuration])
#TODO encrypted against member, with member creds, and with DC creds
plantestsuite("samba3.blackbox.net.misc", "s3dc:local",
opt.SAMBA3_ADD_OPTION('dmapi', default=None) # None means autodetection
opt.SAMBA3_ADD_OPTION('fam', default=None) # None means autodetection
opt.SAMBA3_ADD_OPTION('profiling-data', default=False)
+ opt.SAMBA3_ADD_OPTION('libarchive', default=None)
opt.SAMBA3_ADD_OPTION('cluster-support', default=None)
if sys.platform != 'openbsd5':
conf.ADD_LDFLAGS("-Wl,--export-dynamic", testflags=True)
- # libarchive in smbclient
- conf.CHECK_HEADERS('archive.h')
- conf.CHECK_LIB('libarchive')
-
conf.CHECK_HEADERS('execinfo.h libexc.h libunwind.h netdb.h')
conf.CHECK_HEADERS('linux/falloc.h')
elif check_for_fam:
Logs.warn('no suitable FAM library found')
+ # check for libarchive (tar command in smbclient)
+ use_libarchive = False
+ # None means autodetect
+ if Options.options.with_libarchive is None:
+ Logs.info("Checking for libarchive existence")
+ if conf.CHECK_HEADERS('archive.h') and conf.CHECK_LIB('archive'):
+ use_libarchive = True
+ elif Options.options.with_libarchive == True:
+ conf.CHECK_HEADERS('archive.h', mandatory=True)
+ conf.CHECK_LIB('archive', mandatory=True)
+ use_libarchive = True
+
+ if use_libarchive:
+ conf.DEFINE('SAMBA_LIBARCHIVE_LIBS', '-larchive')
+
# check for DMAPI libs
Logs.info("Checking for DMAPI library existence")
conf.env['dmapi_lib'] = ''