diff mbox series

[v2,08/12] pc-bios: add edk2 firmware binaries and variable store templates

Message ID 20190313210057.32584-9-lersek@redhat.com
State New
Headers show
Series bundle edk2 platform firmware with QEMU | expand

Commit Message

Laszlo Ersek March 13, 2019, 9 p.m. UTC
Add the files built by the last patch: (compressed) binaries, and the
cumulative license text that covers them.

Signed-off-by: Laszlo Ersek <lersek@redhat.com>
---

Notes:
    v2:
    
    - capture the compressed build outputs of the last patch; slightly
      update the commit message [Dan, Michael, Phil]
    
    - consequently, do not pick up Michal's and Michael's R-b's

 pc-bios/edk2-licenses.txt             | 209 ++++++++++++++++++++
 pc-bios/edk2-aarch64-code.fd.xz       | Bin 0 -> 1146804 bytes
 pc-bios/edk2-arm-code.fd.xz           | Bin 0 -> 1147852 bytes
 pc-bios/edk2-arm-vars.fd.xz           | Bin 0 -> 10008 bytes
 pc-bios/edk2-i386-code.fd.xz          | Bin 0 -> 1674764 bytes
 pc-bios/edk2-i386-secure-code.fd.xz   | Bin 0 -> 1870024 bytes
 pc-bios/edk2-i386-vars.fd.xz          | Bin 0 -> 320 bytes
 pc-bios/edk2-x86_64-code.fd.xz        | Bin 0 -> 1655276 bytes
 pc-bios/edk2-x86_64-secure-code.fd.xz | Bin 0 -> 1889024 bytes
 9 files changed, 209 insertions(+)

diff --git a/pc-bios/edk2-aarch64-code.fd.xz b/pc-bios/edk2-aarch64-code.fd.xz
new file mode 100644
index 000000000000..8ca34c56b51b
Binary files /dev/null and b/pc-bios/edk2-aarch64-code.fd.xz differ
diff --git a/pc-bios/edk2-arm-code.fd.xz b/pc-bios/edk2-arm-code.fd.xz
new file mode 100644
index 000000000000..db2c20b71e29
Binary files /dev/null and b/pc-bios/edk2-arm-code.fd.xz differ
diff --git a/pc-bios/edk2-arm-vars.fd.xz b/pc-bios/edk2-arm-vars.fd.xz
new file mode 100644
index 000000000000..8c3a4b5c8bdc
Binary files /dev/null and b/pc-bios/edk2-arm-vars.fd.xz differ
diff --git a/pc-bios/edk2-i386-code.fd.xz b/pc-bios/edk2-i386-code.fd.xz
new file mode 100644
index 000000000000..f25dbec37e72
Binary files /dev/null and b/pc-bios/edk2-i386-code.fd.xz differ
diff --git a/pc-bios/edk2-i386-secure-code.fd.xz b/pc-bios/edk2-i386-secure-code.fd.xz
new file mode 100644
index 000000000000..11d499b90d85
Binary files /dev/null and b/pc-bios/edk2-i386-secure-code.fd.xz differ
diff --git a/pc-bios/edk2-i386-vars.fd.xz b/pc-bios/edk2-i386-vars.fd.xz
new file mode 100644
index 000000000000..1656532daa6e
Binary files /dev/null and b/pc-bios/edk2-i386-vars.fd.xz differ
diff --git a/pc-bios/edk2-x86_64-code.fd.xz b/pc-bios/edk2-x86_64-code.fd.xz
new file mode 100644
index 000000000000..92398935a482
Binary files /dev/null and b/pc-bios/edk2-x86_64-code.fd.xz differ
diff --git a/pc-bios/edk2-x86_64-secure-code.fd.xz b/pc-bios/edk2-x86_64-secure-code.fd.xz
new file mode 100644
index 000000000000..a95891dcf134
Binary files /dev/null and b/pc-bios/edk2-x86_64-secure-code.fd.xz differ

Comments

