X-Git-Url: https://git.proxmox.com/?p=mirror_edk2.git;a=blobdiff_plain;f=OvmfPkg%2Fcreate-release.py;fp=OvmfPkg%2Fcreate-release.py;h=0000000000000000000000000000000000000000;hp=82d8e7b0a2b8f7ba49046229dc94398656cfabff;hb=cf85ba23d58ca706ce466ef458017253fb7e0085;hpb=b669adebd01d12af38fc54f5ccf26d47062ed3a6 diff --git a/OvmfPkg/create-release.py b/OvmfPkg/create-release.py deleted file mode 100755 index 82d8e7b0a2..0000000000 --- a/OvmfPkg/create-release.py +++ /dev/null @@ -1,208 +0,0 @@ -#!/usr/bin/python -# -# Copyright (c) 2010 - 2013, Intel Corporation. All rights reserved.
-# -# This program and the accompanying materials -# are licensed and made available under the terms and conditions of the BSD License -# which accompanies this distribution. The full text of the license may be found at -# http://opensource.org/licenses/bsd-license.php -# -# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, -# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. -# - -import os -import re -import StringIO -import subprocess -import sys -import zipfile - -is_unix = not sys.platform.startswith('win') - -if not is_unix: - print "This script currently only supports unix-like systems" - sys.exit(-1) - -if os.path.exists('OvmfPkgX64.dsc'): - os.chdir('..') - -if not os.path.exists(os.path.join('OvmfPkg', 'OvmfPkgX64.dsc')): - print "OvmfPkg/OvmfPkgX64.dsc doesn't exist" - sys.exit(-1) - -def run_and_capture_output(args, checkExitCode = True): - p = subprocess.Popen(args=args, stdout=subprocess.PIPE) - stdout = p.stdout.read() - ret_code = p.wait() - if checkExitCode: - assert ret_code == 0 - return stdout - -gcc_version = run_and_capture_output(args=('gcc', '--version')) -gcc_re = re.compile(r'\s*\S+\s+\([^\)]+?\)\s+(\d+(?:\.\d+)*)(?:\s+.*)?') -mo = gcc_re.match(gcc_version) -if not mo: - print "Unable to find GCC version" - sys.exit(-1) -gcc_version = map(lambda n: int(n), mo.group(1).split('.')) - -if 'TOOLCHAIN' in os.environ: - TOOLCHAIN = os.environ['TOOLCHAIN'] -else: - assert(gcc_version[0] == 4) - minor = max(4, min(7, gcc_version[1])) - TOOLCHAIN = 'GCC4' + str(minor) - -def git_based_version(): - dir = os.getcwd() - if not os.path.exists('.git'): - os.chdir('OvmfPkg') - stdout = run_and_capture_output(args=('git', 'log', - '-n', '1', - '--abbrev-commit')) - regex = re.compile(r'^\s*git-svn-id:\s+\S+@(\d+)\s+[0-9a-f\-]+$', - re.MULTILINE) - mo = regex.search(stdout) - if mo: - version = 'r' + mo.group(1) - else: - version = stdout.split(None, 3)[1] - os.chdir(dir) - return version - -def svn_info(): - dir = os.getcwd() - os.chdir('OvmfPkg') - stdout = run_and_capture_output(args=('svn', 'info')) - os.chdir(dir) - return stdout - -def svn_based_version(): - buf = svn_info() - revision_re = re.compile('^Revision\:\s*([\da-f]+)$', re.MULTILINE) - mo = revision_re.search(buf) - assert(mo is not None) - return 'r' + mo.group(1) - -def get_revision(): - if os.path.exists(os.path.join('OvmfPkg', '.svn')): - return svn_based_version() - else: - return git_based_version() - -revision = get_revision() - -newline_re = re.compile(r'(\n|\r\n|\r(?!\n))', re.MULTILINE) -def to_dos_text(str): - return newline_re.sub('\r\n', str) - -def gen_build_info(): - distro = run_and_capture_output(args=('lsb_release', '-sd')).strip() - - machine = run_and_capture_output(args=('uname', '-m')).strip() - - gcc_version_str = '.'.join(map(lambda v: str(v), gcc_version)) - - ld_version = run_and_capture_output(args=('ld', '--version')) - ld_version = ld_version.split('\n')[0].split()[-1] - - iasl_version = run_and_capture_output(args=('iasl'), checkExitCode=False) - iasl_version = filter(lambda s: s.find(' version ') >= 0, iasl_version.split('\n'))[0] - iasl_version = iasl_version.split(' version ')[1].strip() - - sb = StringIO.StringIO() - print >> sb, 'edk2: ', revision - print >> sb, 'compiler: GCC', gcc_version_str, '(' + TOOLCHAIN + ')' - print >> sb, 'binutils:', ld_version - print >> sb, 'iasl: ', iasl_version - print >> sb, 'system: ', distro, machine.replace('_', '-') - return to_dos_text(sb.getvalue()) - -def read_file(filename): - f = open(filename) - d = f.read() - f.close() - return d - -LICENSE = to_dos_text( -'''This OVMF binary release is built from source code licensed under -the BSD open source license. The BSD license is documented at -http://opensource.org/licenses/bsd-license.php, and a copy is -shown below. - -One sub-component of the OVMF project is a FAT filesystem driver. The FAT -filesystem driver code is also BSD licensed, but the code license contains -one additional term. This license can be found at -https://github.com/tianocore/tianocore.github.io/wiki/Edk2-fat-driver -and a copy is shown below (following the normal BSD license). - -=== BSD license: START === - -''') - -LICENSE += read_file(os.path.join('MdePkg', 'License.txt')) - -LICENSE += to_dos_text( -''' -=== BSD license: END === - -=== FAT filesystem driver license: START === - -''') - -LICENSE += read_file(os.path.join('FatBinPkg', 'License.txt')) - -LICENSE += to_dos_text( -''' -=== FAT filesystem driver license: END === -''') - -def build(arch): - args = ( - 'OvmfPkg/build.sh', - '-t', TOOLCHAIN, - '-a', arch, - '-b', 'RELEASE' - ) - logname = 'build-%s.log' % arch - build_log = open(logname, 'w') - print 'Building OVMF for', arch, '(%s)' % logname, '...', - sys.stdout.flush() - p = subprocess.Popen(args=args, stdout=build_log, stderr=build_log) - ret_code = p.wait() - if ret_code == 0: - print '[done]' - else: - print '[error 0x%x]' % ret_code - return ret_code - -def create_zip(arch): - global build_info - filename = 'OVMF-%s-%s.zip' % (arch, revision) - print 'Creating', filename, '...', - sys.stdout.flush() - if os.path.exists(filename): - os.remove(filename) - zipf = zipfile.ZipFile(filename, 'w', zipfile.ZIP_DEFLATED) - - zipf.writestr('BUILD_INFO', build_info) - zipf.writestr('LICENSE', LICENSE) - zipf.write(os.path.join('OvmfPkg', 'README'), 'README') - FV_DIR = os.path.join( - 'Build', - 'Ovmf' + arch.title(), - 'RELEASE_' + TOOLCHAIN, - 'FV' - ) - zipf.write(os.path.join(FV_DIR, 'OVMF.fd'), 'OVMF.fd') - zipf.close() - print '[done]' - -build_info = gen_build_info() -build('IA32') -build('X64') -create_zip('IA32') -create_zip('X64') - -