[med-svn] [mauve] 09/11: Several changes to prepare Mauve. The plan is to move it to Git anyway
Andreas Tille
tille at debian.org
Wed Apr 22 12:07:59 UTC 2015
This is an automated email from the git hooks/post-receive script.
tille pushed a commit to branch master
in repository mauve.
commit 200fb3e0dd0a590008cbd949c8bba82c07806d6e
Author: Andreas Tille <tille at debian.org>
Date: Tue Apr 21 19:51:07 2015 +0000
Several changes to prepare Mauve. The plan is to move it to Git anyway
---
debian/bin/mauve | 6 +
debian/control | 9 +-
debian/get-orig-source | 39 +++++
debian/install | 2 +
debian/patches/build_xml.patch | 279 ++++++++++++++++++++++++++++++++++++
debian/patches/debian_classes.patch | 34 +++++
debian/patches/series | 2 +
debian/rules | 42 ++++--
debian/source/format | 1 +
9 files changed, 399 insertions(+), 15 deletions(-)
diff --git a/debian/bin/mauve b/debian/bin/mauve
new file mode 100644
index 0000000..90fd2e1
--- /dev/null
+++ b/debian/bin/mauve
@@ -0,0 +1,6 @@
+#!/bin/sh
+
+MAXMEM=3072
+
+DEBJAR="/usr/share/java"
+java -Xms64m -Xmx${MAXMEM}m -classpath "${CLASSPATH}:${DEBJAR}/bytecode.jar:${DEBJAR}/commons-cli.jar:${DEBJAR}/jebl.jar" $(DEBJAR)/Mauve.jar $*
diff --git a/debian/control b/debian/control
index 608865c..909c8d4 100644
--- a/debian/control
+++ b/debian/control
@@ -5,7 +5,13 @@ Section: science
Priority: optional
Build-Depends: debhelper (>= 9),
dh-autoreconf,
- libmems-1.6-1-dev
+ javahelper,
+ default-jdk,
+ ant,
+ libbytecode-java,
+ libcommons-cli-java,
+ libdbus-java,
+ libjebl2-java
Standards-Version: 3.9.6
Vcs-Browser: http://anonscm.debian.org/viewvc/debian-med/trunk/packages/mauve/
Vcs-Svn: svn://anonscm.debian.org/debian-med/trunk/packages/mauve/trunk/
@@ -13,7 +19,6 @@ Homepage: http://darlinglab.org/mauve/
Package: mauve
Architecture: any
-Section: science
Depends: ${shlibs:Depends},
${misc:Depends}
Description: multiple genome alignment
diff --git a/debian/get-orig-source b/debian/get-orig-source
new file mode 100755
index 0000000..dd75520
--- /dev/null
+++ b/debian/get-orig-source
@@ -0,0 +1,39 @@
+#!/bin/sh
+# get source for mauve from SVN because there is no source tarball distribution
+
+set -e
+NAME=`dpkg-parsechangelog | awk '/^Source/ { print $2 }'`
+
+if ! echo $@ | grep -q upstream-version ; then
+ VERSION=`dpkg-parsechangelog | awk '/^Version:/ { print $2 }' | sed 's/\([0-9\.]\+\)-[0-9]\+$/\1/'`
+else
+ VERSION=`echo $@ | sed "s?^.*--upstream-version \([0-9.]\+\) .*${NAME}.*?\1?"`
+ if echo "$VERSION" | grep -q "upstream-version" ; then
+ echo "Unable to parse version number"
+ exit
+ fi
+fi
+
+SVNURI="svn://svn.code.sf.net/p/mauve/code/mauve/trunk"
+revision=`LANG=C svn info ${SVNURI} | grep "^Last Changed Rev:" | sed 's/Last Changed Rev: *//'`
+VERSION=`echo ${VERSION}| sed "s/+[0-9]\+$//"`+${revision}
+
+TARDIR=${NAME}-${VERSION}
+
+mkdir -p ../tarballs
+cd ../tarballs
+# svn export conserves time stamps of the files, checkout does not
+LC_ALL=C svn export ${SVNURI} ${TARDIR} >/dev/null 2>/dev/null
+
+cd ${TARDIR}
+rm -rf osx win32 win64
+rm -rf linux-x64/* linux-x86/*
+find . -name "*ant*.jar" -delete
+find . -name "*bytecode*.jar" -delete
+find . -name "*commons-cli*.jar" -delete
+find . -name "*dbus*.jar" -delete
+find . -name "*jebl*.jar" -delete
+cd ..
+
+tar --owner=root --group=root --mode=a+rX -caf "$NAME"_"$VERSION".orig.tar.xz "${TARDIR}"
+rm -rf "${NAME}"-"$VERSION"
diff --git a/debian/install b/debian/install
new file mode 100644
index 0000000..0e291bb
--- /dev/null
+++ b/debian/install
@@ -0,0 +1,2 @@
+debian/bin usr
+Mauve.jar /usr/share/java
diff --git a/debian/patches/build_xml.patch b/debian/patches/build_xml.patch
new file mode 100644
index 0000000..a7fbd35
--- /dev/null
+++ b/debian/patches/build_xml.patch
@@ -0,0 +1,279 @@
+Author: Andreas Tille <tille at debian.org>
+Last-Updated: Fri, 17 Apr 2015 15:38:22 +0200
+Description: Drop OSX specific things from build.xml,
+ Prevent build from calling home at build time
+
+--- a/build.xml
++++ b/build.xml
+@@ -19,7 +19,6 @@
+ -->
+ <!-- deployment locations for standalone releases -->
+ <property name="deploy.address" value="darlini8 at darlinglab.org" />
+- <property name="deploy.bareaddress" value="darlinglab.org" />
+ <property name="deploy.username" value="darlini8" />
+ <property name="deploy.win32.keyfile" value="C:\Documents and Settings\koadman\plonk.ppk" />
+ <property name="deploy.serverdir" value="/home3/darlini8/www/mauve/downloads" />
+@@ -44,14 +43,6 @@
+ <!-- get any environment variables -->
+ <property environment="env" />
+
+- <!-- osxant.jar creates Mac OS X disk images -->
+- <taskdef name="dmg" classname="com.amberarcher.ant.osx.DmgTask">
+- <classpath>
+- <pathelement path="${support}/osxant.jar"/>
+- </classpath>
+- </taskdef>
+- <!-- maverick-ant.jar supports secure FTP for deployment -->
+- <taskdef name="ssh" classname="com.sshtools.ant.Ssh" classpath="${support}/maverick-ant.jar"/>
+ <taskdef resource="net/sf/antcontrib/antcontrib.properties">
+ <classpath>
+ <pathelement path="${support}/ant-contrib-1.0b3.jar"/>
+@@ -189,7 +180,7 @@
+ <copy todir="C:\htdocs" file="./jws/mauve.jnlp" />
+ </target>
+
+- <target name="dist" depends="jar,getChangeLog" description="generate the distribution" >
++ <target name="dist" depends="jar" description="generate the distribution" >
+ <!-- Create the distribution directory -->
+ <mkdir dir="${dist}" />
+
+@@ -225,141 +216,6 @@
+ classname="com.oracle.appbundler.AppBundlerTask"
+ classpath="build_support/appbundler-1.0.jar" />
+
+-<!-- Create a DMG - This only works on MacOSX (requires hdiutil) -->
+-<target name="dmg" depends="macdist" description="Create a DMG package for MacOSX (only works on MacOSX)">
+-
+- <!-- Set this property value to your application name -->
+- <property name="app.name" value="Mauve-${release.version}"/>
+-
+- <!-- Set this property value to a directory where you can
+- mount temporarily your images, for example /tmp -->
+- <property name="mountdir" value="/tmp"/>
+-
+- <!-- Delete previously created DMG -->
+- <delete file="${dist}/${app.name}.dmg" quiet="yes" failonerror="false"/>
+-
+- <!-- Create a temporary Disk Image -->
+- <exec executable="/usr/bin/hdiutil" os="Mac OS X" failonerror="true">
+- <arg value="create"/>
+- <arg value="-srcfolder"/>
+- <arg value="staging"/>
+- <arg value="-volname"/>
+- <arg value="${app.name}"/>
+- <arg value="-ov"/>
+- <arg value="${dist}/${app.name}-tmp.dmg"/>
+- <arg value="-format"/>
+- <arg value="UDRW"/>
+- </exec>
+-
+- <!-- Attach the temporary image -->
+- <exec executable="/usr/bin/hdiutil" os="Mac OS X" failonerror="true">
+- <arg value="attach"/>
+- <arg value="${dist}/${app.name}-tmp.dmg"/>
+- <arg value="-mountroot"/>
+- <arg value="${mountdir}/"/>
+- </exec>
+-
+- <!-- Copy the background, the volume icon and DS_Store files -->
+- <mkdir dir="${mountdir}/${app.name}/.background"/>
+- <copy file="osx/background.png" tofile="${mountdir}/${app.name}/.background/background.png" overwrite="true"/>
+- <copy file="osx/mauve.icns" tofile="${mountdir}/${app.name}/.VolumeIcon.icns" overwrite="true"/>
+- <copy file="osx/DS_Store" tofile="${mountdir}/${app.name}/.DS_Store" overwrite="true"/>
+-
+-
+- <!-- Indicate that we want a custom icon -->
+- <exec executable="SetFile" os="Mac OS X">
+- <arg value="-a"/>
+- <arg value="C"/>
+- <arg value="${mountdir}/${app.name}"/>
+- </exec>
+-
+- <!-- Add a symbolic link to the Applications directory -->
+- <symlink link="${mountdir}/${app.name}" resource="/Applications"/>
+-
+-
+-
+- <!-- Detach the temporary image -->
+- <exec executable="/usr/bin/hdiutil" os="Mac OS X" failonerror="true">
+- <arg value="detach"/>
+- <arg value="${mountdir}/${app.name}"/>
+- </exec>
+-
+- <!-- Compress it to a new image -->
+- <exec executable="/usr/bin/hdiutil" os="Mac OS X" failonerror="true">
+- <arg value="convert"/>
+- <arg value="${dist}/${app.name}-tmp.dmg"/>
+- <arg value="-format"/>
+- <arg value="UDZO"/>
+- <arg value="-o"/>
+- <arg value="${dist}/${app.name}.dmg"/>
+- </exec>
+-
+- <!-- Delete the temporary image -->
+- <delete file="${dist}/${app.name}-tmp.dmg" quiet="yes" failonerror="false"/>
+-</target>
+-
+-
+- <!-- Create an OS X application and disk image -->
+- <target name="macdist" depends="jar,getChangeLog" description="Generate a Mac OS X disk image" >
+- <!-- Create the distribution directory -->
+- <mkdir dir="${dist}" />
+- <delete dir="${dist}/Mauve.app"/>
+-
+- <!-- get the java home -->
+- <exec executable="/usr/libexec/java_home" os="Mac OS X" failonerror="true" outputproperty="osx.java.home"/>
+- <bundleapp outputdirectory="${dist}"
+- name="Mauve"
+- displayname="Mauve ${release.version}"
+- identifier="components.Mauve"
+- icon="osx/mauve.icns"
+- shortversion="${release.version}"
+- copyright="(c) 2003-2015 http://darlinglab.org/mauve"
+- mainclassname="org.gel.mauve.gui.Mauve">
+- <classpath file="Mauve.jar" />
+- <classpath file="ext/*.jar" />
+- <librarypath file="osx/progressiveMauve" />
+- <librarypath file="osx/mauveAligner" />
+- <runtime dir="${osx.java.home}" />
+- <option value="-Dapple.laf.useScreenMenuBar=false"/>
+- <option value="-Xmx500m"/>
+- </bundleapp>
+-
+- <!-- Create a staging directory for the Disk Image filesystem -->
+- <mkdir dir="staging"/>
+- <exec executable="ditto" failonerror="true">
+- <arg value="-v"/>
+- <arg value="${dist}/Mauve.app"/>
+- <arg value="staging/Mauve.app"/>
+- </exec>
+- <copy todir="staging">
+- <fileset dir="${basedir}">
+- <include name="ChangeLog.html"/>
+- </fileset>
+- </copy>
+-
+- <!-- copy text files to the staging directory, adding .txt
+- to their filename -->
+- <copy todir="staging">
+- <fileset dir="${basedir}">
+- <include name="COPYING"/>
+- </fileset>
+- <mapper type="glob" from="*" to="*.txt"/>
+- </copy>
+- <chmod file="staging/Mauve.app/Contents/MacOS/JavaAppLauncher" perm="755"/>
+- <chmod file="staging/Mauve.app/Contents/MacOS/mauveAligner" perm="755"/>
+- <chmod file="staging/Mauve.app/Contents/MacOS/progressiveMauve" perm="755"/>
+-
+-<!-- sign the app -->
+-<exec executable="/usr/bin/codesign" os="Mac OS X" failonerror="true">
+- <arg value="-s"/>
+- <arg value="Developer ID Application: Aaron Darling"/>
+- <arg value="--deep"/>
+- <arg value="staging/Mauve.app"/>
+-</exec>
+-<!---->
+-
+-<!-- <dmg destfile="${dist}/Mauve-${release.version}.dmg" name="Mauve ${release.version}" srcdir="staging" compressed="true"/> -->
+- </target>
+
+ <target name="srcdist" depends="init" description="package a source distribution">
+ <tar destfile="${dist}/mauve_source_${datestamp}.tar.gz" compression="gzip">
+@@ -384,27 +240,6 @@
+ </tar>
+ </target>
+
+- <target name="getChangeLog" >
+- <get src="http://darlinglab.org/mauve/user-guide/versions.html" dest="ChangeLog.html" usetimestamp="true"/>
+- <copy file="ChangeLog.html" tofile="ChangeLog"/>
+- </target>
+-
+- <target name="nsicompile" depends="jar,getChangeLog" description="make windows installer" >
+-
+- <!-- create output directory -->
+- <mkdir dir="${dist}" />
+-
+- <!-- Make timestamp and timestampdash for installer making -->
+- <property environment="env" />
+- <echo message="Program files: ${env.ProgramFiles}"/>
+- <exec executable="C:\Program Files (x86)\NSIS\makensis.exe" dir=".">
+- <arg line="/V2 /NOCD win32\mauve.nsi" />
+- <env key="release_version" value="${release.version}" />
+- <env key="datestamp" value="${datestamp}" />
+- </exec>
+- </target>
+-
+-
+ <target name="run" depends="jar" description="run Mauve">
+ <java jar="Mauve.jar" fork="true" />
+ </target>
+@@ -439,68 +274,8 @@
+ </filterset>
+ </copy>
+
+- <!-- copy unmodified files to the server -->
+- <ssh host="${deploy.bareaddress}"
+- username="${deploy.username}"
+- version="2"
+- keyfile="${deploy.win32.keyfile}">
+- <sftp action="put" remotedir="${deploy.asapdir}" verbose="true" newer="true">
+- <fileset dir=".">
+- <include name="Mauve.jar" />
+- <include name="mauveApplet.jar" />
+- </fileset>
+- <fileset dir="./ext">
+- <include name="*.jar"/>
+- </fileset>
+- <fileset dir="./src/images">
+- <include name="mauve_icon.gif" />
+- <include name="mauve_logo.png" />
+- </fileset>
+- <fileset dir="${dist}">
+- <include name="mauve.jnlp"/>
+- </fileset>
+- </sftp>
+- <!-- set the permissions so others in the group can modify them -->
+- <exec cmd="chgrp annotation ${deploy.asapdir}/*"/>
+- <exec cmd="chmod 664 ${deploy.asapdir}/*"/>
+- <!-- jar files should have the execute bit set -->
+- <exec cmd="chmod 775 ${deploy.asapdir}/*.jar"/>
+- </ssh>
+- </target>
+-
+- <!-- assumes that an ssh key has been registered with the web server -->
+- <target name="deployWin32" depends="nsicompile">
+- <echo file="${dist}\latest" message="${datestamp}"/>
+- <echo file="${dist}\latest.windows" message="${datestamp}"/>
+- <ssh host="${deploy.bareaddress}"
+- username="${deploy.username}"
+- version="2"
+- keyfile="${deploy.win32.keyfile}">
+-
+- <sftp action="put" remotedir="${deploy.serverdir}" verbose="true">
+- <fileset dir="${dist}">
+- <include name="mauve_installer_${release.version}.exe"/>
+- <include name="${dist}\latest"/>
+- <include name="${dist}\latest.windows"/>
+- </fileset>
+- </sftp>
+- <exec cmd="cp ${deploy.serverdir}/mauve_installer_${release.version}.exe ${deploy.serverdir}/mauve_installer_${datestamp}.exe"/>
+- </ssh>
+- </target>
+-
+- <!-- assumes that passwordless ssh authentication has been configured to the web server -->
+- <target name="deployMacOSX" depends="dmg">
+- <exec executable="scp">
+- <arg value="${dist}/Mauve-${release.version}.dmg" />
+- <arg value="${deploy.address}:${deploy.serverdir}" />
+- </exec>
+- <echo file="${dist}/latest.mac" message="${datestamp}"/>
+- <exec executable="scp">
+- <arg value="${dist}/latest.mac" />
+- <arg value="${deploy.address}:${deploy.serverdir}" />
+- </exec>
+ </target>
+-
++
+ <!-- assumes that passwordless ssh authentication has been configured to the web server -->
+ <target name="deployLinux" depends="dist">
+ <exec executable="scp">
diff --git a/debian/patches/debian_classes.patch b/debian/patches/debian_classes.patch
new file mode 100644
index 0000000..2291120
--- /dev/null
+++ b/debian/patches/debian_classes.patch
@@ -0,0 +1,34 @@
+Author: Andreas Tille <tille at debian.org>
+Last-Updated: Fri, 17 Apr 2015 15:38:22 +0200
+Description: Use Debian packaged classes
+
+--- a/build.xml
++++ b/build.xml
+@@ -30,6 +30,7 @@
+ <property name="build" location="bin"/>
+ <property name="dist" location="dist"/>
+ <property name="ext" location="ext"/>
++ <property name="deblib" location="/usr/share/java" />
+ <property name="support" location="build_support"/>
+
+ <!-- Make datestamp for update checks -->
+@@ -78,15 +79,15 @@
+ <javac
+ classpath="
+ ${ext}/core-1.9.2-SNAPSHOT.jar;
+- ${ext}/bytecode-1.9.2-SNAPSHOT.jar;
++ ${deblib}/bytecode.jar;
+ ${ext}/gui-1.9.2-SNAPSHOT.jar;
+- ${ext}/commons-cli-1.2.jar;
++ ${deblib}/commons-cli.jar;
+ ${support}/junit.jar;
+ ${ext}/zeus-jscl.jar;
+ ${ext}/goose.jar;
+ ${ext}/ant-1.7.1.jar;
+- ${ext}/dbus-2.6.jar;
+- ${ext}/jebl-0.4.jar;
++ ${deblib}/dbus.jar;
++ ${deblib}/jebl.jar;
+ ${ext}/unix-0.5.jar"
+ srcdir="${src}"
+ destdir="${build}"
diff --git a/debian/patches/series b/debian/patches/series
new file mode 100644
index 0000000..a204ff7
--- /dev/null
+++ b/debian/patches/series
@@ -0,0 +1,2 @@
+build_xml.patch
+debian_classes.patch
diff --git a/debian/rules b/debian/rules
index e96fdda..9e8409e 100755
--- a/debian/rules
+++ b/debian/rules
@@ -1,21 +1,37 @@
#!/usr/bin/make -f
+# -*- makefile -*-
+# debian/rules file for mauve
+# Andreas Tille <tille at debian.org>
+# GPL
+
+#export DH_VERBOSE=1
+
+PACKAGE := $(shell dpkg-parsechangelog | sed -n 's/^Source: //p')
+
+JAVA_HOME := /usr/lib/jvm/default-java
+
+DEBJAR := /usr/share/java
+CLASS_PATH := $(DEBJAR)/bytecode.jar:$(DEBJAR)/commons-cli.jar:$(DEBJAR)/dbus.jar:$(DEBJAR)/jebl.jar
+
+# to run the test suite
+JAVA := $(JAVA_HOME)/bin/java
+ANT_HOME := /usr/share/ant
+ANT_BIN := $(ANT_HOME)/bin/ant
+ANT_ARGS := -Dcompile.debug=true -Dcompile.optimize=true
%:
- dh $@ --with autoreconf
+ dh $@ --with javahelper
-override_dh_install:
- dh_install
- d-shlibmove --commit \
- --multiarch \
- --devunversioned \
- --exclude-la \
- --movedev debian/tmp/usr/include/* usr/include \
- --movedev "debian/tmp/usr/lib/*/pkgconfig/*.pc" usr/lib/$(DEB_HOST_MULTIARCH)/pkgconfig \
- debian/tmp/usr/lib/*/*.so
+override_dh_auto_clean:
+ echo "Manual cleaning needed since build.xml has no clean target"
+ find . -name "*.class" -delete
+ rm -rf bin dist
+ rm -rf build.number src/version.properties
+ rm -rf Mauve.jar ChangeLog*
-#override_dh_auto_test:
-# echo 'Disable test since some header (gnDNXSource.h) seems to be missing.'
+override_dh_auto_build:
+ # CLASSPATH=$(CLASS_PATH)
+ ant dist
get-orig-source:
. debian/get-orig-source
-
diff --git a/debian/source/format b/debian/source/format
new file mode 100644
index 0000000..163aaf8
--- /dev/null
+++ b/debian/source/format
@@ -0,0 +1 @@
+3.0 (quilt)
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/debian-med/mauve.git
More information about the debian-med-commit
mailing list