From: "Oliver Steffen" <osteffen@redhat.com>
To: Chris Fernald <chris.fernald@outlook.com>, devel@edk2.groups.io
Cc: Andrew Fish <afish@apple.com>,
Ard Biesheuvel <ardb+tianocore@kernel.org>,
Bob Feng <bob.c.feng@intel.com>,
Gerd Hoffmann <kraxel@redhat.com>,
Jiewen Yao <jiewen.yao@intel.com>,
Jordan Justen <jordan.l.justen@intel.com>,
Leif Lindholm <quic_llindhol@quicinc.com>,
Liming Gao <gaoliming@byosoft.com.cn>,
Michael D Kinney <michael.d.kinney@intel.com>,
Michael Kubacki <mikuback@linux.microsoft.com>,
Ray Ni <ray.ni@intel.com>, Sami Mujawar <sami.mujawar@arm.com>,
Sean Brogan <sean.brogan@microsoft.com>,
Yuwei Chen <yuwei.chen@intel.com>,
Pawel Polawski <ppolawsk@redhat.com>
Subject: Re: [edk2-devel] [PATCH v6 5/5] BaseTools: Remove ext. gcc dependencies (Linux only)
Date: Mon, 28 Nov 2022 09:47:53 -0500 [thread overview]
Message-ID: <CA+bRGFphKo2V3rMqHqd_Nie6B5Ofu=sLFfrcEvOBSWoCntyJTg@mail.gmail.com> (raw)
In-Reply-To: <IA1PR19MB6275761548150DF1FC51B319E7139@IA1PR19MB6275.namprd19.prod.outlook.com>
Quoting Chris Fernald (2022-11-28 06:20:36)
> Over-all I think this change is good to go. My only outstanding concern
> would be around deleting these yaml files for the compilers. I fear
> deleting them may break others work-flows and wonder if instead we
> should update the python files to first check for the presence of the
> prefix shell variable to dynamically determine if the extdep is needed
> or not similar to how the compiler plugins determine whether to use the
> extdep compiler or not.
Yes. Deleting the ext_dep files is for sure not the right way.
I think we need an option to allow the user (be it human or CI script)
to choose between using the ext_dep and the tools already present on the
system (=distro tools). This should affect gcc as well as all other
tools (iasl, nasm, ...).
I am not sure how to implement this in a good way. I had also started a
discussion on github about that [0]. But I have to admit that I was very
busy recently and had little time to work on this (sorry).
Thanks,
Oliver
[0] https://github.com/tianocore/edk2-pytool-extensions/discussions/323
>
> Thanks,
>
> Chris
>
> On 9/26/2022 9:31 AM, Oliver Steffen wrote:
> > Remove BaseTools/Bin/gcc*_linux_ext_dep.yaml to stop
> > downloading gcc from external locations; use the
> > toolchains provided by the container image instead.
> >
> > The image needs to set the GCC5_*_PREFIX accordingly.
> >
> > Signed-off-by: Oliver Steffen <osteffen@redhat.com>
> > ---
> > BaseTools/Bin/gcc_aarch64_linux_ext_dep.yaml | 21 ------------------
> > BaseTools/Bin/gcc_arm_linux_ext_dep.yaml | 21 ------------------
> > .../Bin/gcc_riscv64_unknown_ext_dep.yaml | 22 -------------------
> > 3 files changed, 64 deletions(-)
> > delete mode 100644 BaseTools/Bin/gcc_aarch64_linux_ext_dep.yaml
> > delete mode 100644 BaseTools/Bin/gcc_arm_linux_ext_dep.yaml
> > delete mode 100644 BaseTools/Bin/gcc_riscv64_unknown_ext_dep.yaml
> >
> > diff --git a/BaseTools/Bin/gcc_aarch64_linux_ext_dep.yaml
> > b/BaseTools/Bin/gcc_aarch64_linux_ext_dep.yaml
> > deleted file mode 100644
> > index ff8a9e868100..000000000000
> > --- a/BaseTools/Bin/gcc_aarch64_linux_ext_dep.yaml
> > +++ /dev/null
> > @@ -1,21 +0,0 @@
> > -## @file
> > -# Download GCC AARCH64 compiler from Arm's release site
> > -# Set shell variable GCC5_AARCH64_INSTALL to this folder
> > -#
> > -# This is only downloaded when a build activates scope gcc_aarch64_linux
> > -#
> > -# Copyright (c) Microsoft Corporation.
> > -# SPDX-License-Identifier: BSD-2-Clause-Patent
> > -##
> > -{
> > - "scope": "gcc_aarch64_linux",
> > - "type": "web",
> > - "name": "gcc_aarch64_linux",
> > - "source": "https://developer.arm.com/-/media/Files/downloads/gnu/11.2-2022.02/binrel/gcc-arm-11.2-2022.02-x86_64-aarch64-none-linux-gnu.tar.xz",
> > - "version": "11.2-2022.02",
> > - "sha256": "52dbac3eb71dbe0916f60a8c5ab9b7dc9b66b3ce513047baa09fae56234e53f3",
> > - "compression_type": "tar",
> > - "internal_path": "/gcc-arm-11.2-2022.02-x86_64-aarch64-none-linux-gnu/",
> > - "flags": ["set_shell_var", ],
> > - "var_name": "GCC5_AARCH64_INSTALL"
> > -}
> > diff --git a/BaseTools/Bin/gcc_arm_linux_ext_dep.yaml
> > b/BaseTools/Bin/gcc_arm_linux_ext_dep.yaml
> > deleted file mode 100644
> > index 151cbfa4b532..000000000000
> > --- a/BaseTools/Bin/gcc_arm_linux_ext_dep.yaml
> > +++ /dev/null
> > @@ -1,21 +0,0 @@
> > -## @file
> > -# Download GCC ARM compiler from Arm's release site
> > -# Set shell variable GCC5_ARM_INSTALL to this folder
> > -#
> > -# This is only downloaded when a build activates scope gcc_arm_linux
> > -#
> > -# Copyright (c) Microsoft Corporation.
> > -# SPDX-License-Identifier: BSD-2-Clause-Patent
> > -##
> > -{
> > - "scope": "gcc_arm_linux",
> > - "type": "web",
> > - "name": "gcc_arm_linux",
> > - "source": "https://developer.arm.com/-/media/Files/downloads/gnu/11.2-2022.02/binrel/gcc-arm-11.2-2022.02-x86_64-arm-none-linux-gnueabihf.tar.xz",
> > - "version": "11.2-2022.02",
> > - "sha256": "c254f7199261fe76c32ef42187502839bda7efad0a66646cf739d074eff45fad",
> > - "compression_type": "tar",
> > - "internal_path": "/gcc-arm-11.2-2022.02-x86_64-arm-none-linux-gnueabihf/",
> > - "flags": ["set_shell_var", ],
> > - "var_name": "GCC5_ARM_INSTALL"
> > -}
> > diff --git a/BaseTools/Bin/gcc_riscv64_unknown_ext_dep.yaml
> > b/BaseTools/Bin/gcc_riscv64_unknown_ext_dep.yaml
> > deleted file mode 100644
> > index 8abbcd7ba040..000000000000
> > --- a/BaseTools/Bin/gcc_riscv64_unknown_ext_dep.yaml
> > +++ /dev/null
> > @@ -1,22 +0,0 @@
> > -## @file
> > -# Download GCC RISCV64 compiler from RISC-V Organization release site
> > -# Set shell variable GCC5_RISCV64_INSTALL to this folder
> > -#
> > -# This is only downloaded when a build activates scope gcc_riscv64_unknown
> > -#
> > -# Copyright (c) Microsoft Corporation.
> > -# Copyright (c) 2020, Hewlett Packard Enterprise Development LP. All
> > rights reserved.<BR>
> > -# SPDX-License-Identifier: BSD-2-Clause-Patent
> > -##
> > -{
> > - "scope": "gcc_riscv64_unknown",
> > - "type": "web",
> > - "name": "gcc_riscv64_unknown",
> > - "source": "https://raw.githubusercontent.com/riscv/riscv-uefi-edk2-docs/master/gcc-riscv-edk2-ci-toolchain/gcc-riscv-9.2.0-2020.04-x86_64_riscv64-unknown-gnu.tar.xz",
> > - "version": "9.2.0",
> > - "compression_type": "tar",
> > - "sha256": "28373643b69f0ce008273c3dc63f172aa1121952f1b9ae94d7485ac94af7f344",
> > - "internal_path": "/gcc-riscv-9.2.0-2020.04-x86_64_riscv64-unknown-gnu",
> > - "flags": ["set_shell_var", ],
> > - "var_name": "GCC5_RISCV64_INSTALL"
> > -}
>
--
🎩Oliver Steffen (he/him) - Software Engineer, Virtualization
Red Hat GmbH <https://www.redhat.com/de/global/dach>,
Registered seat: Werner-von-Siemens-Ring 12, D-85630 Grasbrunn, Germany
Commercial register: Amtsgericht München/Munich, HRB 153243,
Managing Directors: Ryan Barnhart, Charles Cachera, Michael O'Neill,
Amy Ross
Everyone has different working hours… Please do not feel obligated to
reply outside of your normal work schedule.
prev parent reply other threads:[~2022-11-28 14:47 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <20220926163129.85032-1-osteffen@redhat.com>
2022-09-26 16:31 ` [PATCH v6 1/5] CI: make Python version configurable Oliver Steffen
2022-09-26 16:31 ` [PATCH v6 2/5] CI: add ~/.local/bin to PATH (Linux only) Oliver Steffen
2022-09-26 16:31 ` [PATCH v6 3/5] CI: Allow running in a container Oliver Steffen
2022-09-26 16:31 ` [PATCH v6 4/5] CI: Use Fedora 35 container (Linux only) Oliver Steffen
2022-09-26 16:31 ` [PATCH v6 5/5] BaseTools: Remove ext. gcc dependencies " Oliver Steffen
2022-11-28 5:20 ` [edk2-devel] " Chris Fernald
2022-11-28 14:47 ` Oliver Steffen [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-list from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to='CA+bRGFphKo2V3rMqHqd_Nie6B5Ofu=sLFfrcEvOBSWoCntyJTg@mail.gmail.com' \
--to=devel@edk2.groups.io \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox