Bug 734410

Summary: Review Request: abootimg - tool for manipulating Android boot images
Product: [Fedora] Fedora Reporter: Yanko Kaneti <yaneti>
Component: Package ReviewAssignee: Steve Traylen <steve.traylen>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: medium    
Version: rawhideCC: cz172638, Laurence.Field, notting, package-review, steve.traylen
Target Milestone: ---Flags: steve.traylen: fedora-review+
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: abootimg-0.6-3.20110830gitff8e759.fc16 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2011-12-04 02:25:18 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---

Description Yanko Kaneti 2011-08-30 10:16:39 UTC
Spec URL: http://declera.com/~yaneti/abootimg/abootimg.spec
SRPM URL: http://declera.com/~yaneti/abootimg/abootimg-0.6-1.20110830gitff8e759.fc17.src.rpm
Description:
abootimg is used to manipulate block devices or files with the special 
partition format defined by the Android Open Source Porject.

abootimg.src: W: invalid-url Source0: abootimg-0.6-20110830gitff8e759.tar.gz

Comment 1 Laurence Field 2011-11-16 14:32:53 UTC
+:ok, =:needs attention, -:needs fixing

MUST Items:
[-] MUST: rpmlint must be run on every package.

rpmlint is not silent:

abootimg.x86_64: W: spelling-error %description -l en_US Porject -> Project
abootimg.src: W: spelling-error %description -l en_US Porject -> Project

Spelling mistake in the specfile

abootimg.x86_64: W: non-standard-group Unspecified
abootimg.src: W: non-standard-group Unspecified

Need to specify a Group in the specfile

abootimg.src:37: E: files-attr-not-set
abootimg.src:38: E: files-attr-not-set
abootimg.src:39: E: files-attr-not-set

The default file attribute should be set.

abootimg.src: W: no-cleaning-of-buildroot %install

No cleaning of build root in the %install section

abootimg.src: W: no-%clean-section
abootimg.src: W: no-cleaning-of-buildroot %clean

No clean section.

abootimg.src: W: no-buildroot-tag
abootimg.src: W: invalid-url Source0: abootimg-0.6-20110830gitff8e759.tar.gz

2 packages and 0 specfiles checked; 3 errors, 10 warnings.

[+] MUST: The package must be named according to the Package Naming Guidelines.
[+] MUST: The spec file name must match the base package %{name}
[+] MUST: The package must meet the Packaging Guidelines. 
[+] MUST: The package must be licensed with a Fedora approved license and meet
the Licensing Guidelines.
[+] MUST: The License field in the package spec file must match the actual
license.
[+] MUST: 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 must be included in %doc.
[+] MUST: The spec file must be written in American English.
[+] MUST: The spec file for the package MUST be legible.
[-] MUST: The sources used to build the package must match the upstream source,
as provided in the spec URL.
- Could not general the source from the specified commands
[+] MUST: The package must successfully compile and build into binary rpms on
at least one supported architecture.
[+] MUST: If the package does not successfully compile, build or work on an
architecture, then those architectures should be listed in the spec in
ExcludeArch.
[+] MUST: All build dependencies must be listed in BuildRequires
[+] MUST: The spec file MUST handle locales properly. This is done by using the
%find_lang macro.
[+] MUST: Every binary RPM package which stores shared library files (not just
symlinks) in any of the dynamic linker's default paths, must call ldconfig in
%post and %postun.
[+] MUST: If the package is designed to be relocatable, the packager must state
this fact in the request for review
[+] MUST: A package must own all directories that it creates. If it does not
create a directory that it uses, then it should require a package which does
create that directory.
[+] MUST: A package must not contain any duplicate files in the %files listing.
[+] MUST: Permissions on files must be set properly. Executables should be set
with executable permissions, for example
- and %defattr not required anymore
[-] MUST: Each package must have a %clean section, which contains rm -rf
%{buildroot} (or $RPM_BUILD_ROOT).
- Missing
[+] MUST: Each package must consistently use macros, as described in the macros
section of Packaging Guidelines.
[+] MUST: The package must contain code, or permissible content. This is
described in detail in the code vs. content section of Packaging Guidelines.
[+] MUST: Large documentation files should go in a doc subpackage.
[+] MUST: If a package includes something as %doc, it must not affect the
runtime of the application.
[+] MUST: Header files must be in a -devel package.
[+] MUST: Static libraries must be in a -static package.
[+] MUST: Packages containing pkgconfig(.pc) files must 'Requires: pkgconfig'
(for directory ownership and usability).
[+] MUST: If a package contains library files with a suffix (e.g.
libfoo.so.1.1), then library files that end in .so (without suffix) must go in
a -devel package.
[+] MUST: In the vast majority of cases, devel packages must require the base
package using a fully versioned dependency: Requires: %{name} =
%{version}-%{release} 
[+] MUST: Packages must NOT contain any .la libtool archives, these should be
removed in the spec.
[+] MUST: Packages containing GUI applications must include a %{name}.desktop
file, and that file must be properly installed with desktop-file-install in the
%install section.
[+] MUST: Packages must not own files or directories already owned by other
packages.
[-] MUST: At the beginning of %install, each package MUST run rm -rf
%{buildroot} (or $RPM_BUILD_ROOT).
- Missing and submission suggests that RHEL 5 is targeted
[+] MUST: All filenames in rpm packages must be valid UTF-8.

