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: