[med-svn] r19954 - in trunk/packages/libsis-base-java/trunk/debian: . build_native patches

Olivier Sallou osallou at moszumanska.debian.org
Sun Aug 16 07:42:57 UTC 2015


Author: osallou
Date: 2015-08-16 07:42:56 +0000 (Sun, 16 Aug 2015)
New Revision: 19954

Added:
   trunk/packages/libsis-base-java/trunk/debian/build_native/
   trunk/packages/libsis-base-java/trunk/debian/build_native/Makefile.am
   trunk/packages/libsis-base-java/trunk/debian/build_native/configure.ac
   trunk/packages/libsis-base-java/trunk/debian/get-orig-source
   trunk/packages/libsis-base-java/trunk/debian/libsis-base-java.jlibs
   trunk/packages/libsis-base-java/trunk/debian/libsis-base.install
   trunk/packages/libsis-base-java/trunk/debian/patches/fix_tests.patch
   trunk/packages/libsis-base-java/trunk/debian/patches/load_native_debian.patch
Removed:
   trunk/packages/libsis-base-java/trunk/debian/jlibs
Modified:
   trunk/packages/libsis-base-java/trunk/debian/README.Debian
   trunk/packages/libsis-base-java/trunk/debian/changelog
   trunk/packages/libsis-base-java/trunk/debian/control
   trunk/packages/libsis-base-java/trunk/debian/copyright
   trunk/packages/libsis-base-java/trunk/debian/patches/remove_ch_rinn_imports.patch
   trunk/packages/libsis-base-java/trunk/debian/patches/series
   trunk/packages/libsis-base-java/trunk/debian/rules
Log:
add get-orig-source and update rules/patches to compile native libraries, watch file not yet set

Modified: trunk/packages/libsis-base-java/trunk/debian/README.Debian
===================================================================
--- trunk/packages/libsis-base-java/trunk/debian/README.Debian	2015-08-15 18:22:34 UTC (rev 19953)
+++ trunk/packages/libsis-base-java/trunk/debian/README.Debian	2015-08-16 07:42:56 UTC (rev 19954)
@@ -5,3 +5,8 @@
 
 It does not seem to have a web page and does not seem to be used outside of
 internal ETH SIS projects.
+
+
+native libraries are put in /usr/lib/sis-base
+Jar files need "native.libpath" system property to be set to find the library:
+  java ... -Dnative.libpath=/usr/lib/sis-base ...

Added: trunk/packages/libsis-base-java/trunk/debian/build_native/Makefile.am
===================================================================
--- trunk/packages/libsis-base-java/trunk/debian/build_native/Makefile.am	                        (rev 0)
+++ trunk/packages/libsis-base-java/trunk/debian/build_native/Makefile.am	2015-08-16 07:42:56 UTC (rev 19954)
@@ -0,0 +1,7 @@
+AM_CFLAGS=-I/usr/lib/jvm/default-java/include -I/usr/lib/jvm/default-java/include/linux -DMACHINE_BYTE_ORDER=1
+
+lib_LTLIBRARIES = libcisd_unix.la libcisd_nativedata.la
+libcisd_unix_la_SOURCES = unix.c
+#libcisd_unix_la_LD_FLAGS = 
+libcisd_nativedata_la_SOURCES = copyByteChar.c copyByteDouble.c copyByteFloat.c copyByteInt.c copyByteLong.c copyByteShort.c copyCommon.c
+#libcisd_nativedata_la_LDFLAGS = -DMACHINE_BYTE_ORDER=1

