1# 2# This file and its contents are supplied under the terms of the 3# Common Development and Distribution License ("CDDL"), version 1.0. 4# You may only use this file in accordance with the terms of version 5# 1.0 of the CDDL. 6# 7# A full copy of the text of the CDDL should have accompanied this 8# source. A copy of the CDDL is also available via the Internet at 9# http://www.illumos.org/license/CDDL. 10# 11 12# 13# Copyright 2021 OmniOS Community Edition (OmniOSce) Association. 14# 15 16# 17# Package manifest check 18# 19 20import sys 21from onbld.Checks.ProcessCheck import processcheck 22 23def check(fh, filename=None, output=sys.stderr, **opts): 24 if not filename: 25 filename = fh.name 26 27 options = ['-c', '-f', 'v2'] 28 ret, tmpfile = processcheck('pkgfmt', options, fh, output) 29 tmpfile.close() 30 if ret == 0: 31 # Manifest passes validation 32 return 0 33 34 output.write('{} is not in pkgfmt v2 form;\n'.format(filename)) 35 output.write('run `pkgfmt -f v2` on the file to re-format ' + 36 'the manifest in-place\n') 37 38 return 1 39 40