blob: aee425199fbdc9a544ed1aafec475b14dfde0529 [file] [log] [blame]
Bertrand SIMONNET2dddf4f2015-05-01 00:23:261# Copyright (c) 2009-2015 The Chromium OS Authors. All rights reserved.
Ryan Cui0af7a912012-06-19 01:00:472# Use of this source code is governed by a BSD-style license that can be
3# found in the LICENSE file.
4
Gilad Arnold8f0df7f2015-06-05 22:03:085"""Strip packages and place them in <sysroot>/stripped-packages."""
Ryan Cui0af7a912012-06-19 01:00:476
Bertrand SIMONNET2dddf4f2015-05-01 00:23:267from __future__ import print_function
8
9import argparse
Yu-Ju Honge2b3f742013-11-08 19:33:0910import sys
Ryan Cui0af7a912012-06-19 01:00:4711
Gilad Arnoldabb352e2012-09-23 08:24:2712import builder
13
Ryan Cui0af7a912012-06-19 01:00:4714
15def main():
Bertrand SIMONNET2dddf4f2015-05-01 00:23:2616 parser = argparse.ArgumentParser()
17 target = parser.add_mutually_exclusive_group(required=True)
18 target.add_argument('--board',
Gilad Arnold8f0df7f2015-06-05 22:03:0819 help='The board that processed packages belong to.')
Bertrand SIMONNET2dddf4f2015-05-01 00:23:2620 target.add_argument('--sysroot',
Gilad Arnold8f0df7f2015-06-05 22:03:0821 help=('Sysroot that processed packages belong to. '
22 'This is incompatible with --board.'))
Bertrand SIMONNET2dddf4f2015-05-01 00:23:2623 parser.add_argument('--deep', action='store_true',
Gilad Arnold8f0df7f2015-06-05 22:03:0824 help='Also strip dependencies of packages.')
25 parser.add_argument('packages', nargs='+', metavar='package',
26 help='Package to strip.')
Ryan Cui0af7a912012-06-19 01:00:4727
Bertrand SIMONNET2dddf4f2015-05-01 00:23:2628 options = parser.parse_args()
29 sysroot = options.sysroot or '/build/%s' % options.board
Ryan Cui0af7a912012-06-19 01:00:4730
Gilad Arnold8f0df7f2015-06-05 22:03:0831 # Check if packages were installed.
32 if not builder.UpdateGmergeBinhost(sysroot, options.packages, options.deep):
Yu-Ju Honge2b3f742013-11-08 19:33:0933 sys.exit(1)
Ryan Cui0af7a912012-06-19 01:00:4734
35
36if __name__ == '__main__':
37 main()