Require a vendor_ prefix for users/groups in /vendor/etc/{passwd,group}

Bug: 79528966
Test: successful build with vendor_ prefixed users/groups
Test: expected build failure when not using vendor_ prefixed users/groups
Change-Id: If006c70178aa5bdcc9521a06ef8df2500f70bbb9
This commit is contained in:
Tom Cherry
2018-05-14 13:14:41 -07:00
parent ec87c9f56e
commit 2d197a1e19
2 changed files with 16 additions and 5 deletions

View File

@@ -1235,12 +1235,19 @@ class PasswdGen(BaseGenerator):
help='An android_filesystem_config.h file'
'to parse AIDs and OEM Ranges from')
opt_group.add_argument(
'--required-prefix',
required=False,
help='A prefix that the names are required to contain.')
def __call__(self, args):
hdr_parser = AIDHeaderParser(args['aid_header'])
parser = FSConfigFileParser(args['fsconfig'], hdr_parser.oem_ranges)
required_prefix = args['required_prefix']
aids = parser.aids
# nothing to do if no aids defined
@@ -1250,7 +1257,11 @@ class PasswdGen(BaseGenerator):
print PasswdGen._GENERATED
for aid in aids:
self._print_formatted_line(aid)
if required_prefix is None or aid.friendly.startswith(required_prefix):
self._print_formatted_line(aid)
else:
sys.exit("%s: AID '%s' must start with '%s'" %
(args['fsconfig'], aid.friendly, required_prefix))
def _print_formatted_line(self, aid):
"""Prints the aid to stdout in the passwd format. Internal use only.