[sikuli] 14/30: Fix the packaging to use maven-debian-helper

Gilles Filippini pini at alioth.debian.org
Mon Nov 4 09:03:02 UTC 2013


This is an automated email from the git hooks/post-receive script.

pini pushed a commit to branch master
in repository sikuli.

commit ea7f753e9167d2b06561d9af6437d45fccdc2c75
Author: Gilles Filippini <pini at debian.org>
Date:   Thu Oct 31 16:33:45 2013 +0100

    Fix the packaging to use maven-debian-helper
---
 debian/control                         |   21 ++++----
 debian/libsikuli-script-doc.install    |    3 +-
 debian/libsikuli-script-java.install   |    9 +++-
 debian/libsikuli-script-java.poms      |    3 ++
 debian/libsikuli-script-jni.install.in |    2 +-
 debian/maven.cleanIgnoreRules          |    1 +
 debian/maven.ignoreRules               |    2 +
 debian/maven.ignoreRules.real          |    2 +
 debian/maven.ignoreRules.resolv        |    6 +++
 debian/maven.properties                |    3 ++
 debian/maven.publishedRules            |    6 +++
 debian/maven.rules                     |   11 ++++
 debian/rules                           |   92 +++++++++++++++++---------------
 debian/sikuli-ide.install              |    2 +-
 debian/sikuli-ide.poms                 |    1 +
 debian/tmp.poms                        |    6 +++
 16 files changed, 111 insertions(+), 59 deletions(-)

diff --git a/debian/control b/debian/control
index 8ba521a..11bcf68 100644
--- a/debian/control
+++ b/debian/control
@@ -3,17 +3,18 @@ Section: java
 Priority: extra
 Maintainer: Debian Java maintainers <pkg-java-maintainers at lists.alioth.debian.org>
 Uploaders: Gilles Filippini <pini at debian.org>
-Build-Depends: debhelper (>= 8.1.3~), javahelper, default-jdk (>= 1:1.6), cmake, jython, libopencv-dev, libcommons-cli-java, junit, libswing-layout-java, libswingx-java, libjxgrabkey-java, libjgoodies-forms-java, libjson-simple-java, libmac-widgets-java, zip, exuberant-ctags, libtesseract-dev, swig,
+Build-Depends: debhelper (>= 8.1.3~), cdbs, default-jdk (>= 1:1.6), maven-debian-helper, libmaven-exec-plugin-java, jython, junit, swig,
+ libopencv-dev, libtesseract-dev, libjxgrabkey-java, libcommons-cli-java, junit, libswing-layout-java, libswingx-java, libjgoodies-forms-java, libjson-simple-java, libmac-widgets-java,
  default-jdk-doc, jython-doc, junit-doc, libswing-layout-java-doc, libswingx-java-doc, libjxgrabkey-doc, libjgoodies-forms-java-doc, libjson-simple-doc, libmac-widgets-doc,
- python-sphinx
-Standards-Version: 3.9.3
+ quilt, apt-file, devscripts
+Standards-Version: 3.9.4
 Homepage: http://sikuli.org
-Vcs-Git: git://anonscm.debian.org/collab-maint/sikuli.git
-Vcs-Browser: http://anonscm.debian.org/gitweb/?p=collab-maint/sikuli.git;a=summary
+Vcs-Git: git://anonscm.debian.org/pkg-java/sikuli.git
+Vcs-Browser: http://anonscm.debian.org/gitweb/?p=pkg-java/sikuli.git;a=summary
 
 Package: sikuli-ide
 Architecture: all
-Depends: ${java:Depends}, ${misc:Depends}, default-jre (>= 1:1.6) | java6-runtime, libsikuli-script-java, junit, libswingx-java, libswing-layout-java
+Depends: ${maven:Depends}, ${misc:Depends}, default-jre (>= 1:1.6) | java6-runtime, libsikuli-script-java, junit, libswingx-java, libswing-layout-java
 Description: IDE to develop sikuli scripts and use them as junit test cases
  Sikuli mixes image recognition into jython scripting to automate
  interactions with graphical user interfaces.
@@ -29,7 +30,7 @@ Description: IDE to develop sikuli scripts and use them as junit test cases
 
 Package: libsikuli-script-java
 Architecture: all
-Depends: ${java:Depends}, ${misc:Depends}, default-jre (>= 1:1.6) | java6-runtime, libsikuli-script-jni, jython, wmctrl, xdotool, tesseract-ocr-eng
+Depends: ${maven:Depends}, ${misc:Depends}, default-jre (>= 1:1.6) | java6-runtime, libsikuli-script-jni, jython, wmctrl, xdotool, tesseract-ocr-eng, python
 Suggests: libsikuli-script-doc
 Description: Visual scripting API for jython
  Sikuli mixes image recognition into Jython scripting to automate