SHOULD Items:
[+] SHOULD: If the source package does not include license text(s) as a
separate file from upstream, the packager SHOULD query upstream to include it.
[+] SHOULD: The description and summary sections in the package spec file
should contain translations for supported Non-English languages, if available.
[+] SHOULD: The reviewer should test that the package builds in mock.
[+] SHOULD: The package should compile and build into binary rpms on all
supported architectures.
[+] SHOULD: The reviewer should test that the package functions as described.
The library could be succesfully imported. 
abootimg -h returns the usage and the man page can read
[+] SHOULD: If scriptlets are used, those scriptlets must be sane.
[+] SHOULD: Usually, subpackages other than devel should require the base
package using a fully versioned dependency.
[+] SHOULD: The placement of pkgconfig(.pc) files depends on their usecase, and
this is usually for development purposes, so should be placed in a -devel pkg.
A reasonable exception is that the main pkg itself is a devel tool not
installed in a user runtime, e.g. gcc or gdb.
[+] SHOULD: If the package has file dependencies outside of /etc, /bin, /sbin,
/usr/bin, or /usr/sbin consider requiring the package which provides the file
instead of the file itself.
[+] SHOULD: Packages should try to preserve timestamps of original installed
files.

Comment 2 Laurence Field 2011-11-16 14:35:57 UTC
I should mention that the previous review was only an informal review as part
of my sponsorship process.

Comment 3 Yanko Kaneti 2011-11-16 17:11:21 UTC
Thanks for the review.

> abootimg.x86_64: W: spelling-error %description -l en_US Porject -> Project
> abootimg.src: W: spelling-error %description -l en_US Porject -> Project
> Spelling mistake in the specfile

Fixed.


> Need to specify a Group in the specfile

Not necessary. Group tag is basically deprecated from around F10..
Granted the guidelines simply do not mention it.


> abootimg.src:37: E: files-attr-not-set
> abootimg.src:38: E: files-attr-not-set
> abootimg.src:39: E: files-attr-not-set
> The default file attribute should be set.

Not necessary unless some file has explicitly wrong ones.
http://fedoraproject.org/wiki/Packaging:Guidelines#File_Permissions


> abootimg.src: W: no-cleaning-of-buildroot %install
> No cleaning of build root in the %install section

Not necessary.
http://fedoraproject.org/wiki/Packaging:Guidelines#BuildRoot_tag


> abootimg.src: W: no-%clean-section
> abootimg.src: W: no-cleaning-of-buildroot %clean
> No clean section.

Not necessary. 
http://fedoraproject.org/wiki/Packaging:Guidelines#.25clean



> [-] MUST: The sources used to build the package must match the upstream source,
> as provided in the spec URL.
> - Could not general the source from the specified commands

