From d68770f6939ab160ff27ec4e65ccc88cd3677bd0 Mon Sep 17 00:00:00 2001 From: CoprDistGit Date: Wed, 18 Sep 2024 07:06:26 +0000 Subject: automatic import of openEuler-rpm-config --- 0001-1-Add-riscv64-to-golang_arches.patch | 27 - 0001-Enable-LTO-By-Default.patch | 625 ------ 0001-add-loongarch64-for-golang_arches.patch | 25 - ...upport-for-selecting-clang-as-a-toolchain.patch | 113 - ...ild_flags-cc-before-build-check-and-insta.patch | 49 - Delete-the-commented-code.patch | 24 - Feature-support-EBS-sign-for-IMA-digest-list.patch | 326 --- Fix-a-typo-in-brp-digest-list.patch | 26 - Fix-python3_version-macros-for-Python-3.10.patch | 30 - ...ing-when-using-kabi-outside-our-stablelis.patch | 240 -- add-brp-scripts-to-delete-rpath.patch | 145 -- add-common-script.patch | 313 --- ...4-support-for-config.guess-and-config.sub.patch | 26 - add-loongarch64-to-generic_arches.patch | 13 - add-powerpc64le-and-ppc64le-support.patch | 39 - add-pyproject-macros.patch | 42 - add-pytest-and-tox-macros.patch | 42 - add-riscv64-to-some-arches-macro.patch | 41 - backport-Enable-as-needed-by-default.patch | 31 - backport-kmp-feature.patch | 485 ---- brp-check-elf-files | 37 + brp-chrpath | 104 + brp-digest-list | 98 + brp-ebs-sign | 238 ++ brp-ldconfig | 16 + brp-remove-info-dir | 19 + brp-strip-lto | 17 + change-the-vendor-to-generic-for-common-use.patch | 109 - ...ile-is-a-symbolic-link-in-brp-digest-list.patch | 25 - common.lua | 294 +++ config.guess | 1815 +++++++++++++++ config.sub | 2354 ++++++++++++++++++++ ...rce-and-EFI-files-in-digest-list-building.patch | 74 - find-requires | 38 + find-requires.ksyms | 155 ++ ...-ldconfig-riscv-default-library-directory.patch | 15 - fix-config-error-for-loongarch64.patch | 25 - fix-error-message-for-kmodtool.patch | 25 - ...ELF-file-cannot-be-found-due-to-escape-of.patch | 25 - fixed-a-bug-that-missing_-p-in-macros.kmp.patch | 37 - generic-hardened-cc1 | 2 + generic-hardened-clang.cfg | 1 + generic-hardened-ld | 2 + generic-pie-cc1 | 2 + generic-pie-ld | 2 + kmodtool | 281 +++ macros | 458 ++++ macros.forge | 283 +++ macros.go | 170 ++ macros.kmp | 64 + macros.perl | 151 ++ macros.python | 328 +++ ...ig-add-optflags-for-loongarch64-and-sw_64.patch | 26 - openEuler-rpm-config.spec | 154 +- remove-fexceptions.patch | 36 - rpmrc | 25 + ...nfig.guess-and-config.sub-for-loongarch64.patch | 39 - 57 files changed, 7044 insertions(+), 3162 deletions(-) delete mode 100644 0001-1-Add-riscv64-to-golang_arches.patch delete mode 100644 0001-Enable-LTO-By-Default.patch delete mode 100644 0001-add-loongarch64-for-golang_arches.patch delete mode 100644 Add-support-for-selecting-clang-as-a-toolchain.patch delete mode 100644 Call-set_build_flags-cc-before-build-check-and-insta.patch delete mode 100644 Delete-the-commented-code.patch delete mode 100644 Feature-support-EBS-sign-for-IMA-digest-list.patch delete mode 100644 Fix-a-typo-in-brp-digest-list.patch delete mode 100644 Fix-python3_version-macros-for-Python-3.10.patch delete mode 100644 Give-a-warning-when-using-kabi-outside-our-stablelis.patch delete mode 100644 add-brp-scripts-to-delete-rpath.patch delete mode 100644 add-common-script.patch delete mode 100644 add-loongarch64-support-for-config.guess-and-config.sub.patch delete mode 100644 add-loongarch64-to-generic_arches.patch delete mode 100644 add-powerpc64le-and-ppc64le-support.patch delete mode 100644 add-pyproject-macros.patch delete mode 100644 add-pytest-and-tox-macros.patch delete mode 100644 add-riscv64-to-some-arches-macro.patch delete mode 100644 backport-Enable-as-needed-by-default.patch delete mode 100644 backport-kmp-feature.patch create mode 100644 brp-check-elf-files create mode 100755 brp-chrpath create mode 100755 brp-digest-list create mode 100755 brp-ebs-sign create mode 100755 brp-ldconfig create mode 100644 brp-remove-info-dir create mode 100644 brp-strip-lto delete mode 100644 change-the-vendor-to-generic-for-common-use.patch delete mode 100644 check-if-the-file-is-a-symbolic-link-in-brp-digest-list.patch create mode 100644 common.lua create mode 100755 config.guess create mode 100755 config.sub delete mode 100644 exclude-kernel-source-and-EFI-files-in-digest-list-building.patch create mode 100755 find-requires create mode 100755 find-requires.ksyms delete mode 100644 fix-brp-ldconfig-riscv-default-library-directory.patch delete mode 100644 fix-config-error-for-loongarch64.patch delete mode 100644 fix-error-message-for-kmodtool.patch delete mode 100644 fix-the-ELF-file-cannot-be-found-due-to-escape-of.patch delete mode 100644 fixed-a-bug-that-missing_-p-in-macros.kmp.patch create mode 100644 generic-hardened-cc1 create mode 100644 generic-hardened-clang.cfg create mode 100644 generic-hardened-ld create mode 100644 generic-pie-cc1 create mode 100644 generic-pie-ld create mode 100755 kmodtool create mode 100644 macros create mode 100644 macros.forge create mode 100644 macros.go create mode 100644 macros.kmp create mode 100644 macros.perl create mode 100644 macros.python delete mode 100644 openEuler-rpm-config-add-optflags-for-loongarch64-and-sw_64.patch delete mode 100644 remove-fexceptions.patch create mode 100644 rpmrc delete mode 100644 update-config.guess-and-config.sub-for-loongarch64.patch diff --git a/0001-1-Add-riscv64-to-golang_arches.patch b/0001-1-Add-riscv64-to-golang_arches.patch deleted file mode 100644 index e52a168..0000000 --- a/0001-1-Add-riscv64-to-golang_arches.patch +++ /dev/null @@ -1,27 +0,0 @@ -From c1b9fdaa93bfe0b2c70be4a851500d15f891d2f8 Mon Sep 17 00:00:00 2001 -From: whoisxxx -Date: Sat, 28 Nov 2020 11:02:21 +0800 -Subject: [PATCH] !1 Add "riscv64" to golang_arches The golang version 1.14 has - support riscv64, so add "riscv64" to golang_arches to enable rpmbuild for - golang. - ---- - macros.go | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/macros.go b/macros.go -index c1e6e75..cd493e7 100644 ---- a/macros.go -+++ b/macros.go -@@ -12,7 +12,7 @@ - # redhat-rpm-macros. - - # Define arches for PA and SA --%golang_arches %{ix86} x86_64 %{arm} aarch64 ppc64le s390x -+%golang_arches %{ix86} x86_64 %{arm} aarch64 ppc64le s390x riscv64 - %gccgo_arches %{mips} - %go_arches %{golang_arches} %{gccgo_arches} - --- -1.8.3.1 - diff --git a/0001-Enable-LTO-By-Default.patch b/0001-Enable-LTO-By-Default.patch deleted file mode 100644 index bac5897..0000000 --- a/0001-Enable-LTO-By-Default.patch +++ /dev/null @@ -1,625 +0,0 @@ -From 2a24fbc1bb28764c3577f3a9e108614cd2e108b2 Mon Sep 17 00:00:00 2001 -From: wangchunyang -Date: Fri, 26 Jul 2024 12:54:56 +0800 -Subject: [PATCH] Enable LTO By Default - ---- - brp-strip-lto | 17 ++ - lto_flag | 5 + - lto_white_list | 536 +++++++++++++++++++++++++++++++++++++++++++++++++ - macros | 6 +- - 4 files changed, 563 insertions(+), 1 deletion(-) - create mode 100644 brp-strip-lto - create mode 100755 lto_flag - create mode 100644 lto_white_list - -diff --git a/brp-strip-lto b/brp-strip-lto -new file mode 100644 -index 0000000..3df672a ---- /dev/null -+++ b/brp-strip-lto -@@ -0,0 +1,17 @@ -+#!/usr/bin/sh -+# If using normal root, avoid changing anything. -+if [ -z "$RPM_BUILD_ROOT" ] || [ "$RPM_BUILD_ROOT" = "/" ]; then -+ exit 0 -+fi -+ -+STRIP=${1:-strip} -+NCPUS=${RPM_BUILD_NCPUS:-1} -+ -+case `uname -a` in -+Darwin*) exit 0 ;; -+*) ;; -+esac -+ -+# Strip ELF binaries -+find "$RPM_BUILD_ROOT" -type f -name '*.[ao]' \! -regex "$RPM_BUILD_ROOT/*usr/lib/debug.*" -print0 | \ -+ eu-elfclassify --not-program --not-library --not-linux-kernel-module --stdin0 --print0 | xargs -0 -r -P$NCPUS -n32 sh -c "$STRIP -p -R .gnu.lto_* -R .gnu.debuglto_* -N __gnu_lto_v1 \"\$@\"" ARG0 -diff --git a/lto_flag b/lto_flag -new file mode 100755 -index 0000000..53e3adb ---- /dev/null -+++ b/lto_flag -@@ -0,0 +1,5 @@ -+#!/bin/sh -+current_spec=`cat /.build.command` -+if grep -Fxq "$current_spec" "/lib/rpm/openEuler/lto_white_list"; then -+ echo "-flto -ffat-lto-objects" -+fi -diff --git a/lto_white_list b/lto_white_list -new file mode 100644 -index 0000000..780be19 ---- /dev/null -+++ b/lto_white_list -@@ -0,0 +1,536 @@ -+adcli.spec -+aide.spec -+amanda.spec -+annobin.spec -+apr.spec -+argon2.spec -+at.spec -+atf.spec -+attr.spec -+audit.spec -+augeas.spec -+authselect.spec -+autogen.spec -+avahi.spec -+babeltrace.spec -+bind.spec -+bison.spec -+bolt.spec -+booth.spec -+brotli.spec -+byacc.spec -+bzip2.spec -+cairomm.spec -+certmonger.spec -+cfitsio.spec -+CharLS.spec -+check.spec -+chkconfig.spec -+chrony.spec -+chrpath.spec -+ck.spec -+clamav.spec -+clevis.spec -+clucene.spec -+cmake.spec -+cockpit.spec -+courier-unicode.spec -+cppcheck.spec -+cpp-httplib.spec -+cracklib.spec -+createrepo_c.spec -+cronie.spec -+cryptsetup.spec -+cups.spec -+cups-filters.spec -+curl.spec -+dav1d.spec -+dbus-broker.spec -+dbus-glib.spec -+dbxtool.spec -+dhcp.spec -+dialog.spec -+ding-libs.spec -+discount.spec -+dos2unix.spec -+dosfstools.spec -+double-conversion.spec -+dovecot.spec -+doxygen.spec -+dropwatch.spec -+drpm.spec -+d-spy.spec -+dwz.spec -+e2fsprogs.spec -+enca.spec -+entr.spec -+environment-modules.spec -+erlang-sd_notify.spec -+espeak-ng.spec -+ethtool.spec -+exempi.spec -+exiv2.spec -+expat.spec -+findutils.spec -+flac.spec -+flatbuffers.spec -+flex.spec -+fmt.spec -+fping.spec -+freetype.spec -+freexl.spec -+fribidi.spec -+gawk.spec -+gc.spec -+gdb.spec -+gdbm.spec -+gdisk.spec -+GeoIP.spec -+geos.spec -+gettext.spec -+ghostscript.spec -+git.spec -+gjs.spec -+glade.spec -+glib-networking.spec -+glm.spec -+glslang.spec -+glusterfs.spec -+gmp.spec -+gnome-autoar.spec -+gnupg2.spec -+gobject-introspection.spec -+gperftools.spec -+GraphicsMagick.spec -+graphite2.spec -+graphviz.spec -+greatsql.spec -+grep.spec -+groff.spec -+grubby.spec -+gsl.spec -+gsm.spec -+gtest.spec -+gzip.spec -+harfbuzz.spec -+hdf.spec -+hdf5.spec -+httpd.spec -+http-parser.spec -+hwloc.spec -+ibus-libpinyin.spec -+icu.spec -+ilmbase.spec -+Imath.spec -+iniparser.spec -+ipcalc.spec -+iproute.spec -+iptables.spec -+isomd5sum.spec -+jansson.spec -+jbig2dec.spec -+jbigkit.spec -+jemalloc.spec -+jimtcl.spec -+jose.spec -+jq.spec -+json-c.spec -+jsoncpp.spec -+Judy.spec -+kbd.spec -+krb5.spec -+kyua.spec -+lame.spec -+lcms2.spec -+libabigail.spec -+libadwaita.spec -+libaec.spec -+libarchive.spec -+libart_lgpl.spec -+libass.spec -+libatomic_ops.spec -+libb2.spec -+libbsd.spec -+libcap.spec -+libcap-ng.spec -+libcdio.spec -+libcdio-paranoia.spec -+libcomps.spec -+libconfuse.spec -+libcue.spec -+libdatrie.spec -+libdbi.spec -+libdnf.spec -+libdrm.spec -+libdwarf.spec -+libEMF.spec -+libev.spec -+libevent.spec -+libffado.spec -+libfprint.spec -+libgexiv2.spec -+libgit2.spec -+libglvnd.spec -+libgta.spec -+libhandy.spec -+libidn.spec -+libidn2.spec -+libiscsi.spec -+libisoburn.spec -+libjpeg-turbo.spec -+libkcapi.spec -+libkeepalive.spec -+libldb.spec -+liblouis.spec -+libmaxminddb.spec -+libmbim.spec -+libmd.spec -+libmemcached.spec -+libmetalink.spec -+libmodplug.spec -+libmodulemd.spec -+libnftnl.spec -+libnma.spec -+libnvme.spec -+libogg.spec -+libopenraw.spec -+libpinyin.spec -+libpipeline.spec -+libplist.spec -+libpwquality.spec -+libqb.spec -+libquvi.spec -+librabbitmq.spec -+libraqm.spec -+librdkafka.spec -+librepo.spec -+libreswan.spec -+librevenge.spec -+libsamplerate.spec -+libseccomp.spec -+libsemanage.spec -+libserf.spec -+libsexy.spec -+libshumate.spec -+libsndfile.spec -+libsodium.spec -+libsolv.spec -+libspectre.spec -+libspiro.spec -+libssh.spec -+libssh2.spec -+libtalloc.spec -+libtasn1.spec -+libtdb.spec -+libtevent.spec -+libtiff.spec -+libunwind.spec -+libusb.spec -+libusbmuxd.spec -+libuser.spec -+libutempter.spec -+libuv.spec -+libvirt.spec -+libvirt-python.spec -+libvorbis.spec -+libwacom.spec -+libwbxml.spec -+libx86emu.spec -+libyaml.spec -+libyubikey.spec -+libzip.spec -+lilv.spec -+lldb.spec -+lmdb.spec -+logrotate.spec -+lshw.spec -+lsof.spec -+lua-expat.spec -+lua-filesystem.spec -+lua-lpeg.spec -+luksmeta.spec -+lzip.spec -+lzo.spec -+m2crypto.spec -+m4.spec -+malcontent.spec -+man-db.spec -+mcpp.spec -+mdadm.spec -+mecab.spec -+metis.spec -+mksh.spec -+mod_auth_openidc.spec -+mod_http2.spec -+mokutil.spec -+mongo-c-driver.spec -+mozjs102.spec -+mpfr.spec -+mpich.spec -+mysql.spec -+nasm.spec -+netcf.spec -+nethogs.spec -+netpbm.spec -+net-snmp.spec -+newt.spec -+nfs-utils.spec -+nftables.spec -+nghttp2.spec -+ninja-build.spec -+nodejs.spec -+npth.spec -+nspr.spec -+nss_wrapper.spec -+nss-mdns.spec -+nss-pam-ldapd.spec -+nss-pem.spec -+ntp.spec -+numpy.spec -+ocl-icd.spec -+oddjob.spec -+oniguruma.spec -+opencc.spec -+OpenEXR.spec -+openhpi.spec -+open-isns.spec -+openmpi.spec -+openscap.spec -+opensp.spec -+openssh.spec -+openvpn.spec -+openvswitch.spec -+p11-kit.spec -+pacemaker.spec -+pam_krb5.spec -+pam_wrapper.spec -+pango.spec -+passwd.spec -+patchelf.spec -+patchutils.spec -+pavucontrol.spec -+pcre2.spec -+perl-autovivification.spec -+perl-B-COW.spec -+perl-BSD-Resource.spec -+perl-Class-XSAccessor.spec -+perl-Clone.spec -+perl-Compress-Bzip2.spec -+perl-Compress-Raw-Bzip2.spec -+perl-Compress-Raw-Zlib.spec -+perl-Crypt-DES.spec -+perl-Crypt-IDEA.spec -+perl-Curses.spec -+perl-Data-Dumper.spec -+perl-Data-UUID.spec -+perl-DateTime.spec -+perl-DB_File.spec -+perl-DBD-MariaDB.spec -+perl-DBD-MySQL.spec -+perl-DBD-Pg.spec -+perl-DBD-SQLite.spec -+perl-Devel-CallChecker.spec -+perl-Devel-Caller.spec -+perl-Devel-LexAlias.spec -+perl-Digest-MD5.spec -+perl-Digest-SHA.spec -+perl-Digest-SHA1.spec -+perl-Digest-SHA3.spec -+perl-Encode-EUCJPASCII.spec -+perl-Encode-JIS2K.spec -+perl-FCGI.spec -+perl-Filter.spec -+perl-GD.spec -+perl-Glib.spec -+perl-GSSAPI.spec -+perl-HTML-Parser.spec -+perl-IO-Tty.spec -+perl-IPC-SysV.spec -+perl-libintl-perl.spec -+perl-List-MoreUtils-XS.spec -+perl-Math-BigInt-FastCalc.spec -+perl-MIME-Base64.spec -+perl-NetAddr-IP.spec -+perl-Package-Stash-XS.spec -+perl-PerlIO-utf8_strict.spec -+perl-PkgConfig-LibPkgConf.spec -+perl-Scalar-List-Utils.spec -+perl-Socket.spec -+perl-Socket6.spec -+perl-Storable.spec -+perl-Sub-Identify.spec -+perl-Sub-Name.spec -+perl-Syntax-Keyword-Try.spec -+perl-Sys-CPU.spec -+perl-Sys-MemInfo.spec -+perl-Sys-Syslog.spec -+perl-TermReadKey.spec -+perl-Test-LeakTrace.spec -+perl-Text-Soundex.spec -+perl-threads-shared.spec -+perl-Time-HiRes.spec -+perl-Unicode-Collate.spec -+perl-Unicode-LineBreak.spec -+perl-Unicode-Normalize.spec -+perl-XML-LibXSLT.spec -+perl-YAML-LibYAML.spec -+phonon.spec -+pigz.spec -+pipewire.spec -+pkgconf.spec -+pngquant.spec -+poco.spec -+polkit-pkla-compat.spec -+poppler.spec -+popt.spec -+postgresql.spec -+postgresql-odbc.spec -+procenv.spec -+proj.spec -+protobuf2.spec -+protobuf-c.spec -+pulseaudio.spec -+pycairo.spec -+pyparted.spec -+PyQt4.spec -+python3.spec -+python-argon2-cffi-bindings.spec -+python-bcrypt.spec -+python-cffi.spec -+python-cheetah.spec -+python-ethtool.spec -+python-greenlet.spec -+python-kiwisolver.spec -+python-lazy-object-proxy.spec -+python-markupsafe.spec -+python-netifaces.spec -+python-pillow.spec -+python-psycopg2.spec -+python-pycryptodomex.spec -+python-pycurl.spec -+python-pymongo.spec -+python-pynacl.spec -+python-pyrsistent.spec -+python-simplejson.spec -+python-systemd.spec -+python-urwid.spec -+python-zope-interface.spec -+python-zstandard.spec -+pyxattr.spec -+qpid-proton.spec -+qrencode.spec -+qscintilla.spec -+qt6-qttools.spec -+quota.spec -+raptor2.spec -+rcs.spec -+realmd.spec -+recode.spec -+rhash.spec -+rpm.spec -+rrdtool.spec -+rsync.spec -+rsyslog.spec -+ruby.spec -+ruby-augeas.spec -+rubygem-bcrypt.spec -+rubygem-bindex.spec -+rubygem-bootsnap.spec -+rubygem-ffi.spec -+rubygem-hiredis.spec -+rubygem-idn.spec -+rubygem-msgpack.spec -+rubygem-nio4r.spec -+rubygem-nokogiri.spec -+rubygem-pg.spec -+rubygem-racc.spec -+rubygem-rdiscount.spec -+rubygem-redcarpet.spec -+rubygem-RedCloth.spec -+rubygem-regexp_property_values.spec -+rubygem-ruby-shadow.spec -+rubygem-sqlite3.spec -+rubygem-thin.spec -+rubygem-unf_ext.spec -+rubygem-websocket-driver.spec -+rust.spec -+satyr.spec -+sbc.spec -+sendmail.spec -+setools.spec -+sg3_utils.spec -+slang.spec -+snappy.spec -+socat.spec -+socket_wrapper.spec -+softhsm.spec -+sox.spec -+soxr.spec -+squid.spec -+sratom.spec -+srt.spec -+sscg.spec -+strace.spec -+subunit.spec -+swtpm.spec -+symlinks.spec -+sysbench.spec -+sysfsutils.spec -+sysprof.spec -+sysstat.spec -+systemd.spec -+taglib.spec -+tang.spec -+tar.spec -+tcl.spec -+tclx.spec -+tcp_wrappers.spec -+tcsh.spec -+teckit.spec -+telepathy-glib.spec -+tigervnc.spec -+time.spec -+timedatex.spec -+tipcutils.spec -+tokyocabinet.spec -+tpm2-tools.spec -+ttembed.spec -+ub-dhcp.spec -+uchardet.spec -+uid_wrapper.spec -+unbound.spec -+units.spec -+unrtf.spec -+unzip.spec -+uriparser.spec -+usbguard.spec -+userspace-rcu.spec -+ustr.spec -+utf8proc.spec -+util-linux.spec -+uuid.spec -+varnish.spec -+vid.stab.spec -+vino.spec -+virt-what.spec -+volume_key.spec -+wget.spec -+wxGTK3.spec -+xcb-util.spec -+xcb-util-image.spec -+xcb-util-keysyms.spec -+xcb-util-wm.spec -+xcb-util-xrm.spec -+xdelta.spec -+xmlstarlet.spec -+xmlto.spec -+xorg-x11-server.spec -+xorg-x11-xauth.spec -+xxhash.spec -+yajl.spec -+yelp.spec -+ykpers.spec -+zenity.spec -+zeromq.spec -+zstd.spec -+ -diff --git a/macros b/macros -index 3cd2655..b3fcdb5 100644 ---- a/macros -+++ b/macros -@@ -173,6 +173,7 @@ - %__brp_ldconfig /usr/lib/rpm/brp-ldconfig - %__brp_compress /usr/lib/rpm/brp-compress - %__brp_strip /usr/lib/rpm/brp-strip %{__strip} -+%__brp_strip_lto /usr/lib/rpm/brp-strip-lto %{__strip} - %__brp_strip_comment_note /usr/lib/rpm/brp-strip-comment-note %{__strip} %{__objdump} - %__brp_strip_static_archive /usr/lib/rpm/brp-strip-static-archive %{__strip} - %__brp_python_bytecompile /usr/lib/rpm/brp-python-bytecompile "%{__python}" "%{?_python_bytecompile_errors_terminate_build}" "%{?_python_bytecompile_extra}" -@@ -185,6 +186,7 @@ - %{?__brp_strip} \ - %{?__brp_strip_comment_note} \ - } \ -+ [ "%{_lto_cflags}"x != x ] && %{?__brp_strip_lto} \ - %{?__brp_strip_static_archive} \ - %{?py_auto_byte_compile:%{?__brp_python_bytecompile}} \ - %{?__brp_python_hardlink} \ -@@ -261,7 +263,9 @@ - %_ld_as_needed 1 - %_ld_as_needed_flags %{?_ld_as_needed:-Wl,--as-needed} - --%_general_options -O2 -g -grecord-gcc-switches -pipe -fstack-protector-strong %[ "%{toolchain}" == "clang" ? "-fgcc-compatible" : "" ] -+%_get_lto_cflags %(/lib/rpm/openEuler/lto_flag) -+%_lto_cflags %{_get_lto_cflags} -+%_general_options -O2 %{_lto_cflags} -g -grecord-gcc-switches -pipe -fstack-protector-strong %[ "%{toolchain}" == "clang" ? "-fgcc-compatible" : "" ] - %_warning_options -Wall -Werror=format-security - %_preprocessor_defines -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS - --- -2.43.0 - diff --git a/0001-add-loongarch64-for-golang_arches.patch b/0001-add-loongarch64-for-golang_arches.patch deleted file mode 100644 index 4623504..0000000 --- a/0001-add-loongarch64-for-golang_arches.patch +++ /dev/null @@ -1,25 +0,0 @@ -From 28921237101c986eeee13808a1167db13dc788ce Mon Sep 17 00:00:00 2001 -From: Wenlong Zhang -Date: Tue, 13 Dec 2022 12:07:10 +0000 -Subject: [PATCH] add loongarch64 for golang_arches - ---- - macros.go | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/macros.go b/macros.go -index cd493e7..f20f6a1 100644 ---- a/macros.go -+++ b/macros.go -@@ -12,7 +12,7 @@ - # redhat-rpm-macros. - - # Define arches for PA and SA --%golang_arches %{ix86} x86_64 %{arm} aarch64 ppc64le s390x riscv64 -+%golang_arches %{ix86} x86_64 %{arm} aarch64 ppc64le s390x riscv64 loongarch64 - %gccgo_arches %{mips} - %go_arches %{golang_arches} %{gccgo_arches} - --- -2.33.0 - diff --git a/Add-support-for-selecting-clang-as-a-toolchain.patch b/Add-support-for-selecting-clang-as-a-toolchain.patch deleted file mode 100644 index c38c7cb..0000000 --- a/Add-support-for-selecting-clang-as-a-toolchain.patch +++ /dev/null @@ -1,113 +0,0 @@ -From f2a6af2ce79e26bf47604b610056d8c524b647f2 Mon Sep 17 00:00:00 2001 -From: liyunfei -Date: Tue, 9 Jan 2024 20:39:10 +0800 -Subject: [PATCH 1/2] Add support for selecting clang as a toolchain - ---- - generic-hardened-clang.cfg | 1 + - macros | 56 ++++++++++++++++++++++++++++++++++++-- - 2 files changed, 57 insertions(+), 3 deletions(-) - create mode 100644 generic-hardened-clang.cfg - -diff --git a/generic-hardened-clang.cfg b/generic-hardened-clang.cfg -new file mode 100644 -index 0000000..ac596df ---- /dev/null -+++ b/generic-hardened-clang.cfg -@@ -0,0 +1 @@ -+-fPIE -\ No newline at end of file -diff --git a/macros b/macros -index 5fdaf0a..0062126 100755 ---- a/macros -+++ b/macros -@@ -23,6 +23,46 @@ - - %_build_id_links none - -+# GCC toolchain -+%__cc_gcc gcc -+%__cxx_gcc g++ -+%__cpp_gcc gcc -E -+ -+# Clang toolchain -+%__cc_clang clang -+%__cxx_clang clang++ -+%__cpp_clang clang-cpp -+ -+# Default to the GCC toolchain -+# -+# It is enough to override `toolchain` macro and all relevant macro for C/C++ -+# compilers will be switched. Either in the spec or in the command-line. -+# -+# %global toolchain clang -+# -+# or: -+# -+# rpmbuild -D "toolchain clang" … -+# -+# Inside a spec file it is also possible to determine which toolchain is in use -+# by testing the same macro. For example: -+# -+# %if "%{toolchain}" == "gcc" -+# BuildRequires: gcc -+# %endif -+# -+# or: -+# -+# %if "%{toolchain}" == "clang" -+# BuildRequires: clang compiler-rt -+# %endif -+# -+%toolchain gcc -+ -+%__cc %{expand:%%{__cc_%{toolchain}}} -+%__cxx %{expand:%%{__cxx_%{toolchain}}} -+%__cpp %{expand:%%{__cpp_%{toolchain}}} -+ - #============================================================================== - # ---- compiler flags. - -@@ -31,7 +71,13 @@ - %build_fflags %{optflags} -fexceptions -I%{_fmoddir} - %build_ldflags -Wl,-z,relro %{_ld_as_needed_flags} %{_ld_symbols_flags} %{_hardened_ldflags} - -+%set_build_cc \ -+ CC=%{__cc}; export CC ; \ -+ CXX=%{__cxx}; export CXX ; \ -+ CCC="${CCC:-%{__cxx}}" ; export CCC -+ - %set_build_flags \ -+ %[ "%{toolchain}" == "gcc" ? "" : "%{set_build_cc};" ] \ - CFLAGS="${CFLAGS:-%{build_cflags}}" ; export CFLAGS ; \ - CXXFLAGS="${CXXFLAGS:-%{build_cxxflags}}" ; export CXXFLAGS ; \ - FFLAGS="${FFLAGS:-%{build_fflags}}" ; export FFLAGS ; \ -@@ -162,8 +208,10 @@ - # secure options for rpmbuild - # - # #hardened options --%_hardening_cflags -specs=/usr/lib/rpm/generic-hardened-cc1 --%_hardening_ldflags -Wl,-z,now -specs=/usr/lib/rpm/generic-hardened-ld -+%_hardening_gcc_cflags -specs=/usr/lib/rpm/generic-hardened-cc1 -+%_hardening_clang_cflags --config /usr/lib/rpm/generic-hardened-clang.cfg -+%_hardening_cflags %{expand:%%{_hardening_%{toolchain}_cflags}} -+%_hardening_ldflags -Wl,-z,now %[ "%{toolchain}" == "gcc" ? "-specs=/usr/lib/rpm/generic-hardened-ld" : "" ] - # Use "%undefine _hardened_build" to disable. - %_hardened_build 1 - %_hardened_cflags %{?_hardened_build:%{_hardening_cflags}} -@@ -195,7 +243,11 @@ - #%_ld_as_needed 1 - %_ld_as_needed_flags %{?_ld_as_needed:-Wl,--as-needed} - --%__global_compiler_flags -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fstack-protector-strong -grecord-gcc-switches %{_hardened_cflags} -+%_general_options -O2 -g -grecord-gcc-switches -pipe -fstack-protector-strong %[ "%{toolchain}" == "clang" ? "-fgcc-compatible" : "" ] -+%_warning_options -Wall -Werror=format-security -+%_preprocessor_defines -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -+ -+%__global_compiler_flags %{_general_options} %{_warning_options} %{_preprocessor_defines} %{_hardened_cflags} - - # Automatically trim changelog entries after 2 years - %_changelog_trimtime %{lua:print(os.time() - 2 * 365 * 86400)} --- -2.27.0 - diff --git a/Call-set_build_flags-cc-before-build-check-and-insta.patch b/Call-set_build_flags-cc-before-build-check-and-insta.patch deleted file mode 100644 index 8f69298..0000000 --- a/Call-set_build_flags-cc-before-build-check-and-insta.patch +++ /dev/null @@ -1,49 +0,0 @@ -From c6b15b8c17f957d736dd975d106b10d419070ebd Mon Sep 17 00:00:00 2001 -From: liyunfei -Date: Tue, 9 Jan 2024 20:50:34 +0800 -Subject: [PATCH 2/2] Call %set_build_flags&cc before %build, %check, and - %install stages - ---- - macros | 18 ++++++++++++++++++ - 1 file changed, 18 insertions(+) - -diff --git a/macros b/macros -index 0062126..8c16706 100755 ---- a/macros -+++ b/macros -@@ -83,6 +83,22 @@ - FCFLAGS="${FCFLAGS:-%{build_fflags}}" ; export FCFLAGS ; \ - LDFLAGS="${LDFLAGS:-%{build_ldflags}}" ; export LDFLAGS - -+# Automatically use set_build_flags macro for build, check, and -+# install phases. -+# Use "%undefine _auto_set_build_flags" to disable" -+# Automatically use set_build_cc macro for build, check, and -+# install phases. -+# Use "%undefine _auto_set_build_cc" to disable" -+%_auto_set_build_cc %["%{toolchain}" == "gcc" ? 0 : 1] -+%_auto_set_build_flags 0 -+ -+%__spec_build_pre %{___build_pre} \ -+ %[0%{?_auto_set_build_cc} ? "%{set_build_cc}" : ""] \ -+ %[0%{?_auto_set_build_flags} ? "%{set_build_flags}" : ""] -+%__spec_check_pre %{___build_pre} \ -+ %[0%{?_auto_set_build_cc} ? "%{set_build_cc}" : ""] \ -+ %[0%{?_auto_set_build_flags} ? "%{set_build_flags}" : ""] -+ - #For backwards compatibility only. - %__global_cflags %{build_cflags} - %__global_cxxflags %{build_cxxflags} -@@ -144,6 +158,8 @@ - [ "$RPM_BUILD_ROOT" != "/" ] && rm -rf "${RPM_BUILD_ROOT}"\ - mkdir -p `dirname "$RPM_BUILD_ROOT"`\ - mkdir "$RPM_BUILD_ROOT"\ -+ %[0%{?_auto_set_build_cc} ? "%{set_build_cc}" : ""]\ -+ %[0%{?_auto_set_build_flags} ? "%{set_build_flags}" : ""]\ - %{nil} - - # ---- Expanded at end of %install scriptlet. --- -2.27.0 - diff --git a/Delete-the-commented-code.patch b/Delete-the-commented-code.patch deleted file mode 100644 index b9f0469..0000000 --- a/Delete-the-commented-code.patch +++ /dev/null @@ -1,24 +0,0 @@ -From c7605385b9d838be78a87de02a48eaaa6e69b4b2 Mon Sep 17 00:00:00 2001 -From: hongjinghao -Date: Tue, 5 Mar 2024 20:22:59 +0800 -Subject: [PATCH] Delete the commented code - ---- - brp-digest-list | 1 - - 1 file changed, 1 deletion(-) - -diff --git a/brp-digest-list b/brp-digest-list -index 77248c9..7de42b7 100644 ---- a/brp-digest-list -+++ b/brp-digest-list -@@ -9,7 +9,6 @@ if [ -z "$RPM_BUILD_ROOT" -o "$RPM_BUILD_ROOT" = "/" ]; then - fi - - # Create temporary file listing files in the manifest --#[ -n "$TMPDIR" ] || TMPDIR="/tmp" - TMPDIR="/tmp" - BIN_PKG_FILES=${TMPDIR}/${3%%.rpm} - cat - > $BIN_PKG_FILES --- -2.33.0 - diff --git a/Feature-support-EBS-sign-for-IMA-digest-list.patch b/Feature-support-EBS-sign-for-IMA-digest-list.patch deleted file mode 100644 index bd0fed0..0000000 --- a/Feature-support-EBS-sign-for-IMA-digest-list.patch +++ /dev/null @@ -1,326 +0,0 @@ -From 0449160c84daff8c557dee47a970e4f4837ff81d Mon Sep 17 00:00:00 2001 -From: Huaxin Lu -Date: Mon, 12 Dec 2022 00:16:01 +0800 -Subject: [PATCH] support EBS sign for IMA digest list - -Signed-off-by: Huaxin Lu -Signed-off-by: zhangguangzhi - ---- - brp-digest-list | 46 +++++----- - brp-ebs-sign | 238 ++++++++++++++++++++++++++++++++++++++++++++++++ - 2 files changed, 262 insertions(+), 22 deletions(-) - create mode 100644 brp-ebs-sign - -diff --git a/brp-digest-list b/brp-digest-list -index e698b7a..d1e2600 100644 ---- a/brp-digest-list -+++ b/brp-digest-list -@@ -26,7 +26,6 @@ fi - DIGEST_LIST_DIR=$RPM_BUILD_ROOT/$2/etc/ima/digest_lists - mkdir -p $DIGEST_LIST_DIR - mkdir -p $DIGEST_LIST_DIR.tlv --mkdir -p $DIGEST_LIST_DIR.sig - - # Generate digest list for the kernel - gen_digest_lists -i M: -t metadata -f compact -d $DIGEST_LIST_DIR -i l:policy \ -@@ -70,28 +69,31 @@ DIGEST_LIST_TLV_PATH="$DIGEST_LIST_DIR.tlv/0-metadata_list-compact_tlv-$(basenam - chmod 644 $DIGEST_LIST_TLV_PATH - echo $DIGEST_LIST_TLV_PATH - --if [[ "$(basename $BIN_PKG_FILES)" =~ "digest-list-tools" && \ -- ! $(basename $BIN_PKG_FILES) =~ "debug" ]]; then -- # Generate digest list for the user space parsers -- LD_LIBRARY_PATH=$RPM_BUILD_ROOT/usr/lib64 \ -- $RPM_BUILD_ROOT/usr/bin/gen_digest_lists \ -- -d $DIGEST_LIST_DIR -t parser -f compact -m immutable \ -- -i I:$RPM_BUILD_ROOT/usr/libexec -o add -p -1 -i i: -- -- f="$DIGEST_LIST_DIR/0-parser_list-compact-libexec" -- [ -f $f ] || exit 0 -- -- chmod 644 $f -- echo $f -+#if [[ "$(basename $BIN_PKG_FILES)" =~ "digest-list-tools" && \ -+# ! $(basename $BIN_PKG_FILES) =~ "debug" ]]; then -+# Generate digest list for the user space parsers -+ -+# do EBS sign -+export PUBLISHER_HOST=$(grep PUBLISHER_HOST /lkp/scheduled/job.yaml | awk '{print $2}') -+export PUBLISHER_PORT=$(grep PUBLISHER_PORT /lkp/scheduled/job.yaml | awk '{print $2}') -+if [[ -n "$PUBLISHER_HOST" && -n "$PUBLISHER_PORT" ]]; then -+ [ -f /usr/lib/rpm/brp-ebs-sign ] || exit 0 -+ sh /usr/lib/rpm/brp-ebs-sign --ima-digestlist $DIGEST_LIST_PATH 1>&2 -+ [ -f $DIGEST_LIST_PATH.sig ] || exit 0 -+ chmod 644 $DIGEST_LIST_PATH.sig -+ mv $DIGEST_LIST_PATH.sig $DIGEST_LIST_PATH -+ exit 0 -+fi - -- [ -f /usr/lib/rpm/brp-suse.d/brp-99-pesign ] || exit 0 -+# do OBS sign -+[ -f /usr/lib/rpm/brp-suse.d/brp-99-pesign ] || exit 0 - -- export BRP_PESIGN_FILES="$2/etc/ima/digest_lists/*" -- export RPM_BUILD_ROOT -- export RPM_PACKAGE_NAME="digest-list-tools" -- export RPM_SOURCE_DIR="$(rpm --eval %_topdir)/SOURCES" -+export BRP_PESIGN_FILES="$2/etc/ima/digest_lists/*" -+export RPM_BUILD_ROOT -+export RPM_PACKAGE_NAME="digest-list-tools" -+export RPM_SOURCE_DIR="$(rpm --eval %_topdir)/SOURCES" - -- if [ -f "/usr/lib/rpm/brp-suse.d/brp-99-pesign" ]; then -- /usr/lib/rpm/brp-suse.d/brp-99-pesign &> /dev/null -- fi -+if [ -f "/usr/lib/rpm/brp-suse.d/brp-99-pesign" ]; then -+ /usr/lib/rpm/brp-suse.d/brp-99-pesign &> /dev/null - fi -+#fi -diff --git a/brp-ebs-sign b/brp-ebs-sign -new file mode 100644 -index 0000000..a7a83e5 ---- /dev/null -+++ b/brp-ebs-sign -@@ -0,0 +1,238 @@ -+#!/bin/bash -+ -+INPUT_TYPE=$1 -+INPUT_FILE=$2 -+SIGN_FILE=$INPUT_FILE -+PROJECT_CONF="/lkp/scheduled/job.yaml" -+POST_ADDR="" -+POST_FILE_SHA256="" -+POST_KEY_NAME="" -+POST_KEY_TYPE="" -+POST_FILE_TYPE="" -+POST_SIGN_TYPE="" -+POST_JOB_ID="" -+POST_OS_ORIJECT="" -+CONFIG_RETEST_COUNT=5 -+SIGN_RESULT=0 -+FAILED_SIGN_PERMISSION_DENIED=2 -+ -+# Tool functions for JSON -+get_json_value(){ -+ echo "$1" | \ -+ awk -F "[{,:}]" '{for(i=1;i $INPUT_FILE.sig -+ if [ $? -ne 0 ]; then -+ echo "Failed to write the signed file" -+ return 1 -+ fi -+ -+ # for test -+ # cp -f $INPUT_FILE $INPUT_FILE.sig -+ # req="{file_sha256:41c68fca7b3870cc9ef13a828a74af933bd8e4ff345fcfa316}" -+ -+ # 3. check the hash -+ sha256_cal=$(sha256sum $INPUT_FILE.sig | awk '{print $1}') -+ sha256_get=$(get_json_value "$req" "file_sha256" | tr '[:upper:]' '[:lower:]') -+ if [ "$sha256_cal" != "$sha256_get" ]; then -+ echo "Failed to verify the hash value" -+ return 1 -+ fi -+} -+ -+sign_post() { -+ case $INPUT_TYPE in -+ --efi) -+ efi_sign_post -+ ;; -+ --module) -+ module_sign_post -+ ;; -+ --ima-digestlist) -+ ima_digestlist_sign_post -+ ;; -+ --kernel) -+ kernel_sign_post -+ ;; -+ esac -+} -+ -+# Main function -+sign_pre -+ -+for ((i=1; i<=$CONFIG_RETEST_COUNT; i++)); do -+ sign -+ ret_sign=$? -+ if [ $ret_sign -eq 0 ]; then -+ echo "Succeed to sign file" -+ break; -+ elif [ $ret_sign -eq $FAILED_SIGN_PERMISSION_DENIED ]; then -+ echo "Failed to sign file, permission denied" -+ SIGN_RESULT=$FAILED_SIGN_PERMISSION_DENIED -+ break; -+ elif [ $i -ne $CONFIG_RETEST_COUNT ]; then -+ echo "Failed to sign file, try again" -+ elif [ $i -eq $CONFIG_RETEST_COUNT ]; then -+ echo "Failed to sign file" -+ SIGN_RESULT=1 -+ fi -+done -+ -+sign_post -+exit $SIGN_RESULT --- -2.33.0 - diff --git a/Fix-a-typo-in-brp-digest-list.patch b/Fix-a-typo-in-brp-digest-list.patch deleted file mode 100644 index 305237d..0000000 --- a/Fix-a-typo-in-brp-digest-list.patch +++ /dev/null @@ -1,26 +0,0 @@ -From a82057c590f958d10898c2e5f7211241be3dfd7a Mon Sep 17 00:00:00 2001 -From: Roberto Sassu -Date: Fri, 26 Feb 2021 09:00:06 +0100 -Subject: [PATCH] Fix a typo in brp-digest-list - -Rename RPM_PACKAGE_NAM to RPM_PACKAGE_NAME. ---- - brp-digest-list | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/brp-digest-list b/brp-digest-list -index 435b962..c3b2156 100644 ---- a/brp-digest-list -+++ b/brp-digest-list -@@ -86,7 +86,7 @@ if [[ "$(basename $BIN_PKG_FILES)" =~ "digest-list-tools" && \ - - export BRP_PESIGN_FILES="$2/etc/ima/digest_lists/*" - export RPM_BUILD_ROOT -- export RPM_PACKAGE_NAM="digest-list-tools" -+ export RPM_PACKAGE_NAME="digest-list-tools" - export RPM_SOURCE_DIR="$(rpm --eval %_topdir)/SOURCES" - - if [ -f "/usr/lib/rpm/brp-suse.d/brp-99-pesign" ]; then --- -2.26.2 - diff --git a/Fix-python3_version-macros-for-Python-3.10.patch b/Fix-python3_version-macros-for-Python-3.10.patch deleted file mode 100644 index fc76959..0000000 --- a/Fix-python3_version-macros-for-Python-3.10.patch +++ /dev/null @@ -1,30 +0,0 @@ -From 84ed1ab69d4b1e0aea452350d9f2865e8f7c28e7 Mon Sep 17 00:00:00 2001 -From: Miro Hrončok -Date: Aug 26 2019 13:24:23 +0000 -Subject: Fix %python3_version macros for Python 3.10 - - -No need to bump the release, 3.10 is far from now. - -Fixes https://bugzilla.redhat.com/show_bug.cgi?id=1745601 - ---- - -diff --git a/macros.python b/macros.python -index 1952aed..a170c4b 100644 ---- a/macros.python -+++ b/macros.python -@@ -139,8 +139,8 @@ find $bytecode_compilation_path -type f -a -name "*.py" -print0 | xargs -0 $pyth - %__python3 /usr/bin/python3 - %python3_sitelib %(%{__python3} -Ic "from distutils.sysconfig import get_python_lib; print(get_python_lib())") - %python3_sitearch %(%{__python3} -Ic "from distutils.sysconfig import get_python_lib; print(get_python_lib(1))") --%python3_version %(%{__python3} -Ic "import sys; sys.stdout.write(sys.version[:3])") --%python3_version_nodots %(%{__python3} -Ic "import sys; sys.stdout.write(sys.version[:3].replace('.',''))") -+%python3_version %(%{__python3} -Ic "import sys; sys.stdout.write('{0.major}.{0.minor}'.format(sys.version_info))") -+%python3_version_nodots %(%{__python3} -Ic "import sys; sys.stdout.write('{0.major}{0.minor}'.format(sys.version_info))") - %python3_platform %(%{__python3} -Ic "import sysconfig; print(sysconfig.get_platform())") - %py3dir %{_builddir}/python3-%{name}-%{version}-%{release} - --- -2.27.0 - diff --git a/Give-a-warning-when-using-kabi-outside-our-stablelis.patch b/Give-a-warning-when-using-kabi-outside-our-stablelis.patch deleted file mode 100644 index d2cba8e..0000000 --- a/Give-a-warning-when-using-kabi-outside-our-stablelis.patch +++ /dev/null @@ -1,240 +0,0 @@ -From 895c930b1418798509a1f19706b6a1be188ad303 Mon Sep 17 00:00:00 2001 -From: Liu Yuntao -Date: Sat, 2 Jul 2022 13:59:25 +0800 -Subject: [PATCH] Give a warning when using kabi outside our stablelists. - -Add a script that will find requirements for your package. It can make an -additional kabi whitelist check for you, compared with rpmbuild's builtin -requirement scanner. You may add "%define _use_internal_dependency_generator 0" -in your .spec file to enable this feature. -synced from CentOS's implementation. ---- - find-requires | 38 +++++++++++ - find-requires.ksyms | 155 ++++++++++++++++++++++++++++++++++++++++++++ - macros.kmp | 3 +- - 3 files changed, 195 insertions(+), 1 deletion(-) - create mode 100644 find-requires - create mode 100644 find-requires.ksyms - -diff --git a/find-requires b/find-requires -new file mode 100644 -index 0000000..b7cd825 ---- /dev/null -+++ b/find-requires -@@ -0,0 +1,38 @@ -+#!/bin/bash -+ -+# -+# Auto-generate requirements for executables (both ELF and a.out) and library -+# sonames, script interpreters, and perl modules. -+# -+ -+ulimit -c 0 -+ -+filelist=`sed "s/[]['\"*?{}]/\\\\\&/g"` -+ -+[ -x /usr/lib/rpm/rpmdeps -a -n "$filelist" ] && \ -+ echo $filelist | tr '[:blank:]' \\n | /usr/lib/rpm/rpmdeps --requires -+ -+# -+# --- Kernel module imported symbols -+# -+# Since we don't (yet) get passed the name of the package being built, we -+# cheat a little here by looking first for a kernel, then for a kmod. -+# -+ -+unset is_kmod -+ -+for f in $filelist; do -+ if [ $(echo "$f" | sed -r -ne 's:^.*/lib/modules/(.*)/(.*)\.ko(\.gz|\.bz2|\.xz)?$:\2:p') ] -+ then -+ is_kmod=1; -+ elif [ $(echo "$f" | sed -r -ne 's:^.*/boot/(.*):\1:p') ] -+ then -+ unset is_kmod; -+ break; -+ fi -+done -+ -+[ -x /usr/lib/rpm/__vendor/find-requires.ksyms ] && [ "$is_kmod" ] && -+ printf "%s\n" "${filelist[@]}" | /usr/lib/rpm/__vendor/find-requires.ksyms -+ -+exit 0 -diff --git a/find-requires.ksyms b/find-requires.ksyms -new file mode 100644 -index 0000000..15cc729 ---- /dev/null -+++ b/find-requires.ksyms -@@ -0,0 +1,155 @@ -+#! /bin/bash -+# -+# This script is called during external module building to create dependencies -+# both upon the linux kernel, and on additional external modules. Symbols that -+# cannot be reconciled against those provided by the kernel are assumed to be -+# provided by an external module and "ksym" replaces th regular "kernel" dep. -+ -+IFS=$'\n' -+ -+# Extract all of the symbols provided by this module. -+all_provides() { -+ for module in "$@"; do -+ tmpfile="" -+ if [ "x${module%.ko}" = "x${module}" ]; then -+ tmpfile=$(mktemp -t ${0##*/}.XXXXXX.ko) -+ proc_bin= -+ case "${module##*.}" in -+ xz) -+ proc_bin=xz -+ ;; -+ bz2) -+ proc_bin=bzip2 -+ ;; -+ gz) -+ proc_bin=gzip -+ ;; -+ esac -+ -+ [ -n "$proc_bin" ] || continue -+ -+ "$proc_bin" -d -c - < "$module" > "$tmpfile" || continue -+ module="$tmpfile" -+ fi -+ -+ if [[ -n $(nm "$module" | sed -r -ne 's:^0*([0-9a-f]+) A __crc_(.+):0x\1 \2:p') ]]; then -+ nm "$module" \ -+ | sed -r -ne 's:^0*([0-9a-f]+) A __crc_(.+):0x\1 \2:p' \ -+ | awk --non-decimal-data '{printf("%s:0x%08x\n", $2, $1)}' -+ else -+ ELFRODATA=$(readelf -R .rodata "$module" | awk '/0x/{printf $2$3$4$5}') -+ if [[ -n $(readelf -h "$module" | grep "little endian") ]]; then -+ RODATA=$(echo $ELFRODATA | sed 's/\(..\)\(..\)\(..\)\(..\)/\4\3\2\1/g') -+ else -+ RODATA=$ELFRODATA -+ fi -+ for sym in $(nm "$module" | sed -r -ne 's:^0*([0-9a-f]+) R __crc_(.+):0x\1 \2:p'); do -+ echo $sym $RODATA -+ done \ -+ | awk --non-decimal-data '{printf("%s:0x%08s\n", $2, substr($3,($1*2)+1,8))}' -+ fi -+ -+ [ -z "$tmpfile" ] || rm -f -- "$tmpfile" -+ done \ -+ | LC_ALL=C sort -k1,1 -u -+} -+ -+# Extract all of the requirements of this module. -+all_requires() { -+ for module in "$@"; do -+ set -- $(/sbin/modinfo -F vermagic "$module" | sed -e 's: .*::' -e q) -+ /sbin/modprobe --dump-modversions "$module" \ -+ | awk --non-decimal-data ' -+ BEGIN { FS = "\t" ; OFS = "\t" } -+ {printf("%s:0x%08x\n", $2, $1)}' \ -+ | sed -r -e 's:$:\t'"$1"':' -+ done \ -+ | LC_ALL=C sort -k1,1 -u -+} -+ -+# Filter out requirements fulfilled by the module itself. -+mod_requires() { -+ LC_ALL=C join -t $'\t' -j 1 -v 1 \ -+ <(all_requires "$@") \ -+ <(all_provides "$@") \ -+ | LC_ALL=C sort -k1,1 -u -+} -+ -+if ! [ -e /sbin/modinfo -a -e /sbin/modprobe ]; then -+ cat > /dev/null -+ exit 0 -+fi -+ -+check_kabi() { -+ arch=$(uname -m) -+ kabi_file="/lib/modules/kabi-current/kabi_stablelist_$arch" -+ -+ # If not installed, output a warning and return (continue) -+ if [ ! -f "$kabi_file" ]; then -+ echo "" >&2 -+ echo "********************************************************************************" >&2 -+ echo "*********************** KERNEL ABI COMPATIBILITY WARNING ***********************" >&2 -+ echo "********************************************************************************" >&2 -+ echo "The kernel ABI reference files (provided by "kernel-abi-stablelists") were not found." >&2 -+ echo "No compatibility check was performed. Please install the kABI reference files" >&2 -+ echo "and rebuild if you would like to verify compatibility with kernel ABI." >&2 -+ echo "" >&2 -+ return -+ fi -+ -+ unset non_kabi -+ for symbol in "$@"; do -+ if ! egrep "^$symbol\$" $kabi_file >/dev/null; then -+ non_kabi=("${non_kabi[@]}" "$symbol") -+ fi -+ done -+ -+ if [ ${#non_kabi[@]} -gt 0 ]; then -+ echo "" >&2 -+ echo "********************************************************************************" >&2 -+ echo "*********************** KERNEL ABI COMPATIBILITY WARNING ***********************" >&2 -+ echo "********************************************************************************" >&2 -+ echo "The following kernel symbols are not guaranteed to remain compatible with" >&2 -+ echo "future kernel updates to this RHEL release:" >&2 -+ echo "" >&2 -+ for symbol in "${non_kabi[@]}"; do -+ printf "\t$symbol\n" >&2 -+ done -+ echo "" >&2 -+ echo "__vendor recommends that you consider using only official kernel ABI symbols" >&2 -+ echo "where possible. Requests for additions to the kernel ABI can be filed with" >&2 -+ echo "your partner or customer representative (component: driver-update-program)." >&2 -+ echo "" >&2 -+ fi -+} -+ -+modules=($(grep -E '/lib/modules/.+\.ko(\.gz|\.bz2|\.xz)?$')) -+if [ ${#modules[@]} -gt 0 ]; then -+ kernel=$(/sbin/modinfo -F vermagic "${modules[0]}" | sed -e 's: .*::' -e q) -+ -+ # get all that kernel provides -+ symvers=$(mktemp -t ${0##*/}.XXXXX) -+ -+ cat /usr/src/kernels/$kernel/Module.symvers | awk ' -+ BEGIN { FS = "\t" ; OFS = "\t" } -+ { print $2 ":" $1 } -+ ' \ -+ | sed -r -e 's:$:\t'"$kernel"':' \ -+ | LC_ALL=C sort -k1,1 -u > $symvers -+ -+ # Symbols matching with the kernel get a "kernel" dependency -+ mod_req=$(mktemp -t mod_req.XXXXX) -+ mod_requires "${modules[@]}" > "$mod_req" -+ LC_ALL=C join -t $'\t' -j 1 $symvers "$mod_req" | LC_ALL=C sort -u \ -+ | awk 'BEGIN { FS = "[\t:]" ; OFS = "\t" } { print "kernel(" $1 ") = " $2 }' -+ -+ # Symbols from elsewhere get a "ksym" dependency -+ LC_ALL=C join -t $'\t' -j 1 -v 2 $symvers "$mod_req" | LC_ALL=C sort -u \ -+ | awk 'BEGIN { FS = "[\t:]" ; OFS = "\t" } { print "ksym(" $1 ") = " $2 }' -+ -+ # Check kABI if the kernel-abi-stablelists package is installed -+ # Do this last so we can try to output this error at the end -+ kabi_check_symbols=($(LC_ALL=C join -t $'\t' -j 1 $symvers "$mod_req" | LC_ALL=C sort -u \ -+ | awk 'BEGIN { FS = "[\t:]" ; OFS = "\t" } { print $1 }')) -+ check_kabi "${kabi_check_symbols[@]}" -+fi -diff --git a/macros.kmp b/macros.kmp -index 5207045..df7e41e 100644 ---- a/macros.kmp -+++ b/macros.kmp -@@ -1,7 +1,8 @@ --# Use these macros to differentiate between RH and other KMP implementation(s). -+# Use these macros to differentiate between __vendor and other KMP implementation(s). - - kernel_module_package_release 1 - -+__find_requires /usr/lib/rpm/__vendor/find-requires - - - #kernel_module_package [ -n name ] [ -v version ] [ -r release ] --- -2.27.0 - diff --git a/add-brp-scripts-to-delete-rpath.patch b/add-brp-scripts-to-delete-rpath.patch deleted file mode 100644 index 8677bd5..0000000 --- a/add-brp-scripts-to-delete-rpath.patch +++ /dev/null @@ -1,145 +0,0 @@ -From 9648228a3f64de46dd7fbb26e2df429352de17e1 Mon Sep 17 00:00:00 2001 -From: yangmingtaip -Date: Sat, 4 Sep 2021 14:14:54 +0800 -Subject: [PATCH] add brp scripts to delete rpath - -Signed-off-by: xujing ---- - brp-chrpath | 104 ++++++++++++++++++++++++++++++++++++++++++++++++++++ - macros | 2 + - 2 files changed, 106 insertions(+) - create mode 100755 brp-chrpath - -diff --git a/brp-chrpath b/brp-chrpath -new file mode 100755 -index 0000000..dc48351 ---- /dev/null -+++ b/brp-chrpath -@@ -0,0 +1,104 @@ -+#!/usr/bin/sh -+# remove rpath specified -+ -+rpathSuffix=( -+ "/home/abuild/rpmbuild/BUILD", -+ "/home/lkp/rpmbuild/BUILD" -+) -+ -+rpath=( -+ "/usr/lib64", -+ "/lib64", -+ "/usr/lib", -+ "/lib", -+ "/usr/lib/../lib64" -+) -+ -+buildroot=$1 -+ -+function rpathChange() -+{ -+ localSrcPath=$1 -+ localDstPath="" -+ -+ rpathArr=(`echo $localSrcPath | tr ':' ' '`) -+ -+ for path in ${rpathArr[*]} -+ do -+ localflag=0 -+ for suffix in ${rpathSuffix[*]} -+ do -+ if echo "$path" | grep $suffix &> /dev/null; then -+ localflag=1 -+ break -+ fi -+ done -+ -+ # Is the suffix path, delete -+ if [ $localflag -eq 1 ]; then -+ continue; -+ fi -+ -+ #Is the standard path, delete -+ if echo "${rpath[@]}" | grep -w $path &> /dev/null; then -+ continue -+ fi -+ -+ if [ x"$localDstPath" == x"" ]; then -+ localDstPath=$path -+ else -+ localDstPath=$localDstPath:$path -+ fi -+ done -+ -+ echo $localDstPath -+} -+ -+function removeRpathOrRunpath() -+{ -+ localfile=$1 -+ -+ rpathInfo=$(chrpath -l $localfile | grep "RPATH=") -+ runpathInfo=$(chrpath -l $localfile | grep "RUNPATH=") -+ -+ currPath="" -+ realPath="" -+ needCh=0 -+ if [ x"$rpathInfo" != x"" ]; then -+ needCh=1 -+ currPath=$(echo $rpathInfo | awk -F "RPATH=" '{print $2}') -+ realPath=$(rpathChange $currPath) -+ fi -+ -+ if [ x"$runpathInfo" != x"" ]; then -+ needCh=1 -+ currPath=$(echo $runpathInfo | awk -F "RUNPATH=" '{print $2}') -+ realPath=$(rpathChange $currPath) -+ fi -+ -+ if [ $needCh -eq 0 ]; then -+ return 0 -+ fi -+ -+ if [ x"$realPath" == x"" ]; then -+ chrpath -d $localfile -+ else -+ chrpath -r $realPath $localfile -+ fi -+ -+ return 0 -+} -+ -+for file in $(find $buildroot/ -executable -type f -exec file {} ';' | grep "\" | awk -F ':' '{print $1}') -+do -+ test -u $file -+ if [ $? -eq 0 ]; then -+ continue -+ fi -+ -+ if [ -w "$file" ]; then -+ removeRpathOrRunpath $file -+ fi -+done -+ -+exit 0 -diff --git a/macros b/macros -index 36621df..a316be9 100644 ---- a/macros -+++ b/macros -@@ -89,6 +89,7 @@ - - # Build root policy macros. Standard naming: - # convert all '-' in basename to '_', add two leading underscores. -+%__brp_chrpath /usr/lib/rpm/brp-chrpath %{buildroot} - %__brp_ldconfig /usr/lib/rpm/brp-ldconfig - %__brp_compress /usr/lib/rpm/brp-compress - %__brp_strip /usr/lib/rpm/brp-strip %{__strip} -@@ -111,6 +112,7 @@ - - %__spec_install_post\ - %{?__debug_package:%{__debug_install_post}}\ -+ %{?__vendor_delete_rpath:%{?__brp_chrpath}} \ - %{__arch_install_post}\ - %{__os_install_post}\ - %{nil} --- -2.33.0 - diff --git a/add-common-script.patch b/add-common-script.patch deleted file mode 100644 index bb7892e..0000000 --- a/add-common-script.patch +++ /dev/null @@ -1,313 +0,0 @@ -From 4db504b19f6dd04a44e46b43b3aff4e6cab9214d Mon Sep 17 00:00:00 2001 -From: wangkerong -Date: Wed, 13 Oct 2021 10:04:33 +0800 -Subject: [PATCH] add_commom_script - ---- - common.lua | 294 +++++++++++++++++++++++++++++++++++++++++++++++++++++ - 1 file changed, 294 insertions(+) - create mode 100644 common.lua - -diff --git a/common.lua b/common.lua -new file mode 100644 -index 0000000..884ee4d ---- /dev/null -+++ b/common.lua -@@ -0,0 +1,294 @@ -+-- Convenience Lua functions that can be used within rpm macros -+ -+-- Reads an rpm variable. Unlike a basic rpm.expand("{?foo}"), returns nil if -+-- the variable is unset, which is convenient in lua tests and enables -+-- differentiating unset variables from variables set to "" -+local function read(rpmvar) -+ if not rpmvar or -+ (rpm.expand("%{" .. rpmvar .. "}") == "%{" .. rpmvar .. "}") then -+ return nil -+ else -+ return rpm.expand("%{?" .. rpmvar .. "}") -+ end -+end -+ -+-- Returns true if the macro that called this function had flag set -+-- – for example, hasflag("z") would give the following results: -+-- %foo -z bar → true -+-- %foo -z → true -+-- %foo → false -+local function hasflag(flag) -+ return (rpm.expand("%{-" .. flag .. "}") ~= "") -+end -+ -+-- Returns the argument passed to flag in the macro that called this function -+-- – for example, readflag("z") would give the following results: -+-- %foo -z bar → bar -+-- %foo → nil -+-- %foo -z "" → empty string -+-- %foo -z '' → empty string -+local function readflag(flag) -+ if not hasflag(flag) then -+ return nil -+ else -+ local a = rpm.expand("%{-" .. flag .. "*}") -+ -- Handle "" and '' as empty strings -+ if (a == '""') or (a == "''") then -+ a = '' -+ end -+ return a -+ end -+end -+ -+-- Sets a spec variable; echoes the result if verbose -+local function explicitset(rpmvar, value, verbose) -+ local value = value -+ if (value == nil) or (value == "") then -+ value = "%{nil}" -+ end -+ rpm.define(rpmvar .. " " .. value) -+ if verbose then -+ rpm.expand("%{warn:Setting %%{" .. rpmvar .. "} = " .. value .. "}") -+ end -+end -+ -+-- Unsets a spec variable if it is defined; echoes the result if verbose -+local function explicitunset(rpmvar, verbose) -+ if (rpm.expand("%{" .. rpmvar .. "}") ~= "%{" .. rpmvar .. "}") then -+ rpm.define(rpmvar .. " %{nil}") -+ if verbose then -+ rpm.expand("%{warn:Unsetting %%{" .. rpmvar .. "}}") -+ end -+ end -+end -+ -+-- Sets a spec variable, if not already set; echoes the result if verbose -+local function safeset(rpmvar, value, verbose) -+ if (rpm.expand("%{" .. rpmvar .. "}") == "%{" .. rpmvar .. "}") then -+ explicitset(rpmvar,value,verbose) -+ end -+end -+ -+-- Aliases a list of rpm variables to the same variables suffixed with 0 (and -+-- vice versa); echoes the result if verbose -+local function zalias(rpmvars, verbose) -+ for _, sfx in ipairs({{"","0"},{"0",""}}) do -+ for _, rpmvar in ipairs(rpmvars) do -+ local toalias = "%{?" .. rpmvar .. sfx[1] .. "}" -+ if (rpm.expand(toalias) ~= "") then -+ safeset(rpmvar .. sfx[2], toalias, verbose) -+ end -+ end -+ end -+end -+ -+-- Takes a list of rpm variable roots and a suffix and alias current to -+-- if it resolves to something not empty -+local function setcurrent(rpmvars, suffix, verbose) -+ for _, rpmvar in ipairs(rpmvars) do -+ if (rpm.expand("%{?" .. rpmvar .. suffix .. "}") ~= "") then -+ explicitset( "current" .. rpmvar, "%{" .. rpmvar .. suffix .. "}", verbose) -+ else -+ explicitunset("current" .. rpmvar, verbose) -+ end -+ end -+end -+ -+-- Echo the list of rpm variables, with suffix, if set -+local function echovars(rpmvars, suffix) -+ for _, rpmvar in ipairs(rpmvars) do -+ rpmvar = rpmvar .. suffix -+ local header = string.sub(" " .. rpmvar .. ": ",1,21) -+ rpm.expand("%{?" .. rpmvar .. ":%{echo:" .. header .. "%{?" .. rpmvar .. "}}}") -+ end -+end -+ -+-- Returns an array, indexed by suffix, containing the non-empy values of -+-- , with suffix an integer string or the empty string -+local function getsuffixed(rpmvar) -+ local suffixes = {} -+ zalias({rpmvar}) -+ for suffix=0,9999 do -+ local value = rpm.expand("%{?" .. rpmvar .. suffix .. "}") -+ if (value ~= "") then -+ suffixes[tostring(suffix)] = value -+ end -+ end -+ -- rpm convention is to alias no suffix to zero suffix -+ -- only add no suffix if zero suffix is different -+ local value = rpm.expand("%{?" .. rpmvar .. "}") -+ if (value ~= "") and (value ~= suffixes["0"]) then -+ suffixes[""] = value -+ end -+ return suffixes -+end -+ -+-- Returns the list of suffixes, including the empty string, for which -+-- is set to a non empty value -+local function getsuffixes(rpmvar) -+ suffixes = {} -+ for suffix in pairs(getsuffixed(rpmvar)) do -+ table.insert(suffixes,suffix) -+ end -+ table.sort(suffixes, -+ function(a,b) return (tonumber(a) or 0) < (tonumber(b) or 0) end) -+ return suffixes -+end -+ -+-- Returns the suffix for which has a non-empty value that -+-- matches best the beginning of the value string -+local function getbestsuffix(rpmvar, value) -+ local best = nil -+ local currentmatch = "" -+ for suffix, setvalue in pairs(getsuffixed(rpmvar)) do -+ if (string.len(setvalue) > string.len(currentmatch)) and -+ (string.find(value, "^" .. setvalue)) then -+ currentmatch = setvalue -+ best = suffix -+ end -+ end -+ return best -+end -+ -+-- %writevars core -+local function writevars(macrofile, rpmvars) -+ for _, rpmvar in ipairs(rpmvars) do -+ print("sed -i 's\029" .. string.upper("@@" .. rpmvar .. "@@") .. -+ "\029" .. rpm.expand( "%{" .. rpmvar .. "}" ) .. -+ "\029g' " .. macrofile .. "\n") -+ end -+end -+ -+-- https://github.com/rpm-software-management/rpm/issues/566 -+-- Reformat a text intended to be used used in a package description, removing -+-- rpm macro generation artefacts. -+-- – remove leading and ending empty lines -+-- – trim intermediary empty lines to a single line -+-- – fold on spaces -+-- Should really be a %%{wordwrap:…} verb -+local function wordwrap(text) -+ text = rpm.expand(text .. "\n") -+ text = string.gsub(text, "\t", " ") -+ text = string.gsub(text, "\r", "\n") -+ text = string.gsub(text, " +\n", "\n") -+ text = string.gsub(text, "\n+\n", "\n\n") -+ text = string.gsub(text, "^\n", "") -+ text = string.gsub(text, "\n( *)[-*—][ ]+", "\n%1– ") -+ output = "" -+ for line in string.gmatch(text, "[^\n]*\n") do -+ local pos = 0 -+ local advance = "" -+ for word in string.gmatch(line, "%s*[^%s]*\n?") do -+ local wl, bad = utf8.len(word) -+ if not wl then -+ print("%{warn:Invalid UTF-8 sequence detected in:}" .. -+ "%{warn:" .. word .. "}" .. -+ "%{warn:It may produce unexpected results.}") -+ wl = bad -+ end -+ if (pos == 0) then -+ advance, n = string.gsub(word, "^(%s*– ).*", "%1") -+ if (n == 0) then -+ advance = string.gsub(word, "^(%s*).*", "%1") -+ end -+ advance = string.gsub(advance, "– ", " ") -+ pos = pos + wl -+ elseif (pos + wl < 81) or -+ ((pos + wl == 81) and string.match(word, "\n$")) then -+ pos = pos + wl -+ else -+ word = advance .. string.gsub(word, "^%s*", "") -+ output = output .. "\n" -+ pos = utf8.len(word) -+ end -+ output = output .. word -+ if pos > 80 then -+ pos = 0 -+ if not string.match(word, "\n$") then -+ output = output .. "\n" -+ end -+ end -+ end -+ end -+ output = string.gsub(output, "\n*$", "\n") -+ return output -+end -+ -+-- Because rpmbuild will fail if a subpackage is declared before the source -+-- package itself, provide a source package declaration shell as fallback. -+local function srcpkg(verbose) -+ if verbose then -+ rpm.expand([[ -+%{echo:Creating a header for the SRPM from %%{source_name}, %%{source_summary} and} -+%{echo:%%{source_description}. If that is not the intended result, please declare the} -+%{echo:SRPM header and set %%{source_name} in your spec file before calling a macro} -+%{echo:that creates other package headers.} -+]]) -+ end -+ print(rpm.expand([[ -+Name: %{source_name} -+Summary: %{source_summary} -+%description -+%wordwrap -v source_description -+]])) -+ explicitset("currentname", "%{source_name}", verbose) -+end -+ -+-- %new_package core -+local function new_package(source_name, pkg_name, name_suffix, first, verbose) -+ -- Safety net when the wrapper is used in conjunction with traditional syntax -+ if (not first) and (not source_name) then -+ rpm.expand([[ -+%{warn:Something already set a package name. However, %%{source_name} is not set.} -+%{warn:Please set %%{source_name} to the SRPM name to ensure reliable processing.} -+]]) -+ if name_suffix then -+ print(rpm.expand("%package " .. name_suffix)) -+ else -+ print(rpm.expand("%package -n " .. pkg_name)) -+ end -+ return -+ end -+ -- New processing -+ if not (pkg_name or name_suffix or source_name) then -+ rpm.expand([[ -+%{error:You need to set %%{source_name} or provide explicit package naming!} -+]]) -+ end -+ if name_suffix then -+ print(rpm.expand("%package " .. name_suffix)) -+ explicitset("currentname", "%{source_name}-" .. name_suffix, verbose) -+ else -+ if not source_name then -+ source_name = pkg_name -+ end -+ if (pkg_name == source_name) then -+ safeset("source_name", source_name, verbose) -+ print(rpm.expand("Name: %{source_name}")) -+ else -+ if source_name and first then -+ srcpkg(verbose) -+ end -+ print(rpm.expand("%package -n " .. pkg_name)) -+ end -+ explicitset("currentname", pkg_name, verbose) -+ end -+end -+ -+return { -+ read = read, -+ hasflag = hasflag, -+ readflag = readflag, -+ explicitset = explicitset, -+ explicitunset = explicitunset, -+ safeset = safeset, -+ zalias = zalias, -+ setcurrent = setcurrent, -+ echovars = echovars, -+ getsuffixed = getsuffixed, -+ getsuffixes = getsuffixes, -+ getbestsuffix = getbestsuffix, -+ writevars = writevars, -+ wordwrap = wordwrap, -+ new_package = new_package, -+} --- -2.27.0 - diff --git a/add-loongarch64-support-for-config.guess-and-config.sub.patch b/add-loongarch64-support-for-config.guess-and-config.sub.patch deleted file mode 100644 index acc2f83..0000000 --- a/add-loongarch64-support-for-config.guess-and-config.sub.patch +++ /dev/null @@ -1,26 +0,0 @@ -diff --git a/config.guess b/config.guess -index 463631a..2985f85 100644 ---- a/config.guess -+++ b/config.guess -@@ -975,6 +975,9 @@ EOF - k1om:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} - exit ;; -+ loongarch32:Linux:*:* | loongarch64:Linux:*:* | loongarchx32:Linux:*:*) -+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC} -+ exit ;; - m32r*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} - exit ;; -diff --git a/config.sub b/config.sub -index 39dbf60..39870d3 100644 ---- a/config.sub -+++ b/config.sub -@@ -268,6 +268,7 @@ case $basic_machine in - | k1om \ - | le32 | le64 \ - | lm32 \ -+ | loongarch32 | loongarch64 | loongarchx32 \ - | m32c | m32r | m32rle | m68000 | m68k | m88k \ - | maxq | mb | microblaze | microblazeel | mcore | mep | metag \ - | mips | mipsbe | mipseb | mipsel | mipsle \ diff --git a/add-loongarch64-to-generic_arches.patch b/add-loongarch64-to-generic_arches.patch deleted file mode 100644 index cf3dc63..0000000 --- a/add-loongarch64-to-generic_arches.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/macros b/macros -index d6b2c80..a66eb2e 100644 ---- a/macros -+++ b/macros -@@ -241,7 +241,7 @@ - %pkg_vcmp() (%{expand:%%{pkg_version_cmp %1 %3}} %2 0) - - #arches macros --%generic_arches %{ix86} x86_64 %{arm} aarch64 -+%generic_arches %{ix86} x86_64 %{arm} aarch64 loongarch64 - %ldc_arches %{generic_arches} - %valgrind_arches %{generic_arches} - %nodejs_arches %{generic_arches} diff --git a/add-powerpc64le-and-ppc64le-support.patch b/add-powerpc64le-and-ppc64le-support.patch deleted file mode 100644 index 8840182..0000000 --- a/add-powerpc64le-and-ppc64le-support.patch +++ /dev/null @@ -1,39 +0,0 @@ -From c6d355a6997ac10403181015b5ca9d17dcf8d1a7 Mon Sep 17 00:00:00 2001 -From: JianChunfu -Date: Tue, 24 Oct 2023 18:38:38 +0800 -Subject: [PATCH] add powerpc64le and ppc64le support - ---- - macros | 2 +- - rpmrc | 2 ++ - 2 files changed, 3 insertions(+), 1 deletion(-) - -diff --git a/macros b/macros -index 5c7447b..38dc694 100644 ---- a/macros -+++ b/macros -@@ -225,7 +225,7 @@ - %pkg_vcmp() (%{expand:%%{pkg_version_cmp %1 %3}} %2 0) - - #arches macros --%generic_arches %{ix86} x86_64 %{arm} aarch64 loongarch64 -+%generic_arches %{ix86} x86_64 %{arm} aarch64 loongarch64 powerpc64le ppc64le - %ldc_arches %{generic_arches} - %valgrind_arches %{generic_arches} - %nodejs_arches %{generic_arches} -diff --git a/rpmrc b/rpmrc -in -dex 8ba756d..10d7c86 100644 ---- a/rpmrc -+++ b/rpmrc -@@ -8,6 +8,8 @@ optflags: x86_64 %{__global_compiler_flags} -m64 -mtune=generic -fasynchronous-u - optflags: aarch64 %{__global_compiler_flags} -fasynchronous-unwind-tables -fstack-clash-protection - optflags: riscv64 %{__global_compiler_flags} -fasynchronous-unwind-tables -fstack-clash-protection - -+optflags: ppc64le %{__global_compiler_flags} -fasynchronous-unwind-tables -fstack-clash-protection -+ - buildarchtranslate: athlon: i686 - buildarchtranslate: geode: i686 - buildarchtranslate: pentium4: i686 --- -2.33.0 diff --git a/add-pyproject-macros.patch b/add-pyproject-macros.patch deleted file mode 100644 index c6664c9..0000000 --- a/add-pyproject-macros.patch +++ /dev/null @@ -1,42 +0,0 @@ -From b16ce81ae43c1e702beb1351ee9891e3e3f697e6 Mon Sep 17 00:00:00 2001 -From: caodongxia <315816521@qq.com> -Date: Thu, 13 Apr 2023 17:11:53 +0800 -Subject: [PATCH] add pyproject macros - ---- - macros.python | 12 +++++++++++ - 1 file changed, 12 insertions(+) - -diff --git a/macros.python b/macros.python -index d504d3f..d5a7a86 100644 ---- a/macros.python -+++ b/macros.python -@@ -28,6 +28,12 @@ find $bytecode_compilation_path -type f -a -name "*.py" -print0 | xargs -0 $pyth - sleep 1 - } - -+%pyproject_build() %{expand:\\\ -+ CFLAGS="${CFLAGS:-${RPM_OPT_FLAGS}}" LDFLAGS="${LDFLAGS:-${RPM_LD_FLAGS}}"\\\ -+ %{__python3} -mpip wheel --verbose --progress-bar off --disable-pip-version-check --use-pep517 --no-build-isolation --no-deps --wheel-dir ./build . %{?*} -+ sleep 1 -+} -+ - %py_build_egg() %{expand:\\\ - CFLAGS="${CFLAGS:-${RPM_OPT_FLAGS}}" LDFLAGS="${LDFLAGS:-${RPM_LD_FLAGS}}"\\\ - %{__python} %{py_setup} %{?py_setup_args} bdist_egg %{?*} -@@ -45,6 +51,12 @@ find $bytecode_compilation_path -type f -a -name "*.py" -print0 | xargs -0 $pyth - %{__python} %{py_setup} %{?py_setup_args} install -O1 --skip-build --root %{buildroot} %{?*} - } - -+%pyproject_install() %{expand:\\\ -+ specifier=$(ls ./build/*.whl | xargs basename --multiple | sed -E 's/([^-]+)-([^-]+)-.+\\\.whl/\\\1==\\\2/') -+ CFLAGS="${CFLAGS:-${RPM_OPT_FLAGS}}" LDFLAGS="${LDFLAGS:-${RPM_LD_FLAGS}}"\\\ -+ %{__python3} -mpip install --verbose --progress-bar off --disable-pip-version-check --root %{buildroot} --no-compile --ignore-installed --no-deps --no-index --find-links ./build $specifier %{?*} -+} -+ - %py_install_egg() %{expand:\\\ - mkdir -p %{buildroot}%{python_sitelib} - easy_install -m --prefix %{buildroot}%{_prefix} -Z dist/*-py%{python_version}.egg %{?*} --- -2.23.0 - diff --git a/add-pytest-and-tox-macros.patch b/add-pytest-and-tox-macros.patch deleted file mode 100644 index b76444e..0000000 --- a/add-pytest-and-tox-macros.patch +++ /dev/null @@ -1,42 +0,0 @@ -From 2f7b74e83fc52d326d5db7de2bcfab2c8d921f29 Mon Sep 17 00:00:00 2001 -From: desert-sailor -Date: Mon, 24 Jul 2023 11:36:52 +0800 -Subject: [PATCH] add pytest and tox macros - ---- - macros.python | 22 ++++++++++++++++++++++ - 1 file changed, 22 insertions(+) - -diff --git a/macros.python b/macros.python -index 1cc6e70..334c0ab 100644 ---- a/macros.python -+++ b/macros.python -@@ -304,3 +304,25 @@ find $bytecode_compilation_path -type f -a -name "*.py" -print0 | xargs -0 $pyth - %python_sitelib %(%{__python} -c "from distutils.sysconfig import get_python_lib; import sys; sys.stdout.write(get_python_lib())") - %python_sitearch %(%{__python} -c "from distutils.sysconfig import get_python_lib; import sys; sys.stdout.write(get_python_lib(1))") - %python_version %(%{__python} -c "import sys; sys.stdout.write(sys.version[:3])") -+ -+# New python test macros -+%pytest() %{expand:\\\ -+CFLAGS="${CFLAGS:-${RPM_OPT_FLAGS}}" LDFLAGS="${LDFLAGS:-${RPM_LD_FLAGS}}" \\ -+PATH="%{buildroot}%{_bindir}:$PATH" \\ -+PYTHONPATH="${PYTHONPATH:-%{buildroot}%{python3_sitearch}:%{buildroot}%{python3_sitelib}}" \\ -+PYTHONDONTWRITEBYTECODE=1 \\ -+%{?__pytest_addopts:PYTEST_ADDOPTS="${PYTEST_ADDOPTS:-} %{__pytest_addopts}"} \\ -+PYTEST_XDIST_AUTO_NUM_WORKERS=%{_smp_build_ncpus} \\ -+%{_bindir}/pytest %{?*} -+} -+ -+%tox() %{expand:\\\ -+TOX_TESTENV_PASSENV="${TOX_TESTENV_PASSENV:-*}" \\ -+CFLAGS="${CFLAGS:-${RPM_OPT_FLAGS}}" LDFLAGS="${LDFLAGS:-${RPM_LD_FLAGS}}" \\ -+PATH="%{buildroot}%{_bindir}:$PATH" \\ -+PYTHONPATH="${PYTHONPATH:-%{buildroot}%{python3_sitearch}:%{buildroot}%{python3_sitelib}}" \\ -+PYTHONDONTWRITEBYTECODE=1 \\ -+%{?__pytest_addopts:PYTEST_ADDOPTS="${PYTEST_ADDOPTS:-} %{__pytest_addopts}"} \\ -+PYTEST_XDIST_AUTO_NUM_WORKERS=%{_smp_build_ncpus} \\ -+%{__python3} -m tox -e py%{python3_version_nodots} --current-env %{?*} -+} --- -2.33.0 - diff --git a/add-riscv64-to-some-arches-macro.patch b/add-riscv64-to-some-arches-macro.patch deleted file mode 100644 index 987acea..0000000 --- a/add-riscv64-to-some-arches-macro.patch +++ /dev/null @@ -1,41 +0,0 @@ -From 09e746df9d0c333fef9aabcec3047f68c9d1fc60 Mon Sep 17 00:00:00 2001 -From: laokz -Date: Sat, 27 Apr 2024 15:09:30 +0800 -Subject: [PATCH] add riscv64 to some arches macro - ---- - macros | 11 +++++------ - 1 file changed, 5 insertions(+), 6 deletions(-) - -diff --git a/macros b/macros -index 218cd23..c609e85 100644 ---- a/macros -+++ b/macros -@@ -310,7 +310,7 @@ - %generic_arches %{ix86} x86_64 %{arm} aarch64 loongarch64 powerpc64le ppc64le - %ldc_arches %{generic_arches} - %valgrind_arches %{generic_arches} --%nodejs_arches %{generic_arches} -+%nodejs_arches %{generic_arches} riscv64 - %ldc_arches %{generic_arches} - %mono_arches %{generic_arches} - %fpc_arches %{generic_arches} -@@ -319,11 +319,10 @@ - %GNAT_arches %{GPRbuild_arches} %{generic_arches} - %GPRbuild_arches %{generic_arches} - %nim_arches %{generic_arches} --%nodejs_arches %{generic_arches} --%ocaml_native_compiler %{generic_arches} --%ocaml_natdynlink %{generic_arches} --%ocaml_native_profiling %{generic_arches} --%openblas_arches %{generic_arches} -+%ocaml_native_compiler %{generic_arches} riscv64 -+%ocaml_natdynlink %{generic_arches} riscv64 -+%ocaml_native_profiling %{generic_arches} riscv64 -+%openblas_arches %{generic_arches} riscv64 - - #%ldconfig /sbin/ldconfig - %ldconfig_post(n:) %{?ldconfig:%post -p %ldconfig %{?*} %{-n:-n %{-n*}}\ --- -2.39.2 - diff --git a/backport-Enable-as-needed-by-default.patch b/backport-Enable-as-needed-by-default.patch deleted file mode 100644 index 182e388..0000000 --- a/backport-Enable-as-needed-by-default.patch +++ /dev/null @@ -1,31 +0,0 @@ -From 210649d3a50eb862eb95caec54c52cd1513a1dda Mon Sep 17 00:00:00 2001 -From: Igor Gnatenko -Date: Wed, 15 Aug 2018 07:00:14 +0200 -Subject: [PATCH] Enable --as-needed by default - -Conflict:adapt context -Reference:https://src.fedoraproject.org/rpms/redhat-rpm-config/c/357550f7ba4495b01399c904d389369eb0666837 - -Signed-off-by: Igor Gnatenko ---- - macros | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/macros b/macros -index cb96614..0d54994 100644 ---- a/macros -+++ b/macros -@@ -257,8 +257,8 @@ - #%_ld_strict_symbol_defs 1 - %_ld_symbols_flags %{?_ld_strict_symbol_defs:-Wl,-z,defs} - --# use "%define _ld_as_needed 1" to enable. --#%_ld_as_needed 1 -+# use "%undefine _ld_as_needed" to disable. -+%_ld_as_needed 1 - %_ld_as_needed_flags %{?_ld_as_needed:-Wl,--as-needed} - - %_general_options -O2 -g -grecord-gcc-switches -pipe -fstack-protector-strong %[ "%{toolchain}" == "clang" ? "-fgcc-compatible" : "" ] --- -2.33.0 - diff --git a/backport-kmp-feature.patch b/backport-kmp-feature.patch deleted file mode 100644 index 6525efb..0000000 --- a/backport-kmp-feature.patch +++ /dev/null @@ -1,485 +0,0 @@ -From 3e65c85831be0b8f8e1cd43869b4991a76e14d9b Mon Sep 17 00:00:00 2001 -From: Yang Yanchao -Date: Fri, 17 Mar 2023 01:09:09 +0000 -Subject: [PATCH] backport kmp feature - -Signed-off-by: Yang Yanchao -Signed-off-by: Xinliang Liu ---- - kmodtool | 281 ++++++++++++++++++++++++++++++++++++++++++++++++++++ - kmodtool.py | 83 --------------- - macros.kmp | 85 ++++++++++++---- - 3 files changed, 350 insertions(+), 105 deletions(-) - create mode 100644 kmodtool - delete mode 100644 kmodtool.py - -diff --git a/kmodtool b/kmodtool -new file mode 100644 -index 0000000..427d1df ---- /dev/null -+++ b/kmodtool -@@ -0,0 +1,281 @@ -+#!/usr/bin/bash -+ -+# kmodtool - Helper script for building kernel module RPMs -+# Copyright (c) 2003-2006 Ville Skyttä , -+# Thorsten Leemhuis -+# Jon Masters -+# -+# 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. -+ -+shopt -s extglob -+ -+myprog="kmodtool" -+myver="0.10.10_kmp2" -+knownvariants=@(BOOT|PAE|@(big|huge)mem|debug|enterprise|kdump|?(large)smp|uml|xen[0U]?(-PAE)|xen) -+kmod_name= -+kver= -+verrel= -+variant= -+kmp= -+ -+get_verrel () -+{ -+ verrel=${1:-$(uname -r)} -+ verrel=${verrel%%$knownvariants} -+} -+ -+print_verrel () -+{ -+ get_verrel $@ -+ echo "${verrel}" -+} -+ -+get_variant () -+{ -+ get_verrel $@ -+ variant=${1:-$(uname -r)} -+ variant=${variant##$verrel} -+ variant=${variant:-'""'} -+} -+ -+print_variant () -+{ -+ get_variant $@ -+ echo "${variant}" -+} -+ -+get_filelist() { -+ local IFS=$'\n' -+ filelist=($(cat)) -+ -+ if [ ${#filelist[@]} -gt 0 ]; -+ then -+ for ((n = 0; n < ${#filelist[@]}; n++)); -+ do -+ line="${filelist[n]}" -+ line=$(echo "$line" \ -+ | sed -e "s/%verrel/$verrel/g" \ -+ | sed -e "s/%variant/$variant/g" \ -+ | sed -e "s/%dashvariant/$dashvariant/g" \ -+ | sed -e "s/%dotvariant/$dotvariant/g" \ -+ | sed -e "s/\.%1/$dotvariant/g" \ -+ | sed -e "s/\-%1/$dotvariant/g" \ -+ | sed -e "s/%2/$verrel/g") -+ echo "$line" -+ done -+ else -+ echo "%defattr(644,root,root,755)" -+ echo "/lib/modules/${verrel}${dotvariant}" -+ fi -+} -+ -+get_rpmtemplate () -+{ -+ local variant="${1}" -+ local dashvariant="${variant:+-${variant}}" -+ case "$verrel" in -+ *.el*) kdep="kernel${dashvariant}-%{_target_cpu} = ${verrel}" ;; -+ *.EL*) kdep="kernel${dashvariant}-%{_target_cpu} = ${verrel}" ;; -+ *) kdep="kernel-%{_target_cpu} = ${verrel}${variant}" ;; -+ esac -+ -+ echo "%package -n kmod-${kmod_name}${dashvariant}" -+ -+ if [ -z "$kmp_provides_summary" ]; then -+ echo "Summary: ${kmod_name} kernel module(s)" -+ fi -+ -+ if [ -z "$kmp_provides_group" ]; then -+ echo "Group: System Environment/Kernel" -+ fi -+ -+ if [ ! -z "$kmp_version" ]; then -+ echo "Version: %{kmp_version}" -+ fi -+ -+ if [ ! -z "$kmp_release" ]; then -+ echo "Release: %{kmp_release}" -+ fi -+ -+ cat <= %{?epoch:%{epoch}:}%{version} -+# -+ -+ cat < /dev/null || : -+fi -+EOF -+ -+ if [ ! -z "$kmp" ]; then -+ cat < /var/run/rpm-kmod-${kmod_name}${dashvariant}-modules -+EOF -+ -+ fi -+ -+ cat < /dev/null || : -+EOF -+ -+ if [ ! -z "$kmp" ]; then -+ cat <&2 -+ exit 2 -+ elif [ -z "${kver}" ] ; then -+ echo "Please provide the kver as second parameter." >&2 -+ exit 2 -+ elif [ -z "${verrel}" ] ; then -+ echo "Couldn't find out the verrel." >&2 -+ exit 2 -+ fi -+ -+ for variant in "$@" ; do -+ if [ "default" == "$variant" ]; -+ then -+ get_rpmtemplate "" -+ else -+ get_rpmtemplate "${variant}" -+ fi -+ done -+} -+ -+usage () -+{ -+ cat <