#!/usr/bin/env python
-import os, Options
-
-# work out what python external libraries we need to install
-external_libs = {
- }
-
-list = []
-
-for module, package in external_libs.items():
- try:
- __import__(module)
- except ImportError:
- list.append(package)
-
-for e in list:
- bld.INSTALL_WILDCARD('${PYTHONARCHDIR}/samba/external', e + '/**/*', flat=False,
- exclude='*.pyc', trim_path=os.path.dirname(e))
-
-bld.SAMBA_GENERATOR('external_init_py',
- rule='touch ${TGT}',
- target='empty_file')
-
-bld.INSTALL_FILES('${PYTHONARCHDIR}/samba/external', 'empty_file', destname='__init__.py')
-
# a grouping library for event and socket related subsystems
bld.SAMBA_LIBRARY('samba-sockets',
source=[],
namespace="samba.third_party")
-def ensure_external_module(modulename, location):
- """Add a location to sys.path if an external dependency can't be found.
-
- :param modulename: Module name to import
- :param location: Location to add to sys.path (can be relative to
- ${srcdir}/lib)
- """
- # This is deprecated - please use ensure_third_party_module for
- # new modules instead, and put them in third_party/.
- try:
- __import__(modulename)
- except ImportError:
- import_bundled_package(modulename, location,
- source_tree_container="lib", namespace="samba.external")
-
-
def dn_from_dns_name(dnsdomain):
"""return a DN from a DNS name domain/forest root"""
return "DC=" + ",DC=".join(dnsdomain.split("."))