Git Product home page Git Product logo

eap-build's Issues

is using this build legal?

I was under the impression that EAP releases could not be used in production without a valid support (subscription) agreement - is that (in)correct? Thanks.

Support building without skipping tests

Checking a little I have figured out what patches are needed to build without skipping tests:

  • one must download all published repositories for 6.x.x due to some tests run version compatibility
  • messaging/src/test/java/org/jboss/as/messaging/test/HornetQDependencies.java change l.76-81 to version '2.3.5.Final-redhat-2' due '-1' is not available
  • build/pom.xml change dependency on antrun plugin for jandex to '1.0.3-Final' (version 1.0.3-Final-redhat-2 has some unpatched deps on boss-dependency-management-all version 6.0.1-redhat-1)

And some good news on missing artifacts:
https://bugzilla.redhat.com/show_bug.cgi?format=multiple&id=1066435

asterisk in md5sum on cygwin

Output produced by cygwin md5sum has one space and an asterisk ' *' as separator.
md5 files in this repo have double space, so the checksum verification fails.
This is because md5sum on cygwin default to binary mode, which causes the separator to include the asterisk, as mentioned here: http://lists.gnu.org/archive/html/bug-coreutils/2009-03/msg00376.html

I see 3 solutions:

  1. Add sed 's/ \*/ /' to the command that generates and compares the checksum. This would also require sed to be present on linux hosts for the build script not to fail.
  2. Add a check for cygwin, and only use above sed snippet there. This would have the least impact.
  3. Change everything to default to md5sum binary mode. Probably the biggest change.

What do you think would be the best solution?

EAP 6.2.1

Seems like EAP 6.2.1 is available. Here you might want to copy the repositories section from EAP 6.2 parent pom.xml before compiling.

EAP 6.2.4

ftp://ftp.redhat.com/redhat/jbeap/6.2.4/en/source/

Is it legal to use the resulting binary in a production environment?

There seems to be no consensus with regard to this subject in forums, etc. For instance, see the following comment from Jason Greene:

"Another topic that was touched on is the licensing terms of the software itself. It is correct that the source code of JBoss EAP is licensed under the LGPL and a combination of other OSS licenses. However the distribution also contains our trademarked images and text which we do not allow redistribution without permission. Anyone that wishes to distribute their own derivative of JBoss EAP needs to replace all occurences of Red Hat and JBoss trademarks, and call it something other than JBoss."

https://developer.jboss.org/message/819862#819862#819862

Rename the built zip file

The results of the 6.1.0 and 6.1.1 builds have the same name : jboss-eap-6.1.zip.

We should rename the resulting file to something like jboss-eap-$EAP-VERSION.zip.

Unable to download maven zipped repository

here the error:

Trying to download jboss-eap-6.4.5-maven-repository.zip.
--2015-12-20 11:33:48--  http://maven.repository.redhat.com/techpreview/eap6/6.4.5/jboss-eap-6.4.5-maven-repository.zip
Resolving maven.repository.redhat.com... 23.33.65.202
Connecting to maven.repository.redhat.com|23.33.65.202|:80... connected.
HTTP request sent, awaiting response... 301 Moved Permanently
Location: https://access.redhat.com/maven-repository [following]
--2015-12-20 11:33:48--  https://access.redhat.com/maven-repository
Resolving access.redhat.com... 23.33.14.97
Connecting to access.redhat.com|23.33.14.97|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: unspecified [text/html]
Saving to: 'download/jboss-eap-6.4.5-maven-repository.zip'

jboss-eap-6.4.5-maven-repository.zip                                                           [ <=>                                                                                                                                                                                                                                     ]  64.69K  --.-KB/s   in 0.1s   

2015-12-20 11:33:50 (446 KB/s) - 'download/jboss-eap-6.4.5-maven-repository.zip' saved [66247]

Unzipping jboss-eap-6.4.5-maven-repository.zip
[download/jboss-eap-6.4.5-maven-repository.zip]
  End-of-central-directory signature not found.  Either this file is not
  a zipfile, or it constitutes one disk of a multi-part archive.  In the
  latter case the central directory and zipfile comment will be found on
  the last disk(s) of this archive.
unzip:  cannot find zipfile directory in one of download/jboss-eap-6.4.5-maven-repository.zip or
        download/jboss-eap-6.4.5-maven-repository.zip.zip, and cannot find download/jboss-eap-6.4.5-maven-repository.zip.ZIP, period.
jboss-eap-6.4.5-maven-repository.zip unzipped
Patching files
Launching Maven build
find: work/jboss-eap-6.4-src/dist/target: No such file or directory
Build done. Check your dist directory for the new eap zip file.

I think upstream had change the policy creating a /ga/ repository so we can deal with it directly
I'm working on finding a solution.

Patch to ensure that build fails if patching is unsuccessful

I maintain a local fork so that I can apply additional patches.
I noticed that when a patch fails to apply, currently the build continues.
The following patch fixes the behavior so that the build is aborted when applying the patch fails.

