[Bug 191014] Review Request: ganymed

bugzilla at redhat.com bugzilla at redhat.com
Wed Jun 14 14:55:08 UTC 2006


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

Summary: Review Request: ganymed


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


tibbs at math.uh.edu changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |ASSIGNED
         AssignedTo|bugzilla-sink at leemhuis.info |tibbs at math.uh.edu
OtherBugsDependingO|163776                      |163778
              nThis|                            |




------- Additional Comments From tibbs at math.uh.edu  2006-06-14 10:47 EST -------
------- Additional Comments From tibbs at math.uh.edu  2006-06-11 01:56 EST -------
I was able to fix the debuginfo generation by adding the following to the end of
the %build section:

# Move source files to fix -debuginfo generation.
mv src/* .

It seems the file locations stored in the debug information didn't match the
actual locations of the files, so I just moved them so that they'd be found. 
There are still some errors lile:

cpio: ganymed-ssh2-build209/ch/ethz/ssh2/Connection$1$TimeoutState.java: No such
file or directory

Each of the errors mentions a file with a dollar sign; no such files exist in
the source.

One other thing to note: the page http://fedoraproject.org/wiki/NativeJava,
which I'm taking as the packaging guidelines here, mentions that the %post and
%postun scripts should look like:

if [ -x %{_bindir}/rebuild-gcj-db ]
then
  %{_bindir}/rebuild-gcj-db
fi

I don't really see the difference if the package that provides rebuild-gcj-db is
explicitly kept in with Require(post) and Require(postun), and the way this
package does things is simpler and matches what the core eclipse packages do.

So really the only issues I see are the documentation and the changelog revision
format.

------- Additional Comments From ville.skytta at iki.fi  2006-06-11 02:10 EST -------
(In reply to comment #7)
> [...] end of the %build section:
> 
> # Move source files to fix -debuginfo generation.
> mv src/* .

That sounds like something that is very likely to break --short-circuit builds.
 cp -pR would sound better than mv (but that's not a real fix either).

------- Additional Comments From tibbs at math.uh.edu  2006-06-11 02:38 EST -------
Good point.  Unfortunately I really have no idea what's really going on here; I
guess find-debuginfo.sh is extracting the full set of debug symbols from the
single .so file and trying to copy any referenced files into the -debuginfo
package.  But it's assuming some link between those filenames and the actual
pathnames in the build directory that it probably shoudn't be.  It doesn't break
for all packages, but it seems like it should break on any package that puts the
source tree in a subdirectory.

This seems on point:
https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=153247

The fix there is nastier, and exists but is commented out in the current Eclipse
-devel spec.

In any case, this seems simpler, doesn't copy the whole source tree and
shouldn't break short-circuit builds:

# Link source files to fix -debuginfo generation.
rm -f ch
ln -s src/ch

------- Additional Comments From bkonrath at redhat.com  2006-06-11 14:31 EST -------
(In reply to comment #9)
> # Link source files to fix -debuginfo generation.
> rm -f ch
> ln -s src/ch

Yeah that should work. find-debuginfo.sh seems to be broken for java packages
right now. It's on my list of things to investigate for FC6 but if someone wants
to help out here that would be great.

------- Additional Comments From robert at marcanoonline.com  2006-06-11 19:03 EST
-------
updated

http://www.marcanoonline.com/downloads/fedora/package_submissions/subclipse/ganymed.spec
http://www.marcanoonline.com/downloads/fedora/package_submissions/subclipse/ganymed-209-3.src.rpm

I applied the debuginfo workaround, (there are still warnings for the java inner
classes, maybe find-debuginfo.sh must ignore class with $ in their names)

Checked rpmlint warnings, the only no fixed warnings are
"wrong-file-end-of-line-encoding" for HTML files.

------- Additional Comments From tibbs at math.uh.edu  2006-06-13 00:26 EST -------
Generally we fix the line endings of HTML files as well.  You can just add it to
your sed call.

There is one issue I'd like to discuss, which is the package name.  Upstream
calls this "ganymed-ssh2", and their web site implies that they are actually
developing a software project entitled "ganymed".  I have no idea whether this
will be released to the public or whether we'd eventually package it, but I am
concerned that perhaps it would be a good idea to just name this package
"ganymed-ssh2" and avoid the potentential for confusion and future conflicts.

A full review turned up a couple more minor issues:

This package places files in %libdir/gcj/ganymed but doesn't own it.

You use the %{__sed} macro, but don't use %{__rm}, %{__ln_s}, or %{__install}. 
Consistency is important, so you should either switch to plain "sed" or
macrotize the rest of the spec.

* package meets naming and packaging guidelines.
X specfile is properly named and is cleanly written but does not use macros
consistently.
* dist tag is present.
* build root is correct.
* license field matches the actual license.
* license is open source-compatible.  License text included in package.
* source files match upstream:
   b0ee2f0feeb5f4ae02c2d5269fe6e1e0  ganymed-ssh2-build209.zip
* latest version is being packaged.
* BuildRequires are proper.
* package builds in mock (development, x86_64).
X rpmlint complains (eol encoding for faq/FAQ.html)
* final provides and requires are sane:
  ganymed-209-3.fc6.x86_64.rpm
   ganymed-209.jar.so()(64bit)
   ganymed = 209-3.fc6
  =
   /usr/bin/rebuild-gcj-db
   java-gcj-compat >= 1.0.33
   libgcj.so.7()(64bit)
   libz.so.1()(64bit)
* no shared libraries are present.
* package is not relocatable.
X owns the directories it creates.
* doesn't own any directories it shouldn't.
* no duplicates in %files.
* file permissions are appropriate.
* %clean is present.
* %check is not present; no test suite upstream.
* scriptlets present and are OK.
* code, not content.
* documentation is relatively small (30% of the package), so no -docs subpackage
is necessary.
* %docs are not necessary for the proper functioning of the package.
* no headers.
* no pkgconfig files.
* no libtool .la droppings.
* not a GUI app.



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




More information about the Fedora-package-review mailing list