Bug 262401 - Review Request: jcip-annotations - Java 5 thread safety annotations
Review Request: jcip-annotations - Java 5 thread safety annotations
Product: Fedora
Classification: Fedora
Component: Package Review (Show other bugs)
All Linux
medium Severity medium
: ---
: ---
Assigned To: Richard W.M. Jones
Fedora Extras Quality Assurance
Depends On:
Blocks: 1128852
  Show dependency treegraph
Reported: 2007-08-29 00:09 EDT by Jerry James
Modified: 2015-01-01 15:54 EST (History)
3 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Last Closed: 2008-05-07 11:07:24 EDT
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---
rjones: fedora‑review+
opensource: fedora‑cvs+

Attachments (Terms of Use)

  None (edit)
Description Jerry James 2007-08-29 00:09:40 EDT
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 07:26:33 EDT
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 00:17:01 EDT
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 18:05:52 EST
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 17:20:41 EDT
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 11:16:58 EDT
Taking for review.
Comment 6 Richard W.M. Jones 2008-05-02 03:56:39 EDT
+ 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 17:32:35 EDT
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 08:53:43 EDT
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 12:11:50 EDT
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 12:15:40 EDT
cvs done.
Comment 11 Richard Fearn 2015-01-01 08:29:06 EST
Package Change Request
Package Name: jcip-annotations
New Branches: el6 epel7
Owners: richardfearn
Comment 12 Till Maas 2015-01-01 15:54:13 EST
Git done (by process-git-requests).

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