Bug 1319109

Summary: incorrect use of Requires(pre)?
Product: [Fedora] Fedora Reporter: Honza Silhan <jsilhan>
Component: am-utilsAssignee: Ian Kent <ikent>
Status: CLOSED NOTABUG QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 25CC: ikent, jsilhan
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-09-13 10:30:31 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 15:52:24 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 Ian Kent 2016-03-19 00:40:44 UTC
(In reply to Jan Silhan from comment #0)
> 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.

Indeed I see it does.

> 
> 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]

It's grep(1) that's used in the pre section.
mv(1) and test(1) are used there too, should I add that these
in the Requires(pre) as well?

> 
> 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.

I'm fairly familiar with the code in the main application
and IIRC it doesn't rely on any utilities to function, there
are a couple of other applications which I'm not so familiar
with but they are probably written in a similar way so they
shouldn't need any utilities.

There are a couple of scripts that might need some utilities
in the package but they are not core functionality and are
not required for normal application usage.

So I'm leaning toward closing this as NOTABUG, not withstanding
any feedback you might have on the question above.

Ian

Comment 2 Jan Kurik 2016-07-26 04:20:52 UTC
This bug appears to have been reported against 'rawhide' during the Fedora 25 development cycle.
Changing version to '25'.

Comment 3 Honza Silhan 2016-09-13 10:30:31 UTC
for scripts it's fine to be defined as Requires(pre). I am sorry for late response.

Comment 4 Honza Silhan 2016-09-13 10:31:12 UTC
* scripts -> tools required in scriplets