diff --git a/COPYING b/COPYING index d159169d10..829ec64179 100644 --- a/COPYING +++ b/COPYING @@ -1,3 +1,7 @@ +This is the license which applies to OpenTTD with the exception of some +3rd party modules. See readme.txt for details + + GNU GENERAL PUBLIC LICENSE Version 2, June 1991 diff --git a/Makefile.bundle.in b/Makefile.bundle.in index f3096eb464..63edb62d97 100644 --- a/Makefile.bundle.in +++ b/Makefile.bundle.in @@ -90,9 +90,9 @@ endif ifeq ($(TTD), openttd.exe) $(Q)unix2dos "$(BUNDLE_DIR)/docs/"* "$(BUNDLE_DIR)/readme.txt" "$(BUNDLE_DIR)/COPYING" "$(BUNDLE_DIR)/changelog.txt" "$(BUNDLE_DIR)/known-bugs.txt" ifeq ($(OS), DOS) - $(Q)cp "$(ROOT_DIR)/os/dos/cwsdpmi.txt" "$(BUNDLE_DIR)/docs/" + $(Q)cp "$(ROOT_DIR)/os/dos/cwsdpmi/cwsdpmi.txt" "$(BUNDLE_DIR)/docs/" ifndef STRIP - $(Q)cp "$(ROOT_DIR)/os/dos/cwsdpmi.exe" "$(TTD_DIR)/" + $(Q)cp "$(ROOT_DIR)/os/dos/cwsdpmi/cwsdpmi.exe" "$(TTD_DIR)/" endif endif endif diff --git a/media/openttd.desktop.in b/media/openttd.desktop.in index 11b3cc6313..c037e3c75b 100644 --- a/media/openttd.desktop.in +++ b/media/openttd.desktop.in @@ -9,3 +9,4 @@ Exec=!!TTD!! Terminal=false Categories=!!MENU_GROUP!! Comment=A clone of Transport Tycoon Deluxe +Keywords=game;simulation;transport;tycoon;deluxe;economics;multiplayer;money;train;ship;bus;truck;aircraft;cargo diff --git a/os/debian/control b/os/debian/control index de22a807ae..54e14ce5d4 100644 --- a/os/debian/control +++ b/os/debian/control @@ -3,11 +3,10 @@ Section: games Priority: optional Maintainer: Matthijs Kooijman Uploaders: Jordi Mallach -DM-Upload-Allowed: yes Build-Depends: debhelper (>= 7.0.50), libsdl-dev, zlib1g-dev, libpng-dev, libfreetype6-dev, libfontconfig-dev, libicu-dev, liblzma-dev, liblzo2-dev Standards-Version: 3.8.4 -Vcs-Browser: http://git.debian.org/?p=collab-maint/openttd.git -Vcs-Git: git://git.debian.org/collab-maint/openttd.git +Vcs-Browser: http://anonscm.debian.org/gitweb/?p=collab-maint/openttd.git +Vcs-Git: git://anonscm.debian.org/collab-maint/openttd.git Homepage: http://www.openttd.org/ Package: openttd diff --git a/os/debian/copyright b/os/debian/copyright index c361d80dd2..be573b4825 100644 --- a/os/debian/copyright +++ b/os/debian/copyright @@ -1,77 +1,106 @@ -This package was debianized by Matthijs Kooijman -on Wed, 15 Sep 2004 00:24:01 +0200. +Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ +Upstream-Name: OpenTTD +Upstream-Contact: info@openttd.org, #openttd on irc.oftc.net +Source: http://www.openttd.org -Upstream author: Ludvig Strigeus (ludde) and many others. -Upstream homepage: http://www.openttd.org -Copyright © 2004-2009 Ludvig Strigeous and others. +Files: * +Copyright: © 2004-2012 Ludvig Strigeous and others. +License: GPL-2.0 + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License version 2.0 as + published by the Free Software Foundation; + . + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + . + You should have received a copy of the GNU General Public License + along with this package; if not, write to the Free Software + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + . + On Debian systems, the complete text of the GNU General Public License + version 2 can be found in `/usr/share/common-licenses/GPL-2'. -OpenTTD License: +Files: src/3rdparty/squirrel/* +Copyright: © 2003-2009 Alberto Demichelis +License: Zlib - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License version 2.0 as - published by the Free Software Foundation; +Files: src/3rdparty/md5/* +Copyright: © 1999, 2000, 2002 Aladdin Enterprises. All rights reserved. +License: Zlib - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - You should have received a copy of the GNU General Public License - along with this package; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +License: Zlib + This software is provided 'as-is', without any express or implied + warranty. In no event will the authors be held liable for any damages + arising from the use of this software. + . + Permission is granted to anyone to use this software for any purpose, + including commercial applications, and to alter it and redistribute it + freely, subject to the following restrictions: + . + 1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software in + a product, an acknowledgment in the product documentation would be + appreciated but is not required. + . + 2. Altered source versions must be plainly marked as such, and must not + be misrepresented as being the original software. + . + 3. This notice may not be removed or altered from any source + distribution. -On Debian systems, the complete text of the GNU General Public License -version 2 can be found in `/usr/share/common-licenses/GPL-2'. +Files: os/dos/exe2coff/* +Copyright: © 1998 DJ Delorie +License: GPL-2.0 with additional restrictions + This document is Copyright (C) DJ Delorie and may be distributed + verbatim, but changing it is not allowed. + . + Source code copyright DJ Delorie is distributed under the terms of the + GNU General Public Licence, with the following exceptions: + . + * Sources used to build crt0.o, gcrt0.o, libc.a, libdbg.a, and + libemu.a are distributed under the terms of the GNU Library General + Public License, rather than the GNU GPL. + . + * Any existing copyright or authorship information in any given source + file must remain intact. If you modify a source file, a notice to that + effect must be added to the authorship information in the source file. + . + * Runtime binaries, as provided by DJ in DJGPP, may be distributed + without sources ONLY if the recipient is given sufficient information + to obtain a copy of djgpp themselves. This primarily applies to + go32-v2.exe, emu387.dxe, and stubedit.exe. + . + * Runtime objects and libraries, as provided by DJ in DJGPP, when + linked into an application, may be distributed without sources ONLY + if the recipient is given sufficient information to obtain a copy of + djgpp themselves. This primarily applies to crt0.o and libc.a. + . + On Debian systems, the complete text of the GNU General Public License + version 2 can be found in `/usr/share/common-licenses/GPL-2'. +Comment: + Given only the exe2coff.c file is distributed in the source distribution (and + nothing in Debian binary distribution), it seems only the 2nd condition + applies. -This package contains an embedded version of the "Squirrel" programming -language, which is shipped under the following license: - - Copyright (c) 2003-2009 Alberto Demichelis - - This software is provided 'as-is', without any - express or implied warranty. In no event will the - authors be held liable for any damages arising from - the use of this software. - - Permission is granted to anyone to use this software - for any purpose, including commercial applications, - and to alter it and redistribute it freely, subject - to the following restrictions: - - 1. The origin of this software must not be - misrepresented; you must not claim that - you wrote the original software. If you - use this software in a product, an - acknowledgment in the product - documentation would be appreciated but is - not required. - - 2. Altered source versions must be plainly - marked as such, and must not be - misrepresented as being the original - software. - - 3. This notice may not be removed or - altered from any source distribution. - -This package contains an implementation of the md5 hash algorithm, which -is shipped under the following license: - - Copyright (C) 1999, 2000, 2002 Aladdin Enterprises. All rights reserved. - - This software is provided 'as-is', without any express or implied - warranty. In no event will the authors be held liable for any damages - arising from the use of this software. - - Permission is granted to anyone to use this software for any purpose, - including commercial applications, and to alter it and redistribute it - freely, subject to the following restrictions: - - 1. The origin of this software must not be misrepresented; you must not - claim that you wrote the original software. If you use this software - in a product, an acknowledgment in the product documentation would be - appreciated but is not required. - 2. Altered source versions must be plainly marked as such, and must not be - misrepresented as being the original software. - 3. This notice may not be removed or altered from any source distribution. +Files: os/dos/cwsdpmi/* +Source: http://homer.rice.edu/~sandmann/cwsdpmi/index.html +Copyright: © 1995-2000 Charles W Sandmann (sandmann@clio.rice.edu) +License: Custom binary-only license + This is release 5. The files in this binary distribution may be redistributed + under the GPL (with source) or without the source code provided: + . + * CWSDPMI.EXE or CWSDPR0.EXE are not modified in any way except via CWSPARAM. + . + * CWSDSTUB.EXE internal contents are not modified in any way except via + CWSPARAM or STUBEDIT. It may have a COFF image plus data appended to it. + . + * Notice to users that they have the right to receive the source code and/or + binary updates for CWSDPMI. Distributors should indicate a site for the + source in their documentation. +Comment: + Files are distributed as binary only, so the second option in the license + ("without source code provided: ...") is applicable. diff --git a/os/debian/menu b/os/debian/menu index 58e23aaa08..3afa6e08e8 100644 --- a/os/debian/menu +++ b/os/debian/menu @@ -1,2 +1,2 @@ ?package(openttd):needs="X11" section="Games/Simulation" title="OpenTTD"\ -command="/usr/share/games/openttd/openttd-wrapper" icon="/usr/share/pixmaps/openttd.32.xpm" +command="/usr/games/openttd" icon="/usr/share/pixmaps/openttd.32.xpm" diff --git a/os/debian/rules b/os/debian/rules index 97094b0c58..dc28ec1b88 100755 --- a/os/debian/rules +++ b/os/debian/rules @@ -4,7 +4,7 @@ # Use debhelper default for all targets (but some are overridden below). %: - dh $@ + dh --parallel $@ DEB_HOST_GNU_TYPE=$(shell dpkg-architecture -qDEB_HOST_GNU_TYPE) DEB_BUILD_GNU_TYPE=$(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE) @@ -12,21 +12,29 @@ ifneq ($(DEB_HOST_GNU_TYPE),$(DEB_BUILD_GNU_TYPE)) CROSS= --build $(DEB_BUILD_GNU_TYPE) --host $(DEB_HOST_GNU_TYPE) endif +# This prevents linking uselessly to libicudata and silences a warning +# in the build process. +DEB_LDFLAGS_MAINT_APPEND="-Wl,-as-needed" + +# Enable all hardening options (since openttd offers a network-listening +# service that handles untrusted data). +DEB_BUILD_MAINT_OPTIONS=hardening=+all + +# Load buildflags (this uses dpkg-buildflags). Note that we don't export +# them, but instead pass them to ./configure explicitly. +include /usr/share/dpkg/buildflags.mk + # Pass custom options to configure. Since it's not autoconf but a custom # script, some of the option names are slightly different. We also need # to be explicit about the dependencies, in case we're not running in a # clean build root. override_dh_auto_configure: - ./configure $(CROSS) --prefix-dir=/usr --install-dir=debian/openttd --without-allegro --with-zlib --with-sdl --with-png --with-freetype --with-fontconfig --with-icu --with-liblzo2 --with-lzma --without-iconv --disable-strip CFLAGS="$(CFLAGS) -g" LDFLAGS="$(LDFLAGS) -Wl,-as-needed" + ./configure $(CROSS) --prefix-dir=/usr --install-dir=debian/openttd --without-allegro --with-zlib --with-sdl --with-png --with-freetype --with-fontconfig --with-icu --with-liblzo2 --with-lzma --without-iconv --disable-strip CFLAGS="$(CFLAGS) $(CPPFLAGS)" CXXFLAGS="$(CXXFLAGS) $(CPPFLAGS)" LDFLAGS="$(LDFLAGS)" CFLAGS_BUILD="$(CFLAGS) $(CPPFLAGS)" CXXFLAGS_BUILD="$(CXXFLAGS) $(CPPFLAGS)" LDFLAGS_BUILD="$(LDFLAGS)" # Do some extra installation override_dh_auto_install: $(MAKE) install DO_NOT_INSTALL_CHANGELOG=1 DO_NOT_INSTALL_LICENSE=1 - # Install the wrapper and make it executable - install -d debian/openttd/usr/share/games/openttd/ - install -m755 debian/openttd-wrapper debian/openttd/usr/share/games/openttd/ - # Don't do testing. Because the OpenTTD Makefile always does dependency # generation (even on invalid targets), dh_auto_test thinks there is a # "test" target, while there isn't. diff --git a/os/dos/cwsdpmi/README.licensing b/os/dos/cwsdpmi/README.licensing new file mode 100644 index 0000000000..112b02a087 --- /dev/null +++ b/os/dos/cwsdpmi/README.licensing @@ -0,0 +1,3 @@ +The files in this directory are not licensed under the same terms as the +rest of OpenTTD. Licensing details can be found in OpenTTD's readme.txt +and in this directory or subdirectories as well. diff --git a/os/dos/cwsdpmi.exe b/os/dos/cwsdpmi/cwsdpmi.exe similarity index 100% rename from os/dos/cwsdpmi.exe rename to os/dos/cwsdpmi/cwsdpmi.exe diff --git a/os/dos/cwsdpmi.txt b/os/dos/cwsdpmi/cwsdpmi.txt similarity index 100% rename from os/dos/cwsdpmi.txt rename to os/dos/cwsdpmi/cwsdpmi.txt diff --git a/os/dos/cwsdstub.exe b/os/dos/cwsdpmi/cwsdstub.exe similarity index 100% rename from os/dos/cwsdstub.exe rename to os/dos/cwsdpmi/cwsdstub.exe diff --git a/os/dos/exe2coff/README.licensing b/os/dos/exe2coff/README.licensing new file mode 100644 index 0000000000..112b02a087 --- /dev/null +++ b/os/dos/exe2coff/README.licensing @@ -0,0 +1,3 @@ +The files in this directory are not licensed under the same terms as the +rest of OpenTTD. Licensing details can be found in OpenTTD's readme.txt +and in this directory or subdirectories as well. diff --git a/os/dos/copying b/os/dos/exe2coff/copying similarity index 100% rename from os/dos/copying rename to os/dos/exe2coff/copying diff --git a/os/dos/copying.dj b/os/dos/exe2coff/copying.dj similarity index 100% rename from os/dos/copying.dj rename to os/dos/exe2coff/copying.dj diff --git a/os/dos/copying.lib b/os/dos/exe2coff/copying.lib similarity index 100% rename from os/dos/copying.lib rename to os/dos/exe2coff/copying.lib diff --git a/os/dos/exe2coff.c b/os/dos/exe2coff/exe2coff.c similarity index 100% rename from os/dos/exe2coff.c rename to os/dos/exe2coff/exe2coff.c diff --git a/os/dos/make_dos_binary_selfcontained.sh b/os/dos/make_dos_binary_selfcontained.sh index c21e29d2c3..259e502372 100755 --- a/os/dos/make_dos_binary_selfcontained.sh +++ b/os/dos/make_dos_binary_selfcontained.sh @@ -3,9 +3,9 @@ # $Id$ cd `dirname $0` -cc -o exe2coff exe2coff.c || exit +cc -o exe2coff/exe2coff exe2coff/exe2coff.c || exit cp $1 binary.exe || exit -./exe2coff binary.exe || exit -cat cwsdstub.exe binary > binary.exe || exit +./exe2coff/exe2coff binary.exe || exit +cat cwsdpmi/cwsdstub.exe binary > binary.exe || exit mv binary.exe $1 -rm binary exe2coff +rm binary exe2coff/exe2coff diff --git a/readme.txt b/readme.txt index 2f215220ca..a9faf4ef60 100644 --- a/readme.txt +++ b/readme.txt @@ -26,6 +26,7 @@ Table of contents * 8.1) Translation * 8.2) Previewing 9.0) Troubleshooting +10.0) Licensing X.X) Credits @@ -35,9 +36,9 @@ OpenTTD is a transport simulation game based upon the popular game Transport Tycoon Deluxe, written by Chris Sawyer. It attempts to mimic the original game as closely as possible while extending it with new features. -OpenTTD is licensed under the GNU General Public License version 2.0. For -more information, see the file 'COPYING'. - +OpenTTD is licensed under the GNU General Public License version 2.0, +but includes some 3rd party software under different licenses. See the +section "Licensing" below for details. 2.0) Contacting ---- ---------- @@ -476,9 +477,9 @@ DOS: website. Compilation is straight forward: use make, but do a './configure' before the first build. The build binary will need cwsdpmi.exe to be in the same directory as the openttd executable. cwsdpmi.exe can be found in - the os/dos subdirectory. If you compile with stripping turned on a binary - will be generated that does not need cwsdpmi.exe by adding the cswdstub.exe - to the created OpenTTD binary. + the os/dos/cwsdpmi subdirectory. If you compile with stripping turned on a + binary will be generated that does not need cwsdpmi.exe by adding the + cswdstub.exe to the created OpenTTD binary. 7.1) Required/optional libraries ---- --------------------------- @@ -642,6 +643,29 @@ development section (http://www.tt-forums.net/viewforum.php?f=66) or GrfCrawler (see section 4.2 'OpenTTD directories') and rescan the list of available NewGRFs. Once you have all missing files, you are set to go. +10.0) Licensing +----- --------- +OpenTTD is licensed under the GNU General Public License version 2.0. For +the complete license text, see the file 'COPYING'. This license applies +to all files in this distribution, except as noted below. + +The squirrel implementation in src/3rdparty/squirrel is licensed under +the Zlib license. See src/3rdparty/squirrel/COPYRIGHT for the complete +license text. + +The md5 implementation in src/3rdparty/md5 is licensed under the Zlib +license. See the comments in the source files in src/3rdparty/md5 for +the complete license text. + +The exe2coff implementation in os/dos/exe2coff is available under the +GPL, with a number of additional terms. See os/dos/exe2coff/copying and +os/dos/exe2coff/copying.dj for the exact licensing terms. + +The CWSDPMI implementation in os/dos/cwsdpmi is distributed under a +custom binary-only license that prohibits modification. The exact +licensing terms can be found in os/dos/cwsdpmi/cwsdpmi.txt. The sources +for these files can be downloaded at its author site, at: +http://homer.rice.edu/~sandmann/cwsdpmi/csdpmi5s.zip X.X) Credits ---- ------- diff --git a/src/3rdparty/README.licensing b/src/3rdparty/README.licensing new file mode 100644 index 0000000000..112b02a087 --- /dev/null +++ b/src/3rdparty/README.licensing @@ -0,0 +1,3 @@ +The files in this directory are not licensed under the same terms as the +rest of OpenTTD. Licensing details can be found in OpenTTD's readme.txt +and in this directory or subdirectories as well.