Michal Prívozník March 14, 2019, 2:01 p.m. UTC | #1
On 3/13/19 10:00 PM, Laszlo Ersek wrote:
> Add the files built by the last patch: (compressed) binaries, and the
> cumulative license text that covers them.
> 
> Signed-off-by: Laszlo Ersek <lersek@redhat.com>
> ---
> 
> Notes:
>      v2:
>      
>      - capture the compressed build outputs of the last patch; slightly
>        update the commit message [Dan, Michael, Phil]
>      
>      - consequently, do not pick up Michal's and Michael's R-b's
> 
>   pc-bios/edk2-licenses.txt             | 209 ++++++++++++++++++++
>   pc-bios/edk2-aarch64-code.fd.xz       | Bin 0 -> 1146804 bytes
>   pc-bios/edk2-arm-code.fd.xz           | Bin 0 -> 1147852 bytes
>   pc-bios/edk2-arm-vars.fd.xz           | Bin 0 -> 10008 bytes
>   pc-bios/edk2-i386-code.fd.xz          | Bin 0 -> 1674764 bytes
>   pc-bios/edk2-i386-secure-code.fd.xz   | Bin 0 -> 1870024 bytes
>   pc-bios/edk2-i386-vars.fd.xz          | Bin 0 -> 320 bytes
>   pc-bios/edk2-x86_64-code.fd.xz        | Bin 0 -> 1655276 bytes
>   pc-bios/edk2-x86_64-secure-code.fd.xz | Bin 0 -> 1889024 bytes
>   9 files changed, 209 insertions(+)

Reviewed-by: Michal Privoznik <mprivozn@redhat.com>

Michal
Philippe Mathieu-Daudé March 14, 2019, 6:43 p.m. UTC | #2
On 3/13/19 10:00 PM, Laszlo Ersek wrote:
> Add the files built by the last patch: (compressed) binaries, and the
> cumulative license text that covers them.
> 
> Signed-off-by: Laszlo Ersek <lersek@redhat.com>
> ---
> 
> Notes:
>     v2:
>     
>     - capture the compressed build outputs of the last patch; slightly
>       update the commit message [Dan, Michael, Phil]
>     
>     - consequently, do not pick up Michal's and Michael's R-b's

Well I was not explicit in my previous review: I simply checked the
Licenses match the EDK2 project, but I haven't review the binaries.
Ideally I'd rather submit the binaries from a CI system or a Docker
image than your workstation.

> 
>  pc-bios/edk2-licenses.txt             | 209 ++++++++++++++++++++

Since it is the same content my R-b stands:
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>

