From 148757e88cc6475deb6dc6cd181532fffc5492f1 Mon Sep 17 00:00:00 2001 From: Mark Hamstra <markhamstra@gmail.com> Date: Tue, 14 Jan 2014 21:23:09 -0800 Subject: [PATCH] Add deb profile to assembly/pom.xml --- assembly/pom.xml | 116 ++++++++++++++++++++++++++++++- assembly/src/deb/RELEASE | 2 + assembly/src/deb/control/control | 8 +++ 3 files changed, 125 insertions(+), 1 deletion(-) create mode 100644 assembly/src/deb/RELEASE create mode 100644 assembly/src/deb/control/control diff --git a/assembly/pom.xml b/assembly/pom.xml index 54a25910ce..dcd9601fe4 100644 --- a/assembly/pom.xml +++ b/assembly/pom.xml @@ -30,6 +30,13 @@ <name>Spark Project Assembly</name> <url>http://spark.incubator.apache.org/</url> + <properties> + <spark.jar>${project.build.directory}/scala-${scala.binary.version}/${project.artifactId}-${project.version}-hadoop${hadoop.version}.jar</spark.jar> + <deb.pkg.name>spark</deb.pkg.name> + <deb.install.path>/usr/share/spark</deb.install.path> + <deb.user>root</deb.user> + </properties> + <repositories> <!-- A repository in the local filesystem for the Py4J JAR, which is not in Maven central --> <repository> @@ -79,7 +86,7 @@ <artifactId>maven-shade-plugin</artifactId> <configuration> <shadedArtifactAttached>false</shadedArtifactAttached> - <outputFile>${project.build.directory}/scala-${scala.binary.version}/${project.artifactId}-${project.version}-hadoop${hadoop.version}.jar</outputFile> + <outputFile>${spark.jar}</outputFile> <artifactSet> <includes> <include>*:*</include> @@ -171,5 +178,112 @@ </plugins> </build> </profile> + <profile> + <id>deb</id> + <build> + <plugins> + <plugin> + <groupId>org.codehaus.mojo</groupId> + <artifactId>buildnumber-maven-plugin</artifactId> + <version>1.1</version> + <executions> + <execution> + <phase>validate</phase> + <goals> + <goal>create</goal> + </goals> + <configuration> + <shortRevisionLength>8</shortRevisionLength> + </configuration> + </execution> + </executions> + </plugin> + <plugin> + <groupId>org.vafer</groupId> + <artifactId>jdeb</artifactId> + <version>0.11</version> + <executions> + <execution> + <phase>package</phase> + <goals> + <goal>jdeb</goal> + </goals> + <configuration> + <deb>${project.build.directory}/${deb.pkg.name}_${project.version}-${buildNumber}_all.deb</deb> + <attach>false</attach> + <compression>gzip</compression> + <dataSet> + <data> + <src>${spark.jar}</src> + <type>file</type> + <mapper> + <type>perm</type> + <user>${deb.user}</user> + <group>${deb.user}</group> + <prefix>${deb.install.path}/jars</prefix> + </mapper> + </data> + <data> + <src>${basedir}/src/deb/RELEASE</src> + <type>file</type> + <mapper> + <type>perm</type> + <user>${deb.user}</user> + <group>${deb.user}</group> + <prefix>${deb.install.path}</prefix> + </mapper> + </data> + <data> + <src>${basedir}/../conf</src> + <type>directory</type> + <mapper> + <type>perm</type> + <user>${deb.user}</user> + <group>${deb.user}</group> + <prefix>${deb.install.path}/conf</prefix> + <filemode>744</filemode> + </mapper> + </data> + <data> + <src>${basedir}/../bin</src> + <type>directory</type> + <mapper> + <type>perm</type> + <user>${deb.user}</user> + <group>${deb.user}</group> + <prefix>${deb.install.path}/bin</prefix> + <filemode>744</filemode> + </mapper> + </data> + <data> + <src>${basedir}/../sbin</src> + <type>directory</type> + <mapper> + <type>perm</type> + <user>${deb.user}</user> + <group>${deb.user}</group> + <prefix>${deb.install.path}/sbin</prefix> + <filemode>744</filemode> + </mapper> + </data> + <data> + <src>${basedir}/../python</src> + <type>directory</type> + <mapper> + <type>perm</type> + <user>${deb.user}</user> + <group>${deb.user}</group> + <prefix>${deb.install.path}/python</prefix> + <filemode>744</filemode> + </mapper> + </data> + </dataSet> + </configuration> + </execution> + </executions> + </plugin> + </plugins> + </build> + </profile> </profiles> </project> diff --git a/assembly/src/deb/RELEASE b/assembly/src/deb/RELEASE new file mode 100644 index 0000000000..aad50ee73a --- /dev/null +++ b/assembly/src/deb/RELEASE @@ -0,0 +1,2 @@ +compute-classpath.sh uses the existence of this file to decide whether to put the assembly jar on the +classpath or instead to use classfiles in the source tree. \ No newline at end of file diff --git a/assembly/src/deb/control/control b/assembly/src/deb/control/control new file mode 100644 index 0000000000..a6b4471d48 --- /dev/null +++ b/assembly/src/deb/control/control @@ -0,0 +1,8 @@ +Package: [[deb.pkg.name]] +Version: [[version]]-[[buildNumber]] +Section: misc +Priority: extra +Architecture: all +Maintainer: Matei Zaharia <matei.zaharia@gmail.com> +Description: [[name]] +Distribution: development -- GitLab