Bug 653467 - Review Request: libpagemap - library for utilization of kernel pagemap interface
Summary: Review Request: libpagemap - library for utilization of kernel pagemap interface
Keywords:
Status: CLOSED NEXTRELEASE
Alias: None
Product: Fedora
Classification: Fedora
Component: Package Review
Version: rawhide
Hardware: All
OS: Linux
low
medium
Target Milestone: ---
Assignee: Dan Horák
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2010-11-15 14:59 UTC by Petr Holasek
Modified: 2016-10-04 04:07 UTC (History)
5 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2010-12-19 17:34:14 UTC
Type: ---
Embargoed:
dan: fedora-review+
j: fedora-cvs+


Attachments (Terms of Use)

Description Petr Holasek 2010-11-15 14:59:55 UTC
Spec URL: https://fedorahosted.org/released/libpagemap/libpagemap.spec
SRPM URL: https://fedorahosted.org/released/libpagemap/libpagemap-0.0.1-1.src.rpm
Description: This package consists of libpagemap library that utilizes kernel
pagemap interface and provides functions for memory statistics, walking
through processes and more. The package contains also pgmap utility which
demonstrates using of library and provides memory statistics about system
memory. In the future I'd like to add my pagevisual utility that runs on PyGTK
and visualize memory pages statistics by charts or pixmaps. But this utility
is still under developing and not completed.
BTW, it's my first package and I am seeking a sponsor.

Comment 1 Dan Horák 2010-11-18 12:15:20 UTC
formal review is here, see the notes explaining OK* and BAD statuses below:

BAD	source files match upstream:
    upstream:	0ef5d79e4910a78ac5f469317e0e30da0c88130a  libpagemap-0.0.1.tar.gz
    srpm:	eef5d2f4ca658cb48b4f42f4c636c6ec7dca815b  libpagemap-0.0.1.tar.gz

OK	package meets naming and versioning guidelines.
OK	specfile is properly named, is cleanly written and uses macros consistently.
BAD	dist tag is present.
OK	license field matches the actual license.
BAD	license is open source-compatible (GPLv3+). License text included in package.
OK	latest version is being packaged.
OK	BuildRequires are proper.
BAD	compiler flags are appropriate.
OK	%clean is present.
OK	package builds in mock (Rawhide/x86_64).
OK	debuginfo package looks complete.
OK	rpmlint is silent.
OK	final provides and requires look sane.
N/A	%check is present and all tests pass.
OK	shared libraries are added to the regular linker search paths.
OK	owns the directories it creates.
OK	doesn't own any directories it shouldn't.
OK	no duplicates in %files.
BAD	file permissions are appropriate.
OK	correct scriptlets present.
OK	code, not content.
OK	documentation is small, so no -docs subpackage is necessary.
OK	%docs are not necessary for the proper functioning of the package.
OK	headers in -devel.
OK	no pkgconfig files.
OK	no libtool .la droppings.
OK	not a GUI app.


- the checksum doesn't match between the source included in the srpm and the one downloaded from Source0 URL
- you should use dist tag in the Release unless you have strong reason for not doing that (https://fedoraproject.org/wiki/Packaging:NamingGuidelines#Using_the_.25.7B.3Fdist.7D_Tag and https://fedoraproject.org/wiki/Packaging:DistTag)
- the license text must be included as %doc
- the Fedora compiler flags are not used (https://fedoraproject.org/wiki/Packaging/Guidelines#Compiler_flags)
- use the same %defattr(-,root,root,-) for both (sub-)packages
- the man page should use the default permission 0644 inherited from %defattr, no need to mark it as %doc, it's done automatically by rpm
- the man page should be included in source archive in unpacked form, rpm will pack it itself, then use "pmap.1*" in the %files section
- be careful when setting the soname for the library as it represents API/ABI version and is used in autogenerated dependencies
- README should be included as %doc

Comment 2 Petr Holasek 2010-11-19 11:28:14 UTC
Spec URL: https://fedorahosted.org/released/libpagemap/libpagemap.spec
SRPM URL: https://fedorahosted.org/released/libpagemap/libpagemap-0.0.1-1.src.rpm

Thanks for review, I've fixed things you pointed out. Only man page permissions I set explicitly to 0644, because %defattr installed pgmap.1.gz as 0755 and rpmlint reported 'executable man page' error.

Comment 3 Dan Horák 2010-11-22 11:11:36 UTC
Fixed issues:
- source archive matches upstream
    c8bbf78fc43f74e14582f4451672e1a521c519a6  libpagemap-0.0.1.tar.gz
- dist tag is used
- license text is included
- proper compiler flags are used
- upstream man page is not compressed

Remaining issues:
- the development library "libpagemap.so" is not installed and included in the -devel subpackage
- drop the %doc attribute from the man page, it's done automatically by rpm
- rpmlint still complains a bit:
libpagemap.x86_64: W: spelling-error Summary(en_US) Pagemap -> Page map, Page-map, Pageant
libpagemap.x86_64: W: spelling-error %description -l en_US pagemap -> page map, page-map, pageant
libpagemap.src: W: spelling-error Summary(en_US) Pagemap -> Page map, Page-map, Pageant
libpagemap.src: W: spelling-error %description -l en_US pagemap -> page map, page-map, pageant
    => false positives
libpagemap.x86_64: W: manual-page-warning /usr/share/man/man1/pgmap.1.gz 1: warning: macro `�' not defined
    => please check 
libpagemap-devel.x86_64: W: no-documentation
    => can be ignored
libpagemap-devel.x86_64: W: spurious-executable-perm /usr/include/libpagemap.h
    => best to use "-m 0644" in the install target in the Makefile, see below

These issues should be solved in upstream code:
- using "-p" and "-m <perms>" options when installing files is preferred


Also increase the release and add a changelog entry summarizing the changes for every package iteration, it's hard to track the changes when not doing so.

Comment 4 Petr Holasek 2010-11-23 12:16:47 UTC
SRPM URL: https://fedorahosted.org/released/libpagemap/libpagemap-0.0.1-2.src.rpm
Spec URL: https://fedorahosted.org/released/libpagemap/libpagemap.spec

I'm really sorry for missing changelog, I've fixed it.

Comment 5 Dan Horák 2010-11-24 11:35:22 UTC
All issues are fixed, this package is APPROVED.

Comment 6 Petr Holasek 2010-11-24 18:26:29 UTC
New Package SCM Request
=======================
Package Name: libpagemap
Short Description: Library for utilizing kernel pagemap interface
Owners: pholasek
Branches: f14
InitialCC:

Comment 7 Jason Tibbitts 2010-11-24 20:31:44 UTC
Git done (by process-git-requests).

Comment 8 Dan Horák 2010-12-19 17:34:14 UTC
package is imported and built, closing

Comment 9 Petr Holasek 2011-03-25 10:41:57 UTC
Package Change Request
======================
Package Name: libpagemap
New Branches: el6
Owners: pholasek aarapov

Comment 10 Jason Tibbitts 2011-03-25 19:05:58 UTC
Git done (by process-git-requests).


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