[Bug 504489] Review Request: proguard - Java class file shrinker, optimizer, obfuscator and preverifier

bugzilla at redhat.com bugzilla at redhat.com
Mon Jun 8 19:18:52 UTC 2009


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=504489





--- Comment #3 from Orcan 'oget' Ogetbil <oget.fedora at gmail.com>  2009-06-08 15:18:51 EDT ---
(In reply to comment #2)
> Spec URL: http://fkooman.fedorapeople.org/proguard/proguard.spec
> SRPM URL: http://fkooman.fedorapeople.org/proguard/proguard-4.3-2.fc11.src.rpm
> 

Thanks for the update!

> (In reply to comment #1)
> > ! Please explain in the specfile as comments what Sources 1-3 are for.
> 
> Done.
> 

Can you also use "cp -p" with them to preserve timestamps?

> > ! Not a blocker, but in the docs/ and examples/ directories, there are html,
> > xml and pro files that refer to /usr/local/. You might want to fix them.
> 
> I've included a README.dist now.
> 
> > ? Any reason why you don't put the jar files directly in /usr/share/java/ ?
> 
> Yes, Packaging:Java says something about this:
> """   1.  If the number of provided JAR files exceeds two, you must place them
> into a sub-directory. """
> 
> Maybe I misread/misunderstood?

Ah, right. Then can you 

(from comment #1)
> replace 
>    %{_javadir}/%{name}*
> with
>    %{_javadir}/%{name}/
> in %files to indicate that this is a directory?

> 
> > * If a package contains a GUI application, then it needs to also include a
> > properly installed .desktop file. 
> 
> Done. The problem now is that I can't find a suitable icon for ProGuard
> anywhere. For now I use the "java" icon.
> 

That's fine. You could also derive something from the png files in the docs/
directory, or ask the upstream about this.

Btw,
   /usr/share/icons/hicolor/*/apps/java.png
files belong to java-1.6.0-openjdk, so if you use that icon, you need to
require this version of java.

> > ! You need to specify a specific java version in BR and R. See:
> >   http://fedoraproject.org/wiki/Packaging/Java#BuildRequires_and_Requires
> > In your case this ought to be 1.5
> 
> This doesn't seem mandatory the way I read this? Also it is not mentioned in
> the "ant" template I used to create this spec file. Furthermore, I tried to
> compile it with "-source 1.4" and that also works?
> 

Well, it's good to have it to indicate what versions of java can be used with
this software.

> > * GCJ AOT bits SHOULD be built and included in packages. Since this package
> > builds with java 1.5, this will bring great performance improvements on ppc*
> > architectures. Please follow:
> >    http://fedoraproject.org/wiki/Packaging/GCJGuidelines
> 
> I did this now. However, rpmbuild gives some warnings now:
> 
> + /usr/bin/aot-compile-rpm
> /usr/lib/python2.6/site-packages/aotcompile.py:18: DeprecationWarning: the md5
> module is deprecated; use hashlib instead
>   import md5
> aot-compile-rpm: warning: subsetted
> /home/fkooman/rpmbuild/BUILDROOT/proguard-4.3-2.fc11.x86_64/usr/share/java/proguard/proguardgui.jar
> aot-compile-rpm: warning: subsetted
> /home/fkooman/rpmbuild/BUILDROOT/proguard-4.3-2.fc11.x86_64/usr/share/java/proguard/retrace.jar
> 
> WARNING: Error loading security provider
> org.bouncycastle.jce.provider.BouncyCastleProvider:
> java.lang.ClassNotFoundException:
> org.bouncycastle.jce.provider.BouncyCastleProvider not found in
> gnu.gcj.runtime.SystemClassLoader{urls=[file:./],
> parent=gnu.gcj.runtime.ExtensionClassLoader{urls=[], parent=null}}
> WARNING: Error loading security provider
> org.bouncycastle.jce.provider.BouncyCastleProvider:
> java.lang.ClassNotFoundException:
> org.bouncycastle.jce.provider.BouncyCastleProvider not found in
> gnu.gcj.runtime.SystemClassLoader{urls=[file:./],
> parent=gnu.gcj.runtime.ExtensionClassLoader{urls=[], parent=null}}
> 
> rpmlint is also not totally happy:
> 
> [fkooman at localhost x86_64]$ rpmlint proguard-4.3-2.fc11.x86_64.rpm 
> proguard.x86_64: W: unstripped-binary-or-object
> /usr/lib64/gcj/proguard/proguard.jar.so
> 1 packages and 0 specfiles checked; 0 errors, 1 warnings.
> [fkooman at localhost x86_64]$ 
> 

Hmm, I don't get these warnings. Koji rawhide build doesn't show them either
   http://koji.fedoraproject.org/koji/taskinfo?taskID=1399792
Do you use mock? If not, do you have redhat-rpm-config installed?

> and the one that is due to GCJ (which can be ignored):
> 
> proguard.spec:118: W: libdir-macro-in-noarch-package (main package)
> %attr(-,root,root) %{_libdir}/gcj/%{name}
> 

Yes, this warning can be ignored (this is the only warning I got on my build).
Btw, you can just remove the %attr(-,root,root) part. I've been pinging java
folks about this and a few other things that need to be updated in the java
packaging guidelines. Things go "a little" slow.


> > Can you review my package (bug #504521 )? It is java too.  
> 
> It seems someone is already interested in reviewing it. I added myself to the
> CC of the bug anyway and look through it soon. Thanks for your review!  

You're welcome! Yep. Rakesh took it :) It's okay.

* Also, please use macros consistently. E.g.
   ${RPM_BUILD_ROOT} and $RPM_BUILD_ROOT
shouldn't be in the same specfile. Also, please either use %{name} all over the
specfile or use proguard. Not a mixture of both!

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




More information about the Fedora-package-review mailing list