>  pc-bios/edk2-aarch64-code.fd.xz       | Bin 0 -> 1146804 bytes
>  pc-bios/edk2-arm-code.fd.xz           | Bin 0 -> 1147852 bytes
>  pc-bios/edk2-arm-vars.fd.xz           | Bin 0 -> 10008 bytes
>  pc-bios/edk2-i386-code.fd.xz          | Bin 0 -> 1674764 bytes
>  pc-bios/edk2-i386-secure-code.fd.xz   | Bin 0 -> 1870024 bytes
>  pc-bios/edk2-i386-vars.fd.xz          | Bin 0 -> 320 bytes
>  pc-bios/edk2-x86_64-code.fd.xz        | Bin 0 -> 1655276 bytes
>  pc-bios/edk2-x86_64-secure-code.fd.xz | Bin 0 -> 1889024 bytes
>  9 files changed, 209 insertions(+)
> 
> diff --git a/pc-bios/edk2-licenses.txt b/pc-bios/edk2-licenses.txt
> new file mode 100644
> index 000000000000..8bdb1abc993e
> --- /dev/null
> +++ b/pc-bios/edk2-licenses.txt
> @@ -0,0 +1,209 @@
> +==> edk2/License.txt <==
> +Copyright (c) 2004 - 2016, Intel Corporation. All rights reserved.
> +Copyright (c) 2008 - 2010, Apple Inc. All rights reserved.
> +Copyright (c) 2011 - 2015, ARM Limited. All rights reserved.
> +Copyright (c) 2014 - 2015, Linaro Limited. All rights reserved.
> +Copyright (c) 2013 - 2015, Red Hat, Inc.
> +
> +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.
> +
> +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 HOLDER 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.
> +
> +==> edk2/OvmfPkg/License.txt <==
> +Copyright (c) 2012, 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.
> +
> +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 HOLDER 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.
> +
> +
> +Some files are subject to the following license, the MIT license. Those files
> +are located in:
> +- OvmfPkg/Include/IndustryStandard/Xen/
> +- OvmfPkg/XenBusDxe/
> +- OvmfPkg/XenPvBlkDxe/
> +
> +Permission is hereby granted, free of charge, to any person obtaining a copy
> +of this software and associated documentation files (the "Software"), to deal
> +in the Software without restriction, including without limitation the rights
> +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
> +copies of the Software, and to permit persons to whom the Software is
> +furnished to do so, subject to the following conditions:
> +
> +The above copyright notice and this permission notice shall be included in
> +all copies or substantial portions of the Software.
> +
> +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
> +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
> +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
> +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
> +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
> +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
> +THE SOFTWARE.
> +
> +==> edk2/CryptoPkg/Library/OpensslLib/openssl/LICENSE <==
> +
> +  LICENSE ISSUES
> +  ==============
> +
> +  The OpenSSL toolkit stays under a double license, i.e. both the conditions of
> +  the OpenSSL License and the original SSLeay license apply to the toolkit.
> +  See below for the actual license texts.
> +
> +  OpenSSL License
> +  ---------------
> +
> +/* ====================================================================
> + * Copyright (c) 1998-2018 The OpenSSL Project.  All rights reserved.
> + *
> + * Redistribution and use in source and binary forms, with or without
> + * modification, are permitted provided that the following conditions
> + * are met:
> + *
> + * 1. Redistributions of source code must retain the above copyright
> + *    notice, this list of conditions and the following disclaimer. 
> + *
> + * 2. 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.
> + *
> + * 3. All advertising materials mentioning features or use of this
> + *    software must display the following acknowledgment:
> + *    "This product includes software developed by the OpenSSL Project
> + *    for use in the OpenSSL Toolkit. (http://www.openssl.org/)"
> + *
> + * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to
> + *    endorse or promote products derived from this software without
> + *    prior written permission. For written permission, please contact
> + *    openssl-core@openssl.org.
> + *
> + * 5. Products derived from this software may not be called "OpenSSL"
> + *    nor may "OpenSSL" appear in their names without prior written
> + *    permission of the OpenSSL Project.
> + *
> + * 6. Redistributions of any form whatsoever must retain the following
> + *    acknowledgment:
> + *    "This product includes software developed by the OpenSSL Project
> + *    for use in the OpenSSL Toolkit (http://www.openssl.org/)"
> + *
> + * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY
> + * EXPRESSED 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 OpenSSL PROJECT OR
> + * ITS 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.
> + * ====================================================================
> + *
> + * This product includes cryptographic software written by Eric Young
> + * (eay@cryptsoft.com).  This product includes software written by Tim
> + * Hudson (tjh@cryptsoft.com).
> + *
> + */
> +
> + Original SSLeay License
> + -----------------------
> +
> +/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
> + * All rights reserved.
> + *
> + * This package is an SSL implementation written
> + * by Eric Young (eay@cryptsoft.com).
> + * The implementation was written so as to conform with Netscapes SSL.
> + * 
> + * This library is free for commercial and non-commercial use as long as
> + * the following conditions are aheared to.  The following conditions
> + * apply to all code found in this distribution, be it the RC4, RSA,
> + * lhash, DES, etc., code; not just the SSL code.  The SSL documentation
> + * included with this distribution is covered by the same copyright terms
> + * except that the holder is Tim Hudson (tjh@cryptsoft.com).
> + * 
> + * Copyright remains Eric Young's, and as such any Copyright notices in
> + * the code are not to be removed.
> + * If this package is used in a product, Eric Young should be given attribution
> + * as the author of the parts of the library used.
> + * This can be in the form of a textual message at program startup or
> + * in documentation (online or textual) provided with the package.
> + * 
> + * Redistribution and use in source and binary forms, with or without
> + * modification, are permitted provided that the following conditions
> + * are met:
> + * 1. Redistributions of source code must retain the copyright
> + *    notice, this list of conditions and the following disclaimer.
> + * 2. 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.
> + * 3. All advertising materials mentioning features or use of this software
> + *    must display the following acknowledgement:
> + *    "This product includes cryptographic software written by
> + *     Eric Young (eay@cryptsoft.com)"
> + *    The word 'cryptographic' can be left out if the rouines from the library
> + *    being used are not cryptographic related :-).
> + * 4. If you include any Windows specific code (or a derivative thereof) from 
> + *    the apps directory (application code) you must include an acknowledgement:
> + *    "This product includes software written by Tim Hudson (tjh@cryptsoft.com)"
> + * 
> + * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``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 AUTHOR 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.
> + * 
> + * The licence and distribution terms for any publically available version or
> + * derivative of this code cannot be changed.  i.e. this code cannot simply be
> + * copied and put under another distribution licence
> + * [including the GNU Public Licence.]
> + */
> +
> diff --git a/pc-bios/edk2-aarch64-code.fd.xz b/pc-bios/edk2-aarch64-code.fd.xz
> new file mode 100644
> index 000000000000..8ca34c56b51b
> Binary files /dev/null and b/pc-bios/edk2-aarch64-code.fd.xz differ
> diff --git a/pc-bios/edk2-arm-code.fd.xz b/pc-bios/edk2-arm-code.fd.xz
> new file mode 100644
> index 000000000000..db2c20b71e29
> Binary files /dev/null and b/pc-bios/edk2-arm-code.fd.xz differ
> diff --git a/pc-bios/edk2-arm-vars.fd.xz b/pc-bios/edk2-arm-vars.fd.xz
> new file mode 100644
> index 000000000000..8c3a4b5c8bdc
> Binary files /dev/null and b/pc-bios/edk2-arm-vars.fd.xz differ
> diff --git a/pc-bios/edk2-i386-code.fd.xz b/pc-bios/edk2-i386-code.fd.xz
> new file mode 100644
> index 000000000000..f25dbec37e72
> Binary files /dev/null and b/pc-bios/edk2-i386-code.fd.xz differ
> diff --git a/pc-bios/edk2-i386-secure-code.fd.xz b/pc-bios/edk2-i386-secure-code.fd.xz
> new file mode 100644
> index 000000000000..11d499b90d85
> Binary files /dev/null and b/pc-bios/edk2-i386-secure-code.fd.xz differ
> diff --git a/pc-bios/edk2-i386-vars.fd.xz b/pc-bios/edk2-i386-vars.fd.xz
> new file mode 100644
> index 000000000000..1656532daa6e
> Binary files /dev/null and b/pc-bios/edk2-i386-vars.fd.xz differ
> diff --git a/pc-bios/edk2-x86_64-code.fd.xz b/pc-bios/edk2-x86_64-code.fd.xz
> new file mode 100644
> index 000000000000..92398935a482
> Binary files /dev/null and b/pc-bios/edk2-x86_64-code.fd.xz differ
> diff --git a/pc-bios/edk2-x86_64-secure-code.fd.xz b/pc-bios/edk2-x86_64-secure-code.fd.xz
> new file mode 100644
> index 000000000000..a95891dcf134
> Binary files /dev/null and b/pc-bios/edk2-x86_64-secure-code.fd.xz differ
>
Daniel P. Berrangé March 15, 2019, 11:28 a.m. UTC | #3
On Thu, Mar 14, 2019 at 07:43:58PM +0100, Philippe Mathieu-Daudé wrote:
> On 3/13/19 10:00 PM, Laszlo Ersek wrote:
> > Add the files built by the last patch: (compressed) binaries, and the
> > cumulative license text that covers them.
> > 
> > Signed-off-by: Laszlo Ersek <lersek@redhat.com>
> > ---
> > 
> > Notes:
> >     v2:
> >     
> >     - capture the compressed build outputs of the last patch; slightly
> >       update the commit message [Dan, Michael, Phil]
> >     
> >     - consequently, do not pick up Michal's and Michael's R-b's
> 
> Well I was not explicit in my previous review: I simply checked the
> Licenses match the EDK2 project, but I haven't review the binaries.
> Ideally I'd rather submit the binaries from a CI system or a Docker
> image than your workstation.