@@ -46,7 +47,7 @@ Architecture: any
 Multi-Arch: same
 Pre-Depends: ${misc:Pre-Depends}
 Depends: ${shlibs:Depends}, ${misc:Depends}
-Description: Native libs for libsikuli-java
+Description: Native libs for libsikuli-script-java
  Sikuli mixes image recognition into jython scripting to automate
  interactions with graphical user interfaces.
  .
@@ -56,8 +57,8 @@ Description: Native libs for libsikuli-java
 Package: libsikuli-script-doc
 Section: doc
 Architecture: all
-Depends: ${misc:Depends}, libjs-sphinxdoc
-Recommends: default-jdk-doc, jython-doc, junit-doc, libswing-layout-java-doc, libjxgrabkey-doc, libjson-simple-doc, libmac-widgets-doc
+Depends: ${misc:Depends}
+Recommends: ${maven:DocDepends}
 Description: Documentation for libsikuli-script-java
  Sikuli mixes image recognition into jython scripting to automate
  interactions with graphical user interfaces.
diff --git a/debian/libsikuli-script-doc.install b/debian/libsikuli-script-doc.install
index d90ef49..6f7db1e 100644
--- a/debian/libsikuli-script-doc.install
+++ b/debian/libsikuli-script-doc.install
@@ -1,2 +1 @@
-sikuli-script/doc/* usr/share/doc/libsikuli-script-doc/api
-docs/build/html usr/share/doc/libsikuli-script-doc/docs
+doc/* usr/share/doc/libsikuli-script-doc/api
diff --git a/debian/libsikuli-script-java.install b/debian/libsikuli-script-java.install
index db1e89e..b50d83d 100644
--- a/debian/libsikuli-script-java.install
+++ b/debian/libsikuli-script-java.install
@@ -1 +1,8 @@
-sikuli-script/src/main/python/sikuli usr/share/sikuli/Lib
+usr/share/maven-repo/org/sikuli/SikuliX-Basics
+usr/share/maven-repo/org/sikuli/SikuliX-Jython
+usr/share/maven-repo/org/sikuli/SikuliX-API
+usr/share/java/SikuliX-Basics*.jar
+usr/share/java/SikuliX-Jython*.jar
+usr/share/java/SikuliX-API*.jar
+basics/src/main/resources/Lib usr/share/sikuli
+jython/src/main/resources/scripts usr/share/sikuli
diff --git a/debian/libsikuli-script-java.poms b/debian/libsikuli-script-java.poms
new file mode 100644
index 0000000..9e8bb49
--- /dev/null
+++ b/debian/libsikuli-script-java.poms
@@ -0,0 +1,3 @@
+basics/pom.xml --no-parent --java-lib
+jython/pom.xml --no-parent --java-lib
+api/pom.xml --no-parent --java-lib
diff --git a/debian/libsikuli-script-jni.install.in b/debian/libsikuli-script-jni.install.in
index 410ed24..4fe0a97 100644
--- a/debian/libsikuli-script-jni.install.in
+++ b/debian/libsikuli-script-jni.install.in
@@ -1 +1 @@
-sikuli-script/target/lib/* usr/lib/@DEB_HOST_MULTIARCH@/jni
+vision-proxy/dist/@DEB_HOST_GNU_TYPE@/* usr/lib/@DEB_HOST_MULTIARCH@/jni
diff --git a/debian/maven.cleanIgnoreRules b/debian/maven.cleanIgnoreRules
new file mode 100644
index 0000000..8b13789
--- /dev/null
+++ b/debian/maven.cleanIgnoreRules
@@ -0,0 +1 @@
+
diff --git a/debian/maven.ignoreRules b/debian/maven.ignoreRules
new file mode 100644
index 0000000..ed3a4fb
--- /dev/null
+++ b/debian/maven.ignoreRules
@@ -0,0 +1,2 @@
+
+com.melloware jintellitype jar * * *
diff --git a/debian/maven.ignoreRules.real b/debian/maven.ignoreRules.real
new file mode 100644
index 0000000..ed3a4fb
--- /dev/null
+++ b/debian/maven.ignoreRules.real
@@ -0,0 +1,2 @@
+
+com.melloware jintellitype jar * * *
diff --git a/debian/maven.ignoreRules.resolv b/debian/maven.ignoreRules.resolv
new file mode 100644
index 0000000..f3f5e17
--- /dev/null
+++ b/debian/maven.ignoreRules.resolv
@@ -0,0 +1,6 @@
+com.melloware jintellitype jar * * *
+com.explodingpixels mac_widgets jar * * *
+org.python jython-standalone jar * * *
+org.sikuli SikuliX-Basics jar * * *
+org.sikuli SikuliX-Jython jar * * *
+org.sikuli SikuliX-API jar * * *
diff --git a/debian/maven.properties b/debian/maven.properties
new file mode 100644
index 0000000..37dea91
--- /dev/null
+++ b/debian/maven.properties
@@ -0,0 +1,3 @@
+# Include here properties to pass to Maven during the build.
+# For example:
+# maven.test.skip=true
diff --git a/debian/maven.publishedRules b/debian/maven.publishedRules
new file mode 100644
index 0000000..bffa9dc
--- /dev/null
+++ b/debian/maven.publishedRules
@@ -0,0 +1,6 @@
+
+org.sikuli SikuliX-API jar * * *
+org.sikuli SikuliX-IDE jar * * *
+org.sikuli SikuliX-Jython jar * * *
+org.sikuli SikuliX-VisionProxy jar * * *
+org.sikuli SikuliX pom * * *
diff --git a/debian/maven.rules b/debian/maven.rules
new file mode 100644
index 0000000..926fb5f
--- /dev/null
+++ b/debian/maven.rules
@@ -0,0 +1,11 @@
+com.jgoodies s/common/jgoodies-common/ jar s/1\..*/1.x/ * *
+com.jgoodies s/forms/jgoodies-forms/ jar s/.*/debian/ * *
+org.sikuli SikuliX-API jar * * *
+org.sikuli SikuliX-Basics jar * * *
+org.sikuli SikuliX-IDE jar * * *
+org.sikuli SikuliX-Jython jar * * *
+org.sikuli SikuliX-VisionProxy jar * * *
+org.sikuli SikuliX pom * * *
+s/org\.swinglabs\.swingx/org.swinglabs/ swingx-core jar s/1\..*/1.x/ * *
+junit junit * s/3\..*/3.x/ * *
+junit junit * s/4\..*/4.x/ * *
diff --git a/debian/rules b/debian/rules
index f28087c..4cbe17b 100755
--- a/debian/rules
+++ b/debian/rules
@@ -1,54 +1,58 @@
 #!/usr/bin/make -f
 
