Bug 490462

Summary: Review Request: rpmorphan - List the orphaned rpm packages
Product: [Fedora] Fedora Reporter: Richard W.M. Jones <rjones>
Component: Package ReviewAssignee: leigh scott <leigh123linux>
Status: CLOSED NEXTRELEASE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: medium    
Version: rawhideCC: admiller, amote, dcantrell, eric.gerbier, fedora-package-review, leigh123linux, lorenzo, lukasim, notting, pahan, p, rc040203
Target Milestone: ---Flags: leigh123linux: fedora-review+
gwync: fedora-cvs+
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: 1.4-5.fc10 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2009-03-31 12:24:48 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Richard W.M. Jones 2009-03-16 15:23:13 UTC
Spec URL: http://www.annexia.org/tmp/rpmorphan.spec
SRPM URL: http://www.annexia.org/tmp/rpmorphan-1.4-2.src.rpm
Description: List the orphaned rpm packages

Comment 1 Richard W.M. Jones 2009-03-16 15:24:00 UTC
rpmlint says:

rpmorphan.noarch: E: zero-length /var/lib/rpmorphan/keep

Comment 2 Richard W.M. Jones 2009-03-16 15:26:34 UTC
Koji scratch build:

http://koji.fedoraproject.org/koji/taskinfo?taskID=1244239

Comment 3 Richard W.M. Jones 2009-03-16 16:22:51 UTC
*** Bug 244411 has been marked as a duplicate of this bug. ***

Comment 4 Ralf Corsepius 2009-03-16 17:41:35 UTC
Hmm, this package is causing me uneasy feelings:

1) What does this package do what package-cleanup doesn't already do?

2) AFAIU, the nomenclature this package uses clashes with Fedora's (yum) nomenclature:

yum/package-cleanup/Fedora:
"orphan" == "package is not available in repo"
"leaf" == "package without dependency"

Comment 5 Jesse Keating 2009-03-16 17:50:04 UTC
The terminology is bad, and what is wrong with just 'yum list extras' ?

Comment 6 Jesse Keating 2009-03-16 17:51:59 UTC
sorry, I think I misunderstood what you meant by "orphan".

Comment 7 leigh scott 2009-03-21 22:36:34 UTC
Can you add  Requires: perl-Tk


[root@localhost Desktop]# rpmorphan  -gui
WARNING can not find Tk perl module

Comment 8 Richard W.M. Jones 2009-03-25 10:51:00 UTC
Spec URL: http://www.annexia.org/tmp/rpmorphan.spec
SRPM URL: http://www.annexia.org/tmp/rpmorphan-1.4-3.fc11.src.rpm

* Wed Mar 25 2009 Richard W.M. Jones <rjones> - 1.4-3
- Missing Requires perl-Tk (Leigh Scott).
- Added %%{?dist} to Release.

Comment 9 leigh scott 2009-03-25 11:29:36 UTC
Does the Makefile need to be included as a doc? and the files section is truncated.

%files
%defattr(-,root,root)
%{_bindir}/rpmorphan
%{_bindir}/rpmusage.pl
%{_bindir}/rpmusage
%{_bindir}/rpmdep.pl
%{_bindir}/rpmdep
%{_bindir}/rpmduplicates.pl
%{_bindir}/rpmduplicates
%ghost %config(noreplace) %{_localstatedir}/log/rpmorphan.log
%dir %{_localstatedir}/lib/rpmorphan
%attr(644, root, root)%{_localstatedir}/lib/rpmorphan/keep
%config(noreplace) %{_sysconfdir}/logrotate.d/rpmorphan
%{_mandir}/man1/rpmorphan.1*
%{_mandir}/man1/rpmusage.1*
%{_mandir}/man1/rpmdep.1*
%{_mandir}/man1/rpmduplicates.1*
%doc rpmorphan.lsm
%doc Authors
%doc COPYING
%doc Changelog
%doc NEWS
%doc Todo
%doc Makefile
%doc Readme
%doc rpmorphanrc.sample


