Note: This is a public test instance of Red Hat Bugzilla. The data contained within is a snapshot of the live data so any changes you make will not be reflected in the production Bugzilla. Email is disabled so feel free to test any aspect of the site that you want. File any problems you find or give feedback at bugzilla.redhat.com.
Bug 191014
Summary: | Review Request: ganymed-ssh2 | ||
---|---|---|---|
Product: | [Fedora] Fedora | Reporter: | Robert Marcano <robert> |
Component: | Package Review | Assignee: | Jason Tibbitts <j> |
Status: | CLOSED NEXTRELEASE | QA Contact: | Fedora Package Reviews List <fedora-package-review> |
Severity: | medium | Docs Contact: | |
Priority: | medium | ||
Version: | rawhide | CC: | ben, j, michael, overholt |
Target Milestone: | --- | ||
Target Release: | --- | ||
Hardware: | All | ||
OS: | Linux | ||
Whiteboard: | |||
Fixed In Version: | Doc Type: | Bug Fix | |
Doc Text: | Story Points: | --- | |
Clone Of: | Environment: | ||
Last Closed: | 2006-07-03 02:12:31 UTC | Type: | --- |
Regression: | --- | Mount Type: | --- |
Documentation: | --- | CRM: | |
Verified Versions: | Category: | --- | |
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
Cloudforms Team: | --- | Target Upstream Version: | |
Embargoed: | |||
Bug Depends On: | |||
Bug Blocks: | 163779, 191015, 191016, 191017 |
Description
Robert Marcano
2006-05-08 03:35:59 UTC
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! (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.html > > * 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 :-) (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? (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. updated files http://www.marcanoonline.com/downloads/fedora/package_submissions/subclipse/ganymed.spec http://www.marcanoonline.com/downloads/fedora/package_submissions/subclipse/ganymed-209-2.src.rpm It seems we lost a bunch of useful comments here. It would be great if people could re-post. Thanks. I have a complete archive; I will be making the status changes and adding the comments back in. ------- Additional Comments From tibbs.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 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.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 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 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.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. 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. 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? There is indeed plenty of prededent for packaging the contents of /usr/share/javadoc/%{name}-${version} in a -javadoc subpackage. 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/ganymed-ssh2.spec http://www.marcanoonline.com/downloads/fedora/package_submissions/subclipse/ganymed-ssh2-209-4.src.rpm 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 |