blob: 1ca70d4662b0cabc9809a6785983751c4b7e73be [file] [log] [blame]
Chris McDonald82160742020-08-11 15:28:18 -06001#!/usr/bin/env python3
Mike Frysingera7f08bc2019-08-27 15:16:33 -04002# -*- coding: utf-8 -*-
Bertrand SIMONNET2dddf4f2015-04-30 17:23:26 -07003# Copyright (c) 2009-2015 The Chromium OS Authors. All rights reserved.
Ryan Cui0af7a912012-06-18 18:00:47 -07004# Use of this source code is governed by a BSD-style license that can be
5# found in the LICENSE file.
6
Gilad Arnold8f0df7f2015-06-05 15:03:08 -07007"""Strip packages and place them in <sysroot>/stripped-packages."""
Ryan Cui0af7a912012-06-18 18:00:47 -07008
Bertrand SIMONNET2dddf4f2015-04-30 17:23:26 -07009from __future__ import print_function
10
11import argparse
Yu-Ju Honge2b3f742013-11-08 11:33:09 -080012import sys
Ryan Cui0af7a912012-06-18 18:00:47 -070013
Gilad Arnoldabb352e2012-09-23 01:24:27 -070014import builder
15
Ryan Cui0af7a912012-06-18 18:00:47 -070016
17def main():
Bertrand SIMONNET2dddf4f2015-04-30 17:23:26 -070018 parser = argparse.ArgumentParser()
19 target = parser.add_mutually_exclusive_group(required=True)
20 target.add_argument('--board',
Gilad Arnold8f0df7f2015-06-05 15:03:08 -070021 help='The board that processed packages belong to.')
Bertrand SIMONNET2dddf4f2015-04-30 17:23:26 -070022 target.add_argument('--sysroot',
Gilad Arnold8f0df7f2015-06-05 15:03:08 -070023 help=('Sysroot that processed packages belong to. '
24 'This is incompatible with --board.'))
Bertrand SIMONNET2dddf4f2015-04-30 17:23:26 -070025 parser.add_argument('--deep', action='store_true',
Gilad Arnold8f0df7f2015-06-05 15:03:08 -070026 help='Also strip dependencies of packages.')
27 parser.add_argument('packages', nargs='+', metavar='package',
28 help='Package to strip.')
Ryan Cui0af7a912012-06-18 18:00:47 -070029
Bertrand SIMONNET2dddf4f2015-04-30 17:23:26 -070030 options = parser.parse_args()
31 sysroot = options.sysroot or '/build/%s' % options.board
Ryan Cui0af7a912012-06-18 18:00:47 -070032
Gilad Arnold8f0df7f2015-06-05 15:03:08 -070033 # Check if packages were installed.
34 if not builder.UpdateGmergeBinhost(sysroot, options.packages, options.deep):
Yu-Ju Honge2b3f742013-11-08 11:33:09 -080035 sys.exit(1)
Ryan Cui0af7a912012-06-18 18:00:47 -070036
37
38if __name__ == '__main__':
39 main()