Bug 490462
Summary: | Review Request: rpmorphan - List the orphaned rpm packages | ||
---|---|---|---|
Product: | [Fedora] Fedora | Reporter: | Richard W.M. Jones <rjones> |
Component: | Package Review | Assignee: | leigh scott <leigh123linux> |
Status: | CLOSED NEXTRELEASE | QA Contact: | Fedora Extras Quality Assurance <extras-qa> |
Severity: | medium | Docs Contact: | |
Priority: | medium | ||
Version: | rawhide | CC: | 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
rpmlint says: rpmorphan.noarch: E: zero-length /var/lib/rpmorphan/keep Koji scratch build: http://koji.fedoraproject.org/koji/taskinfo?taskID=1244239 *** Bug 244411 has been marked as a duplicate of this bug. *** 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" The terminology is bad, and what is wrong with just 'yum list extras' ? sorry, I think I misunderstood what you meant by "orphan". Can you add Requires: perl-Tk [root@localhost Desktop]# rpmorphan -gui WARNING can not find Tk perl module 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. 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* I have just noticed another bit. %build make does it build OK using %{?_smp_mflags} ? (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}. 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. 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: I am quite disappointed that nobody bothered to address comment #4 or #5. (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'. 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? 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. 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. 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. 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. 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. cvs done. 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. 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. rpmorphan-1.4-5.fc10 has been submitted as an update for Fedora 10. http://admin.fedoraproject.org/updates/rpmorphan-1.4-5.fc10 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. Package Change Request ====================== Package Name: rpmorphan New Branches: el5 el6 Owners: maxamillion Git done (by process-git-requests). |