The instructions certainly work for me. I'll need more details on what actually failed for you.


> [-] MUST: Each package must have a %clean section, which contains rm -rf
> %{buildroot} (or $RPM_BUILD_ROOT).
> - Missing

See the %clean guidelines mentioned above.


> [-] MUST: At the beginning of %install, each package MUST run rm -rf
> %{buildroot} (or $RPM_BUILD_ROOT).
> - Missing and submission suggests that RHEL 5 is targeted

I am not sure what makes you think the submission targets RHEL5



0.6-2.20110830gitff8e759
- Fixed a typo pointed by the first review.

Spec URL: http://declera.com/~yaneti/abootimg/abootimg.spec
SRPM URL: http://declera.com/~yaneti/abootimg/abootimg-0.6-2.20110830gitff8e759.fc17.src.rpm

Comment 4 Laurence Field 2011-11-17 08:50:17 UTC
I tried the instructions again and it worked. I must have made a mistake when constructing the command. Is there a way to automatically generate it or do I 
have to copy and paste the variables?

If the three warnings reported by rpmlint (File Permissions, %clean and BuildRoot tag) are no longer required, do you know why rpmlint reports this?. 

It seems that many of the checks above could be automated, any idea why a specific Fedora test is not available?

Comment 5 Steve Traylen 2011-11-22 21:30:15 UTC
Laurence,

>Is there a way to automatically generate it or do I 
>have to copy and paste the variables?

this will not help in this case but when the Source is a URL with versions
in you can at least run.

spectool package.spec

to give the URL. 

Yanko,

The informal review is a good review as are your following comments.

One change, can you preserve the timestamp on the man page, i.e add -p on

install -D -m 644 debian/abootimg.1 ${RPM_BUILD_ROOT}/%{_mandir}/man1/abootimg.1

before import.

Assuming that's okay with you.

APPROVED.

Steve

Comment 6 Yanko Kaneti 2011-11-23 00:58:41 UTC
Thanks. The flag is still "?" tho

0.6-3.20110830gitff8e759
- Preserve man page timestamp on install.

Spec URL: http://declera.com/~yaneti/abootimg/abootimg.spec
SRPM URL:
http://declera.com/~yaneti/abootimg/abootimg-0.6-3.20110830gitff8e759.fc17.src.rpm

Comment 7 Yanko Kaneti 2011-11-23 08:22:15 UTC
New Package SCM Request
=======================
Package Name: abootimg
Short Description: Tool for manipulating Android boot images
Owners: yaneti
Branches: f16
InitialCC:

Comment 8 Gwyn Ciesla 2011-11-23 10:54:27 UTC
Git done (by process-git-requests).

Comment 9 Fedora Update System 2011-11-23 11:36:08 UTC
abootimg-0.6-3.20110830gitff8e759.fc16 has been submitted as an update for Fedora 16.
https://admin.fedoraproject.org/updates/abootimg-0.6-3.20110830gitff8e759.fc16

Comment 10 Yanko Kaneti 2011-11-23 11:41:59 UTC
Built for f16 and rawhide. F16 Update pushed to bodhi. Comaintainers, new owner, new branches with new owner.. all welcome. Thanks again.

Comment 11 Fedora Update System 2011-11-23 23:33:30 UTC
abootimg-0.6-3.20110830gitff8e759.fc16 has been pushed to the Fedora 16 testing repository.

Comment 12 Fedora Update System 2011-12-04 02:25:18 UTC
abootimg-0.6-3.20110830gitff8e759.fc16 has been pushed to the Fedora 16 stable repository.

Comment 13 Jiri Kastner 2015-06-05 10:29:36 UTC
New Package SCM Request
=======================
Package Name: abootimg
Short Description: Tool for manipulating Android boot images
Owners: yaneti
Branches: el6 epel7
InitialCC:

Comment 14 Yanko Kaneti 2015-06-05 10:42:09 UTC
> Owners: yaneti
> Branches: el6 epel7

You are confused. I am not going to maintain epel branches for this.
Feel free to maintain them yourself or find somebody else willing.
And use the pkgdb interface for this.