i.e

%files
%defattr(-,root,root)
%doc rpmorphan.lsm Authors COPYING Changelog NEWS Todo Readme rpmorphanrc.sample
%{_bindir}/*
%ghost %config(noreplace) %{_localstatedir}/log/rpmorphan.log
%dir %{_localstatedir}/lib/rpmorphan
%attr(644, root, root)%{_localstatedir}/lib/rpmorphan/keep
%config(noreplace) %{_sysconfdir}/logrotate.d/rpmorphan
%{_mandir}/man1/rpm*.1*

Comment 10 leigh scott 2009-03-25 11:46:55 UTC
I have just noticed another bit.

%build
make


does it build OK using  %{?_smp_mflags} ?

Comment 11 Richard W.M. Jones 2009-03-25 11:54:26 UTC
(In reply to comment #9)
> Does the Makefile need to be included as a doc?

No, that's a mistake that I copied from the upstream spec
file.  Fix below.

> and the files section is truncated.

Not sure what you mean by this, but I tend to want to list
files explicitly, so that I will get feedback from RPM if
the list changes in the future (ie. if upstream adds more
binaries, or if for some reason the build fails partially
and some binaries are omitted).  We learned this lesson
hard with mingw32 packages and wrote it into the guidelines
for that project:
http://fedoraproject.org/wiki/Packaging/MinGW#Do_not_use_.25.7B_mingw32_bindir.7D.2F.2A_or_.25.7B_mingw32_libdir.7D.2F.2A_in_.25files_section

(In reply to comment #10)
> I have just noticed another bit.
> 
> %build
> make
> 
> 
> does it build OK using  %{?_smp_mflags} ?  

Yes it does - added.

Updated package:

Spec URL: http://www.annexia.org/tmp/rpmorphan.spec
SRPM URL: http://www.annexia.org/tmp/rpmorphan-1.4-4.fc11.src.rpm

* Wed Mar 25 2009 Richard W.M. Jones <rjones> - 1.4-4
- Combine all %%doc lines into one.
- Remove Makefile from %%doc section.
- Use %%{?_smp_mflags}.

Comment 12 leigh scott 2009-03-25 13:13:58 UTC
The package builds OK at Koji

http://koji.fedoraproject.org/koji/taskinfo?taskID=1257868


rpmlint returns


rpmlint -vi rpmorphan-1.4-4.fc11.src.rpm rpmorphan.src: I: checking
1 packages and 0 specfiles checked; 0 errors, 0 warnings.


rpmlint -vi rpmorphan-1.4-4.fc11.noarch.rpmrpmorphan.noarch: I: checking
rpmorphan.noarch: E: zero-length /var/lib/rpmorphan/keep
1 packages and 0 specfiles checked; 1 errors, 0 warnings.


This error can be ignored.


-keep-file

    define the keep file to be used. If not set, the /var/lib/rpmorphan/keep will be used


Package Review
==============

Key:
 - = N/A
 x = Check
 ! = Problem
 ? = Not evaluated

=== REQUIRED ITEMS ===
 [x] Package is named according to the Package Naming Guidelines.
 [x] Spec file name must match the base package %{name}, in the format
%{name}.spec.
 [x] Package meets the Packaging Guidelines.
 [x] Package successfully compiles and builds into binary rpms on at least one
supported architecture.
     Tested on: devel/x86_64
 [x] Rpmlint output:
source RPM: empty
binary RPM:rpmorphan.noarch: E: zero-length /var/lib/rpmorphan/keep
 [x] Package is not relocatable.
 [x] Buildroot is correct
(%{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n))
 [x] Package is licensed with an open-source compatible license and meets other
legal requirements as defined in the legal section of Packaging Guidelines.
 [x] License field in the package spec file matches the actual license.
     License type per spec: GPLv2+
 [x] If (and only if) the source package includes the text of the license(s) in
its own file, then that file, containing the text of the license(s) for the
package is included in %doc.
 [x] Spec file is legible and written in American English.
 [x] Sources used to build the package match the upstream source, as provided
in the spec URL.
     SHA1SUM of package: 28b66dda335721de09337983f42c8c38b5e417b2
rpmorphan-1.4.tar.gz
 [x] Package is not known to require ExcludeArch
 [x] All build dependencies are listed in BuildRequires, except for any that
are listed in the exceptions section of Packaging Guidelines.
 [-] The spec file handles locales properly.
 [-] ldconfig called in %post and %postun if required.
 [x] Package must own all directories that it creates.
 [x] Package requires other packages for directories it uses.
 [x] Package does not contain duplicates in %files.
 [x] Permissions on files are set properly.
 [x] Package has a %clean section, which contains rm -rf $RPM_BUILD_ROOT.
 [x] Package consistently uses macros.
 [x] Package contains code, or permissable content.
 [-] Large documentation files are in a -doc subpackage, if required.
 [-] Package uses nothing in %doc for runtime.
 [-] Header files in -devel subpackage, if present.
 [-] Static libraries in -devel subpackage, if present.
 [-] Package requires pkgconfig, if .pc files are present.
 [-] Development .so files in -devel subpackage, if present.
 [-] Fully versioned dependency in subpackages, if present.
 [x] Package does not contain any libtool archives (.la).
 [-] Package contains a properly installed %{name}.desktop file if it is a GUI
application.
=>see preamble
 [x] Package does not own files or directories owned by other packages.
 [x] Final provides and requires are sane.

=== SUGGESTED ITEMS ===
 [x] Latest version is packaged.
 [x] Package does not include license text files separate from upstream.
 [-] Description and summary sections in the package spec file contains
translations for supported Non-English languages, if available.
 [x] Reviewer should test that the package builds in mock.
     Tested on: http://koji.fedoraproject.org/koji/taskinfo?taskID=1257868
 [-] Package should compile and build into binary rpms on all supported
architectures.
     Tested on: F10/x86_64
 [x] Package functions as described.
 [-] Scriptlets must be sane, if used.
 [-] The placement of pkgconfig(.pc) files is correct.
 [-] File based requires are sane.
 [x] %check is present and the test passes.

Is it possible to contact the author and asked him to
include license info in all the source files.
 

Package approved 


P.S this is my first review.

Comment 13 Richard W.M. Jones 2009-03-25 13:39:26 UTC
No problems with that review, welcome to Fedora!

New Package CVS Request
=======================
Package Name: rpmorphan
Short Description: List the orphaned rpm packages
Owners: rjones
Branches: F-10
InitialCC:

Comment 14 Jason Tibbitts 2009-03-25 16:00:35 UTC
I am quite disappointed that nobody bothered to address comment #4 or #5.

Comment 15 Richard W.M. Jones 2009-03-25 19:14:59 UTC
(In reply to comment #14)
> I am quite disappointed that nobody bothered to address comment #4 or #5.  

I'm not sure what there is to address.  rpmorphan is another
way to do those things, and exists for the same reason we ship
'vi', 'emacs', 'gedit' and 'jed'.

Comment 16 Jason Tibbitts 2009-03-25 19:40:21 UTC
Do what things?  It certainly doesn't find the orphaned packages installed on the system.  Might I suggest reading those comments again to understand what it is they're complaining about?

Comment 17 Richard W.M. Jones 2009-03-25 19:49:02 UTC
What's the issue here?  rpmorphan doesn't use some terms
consistently with other packages in Fedora, but lots of
Fedora packages are inconsistent with each other.  The
packaging guidelines don't say everything must be consistent,
otherwise we wouldn't be able to ship Perl, Python, KDE and
Gnome at the same time.

As a packager it's not my job to work out if a package
overlaps with the functionality of another, or to see if
it does everything consistently with every other part of
Fedora.  I just want to know that it's Free software and
that it adheres to the guidelines, which it does.

Comment 18 Jason Tibbitts 2009-03-25 20:49:48 UTC
The issue is that you have longstanding members of the community raising substantive questions and you completely ignored them.  Hiding behind "the guidelines say I can do it" is not really sufficient.  Why don't you want to address the comments or enter into a conversation about the issue?  It's supposed to be a community, not a bunch of people doing whatever they feel like doing without any regard for how things fit together.

Comment 19 Richard W.M. Jones 2009-03-25 21:02:35 UTC
What the heck?

What's this "conversation" going to consist of besides
me agreeing with Ralf and Jesse, and saying "rpmorphan
is another way to do those things", which I've already
done in comment 15.

Comment 20 Jason Tibbitts 2009-03-25 21:20:10 UTC
In the context of Fedora, "orphan" means a package without a maintainer, which is something rather different than what this package implies that it means.  But that's just the same  observation that Ralf made in comment #4, which doesn't seem to have been addressed.  My simple suggestion would be to add a note to the description about the discrepancy in terminology.

I personally have no problem with having another way to find the leaf packages.  The problem is that you addressed their comments on that issue while ignoring the rest of their comments completely.

Comment 21 Richard W.M. Jones 2009-03-25 22:15:12 UTC
OK, I will modify the summary and description to point out
these differences before submitting.  It's better to make it clear
in the summary I think so that people using 'yum search' don't
get confused.

Comment 22 Kevin Fenzi 2009-03-27 20:45:45 UTC
cvs done.

Comment 23 gerbier 2009-03-30 12:14:16 UTC
I will answer as rpmorphan developper :

- for the "orphan" terminology, I began to work on this project when no other tools exists for rpm packages. The idea comes from debian tools : deborphan, so I adopt the debian terminology. Please note that the spec description already tries to give a definition :"It determines which packages have no other packages depending on their installation"

- for the perl-tk dependency : rpmorphan can work without Tk, this is not a "required" dependency, just optional. Another Gui is provided, based on ncurses (perl module Curses::UI), so if Tk is added, you should add Curses too.

- for the licence info : it is already included in all perl scripts. In which files should I add it ?

I will merge my own spec file with the fedora ones.

Comment 24 Richard W.M. Jones 2009-03-31 12:22:27 UTC
This is how I checked in the Summary and %description in the end:

Summary: List packages that have no dependencies (like deborphan)

%description
rpmorphan finds "orphaned"[1] packages on your system. It determines
which packages have no other packages depending on their installation,
and shows you a list of these packages.  It intends to be clone of
deborphan Debian tools for rpm packages.

It will try to help you to remove unused packages, for example:
* after a distribution upgrade
* when you want to suppress packages after some tests

Several tools are also provided :
* rpmusage - display rpm packages last use date
* rpmdep - display the full dependency of an installed rpm package
* rpmduplicates - find programs with several version installed

Yum offers a program called 'package-cleanup' which you can use to
carry out similar tasks.

[1] Note that orphan is used in the sense of Debian's deborphan, and
is NOT the same as Fedora orphaned packages which are packages that
have no current maintainer.

Comment 25 Fedora Update System 2009-03-31 12:36:38 UTC
rpmorphan-1.4-5.fc10 has been submitted as an update for Fedora 10.
http://admin.fedoraproject.org/updates/rpmorphan-1.4-5.fc10

Comment 26 Fedora Update System 2009-04-02 17:13:59 UTC
rpmorphan-1.4-5.fc10 has been pushed to the Fedora 10 stable repository.  If problems still persist, please make note of it in this bug report.

Comment 27 Adam Miller 2012-09-26 17:45:34 UTC
Package Change Request
======================
Package Name: rpmorphan
New Branches: el5 el6
Owners: maxamillion

Comment 28 Gwyn Ciesla 2013-10-22 11:42:39 UTC
Git done (by process-git-requests).