Please do not reply directly to this email. All additional comments should be made in the comments box of this bug report.
https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=191014
Summary: Review Request: ganymed Product: Fedora Extras Version: devel Platform: All OS/Version: Linux Status: NEW Severity: normal Priority: normal Component: Package Review AssignedTo: bugzilla-sink@leemhuis.info ReportedBy: robert@marcanoonline.com QAContact: fedora-package-review@redhat.com
Spec URL: http://www.marcanoonline.com/downloads/fedora/package_submissions/subclipse/... SRPM URL: http://www.marcanoonline.com/downloads/fedora/package_submissions/subclipse/... Description: Ganymed SSH-2 for Java is a library which implements the SSH-2 protocol in pure Java (tested on J2SE 1.4.2 and 5.0). It allows one to connect to SSH servers from within Java programs. It supports SSH sessions (remote command execution and shell access), local and remote port forwarding, local stream forwarding, X11 forwarding and SCP. There are no dependencies on any JCE provider, as all crypto functionality is included
Note: This package is required by subclipse, a Subversion plugin for eclipse
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
robert@marcanoonline.com changed:
What |Removed |Added ---------------------------------------------------------------------------- OtherBugsDependingO| |191015 nThis| |
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
robert@marcanoonline.com changed:
What |Removed |Added ---------------------------------------------------------------------------- OtherBugsDependingO| |191016 nThis| |
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
robert@marcanoonline.com changed:
What |Removed |Added ---------------------------------------------------------------------------- OtherBugsDependingO| |191017 nThis| |
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
------- Additional Comments From green@redhat.com 2006-05-08 00:17 EST ------- Hi Robert - this is cool, thanks.
I'm no expert, but here are some comments based on the feedback I've received from my review experiences...
* Why have all those macro definitions, conditional and otherwise, at the top instead of just... %define gcj_support 1 ?
* I've been using %{?dist} in Release tags, like Release: 1%{?dist}
* There's a preference to not use macros in Source0. It's something somebody should be able to wget directly.
* Missing '.' at the end of %description.
* Single line %post[un] bits should look like this... %post -p %{_bindir}/rebuild-gcj-db %postun -p %{_bindir}/rebuild-gcj-db (rpmlint will complain about this)
Thanks!
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
------- Additional Comments From robert@marcanoonline.com 2006-05-08 10:39 EST ------- (In reply to comment #1)
- Why have all those macro definitions, conditional and otherwise, at the top
instead of just... %define gcj_support 1 ?
umm Ben Konrath added that part to my initial SPEC, I just thougth it was just to make easy to package it for RHEL
https://www.redhat.com/archives/fedora-devel-java-list/2006-April/msg00048.h...
- I've been using %{?dist} in Release tags, like
Release: 1%{?dist}
- There's a preference to not use macros in Source0. It's something somebody
should be able to wget directly.
umm then i need to update my other packages already on extras,
Missing '.' at the end of %description.
Single line %post[un] bits should look like this...
%post -p %{_bindir}/rebuild-gcj-db %postun -p %{_bindir}/rebuild-gcj-db (rpmlint will complain about this)
Thanks!
The other ones are easy to do :-)
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
bkonrath@redhat.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |overholt@redhat.com
------- Additional Comments From bkonrath@redhat.com 2006-05-26 13:01 EST ------- (In reply to comment #2)
(In reply to comment #1)
- Why have all those macro definitions, conditional and otherwise, at the top
instead of just... %define gcj_support 1 ?
umm Ben Konrath added that part to my initial SPEC, I just thougth it was just to make easy to package it for RHEL
I just copied what our other eclipse packages do. Andrew, do you have any thoughts here?
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
------- Additional Comments From overholt@redhat.com 2006-05-26 13:11 EST ------- (In reply to comment #3)
(In reply to comment #2)
(In reply to comment #1)
- Why have all those macro definitions, conditional and otherwise, at the top
instead of just... %define gcj_support 1 ?
umm Ben Konrath added that part to my initial SPEC, I just thougth it was just to make easy to package it for RHEL
I just copied what our other eclipse packages do. Andrew, do you have any thoughts here?
Yeah, I added that stuff so that we could do the gcj_support conditionally but also for other RHEL-specific stuff. Outside of the Eclipse SDK we probably don't need it, though. gcj_support itself should be enough. Sorry.
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
------- Additional Comments From robert@marcanoonline.com 2006-05-28 19:42 EST ------- updated files
http://www.marcanoonline.com/downloads/fedora/package_submissions/subclipse/... http://www.marcanoonline.com/downloads/fedora/package_submissions/subclipse/...
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
------- Additional Comments From tibbs@math.uh.edu 2006-06-11 00:52 EST ------- Some observations:
There is absolutely no prohibition against using macros in your Source URLs; you can use it if you like. Folks who want to fetch the upstream source given your specfile should use spectool -g.
The package builds fine in mock (x86_64, development).
rpmlint has a few complaints. There are several description-line-too-long warnings; you should reflow your %description to keep things down under 80 characters.
W: ganymed incoherent-version-in-changelog 209.2 209-2.fc6
Standard format is to separate version from release by a hyphen.
W: ganymed no-documentation
The source zip (zipball?) seems to have plenty of documentation. Is there some reason it's not packaged?
The -debuginfo package generation seems to be confused; the build log is filled with this:
extracting debug info from /var/tmp/ganymed-209-2.fc6-root-mockbuild/usr/lib64/gcj/ganymed/ganymed-209.jar.so cpio: ganymed-ssh2-build209/ch/ethz/ssh2/Connection$1$TimeoutState.java: No such file or directory cpio: ganymed-ssh2-build209/ch/ethz/ssh2/Connection$1.java: No such file or directory cpio: ganymed-ssh2-build209/ch/ethz/ssh2/Connection.java: No such file or directory
repeated once for each file in the "src" directory of the source zipball. All that ends up in the -debuginfo package are the symbols from the single .so. I'm not really sure what's supposed to happen here. It seems like it's looking in the wrong place; either that or something has deleted those files from the buildroot before find-debuginfo.sh is run.
Other than those, I'd be happy approving this package. I just want to make sure I'm on the right track and that I have enough basic understanding of how Java packaging is supposed to work first.
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@math.uh.edu changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |ASSIGNED AssignedTo|bugzilla-sink@leemhuis.info |tibbs@math.uh.edu OtherBugsDependingO|163776 |163778 nThis| |
------- Additional Comments From tibbs@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.
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
------- Additional Comments From ville.skytta@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).
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
------- Additional Comments From tibbs@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
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
------- Additional Comments From bkonrath@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.
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
------- Additional Comments From robert@marcanoonline.com 2006-06-11 19:03 EST ------- updated
http://www.marcanoonline.com/downloads/fedora/package_submissions/subclipse/... http://www.marcanoonline.com/downloads/fedora/package_submissions/subclipse/...
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.
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
------- Additional Comments From tibbs@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.
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
------- Additional Comments From bkonrath@redhat.com 2006-06-14 00:33 EST ------- It seems we lost a bunch of useful comments here. It would be great if people could re-post. Thanks.
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@math.uh.edu changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |tibbs@math.uh.edu, | |michael@knox.net.nz
------- Additional Comments From tibbs@math.uh.edu 2006-06-14 10:44 EST ------- I have a complete archive; I will be making the status changes and adding the comments back in.
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@math.uh.edu changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |ASSIGNED AssignedTo|bugzilla-sink@leemhuis.info |tibbs@math.uh.edu OtherBugsDependingO|163776 |163778 nThis| |
------- Additional Comments From tibbs@math.uh.edu 2006-06-14 10:47 EST ------- ------- Additional Comments From tibbs@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@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@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@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@marcanoonline.com 2006-06-11 19:03 EST ------- updated
http://www.marcanoonline.com/downloads/fedora/package_submissions/subclipse/... http://www.marcanoonline.com/downloads/fedora/package_submissions/subclipse/...
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@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.
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
------- Additional Comments From tibbs@math.uh.edu 2006-06-21 13:59 EST ------- Just to re-iterate: this package is really close. First, we should settle the issue of the name; a bit of consultation with upstream wouldn't be a bad idea.
Then this package needs to own %{_libdir}/gcj/%{name}.
Finally there's the %{__sed} macro issue, which is really more of a nitpick.
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
------- Additional Comments From robert@marcanoonline.com 2006-06-21 15:24 EST ------- I am ok with the name change, even the jar is named ganymed-ssh2*
i have noticed that Fedora Java packages separates javadoc to a different package. *-javadoc and not *-doc. is this the convention?
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
------- Additional Comments From tibbs@math.uh.edu 2006-06-21 21:48 EST ------- There is indeed plenty of prededent for packaging the contents of /usr/share/javadoc/%{name}-${version} in a -javadoc subpackage.
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-ssh2
https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=191014
robert@marcanoonline.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Summary|Review Request: ganymed |Review Request: ganymed-ssh2
------- Additional Comments From robert@marcanoonline.com 2006-06-25 23:19 EST ------- renamed and updated to ganymed-ssh2 fixed the remaining issues created javadoc subpackage using the same Group that lucene-javadoc uses, but rpmlint stills complain for "ganymed-ssh2-javadoc non-standard-group Development/Documentation"
http://www.marcanoonline.com/downloads/fedora/package_submissions/subclipse/... http://www.marcanoonline.com/downloads/fedora/package_submissions/subclipse/...
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-ssh2
https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=191014
tibbs@math.uh.edu changed:
What |Removed |Added ---------------------------------------------------------------------------- OtherBugsDependingO|163778 |163779 nThis| |
------- Additional Comments From tibbs@math.uh.edu 2006-06-26 11:02 EST ------- At this point I'm inclined to ignore rpmlint's whining about the Group. A survey of what's currently in Fedora shows most javadoc packages using Development/Documentation, A few using Development/Java and two in Extras using Documentation. (Two more in Extras use Development/Documentation.)
The issues I had are fixed. I hope to move on to the other packages which depend on this one soon.
APPROVED
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-ssh2
https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=191014
robert@marcanoonline.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|ASSIGNED |CLOSED Resolution| |NEXTRELEASE
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-ssh2
https://bugzilla.redhat.com/show_bug.cgi?id=191014
bugzilla@redhat.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Severity|normal |medium Priority|normal |medium Product|Fedora Extras |Fedora Version|devel |rawhide
package-review@lists.fedoraproject.org