-%:
-	dh $@ --with javahelper
-
-override_dh_auto_configure:
-	sed "s/@DEB_HOST_MULTIARCH@/$(DEB_HOST_MULTIARCH)/" debian/libsikuli-script-jni.install.in > debian/libsikuli-script-jni.install
-	# Time stamp to prevent re-generation
-	touch ./sikuli-script/src/main/native/org_sikuli_script_VDictProxy.h
-
-override_dh_auto_clean:
-	rm -fr \
-		sikuli-script/build \
-		sikuli-script/target/*.jar \
-		sikuli-script/target/classes \
-		sikuli-script/target/lib \
-		sikuli-script/target/jar \
-		sikuli-script/doc \
-		sikuli-ide/build \
-		sikuli-ide/target/*.jar \
-		sikuli-ide/target/classes \
-		sikuli-ide/target/linux/Sikuli-IDE/*.jar \
-		sikuli-ide/target/linux/Sikuli-IDE/classes \
-		sikuli-ide/target/linux/Sikuli-IDE/libs \
-		sikuli-ide/target/jar \
-		lib
+# Handle the case when the clean rule is triggered before the patches are
+# applied and the parent pom created
+clean::
+	[ -f pom.xml ] || touch pom.xml
+	[ -f vision-proxy/pom.xml ] || touch vision-proxy/pom.xml
+
+# CDBS + debian-maven-helper
+include /usr/share/cdbs/1/rules/debhelper.mk
+include /usr/share/cdbs/1/class/maven.mk
+
+# Honor dpkg-buildflags
+export CPPFLAGS=$(shell dpkg-buildflags --get CPPFLAGS)
+export CXXFLAGS=$(shell dpkg-buildflags --get CXXFLAGS)
+export LDFLAGS=$(shell dpkg-buildflags --get LDFLAGS)
+
+JAVA_HOME := /usr/lib/jvm/default-java
+DEB_MAVEN_DOC_TARGET :=
+
+# As I understand it, maven-debian-helper expect the jar / pom files to
+# belong to only one binary package. Here we have two java binary packages.
+# So we tell maven-debian-helper the java package name is tmp to install
+# into debian/tmp.
+DEB_JAR_PACKAGE := tmp
+
+export VP_CONFIGURE_FLAGS=--build=$(DEB_BUILD_GNU_TYPE) --host=$(DEB_HOST_GNU_TYPE)
+
+configure/libsikuli-script-jni::
+	[ -z "$(DEB_FAIL)" ]
+	sed "s/@DEB_HOST_MULTIARCH@/$(DEB_HOST_MULTIARCH)/g;s/@DEB_HOST_GNU_TYPE@/$(DEB_HOST_GNU_TYPE)/g" debian/libsikuli-script-jni.install.in > debian/libsikuli-script-jni.install
+
+clean::
+	-cd vision-proxy && chmod a+x compile  config.guess  config.sub  configure  depcomp  install-sh  ltmain.sh  missing runConfigure
 	rm -f debian/libsikuli-script-jni.install
+	cp debian/maven.ignoreRules.real debian/maven.ignoreRules
+
+# ${maven:Depends} for each package
+# Unsing specific maven.ignoreRules to avoid a failure at the first unresolved dependency
+install/sikuli-ide::
+	cp debian/maven.ignoreRules.resolv debian/maven.ignoreRules
+	mh_resolve_dependencies --non-interactive --offline -psikuli-ide  --base-directory=$(CURDIR) --non-explore
+	cp debian/maven.ignoreRules.real debian/maven.ignoreRules
+
+install/libsikuli-script-java::
+	cp debian/maven.ignoreRules.resolv debian/maven.ignoreRules
+	mh_resolve_dependencies --non-interactive --offline -plibsikuli-script-java --javadoc --base-directory=$(CURDIR) --non-explore
+	cp debian/maven.ignoreRules.real debian/maven.ignoreRules
 
-override_dh_auto_build:
-	mkdir sikuli-script/build sikuli-ide/build
-	cd sikuli-script/build && cmake ..
-	make -C sikuli-script/build
-	cd sikuli-ide/build && cmake ..
-	make -C sikuli-ide/build app
-	javadoc -windowtitle "Javadoc of Sikuli Script" -sourcepath sikuli-script/src/main/java:sikuli-script/build -d sikuli-script/doc/ -classpath lib:/usr/share/java/jython.jar \
+# Generate doc the good old way
+install/libsikuli-script-doc::
+	javadoc -windowtitle "Javadoc of Sikuli Script" -sourcepath basics/src/main/java:jython/src/main/java:api/src/main/java -d debian/tmp/doc/ -classpath lib:/usr/share/java/jython.jar \
 		-link /usr/share/doc/default-jdk-doc/api \
 		-link /usr/share/doc/jython-doc/api-html \
 		-link /usr/share/doc/junit-doc/doc/api \
 		-link /usr/share/doc/libswing-layout-java-doc/api \
 		-link /usr/share/doc/libjxgrabkey-java/api \
 		org.sikuli.script
-	make -C docs html
-
-override_jh_build:
-	# no-op
-
-override_dh_auto_install:
-	mkdir -p debian/libsikuli-script-java/usr/bin
-	install sikuli-script/target/sikuli-script.sh debian/libsikuli-script-java/usr/bin/sikuli
-	
-	mkdir -p debian/sikuli-ide/usr/bin
-	install sikuli-ide/target/linux/Sikuli-IDE/sikuli-ide.sh debian/sikuli-ide/usr/bin/sikuli-ide
-	
-	dh_install
diff --git a/debian/sikuli-ide.install b/debian/sikuli-ide.install
index 0f24126..d6afd03 100644
--- a/debian/sikuli-ide.install
+++ b/debian/sikuli-ide.install
@@ -1 +1 @@
-sikuli-ide/target/sikuli-ide.jar usr/share/sikuli
+usr/share/java/SikuliX-IDE.jar usr/share/sikuli
diff --git a/debian/sikuli-ide.poms b/debian/sikuli-ide.poms
new file mode 100644
index 0000000..ec1eca6
--- /dev/null
+++ b/debian/sikuli-ide.poms
@@ -0,0 +1 @@
+ide/pom.xml --no-parent --java-lib
diff --git a/debian/tmp.poms b/debian/tmp.poms
new file mode 100644
index 0000000..97b79df
--- /dev/null
+++ b/debian/tmp.poms
@@ -0,0 +1,6 @@
+pom.xml
+vision-proxy/pom.xml --no-parent
+basics/pom.xml --no-parent --java-lib
+jython/pom.xml --no-parent --java-lib
+api/pom.xml --no-parent --java-lib
+ide/pom.xml --no-parent --java-lib

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-java/sikuli.git



More information about the pkg-java-commits mailing list