Bug 1015123

Summary: maven-release: FTBFS in rawhide
Product: [Fedora] Fedora Reporter: Mikolaj Izdebski <mizdebsk>
Component: maven-releaseAssignee: Mikolaj Izdebski <mizdebsk>
Status: CLOSED RAWHIDE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: rawhideCC: guido.grazioli, java-sig-commits, jcapik, mizdebsk, paulo.cesar.pereira.de.andrade, sochotni
Target Milestone: ---Keywords: Patch
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: 2.2.1-10 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2014-03-06 12:11:02 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:
Attachments:
Description Flags
maven-release-ftbfs.patch
none
maven-release-ftbfs.patch
none
0001-fix-rhbz-1015123.patch none

Description Mikolaj Izdebski 2013-10-03 13:26:38 UTC
Description of problem:
Package maven-release fails to build from source in rawhide.

Version-Release number of selected component (if applicable):
2.2.1-9

Probable cause of build failure:

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.1:compile (default-compile) on project maven-release-manager: Compilation failure: Compilation failure:
[ERROR] /builddir/build/BUILD/maven-release-2.2.1/maven-release-manager/target/generated-sources/modello/org/apache/maven/shared/release/config/ReleaseDescriptor.java:[1615,37] method put in interface java.util.Map<K,V> cannot be applied to given types;
[ERROR] required: java.lang.Object,java.lang.String
[ERROR] found: java.lang.String,java.util.Map
[ERROR] reason: actual argument java.util.Map cannot be converted to java.lang.String by method invocation conversion
[ERROR] /builddir/build/BUILD/maven-release-2.2.1/maven-release-manager/target/generated-sources/modello/org/apache/maven/shared/release/config/ReleaseDescriptor.java:[1667,24] method put in interface java.util.Map<K,V> cannot be applied to given types;
[ERROR] required: java.lang.Object,java.lang.String
[ERROR] found: java.lang.String,org.apache.maven.model.Scm
[ERROR] reason: actual argument org.apache.maven.model.Scm cannot be converted to java.lang.String by method invocation conversion
[ERROR] /builddir/build/BUILD/maven-release-2.2.1/maven-release-manager/target/generated-sources/modello/org/apache/maven/shared/release/config/ReleaseDescriptor.java:[1705,90] inconvertible types
[ERROR] required: java.util.Map
[ERROR] found:    java.lang.String
[ERROR] /builddir/build/BUILD/maven-release-2.2.1/maven-release-manager/target/generated-sources/modello/org/apache/maven/shared/release/config/ReleaseDescriptor.java:[1719,90] inconvertible types
[ERROR] required: java.util.Map
[ERROR] found:    java.lang.String

Full build logs from Koji:

Package maven-release (6019809):
  noarch (6019824):
    root.log            : http://kojipkgs.fedoraproject.org/work/tasks/9824/6019824/root.log
    build.log           : http://kojipkgs.fedoraproject.org/work/tasks/9824/6019824/build.log
    state.log           : http://kojipkgs.fedoraproject.org/work/tasks/9824/6019824/state.log
    mock_output.log     : http://kojipkgs.fedoraproject.org/work/tasks/9824/6019824/mock_output.log

Additional info:
[1] http://fedoraproject.org/wiki/Packaging:Java
[2] http://fedoraproject.org/wiki/Packaging:Guidelines

Comment 1 Paulo Andrade 2013-12-20 16:19:26 UTC
Created attachment 839672 [details]
maven-release-ftbfs.patch

This is probably completely broken. But may work depending on
how the toString output is done, and how string'able it is.
I am not a java programmer, just some guessing around and
checking stackoverflow related suggestions of how to convert
a string back to a hash map (basically it is said to not do it),
but apparently previously it used some weird type punning to
pass around a HashMap pointer as a String
(or vice versa).

Comment 2 Paulo Andrade 2013-12-24 04:58:15 UTC
Created attachment 841063 [details]
maven-release-ftbfs.patch

This one should be better, and theoretically should not
change behaviour from when it was building... It basically
should defers type cast error to runtime, but I did not
add exception handling in case there are failures.

Well, I am just trying to "bootstrap" a java stack based on
Fedora packages on another distribution...

