Bug 633215 - Review Request: SimplyHTML - Application and a java component for rich text processing
Summary: Review Request: SimplyHTML - Application and a java component for rich text ...
Alias: None
Product: Fedora
Classification: Fedora
Component: Package Review
Version: rawhide
Hardware: All
OS: Linux
Target Milestone: ---
Assignee: Mat Booth
QA Contact: Fedora Extras Quality Assurance
Depends On:
Blocks: 638590
TreeView+ depends on / blocked
Reported: 2010-09-13 08:57 UTC by hannes
Modified: 2010-10-07 05:52 UTC (History)
2 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Last Closed: 2010-10-07 05:52:09 UTC
Type: ---
mat.booth: fedora-review+
kevin: fedora-cvs+

Attachments (Terms of Use)

Description hannes 2010-09-13 08:57:09 UTC
Another dependency of freemind
Spec URL: http://hannes.fedorapeople.org/SimplyHTML/SimplyHTML.spec
SRPM URL: http://hannes.fedorapeople.org/SimplyHTML/SimplyHTML-0.13.1-1.fc13.src.rpm
Description: SimplyHTML is an application for text processing. 
It stores documents as HTML files in combination with 
Cascading Style Sheets (CSS). SimplyHTML is not intended 
to be used as an editor for web pages. 
The application combines text processing features as known from 
popular word processors with a simple and generic way of 
storing textual information and styles.

In the previous version the maintainer replaced the class ElementTreePanel with another one but I could not see any problems regarding this license.

Comment 1 Mat Booth 2010-09-25 13:31:07 UTC
I can take this one

Comment 2 Mat Booth 2010-09-28 21:22:20 UTC
This fails to build in mock: http://koji.fedoraproject.org/koji/taskinfo?taskID=2495313

Comment 3 Mat Booth 2010-09-28 21:24:15 UTC
Probably "BuildRequires: ant" missing, at least.

I like to test my build requirements by issuing koji scratch builds:

koji build --scratch dist-f14 /path/to/your/src.rpm

Comment 5 Mat Booth 2010-10-01 17:09:44 UTC
Okay, this is a full review. Issues I have with the package follow the checklist.

- = N/A
x = Check
! = Problem
? = Not evaluated

[!]  Rpmlint output:
[x]  Package is named according to the Package Naming Guidelines[1].
[x]  Spec file name must match the base package name, in the format %{name}.spec.
[x]  Package meets the Packaging Guidelines[2].
[x]  Package successfully compiles and builds into binary rpms.
[x]  Buildroot is correct
[x]  Package is licensed with an open-source compatible license and meets other legal requirements as defined in the legal section of Packaging Guidelines[3,4].
[x]  License field in the package spec file matches the actual license.
License type:
[!]  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 is included in %doc.
[-]  All independent sub-packages have license of their own
[x]  Spec file is legible and written in American English.
[x]  Sources used to build the package matches the upstream source, as provided in the spec URL.
MD5SUM this package    :b4b594dea5d357909f3619a0c9eccb59
MD5SUM upstream package:b4b594dea5d357909f3619a0c9eccb59
[x]  All build dependencies are listed in BuildRequires, except for any that are listed in the exceptions section of Packaging Guidelines[5].
[x]  Package must own all directories that it creates.
[!]  Package requires other packages for directories it uses.
[x]  Package does not contain duplicates in %files.
[!]  Permissions on files are set properly.
[!]  Package has a %clean section, which contains rm -rf %{buildroot} (or $RPM_BUILD_ROOT).
[!]  Package consistently uses macros.
[x]  Package contains code, or permissable content.
[x]  Fully versioned dependency in subpackages, if present.
[-]  Package contains a properly installed %{name}.desktop file if it is a GUI application.
[x]  Package does not own files or directories owned by other packages.
[x]  Javadoc documentation files are generated and included in -javadoc subpackage
[!]  Packages have proper BuildRequires/Requires on jpackage-utils
[x]  Javadoc subpackages have Require: jpackage-utils
[-]  Package uses %global not %define
[-]  If package uses tarball from VCS include comment how to re-create that tarball (svn export URL, git clone URL, ...)
[x]  If source tarball includes bundled jar/class files these need to be removed prior to building
[x]  All filenames in rpm packages must be valid UTF-8.