diff --git a/src/functions.sh b/src/functions.sh
--- a/src/functions.sh
+++ b/src/functions.sh
@@ -44,7 +44,7 @@
 function patch_files {
     echo "Patching files"
     echo "=== Patch ===" >> work/build.log
-    patch -p0 < src/jboss-eap-$EAP_VERSION.patch >> work/build.log
+    patch -p0 < src/jboss-eap-$EAP_VERSION.patch >> work/build.log || { echo >&2 "Error applying patch.  Aborting."; exit 1; }
     cp src/settings.xml work/jboss-eap-$EAP_SHORT_VERSION-src/tools/maven/conf/
 }

6.1.1 exit with

I executed the newest build and this is the output from the build.log
despite the fact that
org.jboss.logging:jboss-logging:jar:3.1.2.GA-redhat-1
is present in the local repository

[INFO] Finished at: Mon Sep 09 17:18:39 CEST 2013
find: ‘work/jboss-eap-6.1-src/dist/target’: No such file or directory
Build failed. You may have a look at the work/build.log file, maybe you'll find the reason why it failed.
[INFO] Final Memory: 84M/359M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal on project jboss-as-protocol: Could not resolve dependencies for project org.jboss.as:jboss-as-protocol:jar:7.2.1.Final-redhat: The following artifacts could not be resolved: org.jboss.logging:jboss-logging:jar:3.1.2.GA-redhat-1, org.jboss.logging:jboss-logging-processor:jar:1.1.0.Final-redhat-1, org.jboss.logmanager:jboss-logmanager:jar:1.4.3.Final-redhat-1, org.jboss.marshalling:jboss-marshalling:jar:1.3.18.GA-redhat-1, org.jboss.remoting3:jboss-remoting:jar:3.2.16.GA-redhat-1, org.jboss.sasl:jboss-sasl:jar:1.0.3.Final-redhat-1, org.jboss.marshalling:jboss-marshalling-river:jar:1.3.18.GA-redhat-1, org.jboss.threads:jboss-threads:jar:2.1.0.Final-redhat-1, org.jboss.xnio:xnio-api:jar:3.0.7.GA-redhat-1, org.jboss.xnio:xnio-nio:jar:3.0.7.GA-redhat-1: Could not find artifact org.jboss.logging:jboss-logging:jar:3.1.2.GA-redhat-1 in jboss-eap (file:///cygdrive/c/Users/mbazzani/Downloads/jboss-eap-6.1.1-src/work/jboss-eap-6.1.1.GA-maven-repository/) -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/DependencyResolutionException
[ERROR]
[ERROR] After correcting the problems, you can resume the build with the command
[ERROR] mvn -rf :jboss-as-protocol

Jboss-eap-7.0.0-beta does not build, missing dependecy (org.wildfly.core:wildfly-core-feature-pack:zip:2.0.3.Final-redhat-1)

Jboss-eap-7.0.0-beta build failed on WildFly: Servlet Feature Pack module,
missing dependency "org.wildfly.core:wildfly-core-feature-pack:zip:2.0.3.Final-redhat-1"

[ERROR] Failed to execute goal on project wildfly-servlet-feature-pack: Could not resolve dependencies for project org.wildfly:wildfly-servlet-feature-pack:pom:10.0.0.CR6-redhat-1: Could not find artifact org.wildfly.core:wildfly-core-feature-pack:zip:2.0.3.Final-redhat-1 in jboss-eap

see attached logs for more complete details.
build.log.txt

Fix for this issue:

 @@ -217,7 +217,8 @@
          <version.org.syslog4j>0.9.30</version.org.syslog4j>
          <version.org.wildfly.build-tools>1.1.0.Final</version.org.wildfly.build-tools>
          <version.org.wildfly.checkstyle-config>1.0.4.Final</version.org.wildfly.checkstyle-config>
 -        <version.org.wildfly.core>2.0.3.Final-redhat-1</version.org.wildfly.core>
 +        <version.org.wildfly.core>2.0.3.Final</version.org.wildfly.core>
 +        <version.org.wildfly.core.test>2.0.3.Final</version.org.wildfly.core.test>
          <version.org.wildfly.arquillian>1.0.2.Final</version.org.wildfly.arquillian>
          <version.org.yaml.snakeyaml>1.15.0.redhat-1</version.org.yaml.snakeyaml>
          <version.sun.jaxb>2.2.11.redhat-2</version.sun.jaxb>

Build fails with empty repository

In I start the build with an empty m2 repository, the build fails at module "build", due to the jandex dependency in antrun.

2nd run of the build works fine !

EAP 6.2.2

New version available:
ftp://ftp.redhat.com/redhat/jbeap/6.2.2/en/source/

patch is a prerequisite and other suggestions

Thanks for your work!

I ran the scripts on a CentOS 6.5 VM built from the "minimal.iso".
This revealed that the "patch" RPM is also a prerequisite to success in addition to "git", "wget", "unzip", and a Java installation.

Also, your script does not detect that the patch command is missing, skips over applying the patches, and goes ahead and launches the Maven build.

A useful comment to add to the readme would be a hint to do a "tail -f ./eap-build/work/build.log" once the script launches the Maven build. Otherwise, many minutes of quiet anticipation ensue.

Suggestion for enhancement: It would be great if one could specify both the baseline version of EAP as well as a specific full path to the patch file. In my case, I'm editing the patch file to advance to the most recent minor version of the patched dependencies instead of falling back to the last closest. Since I don't know what Redhat is hiding and what we are missing, figured there is a chance that upstream of those dependencies contain the fixes in later versions.

Path to keep the build log file

I've found that it's useful to keep the build log file along with the binary. The following patch copies the build log to the dist directory alongside the built zip file.

diff --git a/src/functions.sh b/src/functions.sh
--- a/src/functions.sh
+++ b/src/functions.sh
@@ -123,6 +123,7 @@
 function save_result {
     # Copy zip files to the base dir, excluding the src files
     find work/jboss-eap-$EAP_SHORT_VERSION-src/dist/target \( ! -name "jboss*-src.zip" \) -a \( -name "jboss*.zip" \) -exec cp -f {} dist/jboss-eap-$EAP_VERSION.zip \;
+    cp work/build.log dist/jboss-eap-$EAP_VERSION.build.log

     if [ -f dist/jboss-eap-$EAP_VERSION.zip ]
     then

6.1.1 patching error

"./build-eap.sh 6.1.1" fails with the following error:

=== Patch ===
patching file work/jboss-eap-6.1-src/pom.xml
patching file work/jboss-eap-6.1.1.GA-maven-repository/log4j/log4j/1.2.16-redhat-2/log4j-1.2.16-redhat-2.pom
patching file work/jboss-eap-6.1.1.GA-maven-repository/org/fusesource/jansi/jansi/1.9-redhat-1/jansi-1.9-redhat-1.pom
Hunk #1 FAILED at 94.
1 out of 1 hunk FAILED -- saving rejects to file work/jboss-eap-6.1.1.GA-maven-repository/org/fusesource/jansi/jansi/1.9-redhat-1/jansi-1.9-redhat-1.pom.rej
patching file work/jboss-eap-6.1.1.GA-maven-repository/org/jboss/byteman/byteman/2.0.1-redhat-2/byteman-2.0.1-redhat-2.pom
Hunk #1 FAILED at 132.
1 out of 1 hunk FAILED -- saving rejects to file work/jboss-eap-6.1.1.GA-maven-repository/org/jboss/byteman/byteman/2.0.1-redhat-2/byteman-2.0.1-redhat-2.pom.rej
patching file work/jboss-eap-6.1.1.GA-maven-repository/org/jboss/component/management/jboss-component-version-master/6.0.1-redhat-1/jboss-component-version-master-6.0.1-redhat-1.pom
patching file work/jboss-eap-6.1.1.GA-maven-repository/org/jboss/jboss-parent/10-redhat-1/jboss-parent-10-redhat-1.pom
patching file work/jboss-eap-6.1.1.GA-maven-repository/org/jboss/jboss-parent/10-redhat-2/jboss-parent-10-redhat-2.pom

Turns out this is just down to DOS formatted text in a couple of the unpacked files.

Adding the following just before the patch step in build-eap.sh was enough to get the build through:

dos2unix work/jboss-eap-6.1.1.GA-maven-repository/org/fusesource/jansi/jansi/1.9-redhat-1/jansi-1.9-redhat-1.pom
dos2unix work/jboss-eap-6.1.1.GA-maven-repository/org/jboss/byteman/byteman/2.0.1-redhat-2/byteman-2.0.1-redhat-2.pom

Regards,

Chris

Patch failures

Rejected files :

  • jansi-1.9-redhat-1.pom
  • byteman-2.0.1-redhat-2.pom

Error compiling 6.4.0

I got the following error right now:

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-antrun-plugin:1.7:run (generate-configs) on project jboss-as-build: Execution generate-configs of goal org.apache.maven.plugins:maven-antrun-plugin:1.7:run failed: Plugin org.apache.maven.plugins:maven-antrun-plugin:1.7 or one of its dependencies could not be resolved: The following artifacts could not be resolved: org.jboss:jandex:jar:1.2.2.Final-redhat-1, org.slf4j:slf4j-api:jar:1.7.2.redhat-3: Could not find artifact org.jboss:jandex:jar:1.2.2.Final-redhat-1 in central (https://repo.maven.apache.org/maven2) -> [Help 1]

What Can I do ?

Enhance build for EAP 7

Making a diff between the downloaded version and the built one shows a lot of differences :

  • some files in bin/
  • jboss-modules.jar
  • a lot of modules

We should probably build the feature pack for wildfly-core, if possible.

Fix jandex version

org.jboss:jandex:1.0.3.Final-redhat-2 is in the provided maven repo, but build fail if this artefact isn't in the local repo at the beginning.

Possibility of removing redhat trademark info to make build prudiction use

Reading through some posts on jboss community forum (also the one where hasalex mention this eap-build project of he created - https://community.jboss.org/message/831244#831244) and eula(s?) I am still not fully sure if building eap source makes it production use.

So issue has three sub questions:

  • is removing trademark info necessary?
  • if yes, how deep (shadowman on webconsole or every redhat mention on every logrecord)
  • if yes, is it possible to do?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.