Bug 615868

Summary: Review Request: felix-parent - Parent POM file for Apache Felix Specs
Product: [Fedora] Fedora Reporter: huwang <huwang>
Component: Package ReviewAssignee: Stanislav Ochotnicky <sochotni>
Status: CLOSED NEXTRELEASE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: medium    
Version: rawhideCC: fedora-package-review, notting, sochotni, victor.vasilyev
Target Milestone: ---Flags: sochotni: fedora-review+
kevin: fedora-cvs+
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2010-07-26 03:37:08 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:
Bug Depends On:    
Bug Blocks: 609142, 615869    

Comment 1 Stanislav Ochotnicky 2010-07-19 13:02:42 UTC
I'll do the review.

Comment 2 Stanislav Ochotnicky 2010-07-19 13:44:07 UTC
OK: rpmlint must be run on every package. The output should be posted in the review.
just fragment warning and Source0 URL (both waived)
OK: The package must be named according to the Package Naming Guidelines .
OK: The spec file name must match the base package %{name}, in the format %{name}.spec unless your package has an exemption.  .
OK: The package must meet the Packaging Guidelines .
OK: The package must be licensed with a Fedora approved license and meet the Licensing Guidelines .
OK: The License field in the package spec file must match the actual license. 
OK: 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.
OK: The spec file must be written in American English. 
OK: The spec file for the package MUST be legible. 
OK: The sources used to build the package must match the upstream source, as provided in the spec URL. Reviewers should use md5sum for this task. If no upstream URL can be specified for this package, please see the Source URL Guidelines for how to deal with this.
OK: The package MUST successfully compile and build into binary rpms on at least one primary architecture. 
OK: All build dependencies must be listed in BuildRequires, except for any that are listed in the exceptions section of the Packaging Guidelines ; inclusion of those as BuildRequires is optional. Apply common sense.
OK: Packages must NOT bundle copies of system libraries.
OK: 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. 
OK: A Fedora package must not list a file more than once in the spec file's %files listings. 
OK: Permissions on files must be set properly. Executables should be set with executable permissions, for example. Every %files section must include a %defattr(...) line. 
OK: Each package must consistently use macros. 
OK: The package must contain code, or permissable content. 
OK: Packages must not own files or directories already owned by other packages. The rule of thumb here is that the first package to be installed should own the files or directories that other packages may rely upon. This means, for example, that no package in Fedora should ever share ownership with any of the files or directories owned by the filesystem or man package. If you feel that you have a good reason to own a file or directory that another package owns, then please present that at package review time. 
OK: All filenames in rpm packages must be valid UTF-8. 

Please add comment in %build section that mvn-jpp call is not really
needed (you are not installing any jar files/javadocs). But it's good
to have it there to see changes in dependencies when new version is
released. This is completely minor thing though so I won't stop the
review because of this.

Both previous things are not show-stoppers, package is good to go,
just one note: You created depmap because  easymock2 has wrong groupId
in installed fragment. If you see something like that in some package
file a bug please. groupIds and artifactIds should be correct and
matching upstream. I filed bug #616008 for this.


Package is APPROVED.

Comment 3 Stanislav Ochotnicky 2010-07-19 13:58:49 UTC
Seems like one part of comment went missing...Please next time you commit something change summary/description to something like geronimo-parent-pom. It's much more descriptive.

Comment 4 huwang 2010-07-20 09:26:41 UTC
Fixed all.
Thank you for the review and advices.

Comment 5 huwang 2010-07-20 09:28:56 UTC
New Package CVS Request
=======================
Package Name: felix-parent
Short Description: Parent POM file for Apache Felix Specs
Owners: huwang
Branches: 
InitialCC:

Comment 6 Kevin Fenzi 2010-07-21 05:18:27 UTC
CVS done (by process-cvs-requests.py).

Comment 7 huwang 2010-07-26 03:37:08 UTC
Build in koji: http://koji.fedoraproject.org/koji/buildinfo?buildID=186441

Comment 8 Victor G. Vasilyev 2010-07-26 16:03:48 UTC
Hi huwang,

Why you decided to add a bunch of the run-time dependencies for this package that includes a POM file only? 

Seems it is redundant from viewpoint of other felix packages.
Probably, we have some redundant overheads after installation of the 
felix-parent-1.2.1-2.fc14.noarch.rpm package, e.g. + 3.1M in my case:

Installed:
  easymock2.noarch 0:2.5.2-2.fc14
  maven-assembly-plugin.noarch 0:2.2-0.4.beta5.fc14
  maven-deploy-plugin.noarch 0:2.5-4.fc14
  maven-gpg-plugin.noarch 0:1.1-2.fc14
  maven-plugin-build-helper.noarch 0:1.4-1.fc12
  maven-plugin-plugin.noarch 0:2.6-5.fc14
  maven-project-info-reports-plugin.noarch 0:2.2-2.fc14
  maven-site-plugin.noarch 0:2.1-3.fc14               
  maven-source-plugin.noarch 0:2.1.2-3.fc14
  maven-surefire-report-maven-plugin.noarch 0:2.3-7.7.fc12

Dependency Installed:
  apache-commons-launcher.noarch 0:1.1-5.20100521svn936225.fc14
  jakarta-commons-modeler.noarch 0:2.0.1-5.fc14
  maven-plugin-tools.noarch 0:2.6-5.fc14
  maven-plugin-tools-api.noarch 0:2.6-5.fc14
  maven-plugin-tools-beanshell.noarch 0:2.6-5.fc14 
  maven-plugin-tools-java.noarch 0:2.6-5.fc14
  maven-plugin-tools-model.noarch 0:2.6-5.fc14 
  tomcat5.noarch 0:5.5.27-7.4.fc12  
  tomcat5-common-lib.noarch 0:5.5.27-7.4.fc12
  tomcat5-server-lib.noarch 0:5.5.27-7.4.fc12

Comment 9 Stanislav Ochotnicky 2010-07-26 16:33:24 UTC
Victor: I hope huwang won't mind me answering...Normally you have felix-parent only as build-requires never Requires. This simplified BRs for rest of felix-X packages because it was enough for them to BR felix-parent and not all those maven plugins etc.

But maybe some middle ground would be best..I don't really like tomcat5 being pulled in.

Comment 10 Victor G. Vasilyev 2010-07-26 17:33:54 UTC
Stanislav,

Thanks for explanation. 
I'll remove "Requires: felix-parent" from my felix-main package.

Nevertheless, please note, after installation of a felix-"child" package we won't have the complete stack of the POMs for the Felix project.
I think, knowledge about <issueManagement>, <mailingLists>, etc. will be useful for a user of the felix-"child" package, and installed felix-parent-X.X.X.pom is the best trusted source for such info.