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

apo-guest pushed a commit to branch master
in repository robocode.

commit 0db9dcc473082d901259b80a9fed0b35abb2f053
Author: Chris Lamb <[email protected]>
Date:   Tue Feb 9 17:09:46 2010 +0000

    Imported Debian patch 1.6.2+dfsg-3
---
 debian/README.Debian-source                        |   9 +
 debian/changelog                                   |  80 +++++++
 debian/codesize/Codesize.java                      |  81 +++++++
 debian/compat                                      |   1 +
 debian/control                                     |  34 +++
 debian/copyright                                   | 246 +++++++++++++++++++++
 debian/manpages/robocode.1                         |  28 +++
 debian/misc/compiler.properties                    |   8 +
 debian/misc/missing-documentation.html             |  16 ++
 debian/misc/robocode                               |  44 ++++
 debian/patches/01-use-sensible-browser.diff        |  16 ++
 .../02-use-versions.txt-from-usr-share-doc.diff    |  18 ++
 .../patches/03-point-api-help-to-robocode-doc.diff |  43 ++++
 debian/patches/04-link-to-local-docs.diff          |  17 ++
 debian/patches/05-codesize-jar.diff                |  52 +++++
 debian/patches/06-update-manager.diff              |  16 ++
 debian/patches/series                              |   6 +
 debian/robocode-doc.install                        |   1 +
 debian/robocode.desktop                            |   9 +
 debian/robocode.install                            |   9 +
 debian/robocode.manpages                           |   1 +
 debian/rules                                       |  81 +++++++
 debian/source/format                               |   1 +
 debian/watch                                       |   3 +
 24 files changed, 820 insertions(+)

