diff options
| author | CoprDistGit <infra@openeuler.org> | 2026-06-10 02:35:33 +0000 |
|---|---|---|
| committer | CoprDistGit <infra@openeuler.org> | 2026-06-10 02:35:33 +0000 |
| commit | 3d3eaa05bdbe0d7f80a3929a2c0096af5b364272 (patch) | |
| tree | 8f611c70a9c046cb551a1640475c76ceb4c9b32b | |
| parent | 4d145424facb6075dd73bc7d5b8fb11d77beb174 (diff) | |
automatic import of ai-toolset-libstdc++openeuler24.03_LTS_SP2
| -rw-r--r-- | .gitignore | 2 | ||||
| -rw-r--r-- | ai-toolset-libstdc++.spec | 89 | ||||
| -rw-r--r-- | sources | 2 |
3 files changed, 93 insertions, 0 deletions
@@ -0,0 +1,2 @@ +/libstdc++-4.8.5-44.el7.aarch64.tar.gz +/libstdc++-4.8.5-44.el7.x86_64.tar.gz diff --git a/ai-toolset-libstdc++.spec b/ai-toolset-libstdc++.spec new file mode 100644 index 0000000..c767626 --- /dev/null +++ b/ai-toolset-libstdc++.spec @@ -0,0 +1,89 @@ +%global gcc_toolset_root /opt/openEuler/gcc-toolset-7/root +%global libstdcxx_soname libstdc++.so.6 +%global libstdcxx_realname libstdc++.so.6.0.19 +%global debug_package %{nil} + +%ifarch x86_64 +%global source_archive %{SOURCE0} +%global multiarch_dir x86_64-linux-gnu +%global gcc_triplet x86_64-pc-linux-gnu +%endif + +%ifarch aarch64 +%global source_archive %{SOURCE1} +%global multiarch_dir aarch64-linux-gnu +%global gcc_triplet aarch64-unknown-linux-gnu +%endif + +Name: ai-toolset-libstdc++ +Version: 4.8.5 +Release: 45 +Summary: Extract EL7 libstdc++ runtime for gcc-toolset-7 sysroot +License: GPLv3+ and GPLv3+ with exceptions and GPLv2+ with exceptions +URL: https://gcc.gnu.org/ + +# Put both tar.gz files into rpmbuild SOURCES. The package build selects the +# matching one by target architecture. +Source0: libstdc++-4.8.5-44.el7.x86_64.tar.gz +Source1: libstdc++-4.8.5-44.el7.aarch64.tar.gz + +ExclusiveArch: x86_64 aarch64 +BuildRequires: gzip +BuildRequires: tar + +# The extracted EL7 library is private to %%{gcc_toolset_root}. Do not +# let RPM dependency generators advertise it as the system libstdc++ provider. +AutoReqProv: no +Provides: bundled(libstdc++) = %{version}-%{release} + +%description +This package extracts libstdc++.so.6.0.19 from the EL7 libstdc++ archive +and installs it into the gcc-toolset-7 sysroot layout used on openEuler 24.03. + +%prep +rm -rf extract-root +mkdir -p extract-root +tar -xzf "%{source_archive}" -C extract-root \ + './usr/lib64/%{libstdcxx_realname}' + +%build +# Nothing to build. This package only repackages the runtime library. + +%install +rm -rf %{buildroot} + +install -d -m 0755 \ + %{buildroot}%{gcc_toolset_root}/usr/lib/%{multiarch_dir} \ + %{buildroot}%{gcc_toolset_root}/usr/lib/gcc/%{gcc_triplet}/7 + +install -m 0755 \ + extract-root/usr/lib64/%{libstdcxx_realname} \ + %{buildroot}%{gcc_toolset_root}/usr/lib/%{multiarch_dir}/%{libstdcxx_realname} + +ln -s %{libstdcxx_realname} \ + %{buildroot}%{gcc_toolset_root}/usr/lib/%{multiarch_dir}/%{libstdcxx_soname} + +# gcc-toolset-7 expects the GCC private directory to contain the +# old runtime as libstdc++.so.6. Install a real file here to match the script's +# final copy behavior. +install -m 0755 \ + extract-root/usr/lib64/%{libstdcxx_realname} \ + %{buildroot}%{gcc_toolset_root}/usr/lib/gcc/%{gcc_triplet}/7/%{libstdcxx_soname} + +%files +%dir /opt/openEuler +%dir /opt/openEuler/gcc-toolset-7 +%dir %{gcc_toolset_root} +%dir %{gcc_toolset_root}/usr +%dir %{gcc_toolset_root}/usr/lib +%dir %{gcc_toolset_root}/usr/lib/%{multiarch_dir} +%{gcc_toolset_root}/usr/lib/%{multiarch_dir}/%{libstdcxx_realname} +%{gcc_toolset_root}/usr/lib/%{multiarch_dir}/%{libstdcxx_soname} +%dir %{gcc_toolset_root}/usr/lib/gcc +%dir %{gcc_toolset_root}/usr/lib/gcc/%{gcc_triplet} +%dir %{gcc_toolset_root}/usr/lib/gcc/%{gcc_triplet}/7 +%{gcc_toolset_root}/usr/lib/gcc/%{gcc_triplet}/7/%{libstdcxx_soname} + +%changelog +* Thu May 28 2026 Example Maintainer <example@example.com> - 4.8.5-44 +- Extract EL7 libstdc++.so.6.0.19 into gcc-toolset-7 sysroot for openEuler 24.03 @@ -0,0 +1,2 @@ +16013a4e97ad89bc3568d940ce3a5267 libstdc++-4.8.5-44.el7.aarch64.tar.gz +060807d8c2065e20e93f3b4a78ad4db3 libstdc++-4.8.5-44.el7.x86_64.tar.gz |
