aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSteve Capper <steve.capper@linaro.org>2015-10-29 20:27:13 +0000
committerSteve Capper <steve.capper@linaro.org>2015-10-30 09:32:44 +0000
commit4c9974c243496ab7d233616fe113959c519a481d (patch)
treecea1a1519aa7b5efe319ff09534d0b289679f37a
parent05cb67c8b3ac85ed3648bf1989101229ae7e6304 (diff)
PIG: remove JavaScript from ANT build logic
The Pig build system uses JavaScript in Ant. This will fail to build on OpenJDK 7 due to missing Java libraries. This commit replaces the JavaScript for project property setting with Ant macros that are functionally equivalent. Also one piece of JavaScript, to remove an item from classpath, is not actually needed for the Big Top build so is removed entirely. Some Big Top logic is also tweaked to allow patches in the SPEC file. Signed-off-by: Steve Capper <steve.capper@linaro.org>
-rw-r--r--bigtop-packages/src/common/pig/patch0-remove-javascript.diff36
-rw-r--r--bigtop-packages/src/rpm/pig/SPECS/pig.spec3
2 files changed, 39 insertions, 0 deletions
diff --git a/bigtop-packages/src/common/pig/patch0-remove-javascript.diff b/bigtop-packages/src/common/pig/patch0-remove-javascript.diff
new file mode 100644
index 00000000..4a2f5b16
--- /dev/null
+++ b/bigtop-packages/src/common/pig/patch0-remove-javascript.diff
@@ -0,0 +1,36 @@
+diff -urN pig-0.14.0-src.orig/build.xml pig-0.14.0-src/build.xml
+--- pig-0.14.0-src.orig/build.xml 2015-10-29 20:30:58.540000000 +0000
++++ pig-0.14.0-src/build.xml 2015-10-29 20:32:08.810000000 +0000
+@@ -573,10 +573,10 @@
+ </path>
+ <property name="mr-apps-classpath" refid="mr-apps-test.classpath" />
+ <!-- Remove jython jar from mrapp-generated-classpath -->
+- <script language="javascript">
++ <!-- <script language="javascript">
+ project.setProperty('mr-apps-classpath', project.getProperty('mr-apps-classpath').
+ replace(":" + project.getProperty('ivy.default.ivy.user.dir') + "/cache/org.python/jython-standalone/jars/jython-standalone-" + project.getProperty('jython.version') + ".jar", ""));
+- </script>
++ </script>-->
+ <echo file="${test.build.classes}/mrapp-generated-classpath" message="${mr-apps-classpath}" />
+ </target>
+
+@@ -777,12 +777,15 @@
+ </copy>
+ </target>
+
+- <scriptdef name="propertyreset" language="javascript"
+- description="Allows to assign @{property} new value">
++ <macrodef name="propertyreset">
+ <attribute name="name"/>
+ <attribute name="value"/>
+- project.setProperty(attributes.get("name"), attributes.get("value"));
+- </scriptdef>
++ <sequential>
++ <loadresource property="@{name}">
++ <string value="@{value}"/>
++ </loadresource>
++ </sequential>
++ </macrodef>
+
+ <target name="mvn-jar" description="Create pig.jar for maven deploy for Hadoop2/23 and Hadoop1/20">
+ <propertyreset name="hadoopversion" value="23" />
diff --git a/bigtop-packages/src/rpm/pig/SPECS/pig.spec b/bigtop-packages/src/rpm/pig/SPECS/pig.spec
index 370b7aad..67f58dba 100644
--- a/bigtop-packages/src/rpm/pig/SPECS/pig.spec
+++ b/bigtop-packages/src/rpm/pig/SPECS/pig.spec
@@ -83,6 +83,7 @@ Source1: do-component-build
Source2: install_pig.sh
Source3: pig.1
Source4: bigtop.bom
+#BIGTOP_PATCH_FILES
Requires: hadoop-client, hbase, hive, zookeeper, bigtop-utils >= 0.7
%description
@@ -111,6 +112,8 @@ language called Pig Latin, which has the following key properties:
%prep
%setup -n %{name}-%{pig_base_version}-src
+#BIGTOP_PATCH_COMMANDS
+
%build
env PIG_BASE_VERSION=%{pig_base_version} bash %{SOURCE1}