[OS-BUILD PATCH 0/2] spec: rework filter-mods and mod-denylist (with filtermods.py)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



From: Jan Stancek on gitlab.com
Merge Request: https://gitlab.com/cki-project/kernel-ark/-/merge_requests/2943

Replace all the various shell scripts used for module filtering,
which are a constant pain to keep updated.

Main issues with current scripts are:
- filter-mods shell scripts don't take kmod dependencies into account. mod-
denylist makes some checks, but it tends to move all kmods to modules-core.
User has to fix any dependency issues manually.
- package dependencies are not taken into account, e.g. modules depends on
module-core
- all filter-mods rules are hard rules - if there's any small conflict build
fails and user has to resolve it. This has led to creation of 'overrides'
variables (exceptions).
- default bucket for kmods is modules-core, which leads to its bloat
- arch overrides are getting stale/forgotten
- config scattered across ~18 files (for fedora+eln), conflicting or duplicit
requests in configs
- hard to introduce new variants
- inconsistency - some files list directories, some kmods with extension, some
without extension

Main advantage of new script is that it takes kmod and package dependencies
into account, so config doesn't require you to list every kmod (and its
dependencies) explicitly. You can cover multiple kmods with a single rule.
And finally the default bucket is 'modules' package.

mod-denylist is trimmed down to only generate blacklist files,
and no longer does any kmod file moves or looks at dependencies.

rawhide scratch build:
https://koji.fedoraproject.org/koji/taskinfo?taskID=115787349
eln scratch build:
https://koji.fedoraproject.org/koji/taskinfo?taskID=115796084

More docs can be found at redhat/scripts/filtermods.adoc

Signed-off-by: Jan Stancek <jstancek@xxxxxxxxxx>

---
 redhat/fedora_files/def_variants.yaml.fedora  |   504 +++++++++++
 redhat/fedora_files/filter-aarch64.sh.fedora  |    20 -
 redhat/fedora_files/filter-modules.sh.fedora  |   201 ----
 redhat/fedora_files/filter-ppc64le.sh.fedora  |    14 -
 redhat/fedora_files/filter-s390x.sh.fedora    |    12 -
 redhat/fedora_files/filter-x86_64.sh.fedora   |    12 -
 redhat/fedora_files/mod-extra.list.fedora     |   200 ----
 redhat/rhel_files/def_variants.yaml.rhel      |   519 +++++++++++
 redhat/rhel_files/filter-aarch64.sh.rhel      |    18 -
 redhat/rhel_files/filter-armv7hl.sh.rhel      |     0 
 redhat/rhel_files/filter-modules.sh.rhel      |   177 ----
 redhat/rhel_files/filter-ppc64le.sh.rhel      |    14 -
 redhat/rhel_files/filter-s390x.sh.rhel        |    12 -
 redhat/rhel_files/filter-x86_64.sh.rhel       |    12 -
 redhat/rhel_files/mod-extra.list.rhel         |   326 -------
 redhat/rhel_files/mod-kvm.list                |     5 -
 redhat/scripts/filtermods-testdata/test1.dep  |     4 +
 redhat/scripts/filtermods-testdata/test1.yaml |    20 +
 redhat/scripts/filtermods-testdata/test2.dep  |     8 +
 redhat/scripts/filtermods-testdata/test2.yaml |    13 +
 redhat/scripts/filtermods-testdata/test3.dep  |    10 +
 redhat/scripts/filtermods-testdata/test3.yaml |    14 +
 redhat/scripts/filtermods-testdata/test4.dep  |    10 +
 redhat/scripts/filtermods-testdata/test4.yaml |    22 +
 redhat/scripts/filtermods-testdata/test5.dep  |    10 +
 redhat/scripts/filtermods-testdata/test5.yaml |    18 +
 redhat/scripts/filtermods-testdata/test6.dep  |     4 +
 redhat/scripts/filtermods-testdata/test6.yaml |    17 +
 redhat/scripts/filtermods-testdata/test7.dep  |     4 +
 redhat/scripts/filtermods-testdata/test7.yaml |    14 +
 redhat/scripts/mod/mod-denylist.sh            |   112 +--
 redhat/scripts/mod/mod-internal.list          |   105 --
 redhat/scripts/mod/mod-kvm.list               |     5 -
 redhat/scripts/mod/mod-partner.list           |     2 -
 redhat/scripts/filtermods.adoc                |   255 +++++
 redhat/scripts/filtermods.py                  |  1084 +++++++++++++++++++++++++
 redhat/scripts/yamlsanity.py                  |    17 +
 redhat/Makefile                               |     9 +-
 redhat/kernel.spec.template                   |   270 ++---
 39 files changed, 2689 insertions(+), 1384 deletions(-)
--
_______________________________________________
kernel mailing list -- kernel@xxxxxxxxxxxxxxxxxxxxxxx
To unsubscribe send an email to kernel-leave@xxxxxxxxxxxxxxxxxxxxxxx
Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: https://lists.fedoraproject.org/archives/list/kernel@xxxxxxxxxxxxxxxxxxxxxxx
Do not reply to spam, report it: https://pagure.io/fedora-infrastructure/new_issue




[Index of Archives]     [Fedora General Discussion]     [Older Fedora Users Archive]     [Fedora Advisory Board]     [Fedora Security]     [Fedora Devel Java]     [Fedora Legacy]     [Fedora Desktop]     [ATA RAID]     [Fedora Marketing]     [Fedora Mentors]     [Fedora Package Announce]     [Fedora Package Review]     [Fedora Music]     [Fedora Packaging]     [Centos]     [Fedora SELinux]     [Coolkey]     [Yum Users]     [Tux]     [Yosemite News]     [KDE Users]     [Fedora Art]     [Fedora Docs]     [USB]     [Asterisk PBX]

  Powered by Linux