diff --git a/debian/README.Debian-source b/debian/README.Debian-source
new file mode 100644
index 0000000..168516a
--- /dev/null
+++ b/debian/README.Debian-source
@@ -0,0 +1,9 @@
+Robocode README for Debian
+==========================
+
+The upstream Robocode tarball has been repacked from .zip to .tar.gz. CVS
+directories and the Jikes .jars were removed during this process.
+
+One can use the 'upstream' target in debian/rules to replicate the process.
+
+ -- Chris Lamb <[email protected]>  Fri, 21 Dec 2007 02:49:03 +0000
diff --git a/debian/changelog b/debian/changelog
new file mode 100644
index 0000000..e038288
--- /dev/null
+++ b/debian/changelog
@@ -0,0 +1,80 @@
+robocode (1.6.2+dfsg-3) unstable; urgency=low
+
+  * Update debian/watch regex. Thanks to Rafal Krypa <[email protected]>.
+    (Closes: #551876)
+  * Bump Standards-Version to 3.8.4
+  * Switch to dpkg-source 3.0 (quilt) format
+    - Add all context to diffs as quilt format does not permit any fuzz.
+  * Depend on default-jdk-doc instead of classpath-doc and update patches and
+    links to match. (Closes: #567292)
+
+ -- Chris Lamb <[email protected]>  Tue, 09 Feb 2010 17:09:46 +0000
+
+robocode (1.6.2+dfsg-2) unstable; urgency=low
+
+  * Add "java2-runtime" as an alternate Depends for people still using
+    sun-java6-jdk. (Closes: #545225)
+  * Bump Standards-Version to 3.8.3.
+
+ -- Chris Lamb <[email protected]>  Sun, 06 Sep 2009 21:45:49 +0100
+
+robocode (1.6.2+dfsg-1) unstable; urgency=low
+
+  * Repack tarball without codesize.jar (Closes: #527979)
+    - Add libbcel-java to Build-Depends-Indep and binary Depends.
+    - Patch build.xml to use bcel.jar over codesize.jar.
+    - Add a shim codesize layer to use libbcel-java to calculate robot size.
+    - Add dversionmangle line to debian/watch.
+  * Add patch to disable update manager.
+  * Update location of Git repositories.
+  * Don't refer to versionless /usr/share/common-licenses/GPL.
+  * Bump Standards-Version to 3.8.1.
+  * Move to debhelper 7.
+    - Add ${misc:Depends} to robocode-doc's Depends.
+
+ -- Chris Lamb <[email protected]>  Sun, 10 May 2009 12:51:55 +0100
+
+robocode (1.6.2-1) unstable; urgency=low
+
+  * New upstream release.
+  * New maintainer email address.
+  * Move ant from Build-Depends-Indep to Build-Depends so that it's satisfied
+    in clean target.
+  * Refresh 01-use-sensible-browser.diff.
+  * Move from (C) and (c) to "©" in debian/copyright to please Lintian.
+
+ -- Chris Lamb <[email protected]>  Tue, 06 Jan 2009 08:52:35 +0000
+
+robocode (1.6.1~beta2-2) unstable; urgency=low
+
+  * Build-Depend on classpath-doc and patch upstream's build.xml to link
+    documentation there instead of on the web to prevent FTBFS when building
+    with no internet connection (Closes: #494222)
+
+ -- Chris Lamb <[email protected]>  Fri, 08 Aug 2008 22:21:12 +0100
+
+robocode (1.6.1~beta2-1) unstable; urgency=low
+
+  * New upstream release.
+  * Depend on openjdk6-jre instead of sun-javaX-jre - upload to main.
+  * Tidy /usr/bin/robocode wrapper and add support for openjdk-6-jre.
+  * Remove "Encoding" key from robocode.desktop.
+  * debian/control:
+    - Bump Standards-Version to 3.8.0.
+    - Move imagemagick to Build-Depends-Indep.
+  * Move to quilt patch system.
+  * Rename 'upstream' target in debian/rules to 'get-orig-source'.
+
+ -- Chris Lamb <[email protected]>  Wed, 16 Jul 2008 13:30:35 +0100
+
+robocode (1.6.0~beta2-1) unstable; urgency=low
+
+  * New upstream release.
+
+ -- Chris Lamb <[email protected]>  Fri, 18 Apr 2008 23:44:46 +0100
+
+robocode (1.5.2-1) unstable; urgency=low
+
+  * Initial release. (Closes: #455519)
+
+ -- Chris Lamb <[email protected]>  Thu, 24 Jan 2008 19:37:42 +0000
diff --git a/debian/codesize/Codesize.java b/debian/codesize/Codesize.java
new file mode 100644
index 0000000..6fb0703
--- /dev/null
+++ b/debian/codesize/Codesize.java
@@ -0,0 +1,81 @@
+package codesize;
+
+import java.io.*;
+import java.util.*;
+import java.util.zip.*;
+import org.apache.bcel.classfile.*;
+
+public class Codesize
+{
+  static byte buf[] = new byte[2048];
+  static ByteArrayOutputStream bufOutputStream = new ByteArrayOutputStream();
+
+  public static class Item {
+    int ttlCodeSize;
+
+    Item(int ttlCodeSize) {
+      this.ttlCodeSize = ttlCodeSize;
+    }
+
+    public int getCodeSize() { return ttlCodeSize; }
+  }
+
+  static int processClassInputStream(InputStream inputStream, String filename)
+    throws IOException
+  {
+    int result = 0;
+
+    ClassParser classParser = new ClassParser(inputStream, filename);
+    Method methods[] = classParser.parse().getMethods();
+    for(int i=0; i<methods.length; i++) {
+      Code code = methods[i].getCode();
+      if(code != null)
+        result += code.getCode().length;
+    }
+
+    return result;
+  }
+
+  public static Item processZipFile(File zipFile)
+  {
+    try {
+      ZipInputStream inputStream = new ZipInputStream(
+        new BufferedInputStream(new FileInputStream(zipFile))
+      );
+      try {
+        return processZipFile(zipFile, inputStream);
+      } finally {
+        inputStream.close();
+      }
+    } catch(IOException e) {
+      System.err.println("Ignoring " + zipFile + ": " + e.getMessage());
+    }
+    return null;
+  }
+
+  public static Item processZipFile(File zipFile, ZipInputStream inputStream)
+    throws IOException
+  {
+    int ttlCodeSize = 0;
+
+    ZipEntry zipEntry;
+    while((zipEntry = inputStream.getNextEntry()) != null) {
+      if(zipEntry.getName().toLowerCase().endsWith(".class")) {
+      bufOutputStream.reset();
+        int nRead;
+        while((nRead = inputStream.read(buf, 0, buf.length)) > -1)
+          bufOutputStream.write(buf, 0, nRead);
+
+        ttlCodeSize += processClassInputStream(
+          new ByteArrayInputStream(bufOutputStream.toByteArray()),
+          zipEntry.getName()
+        );
+      }
+    }
+
+    if(ttlCodeSize == 0)
+      throw new IOException("total code size is 0");
+
+    return new Item(ttlCodeSize);
+  }
+}
diff --git a/debian/compat b/debian/compat
new file mode 100644
index 0000000..7f8f011
--- /dev/null
+++ b/debian/compat
@@ -0,0 +1 @@
+7
diff --git a/debian/control b/debian/control
new file mode 100644
index 0000000..07e468b
--- /dev/null
+++ b/debian/control
@@ -0,0 +1,34 @@
+Source: robocode
+Section: games
+Priority: optional
+Maintainer: Chris Lamb <[email protected]>
+Build-Depends: debhelper (>= 7), quilt, ant
+Build-Depends-Indep: java-gcj-compat-dev, imagemagick, default-jdk-doc, 
libbcel-java
+Standards-Version: 3.8.4
+Homepage: http://robocode.sf.net/
+Vcs-Git: git://git.chris-lamb.co.uk/debian/pkg-robocode.git
+Vcs-Browser: http://git.chris-lamb.co.uk/?p=debian/pkg-robocode.git
+
+Package: robocode
+Architecture: all
+Depends: ${misc:Depends}, openjdk-6-jre | java2-runtime, libbcel-java
+Recommends: java2-compiler | openjdk-6-jdk | java-gcj-compat-dev
+Suggests: robocode-doc
+Description: Java programming game based on battle tanks
+ Robocode is a Java programming game where the goal is to develop a robot
+ battle tank to battle against other tanks. The robot battles are running in
+ real-time and on-screen. The motto of Robocode is: Build the best, destroy
+ the rest!
+
+Package: robocode-doc
+Architecture: all
+Depends: ${misc:Depends}
+Suggests: robocode
+Section: doc
+Description: Java programming game based on battle tanks (documentation)
+ Robocode is a Java programming game where the goal is to develop a robot
+ battle tank to battle against other tanks. The robot battles are running in
+ real-time and on-screen. The motto of Robocode is: Build the best, destroy
+ the rest!
+ .
+ This package contains Javadoc HTML documentation.
diff --git a/debian/copyright b/debian/copyright
new file mode 100644
index 0000000..071b79b
--- /dev/null
+++ b/debian/copyright
@@ -0,0 +1,246 @@
+This package was debianized by Chris Lamb <[email protected]> on
+Fri, 21 Dec 2007 16:33:32 +0000.
+
+It was downloaded from <http://robocode.sf.net/>.
+
+Upstream Authors:
+
+   Matthew A. Nelson and Robocode contributors.
+
+License:
+
+   Copyright © 2001, 2007  Matthew A. Nelson and Robocode contributors
+   Copyright © 2003, 2007  Albert Perez and RoboRumble contributors
+
+
+Common Public License Version 1.0
+
+       THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS COMMON
+       PUBLIC LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF
+       THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT.
+
+       1. DEFINITIONS
+
+       "Contribution" means:
+
+       a) in the case of the initial Contributor, the initial code and
+       documentation distributed under this Agreement, and
+
+       b) in the case of each subsequent Contributor:
+
+       i) changes to the Program, and
+
+       ii) additions to the Program;
+
+       where such changes and/or additions to the Program originate from and
+       are distributed by that particular Contributor. A Contribution
+       'originates' from a Contributor if it was added to the Program by such
+       Contributor itself or anyone acting on such Contributor's behalf.
+       Contributions do not include additions to the Program which: (i) are
+       separate modules of software distributed in conjunction with the Program
+       under their own license agreement, and (ii) are not derivative works of
+       the Program.
+
+       "Contributor" means any person or entity that distributes the Program.
+
+       "Licensed Patents " mean patent claims licensable by a Contributor which
+       are necessarily infringed by the use or sale of its Contribution alone
+       or when combined with the Program.
+
+       "Program" means the Contributions distributed in accordance with this
+       Agreement.
+
+       "Recipient" means anyone who receives the Program under this Agreement,
+       including all Contributors.
+
+       2. GRANT OF RIGHTS
+
+       a) Subject to the terms of this Agreement, each Contributor hereby
+       grants Recipient a non-exclusive, worldwide, royalty-free copyright
+       license to reproduce, prepare derivative works of, publicly display,
+       publicly perform, distribute and sublicense the Contribution of such
+       Contributor, if any, and such derivative works, in source code and
+       object code form.
+
+       b) Subject to the terms of this Agreement, each Contributor hereby
+       grants Recipient a non-exclusive, worldwide, royalty-free patent license
+       under Licensed Patents to make, use, sell, offer to sell, import and
+       otherwise transfer the Contribution of such Contributor, if any, in
+       source code and object code form. This patent license shall apply to the
+       combination of the Contribution and the Program if, at the time the
+       Contribution is added by the Contributor, such addition of the
+       Contribution causes such combination to be covered by the Licensed
+       Patents. The patent license shall not apply to any other combinations
+       which include the Contribution. No hardware per se is licensed
+       hereunder.
+
+       c) Recipient understands that although each Contributor grants the
+       licenses to its Contributions set forth herein, no assurances are
+       provided by any Contributor that the Program does not infringe the
+       patent or other intellectual property rights of any other entity. Each
+       Contributor disclaims any liability to Recipient for claims brought by
+       any other entity based on infringement of intellectual property rights
+       or otherwise. As a condition to exercising the rights and licenses
+       granted hereunder, each Recipient hereby assumes sole responsibility to
+       secure any other intellectual property rights needed, if any. For
+       example, if a third party patent license is required to allow Recipient
+       to distribute the Program, it is Recipient's responsibility to acquire
+       that license before distributing the Program.
+
+       d) Each Contributor represents that to its knowledge it has sufficient
+       copyright rights in its Contribution, if any, to grant the copyright
+       license set forth in this Agreement.
+
+       3. REQUIREMENTS
+
+       A Contributor may choose to distribute the Program in object code form
+       under its own license agreement, provided that:
+
+       a) it complies with the terms and conditions of this Agreement; and
+
+       b) its license agreement:
+
+       i) effectively disclaims on behalf of all Contributors all warranties
+       and conditions, express and implied, including warranties or conditions
+       of title and non-infringement, and implied warranties or conditions of
+       merchantability and fitness for a particular purpose;
+
+       ii) effectively excludes on behalf of all Contributors all liability for
+       damages, including direct, indirect, special, incidental and
+       consequential damages, such as lost profits;
+
+       iii) states that any provisions which differ from this Agreement are
+       offered by that Contributor alone and not by any other party; and
+
+       iv) states that source code for the Program is available from such
+       Contributor, and informs licensees how to obtain it in a reasonable
+       manner on or through a medium customarily used for software exchange.
+
+       When the Program is made available in source code form:
+
+       a) it must be made available under this Agreement; and
+
+       b) a copy of this Agreement must be included with each copy of the
+       Program.
+
+       Contributors may not remove or alter any copyright notices contained
+       within the Program.
+
+       Each Contributor must identify itself as the originator of its
+       Contribution, if any, in a manner that reasonably allows subsequent
+       Recipients to identify the originator of the Contribution.
+
+       4. COMMERCIAL DISTRIBUTION
+
+       Commercial distributors of software may accept certain responsibilities
+       with respect to end users, business partners and the like. While this
+       license is intended to facilitate the commercial use of the Program, the
+       Contributor who includes the Program in a commercial product offering
+       should do so in a manner which does not create potential liability for
+       other Contributors. Therefore, if a Contributor includes the Program in
+       a commercial product offering, such Contributor ("Commercial
+       Contributor") hereby agrees to defend and indemnify every other
+       Contributor ("Indemnified Contributor") against any losses, damages and
+       costs (collectively "Losses") arising from claims, lawsuits and other
+       legal actions brought by a third party against the Indemnified
+       Contributor to the extent caused by the acts or omissions of such
+       Commercial Contributor in connection with its distribution of the
+       Program in a commercial product offering. The obligations in this
+       section do not apply to any claims or Losses relating to any actual or
+       alleged intellectual property infringement. In order to qualify, an
+       Indemnified Contributor must: a) promptly notify the Commercial
+       Contributor in writing of such claim, and b) allow the Commercial
+       Contributor to control, and cooperate with the Commercial Contributor
+       in, the defense and any related settlement negotiations. The Indemnified
+       Contributor may participate in any such claim at its own expense.
+
+       For example, a Contributor might include the Program in a commercial
+       product offering, Product X. That Contributor is then a Commercial
+       Contributor. If that Commercial Contributor then makes performance
+       claims, or offers warranties related to Product X, those performance
+       claims and warranties are such Commercial Contributor's responsibility
+       alone. Under this section, the Commercial Contributor would have to
+       defend claims against the other Contributors related to those
+       performance claims and warranties, and if a court requires any other
+       Contributor to pay any damages as a result, the Commercial Contributor
+       must pay those damages.
+
+       5. NO WARRANTY
+
+       EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS PROVIDED
+       ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
+       EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY WARRANTIES
+       OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR
+       A PARTICULAR PURPOSE. Each Recipient is solely responsible for
+       determining the appropriateness of using and distributing the Program
+       and assumes all risks associated with its exercise of rights under this
+       Agreement, including but not limited to the risks and costs of program
+       errors, compliance with applicable laws, damage to or loss of data,
+       programs or equipment, and unavailability or interruption of operations.
+
+       6. DISCLAIMER OF LIABILITY
+
+       EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT NOR
+       ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT,
+       INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING
+       WITHOUT LIMITATION LOST PROFITS), 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 OR
+       DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED
+       HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
+
+       7. GENERAL
+
+       If any provision of this Agreement is invalid or unenforceable under
+       applicable law, it shall not affect the validity or enforceability of
+       the remainder of the terms of this Agreement, and without further action
+       by the parties hereto, such provision shall be reformed to the minimum
+       extent necessary to make such provision valid and enforceable.
+
+       If Recipient institutes patent litigation against a Contributor with
+       respect to a patent applicable to software (including a cross-claim or
+       counterclaim in a lawsuit), then any patent licenses granted by that
+       Contributor to such Recipient under this Agreement shall terminate as of
+       the date such litigation is filed. In addition, if Recipient institutes
+       patent litigation against any entity (including a cross-claim or
+       counterclaim in a lawsuit) alleging that the Program itself (excluding
+       combinations of the Program with other software or hardware) infringes
+       such Recipient's patent(s), then such Recipient's rights granted under
+       Section 2(b) shall terminate as of the date such litigation is filed.
+
+       All Recipient's rights under this Agreement shall terminate if it fails
+       to comply with any of the material terms or conditions of this Agreement
+       and does not cure such failure in a reasonable period of time after
+       becoming aware of such noncompliance. If all Recipient's rights under
+       this Agreement terminate, Recipient agrees to cease use and distribution
+       of the Program as soon as reasonably practicable. However, Recipient's
+       obligations under this Agreement and any licenses granted by Recipient
+       relating to the Program shall continue and survive.
+
+       Everyone is permitted to copy and distribute copies of this Agreement,
+       but in order to avoid inconsistency the Agreement is copyrighted and may
+       only be modified in the following manner. The Agreement Steward reserves
+       the right to publish new versions (including revisions) of this
+       Agreement from time to time. No one other than the Agreement Steward has
+       the right to modify this Agreement. IBM is the initial Agreement
+       Steward. IBM may assign the responsibility to serve as the Agreement
+       Steward to a suitable separate entity. Each new version of the Agreement
+       will be given a distinguishing version number. The Program (including
+       Contributions) may always be distributed subject to the version of the
+       Agreement under which it was received. In addition, after a new version
+       of the Agreement is published, Contributor may elect to distribute the
+       Program (including its Contributions) under the new version. Except as
+       expressly stated in Sections 2(a) and 2(b) above, Recipient receives no
+       rights or licenses to the intellectual property of any Contributor under
+       this Agreement, whether expressly, by implication, estoppel or
+       otherwise. All rights in the Program not expressly granted under this
+       Agreement are reserved.
+
+       This Agreement is governed by the laws of the State of New York and the
+       intellectual property laws of the United States of America. No party to
+       this Agreement will bring a legal action under this Agreement more than
+       one year after the cause of action arose. Each party waives its rights
+       to a jury trial in any resulting litigation.
+
+The Debian packaging is © 2007, Chris Lamb <[email protected]> and
+is licensed under the GPL, see `/usr/share/common-licenses/GPL-3'.
diff --git a/debian/manpages/robocode.1 b/debian/manpages/robocode.1
new file mode 100644
index 0000000..670dc2b
--- /dev/null
+++ b/debian/manpages/robocode.1
@@ -0,0 +1,28 @@
+.TH ROBOCODE 1 "December 22, 2007"
+
+.SH NAME
+robocode \- Java programming game based on battle tanks.
+
+.SH SYNOPSIS
+.B robocode
+
+.SH DESCRIPTION
+.B robocode
+is a Java programming game, where the goal is to develop a robot battle tank
+to battle against other tanks. The robot battles are running in real-time and
+on-screen. The motto of Robocode is: Build the best, destroy the rest!
+
+.PP
+The first time Robocode is run a small introductory battle commences.
+
+.SH ENVIRONMENT
+.B ROBOCODE
+specifies the location of your robots and various configuration files. If the
+directory does not exist, it will be created and initialised with sample robots
+and battles.
+
+.SH AUTHORS
+Matthew A. Nelson, Albert Perez, Robocode and RoboRumble contributors.
+.PP
+This manual page was written by Chris Lamb <[email protected]>,
+for the Debian project (but may be used by others).
diff --git a/debian/misc/compiler.properties b/debian/misc/compiler.properties
new file mode 100644
index 0000000..f1b0f3e
--- /dev/null
+++ b/debian/misc/compiler.properties
@@ -0,0 +1,8 @@
+
+# Debian default compiler.properties
+#  -- Chris Lamb <[email protected]>  Fri, 21 Dec 2007 16:17:45 +0000
+
+robocode.version=1.5.1
+compiler.options=-deprecation -g
+compiler.classpath=-classpath /usr/share/java/robocode.jar\:robots
+compiler.binary=javac
diff --git a/debian/misc/missing-documentation.html 
b/debian/misc/missing-documentation.html
new file mode 100644
index 0000000..bcf0c3a
--- /dev/null
+++ b/debian/misc/missing-documentation.html
@@ -0,0 +1,16 @@
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd";>
+<html xmlns="http://www.w3.org/1999/xhtml"; lang="en" xml:lang="en">
+<head>
+<title>Missing robocode-doc package</title>
+</head>
+
+<body>
+
+<h1>Missing robocode-doc package</h1>
+
+<p>You should install the <strong>robocode-doc</strong> package to view the 
Robocode API documentation.</p>
+
+<p>Once you have installed it, it will appear at: <a 
href="file:///usr/share/doc/robocode-doc/html/index.html">/usr/share/doc/robocode-doc/html/index.html</a>.</p>
+
+</body>
+</html>
diff --git a/debian/misc/robocode b/debian/misc/robocode
new file mode 100644
index 0000000..9c4f155
--- /dev/null
+++ b/debian/misc/robocode
@@ -0,0 +1,44 @@
+#!/bin/sh
+
+set -eu
+
+ROBOCODE_HOME=${ROBOCODE_HOME:-~/.robocode}
+
+if [ ! -d "${ROBOCODE_HOME}" ];
+then
+       mkdir -p "${ROBOCODE_HOME}/battles"
+       mkdir -p "${ROBOCODE_HOME}/robots"
+       mkdir -p "${ROBOCODE_HOME}/compilers"
+       mkdir -p "${ROBOCODE_HOME}/config"
+       cp /usr/share/robocode/compiler.properties "${ROBOCODE_HOME}/config"
+       ln -s /usr/share/robocode/templates "${ROBOCODE_HOME}/templates"
+       ln -s /usr/share/robocode/robots/sample "${ROBOCODE_HOME}/robots"
+       ln -s /usr/share/robocode/robots/sampleteam "${ROBOCODE_HOME}/robots"
+       ln -s /usr/share/robocode/intro.battle "${ROBOCODE_HOME}/battles"
+       ln -s /usr/share/robocode/CompilerTest.java "${ROBOCODE_HOME}/compilers"
+fi
+
+for JAVA_VERSION in java-6-openjdk java-5-sun java-6-sun
+do
+       BINARY="/usr/lib/jvm/${JAVA_VERSION}/bin/java"
+
+       if [ -x "${BINARY}" ];
+       then
+               ROBOCODE_JAVA="${BINARY}"
+               break
+       fi
+done
+
+if [ -z "${ROBOCODE_JAVA:-}" ];
+then
+       echo "E: Cannot find JRE, exiting.." 1>&2
+       exit 1
+fi
+
+cd "${ROBOCODE_HOME}"
+
+exec ${ROBOCODE_JAVA} \
+       -Xmx512M -Dsun.io.useCanonCaches=false \
+       -cp 
/usr/share/java/robocode.jar:/usr/share/java/bcel.jar:/usr/share/java/cachecleaner.jar
 \
+       robocode.Robocode \
+       "$@"
diff --git a/debian/patches/01-use-sensible-browser.diff 
b/debian/patches/01-use-sensible-browser.diff
new file mode 100644
index 0000000..f8c2553
--- /dev/null
+++ b/debian/patches/01-use-sensible-browser.diff
@@ -0,0 +1,16 @@
+## use-sensible-browser.diff by Chris Lamb <[email protected]>
+##
+## Use Debian's /usr/bin/sensible-browser over Robocode's browser.sh
+
+diff -urNad robocode~/robocode/robocode/manager/BrowserManager.java 
robocode/robocode/robocode/manager/BrowserManager.java
+--- robocode~/robocode/robocode/manager/BrowserManager.java    2007-02-11 
00:40:12.000000000 +0000
++++ robocode/robocode/robocode/manager/BrowserManager.java     2007-12-21 
03:50:19.000000000 +0000
+@@ -32,7 +32,7 @@
+               if 
(System.getProperty("os.name").toLowerCase().startsWith("windows")) {
+                       browserCommand = "rundll32 url.dll, 
FileProtocolHandler";
+               } else {
+-                      browserCommand = "browser.sh";
++                      browserCommand = "sensible-browser";
+               }
+       }
+ 
diff --git a/debian/patches/02-use-versions.txt-from-usr-share-doc.diff 
b/debian/patches/02-use-versions.txt-from-usr-share-doc.diff
new file mode 100644
index 0000000..c4c744a
--- /dev/null
+++ b/debian/patches/02-use-versions.txt-from-usr-share-doc.diff
@@ -0,0 +1,18 @@
+## 02-use-versions.txt-from-usr-share-doc.diff by Chris Lamb 
<[email protected]>
+##
+## Use the versions.txt installed by dh_installchangelogs
+
+diff -urNad robocode~/robocode/robocode/manager/WindowManager.java 
robocode/robocode/robocode/manager/WindowManager.java
+--- robocode.orig/robocode/robocode/manager/WindowManager.java 2010-02-09 
16:48:11.000000000 +0000
++++ robocode/robocode/robocode/manager/WindowManager.java      2010-02-09 
16:48:44.000000000 +0000
+@@ -178,8 +178,7 @@
+ 
+       public void showVersionsTxt() {
+               showInBrowser(
+-                              "file://" + new File(FileUtil.getCwd(), 
"").getAbsoluteFile() + System.getProperty("file.separator")
+-                              + "versions.txt");
++                              "file:///usr/share/doc/robocode/changelog.gz");
+       }
+ 
+       public void showHelpApi() {
+
diff --git a/debian/patches/03-point-api-help-to-robocode-doc.diff 
b/debian/patches/03-point-api-help-to-robocode-doc.diff
new file mode 100644
index 0000000..546e5a0
--- /dev/null
+++ b/debian/patches/03-point-api-help-to-robocode-doc.diff
@@ -0,0 +1,43 @@
+## 03-point-api-help-to-robocode-doc.diff by Chris Lamb 
<[email protected]>
+##
+## Ensure that "Robocode API" entries in the GUI load from the correct place,
+## or display a message detailing how to obtain the documentation.
+
+diff -urNad robocode~/robocode/robocode/manager/WindowManager.java 
robocode/robocode/robocode/manager/WindowManager.java
+--- robocode~/robocode/robocode/manager/WindowManager.java     2007-09-24 
00:31:38.000000000 +0100
++++ robocode/robocode/robocode/manager/WindowManager.java      2007-12-21 
14:56:39.000000000 +0000
+@@ -136,9 +136,12 @@
+       }
+ 
+       public void showHelpApi() {
+-              showInBrowser(
+-                              "file://" + new File(FileUtil.getCwd(), 
"").getAbsoluteFile() + System.getProperty("file.separator")
+-                              + "javadoc" + 
System.getProperty("file.separator") + "index.html");
++              File f = new 
File("/usr/share/doc/robocode-doc/html/index.html");
++              if (f.exists()) {
++                      showInBrowser(f.toString());
++              } else {
++                      
showInBrowser("/usr/share/doc/robocode/html/missing-documentation.html");
++              }
+       }
+ 
+       public void showFaq() {
+diff -urNad robocode~/robocode/robocode/editor/RobocodeEditor.java 
robocode/robocode/robocode/editor/RobocodeEditor.java
+--- robocode~/robocode/robocode/editor/RobocodeEditor.java     2007-11-19 
22:58:58.000000000 +0000
++++ robocode/robocode/robocode/editor/RobocodeEditor.java      2007-12-21 
16:22:07.000000000 +0000
+@@ -763,8 +763,13 @@
+       }
+ 
+       public void showHelpApi() {
+-              String helpurl = "file:" + new File(FileUtil.getCwd(), 
"").getAbsoluteFile() // System.getProperty("user.dir")
+-                              + System.getProperty("file.separator") + 
"javadoc" + System.getProperty("file.separator") + "index.html";
++              String helpurl;
++              File f = new 
File("/usr/share/doc/robocode-doc/html/index.html");
++              if (f.exists()) {
++                      helpurl = "file:" + f.toString();
++              } else {
++                      helpurl = "file:" + 
"/usr/share/doc/robocode/html/missing-documentation.html";
++              }
+ 
+               try {
+                       BrowserManager.openURL(helpurl);
diff --git a/debian/patches/04-link-to-local-docs.diff 
b/debian/patches/04-link-to-local-docs.diff
new file mode 100644
index 0000000..8dc186f
--- /dev/null
+++ b/debian/patches/04-link-to-local-docs.diff
@@ -0,0 +1,17 @@
+## 04-link-to-local-docs.diff by Chris Lamb <[email protected]>
+##
+## Link to the Java documentation from classpath-doc instead of on the web
+## to prevent FTBFS when building with no internet connection.
+
+diff -urNad robocode.orig/build/build.xml robocode/build/build.xml
+--- robocode.orig/build/build.xml      2008-08-08 22:18:41.000000000 +0100
++++ robocode/build/build.xml   2008-08-08 22:19:05.000000000 +0100
+@@ -482,7 +482,7 @@
+         sourcepath="${src.robocode}"
+       excludepackagenames="robocode.*, codesize.*, ar.*"
+         windowtitle="Robocode ${version} API"
+-      link="http://java.sun.com/j2se/1.5.0/docs/api";>
++      link="/usr/share/doc/default-jdk-doc/api/">
+       <fileset dir="${src.robocode}" defaultexcludes="yes">
+         <include name="robocode/*.java"/>
+         <exclude name="robocode/_*.java"/>
diff --git a/debian/patches/05-codesize-jar.diff 
b/debian/patches/05-codesize-jar.diff
new file mode 100644
index 0000000..33845a4
--- /dev/null
+++ b/debian/patches/05-codesize-jar.diff
@@ -0,0 +1,52 @@
+
+ Don't embed a sourceless copy of codesize.jar; use bcel.jar instead.
+
+    -- Chris Lamb <[email protected]>  Sun, 10 May 2009 12:28:18 +0100
+
+diff -urNad /tmp/bp-build/robocode.orig/build/build.xml 
/tmp/bp-build/robocode/build/build.xml
+--- robocode.orig/build/build.xml      2009-05-10 12:22:28.000000000 +0100
++++ robocode/build/build.xml   2009-05-10 12:23:15.000000000 +0100
+@@ -143,11 +143,8 @@
+ 
+     <echo message="Compiling Robocode..."/>
+  
+-      <!-- Copy libs into the build folder -->
+-      <copy file="${src.extract}/libs/codesize.jar" toDir="${build}/libs"/>
+- 
+     <!-- Compile Robocode -->
+-    <compile srcdir="${src.robocode}" destdir="${build}" 
classpath="${build}/libs/codesize.jar"/>
++    <compile srcdir="${src.robocode}" destdir="${build}" 
classpath="bcel.jar"/>
+ 
+     <!-- Flag that Robocode has been built -->
+     <touch file="${build}/.robocode_build"/>
+@@ -217,7 +214,7 @@
+       <echo message="Compiling tests..."/>
+ 
+       <!-- Compile Robocode -->
+-      <compile srcdir="${src.tests}/tests" destdir="${build}/tests" 
classpath="${build}/libs/codesize.jar;${build}/libs/robocode.jar;${src.tests}/libs/junit-4.4.jar"/>
++      <compile srcdir="${src.tests}/tests" destdir="${build}/tests" 
classpath="bcel.jar;${build}/libs/robocode.jar;${src.tests}/libs/junit-4.4.jar"/>
+ 
+       <!-- Flag that Robocode has been built -->
+       <touch file="${build}/.tests_build"/>
+@@ -257,11 +254,8 @@
+ 
+     <echo message="Compiling RoboRumble..."/>
+  
+-      <!-- Copy libs into the build folder -->
+-      <copy file="${src.extract}/libs/codesize.jar" toDir="${build}/libs"/>
+-
+       <!-- Compile RoboRumble -->
+-    <compile srcdir="${src.roborumble}" destdir="${build}" 
classpath="${build}/libs/codesize.jar"/>
++    <compile srcdir="${src.roborumble}" destdir="${build}" 
classpath="bcel.jar"/>
+ 
+     <!-- Flag that RoboRumble has been built -->
+     <touch file="${build}/.roborumble_build"/>
+@@ -443,7 +437,7 @@
+       <classpath>
+           <pathelement location="${build}/tests"/>
+           <pathelement location="${build}/libs/robocode.jar"/>
+-          <pathelement location="${build}/libs/codesize.jar"/>
++          <pathelement location="bcel.jar"/>
+           <pathelement location="${src.tests}/libs/junit-4.4.jar"/>
+       </classpath>
+       <formatter type="plain"/>
diff --git a/debian/patches/06-update-manager.diff 
b/debian/patches/06-update-manager.diff
new file mode 100644
index 0000000..c25693b
--- /dev/null
+++ b/debian/patches/06-update-manager.diff
@@ -0,0 +1,16 @@
+
+ Disable startup update manager.
+
+diff -urNad 
/tmp/bp-build/robocode.orig/robocode/robocode/manager/VersionManager.java 
/tmp/bp-build/robocode/robocode/robocode/manager/VersionManager.java
+--- robocode.orig/robocode/robocode/manager/VersionManager.java        
2009-05-10 12:45:12.000000000 +0100
++++ robocode/robocode/robocode/manager/VersionManager.java     2009-05-10 
12:46:23.000000000 +0100
+@@ -77,6 +77,9 @@
+       public boolean checkForNewVersion(boolean notifyNoUpdate) {
+               URL url;
+ 
++              if (notifyNoUpdate == false)
++                      return false;
++
+               try {
+                       url = new 
URL("http://robocode.sourceforge.net/version/version.html";);
+               } catch (MalformedURLException e) {
diff --git a/debian/patches/series b/debian/patches/series
new file mode 100644
index 0000000..fa6bdfb
--- /dev/null
+++ b/debian/patches/series
@@ -0,0 +1,6 @@
+01-use-sensible-browser.diff
+02-use-versions.txt-from-usr-share-doc.diff
+03-point-api-help-to-robocode-doc.diff
+04-link-to-local-docs.diff
+05-codesize-jar.diff
+06-update-manager.diff
diff --git a/debian/robocode-doc.install b/debian/robocode-doc.install
new file mode 100644
index 0000000..6e8af69
--- /dev/null
+++ b/debian/robocode-doc.install
@@ -0,0 +1 @@
+build/build/javadoc/* usr/share/doc/robocode-doc/html/
diff --git a/debian/robocode.desktop b/debian/robocode.desktop
new file mode 100644
index 0000000..09b4749
--- /dev/null
+++ b/debian/robocode.desktop
@@ -0,0 +1,9 @@
+[Desktop Entry]
+Type=Application
+Name=Robocode
+GenericName=
+Comment=Java programming game based on battle tanks
+Icon=robocode
+Exec=robocode
+Categories=Game;Development;Java;
+Terminal=false
diff --git a/debian/robocode.install b/debian/robocode.install
new file mode 100644
index 0000000..d9819d7
--- /dev/null
+++ b/debian/robocode.install
@@ -0,0 +1,9 @@
+build/build/libs/*.jar usr/share/java
+build/build/robots usr/share/robocode
+robocodeextract/battles/intro.battle usr/share/robocode
+robocodeextract/compilers/CompilerTest.java usr/share/robocode
+robocodeextract/templates usr/share/robocode
+debian/misc/compiler.properties usr/share/robocode
+debian/misc/missing-documentation.html usr/share/doc/robocode/html
+debian/misc/robocode usr/games
+debian/robocode.desktop usr/share/applications
diff --git a/debian/robocode.manpages b/debian/robocode.manpages
new file mode 100644
index 0000000..2fb19fb
--- /dev/null
+++ b/debian/robocode.manpages
@@ -0,0 +1 @@
+debian/manpages/*
diff --git a/debian/rules b/debian/rules
new file mode 100755
index 0000000..dbdc68b
--- /dev/null
+++ b/debian/rules
@@ -0,0 +1,81 @@
+#!/usr/bin/make -f
+
+include /usr/share/quilt/quilt.make
+
+export DH_OPTIONS
+export JAVA_HOME=/usr/lib/jvm/java-gcj
+
+ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS)))
+    export ANT_OPTS=-Dcompile.debug=true -Dcompile.optimize=false
+else
+    export ANT_OPTS=-Dcompile.debug=true -Dcompile.optimize=true
+endif
+
+get-orig-source:
+       # Requires: unzip
+       set -e; VERSION=`dpkg-parsechangelog | awk '/Version:/ {print $$2}' | 
sed 's/-[0-9]*$$//g'`; \
+               REMOTE_VERSION=`echo $$VERSION | sed -e 's/+dfsg//' -e 
's/beta/Beta-/' -e 's/~/-/'`; \
+               TAR=robocode_$$VERSION.orig.tar; \
+               ZIP=robocode-src-$$REMOTE_VERSION.zip; \
+               TEMPDIR=`mktemp -d`; \
+               cd $$TEMPDIR; \
+               mkdir robocode; \
+               cd robocode; \
+               wget 
http://heanet.dl.sourceforge.net/sourceforge/robocode/$$ZIP; \
+               unzip $$ZIP; \
+               find . -depth -type d -name "CVS" | xargs rm -rf; \
+               find . -type f -name "jikes*.jar" | xargs rm -rf; \
+               find . -type f -name "codesize.jar" | xargs rm -rf; \
+               rm $$ZIP ;\
+               cd ..; \
+               tar cvvf $$TAR robocode; \
+               gzip -9 $$TAR; \
+               rm -rf robocode/; \
+               echo "Upstream tarball: $$TEMPDIR/$$TAR.gz"
+
+build: patch build-stamp
+build-stamp:
+       cp -r debian/codesize robocode/
+       ant -f build/build.xml
+       touch $@
+
+clean: unpatch
+       dh_testdir
+       dh_testroot
+       rm -rf build-stamp
+       ant clean -f build/build.xml
+       rm -rf robocode/codesize
+       dh_clean
+
+install: build
+       dh_testdir
+       dh_testroot
+       dh_clean
+       dh_installdirs -i
+       dh_install
+
+       # Create icon for .desktop file
+       mkdir -p debian/robocode/usr/share/pixmaps
+       convert robocode/resources/icons/robocode-icon.png -resize 32x32 \
+               debian/robocode/usr/share/pixmaps/robocode.xpm
+
+       # Remove empty "package-list" files
+       find debian/robocode-doc -type f -size 0 | xargs rm -vf
+
+binary-indep: build install
+       dh_testdir
+       dh_testroot
+       dh_installchangelogs robocode/resources/versions.txt
+       dh_installdocs
+       dh_installman
+       dh_compress
+       dh_fixperms
+       dh_installdeb
+       dh_gencontrol
+       dh_md5sums
+       dh_builddeb
+
+binary-arch:
+
+binary: binary-arch binary-indep
+.PHONY: build clean binary-indep binary-arch binary install patch unpatch 
get-orig-source
diff --git a/debian/source/format b/debian/source/format
new file mode 100644
index 0000000..163aaf8
--- /dev/null
+++ b/debian/source/format
@@ -0,0 +1 @@
+3.0 (quilt)
diff --git a/debian/watch b/debian/watch
new file mode 100644
index 0000000..decb547
--- /dev/null
+++ b/debian/watch
@@ -0,0 +1,3 @@
+version=3
+opts=dversionmangle=s/\+dfsg// \
+http://sf.net/robocode/robocode-([\d\.]+)-src\.zip

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

_______________________________________________
pkg-java-commits mailing list
[email protected]
http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-java-commits

Reply via email to