[Bug 225940] Merge Review: javacc

bugzilla at redhat.com bugzilla at redhat.com
Fri May 28 09:21:02 UTC 2010


Please do not reply directly to this email. All additional
comments should be made in the comments box of this bug.


https://bugzilla.redhat.com/show_bug.cgi?id=225940

--- Comment #2 from Stanislav Ochotnicky <sochotni at redhat.com> 2010-05-28 05:20:58 EDT ---
FIXIT: rpmlint must be run on every package. The output should be posted in the
review.
javacc.src: W: strange-permission javacc.sh 0755L
javacc.src: W: strange-permission jjtree 0755L
javacc.src: W: strange-permission jjdoc 0755L
javacc.noarch: W: non-conffile-in-etc /etc/maven/fragments/javacc
javacc-demo.noarch: W: no-documentation
4 packages and 0 specfiles checked; 0 errors, 5 warnings.

Those permissions are easily solved. You first copy those 3 shell
scripts to bin/ and then install them from there. I would suggest
chmodding them to non-executable inside src.rpm and only install them
like this:

install -pD -T -m 755 %{SOURCE1} $RPM_BUILD_ROOT/%{_bindir}/javacc.sh

no need to copy them to bin/ first I believe...
Rest are false positives.

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.

It would be good to use %{version} in Source0 so it will be (a bit) easier to
update in case any new releases
appear...

OK(mock): 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.

Thing about installing those script applies of course...

OK: Each package must consistently use macros.

But spec file mixes cp and install. I'd suggest exchanging lines:
mkdir -p $RPM_BUILD_ROOT/%{_mavenpomdir}
cp -p pom.xml $RPM_BUILD_ROOT/%{_mavenpomdir}/JPP-%{name}.pom

with:
install -d -m 755 $RPM_BUILD_ROOT%{_mavenpomdir}
install -pm 644 pom.xml $RPM_BUILD_ROOT/%{_mavenpomdir}/JPP-%{name}.pom

or even better:
install -pD -T -m 644  $RPM_BUILD_ROOT%{_mavenpomdir}/JPP-%{name}.pom

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).

But maybe it would be good to rename -manual subpackage to -doc? On the other
hand, adding provides/obsoletes is probably more messy now. I'll leave it up to
you.

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. 
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. 


Other:
 - you can remove "section free" definition
 - I would suggest moving examples from /usr/share/javacc/examples to
/usr/share/doc/javacc/examples

-- 
Configure bugmail: https://bugzilla.redhat.com/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.



More information about the package-review mailing list