Bug 1319199

Summary: incorrect use of Requires(pre)?
Product: [Fedora] Fedora Reporter: Honza Silhan <jsilhan>
Component: cyrus-imapdAssignee: Pavel Šimerda (pavlix) <psimerda>
Status: CLOSED NOTABUG QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: rawhideCC: jsilhan, j, mhlavink, psimerda, vanmeeuwen+fedora
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2016-06-22 17:55:14 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:

Description Honza Silhan 2016-03-18 16:00:01 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 Pavel Šimerda (pavlix) 2016-06-22 12:57:22 UTC
I fail to see anything suspicious here...

BuildRequires:  byacc
BuildRequires:  flex
BuildRequires:  openssl-devel
Requires(post): pwgen
%if 0%{?fedora} >= 15 || 0%{?rhel} >= 7
BuildRequires:  systemd-units
Requires(post): systemd-units
Requires(preun): systemd-units
Requires(postun): systemd-units
%else
Requires(post): chkconfig
Requires(preun): chkconfig
Requires(preun): initscripts

Comment 2 Jason Tibbitts 2016-06-22 17:55:14 UTC
Well, the F24/rawhide package doesn't resemble that bit of code at all.  It's actually still kind of a mess, because the individual subpackages have their own dependency blocks, and the dep on shadow-utils is indeed only a Requires(pre).  

But that's exactly correct in this case; it's needed only to create a user at install time and isn't needed at all at runtime or when the package is uninstalled.  I suspect that nearly all of the dependencies on shadow-utils or /usr/sbin/useradd will fall into this category.

So I'll close NOTABUG as the original report suggests.

Comment 3 Honza Silhan 2016-09-13 10:32:27 UTC
Then it's correct to close it.