pushd $d || exit 1
rm -rf bin
type waf
+ waf dist || exit 1
waf configure -C --enable-developer --prefix=$PREFIX || exit 1
time waf build || exit 1
time waf build || exit 1
import Utils, os, sys, tarfile, stat, Scripting
from samba_utils import *
+dist_dirs = None
+
def add_tarfile(tar, fname, abspath):
'''add a file to the tarball'''
tinfo = tar.gettarinfo(name=abspath, arcname=fname)
def dist():
-
appname = Utils.g_module.APPNAME
version = Utils.g_module.VERSION
- env = LOAD_ENVIRONMENT()
srcdir = os.path.normpath(os.path.join(os.path.dirname(Utils.g_module.root_path), Utils.g_module.srcdir))
- if not env.DIST_DIRS:
- print('You must use conf.DIST_DIRS() to set which directories to package')
- sys.exit(1)
-
- if not env.GIT:
- print('You need git installed to run waf dist')
+ if not dist_dirs:
+ print('You must use samba_dist.DIST_DIRS() to set which directories to package')
sys.exit(1)
dist_base = '%s-%s' % (appname, version)
tar = tarfile.open(dist_name, 'w:gz')
- for dir in env.DIST_DIRS.split():
+ for dir in dist_dirs.split():
if dir.find(':') != -1:
destdir=dir.split(':')[1]
dir=dir.split(':')[0]
else:
destdir = '.'
absdir = os.path.join(srcdir, dir)
- git_cmd = [ env.GIT, 'ls-files', '--full-name', absdir ]
+ git_cmd = [ 'git', 'ls-files', '--full-name', absdir ]
try:
files = Utils.cmd_output(git_cmd).split()
except:
@conf
-def DIST_DIRS(conf, dirs):
+def DIST_DIRS(dirs):
'''set the directories to package, relative to top srcdir'''
- if not conf.env.DIST_DIRS:
- conf.env.DIST_DIRS = dirs
+ global dist_dirs
+ if not dist_dirs:
+ dist_dirs = dirs
Scripting.dist = dist
#!/usr/bin/env python
-srcdir = '../..'
+APPNAME = 'libreplace'
+VERSION = '1.2.1'
+
blddir = 'bin'
-import sys
+import sys, os
+
+# find the buildtools directory
+buildtools = 'buildtools ../../buildtools'
+for d in buildtools.split():
+ if os.path.exists(d):
+ srcdir = os.path.dirname(d) or '.'
+ break
+
sys.path.insert(0, srcdir+"/buildtools/wafsamba")
-import wafsamba
+import wafsamba, samba_dist
import Options, os, preproc
+samba_dist.DIST_DIRS('lib/replace buildtools:buildtools')
+
def set_options(opt):
opt.BUILTIN_DEFAULT('NONE')
opt.BUNDLED_EXTENSION_DEFAULT('')
sys.path.insert(0, srcdir+"/buildtools/wafsamba")
import wafsamba, samba_dist
+# setup what directories to put in a tarball
+samba_dist.DIST_DIRS('lib/talloc:. lib/replace:lib/replace buildtools:buildtools')
+
+
def set_options(opt):
opt.BUILTIN_DEFAULT('replace')
opt.BUNDLED_EXTENSION_DEFAULT('talloc', noextenion='talloc')
opt.recurse(LIBREPLACE_DIR)
def configure(conf):
- conf.DIST_DIRS('lib/talloc:. lib/replace:lib/replace buildtools:buildtools')
conf.sub_config(LIBREPLACE_DIR)
if conf.CHECK_BUNDLED_SYSTEM('talloc', minversion=VERSION,
break
sys.path.insert(0, srcdir+"/buildtools/wafsamba")
-import wafsamba
+import wafsamba, samba_dist
+
+samba_dist.DIST_DIRS('lib/tdb:. lib/replace:lib/replace buildtools:buildtools')
LIBREPLACE_DIR= srcdir + '/lib/replace'
opt.recurse(LIBREPLACE_DIR)
def configure(conf):
- conf.DIST_DIRS('lib/tdb:. lib/replace:lib/replace buildtools:buildtools')
conf.sub_config(LIBREPLACE_DIR)
if conf.CHECK_BUNDLED_SYSTEM('tdb', minversion=VERSION,
break
sys.path.insert(0, srcdir+"/buildtools/wafsamba")
-import wafsamba
+import wafsamba, samba_dist
+
+samba_dist.DIST_DIRS('lib/tevent:. lib/replace:lib/replace lib/talloc:lib/talloc buildtools:buildtools')
LIBREPLACE_DIR= srcdir + '/lib/replace'
LIBTALLOC_DIR= srcdir + '/lib/talloc'
opt.recurse(LIBTALLOC_DIR)
def configure(conf):
- conf.DIST_DIRS('lib/tevent:. lib/replace:lib/replace lib/talloc:lib/talloc buildtools:buildtools')
conf.sub_config(LIBREPLACE_DIR)
conf.sub_config(LIBTALLOC_DIR)
break
sys.path.insert(0, srcdir+"/buildtools/wafsamba")
-import wafsamba
+import wafsamba, samba_dist
+
+samba_dist.DIST_DIRS('''lib/ldb:. lib/replace:lib/replace lib/talloc:lib/talloc
+ lib/tdb:lib/tdb lib/tevent:lib/tevent buildtools:buildtools''')
LIBTDB_DIR= srcdir + '/lib/tdb'
opt.recurse(LIBTEVENT_DIR)
def configure(conf):
- conf.DIST_DIRS('''lib/ldb:. lib/replace:lib/replace lib/talloc:lib/talloc
- lib/tdb:lib/tdb lib/tevent:lib/tevent buildtools:buildtools''')
conf.sub_config(LIBTDB_DIR)
conf.sub_config(LIBTEVENT_DIR)
conf.sub_config(LIBPOPT_DIR)
sys.path.insert(0, srcdir+"/buildtools/wafsamba")
import wafsamba, Options, samba_dist
+samba_dist.DIST_DIRS('.')
+
# install in /usr/local/samba by default
Options.default_prefix = '/usr/local/samba'
conf.DEFINE('CONFIG_H_IS_FROM_SAMBA', 1)
conf.DEFINE('_SAMBA_BUILD_', 4, add_to_cflags=True)
conf.DEFINE('HAVE_CONFIG_H', 1, add_to_cflags=True)
- conf.DIST_DIRS('.')
if Options.options.developer:
conf.ADD_CFLAGS('-DDEVELOPER -DDEBUG_PASSWORD')