[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: RFC: libescher



Forgot the diff.

cya
Robert

Robert Schuster wrote:
> Hi,
> 
> Arnaud Vandyck wrote:
> 
>>[I replyed from pkg-java-maintainers to debian-java because I prefer
>>pkg-java-maintainers's list to be only for bug reports]
> 
> 
> I will use debian-java for packaging diffs from now on. :)
> 
> 
>>>>The escher source archive (0.2.3) is a bit odd. It contains no separate source
>>>>and has all the class files in it. I tried to fix that in the clean rule. Hope
>>>>that makes sense.
>>
>>That's the way to go.
> 
> 
> Another problem is that the root for the source files is the archive's root
> itself. In other words: It has no separate source folder. Out of knowledge I
> fixed that in the clean rule, too. However that makes the diff pretty big and it
> may be more useful to fix that problem in some kind of compilation-preparation
> step (It is just mkdir src; mv gnu src;)
> 
> 
>>>>+Build-Depends: cdbs, debhelper (>= 4.1.0), java-gcj-compat-dev, ant
>>>>+Standards-Version: 3.6.2
>>
>>
>>Build-Depends: cdbs, debhelper (>= 4.1.0)
>>Build-Depends-Indep: java-gcj-compat-dev, ant
>>Standards-Version: 3.7.2
>>
>>[...]
> 
> Fixed!
> 
> 
>>>>+DEB_JARS := \
>>>>+	ant-launcher
>>
>>
>>I don't think it's needed anymore.
> 
> I am afraid I get NoClassDefFoundErrors without that. However I am building the
> package on an Ubuntu system. Hope that isnt to much of a problem...?
> 
>>>>+# Build compiler
>>>>+DEB_ANT_COMPILER := org.eclipse.jdt.core.JDTCompilerAdapter
>>>>+ifneq (,$(findstring eclipse,$(DEB_ANT_COMPILER)))
>>>>+    DEB_JARS += ecj.jar /usr/share/ant/lib/ecj-adapter.jar
>>>>+endif
>>
>>
>>Isn't it the default compiler?
> 
> Removed that.
> 
> 
>>>>Index: libescher-java/debian/README.Debian-source
>>>>===================================================================
>>>>--- libescher-java/debian/README.Debian-source	(Revision 0)
>>>>+++ libescher-java/debian/README.Debian-source	(Revision 0)
>>>>@@ -0,0 +1,9 @@
>>>>+libescher-java for Debian
>>>>+-------------------------
>>>>+
>>>>+Upstream author provides no separate source-only archive therefore
>>>>+pre-compiled class files and HTML documentation has been removed from the
>>>>+downloaded
>>>>+archive.
>>
>>
>>Great to comment the way you changed the sources.
> 
> Thanks. I extended this info a bit in the current version.
> 
> 
>>Excellent work, I'm ok to sponsor your upload if needed, you can contact
>>me in private (give me an url with orig.tar.gz and .dsc and diff.gz).
> 
> Here are the files:
> http://www.inf.fu-berlin.de/~rschuste/pkg-java/libescher-java_0.2.3.orig.tar.gz
> http://www.inf.fu-berlin.de/~rschuste/pkg-java/libescher-java_0.2.3-1.diff.gz
> http://www.inf.fu-berlin.de/~rschuste/pkg-java/libescher-java_0.2.3-1.dsc
> 
> cya
> Robert
> 

-- 
tarent GmbH
Heilsbachstr. 24, 53123 Bonn  | Poststr. 4-5, 10178 Berlin
fon: +49(228) / 52675-0       | fon: +49(30) / 27594853
fax: +49(228) / 52675-25      | fax: +49(30) / 78709617
Index: libescher-java/debian/control
===================================================================
--- libescher-java/debian/control	(Revision 0)
+++ libescher-java/debian/control	(Revision 0)
@@ -0,0 +1,17 @@
+Source: libescher-java
+Section: libs
+Priority: optional
+Maintainer: Debian Java Maintainers <pkg-java-maintainers@lists.alioth.debian.org>
+Uploaders: Robert Schuster <robert.schuster@tarent.de>
+Build-Depends: cdbs, debhelper (>= 4.1.0)
+Build-Depends-Indep: java-gcj-compat-dev, ant
+Standards-Version: 3.7.2
+
+Package: libescher-java
+Architecture: all
+Depends: java-gcj-compat | java2-runtime
+Description: Implementation of X Window System libraries in Java
+ Escher is a collection of libraries for X Window System written
+ purely in Java. It consists of an X11 protocol implementation
+ (similar to xlib for C/C++), and its extensions such as GLX,
+ the OpenGL rendering protocol.
Index: libescher-java/debian/dirs
===================================================================
--- libescher-java/debian/dirs	(Revision 0)
+++ libescher-java/debian/dirs	(Revision 0)
@@ -0,0 +1 @@
+usr/share/java
Index: libescher-java/debian/compat
===================================================================
--- libescher-java/debian/compat	(Revision 0)
+++ libescher-java/debian/compat	(Revision 0)
@@ -0,0 +1 @@
+4
Index: libescher-java/debian/changelog
===================================================================
--- libescher-java/debian/changelog	(Revision 0)
+++ libescher-java/debian/changelog	(Revision 0)
@@ -0,0 +1,6 @@
+libescher-java (0.2.3-1) unstable; urgency=low
+
+  * Initial release
+
+ -- Robert Schuster <robert.schuster@tarent.de>  Mon, 17 Jul 2006 16:24:53 +0200
+
Index: libescher-java/debian/copyright
===================================================================
--- libescher-java/debian/copyright	(Revision 0)
+++ libescher-java/debian/copyright	(Revision 0)
@@ -0,0 +1,46 @@
+This package was debianized by Robert Schuster <robert.schuster@tarent.de> on
+Mon, 17 Jul 2006 16:24:53 +0200.
+
+It was downloaded from http://escher.sourceforge.net.
+
+Copyright Holder:
+    Roman Kennke (kennke@aicas.com)
+    Stephen Tse (stse@cis.upenn.edu)
+
+License: Dual licensed:
+
+GNU GPL v2.1
+
+On Debian systems, the complete text of the GNU General
+Public License can be found in `/usr/share/common-licenses/GPL'.
+
+and
+
+Copyright (c) 2000-2004, Stephen Tse
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are
+met:
+
+    * Redistributions of source code must retain the above copyright
+      notice, this list of conditions and the following disclaimer.
+    * Redistributions in binary form must reproduce the above
+      copyright notice, this list of conditions and the following
+      disclaimer in the documentation and/or other materials provided
+      with the distribution.
+    * Neither the name of the organization nor the names of its
+      contributors may be used to endorse or promote products derived
+      from this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
Index: libescher-java/debian/docs
===================================================================
--- libescher-java/debian/docs	(Revision 0)
+++ libescher-java/debian/docs	(Revision 0)
@@ -0,0 +1,2 @@
+NEWS
+README
Index: libescher-java/debian/rules
===================================================================
--- libescher-java/debian/rules	(Revision 0)
+++ libescher-java/debian/rules	(Revision 0)
@@ -0,0 +1,27 @@
+#!/usr/bin/make -f
+# debian/rules file for libescher-java (uses cdbs)
+LIBRARY_PACKAGE := escher
+API_VERSION     := 0.2.3
+  
+# Add here any variable or target overrides you need
+include /usr/share/cdbs/1/rules/debhelper.mk
+include /usr/share/cdbs/1/class/ant.mk
+
+JAVA_HOME := /usr/lib/jvm/java-gcj
+ANT_HOME := /usr/share/ant
+
+DEB_JARS= ant-launcher
+
+# Build compiler
+DEB_ANT_BUILDFILE := debian/build.xml
+DEB_ANT_BUILD_TARGET := clean compile
+
+clean::
+	-rm -rf `find gnu -name *.class`
+	-rm -rf doc
+	-mkdir src
+	-mv gnu src
+
+install/lib$(LIBRARY_PACKAGE)-java:: 
+	install -m 644 dist/$(LIBRARY_PACKAGE).jar debian/lib$(LIBRARY_PACKAGE)-java/usr/share/java/$(LIBRARY_PACKAGE)-$(API_VERSION).jar
+	ln -s $(LIBRARY_PACKAGE)-$(API_VERSION).jar debian/lib$(LIBRARY_PACKAGE)-java/usr/share/java/$(LIBRARY_PACKAGE).jar

Eigenschaftsänderungen: libescher-java/debian/rules
___________________________________________________________________
Name: svn:executable
   + *

Index: libescher-java/debian/README.Debian-source
===================================================================
--- libescher-java/debian/README.Debian-source	(Revision 0)
+++ libescher-java/debian/README.Debian-source	(Revision 0)
@@ -0,0 +1,14 @@
+libescher-java for Debian
+-------------------------
+
+Upstream author provides no separate source-only archive therefore
+pre-compiled class files and HTML documentation has been removed from the
+downloaded archive by doing:
+	- rm -f `find gnu -name *.class`
+	- rm -rf doc
+	
+Additionally the archive provides no separate source directory. Not changing
+that would complicate the Ant build step. I decided to create a directory
+named src and move all .java files in there.
+
+ -- Robert Schuster <robert.schuster@tarent.de>, Mon, 17 Jul 2006 16:24:53 +0200
Index: libescher-java/debian/ant.properties
===================================================================
--- libescher-java/debian/ant.properties	(Revision 0)
+++ libescher-java/debian/ant.properties	(Revision 0)
@@ -0,0 +1 @@
+dist.name=escher.jar
Index: libescher-java/debian/build.xml
===================================================================
--- libescher-java/debian/build.xml	(Revision 0)
+++ libescher-java/debian/build.xml	(Revision 0)
@@ -0,0 +1,81 @@
+<project name="not-needed" default="compile" basedir="..">
+<!--
+    Minimal Ant script that might be usable for many Java projects.
+    
+    It exposes two properties which should be set by Debian's ant.properties
+    file:
+    
+    source.home - The directory where the .java file lie (default: src). Override
+		  this when the layout of your project differs.
+    
+    dist.name - The name of the resulting Jar file.
+    
+    The resulting Jar file is always put into the 'dist' directory.
+    
+    Optionally it is possible to specify the source compatibility by
+    setting:
+    
+    compiler.source
+-->    
+
+  <!-- The directory where the source code lies. -->
+  <property name="source.home"             value="src"/>
+
+  <property name="compiler.source" value="1.4"/>
+  
+<!-- Internal properties which are derived from the public ones. -->
+  <property name="source.home.internal"             value="${basedir}/${source.home}"/>
+
+<!--
+  An internal properties which specifies the location of the .class files.
+  This does not need to be changed as .class files are not distributed.
+-->
+  <property name="build.home"             value="${basedir}/target/classes"/>
+
+<!--
+  An internal property which specifies the directory where the final
+  jar will be put. There is no need to change this.
+-->
+  <property name="dist.home"              value="${basedir}/dist"/>
+
+<!-- Compiles source code and jars the results. -->
+ 
+  <target name="prepare" description="Prepare directories">
+    <fail unless="dist.name" message="Property dist.name was not set. FIX THAT before continueing!" />  
+  
+    <mkdir dir="${build.home}"/>    
+    <mkdir dir="${dist.home}"/>
+  </target>
+
+  <target name="compile" depends="prepare">
+    <javac srcdir="${source.home.internal}"
+           destdir="${build.home}"
+           source="${compiler.source}">
+    </javac>
+    
+    <jar jarfile="${dist.home}/${dist.name}"
+         basedir="${build.home}">
+    </jar>
+  </target>
+
+  <target name="clean"
+   description="Clean build and distribution directories">
+    <delete    dir="${build.home}"/>
+    <delete    dir="${dist.home}"/>
+  </target>
+
+<!-- 
+TODO: Implement this
+  <target name="javadoc" depends="prepare"
+   description="Create component Javadoc documentation">    
+	
+	<javadoc sourcepath="${source.home}" 
+		destdir="${build.home}/docs/api" defaultexcludes="yes">
+		<fileset dir="${source.home.internal}" defaultexcludes="yes">
+		<include name="javax/**"/>
+		</fileset>
+    	</javadoc>  
+  </target>
+-->
+
+</project>

Reply to: