From 1132f4bc41b5fd6d144cd66434a595f3c92394a1 Mon Sep 17 00:00:00 2001 From: Angad Singh Date: Thu, 3 Jul 2014 14:38:00 +0530 Subject: [PATCH 1/3] Create debian from assembly plugin using jdeb maven plugin --- hraven-assembly/pom.xml | 106 +++++++++++++++++++++++ hraven-assembly/src/deb/control/control | 7 ++ hraven-assembly/src/deb/control/postinst | 2 + hraven-assembly/src/deb/control/preinst | 8 ++ hraven-assembly/src/deb/init.d/hraven | 41 +++++++++ hraven-core/pom.xml | 32 +++---- hraven-etl/pom.xml | 32 +++---- 7 files changed, 196 insertions(+), 32 deletions(-) create mode 100644 hraven-assembly/src/deb/control/control create mode 100755 hraven-assembly/src/deb/control/postinst create mode 100755 hraven-assembly/src/deb/control/preinst create mode 100644 hraven-assembly/src/deb/init.d/hraven diff --git a/hraven-assembly/pom.xml b/hraven-assembly/pom.xml index 25b1ad4..8f54990 100644 --- a/hraven-assembly/pom.xml +++ b/hraven-assembly/pom.xml @@ -44,6 +44,112 @@ + + jdeb + org.vafer + 1.2 + + + package + + jdeb + + + true + false + none + /opt/${artifactId} + ${basedir}/src/deb/control + target/hraven_${version}.deb + + + + + + ${basedir}/src/deb/init.d + directory + + perm + /etc/init.d + root + root + 0755 + 0755 + + + + + ${basedir}/../conf + directory + + perm + /opt/hraven/conf + root + root + 0644 + 0755 + + + + + + ${basedir}/../bin + directory + + perm + /opt/hraven/bin + root + root + 0755 + 0755 + + + + + ${basedir}/../hraven-core/target + directory + *.jar + + perm + /opt/hraven/lib + + + + + ${basedir}/../hraven-etl/target + directory + *.jar + + perm + /opt/hraven/lib + + + + + ${basedir}/../hraven-core/target/dependency + directory + *.jar + + perm + /opt/hraven/lib + + + + + ${basedir}/../hraven-etl/target/dependency + directory + *.jar + + perm + /opt/hraven/lib + + + + + + + + diff --git a/hraven-assembly/src/deb/control/control b/hraven-assembly/src/deb/control/control new file mode 100644 index 0000000..686b617 --- /dev/null +++ b/hraven-assembly/src/deb/control/control @@ -0,0 +1,7 @@ +Package: hRaven +Version: [[version]] +Section: misc +Priority: low +Architecture: all +Description: [[description]] +Maintainer: hraven-dev@googlegroups.com diff --git a/hraven-assembly/src/deb/control/postinst b/hraven-assembly/src/deb/control/postinst new file mode 100755 index 0000000..f682536 --- /dev/null +++ b/hraven-assembly/src/deb/control/postinst @@ -0,0 +1,2 @@ +#! /bin/bash + diff --git a/hraven-assembly/src/deb/control/preinst b/hraven-assembly/src/deb/control/preinst new file mode 100755 index 0000000..301b7ee --- /dev/null +++ b/hraven-assembly/src/deb/control/preinst @@ -0,0 +1,8 @@ +#! /bin/bash +set -e; + +HRAVEN_HOME="/opt/hraven" + +if [ -d "$HRAVEN_HOME" ]; then + rm -rf $HRAVEN_HOME +fi diff --git a/hraven-assembly/src/deb/init.d/hraven b/hraven-assembly/src/deb/init.d/hraven new file mode 100644 index 0000000..59b471b --- /dev/null +++ b/hraven-assembly/src/deb/init.d/hraven @@ -0,0 +1,41 @@ +# Provides: hraven-rest-service +# Required-Start: $network $named $remote_fs $syslog +# Required-Stop: $network $named $remote_fs $syslog +# Default-Start: 2 3 4 5 +# Default-Stop: 0 1 6 + +### END INIT INFO +HRAVEN_HOME=/opt/hraven +PATH=${GANGLIA_HOMEPATH}/sbin:${GANGLIA_HOMEPATH}/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin +DAEMON=${HRAVEN_HOME}/bin/hraven-daemon.sh +NAME=hraven-rest-service +DESC="Hraven REST Service" + +test -x $DAEMON || exit 0 + +set -e + +case "$1" in + start) + echo -n "Starting $DESC: " + $DAEMON start rest + ;; + stop) + echo -n "Stopping $DESC: " + $DAEMON stop rest + ;; + reload) + ;; + restart|force-reload) + $0 stop + $0 start + ;; + *) + N=/etc/init.d/$NAME + # echo "Usage: $N {start|stop|restart|reload|force-reload}" >&2 + echo "Usage: $N {start|stop|restart|force-reload}" >&2 + exit 1 + ;; +esac + +exit 0 diff --git a/hraven-core/pom.xml b/hraven-core/pom.xml index 452a3d9..b200048 100644 --- a/hraven-core/pom.xml +++ b/hraven-core/pom.xml @@ -81,22 +81,6 @@ - - maven-dependency-plugin - 2.4 - - - copy-dependencies - package - - copy-dependencies - - - - - - - org.apache.maven.plugins maven-jar-plugin @@ -158,6 +142,22 @@ true + + maven-dependency-plugin + 2.4 + + + copy-dependencies + package + + copy-dependencies + + + ${project.build.directory}/dependency + + + + diff --git a/hraven-etl/pom.xml b/hraven-etl/pom.xml index 796391e..b9bd006 100644 --- a/hraven-etl/pom.xml +++ b/hraven-etl/pom.xml @@ -78,22 +78,6 @@ - - maven-dependency-plugin - 2.4 - - - copy-dependencies - package - - copy-dependencies - - - - - - - org.apache.maven.plugins maven-jar-plugin @@ -154,6 +138,22 @@ true + + maven-dependency-plugin + 2.4 + + + copy-dependencies + package + + copy-dependencies + + + ${project.build.directory}/dependency + + + + From 7509a42aebfaa31c65e1d71d30ed06be628b2f96 Mon Sep 17 00:00:00 2001 From: Angad Singh Date: Thu, 3 Jul 2014 14:52:33 +0530 Subject: [PATCH 2/3] Fix for debian name --- hraven-assembly/pom.xml | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/hraven-assembly/pom.xml b/hraven-assembly/pom.xml index 8f54990..99e5f28 100644 --- a/hraven-assembly/pom.xml +++ b/hraven-assembly/pom.xml @@ -60,10 +60,7 @@ none /opt/${artifactId} ${basedir}/src/deb/control - target/hraven_${version}.deb - - - + ${basedir}/target/hraven_${version}.deb ${basedir}/src/deb/init.d From ece9572f37c997833fa647811c0b349c2b272d8e Mon Sep 17 00:00:00 2001 From: Angad Singh Date: Thu, 3 Jul 2014 20:07:50 +0530 Subject: [PATCH 3/3] fix to make sure assembly gets built last (even in parallel builds) --- hraven-assembly/pom.xml | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/hraven-assembly/pom.xml b/hraven-assembly/pom.xml index 99e5f28..507c37d 100644 --- a/hraven-assembly/pom.xml +++ b/hraven-assembly/pom.xml @@ -27,6 +27,18 @@ hRaven - Assembly artifacts pom + + + com.twitter.hraven + hraven-core + 0.9.16.inmobi-SNAPSHOT + + + com.twitter.hraven + hraven-etl + 0.9.16.inmobi-SNAPSHOT + +