Bug 2208474 - update-alternatives lint checks not in line with Fedora packaging guidelines
Summary: update-alternatives lint checks not in line with Fedora packaging guidelines
Keywords:
Status: NEW
Alias: None
Product: Fedora
Classification: Fedora
Component: rpmlint
Version: 39
Hardware: All
OS: Linux
unspecified
low
Target Milestone: ---
Assignee: Tom "spot" Callaway
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2023-05-19 08:24 UTC by Xavier Delaruelle
Modified: 2023-08-16 08:15 UTC (History)
4 users (show)

Fixed In Version:
Doc Type: ---
Doc Text:
Clone Of:
Environment:
Last Closed:
Type: ---
Embargoed:


Attachments (Terms of Use)

Description Xavier Delaruelle 2023-05-19 08:24:11 UTC
When linting (through fedpkg) a package I maintain (environment-modules), I recently obtain errors that were not reported previously:

* alternative-link-missing
* alternative-generic-name-not-symlink

I cannot describe when these new errors appeared unfortunately. What I can say for sure:

* I did not get these alternative errors when building and testing the package in May 2022
* The update-alternative setup in the spec file I work on has not changed since a long time
* Now I want to build and test the package I obtain these 2 new errors.

Now looking at these 2 error explanations, it asks to reference the /etc/alternatives/<name> symlink in the %file section of the spec package.

I have checked the Fedora packaging guidelines (https://docs.fedoraproject.org/en-US/packaging-guidelines/Alternatives/) and these errors reported by rpmlint are not in line with Fedora guidelines. I have checked other Fedora packages and they still follow the distribution packaging guidelines.

Looking at rpmlint code (https://github.com/rpm-software-management/rpmlint/commit/62cb4fb1dac50d385f9c22a6f2a5aad965dc622a), it seems it also support openSUSE guidelines (https://en.opensuse.org/openSUSE:Packaging_Multiple_Version_guidelines). These openSUSE guidelines seem to be in line with rpmlint reports.

So from my understanding, either:
* rpmlint should be adapted for Fedora to cope with Fedora packaging guidelines
* Fedora packaging guidelines should be updated to reflect the new error reports

Reproducible: Always

Steps to Reproduce:
1. dnf install fedpkg
2. git clone ssh://<login>@pkgs.fedoraproject.org/rpms/environment-modules
3. cd environment-modules
4. fedpkg mockbuild
5. fedpkg lint


Actual Results:  
$ fedpkg lint
Mockbuild results directory found. Linting mockbuild results.
============================================================================================== rpmlint session starts =============================================================================================
rpmlint: 2.4.0
configuration:
    /usr/lib/python3.10/site-packages/rpmlint/configdefaults.toml
    /etc/xdg/rpmlint/fedora-legacy-licenses.toml
    /etc/xdg/rpmlint/fedora-spdx-licenses.toml
    /etc/xdg/rpmlint/fedora.toml
    /etc/xdg/rpmlint/scoring.toml
    /etc/xdg/rpmlint/users-groups.toml
    /etc/xdg/rpmlint/warn-on-functions.toml
rpmlintrc: [PosixPath('/home/user/devel/environment-modules/environment-modules.rpmlintrc')]
checks: 31, packages: 3

environment-modules.x86_64: W: package-with-huge-docs 73%
environment-modules.x86_64: I: package supports update-alternatives
environment-modules.x86_64: W: no-manual-page-for-binary envml
environment-modules.x86_64: W: files-duplicate /usr/share/Modules/init/ksh-functions/module /usr/share/Modules/init/ksh:/usr/share/Modules/init/ksh-functions/ml
environment-modules.x86_64: W: dangerous-command-in-%post rm
environment-modules.x86_64: E: alternative-link-missing /etc/alternatives/modules.csh
environment-modules.x86_64: E: alternative-link-missing /etc/alternatives/modulecmd
environment-modules.x86_64: E: alternative-link-missing /etc/alternatives/modules.sh
environment-modules.x86_64: E: alternative-generic-name-not-symlink /etc/profile.d/modules.csh
environment-modules.x86_64: E: alternative-generic-name-not-symlink /usr/bin/modulecmd
environment-modules.x86_64: E: alternative-generic-name-not-symlink /etc/profile.d/modules.sh
=============================================================== 2 packages and 1 specfiles checked; 6 errors, 4 warnings, 6 badness; has taken 0.4 s ==============================================================
Could not execute lint: Failed to execute command.

Expected Results:  
I would expect not to get the "E: alternative-link-missing" and "E: alternative-generic-name-not-symlink" errors

Comment 1 Fedora Release Engineering 2023-08-16 08:15:15 UTC
This bug appears to have been reported against 'rawhide' during the Fedora Linux 39 development cycle.
Changing version to 39.


Note You need to log in before you can comment on or make changes to this bug.