Added: trunk/packages/libsis-base-java/trunk/debian/build_native/configure.ac
===================================================================
--- trunk/packages/libsis-base-java/trunk/debian/build_native/configure.ac	                        (rev 0)
+++ trunk/packages/libsis-base-java/trunk/debian/build_native/configure.ac	2015-08-16 07:42:56 UTC (rev 19954)
@@ -0,0 +1,28 @@
+#                                               -*- Autoconf -*-
+# Process this file with autoconf to produce a configure script.
+
+AC_PREREQ([2.69])
+AC_INIT([iscd], [1.14], [osallou at debian.org])
+AC_CONFIG_SRCDIR([copyByteFloat.c])
+AC_CONFIG_HEADERS([config.h])
+AM_INIT_AUTOMAKE
+LT_INIT
+
+# Checks for programs.
+AC_PROG_CC
+
+# Checks for libraries.
+
+# Checks for header files.
+AC_CHECK_HEADERS([string.h unistd.h])
+
+# Checks for typedefs, structures, and compiler characteristics.
+AC_CHECK_MEMBERS([struct stat.st_blksize])
+AC_STRUCT_ST_BLOCKS
+
+# Checks for library functions.
+AC_FUNC_CHOWN
+AC_CHECK_FUNCS([strerror])
+
+AC_CONFIG_FILES([Makefile])
+AC_OUTPUT

Modified: trunk/packages/libsis-base-java/trunk/debian/changelog
===================================================================
--- trunk/packages/libsis-base-java/trunk/debian/changelog	2015-08-15 18:22:34 UTC (rev 19953)
+++ trunk/packages/libsis-base-java/trunk/debian/changelog	2015-08-16 07:42:56 UTC (rev 19954)
@@ -1,5 +1,6 @@
-libsis-base-java (14.12.0-0biolinux1) trusty; urgency=medium
+libsis-base-java (14.12.0-1) UNRELEASED; urgency=medium
 
