mirror of
https://github.com/samba-team/samba.git
synced 2025-03-27 22:50:26 +03:00
s4-waf: avoid having to run waf configure before waf dist
This should be useful for building tarballs from a clean checkout
This commit is contained in:
parent
3ed6d7e76f
commit
1883ee6dbc
@ -18,6 +18,7 @@ for d in $tests; do
|
||||
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
|
||||
|
@ -4,6 +4,8 @@
|
||||
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)
|
||||
@ -17,19 +19,13 @@ def add_tarfile(tar, fname, abspath):
|
||||
|
||||
|
||||
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)
|
||||
@ -37,14 +33,14 @@ def dist():
|
||||
|
||||
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:
|
||||
@ -65,9 +61,10 @@ def dist():
|
||||
|
||||
|
||||
@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
|
||||
|
@ -1,13 +1,25 @@
|
||||
#!/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('')
|
||||
|
@ -20,13 +20,16 @@ import sys
|
||||
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,
|
||||
|
@ -15,7 +15,9 @@ for d in buildtools.split():
|
||||
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'
|
||||
@ -26,7 +28,6 @@ def set_options(opt):
|
||||
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,
|
||||
|
@ -15,7 +15,9 @@ for d in buildtools.split():
|
||||
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'
|
||||
@ -27,7 +29,6 @@ def set_options(opt):
|
||||
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)
|
||||
|
||||
|
@ -14,7 +14,10 @@ for d in buildtools.split():
|
||||
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'
|
||||
@ -28,8 +31,6 @@ def set_options(opt):
|
||||
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)
|
||||
|
@ -10,6 +10,8 @@ import sys, os
|
||||
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'
|
||||
|
||||
@ -39,7 +41,6 @@ def configure(conf):
|
||||
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')
|
||||
|
Loading…
x
Reference in New Issue
Block a user