summaryrefslogtreecommitdiffstats
path: root/scripts/lib/devtool/standard.py
diff options
context:
space:
mode:
authorPaul Eggleton <paul.eggleton@linux.intel.com>2016-01-23 00:59:58 +1300
committerRichard Purdie <richard.purdie@linuxfoundation.org>2016-01-24 09:40:33 +0000
commit50e40fc91f74cce464dc5c7556550cfe91b95c7c (patch)
tree755bb0f3063b20d3590c66c84e0c2fc3a2e7eaa1 /scripts/lib/devtool/standard.py
parent7e1691de0aa6aae6f86143b581700dd77c72afca (diff)
downloadpoky-50e40fc91f74cce464dc5c7556550cfe91b95c7c.tar.gz
devtool / recipetool: support specifying a subdirectory within the fetched source
Sometimes you don't want to build an entire project, just a subdirectory of it; add a --src-subdir option to make that easier. (We still look for a single subdirectory in what gets unpacked, e.g. what you might find within a tarball, so whatever you specify with this option is added onto the end of that.) (From OE-Core rev: 59682d78f95732e014f78f13e0a05f843860d9bb) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'scripts/lib/devtool/standard.py')
-rw-r--r--scripts/lib/devtool/standard.py6
1 files changed, 6 insertions, 0 deletions
diff --git a/scripts/lib/devtool/standard.py b/scripts/lib/devtool/standard.py
index 5390f51095..f19de27a86 100644
--- a/scripts/lib/devtool/standard.py
+++ b/scripts/lib/devtool/standard.py
@@ -141,6 +141,8 @@ def add(args, config, basepath, workspace):
141 extracmdopts += ' -b' 141 extracmdopts += ' -b'
142 if args.also_native: 142 if args.also_native:
143 extracmdopts += ' --also-native' 143 extracmdopts += ' --also-native'
144 if args.src_subdir:
145 extracmdopts += ' --src-subdir "%s"' % args.src_subdir
144 146
145 tempdir = tempfile.mkdtemp(prefix='devtool') 147 tempdir = tempfile.mkdtemp(prefix='devtool')
146 try: 148 try:
@@ -208,6 +210,9 @@ def add(args, config, basepath, workspace):
208 if not rd: 210 if not rd:
209 return 1 211 return 1
210 212
213 if args.src_subdir:
214 srctree = os.path.join(srctree, args.src_subdir)
215
211 bb.utils.mkdirhier(os.path.dirname(appendfile)) 216 bb.utils.mkdirhier(os.path.dirname(appendfile))
212 with open(appendfile, 'w') as f: 217 with open(appendfile, 'w') as f:
213 f.write('inherit externalsrc\n') 218 f.write('inherit externalsrc\n')
@@ -1308,6 +1313,7 @@ def register_commands(subparsers, context):
1308 parser_add.add_argument('--no-git', '-g', help='If fetching source, do not set up source tree as a git repository', action="store_true") 1313 parser_add.add_argument('--no-git', '-g', help='If fetching source, do not set up source tree as a git repository', action="store_true")
1309 parser_add.add_argument('--binary', '-b', help='Treat the source tree as something that should be installed verbatim (no compilation, same directory structure). Useful with binary packages e.g. RPMs.', action='store_true') 1314 parser_add.add_argument('--binary', '-b', help='Treat the source tree as something that should be installed verbatim (no compilation, same directory structure). Useful with binary packages e.g. RPMs.', action='store_true')
1310 parser_add.add_argument('--also-native', help='Also add native variant (i.e. support building recipe for the build host as well as the target machine)', action='store_true') 1315 parser_add.add_argument('--also-native', help='Also add native variant (i.e. support building recipe for the build host as well as the target machine)', action='store_true')
1316 parser_add.add_argument('--src-subdir', help='Specify subdirectory within source tree to use', metavar='SUBDIR')
1311 parser_add.set_defaults(func=add) 1317 parser_add.set_defaults(func=add)
1312 1318
1313 parser_modify = subparsers.add_parser('modify', help='Modify the source for an existing recipe', 1319 parser_modify = subparsers.add_parser('modify', help='Modify the source for an existing recipe',