topdir = os.path.join(os.getcwd(), build, 'build',
'bdist.' + platform, 'rpm')
+ buildroot = os.path.join(os.getcwd(), 'build', 'rpm-buildroot')
+
BUILDdir = os.path.join(topdir, 'BUILD', pkg + '-' + version)
RPMSdir = os.path.join(topdir, 'RPMS', 'noarch')
SOURCESdir = os.path.join(topdir, 'SOURCES')
Local(sourcefile)
targets = [ noarch_rpm, src_rpm ]
- cmd = "$RPMBUILD --define '_topdir $(%s$)' -ba $SOURCES" % topdir
+ cmd = "$RPMBUILD --define '_topdir $(%s$)' --buildroot %s -ba $SOURCES" % (topdir, buildroot)
if not os.path.isdir(BUILDdir):
cmd = ("$( mkdir -p %s; $)" % BUILDdir) + cmd
env.Command(targets, specfile, cmd)
variables_gen = os.path.join(build, 'user', 'variables.gen')
variables_mod = os.path.join(build, 'user', 'variables.mod')
+ # We put $( - $) around $SOURCES in the command line below because
+ # the path names will change when a given input file is found in
+ # a repository one run and locally the next, and we don't want
+ # to rebuild documentation just because it's found in one location
+ # vs. the other. The *.gen and *.mod targets will still be dependent
+ # on the list of the files themselves.
b = env.Command([builders_gen, builders_mod,
tools_gen, tools_mod,
variables_gen, variables_mod],
scons_doc_files,
- "python $SCONS_PROC_PY -b ${TARGETS[0]},${TARGETS[1]} -t ${TARGETS[2]},${TARGETS[3]} -v ${TARGETS[4]},${TARGETS[5]} $SOURCES")
+ "python $SCONS_PROC_PY -b ${TARGETS[0]},${TARGETS[1]} -t ${TARGETS[2]},${TARGETS[3]} -v ${TARGETS[4]},${TARGETS[5]} $( $SOURCES $)")
env.Depends(b, "$SCONS_PROC_PY")
+ env.Local(b)
+
#
# Each document will live in its own subdirectory. List them here
# as hash keys, with a hash of the info to control its build.
.ES
import re
+'\" Note: the \\ in the following are for the benefit of nroff/troff,
+'\" not inappropriate doubled escape characters within the r'' raw string.
include_re = re.compile(r'^include\\s+(\\S+)$', re.M)
def kfile_scan(node, env, path, arg):
<programlisting>
import re
- include_re = re.compile(r'^include\\s+(\\S+)$', re.M)
+ include_re = re.compile(r'^include\s+(\S+)$', re.M)
def kfile_scan(node, env, path, arg):
contents = node.get_contents()
<file name="SConstruct" printme="1">
import re
- include_re = re.compile(r'^include\\s+(\\S+)$', re.M)
+ include_re = re.compile(r'^include\s+(\S+)$', re.M)
def kfile_scan(node, env, path):
contents = node.get_contents()
<programlisting>
import re
- include_re = re.compile(r'^include\\s+(\\S+)$', re.M)
+ include_re = re.compile(r'^include\s+(\S+)$', re.M)
def kfile_scan(node, env, path, arg):
contents = node.get_contents()
<programlisting>
import re
- include_re = re.compile(r'^include\\s+(\\S+)$', re.M)
+ include_re = re.compile(r'^include\s+(\S+)$', re.M)
def kfile_scan(node, env, path):
contents = node.get_contents()
From Sanjoy Mahajan:
- - Fix a bad use of Copy() in an example in the man page.
+ - Fix a bad use of Copy() in an example in the man page, and a
+ bad regular expression example in the man page and User's Guide.
From Michael McCracken: