Author: onkarshinde-guest Date: 2009-11-23 15:36:14 +0000 (Mon, 23 Nov 2009) New Revision: 11103
Added: trunk/emma-coverage/debian/patches/ trunk/emma-coverage/debian/patches/01_build_fixes.diff trunk/emma-coverage/debian/patches/series Removed: trunk/emma-coverage/debian/dirs Modified: trunk/emma-coverage/build.xml trunk/emma-coverage/core/java13/com/vladium/util/exit/ExitHookManager.java trunk/emma-coverage/debian/ant.properties trunk/emma-coverage/debian/changelog trunk/emma-coverage/debian/control trunk/emma-coverage/debian/rules Log: default-jdk/jre conversion and other fixes Modified: trunk/emma-coverage/build.xml =================================================================== --- trunk/emma-coverage/build.xml 2009-11-23 10:25:34 UTC (rev 11102) +++ trunk/emma-coverage/build.xml 2009-11-23 15:36:14 UTC (rev 11103) @@ -142,7 +142,7 @@ </target> - <target name="timestamp" depends="init, -timestamp.2, -timestamp.3, -timestamp.4, -timestamp.5"> + <target name="timestamp" depends="init, -timestamp.1, -timestamp.2, -timestamp.3, -timestamp.4, -timestamp.5"> </target> <target name="-timestamp.1" depends="init" unless="build.is.dirty" > Modified: trunk/emma-coverage/core/java13/com/vladium/util/exit/ExitHookManager.java =================================================================== --- trunk/emma-coverage/core/java13/com/vladium/util/exit/ExitHookManager.java 2009-11-23 10:25:34 UTC (rev 11102) +++ trunk/emma-coverage/core/java13/com/vladium/util/exit/ExitHookManager.java 2009-11-23 15:36:14 UTC (rev 11103) @@ -11,6 +11,9 @@ import java.util.HashMap; import java.util.Map; +import sun.misc.Signal; +import sun.misc.SignalHandler; + import com.vladium.util.IJREVersion; import com.vladium.util.Property; import com.vladium.emma.IAppConstants; @@ -33,7 +36,18 @@ { if (s_singleton == null) { - s_singleton = new JRE13ExitHookManager (); + if (JRE_1_3_PLUS) + { + s_singleton = new JRE13ExitHookManager (); + } + else if (JRE_SUN_SIGNAL_COMPATIBLE) + { + s_singleton = new SunJREExitHookManager (); + } + else + { + throw new UnsupportedOperationException ("no shutdown hook manager available [JVM: " + Property.getSystemFingerprint () + "]"); + } } return s_singleton; @@ -109,8 +123,130 @@ private final Map /* Runnable->Thread */ m_exitThreadMap; } // end of nested class + + + private static final class SunJREExitHookManager extends ExitHookManager + { + public synchronized boolean addExitHook (final Runnable runnable) + { + if ((runnable != null) && ! m_signalHandlerMap.containsKey (runnable)) + { + final INTSignalHandler handler = new INTSignalHandler (runnable); + + try + { + handler.register (); + m_signalHandlerMap.put (runnable, handler); // TODO: use identity here + + return true; + } + catch (Throwable t) + { + System.out.println ("exception caught while adding a shutdown hook:"); + t.printStackTrace (System.out); + } + } + + return false; + } + public synchronized boolean removeExitHook (final Runnable runnable) + { + if (runnable != null) + { + final INTSignalHandler handler = (INTSignalHandler) m_signalHandlerMap.get (runnable); // TODO: use identity here + if (handler != null) + { + try + { + handler.unregister (); + m_signalHandlerMap.remove (runnable); + + return true; + } + catch (Exception e) + { + System.out.println ("exception caught while removing a shutdown hook:"); + e.printStackTrace (System.out); + } + } + } + + return false; + } + + SunJREExitHookManager () + { + m_signalHandlerMap = new HashMap (); + } + + + private final Map /* Runnable->INTSignalHandler */ m_signalHandlerMap; + + } // end of nested class + + + private static final class INTSignalHandler implements SignalHandler + { + public synchronized void handle (final Signal signal) + { + if (m_runnable != null) + { + try + { + m_runnable.run (); + } + catch (Throwable ignore) {} + } + m_runnable = null; + + if ((m_previous != null) && (m_previous != SIG_DFL) && (m_previous != SIG_IGN)) + { + try + { + // this does not work: + //Signal.handle (signal, m_previous); + //Signal.raise (signal); + + m_previous.handle (signal); + } + catch (Throwable ignore) {} + } + else + { + System.exit (0); + } + } + + INTSignalHandler (final Runnable runnable) + { + m_runnable = runnable; + } + + synchronized void register () + { + m_previous = Signal.handle (new Signal ("INT"), this); + } + + synchronized void unregister () + { +// if (m_previous != null) +// { +// Signal.handle (new Signal ("INT"), m_previous); +// m_previous = null; +// } + + m_runnable = null; + } + + + private Runnable m_runnable; + private SignalHandler m_previous; + + } // end of nested class + + private static ExitHookManager s_singleton; } // end of class -// ---------------------------------------------------------------------------- +// ---------------------------------------------------------------------------- \ No newline at end of file Modified: trunk/emma-coverage/debian/ant.properties =================================================================== --- trunk/emma-coverage/debian/ant.properties 2009-11-23 10:25:34 UTC (rev 11102) +++ trunk/emma-coverage/debian/ant.properties 2009-11-23 15:36:14 UTC (rev 11103) @@ -1,2 +1,4 @@ build.target=1.4 build.target.ant.15.home=/usr/share/ant +app.build.release.tag=debian +app.bug.report.link=http://www.debian.org/Bugs/ Modified: trunk/emma-coverage/debian/changelog =================================================================== --- trunk/emma-coverage/debian/changelog 2009-11-23 10:25:34 UTC (rev 11102) +++ trunk/emma-coverage/debian/changelog 2009-11-23 15:36:14 UTC (rev 11103) @@ -1,3 +1,21 @@ +emma-coverage (2.0.5312+dfsg-3) unstable; urgency=low + + * debian/control + - default-jdk/jre conversion. + - Add cdbs build dependency. + - Add quilt dependency for patches. + - Fix Vcs-* headers. + - Move homepage from description to header. + - Update standards version to 3.8.3. + * debian/rules + - Use cdbs as build tool. Reduces file size a lot. + - Move some ant arguments with static values to ant.properties. + - Add mkdir command in install target. So debian/dirs is not needed now. + * debian/patches/01_build_fixes.diff + - Patch to fix compilation error. + + -- Debian Java Maintainers <pkg-java-maintainers@lists.alioth.debian.org> Mon, 23 Nov 2009 16:16:57 +0530 + emma-coverage (2.0.5312+dfsg-2) unstable; urgency=low * Added xercesImpl.jar and xmlParserAPIs.jar to classpath. Modified: trunk/emma-coverage/debian/control =================================================================== --- trunk/emma-coverage/debian/control 2009-11-23 10:25:34 UTC (rev 11102) +++ trunk/emma-coverage/debian/control 2009-11-23 15:36:14 UTC (rev 11103) @@ -3,17 +3,16 @@ Priority: optional Maintainer: Debian Java Maintainers <pkg-java-maintainers@lists.alioth.debian.org> Uploaders: Marcus Better <mar...@better.se>, Michael Koch <konque...@gmx.de> -Build-Depends: debhelper (>= 5.0.0), ant -Build-Depends-Indep: java-gcj-compat-dev, ant-optional -Standards-Version: 3.7.2 -Homepage: http://emma.sourceforge.net +Build-Depends: debhelper (>= 5.0.0), cdbs, ant, quilt +Build-Depends-Indep: default-jdk, ant-optional +Standards-Version: 3.8.3 Vcs-Svn: svn://svn.debian.org/pkg-java/trunk/emma-coverage Vcs-Browser: http://svn.debian.org/wsvn/pkg-java/trunk/emma-coverage/ +Homepage: http://emma.sourceforge.net Package: libemma-java Architecture: all -Depends: java-gcj-compat-dev | java2-runtime -Suggests: java-virtual-machine +Depends: ${misc:Depends}, default-jre-headless | java2-runtime-headless Description: Java code coverage tool EMMA is a toolkit for measuring and reporting Java code coverage. EMMA distinguishes itself from other tools by going after a Deleted: trunk/emma-coverage/debian/dirs =================================================================== --- trunk/emma-coverage/debian/dirs 2009-11-23 10:25:34 UTC (rev 11102) +++ trunk/emma-coverage/debian/dirs 2009-11-23 15:36:14 UTC (rev 11103) @@ -1 +0,0 @@ -usr/share/java Added: trunk/emma-coverage/debian/patches/01_build_fixes.diff =================================================================== --- trunk/emma-coverage/debian/patches/01_build_fixes.diff (rev 0) +++ trunk/emma-coverage/debian/patches/01_build_fixes.diff 2009-11-23 15:36:14 UTC (rev 11103) @@ -0,0 +1,20 @@ +Index: emma-coverage-2.0.5312+dfsg/core/java12/com/vladium/emma/rt/InstrClassLoader.java +=================================================================== +--- emma-coverage-2.0.5312+dfsg.orig/core/java12/com/vladium/emma/rt/InstrClassLoader.java 2009-11-23 17:56:47.000000000 +0530 ++++ emma-coverage-2.0.5312+dfsg/core/java12/com/vladium/emma/rt/InstrClassLoader.java 2009-11-23 17:57:11.000000000 +0530 +@@ -343,7 +343,7 @@ + // support ProtectionDomains with non-null class source URLs: + // [however, disable anything related to sealing or signing] + +- final CodeSource csrc = new CodeSource (srcURL, null); ++ final CodeSource csrc = new CodeSource (srcURL, (java.security.CodeSigner[])null); + + // allow getPackage() to return non-null on the class we are about to + // define (however, don't bother emulating the original manifest info since +@@ -459,4 +459,4 @@ + private static final URL [] EMPTY_URL_ARRAY = new URL [0]; + + } // end of class +-// ---------------------------------------------------------------------------- +\ No newline at end of file ++// ---------------------------------------------------------------------------- Added: trunk/emma-coverage/debian/patches/series =================================================================== --- trunk/emma-coverage/debian/patches/series (rev 0) +++ trunk/emma-coverage/debian/patches/series 2009-11-23 15:36:14 UTC (rev 11103) @@ -0,0 +1 @@ +01_build_fixes.diff Modified: trunk/emma-coverage/debian/rules =================================================================== --- trunk/emma-coverage/debian/rules 2009-11-23 10:25:34 UTC (rev 11102) +++ trunk/emma-coverage/debian/rules 2009-11-23 15:36:14 UTC (rev 11103) @@ -1,77 +1,31 @@ #!/usr/bin/make -f -VERSION := $(shell head -1 debian/changelog | cut -f2 -d\( | cut -f1 -d\) | cut -f1 -d\- | cut -f1 -d\+) +include /usr/share/cdbs/1/rules/debhelper.mk +include /usr/share/cdbs/1/class/ant.mk +include /usr/share/cdbs/1/rules/patchsys-quilt.mk + +VERSION := $(DEB_UPSTREAM_VERSION) VER_MAJOR := $(shell echo $(VERSION) | cut -f1 -d.) VER_MINOR := $(shell echo $(VERSION) | cut -f2 -d.) -VER_BUILD := $(shell echo $(VERSION) | cut -f3 -d.) +VER_BUILD := $(shell echo $(VERSION) | cut -f3 -d. | cut -f1 -d+) -JAVA_HOME := /usr/lib/jvm/java-gcj -DEB_JARS_BASE := /usr/share/java -JAVACMD := $(JAVA_HOME)/bin/java +JAVA_HOME := /usr/lib/jvm/default-java -DEB_JARS := ant ant-launcher xmlParserAPIs xercesImpl +DEB_JARS := xmlParserAPIs xercesImpl -DEB_CLASSPATH = $(shell for jar in $(DEB_JARS); do \ - if [ -f "$$jar" ]; then echo -n "$${jar}:"; fi; \ - if [ -f "$$jar".jar ]; then echo -n "$${jar}.jar:"; fi; \ - if [ -f $(DEB_JARS_BASE)/"$$jar" ]; then echo -n "$(DEB_JARS_BASE)/$${jar}:"; fi; \ - if [ -f $(DEB_JARS_BASE)/"$$jar".jar ]; then echo -n "$(DEB_JARS_BASE)/$${jar}.jar:"; fi; \ - done; \ - if [ -f "$(JAVA_HOME)/lib/tools.jar" ]; then echo -n "$(JAVA_HOME)/lib/tools.jar"; fi) - -ANT_ARGS := -propertyfile debian/ant.properties \ - -Dapp.major.version=$(VER_MAJOR) \ +DEB_ANT_ARGS := -Dapp.major.version=$(VER_MAJOR) \ -Dapp.minor.version=$(VER_MINOR) \ -Dapp.build.id=$(VER_BUILD) \ - -Dapp.build.release.tag=debian \ - "-Dapp.build.date=$(shell date -R)" \ - -Dapp.bug.report.link=http://www.debian.org/Bugs/ + "-Dapp.build.date=$(shell date -R)" -ANT_INVOKE := $(JAVACMD) -classpath $(DEB_CLASSPATH) \ - org.apache.tools.ant.Main $(ANT_ARGS) - PKGNAME := emma LIBNAME := lib$(PKGNAME)-java INSTALL_DIR := $(CURDIR)/debian/$(LIBNAME) JAVALIB_DIR := $(INSTALL_DIR)/usr/share/java -build: build-stamp -build-stamp: - dh_testdir - $(ANT_INVOKE) - touch build-stamp - -clean: - dh_testdir - dh_testroot - rm -f build-stamp - $(ANT_INVOKE) clean - dh_clean - -install: build - dh_testdir - dh_testroot - dh_clean -k - dh_installdirs - -binary-indep: build install - dh_testdir - dh_testroot - dh_installchangelogs - dh_installdocs - dh_install +install/libemma-java:: + mkdir -p $(JAVALIB_DIR) for j in '' _ant; do \ install -m 644 dist/$(PKGNAME)$$j.jar $(JAVALIB_DIR)/$(PKGNAME)$$j-$(VERSION).jar; \ ln -s $(PKGNAME)$$j-$(VERSION).jar $(JAVALIB_DIR)/$(PKGNAME)$$j.jar; \ done - dh_compress - dh_fixperms - dh_installdeb - dh_gencontrol - dh_md5sums - dh_builddeb - -binary-arch: build install - -binary: binary-indep binary-arch -.PHONY: build clean binary-indep binary-arch binary install _______________________________________________ pkg-java-commits mailing list pkg-java-comm...@lists.alioth.debian.org http://lists.alioth.debian.org/mailman/listinfo/pkg-java-commits