# # spec file for package kbuild-gcc # # Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed # upon. The license for this file, and modifications and additions to the # file, is the same license as for the pristine package itself (unless the # license for the pristine package is not an Open Source License, in which # case the license is the MIT License). An "Open Source License" is a # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. # Please submit bugfixes or comments via https://bugs.opensuse.org/ # %define mainline_gcc 15 Name: kbuild-gcc Version: 0 Release: 0 Summary: metapackage for installing gcc compilers required by kbuild License: MIT BuildRequires: cross-aarch64-binutils BuildRequires: cross-aarch64-gcc48 BuildRequires: cross-aarch64-gcc7 BuildRequires: cross-aarch64-gcc13-bootstrap BuildRequires: cross-aarch64-gcc%{mainline_gcc}-bootstrap BuildRequires: cross-arm-binutils BuildRequires: cross-armv7hl-gcc48 BuildRequires: cross-arm-gcc7 BuildRequires: cross-arm-gcc13 BuildRequires: cross-arm-gcc%{mainline_gcc} BuildRequires: cross-ppc64le-binutils BuildRequires: cross-ppc64le-gcc48 BuildRequires: cross-ppc64le-gcc7 BuildRequires: cross-ppc64le-gcc13-bootstrap BuildRequires: cross-ppc64le-gcc%{mainline_gcc}-bootstrap BuildRequires: cross-s390x-binutils BuildRequires: cross-s390x-gcc48 BuildRequires: cross-s390x-gcc7 BuildRequires: cross-s390x-gcc13-bootstrap BuildRequires: cross-s390x-gcc%{mainline_gcc}-bootstrap BuildRequires: gcc%{mainline_gcc} BuildRequires: gcc%{mainline_gcc}-c++ Requires: bc Requires: bison Requires: dwarves Requires: suse-kabi-tools Requires: pkgconfig(libtraceevent) Requires: cross-aarch64-binutils Requires: cross-aarch64-gcc48 Requires: cross-aarch64-gcc7 Requires: cross-aarch64-gcc13-bootstrap Requires: cross-aarch64-gcc%{mainline_gcc}-bootstrap Requires: cross-arm-binutils Requires: cross-armv7hl-gcc48 Requires: cross-arm-gcc7 Requires: cross-arm-gcc13 Requires: cross-arm-gcc%{mainline_gcc} Requires: cross-ppc64le-binutils Requires: cross-ppc64le-gcc48 Requires: cross-ppc64le-gcc7 Requires: cross-ppc64le-gcc13-bootstrap Requires: cross-ppc64le-gcc%{mainline_gcc}-bootstrap Requires: cross-s390x-binutils Requires: cross-s390x-gcc48 Requires: cross-s390x-gcc7 Requires: cross-s390x-gcc13-bootstrap Requires: cross-s390x-gcc%{mainline_gcc}-bootstrap Requires: flex Requires: gcc48 Requires: gcc48-c++ Requires: gcc7 Requires: gcc7-c++ Requires: gcc13 Requires: gcc13-c++ Requires: gcc%{mainline_gcc} Requires: gcc%{mainline_gcc}-c++ Requires: git-core Requires: libelf-devel Requires: libopenssl-1_1-devel Requires: make Requires: boottest-ramdisk-12 Requires: boottest-ramdisk-15 # Requires: boottest-ramdisk-16 # 15.5 and later packages cannot be extracted by SLE12 rpm ExclusiveArch: x86_64 %description %prep %build %install mkdir -p %{buildroot}%{_bindir} # unify arm crosscompiler architecture name for i in %{_bindir}/armv7hl-suse-linux-gnueabi-*-4.8 ; do j=$(echo $i | sed -e 's/armv7hl-/arm-/') ln -s $(basename $i) %{buildroot}$j done # allow to leave out -gnueabi from arm cross-compilers for i in {%{buildroot},}%{_bindir}/arm-suse-linux-gnueabi-* ; do j=$(echo $i | sed -e 's/-gnueabi//' -e "s|%{buildroot}||") ln -s $(basename $i) %{buildroot}$j done # gcc-4.8 cross-compilers mkdir -p %{buildroot}%{_bindir}/gcc48 for i in {%{buildroot},}%{_bindir}/*-4.8; do ln -s "../$(basename "$i")" %{buildroot}%{_bindir}/gcc48/"$(basename "$i" -4.8)" done # gcc-7 cross-compilers mkdir -p %{buildroot}%{_bindir}/gcc7 for i in {%{buildroot},}%{_bindir}/*-7; do ln -s "../$(basename "$i")" %{buildroot}%{_bindir}/gcc7/"$(basename "$i" -7)" done # gcc-13 cross-compilers mkdir -p %{buildroot}%{_bindir}/gcc13 for i in {%{buildroot},}%{_bindir}/*-13; do ln -s "../$(basename "$i")" %{buildroot}%{_bindir}/gcc13/"$(basename "$i" -13)" done mkdir -p %{buildroot}%{_bindir}/gcc-current for i in $(ls /usr/bin/*-%{mainline_gcc} | grep -v linux); do ln -s "../$(basename "$i")" %{buildroot}%{_bindir}/gcc-current/"$(basename "$i" -%{mainline_gcc})" done %post %postun %files %{_bindir}/* %changelog