=== Maven ===
[-]  Use %{_mavenpomdir} macro for placing pom files instead of %{_datadir}/maven2/poms
[-]  If package uses "-Dmaven.test.skip=true" explain why it was needed in a comment
[-]  If package uses custom depmap "-Dmaven2.jpp.depmap.file=*" explain why it's needed in a comment
[-]  Package uses %update_maven_depmap in %post/%postun
[-]  Packages have Requires(post) and Requires(postun) on jpackage-utils (for %update_maven_depmap macro)

=== Other suggestions ===
[x]  If possible use upstream build method (maven/ant/javac)
[x]  Javadocs are placed in %{_javadocdir}/%{name} with %{_javadocdir}/%{name}-%{version} symlink
[x]  If package contains pom.xml files install it (including depmaps) even when building with ant 
[x]  Avoid having BuildRequires on exact NVR unless necessary
[x]  Package has BuildArch: noarch (if possible)
[x]  Latest version is packaged.
[x]  Reviewer should test that the package builds in mock.

=== Issues ===
1. Please don't mix spaces and tabs for spec file indentation.
2. The licence should be included as part of the main package instead of the javadoc package.
3. The main package should BuildRequires/Requires "jpackage-utils" which owns the directories you install stuff to.
4. Please be consistent with macro usage and use the %{buildroot} macro at the top of the %clean and %install sections.
5. Please do not include a class-path attribute in your jar manifests. That should be patched out if necessary.
6. The script you install does not work because you install it with incorrect permissions. To make it work, instead of these three lines:

mkdir -p  %{buildroot}%{_bindir}
cp %{SOURCE1} %{buildroot}%{_bindir}
ln -s %(basename %{SOURCE1}) %{buildroot}%{_bindir}/%(basename %{SOURCE1} .sh)

You only need this one line:

install -pD -m755 -T %{SOURCE1} %{buildroot}%{_bindir}/%(basename %{SOURCE1} .sh)

=== Other Notes ===
1. In order to get around "Javadocs" as a spelling error in rpmlint, I normally say "API documentation" instead, but you can treat that as a false positive if you wish.

[1] https://fedoraproject.org/wiki/Packaging:NamingGuidelines
[2] https://fedoraproject.org/wiki/Packaging:Guidelines
[3] https://fedoraproject.org/wiki/Packaging:LicensingGuidelines
[4] https://fedoraproject.org/wiki/Licensing:Main
[5] https://fedoraproject.org/wiki/Packaging/Guidelines#Exceptions_2

Comment 6 hannes 2010-10-01 20:07:18 UTC
Spec URL: http://hannes.fedorapeople.org/SimplyHTML/SimplyHTML.spec

I hope that I fixed everything! Made an extra subdirectory for the symlinks.
All the best and a nice weekend!

Comment 7 hannes 2010-10-01 20:08:25 UTC
Sorry a typo in the SRPM URL:

Comment 8 Mat Booth 2010-10-02 16:52:27 UTC

More niggles, I'm afraid:

1. You need to add the licence to the main package still: %doc gpl.txt
2. Also, now you've moved the location of the jar files to a subdirectory, your simplyhtml.sh script no longer works, so you need to fix that.
3. Your package must also own that subdirectory, so in your files section, you should change this line:


To say this instead:


4. One thing I should perhaps have spotted earlier, by convention we normally "BuildRequires:java-devel" and "Requires:java" in Java packages. So although your other dependencies drag in all the necessary stuff, it's good practice to include those anyway.

Comment 9 Mat Booth 2010-10-02 16:58:27 UTC
By the way, you can fix the script by passing the name of the subdirectory to build-classpath instead of the individual jar names.

Comment 11 Mat Booth 2010-10-03 15:21:35 UTC
Cool, I think that's everything :-)


Comment 12 hannes 2010-10-05 17:49:56 UTC
New Package SCM Request
Package Name: SimplyHTML
Short Description: Application and a java component for rich text processing
Owners: hannes
Branches: f13 f14

Comment 13 Kevin Fenzi 2010-10-06 23:24:49 UTC
Git done (by process-git-requests).

Comment 14 hannes 2010-10-07 05:52:09 UTC
build in rawhide:

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