I think that point probably applies to all of the binary ROMs
that QEMU is already distributing.

We have make rules that build them from the subdir, but we have
no record of what kind of host they were built on by the maintainer
which is troublesome for reproducability.

It would be nice if we had a standard dockerfile that was designated
as the build environment for each of the ROMs (one docker file might
be suitable for many of the ROMs in fact).

After building in the docker environment, we should capture a list
of all the RPM/Deb packages that were in the docker image, and
commit that to git alongside the binary ROM as a record of the
actual build environment.

We should be able to automate this whole process, so the maintainer
just updates the submodule hash, and then runs "make rom-refresh-edk".
It would run the docker build, capture the package list, and do the
actual git commit with it all.

With all that said, I don't think that needs to block Laszlo's
series. We already have this problem of reproducability with all
the existing ROMs and its thus unreasonable to hold Laszlo to
a different higher standard that what we've already accepted.

I think it is highly desirable as something to priortize though
going forward. Perhaps we can set it as a target for next release
cycle that all future binary ROM refreshes must be done from a
docker env & the installed package set be recorded in git next
to the ROM.

Regards,
Daniel
Gerd Hoffmann March 15, 2019, 12:29 p.m. UTC | #4
Hi,

> It would be nice if we had a standard dockerfile that was designated
> as the build environment for each of the ROMs (one docker file might
> be suitable for many of the ROMs in fact).

