1
0
mirror of https://github.com/samba-team/samba.git synced 2025-03-27 22:50:26 +03:00

s4-waf: updates for the new python installer from jelmer

This commit is contained in:
Andrew Tridgell 2010-04-02 00:13:26 +11:00
parent ba64e236d5
commit 4fa9c3187d
4 changed files with 16 additions and 18 deletions

View File

@ -534,7 +534,7 @@ Build.BuildContext.SAMBA_SCRIPT = SAMBA_SCRIPT
def install_file(bld, destdir, file, chmod=0644, flat=False,
python_fixup=False, destname=None):
python_fixup=False, destname=None, base_name=None):
'''install a file'''
destdir = bld.EXPAND_VARIABLES(destdir)
if not destname:
@ -550,27 +550,37 @@ def install_file(bld, destdir, file, chmod=0644, flat=False,
source=file,
target=inst_file)
file = inst_file
if base_name:
file = os.path.join(base_name, file)
bld.install_as(dest, file, chmod=chmod)
def INSTALL_FILES(bld, destdir, files, chmod=0644, flat=False,
python_fixup=False, destname=None):
python_fixup=False, destname=None, base_name=None):
'''install a set of files'''
for f in TO_LIST(files):
install_file(bld, destdir, f, chmod=chmod, flat=flat,
python_fixup=python_fixup, destname=destname)
python_fixup=python_fixup, destname=destname,
base_name=base_name)
Build.BuildContext.INSTALL_FILES = INSTALL_FILES
def INSTALL_WILDCARD(bld, destdir, pattern, chmod=0644, flat=False,
python_fixup=False, exclude=None):
python_fixup=False, exclude=None, trim_path=None):
'''install a set of files matching a wildcard pattern'''
files=TO_LIST(bld.path.ant_glob(pattern))
if trim_path:
files2 = []
for f in files:
files2.append(os_path_relpath(f, trim_path))
files = files2
if exclude:
for f in files[:]:
if fnmatch.fnmatch(f, exclude):
files.remove(f)
INSTALL_FILES(bld, destdir, files, chmod=chmod, flat=flat, python_fixup=python_fixup)
INSTALL_FILES(bld, destdir, files, chmod=chmod, flat=flat,
python_fixup=python_fixup, base_name=trim_path)
Build.BuildContext.INSTALL_WILDCARD = INSTALL_WILDCARD

View File

@ -1,11 +0,0 @@
#!/usr/bin/env python
# work out what external modules need to be installed
external_list = []
try:
import dns.resolver
except:
external_list.append("dnspython")
for e in external_list:
bld.INSTALL_WILDCARD('${PYTHONDIR}/samba_external', e + '/**/*', flat=False, exclude='*.pyc')

View File

@ -39,6 +39,4 @@ bld.SAMBA_SCRIPT('samba_python',
pattern='samba/**/*.py',
installdir='python')
bld.BUILD_SUBDIR('samba_external')
bld.INSTALL_WILDCARD('${PYTHONDIR}', 'samba/**/*.py', flat=False)

View File

@ -116,3 +116,4 @@ bld.BUILD_SUBDIR('../codepages')
bld.BUILD_SUBDIR('setup')
bld.BUILD_SUBDIR('scripting')
bld.BUILD_SUBDIR('../pidl')
bld.BUILD_SUBDIR('../lib')