Bug 262401 - Review Request: jcip-annotations - Java 5 thread safety annotations
Summary: Review Request: jcip-annotations - Java 5 thread safety annotations
Alias: None
Product: Fedora
Classification: Fedora
Component: Package Review
Version: rawhide
Hardware: All
OS: Linux
Target Milestone: ---
Assignee: Richard W.M. Jones
QA Contact: Fedora Extras Quality Assurance
Depends On:
Blocks: 1128852
TreeView+ depends on / blocked
Reported: 2007-08-29 04:09 UTC by Jerry James
Modified: 2015-01-01 20:54 UTC (History)
3 users (show)

Clone Of:
Last Closed: 2008-05-07 15:07:24 UTC
rjones: fedora-review+
opensource: fedora-cvs+

Attachments (Terms of Use)

Description Jerry James 2007-08-29 04:09:40 UTC
Spec URL: http://jjames.fedorapeople.org/jcip-annotations/jcip-annotations.spec
SRPM URL: http://jjames.fedorapeople.org/jcip-annotations/jcip-annotations-20060626-1.src.rpm
This package provides class, field, and method level annotations for
describing thread-safety policies.  These annotations are relatively
unintrusive and are beneficial to both users and maintainers.  Users can see
immediately whether a class is thread-safe, and maintainers can see
immediately whether thread-safety guarantees must be preserved.  Annotations
are also useful to a third constituency: tools.  Static code-analysis tools
may be able to verify that the code complies with the contract indicated by
the annotation, such as verifying that a class annotated with @Immutable
actually is immutable.

This package is the last prerequisite needed in Fedora in order for findbugs to be buildable.

Comment 1 Alphonse Van Assche 2007-09-14 11:26:33 UTC
Hello Jerry,

Before make a full review, we may need to modify some things in the current
specfile. Here is a list of stuff that should be fixed before we can review 

- The package naming don't fit with the Packaging/NamingGuidline, I think that
this package fit good with pre-release package naming.
Version: 0
Release: 2006xxxx.1%{?dist}

- To build the javadoc for F8 (IcedTea is in rawhide), you can use the %fedora 
macro to check for witch release of Fedora the package is build -> %if
"%{fedora}" >= "8".

- Group tag is not correct, Development/Libraries seems to be the one to use.

Comment 2 Jerry James 2007-09-19 04:17:01 UTC
Thanks for the comments.  I changed the name and version number as suggested.

For the javadocs, I just unconditionally build them (because not every arch will
have IcedTea, so the check with %{fedora} is insufficient).  The package
description for the javadocs notes that on systems with sinjdoc, the package
contains nothing useful.

As for the Group tag, I don't understand the problem.  On my machine, there are
64 packages in that group (e.g., axis, bcel, castor, jrefactory), and I
certainly have not installed all of the Java packages available from Fedora. 
Why should the final '/Java' be dropped?

The new files are here:
Spec URL: http://jjames.fedorapeople.org/jcip-annotations/jcip-annotations.spec

Comment 3 Jerry James 2007-11-14 23:05:52 UTC
Now that I can try IcedTea on an F8 machine, I found that the javadocs weren't
being packaged quite correctly.  Here is a new set of files that fixes the problem.

Spec: http://jjames.fedorapeople.org/jcip-annotations/jcip-annotations.spec

Comment 4 Jerry James 2008-04-18 21:20:41 UTC
Here are updated files that reflect the recently approved Java packaging guidelines.

Spec: http://jjames.fedorapeople.org/jcip-annotations/jcip-annotations.spec

Comment 5 Richard W.M. Jones 2008-05-01 15:16:58 UTC
Taking for review.

Comment 6 Richard W.M. Jones 2008-05-02 07:56:39 UTC
+ rpmlint output

  jcip-annotations.src: W: non-standard-group Development/Libraries/Java
  jcip-annotations.noarch: W: no-documentation
  jcip-annotations.noarch: W: non-standard-group Development/Libraries/Java
  jcip-annotations-javadoc.noarch: W: non-standard-group Development/Documentation

  The Java guidelines are all over the place on the usage of 'Group:'.
  I would rename 'Development/Libraries/Java' -> 'Development/Libraries'
  and leave the other one alone.

+ package name satisfies the packaging naming guidelines
+ specfile name matches the package base name
+ package should satisfy packaging guidelines
+ license meets guidelines and is acceptable to Fedora
+ license matches the actual package license
- %doc includes license file

  You need to add %doc ..../package.html to the main package.

+ spec file written in American English
+ spec file is legible
+ upstream sources match sources in the srpm
+ package successfully builds on at least one architecture
n/a ExcludeArch bugs filed
+ BuildRequires list all build dependencies
n/a %find_lang instead of %{_datadir}/locale/*
n/a binary RPM with shared library files must call ldconfig in %post and %postun
n/a does not use Prefix: /usr
+ package owns all directories it creates
+ no duplicate files in %files
+ %defattr line
+ %clean contains rm -rf $RPM_BUILD_ROOT
+ consistent use of macros
+ package must contain code or permissible content
n/a large documentation files should go in -doc subpackage
n/a files marked %doc should not affect package
n/a header files should be in -devel
n/a static libraries should be in -static
n/a packages containing pkgconfig (.pc) files need 'Requires: pkgconfig'
n/a libfoo.so must go in -devel
n/a -devel must require the fully versioned base
  ... but javadoc subpackage is OK
n/a packages should not contain libtool .la files
n/a packages containing GUI apps must include %{name}.desktop file
n/a packages must not own files or directories owned by other packages
+ %install must start with rm -rf %{buildroot} etc.
+ filenames must be valid UTF-8


n/a if there is no license file, packager should query upstream
n/a translations of description and summary for non-English languages, if available
+ reviewer should build the package in mock
  Reviewer built it in Koji:
n/a the package should build into binary RPMs on all supported architectures
- review should test the package functions as described
n/a scriptlets should be sane
n/a pkgconfig files should go in -devel
+ shouldn't have file dependencies outside /etc /bin /sbin /usr/bin or /usr/sbin


Please add the %doc line, and if necessary rename the groups.  If you present
an updated package with these changes then there shouldn't be any issue getting

Comment 7 Jerry James 2008-05-05 21:32:35 UTC
The package.html file is input to javadoc.  The file named package-summary.html
in the -javadoc subpackage contains that file, with some other stuff wrapping
it.  On the other hand, I should not be including the HTML file or the souce
files in the jar.  I'll fix that.

As for the groups, see comment #2.  There are lots of existing packages with the
same group names, and the Group tag is supposedly unimportant given comps.xml
anyway.  New version:

Spec: http://jjames.fedorapeople.org/jcip-annotations/jcip-annotations.spec

Comment 8 Richard W.M. Jones 2008-05-06 12:53:43 UTC
OK, fair enough.  I suspect it's a bug in rpmlint or else something
which needs to be discussed about the Java guidelines.  Anyway ...



Comment 9 Jerry James 2008-05-06 16:11:50 UTC
New Package CVS Request
Package Name: jcip-annotations
Short Description: Java annotations for describing thread-safety policies
Owners: jjames
Branches: F-8 F-9
Cvsextras Commits: yes

Comment 10 Kevin Fenzi 2008-05-06 16:15:40 UTC
cvs done.

Comment 11 Richard Fearn 2015-01-01 13:29:06 UTC
Package Change Request
Package Name: jcip-annotations
New Branches: el6 epel7
Owners: richardfearn

Comment 12 Till Maas 2015-01-01 20:54:13 UTC
Git done (by process-git-requests).

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