Bug 607389 - Review Request: felix-osgi-compendium - Felix OSGi R4 Compendium Bundle
Review Request: felix-osgi-compendium - Felix OSGi R4 Compendium Bundle
Status: CLOSED NEXTRELEASE
Product: Fedora
Classification: Fedora
Component: Package Review (Show other bugs)
rawhide
All Linux
medium Severity medium
: ---
: ---
Assigned To: Stanislav Ochotnicky
Fedora Extras Quality Assurance
:
Depends On: 607385
Blocks: 609130 609142 610153
  Show dependency treegraph
 
Reported: 2010-06-23 21:05 EDT by Victor G. Vasilyev
Modified: 2010-07-12 14:44 EDT (History)
3 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2010-07-12 14:44:59 EDT
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---
sochotni: fedora‑review+
kevin: fedora‑cvs+


Attachments (Terms of Use)

  None (edit)
Description Victor G. Vasilyev 2010-06-23 21:05:25 EDT
Spec URL: http://victorv.fedorapeople.org/files/felix-osgi-compendium.spec
SRPM URL: http://victorv.fedorapeople.org/files/felix-osgi-compendium-1.4.0-1.fc14.src.rpm
Description: OSGi Service Platform Release 4 Compendium Interfaces and Classes.

Note, the NetBeans 6.9 [1] depends on this package.
[1] https://fedoraproject.org/wiki/Features/NetBeans_6.9
Comment 1 Stanislav Ochotnicky 2010-07-07 03:40:12 EDT
I will do the review.
Comment 2 Stanislav Ochotnicky 2010-07-07 07:49:38 EDT
Could you switch to using maven instead of ant? Also javadoc subpackage is missing post/postun for jpackage-utils. Instead of "{_datadir}/maven2/poms/" you can use "{_mavenpomdir}".

Other than that package seems OK and rpmlint is clean, If you can just change that build from ant to maven so we use the same system as upstream :-)
Comment 3 Victor G. Vasilyev 2010-07-09 15:02:49 EDT
(In reply to comment #2)
> Could you switch to using maven instead of ant?
Fixed 
> Also javadoc subpackage is missing post/postun for jpackage-utils.
Fixed: "Requires: jpackage-utils" is added for the javadoc subpackage.
> Instead of "{_datadir}/maven2/poms/" you can use "{_mavenpomdir}".
Fixed
> Other than that package seems OK and rpmlint is clean.
Now, rpmlint report is really clean. 
It shows  "0 errors, 0 warnings" for all RPMs, including src.rpm.

Note, in the section %files the following statement is used to avoid an rpmlint warning:
%config(noreplace) %{_mavendepmapfragdir}/%{name}    

I hope, it is a correct solution for our purposes.
See also the errata (page 50) here: http://foster-johnson.com/rpm.html 
where behavior of %config(noreplace) is explained.

BTW If it is really right solution then it could also be addressed to examples of the spec files for maven projects that are published on Fedora's wiki pages.

The second release of the package is prepared for review:
SPEC: http://victorv.fedorapeople.org/files/felix-osgi-compendium.spec
SRPM: http://victorv.fedorapeople.org/files/felix-osgi-foundation-1.2.0-2.fc14.src.rpm
Koji build: http://koji.fedoraproject.org/koji/taskinfo?taskID=2309644
Comment 4 Stanislav Ochotnicky 2010-07-12 05:02:26 EDT
(In reply to comment #3)
> Note, in the section %files the following statement is used to avoid an rpmlint
> warning:
> %config(noreplace) %{_mavendepmapfragdir}/%{name}    
> 
> I hope, it is a correct solution for our purposes.
> See also the errata (page 50) here: http://foster-johnson.com/rpm.html 
> where behavior of %config(noreplace) is explained.
> 
> BTW If it is really right solution then it could also be addressed to examples
> of the spec files for maven projects that are published on Fedora's wiki pages.

I believe it's a correct solution and should really be added to packaging guidelines for java/maven. I am not actually sure about proper way to update these guidelines....I'll look it up.


OK: rpmlint must be run on every package. The output should be posted in the review.
rpmlint completely clean
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: Large documentation files must go in a -doc subpackage. (The definition of large is left up to the packager's best judgement, but is not restricted to size. Large can refer to either size or quantity). 
OK: If a package includes something as %doc, it must not affect the runtime of the application. To summarize: If it is in %doc, the program must run properly if it is not present. 
SORT OF 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. 

There are multiple packages owning /usr/share/java/felix. But it seems
that dependencies are not simple, so no single package can own that
directory. In these cases separate package should be created
containing just the directory and others should depend on it.
I will file separate bugs agains other felix packages already in
Fedora because there are more...

One one or the other I see no reason to reject the review just because
of this.

OK: All filenames in rpm packages must be valid UTF-8.


Other than that problem with directory ownership package is in perfect
shape. Be prepared to fix Requires once that filesystem package hits
rahide though...

APPROVED.
Comment 5 Stanislav Ochotnicky 2010-07-12 05:22:22 EDT
Hmm, actually you require both felix foundation and core and they provide /usr/share/java/felix, so please change

> %{_javadir}/%{project} 

from files section to:

%{_javadir}/%{project}/*

I will deal with them providing same dir later...
Comment 6 Victor G. Vasilyev 2010-07-12 07:32:02 EDT
(In reply to comment #5)
> so please change
>> %{_javadir}/%{project} 
>> from files section to:
> %{_javadir}/%{project}/*
 
Fixed as proposed.

The third release will be used to be pushed to CVS repo:
SPEC: http://victorv.fedorapeople.org/files/felix-osgi-compendium.spec
SRPM: http://victorv.fedorapeople.org/files/felix-osgi-compendium-1.4.0-3.fc14.src.rpm
rpmlint shows "0 errors, 0 warnings" for all RPMs, including src.rpm.
Koji build: http://koji.fedoraproject.org/koji/taskinfo?taskID=2312869
Comment 7 Victor G. Vasilyev 2010-07-12 07:36:52 EDT
New Package CVS Request
=======================
Package Name: felix-osgi-compendium
Short Description: Apache Felix Project: OSGi Compendium Bundle
Owners: victorv
Branches: 
InitialCC:
Comment 8 Kevin Fenzi 2010-07-12 13:20:16 EDT
CVS done (by process-cvs-requests.py).
Comment 9 Victor G. Vasilyev 2010-07-12 14:44:59 EDT
Koji build: http://koji.fedoraproject.org/koji/taskinfo?taskID=2313872

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