-  * Build for Trusty
+  [ Team upload]
+  * First package (Closes: #TODO)
 
  -- Tim Booth <tbooth at ceh.ac.uk>  Wed, 12 Aug 2015 12:15:17 +0100

Modified: trunk/packages/libsis-base-java/trunk/debian/control
===================================================================
--- trunk/packages/libsis-base-java/trunk/debian/control	2015-08-15 18:22:34 UTC (rev 19953)
+++ trunk/packages/libsis-base-java/trunk/debian/control	2015-08-16 07:42:56 UTC (rev 19954)
@@ -1,15 +1,28 @@
 Source: libsis-base-java
 Section: java
 Priority: extra
-Maintainer: Tim Booth <tbooth at ceh.ac.uk>
+Maintainer: Debian Med Packaging Team <debian-med-packaging at lists.alioth.debian.org>
+Uploaders: Tim Booth <tbooth at ceh.ac.uk>, Olivier Sallou <osallou at debian.org>
 Build-Depends: debhelper (>= 9), default-jdk, javahelper,
                libcommons-lang-java,
                libcommons-io-java,
-               testng
-Standards-Version: 3.9.5
+               testng,
+               autotools-dev, dh-autoreconf, libtool
+Standards-Version: 3.9.6
+Homepage: http://svncisd.ethz.ch/repos/cisd/base/tags/release/14.12.x/14.12.0/base
+Vcs-Svn: svn://anonscm.debian.org/debian-med/trunk/packages/libsis-base-java/trunk/
+Vcs-Browser: http://anonscm.debian.org/viewvc/debian-med/trunk/packages/libsis-base-java/trunk/
 
+
 Package: libsis-base-java
 Architecture: all
-Depends: ${misc:Depends}, ${java:Depends}
+Depends: ${misc:Depends}, ${java:Depends}, libsis-base
 Description: Base libraries used by software from the SIS division at ETH Zurich
  This library supplies some utility classes needed for libraries like sis-jhdf5
+
+Package: libsis-base
+Architecture: any
+Section: libs
+Depends: ${misc:Depends}, ${shlibs:Depends}
+Description: Native libraries used by libsis-base-java
+ Those library are called via JNI by linsis-base-java jar files.

Modified: trunk/packages/libsis-base-java/trunk/debian/copyright
===================================================================
--- trunk/packages/libsis-base-java/trunk/debian/copyright	2015-08-15 18:22:34 UTC (rev 19953)
+++ trunk/packages/libsis-base-java/trunk/debian/copyright	2015-08-16 07:42:56 UTC (rev 19954)
@@ -10,5 +10,9 @@
  License in ‘/usr/share/common-licenses/Apache-2.0’.
 
 Files: debian/*
-Copyright: © Tim Booth <tbooth at ceh.ac.uk>
-License: Whatever
+Copyright: 2015 Tim Booth <tbooth at ceh.ac.uk>
+           2015 Olivier Sallou <osallou at debian.org>
+License: GPL-3
+ On Debian systems, the full text of the GNU General Public
+ License version 3 can be found in the file
+ `/usr/share/common-licenses/GPL-3'

Added: trunk/packages/libsis-base-java/trunk/debian/get-orig-source
===================================================================
--- trunk/packages/libsis-base-java/trunk/debian/get-orig-source	                        (rev 0)
+++ trunk/packages/libsis-base-java/trunk/debian/get-orig-source	2015-08-16 07:42:56 UTC (rev 19954)
@@ -0,0 +1,17 @@
+#!/bin/bash
+
+set -e
+
+PKG=`dpkg-parsechangelog | awk '/^Source/ { print $2 }'`
+
+VERSION=`dpkg-parsechangelog | awk '/^Version:/ { print $2 }' | sed 's/\([0-9\.]\+\)-[0-9]\+$/\1/'`
+
+cd ..
+mkdir -p tarballs
+cd tarballs
+
+svn export http://svncisd.ethz.ch/repos/cisd/base/tags/release/14.12.x/14.12.0/base ${PKG}-${VERSION}
+
+GZIP="--best --no-name" tar --owner=root --group=root --mode=a+rX --exclude-vcs -caf "$PKG"_"$VERSION".orig.tar.xz "$PKG"-"$VERSION"
+rm -rf "$PKG"-"$VERSION"
+


Property changes on: trunk/packages/libsis-base-java/trunk/debian/get-orig-source
___________________________________________________________________
Added: svn:executable
   + *

Deleted: trunk/packages/libsis-base-java/trunk/debian/jlibs
===================================================================
--- trunk/packages/libsis-base-java/trunk/debian/jlibs	2015-08-15 18:22:34 UTC (rev 19953)
+++ trunk/packages/libsis-base-java/trunk/debian/jlibs	2015-08-16 07:42:56 UTC (rev 19954)
@@ -1 +0,0 @@
-*.jar

Copied: trunk/packages/libsis-base-java/trunk/debian/libsis-base-java.jlibs (from rev 19953, trunk/packages/libsis-base-java/trunk/debian/jlibs)
===================================================================
--- trunk/packages/libsis-base-java/trunk/debian/libsis-base-java.jlibs	                        (rev 0)
+++ trunk/packages/libsis-base-java/trunk/debian/libsis-base-java.jlibs	2015-08-16 07:42:56 UTC (rev 19954)
@@ -0,0 +1 @@
+sis-base.jar

Added: trunk/packages/libsis-base-java/trunk/debian/libsis-base.install
===================================================================
--- trunk/packages/libsis-base-java/trunk/debian/libsis-base.install	                        (rev 0)
+++ trunk/packages/libsis-base-java/trunk/debian/libsis-base.install	2015-08-16 07:42:56 UTC (rev 19954)
@@ -0,0 +1 @@
+source/c/.libs/lib*.so.* usr/lib/sis-base/

Added: trunk/packages/libsis-base-java/trunk/debian/patches/fix_tests.patch
===================================================================
--- trunk/packages/libsis-base-java/trunk/debian/patches/fix_tests.patch	                        (rev 0)
+++ trunk/packages/libsis-base-java/trunk/debian/patches/fix_tests.patch	2015-08-16 07:42:56 UTC (rev 19954)
@@ -0,0 +1,65 @@
+Subject: Tests made assumption of locale english language
+Description: some tests checks the Unix error message content,
+ which causes an error when locale is not english. This patch
+ disable those tests.
+ Update also uid/gid tests assuming non root user.
+Forwarded: yes
+Author: Olivier Sallou <osallou at debian.org>
+--- a/sourceTest/java/ch/systemsx/cisd/base/unix/UnixTests.java
++++ b/sourceTest/java/ch/systemsx/cisd/base/unix/UnixTests.java
+@@ -115,7 +115,7 @@
+         assertTrue(info.isSymbolicLink());
+         final Stat info2 = Unix.tryGetFileInfo(s.getAbsolutePath());
+         assertNull(info2);
+-        assertEquals("No such file or directory", Unix.getLastError());
++        //assertEquals("No such file or directory", Unix.getLastError());
+     }
+ 
+     @Test(groups =
+@@ -125,10 +125,10 @@
+         final File s = new File(workingDirectory, "nonExistent");
+         final Stat info = Unix.tryGetLinkInfo(s.getAbsolutePath());
+         assertNull(info);
+-        assertEquals("No such file or directory", Unix.getLastError());
++        //assertEquals("No such file or directory", Unix.getLastError());
+         final Stat info2 = Unix.tryGetFileInfo(s.getAbsolutePath());
+         assertNull(info2);
+-        assertEquals("No such file or directory", Unix.getLastError());
++        //assertEquals("No such file or directory", Unix.getLastError());
+     }
+ 
+     @Test(groups =
+@@ -164,14 +164,14 @@
+         { "requires_unix" })
+     public void testGetUid()
+     {
+-        assertTrue(Unix.getUid() > 0);
++        assertTrue(Unix.getUid() >= 0);
+     }
+ 
+     @Test(groups =
+         { "requires_unix" })
+     public void testGetEuid()
+     {
+-        assertTrue(Unix.getEuid() > 0);
++        assertTrue(Unix.getEuid() >= 0);
+         assertEquals(Unix.getUid(), Unix.getEuid());
+     }
+ 
+@@ -179,14 +179,14 @@
+         { "requires_unix" })
+     public void testGetGid()
+     {
+-        assertTrue(Unix.getGid() > 0);
++        assertTrue(Unix.getGid() >= 0);
+     }
+ 
+     @Test(groups =
+         { "requires_unix" })
+     public void testGetEgid()
+     {
+-        assertTrue(Unix.getEgid() > 0);
++        assertTrue(Unix.getEgid() >= 0);
+         assertEquals(Unix.getGid(), Unix.getEgid());
+     }
+ 

Added: trunk/packages/libsis-base-java/trunk/debian/patches/load_native_debian.patch
===================================================================
--- trunk/packages/libsis-base-java/trunk/debian/patches/load_native_debian.patch	                        (rev 0)
+++ trunk/packages/libsis-base-java/trunk/debian/patches/load_native_debian.patch	2015-08-16 07:42:56 UTC (rev 19954)
@@ -0,0 +1,17 @@
+Subject: fix way to load native libraries
+Description: upstream loads .so file (not using .so.0 and search in a
+ directory containing specific arch name. Modify it to use .so.0 and
+ search in native.libpath directly.
+--- a/source/java/ch/systemsx/cisd/base/utilities/NativeLibraryUtilities.java
++++ b/source/java/ch/systemsx/cisd/base/utilities/NativeLibraryUtilities.java
+@@ -147,8 +147,8 @@
+ 
+     private static String getLibPath(final String prefix, final String libraryName)
+     {
+-        return String.format("%s/%s/%s/%s%s.%s", prefix, libraryName, OSUtilities
+-                .getCompatibleComputerPlatform(), JNI_LIB_PREFIX, libraryName, JNI_LIB_EXTENSION);
++        return String.format("%s/%cisd_%s.%s.0", prefix,
++                JNI_LIB_PREFIX, libraryName, JNI_LIB_EXTENSION);
+     }
+     
+ }

Modified: trunk/packages/libsis-base-java/trunk/debian/patches/remove_ch_rinn_imports.patch
===================================================================
--- trunk/packages/libsis-base-java/trunk/debian/patches/remove_ch_rinn_imports.patch	2015-08-15 18:22:34 UTC (rev 19953)
+++ trunk/packages/libsis-base-java/trunk/debian/patches/remove_ch_rinn_imports.patch	2015-08-16 07:42:56 UTC (rev 19954)
@@ -1,8 +1,8 @@
 We don't care if the interface is private or public, as it makes no
 difference to the running code.
 I have no idea where the code for this decorator is in any case.
---- a/ch/systemsx/cisd/base/unix/Unix.java
-+++ b/ch/systemsx/cisd/base/unix/Unix.java
+--- a/source/java/ch/systemsx/cisd/base/unix/Unix.java
++++ b/source/java/ch/systemsx/cisd/base/unix/Unix.java
 @@ -19,7 +19,6 @@
  import java.io.File;
  import java.io.IOException;
@@ -25,3 +25,21 @@
      static boolean isProcessRunningPS(int pid)
      {
          try
+--- a/sourceTest/java/ch/systemsx/cisd/base/unix/UnixTests.java
++++ b/sourceTest/java/ch/systemsx/cisd/base/unix/UnixTests.java
+@@ -24,7 +24,6 @@
+ import org.apache.commons.io.FileUtils;
+ import org.testng.annotations.Test;
+ 
+-import ch.rinn.restrictions.Friend;
+ import ch.systemsx.cisd.base.BuildAndEnvironmentInfo;
+ import ch.systemsx.cisd.base.tests.AbstractFileSystemTestCase;
+ import ch.systemsx.cisd.base.unix.Unix.Group;
+@@ -36,7 +35,6 @@
+  * 
+  * @author Bernd Rinn
+  */
+- at Friend(toClasses = Unix.class)
+ public class UnixTests extends AbstractFileSystemTestCase
+ {
+ 

Modified: trunk/packages/libsis-base-java/trunk/debian/patches/series
===================================================================
--- trunk/packages/libsis-base-java/trunk/debian/patches/series	2015-08-15 18:22:34 UTC (rev 19953)
+++ trunk/packages/libsis-base-java/trunk/debian/patches/series	2015-08-16 07:42:56 UTC (rev 19954)
@@ -1 +1,3 @@
 remove_ch_rinn_imports.patch
+load_native_debian.patch
+fix_tests.patch

Modified: trunk/packages/libsis-base-java/trunk/debian/rules
===================================================================
--- trunk/packages/libsis-base-java/trunk/debian/rules	2015-08-15 18:22:34 UTC (rev 19953)
+++ trunk/packages/libsis-base-java/trunk/debian/rules	2015-08-16 07:42:56 UTC (rev 19954)
@@ -5,15 +5,42 @@
 
 export CLASSPATH=/usr/share/java/commons-lang.jar:/usr/share/java/commons-io.jar:/usr/share/java/testng.jar
 
+DPKG_EXPORT_BUILDFLAGS = 1
+include /usr/share/dpkg/buildflags.mk
+
+get-orig-source:
+	. debian/get-orig-source
+
 %:
 	dh $@ --with javahelper
 
+override_dh_auto_configure:
+	cp debian/build_native/* source/c
+	cd source/c && autoreconf -i
+	dh_auto_configure
+
+#override_dh_auto_install:
+#	cd source/c && make install
+#	dh_auto_install
+
 override_dh_auto_clean:
-	rm -rf src lib build *.jar
+#	cp debian/build_native/* source/c
+#	cd source/c && autoreconf -i && ./configure
+#	cd source/c ; make clean
+	if test -e source/c/Makefile; then cd source/c; make clean; fi
+	rm -rf source/c/configure* source/c/Makefile* source/c/autom4te.cache
+	rm -rf src lib build *.jar test
 	#find test -name '*.class' -delete
 
 override_dh_auto_build:
 	# Avoids jh_build thinking that files in .svn or .pc are things it
 	# needs to compile.
-	mkdir src ; cp -r ch src
+	mkdir src ; cp -r source/java/ch src
 	jh_build sis-base.jar src
+	cd source/c ; ./configure && make
+
+override_dh_auto_test:
+	dh_auto_test
+	mkdir test ; cp -r source/java/ch test ; cp -r sourceTest/java/ch test
+	jh_build sis-base-test.jar test
+	java -Dnative.libpath=source/c/.libs -classpath sis-base-test.jar ch.systemsx.cisd.base.AllTests




More information about the debian-med-commit mailing list