Bug 1319131 - incorrect use of Requires(pre)?
Summary: incorrect use of Requires(pre)?
Keywords:
Status: CLOSED RAWHIDE
Alias: None
Product: Fedora
Classification: Fedora
Component: kernel
Version: rawhide
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Kernel Maintainer List
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2016-03-18 15:54 UTC by Honza Silhan
Modified: 2016-03-21 11:53 UTC (History)
6 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2016-03-21 11:53:27 UTC
Type: ---


Attachments (Terms of Use)

Description Honza Silhan 2016-03-18 15:54:12 UTC
We've identified your package for having `Requires(pre)` RPM flag without `Requires` [1]. `Requires(pre)` rpm tag could be interpreted wrongly, so to prevent any harm to Fedora users I am notifying you about this fact.

Any package that is specified in `Requires(pre)` could be freely removed. Citing from RPM pages:
```
If there are no other dependencies on the package providing /usr/sbin/useradd, that package is permitted to be removed from the system after installation(!)
``` [2]

If you really rely on dependency just during the installation process and your package don't necessary require the dependency for the proper run of your application then ignore this bug report and close it as NOTABUG. Otherwise add to your spec file additional `Requires` for the dependency, please.


[1] paste.fedoraproject.org/341611/82208431
[2] http://www.rpm.org/wiki/PackagerDocs/MoreOnDependencies

Comment 1 Josh Boyer 2016-03-18 18:58:03 UTC
Thanks for the report.  I believe the kernel usage here is mostly correct.  I'll address each Requires(pre).

linux-firmware: The kernel will boot without this and it is not required at runtime from a strictly technical point of view.  The ability to remove it is actually desired in many cases, such as cloud images.

dracut: This is technically OK.  The kernel needs dracut at install time, so the Requires(pre) will enforce that.  After a kernel is installed, dracut can be removed.  If another kernel is installed, the Requires(pre) should bring it back because kernels are always RPM installed and not RPM updated.

fileutils: This should probably be changed to coreutils anyway, given that fileutils as a package doesn't exist.  Aside from that, same reasoning as dracut above.

/usr/bin/find: I'll change this to findutils.  This one should actually be changed to Requires, as it is in the -devel subpackage.

Comment 2 Josh Boyer 2016-03-21 11:53:27 UTC
I made the noted changes in rawhide last week.


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