Comment 3 Mikolaj Izdebski 2014-01-06 12:51:11 UTC
(In reply to Paulo Andrade from comment #2)
> Created attachment 841063 [details]
> maven-release-ftbfs.patch
> 
> This one should be better, and theoretically should not
> change behaviour from when it was building... It basically
> should defers type cast error to runtime, but I did not
> add exception handling in case there are failures.

The second patch looks OK.  I am not maintainer of maven-release and I have limited time, so it would be very helpful if you could follow rule described in [1] when preparing a patch.

> Well, I am just trying to "bootstrap" a java stack based on
> Fedora packages on another distribution...

Out of curiosity, which distro?

Also feel free to join #java-devel on Freenode.  Asking questions there usually will be much easier than reporting bugs.  We have regular visitors from other distros there too.

[1] https://fedoraproject.org/wiki/User:Mizdebsk/HowToSubmitPatches

Comment 4 Paulo Andrade 2014-01-06 17:55:09 UTC
(In reply to Mikolaj Izdebski from comment #3)
> (In reply to Paulo Andrade from comment #2)
> > Created attachment 841063 [details]
> > maven-release-ftbfs.patch
> > 
> > This one should be better, and theoretically should not
> > change behaviour from when it was building... It basically
> > should defers type cast error to runtime, but I did not
> > add exception handling in case there are failures.
> 
> The second patch looks OK.  I am not maintainer of maven-release and I have
> limited time, so it would be very helpful if you could follow rule described
> in [1] when preparing a patch.

  I will try to make a proper patch, but for now I am just using
%if 0%{?fedora}
%else
<<stuff I need different from fedora spec>>>
%endif
But I do not care of having credit for the patch, just showing
what I am using right now, and attempting to have an idea if it
would be usable :-)

> > Well, I am just trying to "bootstrap" a java stack based on
> > Fedora packages on another distribution...
> 
> Out of curiosity, which distro?

  OpenMandriva. Right now I am almost at the point of building
tomcat from sources. But the java stack is a mess of cyclic
dependencies... I did create a javapackages-bootstrap huge
package to inject (most) dependencies in the repositories:

https://abf.rosalinux.ru/openmandriva/javapackages-bootstrap/blob/master/create-spec.pl

and a few other packages were injected using a noarch rpm as source
to break other cyclic deps found later...

> Also feel free to join #java-devel on Freenode.  Asking questions there
> usually will be much easier than reporting bugs.  We have regular visitors
> from other distros there too.

  Is it really #java-devel on Freenode? I found myself alone there,
so I left the room :-)

> [1] https://fedoraproject.org/wiki/User:Mizdebsk/HowToSubmitPatches

Comment 5 Stanislav Ochotnicky 2014-01-07 08:27:05 UTC
(In reply to Paulo Andrade from comment #4)
> > Also feel free to join #java-devel on Freenode.  Asking questions there
> > usually will be much easier than reporting bugs.  We have regular visitors
> > from other distros there too.
> 
>   Is it really #java-devel on Freenode? I found myself alone there,
> so I left the room :-)

I believe it's #fedora-java (java-devel is our mailing list[1] :-) ) You can subscribe there as well, if you are going to be using (parts of) our java stack it might be useful to know about major changes in advance.

[1] https://admin.fedoraproject.org/mailman/listinfo/java-devel

Comment 6 Paulo Andrade 2014-01-08 14:08:45 UTC
Created attachment 847160 [details]
0001-fix-rhbz-1015123.patch

This patch should address the recommendations at
https://fedoraproject.org/wiki/User:Mizdebsk/HowToSubmitPatches

I am using this patch in my fedora based java packages
bootstrap for openmandriva.
https://abf.rosalinux.ru/openmandriva/maven-release

Note that I am calling fedora packages "upstream", thus
the "Update to latest upstream release" logs there.

Comment 7 Mikolaj Izdebski 2014-03-06 10:40:22 UTC
Fixed in maven-release-2.2.1-10

Comment 8 Mikolaj Izdebski 2014-03-06 12:11:02 UTC
I believe that this bug is fixed in maven-release-2.2.1-10,
which is available in Fedora Rawhide, so I am closing this bug now.

The build containing the fix can be found at Koji:
http://koji.fedoraproject.org/koji/buildinfo?buildID=502286