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

