%global vendor %{?_vendor:%{_vendor}}%{!?_vendor:openEuler} %global rpmvdir /usr/lib/rpm/%{vendor} Name: %{vendor}-rpm-config Version: 31 Release: 4 License: GPL+ Summary: specific rpm configuration files URL: https://gitee.com/src-openeuler/openEuler-rpm-config Buildarch: noarch # Core rpm settings Source0: macros Source1: rpmrc # gcc specs files for hardened builds Source10: generic-hardened-cc1 Source11: generic-hardened-ld Source12: generic-pie-cc1 Source13: generic-pie-ld # clang config spec files Source51: generic-hardened-clang.cfg # The macros defined by these files are for things that need to be defined # at srpm creation time when it is not feasible to require the base packages # that would otherwise be providing the macros. Source100: macros.perl Source101: macros.forge Source102: macros.go Source103: macros.python Source104: macros.kmp # Dependency generator scripts Source200: find-requires.ksyms # Misc helper scripts Source300: kmodtool Source301: find-requires # Snapshots from http://git.savannah.gnu.org/gitweb/?p=config.git Source500: config.guess Source501: config.sub # BRPs Source700: brp-chrpath Source701: brp-digest-list Source702: brp-ebs-sign Source703: brp-ldconfig Source704: brp-remove-info-dir Source705: brp-check-elf-files Source706: brp-strip-lto # Convenience lua functions Source800: common.lua Provides: python-rpm-macros = %{?epoch:%{epoch}:}%{version}-%{release} Provides: python2-rpm-macros = %{?epoch:%{epoch}:}%{version}-%{release} Provides: python3-rpm-macros = %{?epoch:%{epoch}:}%{version}-%{release} Provides: python-srpm-macros = %{?epoch:%{epoch}:}%{version}-%{release} Provides: fpc-srpm-macros = 1.1-6 Provides: ghc-srpm-macros = 1.4.2-8 Provides: gnat-srpm-macros = 4-6 Provides: nim-srpm-macros = 1-3 Provides: ocaml-srpm-macros = 5-4 Provides: openblas-srpm-macros = 2-4 Provides: perl-srpm-macros = 1-28 Provides: rust-srpm-macros = 10-1 Provides: go-srpm-macros = 2-18 Provides: perl-macros = 4:5.32.0-1 Obsoletes: perl-macros < 4:5.32.0-1 Obsoletes: python-rpm-macros < %{?epoch:%{epoch}:}%{version}-%{release} Obsoletes: python2-rpm-macros < %{?epoch:%{epoch}:}%{version}-%{release} Obsoletes: python3-rpm-macros < %{?epoch:%{epoch}:}%{version}-%{release} Obsoletes: python-srpm-macros < %{?epoch:%{epoch}:}%{version}-%{release} Obsoletes: fpc-srpm-macros < 1.1-6 Obsoletes: ghc-srpm-macros < 1.4.2-8 Obsoletes: gnat-srpm-macros < 4-6 Obsoletes: nim-srpm-macros < 1-3 Obsoletes: ocaml-srpm-macros < 5-4 Obsoletes: openblas-srpm-macros < 2-4 Obsoletes: perl-srpm-macros < 1-28 Obsoletes: rust-srpm-macros < 10-1 Obsoletes: go-srpm-macros < 2-18 %if "%{vendor}" != "openEuler" Provides: openEuler-rpm-config = %{?epoch:%{epoch}:}%{version}-%{release} Obsoletes: openEuler-rpm-config < %{?epoch:%{epoch}:}%{version}-%{release} %endif Requires: efi-srpm-macros Requires: qt5-srpm-macros Requires: rpm >= 4.17.0 Requires: rpm-build >= 4.17.0 Requires: zip Requires: curl #Requires: (annobin if gcc) # for brp-mangle-shebangs Requires: %{_bindir}/find Requires: %{_bindir}/file Requires: %{_bindir}/grep Requires: %{_bindir}/sed Requires: %{_bindir}/xargs Requires: %{_bindir}/chrpath Requires: %{_bindir}/eu-elfclassify Requires: coreutils # -fstack-clash-protection and -fcf-protection require GCC 8. Conflicts: gcc < 7 Provides: system-rpm-config = %{version}-%{release} %description specific rpm configuration files for %{vendor}. %package -n kernel-rpm-macros Summary: Macros and scripts for building kernel module packages %description -n kernel-rpm-macros Macros and scripts for building kernel module packages. %prep %setup -Tc -n %{name}-%{version} cp %{_sourcedir}/* . rm -f generic-rpm-config.yaml %autopatch -p1 %install mkdir -p %{buildroot}%{rpmvdir} install -p -m 644 -t %{buildroot}%{rpmvdir} macros rpmrc install -p -m 755 -t %{buildroot}%{rpmvdir} config.* install -p -m 755 -t %{buildroot}%{_rpmconfigdir} brp-* install -p -m 644 -t %{buildroot}%{_rpmconfigdir} generic-* install -p -m 755 -t %{buildroot}%{rpmvdir} kmodtool install -p -m 755 -t %{buildroot}%{rpmvdir} find-requires* mkdir -p %{buildroot}%{_rpmconfigdir}/macros.d install -p -m 644 -t %{buildroot}%{_rpmconfigdir}/macros.d/ macros.perl macros.python macros.go macros.forge macros.kmp mkdir -p %{buildroot}%{_fileattrsdir} mkdir -p %{buildroot}%{_rpmluadir}/%{_vendor}/{rpm,srpm} install -p -m 644 -t %{buildroot}%{_rpmluadir}/%{_vendor} common.lua # Adaptive according to vendor sed -i "s/@VENDOR@/%{vendor}/g" `grep "@VENDOR@" -rl %{buildroot}%{_rpmconfigdir}` %files %dir %{rpmvdir} %{rpmvdir}/macros %{rpmvdir}/rpmrc %{_rpmconfigdir}/brp-* %{rpmvdir}/config.* %{_rpmconfigdir}/generic-* %{_fileattrsdir}/ %{_rpmconfigdir}/macros.d/ %{_rpmluadir}/%{_vendor}/*.lua %exclude %{_rpmconfigdir}/macros.d/macros.kmp %files -n kernel-rpm-macros %{rpmvdir}/kmodtool %{_rpmconfigdir}/macros.d/macros.kmp %{rpmvdir}/find-requires %{rpmvdir}/find-requires.ksyms %changelog * Fri Sep 06 2024 Funda Wang - 31-4 - Enable LTO by default * Thu Aug 29 2024 Funda Wang - 31-3 - Output elf check result for maintainer to analyse * Thu Aug 29 2024 Funda Wang - 31-2 - remove /usr/share/info/dir in buildroot automatically * Sun Aug 25 2024 Funda Wang - 31-1 - merge two messy repositories - update config.sub and config.guess, without support on loongarchx32, as it does not exist in real world - add chrpath and coreutils runtime dependecies - bump rpm version requirement for brp-remove-la-files - package becomes noarch now * Tue Aug 6 2024 liyunfei - 30-58 - Fix for "%undefine _auto_set_build_XX" usage * Wed Jul 10 2024 xujing - 30-57 - enable --as-needed by default * Mon Apr 29 2024 xujing - 30-56 - don't delete the commented code in macros * Sun Apr 28 2024 laokz - 30-55 - add riscv64 to some arches macro * Sun Apr 7 2024 zhangguangzhi - 30-54 - ima digest list ebs sign ret 2 when errmsg is SIGN_PERMISSION_DENIED * Fri Mar 29 2024 zhangguangzhi - 30-53 - ima digest list ebs sign use file path and check errmsg * Fri Mar 22 2024 zhangguangzhi - 30-52 - ima digest list ebs sign support modsig * Fri Mar 15 2024 yueyuankun - 30-51 - Add optflags for loongarch64 and sw_64 * Tue Mar 12 2024 liyunfei - 30-50 - Add clang toolchain support * Tue Mar 5 2024 hongjinghao - 30-49 - Delete the commented code * Tue Feb 20 2024 peng.zou - 30-48 - add powerpc64le to generic_arches * Mon Dec 11 2023 jiahua.yu - 30-47 - Init support for arch ppc64le * Wed Nov 22 2023 xujing - 30-46 - add the scanning path of the rpath fix the ELF file cannot be found due to escape of '\' excute brp_chrpath before arch_install_post * Fri Nov 03 2023 fuanan - 30-45 - check if the file is a symbolic link in brp-digest-list * Thu Nov 2 2023 Yang Yanchao - 30-44 - kmodtool: use tmp.$$ instand of tmp.txt * Mon Aug 28 2023 liyunfei - 30-43 - Revert backport toolchain selecting and %%auto_set_build_flags patches * Thu Aug 17 2023 liyunfei - 30-42 - Backport Call %%set_build_flags before %%build, %%check, and %%install stages * Thu Aug 17 2023 liyunfei - 30-41 - Backport Add support for selecting a clang as a tool * Mon Jul 24 2023 Dongxing Wang - 30-40 - add pytest and tox macros * Thu May 11 2023 caodongxia - 30-39 - improve pyproject_install macro * Thu Apr 20 2023 caodongxia - 30-38 - support pyproject compilation * Fri Mar 24 2023 laokz - 30-37 - fix riscv64 default library directory of brp-ldconfig * Fri Mar 17 2023 Xinliang Liu - 30-36 - Fix kmod rpm install failed. * Sat Jan 14 2023 luhuaxin - 30-35 - support EBS sign * Wed Dec 14 2022 huajingyun - 30-34 - fix config error for loongarch64 * Tue Dec 13 2022 Wenlong Zhang - 30-33 - add loongarch64 for golang_arches * Wed Dec 7 2022 yangmingtai - 30-32 - fix latest_kernel macro * Wed Dec 7 2022 Yang Yanchao - 30-31 - backport kmp feature * Wed Nov 30 2022 yangmingtai - 30-30 - support Adaptive according to vendor * Mon Nov 21 2022 huajingyun - 30-29 - add loongarch64 support * Wed Oct 12 2022 yangmingtai - 30-28 - macro.kmp support -p preamble * Thu Sep 8 2022 yangmingtai - 30-27 - add find-requires and find-requires.ksyms * Mon Jun 13 2022 yangmingtai - 30-26 - fix build failed, bare words are no longer supported * Mon Dec 13 2021 Liu Zixian - 30-25 - fix python macros * Fri Nov 26 2021 shixuantong - 30-24 - update the definition of python3_version * Wed Oct 13 2021 wangkerong - 30-23 - add common lua scripts resolve "%fontpkg" macro translation failure * Sat Sep 4 2021 yangmingtai - 30-22 - add brp scripts to delete rpath * Thu Apr 8 2021 Anakin Zhang - 30-21 - exclude kernel source and EFI files in digest list building * Mon Mar 29 2021 shenyangyang - 30-20 - Patched missing patch that remove fexceptions * Thu Mar 25 2021 shenyangyang - 30-19 - Modify support for change vendor with better method * Thu Mar 18 2021 shenyangyang - 30-18 - Change the name of spec to openEuler-rpm-spec and fix few bugs * Thu Mar 11 2021 shenyangyang - 30-17 - Add for support for change vendor * Tue Dec 1 2020 whoisxxx - 30-16 - Add riscv64 in macros.go * Wed Sep 30 2020 shenyangyang - 30-15 - Change the source code to tar * Fri Aug 21 2020 Wang Shuo - 30-14 - fix error message for kmodtool * Thu Aug 13 2020 shenyangyang - 30-13 - Add provides of perl-macros * Thu Aug 6 2020 tianwei - 30-12 - delete strip-file-prefix * Mon Aug 3 2020 Anakin Zhang - 30-12 - add brp-digest-list * Fri Jun 19 2020 zhangliuyan - 30-11 - add kmodtool.py macros.kmp * Wed May 6 2020 openEuler Buildteam - 30-10 - Type:enhancement - ID:NA - SUG:NA - DESC: disable buildid link macro * Tue Feb 11 2020 openEuler Buildteam - 30-9 - Type:enhancement - ID:NA - SUG:NA - DESC:modify python_provide macro from python2 to python3 * Sun Jan 19 2020 openEuler Buildteam - 30-8 - Type:enhancement - ID:NA - SUG:NA - DESC:revise vendor in macro * Sun Jan 19 2020 openEuler Buildteam - 30-7 - Type:enhancement - ID:NA - SUG:NA - DESC:revise macro file * Tue Jan 14 2020 openEuler Buildteam - 30-6 - Type:enhancement - ID:NA - SUG:NA - DESC:update macros file * Tue Jan 14 2020 openEuler Buildteam - 30-5 - Type:enhancement - ID:NA - SUG:NA - DESC:add macros to macros.python * Mon Jan 13 2020 openEuler Buildteam - 30-4 - Type:enhancement - ID:NA - SUG:NA - DESC:update macros.python * Mon Jan 13 2020 openEuler Buildteam - 30-3 - Type:enhancement - ID:NA - SUG:NA - DESC:change type of files * Mon Jan 13 2020 openEuler Buildteam - 30-2 - Type:enhancement - ID:NA - SUG:NA - DESC:add source10 to package * Mon Jan 13 2020 openEuler Buildteam - 30-1 - Type:enhancement - ID:NA - SUG:NA - DESC:rebuild * Thu Dec 26 2019 openEuler Buildteam - 29-20 - Type:enhancement - ID:NA - SUG:NA - DESC:delete unneeded provides * Wed Nov 27 2019 fanghuiyu - 29-19 - Type:enhancement - ID:NA - SUG:NA - DESC:change to generic-rpm-config * Fri Nov 15 2019 jiangchuangang - 29-18 - Type:enhancement - ID:NA - SUG:NA - DESC: remove fcf-protection for x86_64 from rpmrc * Wed Oct 30 2019 hexiaowen - 29-17 - add custom macros * Wed Sep 25 2019 hexiaowen - 29-16 - add rust-srpm-macros and go-srpm-macros * Fri Sep 20 2019 hexiaowen - 29-15 - add version-release for python-rpm-macros * Fri Sep 20 2019 hexiaowen - 29-14 - add python-rpm-macros fpc-srpm-macros ghc-srpm-macros gnat-srpm-macros - nim-srpm-macros ocaml-srpm-macros openblas-srpm-macros perl-srpm-macros * Thu Aug 29 2019 hexiaowen - 29-13 - fix typo * Tue Aug 27 2019 hexiaowen - 29-2 - delete annobin * Wed Jul 18 2018 openEuler Buildteam - 29-1 - Package init