minor = max(4, min(7, gcc_version[1]))\r
TOOLCHAIN = 'GCC4' + str(minor)\r
\r
-def git_svn_info():\r
+def git_based_version():\r
dir = os.getcwd()\r
- os.chdir('OvmfPkg')\r
- stdout = run_and_capture_output(args=('git', 'svn', 'info'))\r
+ if not os.path.exists('.git'):\r
+ os.chdir('OvmfPkg')\r
+ stdout = run_and_capture_output(args=('git', 'log',\r
+ '-n', '1',\r
+ '--abbrev-commit'))\r
+ regex = re.compile(r'^\s*git-svn-id:\s+\S+@(\d+)\s+[0-9a-f\-]+$',\r
+ re.MULTILINE)\r
+ mo = regex.search(stdout)\r
+ if mo:\r
+ version = 'r' + mo.group(1)\r
+ else:\r
+ version = stdout.split(None, 3)[1]\r
os.chdir(dir)\r
- return stdout\r
+ return version\r
\r
def svn_info():\r
dir = os.getcwd()\r
os.chdir(dir)\r
return stdout\r
\r
-def get_svn_info_output():\r
- if os.path.exists(os.path.join('OvmfPkg', '.svn')):\r
- return svn_info()\r
- else:\r
- return git_svn_info()\r
+def svn_based_version():\r
+ buf = svn_info()\r
+ revision_re = re.compile('^Revision\:\s*([\da-f]+)$', re.MULTILINE)\r
+ mo = revision_re.search(buf)\r
+ assert(mo is not None)\r
+ return 'r' + mo.group(1)\r
\r
def get_revision():\r
- buf = get_svn_info_output()\r
- revision_re = re.compile('^Revision\:\s*(\d+)$', re.MULTILINE)\r
- mo = revision_re.search(buf)\r
- if mo is not None:\r
- return int(mo.group(1))\r
+ if os.path.exists(os.path.join('OvmfPkg', '.svn')):\r
+ return svn_based_version()\r
+ else:\r
+ return git_based_version()\r
\r
revision = get_revision()\r
\r
iasl_version = iasl_version.split(' version ')[1].strip()\r
\r
sb = StringIO.StringIO()\r
- print >> sb, 'edk2: ', 'r%d' % revision\r
+ print >> sb, 'edk2: ', revision\r
print >> sb, 'compiler: GCC', gcc_version_str, '(' + TOOLCHAIN + ')'\r
print >> sb, 'binutils:', ld_version\r
print >> sb, 'iasl: ', iasl_version\r
print >> sb, 'system: ', distro, machine.replace('_', '-')\r
return to_dos_text(sb.getvalue())\r
\r
+def read_file(filename):\r
+ f = open(filename)\r
+ d = f.read()\r
+ f.close()\r
+ return d\r
+\r
LICENSE = to_dos_text(\r
'''This OVMF binary release is built from source code licensed under\r
the BSD open source license. The BSD license is documented at\r
\r
=== BSD license: START ===\r
\r
-Copyright (c) 2009 - 2011, Intel Corporation. All rights reserved.\r
-\r
-Redistribution and use in source and binary forms, with or without\r
-modification, are permitted provided that the following conditions\r
-are met:\r
-\r
-* Redistributions of source code must retain the above copyright\r
- notice, this list of conditions and the following disclaimer.\r
-* Redistributions in binary form must reproduce the above copyright\r
- notice, this list of conditions and the following disclaimer in\r
- the documentation and/or other materials provided with the\r
- distribution.\r
-* Neither the name of the Intel Corporation nor the names of its\r
- contributors may be used to endorse or promote products derived\r
- from this software without specific prior written permission.\r
-\r
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\r
-"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\r
-LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS\r
-FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE\r
-COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,\r
-INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,\r
-BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;\r
-LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER\r
-CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT\r
-LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN\r
-ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE\r
-POSSIBILITY OF SUCH DAMAGE.\r
+''')\r
+\r
+LICENSE += read_file(os.path.join('MdePkg', 'License.txt'))\r
\r
+LICENSE += to_dos_text(\r
+'''\r
=== BSD license: END ===\r
\r
=== FAT filesystem driver license: START ===\r
\r
-Copyright (c) 2004, Intel Corporation. All rights reserved.\r
-\r
-Redistribution and use in source and binary forms, with or without\r
-modification, are permitted provided that the following conditions\r
-are met:\r
-\r
-* Redistributions of source code must retain the above copyright\r
- notice, this list of conditions and the following disclaimer.\r
-* Redistributions in binary form must reproduce the above copyright\r
- notice, this list of conditions and the following disclaimer in\r
- the documentation and/or other materials provided with the\r
- distribution.\r
-* Neither the name of Intel nor the names of its\r
- contributors may be used to endorse or promote products derived\r
- from this software without specific prior written permission.\r
-\r
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\r
-"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\r
-LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS\r
-FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE\r
-COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,\r
-INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,\r
-BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;\r
-LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER\r
-CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT\r
-LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN\r
-ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE\r
-POSSIBILITY OF SUCH DAMAGE.\r
-\r
-Additional terms:\r
-In addition to the forgoing, redistribution and use of the code is\r
-conditioned upon the FAT 32 File System Driver and all derivative\r
-works thereof being used for and designed only to read and/or write\r
-to a file system that is directly managed by an Extensible Firmware\r
-Interface (EFI) implementation or by an emulator of an EFI\r
-implementation.\r
+''')\r
+\r
+LICENSE += read_file(os.path.join('FatBinPkg', 'License.txt'))\r
\r
+LICENSE += to_dos_text(\r
+'''\r
=== FAT filesystem driver license: END ===\r
''')\r
\r
\r
def create_zip(arch):\r
global build_info\r
- filename = 'OVMF-%s-r%d.zip' % (arch, revision)\r
+ filename = 'OVMF-%s-%s.zip' % (arch, revision)\r
print 'Creating', filename, '...',\r
sys.stdout.flush()\r
if os.path.exists(filename):\r