diff --git a/.hunspell.en.dic b/.hunspell.en.dic index 794dc556..1a46ac0d 100644 --- a/.hunspell.en.dic +++ b/.hunspell.en.dic @@ -1252,3 +1252,7 @@ value' libb koji taskinfo +rpmlintrc +rpm +rpms +srpm diff --git a/script/mrel b/script/mrel index 16c27e4e..5401dd3b 100755 --- a/script/mrel +++ b/script/mrel @@ -277,8 +277,9 @@ file delete log-gz log-bz log-win $prevdistgz distfiles distfiles-win\ log-prev-gz distfiles-prev $prevdistwin log-prev-win distfiles-win-prev # check generated RPM spec file -runcmd >@stdout rpmlint -r share/rpm/environment-modules.rpmlintrc\ - share/rpm/environment-modules.spec +runcmd >@stdout rpmlint --ignore-unused-rpmlintrc --rpmlintrc\ + share/rpm/environment-modules.rpmlintrc share/rpm/environment-modules.spec\ + $srcrpm quitorcont @@ -298,13 +299,20 @@ runcmd 2>@$logfid git push --force $gh_test_remote $reltag exec sudo --validate runcmd 2>@$logfid rpmbuild --rebuild $srcrpm -foreach rpmpkg [glob $rpmdir/environment-modules-$rpmrelver.*.rpm] { +set rpmpkg_list [glob $rpmdir/environment-modules-$rpmrelver.*.rpm] +foreach rpmpkg $rpmpkg_list { runcmd >@stdout rpm -qlp $rpmpkg | less -eFKRX quitorcont # check installation of built RPM runcmd sudo rpm -ivh $rpmpkg } +# check all RPM files (spec, srpm, rpms) all at once to check rpm files and +# see if rpmlint produces some unused-rpmlintrc warnings +runcmd >@stdout rpmlint --rpmlintrc share/rpm/environment-modules.rpmlintrc\ + share/rpm/environment-modules.spec $srcrpm {*}$rpmpkg_list +quitorcont + # Phase 4: build, test, install from generated dists # --------------------------------------------------------- diff --git a/share/rpm/environment-modules.rpmlintrc b/share/rpm/environment-modules.rpmlintrc index 11ebe0b4..b3e20264 100644 --- a/share/rpm/environment-modules.rpmlintrc +++ b/share/rpm/environment-modules.rpmlintrc @@ -1,2 +1,20 @@ +# from the https://docs.fedoraproject.org/en-US/packaging-guidelines/: +# "If a package supersedes/replaces an existing package without being a +# sufficiently compatible replacement as defined above, use only the +# 'Obsoletes:' line." +addFilter("W: obsolete-not-provided environment-modules-compat") + +# %ghost file mode false positive +addFilter("W: non-executable-in-bin /usr/bin/modulecmd 644") + # generic environment(modules) provides statement addFilter("W: unversioned-explicit-provides environment\(modules\)") + +# false positive spelling errors +addFilter("E: spelling-error \('modulefiles', '%description -l en_US modulefiles -> module files, module-files, modifies'\)") +addFilter("E: spelling-error \('modulefile', '%description -l en_US modulefile -> module file, module-file, doleful'\)") +addFilter("E: spelling-error \('ksh', '%description -l en_US ksh -> KS, Ks, ks'\)") +addFilter("E: spelling-error \('zsh', '%description -l en_US zsh -> Zs, sh, sch'\)") +addFilter("E: spelling-error \('csh', '%description -l en_US csh -> Cash, cash, cosh'\)") +addFilter("E: spelling-error \('tcsh', '%description -l en_US tcsh -> tosh, tush, Cash'\)") +addFilter("E: spelling-error \('perl', '%description -l en_US perl -> Perl, Pearl, Peel'\)")