X-Git-Url: https://git.proxmox.com/?p=mirror_edk2.git;a=blobdiff_plain;f=OvmfPkg%2Fcreate-release.py;h=82d8e7b0a2b8f7ba49046229dc94398656cfabff;hp=3099d27d6cd6fe3d661f97d8f13a9bb15339a825;hb=76c09700edc67686b29662e81a3ca7d947594ce5;hpb=6d3d4a7e9fa89e66b27b5769e129e9234c0e4455 diff --git a/OvmfPkg/create-release.py b/OvmfPkg/create-release.py index 3099d27d6c..82d8e7b0a2 100755 --- a/OvmfPkg/create-release.py +++ b/OvmfPkg/create-release.py @@ -54,12 +54,22 @@ else: minor = max(4, min(7, gcc_version[1])) TOOLCHAIN = 'GCC4' + str(minor) -def git_svn_info(): +def git_based_version(): dir = os.getcwd() - os.chdir('OvmfPkg') - stdout = run_and_capture_output(args=('git', 'svn', 'info')) + 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 stdout + return version def svn_info(): dir = os.getcwd() @@ -68,18 +78,18 @@ def svn_info(): os.chdir(dir) return stdout -def get_svn_info_output(): - if os.path.exists(os.path.join('OvmfPkg', '.svn')): - return svn_info() - else: - return git_svn_info() +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(): - buf = get_svn_info_output() - revision_re = re.compile('^Revision\:\s*(\d+)$', re.MULTILINE) - mo = revision_re.search(buf) - if mo is not None: - return int(mo.group(1)) + if os.path.exists(os.path.join('OvmfPkg', '.svn')): + return svn_based_version() + else: + return git_based_version() revision = get_revision() @@ -102,13 +112,19 @@ def gen_build_info(): iasl_version = iasl_version.split(' version ')[1].strip() sb = StringIO.StringIO() - print >> sb, 'edk2: ', 'r%d' % revision + 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 @@ -118,81 +134,27 @@ 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 -http://sourceforge.net/apps/mediawiki/tianocore/index.php?title=Edk2-fat-driver, +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 === -Copyright (c) 2009 - 2011, Intel Corporation. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: - -* Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. -* Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in - the documentation and/or other materials provided with the - distribution. -* Neither the name of the Intel Corporation nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN -ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. +''') + +LICENSE += read_file(os.path.join('MdePkg', 'License.txt')) +LICENSE += to_dos_text( +''' === BSD license: END === === FAT filesystem driver license: START === -Copyright (c) 2004, Intel Corporation. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: - -* Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. -* Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in - the documentation and/or other materials provided with the - distribution. -* Neither the name of Intel nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN -ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. - -Additional terms: -In addition to the forgoing, redistribution and use of the code is -conditioned upon the FAT 32 File System Driver and all derivative -works thereof being used for and designed only to read and/or write -to a file system that is directly managed by an Extensible Firmware -Interface (EFI) implementation or by an emulator of an EFI -implementation. +''') + +LICENSE += read_file(os.path.join('FatBinPkg', 'License.txt')) +LICENSE += to_dos_text( +''' === FAT filesystem driver license: END === ''') @@ -217,7 +179,7 @@ def build(arch): def create_zip(arch): global build_info - filename = 'OVMF-%s-r%d.zip' % (arch, revision) + filename = 'OVMF-%s-%s.zip' % (arch, revision) print 'Creating', filename, '...', sys.stdout.flush() if os.path.exists(filename):