diff --git a/.ddiskit.metadata b/.ddiskit.metadata new file mode 100644 index 0000000..902ddf8 --- /dev/null +++ b/.ddiskit.metadata @@ -0,0 +1 @@ +dd79ea8e15423eac54793ed027343a05fff932ff SOURCES/ddiskit-de1f6847223085dcdd177e02a7298c835fae12a3.tar.gz diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..7b9adef --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +SOURCES/ddiskit-de1f6847223085dcdd177e02a7298c835fae12a3.tar.gz diff --git a/SOURCES/0001-kabi-stablelists.patch b/SOURCES/0001-kabi-stablelists.patch new file mode 100644 index 0000000..c152b03 --- /dev/null +++ b/SOURCES/0001-kabi-stablelists.patch @@ -0,0 +1,42 @@ +Index: ddiskit-de1f6847223085dcdd177e02a7298c835fae12a3/templates/spec +=================================================================== +--- ddiskit-de1f6847223085dcdd177e02a7298c835fae12a3.orig/templates/spec 2019-07-11 06:00:36.000000000 +0200 ++++ ddiskit-de1f6847223085dcdd177e02a7298c835fae12a3/templates/spec 2022-02-15 01:18:40.875578229 +0100 +@@ -21,12 +21,19 @@ + %endif + + %if "%{kmod_dist_build_deps}" == "" ++%if (0%{?rhel} > 8) || (0%{?centos} > 8) ++%define abi_list stablelist ++%define kmod_dist_build_deps redhat-rpm-config kernel-abi-stablelists elfutils-libelf-devel kernel-rpm-macros kmod ++%else + %if (0%{?rhel} > 7) || (0%{?centos} > 7) ++%define abi_list whitelist + %define kmod_dist_build_deps redhat-rpm-config kernel-abi-whitelists elfutils-libelf-devel kernel-rpm-macros kmod + %else ++%define abi_list whitelist + %define kmod_dist_build_deps redhat-rpm-config kernel-abi-whitelists + %endif + %endif ++%endif + + Source0: %{kmod_name}-%{kmod_vendor}-%{kmod_driver_version}.tar.bz2 + %{SOURCE_PATCHES} +@@ -210,7 +217,7 @@ + # mark modules executable so that strip-to-file can strip them + find obj/%{kmod_kbuild_dir} -name "*.ko" -type f -exec chmod u+x '{}' + + +-whitelist="/lib/modules/kabi-current/kabi_whitelist_%{_target_cpu}" ++kabilist="/lib/modules/kabi-current/kabi_%{abi_list}_%{_target_cpu}" + for modules in $( find obj/%{kmod_kbuild_dir} -name "*.ko" -type f -printf "%{findpat}\n" | sed 's|\.ko$||' | sort -u ) ; do + # update depmod.conf + module_weak_path=$(echo "$modules" | sed 's/[\/]*[^\/]*$//') +@@ -227,7 +234,7 @@ + + # update greylist + nm -u obj/%{kmod_kbuild_dir}/$modules.ko | sed 's/.*U //' | sed 's/^\.//' | sort -u | while read -r symbol; do +- grep -q "^\s*$symbol\$" $whitelist || echo "$symbol" >> source/greylist ++ grep -q "^\s*$symbol\$" $kabilist || echo "$symbol" >> source/greylist + done + done + sort -u source/greylist | uniq > source/greylist.txt diff --git a/SPECS/ddiskit.spec b/SPECS/ddiskit.spec new file mode 100644 index 0000000..f66cce4 --- /dev/null +++ b/SPECS/ddiskit.spec @@ -0,0 +1,144 @@ +# Use the forge macros to simplify packaging. +# See https://fedoraproject.org/wiki/Forge-hosted_projects_packaging_automation +%global forgeurl https://github.com/orosp/ddiskit +# When we no longer need to build against a git commit, +# Simply remove the commit variable and update the Version +# Then forge will pick up the release +%global commit de1f6847223085dcdd177e02a7298c835fae12a3 + +Name: ddiskit +Version: 3.6 + +%forgemeta + +Release: 15%{?dist} +Summary: Tool for Red Hat Enterprise Linux Driver Update Disk creation + +License: GPLv3 +URL: %{forgeurl} +Source0: %{forgesource} + +Patch0001: 0001-kabi-stablelists.patch + +BuildArch: noarch +BuildRequires: python3-devel +BuildRequires: python3-setuptools + +Requires: rpm createrepo +Requires: /usr/bin/mkisofs +Suggests: quilt git +Recommends: kernel-devel redhat-rpm-config rpm-build +Recommends: mock + +%description -n %{name} +Ddiskit is a little framework for simplifying creation of proper +Driver Update Disks (DUD) used for providing new or updated out-of-tree +kernel modules. + +%prep +%forgesetup + +%patch0001 -p1 + +%build +%py3_build + +%install +%py3_install +find %{buildroot} -size 0 -delete + +%check +%{__python3} setup.py test + +%files -n %{name} +%doc README +%license COPYING +%{python3_sitelib}/* +%{_bindir}/ddiskit +%{_mandir}/man1/ddiskit.1* +%{_datadir}/bash-completion/completions/ddiskit + +%dir %{_datadir}/ddiskit +%dir %{_datadir}/ddiskit/keyrings +%dir %{_datadir}/ddiskit/keyrings/rh-release +%dir %{_datadir}/ddiskit/profiles +%dir %{_datadir}/ddiskit/templates +%{_datadir}/ddiskit/templates/spec +%{_datadir}/ddiskit/templates/config +%{_datadir}/ddiskit/profiles/* +%{_datadir}/ddiskit/keyrings/rh-release/*.key +%{_datadir}/ddiskit/ddiskit.config + +%config(noreplace) /etc/ddiskit.config + +%changelog +* Mon Feb 14 2022 Eugene Syromiatnikov - 3.6-15 +- Support kernel-abi-stablelists package usage in RHEL 9 (#1990207). + +* Mon Aug 09 2021 Mohan Boddu - 3.6-14.gitde1f684.gitde1f684 +- Rebuilt for IMA sigs, glibc 2.34, aarch64 flags + Related: rhbz#1991688 + +* Thu Apr 29 2021 Eugene Syromiatnikov - 3.6-13 +- Change "Requires: genisoimage" dependency to "Requires: /usr/bin/mkisofs" + to enable xorriso-provided drop-in replacement implementation usage. + +* Thu Apr 15 2021 Mohan Boddu - 3.6-12 +- Rebuilt for RHEL 9 BETA on Apr 15th 2021. Related: rhbz#1947937 + +* Tue Jan 26 2021 Fedora Release Engineering - 3.6-11 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + +* Wed Oct 14 2020 Cestmir Kalina - 3.6-10 +- Remove Python 2 relevant chunks +- Fixes #1885256 + +* Mon Jul 27 2020 Fedora Release Engineering - 3.6-9 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Tue May 26 2020 Miro HronĨok - 3.6-8 +- Rebuilt for Python 3.9 + +* Tue Jan 28 2020 Fedora Release Engineering - 3.6-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + +* Fri Nov 29 2019 Zamir SUN - 3.6-6.20191129gitde1f684 +- Update to Python3 support in de1f6847223085dcdd177e02a7298c835fae12a3 +- Fixes RHBZ#1777623 + +* Wed Jul 24 2019 Fedora Release Engineering - 3.6-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + +* Thu Jan 31 2019 Fedora Release Engineering - 3.6-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild + +* Thu Jul 12 2018 Fedora Release Engineering - 3.6-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild + +* Wed Feb 07 2018 Fedora Release Engineering - 3.6-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild + +* Tue Oct 17 2017 Petr Oros - 3.6-1 +- New upstream release + +* Mon Jun 26 2017 Petr Oros - 3.5-1 +- New upstream release + +* Thu Jun 22 2017 Petr Oros - 3.4-1 +- New upstream release + +* Mon Apr 24 2017 Petr Oros - 3.3-1 +- New upstream release + +* Tue Mar 14 2017 Petr Oros - 3.2-1 +- New upstream release + +* Tue Feb 28 2017 Petr Oros - 3.1-1 +- New upstream release + +* Mon Feb 13 2017 Petr Oros - 3.0-2 +- Bump version after few important fixes + +* Mon Sep 5 2016 Petr Oros - 3.0-1 +- Initial package. +