If we manage to pull that off I'm wondering whenever there is a point
in continuing shipping the firmware binaries in git in the first place.

The reason we ship binaries is that building the firmware isn't easy,
due to special requirements, especially for non-native archs, needing
cross compilers for example.

But that point is moot if we can get fully automated firmware builds
going, by using docker and a distro with cross compilers ...

cheers,
  Gerd
Daniel P. Berrangé March 15, 2019, 12:40 p.m. UTC | #5
On Fri, Mar 15, 2019 at 01:29:31PM +0100, Gerd Hoffmann wrote:
>   Hi,
> 
> > It would be nice if we had a standard dockerfile that was designated
> > as the build environment for each of the ROMs (one docker file might
> > be suitable for many of the ROMs in fact).
> 
> If we manage to pull that off I'm wondering whenever there is a point
> in continuing shipping the firmware binaries in git in the first place.
> 
> The reason we ship binaries is that building the firmware isn't easy,
> due to special requirements, especially for non-native archs, needing
> cross compilers for example.
> 
> But that point is moot if we can get fully automated firmware builds
> going, by using docker and a distro with cross compilers ...

The main problem would be that we target many different operating
systems, but only Linux would be able to run the docker builds.
So people on FreeBSD, macOS etc still need firmware binaries, or
we would be forcing them to use Linux to build part of their system.

There's also possibly complications with non-x86 architctures, as
docker images tend to mostly be focused on x86 hosts.

Regards,
Daniel
Philippe Mathieu-Daudé March 15, 2019, 4:47 p.m. UTC | #6
Hi Daniel,

On 3/15/19 12:28 PM, Daniel P. Berrangé wrote:
> On Thu, Mar 14, 2019 at 07:43:58PM +0100, Philippe Mathieu-Daudé wrote:
>> On 3/13/19 10:00 PM, Laszlo Ersek wrote:
>>> Add the files built by the last patch: (compressed) binaries, and the
>>> cumulative license text that covers them.
>>>
>>> Signed-off-by: Laszlo Ersek <lersek@redhat.com>
>>> ---
>>>
>>> Notes:
>>>     v2:
>>>     
>>>     - capture the compressed build outputs of the last patch; slightly
>>>       update the commit message [Dan, Michael, Phil]
>>>     
>>>     - consequently, do not pick up Michal's and Michael's R-b's
>>
>> Well I was not explicit in my previous review: I simply checked the
>> Licenses match the EDK2 project, but I haven't review the binaries.
>> Ideally I'd rather submit the binaries from a CI system or a Docker
>> image than your workstation.
> 
> I think that point probably applies to all of the binary ROMs
> that QEMU is already distributing.
> 
> We have make rules that build them from the subdir, but we have
> no record of what kind of host they were built on by the maintainer
> which is troublesome for reproducability.
> 
> It would be nice if we had a standard dockerfile that was designated
> as the build environment for each of the ROMs (one docker file might
> be suitable for many of the ROMs in fact).

Actually I use docker to build EDK2:

https://github.com/philmd/edk2-docker/tree/aarch64_builds
Gerd Hoffmann March 18, 2019, 8:10 a.m. UTC | #7
Hi,

> > But that point is moot if we can get fully automated firmware builds
> > going, by using docker and a distro with cross compilers ...
> 
> The main problem would be that we target many different operating
> systems, but only Linux would be able to run the docker builds.
> So people on FreeBSD, macOS etc still need firmware binaries, or
> we would be forcing them to use Linux to build part of their system.

Sure, we should still provide firmware binaries, but that doesn't need
to be the git source tree then.  CI could provide firmware blobs for
download.

cheers,
  Gerd
diff mbox series

Patch

diff --git a/pc-bios/edk2-licenses.txt b/pc-bios/edk2-licenses.txt
new file mode 100644
index 000000000000..8bdb1abc993e
--- /dev/null
+++ b/pc-bios/edk2-licenses.txt
@@ -0,0 +1,209 @@ 
+==> edk2/License.txt <==
+Copyright (c) 2004 - 2016, Intel Corporation. All rights reserved.
+Copyright (c) 2008 - 2010, Apple Inc. All rights reserved.
+Copyright (c) 2011 - 2015, ARM Limited. All rights reserved.
+Copyright (c) 2014 - 2015, Linaro Limited. All rights reserved.
+Copyright (c) 2013 - 2015, Red Hat, Inc.
+
+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.
+
+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 HOLDER 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.
+
+==> edk2/OvmfPkg/License.txt <==
+Copyright (c) 2012, 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.
+
+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 HOLDER 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.
+
+
+Some files are subject to the following license, the MIT license. Those files
+are located in:
+- OvmfPkg/Include/IndustryStandard/Xen/
+- OvmfPkg/XenBusDxe/
+- OvmfPkg/XenPvBlkDxe/
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
+
+==> edk2/CryptoPkg/Library/OpensslLib/openssl/LICENSE <==
+
+  LICENSE ISSUES
+  ==============
+
+  The OpenSSL toolkit stays under a double license, i.e. both the conditions of
+  the OpenSSL License and the original SSLeay license apply to the toolkit.
+  See below for the actual license texts.
+
+  OpenSSL License
+  ---------------
+
+/* ====================================================================
+ * Copyright (c) 1998-2018 The OpenSSL Project.  All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer. 
+ *
+ * 2. 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.
+ *
+ * 3. All advertising materials mentioning features or use of this
+ *    software must display the following acknowledgment:
+ *    "This product includes software developed by the OpenSSL Project
+ *    for use in the OpenSSL Toolkit. (http://www.openssl.org/)"
+ *
+ * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to
+ *    endorse or promote products derived from this software without
+ *    prior written permission. For written permission, please contact
+ *    openssl-core@openssl.org.
+ *
+ * 5. Products derived from this software may not be called "OpenSSL"
+ *    nor may "OpenSSL" appear in their names without prior written
+ *    permission of the OpenSSL Project.
+ *
+ * 6. Redistributions of any form whatsoever must retain the following
+ *    acknowledgment:
+ *    "This product includes software developed by the OpenSSL Project
+ *    for use in the OpenSSL Toolkit (http://www.openssl.org/)"
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY
+ * EXPRESSED 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 OpenSSL PROJECT OR
+ * ITS 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.
+ * ====================================================================
+ *
+ * This product includes cryptographic software written by Eric Young
+ * (eay@cryptsoft.com).  This product includes software written by Tim
+ * Hudson (tjh@cryptsoft.com).
+ *
+ */
+
+ Original SSLeay License
+ -----------------------
+
+/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
+ * All rights reserved.
+ *
+ * This package is an SSL implementation written
+ * by Eric Young (eay@cryptsoft.com).
+ * The implementation was written so as to conform with Netscapes SSL.
+ * 
+ * This library is free for commercial and non-commercial use as long as
+ * the following conditions are aheared to.  The following conditions
+ * apply to all code found in this distribution, be it the RC4, RSA,
+ * lhash, DES, etc., code; not just the SSL code.  The SSL documentation
+ * included with this distribution is covered by the same copyright terms
+ * except that the holder is Tim Hudson (tjh@cryptsoft.com).
+ * 
+ * Copyright remains Eric Young's, and as such any Copyright notices in
+ * the code are not to be removed.
+ * If this package is used in a product, Eric Young should be given attribution
+ * as the author of the parts of the library used.
+ * This can be in the form of a textual message at program startup or
+ * in documentation (online or textual) provided with the package.
+ * 
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. 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.
+ * 3. All advertising materials mentioning features or use of this software
+ *    must display the following acknowledgement:
+ *    "This product includes cryptographic software written by
+ *     Eric Young (eay@cryptsoft.com)"
+ *    The word 'cryptographic' can be left out if the rouines from the library
+ *    being used are not cryptographic related :-).
+ * 4. If you include any Windows specific code (or a derivative thereof) from 
+ *    the apps directory (application code) you must include an acknowledgement:
+ *    "This product includes software written by Tim Hudson (tjh@cryptsoft.com)"
+ * 
+ * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``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 AUTHOR 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.
+ * 
+ * The licence and distribution terms for any publically available version or
+ * derivative of this code cannot be changed.  i.e. this code cannot simply be
+ * copied and put under another distribution licence
+ * [including the GNU Public Licence.]
+ */
+