/tags/1.6.2-9/debian/control |
---|
0,0 → 1,89 |
Source: pyscrabble |
Section: games |
Priority: optional |
Maintainer: Magnus Holmgren <holmgren@debian.org> |
Build-Depends: debhelper (>= 7), python (>= 2.6.6-3~) |
Build-Depends-Indep: librsvg2-bin, imagemagick |
Standards-Version: 3.9.3 |
Homepage: http://pyscrabble.sourceforge.net |
Vcs-Browser: http://svn.kibibyte.se/pyscrabble |
Vcs-Svn: http://svn.kibibyte.se/pyscrabble/trunk |
Package: pyscrabble-common |
Architecture: all |
Depends: ${misc:Depends}, ${python:Depends}, python-twisted-core |
Replaces: pyscrabble-server (<< 1.6.2-2) |
Description: multiplayer scrabble implementation - common files |
PyScrabble is an online, multiplayer implementation of the popular word game |
written in Python and featuring: |
. |
* chat and private messaging (online as well as offline) |
* player rankings and server statistics |
* use of ENABLE (Enhanced North American Benchmark LExicon) for |
English word lookup |
* timed games |
. |
This package contains files common to the client and the server. |
You will need to install pyscrabble to play. |
. |
Notice: Scrabble is a registered trademark belonging to Hasbro Inc in |
the US, and to J.W. Spear & Sons Ltd., a subsidiary of Mattel Inc., |
throughout the rest of the world. Neither the author, Debian, nor |
this game are affiliated with the Scrabble Crossword Game, Hasbro, |
Spear & Sons or Mattel in any fashion. |
Package: pyscrabble |
Architecture: all |
Depends: pyscrabble-common (= ${source:Version}), ${misc:Depends}, |
${python:Depends}, python-pygame, python-gtk2 |
Suggests: pyscrabble-server |
Description: multiplayer scrabble implementation written in Python - client part |
PyScrabble is an online, multiplayer implementation of the popular word game |
written in Python and featuring: |
. |
* chat and private messaging (online as well as offline) |
* player rankings and server statistics |
* use of ENABLE (Enhanced North American Benchmark LExicon) for |
English word lookup |
* timed games |
. |
The following languages are supported: |
. |
* English |
* Finnish |
* French |
* German |
* Serbian |
. |
This package contains the client program. |
. |
Notice: Scrabble is a registered trademark belonging to Hasbro Inc in |
the US, and to J.W. Spear & Sons Ltd., a subsidiary of Mattel Inc., |
throughout the rest of the world. Neither the author, Debian, nor |
this game are affiliated with the Scrabble Crossword Game, Hasbro, |
Spear & Sons or Mattel in any fashion. |
Package: pyscrabble-server |
Architecture: all |
Depends: pyscrabble-common (= ${source:Version}), ${misc:Depends}, |
${python:Depends}, python-zodb, python-nevow, adduser, lsb-base (>= 3.0-6) |
Suggests: pyscrabble |
Priority: extra |
Description: scrabble implementation written in Python - server part |
PyScrabble is an online, multiplayer implementation of the popular word game |
written in Python and featuring: |
. |
* chat and private messaging (online as well as offline) |
* player rankings and server statistics |
* use of ENABLE (Enhanced North American Benchmark LExicon) for |
English word lookup |
* timed games |
. |
This package contains the server. You do not need to install this |
package if you only plan to connect to existing PyScrabble servers. |
. |
Notice: Scrabble is a registered trademark belonging to Hasbro Inc in |
the US, and to J.W. Spear & Sons Ltd., a subsidiary of Mattel Inc., |
throughout the rest of the world. Neither the author, Debian, nor |
this game are affiliated with the Scrabble Crossword Game, Hasbro, |
Spear & Sons or Mattel in any fashion. |
/tags/1.6.2-9/debian/changelog |
---|
0,0 → 1,134 |
pyscrabble (1.6.2-9) unstable; urgency=low |
* Switch to rsvg-convert for making PNG icons (Closes: #666634). |
* Bump Standards-Version to 3.9.3. |
-- Magnus Holmgren <holmgren@debian.org> Wed, 11 Apr 2012 08:17:00 +0200 |
pyscrabble (1.6.2-8) unstable; urgency=low |
* typeerrors.patch: Fix two cases of attempting to pass floats to |
functions expecting ints: |
- In the motion-notify-event callback of the chatboxes, which should |
change the cursor into a hand when over a URL (LP: #923363). |
- In the button-press-event callback of the buttons making up the |
board, which should produce an arrow to allow tiles to be placed by |
typing letters. |
-- Magnus Holmgren <holmgren@debian.org> Sun, 29 Jan 2012 21:02:09 +0100 |
pyscrabble (1.6.2-7) unstable; urgency=low |
* max-players.patch: Before denying a player from joining a game because |
the maximum number of players has been reach, check whether the player |
is rejoining a game he or she is already part of (Closes: #633838). |
Thanks to Christian von Kietzell. |
* Add build-indep and build-arch targets. |
-- Magnus Holmgren <holmgren@debian.org> Fri, 11 Nov 2011 08:46:33 +0100 |
pyscrabble (1.6.2-6) unstable; urgency=low |
* Move Python modules and scripts to /usr/share/games/pyscrabble/python |
and put symlinks in /usr/games and /usr/sbin. |
* installation.patch: Reduce the size by moving back code that was |
unnecessarily moved from dist.py to setup.py. |
-- Magnus Holmgren <holmgren@debian.org> Wed, 04 May 2011 19:58:45 +0200 |
pyscrabble (1.6.2-5) unstable; urgency=low |
* Convert package to source format 3.0 (quilt), meaning renaming the |
patches and converting their headers as well as dropping |
README.source. |
* Convert to using dh_python2 (Closes: #616983). |
* Run setup.py with --install-layout=deb to get filesystem layout right. |
* Bump Debhelper compat level to 7. |
* pyscrabble-server.README.Debian: Clarify that pyscrabble-server is not |
intended to be run from the command line directly (Closes: #611833). |
* hosts.patch: Improve the code for adding new entries to the Additional |
Hosts list: |
* Fix C&P bug that caused the Game port to be validated twice but the |
Web port not at all. |
* Pre-fill the default port numbers to help the user (Closes: #566666). |
* Don't destroy the dialog until the entered values have been extracted. |
* Increase Standards-Version to 3.9.2 without changes needed. |
-- Magnus Holmgren <holmgren@debian.org> Mon, 25 Apr 2011 21:58:25 +0200 |
pyscrabble (1.6.2-4) unstable; urgency=low |
* Merge changes from Ubuntu, except for the Replaces added to deal with |
the typo in in 1.6.2-3ubuntu3, which should be gone by now. |
* Move pyscrabble-server from /usr/games to /usr/sbin (Closes: #506811). |
* debian/rules: Drop the call to dh_desktop. |
* Upgrade to Standards-Version 3.8.3. |
+ Add debian/README.source. |
* debian/rules: Rearrange targets. |
-- Magnus Holmgren <holmgren@debian.org> Tue, 22 Sep 2009 09:15:42 +0200 |
pyscrabble (1.6.2-3ubuntu4) jaunty; urgency=low |
* debian/pyscrabble-common.install: resolve typographic error (LP: #362080) |
-- Brian Murray <brian@ubuntu.com> Thu, 16 Apr 2009 15:18:46 -0700 |
pyscrabble (1.6.2-3ubuntu3) jaunty; urgency=low |
* debian/rules: pass --prefix=/usr to setup.py install, without which |
the package tries to install to /usr/local under python2.6. |
-- Steve Langasek <steve.langasek@ubuntu.com> Tue, 14 Apr 2009 13:01:54 +0000 |
pyscrabble (1.6.2-3ubuntu2) jaunty; urgency=low |
* Revert the previous change; python2.4-zodb no longer exists, and |
depending on python2.4-zodb never gave correct results anyway because |
we were depending on python instead of python2.4 for the interpreter. |
* debian/pyscrabble-{common,server}.install: installation now to python |
dist-packages directory, instead of site-packages. (This will require |
a fix for bug 350016 in python2.6 before it can be built.) |
-- Steve Langasek <steve.langasek@ubuntu.com> Mon, 13 Apr 2009 07:08:06 +0000 |
pyscrabble (1.6.2-3ubuntu1) intrepid; urgency=low |
* Modify dependency python-zodb to python2.4-zodb in debian/control |
for the python-zodb -> python2.4-zodb transition (LP: #262713) |
-- Riccardo Coccioli <volans@ubuntu.com> Fri, 29 Aug 2008 18:11:03 +0200 |
pyscrabble (1.6.2-3) unstable; urgency=low |
* Acknowledge NMU (Closes: #471077). |
* New maintainer email address. |
* Remove XS- from Vcs field names. |
* Bump Standards-Version to 3.7.3. No changes necessary. |
* Lower connection timeout when checking servers to avoid extremely long |
delays (Closes: #473598). Thanks to Ron Bentley. |
-- Magnus Holmgren <holmgren@debian.org> Thu, 01 May 2008 23:35:04 +0200 |
pyscrabble (1.6.2-2.1) unstable; urgency=low |
* Non-maintainer upload to solve release goal. |
* Add LSB dependency header to init.d scripts (Closes: #471077). |
-- Petter Reinholdtsen <pere@debian.org> Sun, 30 Mar 2008 15:18:15 +0200 |
pyscrabble (1.6.2-2) unstable; urgency=low |
* Move /usr/share/games/pyscrabble/letters from pyscrabble-server to |
pyscrabble-common (Closes: #446571). |
* Add lsb-base dependency to pyscrabble-server. |
* Lower pyscrabble-server priority to "extra". |
-- Magnus Holmgren <magnus@kibibyte.se> Sun, 14 Oct 2007 10:30:15 +0200 |
pyscrabble (1.6.2-1) unstable; urgency=low |
* Initial release (Closes: #416137). |
-- Magnus Holmgren <magnus@kibibyte.se> Wed, 03 Oct 2007 17:11:14 +0200 |
/tags/1.6.2-9/debian/rules |
---|
0,0 → 1,94 |
#!/usr/bin/make -f |
# -*- makefile -*- |
# Sample debian/rules that uses debhelper. |
# This file was originally written by Joey Hess and Craig Small. |
# As a special exception, when this file is copied by dh-make into a |
# dh-make output file, you may use that output file without restriction. |
# This special exception was added by Craig Small in version 0.37 of dh-make. |
# Uncomment this to turn on verbose mode. |
#export DH_VERBOSE=1 |
DESTDIR=$(CURDIR)/debian/tmp |
ICON_SIZES=16 22 32 48 64 96 |
PIXMAP_SIZES=16 32 |
clean: |
dh_testdir |
dh_testroot |
rm -f build-stamp |
rm -f pyscrabble-*.png pyscrabble-*.xpm |
python setup.py clean -a |
find -name '*.pyc' -delete |
dh_clean |
build: build-indep |
build-arch: |
build-indep: build-stamp |
build-stamp: |
python setup.py build |
for size in $(ICON_SIZES); do \ |
rsvg-convert -h $$size -w $$size -o pyscrabble-$$size.png debian/pyscrabble.svg; \ |
done |
for size in $(PIXMAP_SIZES); do \ |
convert pyscrabble-$$size.png pyscrabble-$${size}x$${size}.xpm; \ |
done |
touch "$@" |
install: build |
dh_testdir |
dh_testroot |
dh_prep |
python setup.py install --no-compile --root=$(DESTDIR) \ |
--install-layout=deb \ |
--install-scripts=/usr/share/games/pyscrabble/python \ |
--install-lib=/usr/share/games/pyscrabble/python \ |
--confdir=/etc/pyscrabble \ |
--logdir=/var/log/pyscrabble \ |
--dbdir=/var/lib/pyscrabble |
install -m755 -d $(DESTDIR)/usr/sbin |
install -m755 -d $(DESTDIR)/usr/share/pixmaps |
install -m644 pyscrabble-*.xpm $(DESTDIR)/usr/share/pixmaps |
install -m755 -d $(DESTDIR)/usr/share/icons/hicolor/scalable/apps |
gzip < debian/pyscrabble.svg > $(DESTDIR)/usr/share/icons/hicolor/scalable/apps/pyscrabble.svgz |
for size in $(ICON_SIZES); do \ |
install -m755 -d $(DESTDIR)/usr/share/icons/hicolor/$${size}x$${size}/apps; \ |
install -m644 pyscrabble-$$size.png \ |
$(DESTDIR)/usr/share/icons/hicolor/$${size}x$${size}/apps/pyscrabble.png; \ |
done |
install -d -m755 $(DESTDIR)/usr/share/applications/ |
install -m644 debian/pyscrabble.desktop $(DESTDIR)/usr/share/applications/ |
# Build architecture-dependent files here. |
binary-arch: |
# We have nothing to do by default. |
# Build architecture-independent files here. |
binary-indep: build install |
dh_testdir |
dh_testroot |
dh_install --sourcedir=debian/tmp |
dh_link |
dh_python2 /usr/share/games/pyscrabble/python |
dh_installchangelogs CHANGELOG.txt |
dh_installdocs |
dh_installexamples |
dh_installman |
dh_installinit -r |
dh_installmenu |
dh_strip |
dh_compress |
dh_fixperms |
dh_installdeb |
dh_shlibdeps |
dh_gencontrol |
dh_md5sums |
dh_builddeb |
binary: binary-indep binary-arch |
.PHONY: build build-indep build-arch clean binary-indep binary-arch binary install configure |
Property changes: |
Added: svn:executable |
## -0,0 +1 ## |
+* |
\ No newline at end of property |
Index: 1.6.2-9/debian/patches/series |
=================================================================== |
--- 1.6.2-9/debian/patches/series (nonexistent) |
+++ 1.6.2-9/debian/patches/series (revision 50) |
@@ -0,0 +1,6 @@ |
+installation.patch |
+about_close.patch |
+serverlist_timeout.patch |
+hosts.patch |
+max-players.patch |
+typeerrors.patch |
Index: 1.6.2-9/debian/patches/typeerrors.patch |
=================================================================== |
--- 1.6.2-9/debian/patches/typeerrors.patch (nonexistent) |
+++ 1.6.2-9/debian/patches/typeerrors.patch (revision 50) |
@@ -0,0 +1,22 @@ |
+--- a/pyscrabble/gtkutil.py |
++++ b/pyscrabble/gtkutil.py |
+@@ -550,7 +550,7 @@ class TaggableTextView(gtk.TextView): |
+ @param event: |
+ ''' |
+ |
+- x,y = widget.window_to_buffer_coords(gtk.TEXT_WINDOW_TEXT, event.x, event.y) |
++ x,y = widget.window_to_buffer_coords(gtk.TEXT_WINDOW_TEXT, int(event.x), int(event.y)) |
+ |
+ iter = widget.get_iter_at_location(x,y) |
+ tags = iter.get_tags() |
+--- a/pyscrabble/gui/pieces.py |
++++ b/pyscrabble/gui/pieces.py |
+@@ -379,7 +379,7 @@ class GameTile(gtk.Button, Tile): |
+ if arrow is not None: |
+ box = gtk.HBox(False, 0) |
+ arrow.set_size_request(10,10) |
+- arrow.set_padding(0.0, 0.0) |
++ arrow.set_padding(0, 0) |
+ box.pack_start(arrow, False, False, 0) |
+ self.add(box) |
+ self.key_press_handler = self.connect("key-press-event", self.keyPress_cb, self.direction) |
Index: 1.6.2-9/debian/patches/max-players.patch |
=================================================================== |
--- 1.6.2-9/debian/patches/max-players.patch (nonexistent) |
+++ 1.6.2-9/debian/patches/max-players.patch (revision 50) |
@@ -0,0 +1,42 @@ |
+From: Christian von Kietzell <christian@vonkietzell.de> |
+Bug-Debian: http://bugs.debian.org/633838 |
+Forwarded: no |
+Description: Check whether an existing player is rejoining _before_ |
+ checking whether the maximum of players has been reached. |
+ |
+--- pyscrabble-1.6.2/pyscrabble/net/server.py 2011-07-14 19:32:42.000000000 +0200 |
++++ pyscrabble-fixed/pyscrabble/net/server.py 2011-07-14 19:35:50.000000000 +0200 |
+@@ -936,21 +936,21 @@ |
+ client.denyJoinGame(command) |
+ return |
+ |
+- if (game.getNumberOfPlayers() == constants.MAX_PLAYERS): |
+- command.setData( ServerMessage([GAME_FULL]) ) |
+- command.setCommand( constants.GAME_JOIN_DENIED ) |
+- client.denyJoinGame(command) |
+- return |
+- |
+ p = self.clients[client].clone() |
+ |
+- if (game.isPaused() and not game.hasPlayer(p)): |
+- command.setData( ServerMessage([CANNOT_JOIN_STARTED]) ) |
+- command.setCommand( constants.GAME_JOIN_DENIED ) |
+- client.denyJoinGame(command) |
+- return |
+- |
+ if not game.hasPlayer( p ): |
++ if (game.getNumberOfPlayers() == constants.MAX_PLAYERS): |
++ command.setData( ServerMessage([GAME_FULL]) ) |
++ command.setCommand( constants.GAME_JOIN_DENIED ) |
++ client.denyJoinGame(command) |
++ return |
++ |
++ if (game.isPaused()): |
++ command.setData( ServerMessage([CANNOT_JOIN_STARTED]) ) |
++ command.setCommand( constants.GAME_JOIN_DENIED ) |
++ client.denyJoinGame(command) |
++ return |
++ |
+ game.addPlayer( p ) |
+ else: |
+ game.removePending( p ) |
Index: 1.6.2-9/debian/patches/installation.patch |
=================================================================== |
--- 1.6.2-9/debian/patches/installation.patch (nonexistent) |
+++ 1.6.2-9/debian/patches/installation.patch (revision 50) |
@@ -0,0 +1,198 @@ |
+Author: Magnus Holmgren <holmgren@debian.org> |
+Description: Mostly adapt server to run as a daemon |
+ |
+--- a/pyscrabble/net/server.py |
++++ b/pyscrabble/net/server.py |
+@@ -46,7 +46,7 @@ class ScrabbleServerFactory(protocol.Ser |
+ self.db = db.DB() |
+ self.maxUsersLoggedIn = 0 |
+ self.startDate = util.Time(seconds=time.time(), dispDate=True) |
+- self.rankings = rank.Rankings( resources["config"][constants.RANK_CONFIG] ) |
++ self.rankings = rank.Rankings( resources["serverconfig"][constants.RANK_CONFIG] ) |
+ |
+ dir = resources["resources"][constants.DICT_DIR].path |
+ for lang in os.listdir( dir ): |
+--- a/pyscrabble/dist.py |
++++ b/pyscrabble/dist.py |
+@@ -3,6 +3,8 @@ import os |
+ import sys |
+ from distutils.command.install_lib import install_lib |
+ from distutils.command.install_scripts import install_scripts |
++from distutils.command.install_data import install_data |
++from distutils.command.install import install |
+ |
+ APP_NAME = 'pyscrabble' |
+ |
+@@ -31,8 +33,6 @@ except ImportError: |
+ RESOURCE_PREFIX = 'resources' |
+ |
+ CONFIG_DIR = get_app_data_dir() |
+-if not os.path.exists(CONFIG_DIR): |
+- CONFIG_DIR = os.path.join(RESOURCE_PREFIX, 'config') |
+ |
+ def getLocaleDirs(dir, domain): |
+ l = [] |
+@@ -76,6 +76,13 @@ def getDataFiles(): |
+ getResourceDirs('resources/dict', True, 'resources') + \ |
+ getResourceDirs('resources/letters', True, 'resources') |
+ |
++try: |
++ from __installed__ import SERVER_LOG_DIR, SERVER_DB_DIR, SERVER_CONFIG_DIR |
++except ImportError: |
++ SERVER_CONFIG_DIR = os.path.join(RESOURCE_PREFIX, 'config') |
++ SERVER_DB_DIR = CONFIG_DIR |
++ SERVER_LOG_DIR = CONFIG_DIR |
++ |
+ def ensure_config_dir(dir): |
+ ''' |
+ Ensure config directory exists |
+@@ -112,11 +119,14 @@ class InstallLib(install_lib): |
+ self.mkpath(os.path.dirname(filename)) |
+ |
+ install = self.distribution.get_command_obj('install') |
+- datadir = os.path.join(install.prefix, 'share', APP_NAME) |
++ datadir = os.path.join(install.prefix, 'share', 'games', APP_NAME) |
+ |
+ fp = open(filename, 'w') |
+ fp.write('# Generated by setup.py do not modify\n') |
+- fp.write("RESOURCE_PREFIX = '%s'\n" % datadir) |
++ fp.write("RESOURCE_PREFIX = %r\n" % datadir) |
++ fp.write("SERVER_CONFIG_DIR = %r\n" % install.confdir) |
++ fp.write("SERVER_DB_DIR = %r\n" % install.dbdir) |
++ fp.write("SERVER_LOG_DIR = %r\n" % install.logdir) |
+ fp.close() |
+ |
+ return filename |
+@@ -125,6 +135,35 @@ class InstallLib(install_lib): |
+ template = self.generate_template() |
+ return install_lib.install(self) + [template] |
+ |
++class InstallData(install_data): |
++ def fix_path(self, item): |
++ install = self.distribution.get_command_obj('install') |
++ if type(item) in (list, tuple): |
++ if 'config' in item[0]: |
++ return (item[0].replace('config', install.confdir), item[1]) |
++ else: |
++ return (item[0].replace('resources', 'share/games/'+APP_NAME), item[1]) |
++ else: |
++ return item |
++ |
++ def finalize_options(self): |
++ self.data_files = [ self.fix_path(f) for f in self.data_files ] |
++ install_data.finalize_options(self) |
++ |
++class Install(install): |
++ user_options = install.user_options + [ ('logdir=', None, "log directory"), |
++ ('dbdir=', None, "database directory"), |
++ ('confdir=', None, "configuration directory") ] |
++ |
++ def initialize_options(self): |
++ self.logdir = None |
++ self.dbdir = None |
++ self.confdir = None |
++ install.initialize_options(self) |
++ |
++ def finalize_options(self): |
++ install.finalize_options(self) |
++ |
+ class Resource(object): |
+ ''' |
+ Filesystem resource |
+@@ -180,4 +219,4 @@ class Resource(object): |
+ @param value: |
+ ''' |
+ self.data[item] = value |
+- |
+\ No newline at end of file |
++ |
+--- a/pyscrabble/db.py |
++++ b/pyscrabble/db.py |
+@@ -1,5 +1,4 @@ |
+ from pyscrabble import constants |
+-from pyscrabble import manager |
+ from ZODB import FileStorage, DB as _DB |
+ import transaction |
+ |
+@@ -12,8 +11,10 @@ class DB(object): |
+ ''' |
+ Initialize the connection to the DB |
+ ''' |
+- r = manager.ResourceManager() |
+- path = r["config"][constants.DB_LOCATION] |
++ import os |
++ from pyscrabble import dist |
++ |
++ path = os.path.join(dist.SERVER_DB_DIR, constants.DB_LOCATION) |
+ |
+ storage = FileStorage.FileStorage(path) |
+ db = _DB(storage) |
+--- a/pyscrabble/manager.py |
++++ b/pyscrabble/manager.py |
+@@ -36,6 +36,7 @@ class ResourceManager(object): |
+ ''' |
+ self.loaded = True |
+ |
++ self["serverconfig"] = dist.Resource( dist.SERVER_CONFIG_DIR ) |
+ self["config"] = dist.Resource( dist.CONFIG_DIR ) |
+ self["resources"] = dist.Resource( dist.RESOURCE_PREFIX ) |
+ |
+--- a/server_console.py |
++++ b/server_console.py |
+@@ -76,15 +76,15 @@ class ServerConsole(object): |
+ ''' |
+ Configure the server |
+ ''' |
+- dist.ensure_config_dir(dist.CONFIG_DIR) |
++ dist.ensure_config_dir(dist.SERVER_CONFIG_DIR) |
+ resources = manager.ResourceManager() |
+ logging.basicConfig(level=logging.DEBUG, |
+ format='%(asctime)s %(name)s %(levelname)s %(message)s', |
+- filename=resources["config"][constants.LOG_FILE], |
+- filemode='w') |
++ filename=os.path.join(dist.SERVER_LOG_DIR, constants.LOG_FILE), |
++ filemode='a') |
+ |
+ |
+- config = resources["config"][constants.SERVER_CONSOLE_CONFIG] |
++ config = resources["serverconfig"][constants.SERVER_CONSOLE_CONFIG] |
+ |
+ if not os.path.exists(config): |
+ raise IOError, "%s must exist in %s" % (constants.SERVER_CONSOLE_CONFIG, resources["config"].path) |
+--- a/setup.py |
++++ b/setup.py |
+@@ -7,21 +7,12 @@ except ImportError: |
+ HAS_PY2EXE = False |
+ import glob |
+ import os |
+-import pkg_resources |
++#import pkg_resources |
+ import sys |
+ from pyscrabble.constants import VERSION |
+ from pyscrabble import util |
+ from pyscrabble import dist |
+ |
+-def fix_path(item): |
+- if type(item) in (list, tuple): |
+- if 'config' in item[0]: |
+- return (item[0].replace('config', dist.get_app_data_dir()), item[1]) |
+- else: |
+- return (item[0].replace('resources/', 'share/pyscrabble/'), item[1]) |
+- else: |
+- return item |
+- |
+ kwargs = { |
+ 'name': 'pyscrabble', |
+ 'version': VERSION, |
+@@ -80,7 +71,7 @@ if HAS_PY2EXE and 'py2exe' in sys.argv: |
+ # kwargs['data_files'] += dist.getResourceDirs(egg.location, ensureLower=False, basePath=None, outdir='extra') |
+ else: |
+ kwargs['scripts'] = ['pyscrabble-main.py', 'server_console.py', 'db_upgrade.py'] |
+- kwargs['data_files'] = [fix_path(x) for x in kwargs['data_files']] |
+- kwargs['cmdclass'] = {'install_lib': dist.InstallLib, 'install_scripts' : dist.InstallScripts} |
++ # kwargs['data_files'] = [fix_path(x) for x in kwargs['data_files']] |
++ kwargs['cmdclass'] = {'install': dist.Install, 'install_lib': dist.InstallLib, 'install_scripts' : dist.InstallScripts, 'install_data': dist.InstallData} |
+ |
+-setup(**kwargs) |
+\ No newline at end of file |
++setup(**kwargs) |
/1.6.2-9/debian/patches/installation.patch |
---|
Property changes: |
Added: svn:executable |
## -0,0 +1 ## |
+* |
\ No newline at end of property |
Index: 1.6.2-9/debian/patches/hosts.patch |
=================================================================== |
--- 1.6.2-9/debian/patches/hosts.patch (nonexistent) |
+++ 1.6.2-9/debian/patches/hosts.patch (revision 50) |
@@ -0,0 +1,44 @@ |
+Author: Magnus Holmgren <holmgren@debian.org> |
+Description: Improve the code for adding new entries to the Additional Hosts list |
+ - Fix C&P bug that caused the Game port to be validated twice but the Web port not at all. |
+ - Pre-fill the default ports. |
+ - Don't destroy the dialog until the entered values have been extracted. |
+ |
+--- a/pyscrabble/gui/options.py |
++++ b/pyscrabble/gui/options.py |
+@@ -830,10 +830,12 @@ class OptionWindow(gtk.Window): |
+ |
+ s = _("Game port") |
+ gport = gtkutil.EntryWithLabel(label="%s: " % s, visibility=True) |
++ gport.set_text("9999") |
+ dialog.vbox.pack_start( gport ) |
+ |
+ s = _("Web port") |
+ wport = gtkutil.EntryWithLabel(label="%s: " % s, visibility=True) |
++ wport.set_text("8888") |
+ dialog.vbox.pack_start( wport ) |
+ |
+ s = _("Location") |
+@@ -866,13 +868,11 @@ class OptionWindow(gtk.Window): |
+ |
+ try: |
+ int(gport.get_text()) |
+- int(gport.get_text()) |
++ int(wport.get_text()) |
+ except: |
+ self.error(util.ErrorMessage(_('Port must be a number'))) |
+ return |
+ |
+- dialog.destroy() |
+- |
+ o = manager.OptionManager(section=HOSTS_SECTION) |
+ data = o.get_default_option(OPTION_HOSTS, '') |
+ data = '%s%s:%s:%s:%s/' % (data, host.get_text(), gport.get_text(), wport.get_text(), location.get_text()) |
+@@ -882,4 +882,5 @@ class OptionWindow(gtk.Window): |
+ model.clear() |
+ for host,gport,wport,location in util.getAdditionalHosts(): |
+ model.append( (host,location) ) |
+- |
+\ No newline at end of file |
++ |
++ dialog.destroy() |
Index: 1.6.2-9/debian/patches/serverlist_timeout.patch |
=================================================================== |
--- 1.6.2-9/debian/patches/serverlist_timeout.patch (nonexistent) |
+++ 1.6.2-9/debian/patches/serverlist_timeout.patch (revision 50) |
@@ -0,0 +1,26 @@ |
+Author: Ron Bentley <rtbentley@gmail.com> |
+Bug-Debian: http://bugs.debian.org/473598 |
+Description: Lower connection timeout when building server list |
+ to avoid hanging for a long time when one or more servers are unresponsive. |
+ |
+--- pyscrabble-1.6.2~/pyscrabble/gui/register.py 2008-04-20 23:14:07.000000000 -0400 |
++++ pyscrabble-1.6.2/pyscrabble/gui/register.py 2008-04-20 23:18:25.000000000 -0400 |
+@@ -62,6 +62,9 @@ |
+ return |
+ |
+ self.serverList.clear() |
++ |
++ defTimeout = socket.getdefaulttimeout() |
++ socket.setdefaulttimeout(6) |
+ |
+ for host,g_port,w_port,location in self.servers: |
+ |
+@@ -73,6 +76,8 @@ |
+ numUsers="N/A" |
+ |
+ self.serverList.append( (host,location, numUsers) ) |
++ |
++ socket.setdefaulttimeout(defTimeout) |
+ |
+ self.toolBar.set_sensitive(True) |
+ |
Index: 1.6.2-9/debian/patches/about_close.patch |
=================================================================== |
--- 1.6.2-9/debian/patches/about_close.patch (nonexistent) |
+++ 1.6.2-9/debian/patches/about_close.patch (revision 50) |
@@ -0,0 +1,14 @@ |
+Author: Magnus Holmgren <holmgren@debian.org> |
+Description: Make the Close button in the About dialog work |
+ |
+diff -urNad trunk~/pyscrabble/gtkutil.py trunk/pyscrabble/gtkutil.py |
+--- trunk~/pyscrabble/gtkutil.py 2006-12-05 15:49:00.000000000 +0100 |
++++ trunk/pyscrabble/gtkutil.py 2007-10-03 16:30:51.000000000 +0200 |
+@@ -73,6 +73,7 @@ |
+ dialog.set_translator_credits(_('translator-credits')) |
+ gtk.about_dialog_set_url_hook(util.showUrl, data=constants.ONLINE_SITE) |
+ dialog.set_version(constants.VERSION) |
++ dialog.connect("response", lambda d, r: d.destroy()) |
+ dialog.show() |
+ |
+ def getSelectedItem(view, col): |
/1.6.2-9/debian/patches/about_close.patch |
---|
Property changes: |
Added: svn:executable |
## -0,0 +1 ## |
+* |
\ No newline at end of property |
Index: 1.6.2-9/debian/pyscrabble-common.install |
=================================================================== |
--- 1.6.2-9/debian/pyscrabble-common.install (nonexistent) |
+++ 1.6.2-9/debian/pyscrabble-common.install (revision 50) |
@@ -0,0 +1,14 @@ |
+usr/share/games/pyscrabble/python/pyscrabble/__*__.py |
+usr/share/games/pyscrabble/python/pyscrabble/audit.py |
+usr/share/games/pyscrabble/python/pyscrabble/dist.py |
+usr/share/games/pyscrabble/python/pyscrabble/manager.py |
+usr/share/games/pyscrabble/python/pyscrabble/util.py |
+usr/share/games/pyscrabble/python/pyscrabble/serialize.py |
+usr/share/games/pyscrabble/python/pyscrabble/constants.py |
+usr/share/games/pyscrabble/python/pyscrabble/lookup.py |
+usr/share/games/pyscrabble/python/pyscrabble/exceptions.py |
+usr/share/games/pyscrabble/python/pyscrabble/game |
+usr/share/games/pyscrabble/python/pyscrabble/command |
+usr/share/games/pyscrabble/python/pyscrabble/net/__init__.py |
+usr/share/games/pyscrabble/python/*.egg-info |
+usr/share/games/pyscrabble/letters |
Index: 1.6.2-9/debian/pyscrabble.install |
=================================================================== |
--- 1.6.2-9/debian/pyscrabble.install (nonexistent) |
+++ 1.6.2-9/debian/pyscrabble.install (revision 50) |
@@ -0,0 +1,10 @@ |
+usr/share/games/pyscrabble/python/pyscrabble-main.py |
+usr/share/games/pyscrabble/python/pyscrabble/gui |
+usr/share/games/pyscrabble/python/pyscrabble/net/client.py |
+usr/share/games/pyscrabble/python/pyscrabble/gtk*.py |
+usr/share/icons |
+usr/share/pixmaps |
+usr/share/applications |
+usr/share/games/pyscrabble/sounds |
+usr/share/games/pyscrabble/images |
+usr/share/games/pyscrabble/locale |
Index: 1.6.2-9/debian/pyscrabble-server.install |
=================================================================== |
--- 1.6.2-9/debian/pyscrabble-server.install (nonexistent) |
+++ 1.6.2-9/debian/pyscrabble-server.install (revision 50) |
@@ -0,0 +1,8 @@ |
+usr/share/games/pyscrabble/python/server_console.py |
+usr/share/games/pyscrabble/python/pyscrabble/db.py |
+usr/share/games/pyscrabble/python/pyscrabble/net/server.py |
+usr/share/games/pyscrabble/python/pyscrabble/net/site.py |
+usr/share/games/pyscrabble/python/pyscrabble/net/interfaces.py |
+usr/share/games/pyscrabble/web |
+usr/share/games/pyscrabble/dict |
+etc/pyscrabble |
Index: 1.6.2-9/debian/pyscrabble.links |
=================================================================== |
--- 1.6.2-9/debian/pyscrabble.links (nonexistent) |
+++ 1.6.2-9/debian/pyscrabble.links (revision 50) |
@@ -0,0 +1 @@ |
+usr/share/games/pyscrabble/python/pyscrabble-main.py usr/games/pyscrabble |
Index: 1.6.2-9/debian/pyscrabble-server.links |
=================================================================== |
--- 1.6.2-9/debian/pyscrabble-server.links (nonexistent) |
+++ 1.6.2-9/debian/pyscrabble-server.links (revision 50) |
@@ -0,0 +1 @@ |
+usr/share/games/pyscrabble/python/server_console.py usr/sbin/pyscrabble-server |
Index: 1.6.2-9/debian/pyscrabble-server.README.Debian |
=================================================================== |
--- 1.6.2-9/debian/pyscrabble-server.README.Debian (nonexistent) |
+++ 1.6.2-9/debian/pyscrabble-server.README.Debian (revision 50) |
@@ -0,0 +1,26 @@ |
+pyscrabble for Debian |
+--------------------- |
+ |
+My assumption is that most users don't need or want to run their own |
+server. Therefore the PyScrabble server is in a separate package that |
+installs it as a system daemon. By default the server runs under a |
+dedicated user account, created on installation. It should not be run |
+directly from the command line, only with the help of the init script. |
+ |
+The original code is modified so that instead of |
+~/.config/pyscrabble/, the server reads its configuration from files |
+in /etc/pyscrabble/, stores its database in /var/lib/pyscrabble, and |
+logs to /var/log/pyscrabble/pyscrabble.log. The log is not |
+automatically rotated, because the server can't currently be told to |
+reopen the log, and restarting it kills all client sessions and |
+ongoing games. |
+ |
+For the same reason, the server is not restarted when upgraded. The |
+administrator should notify the users and restart the server at the |
+earliest opportunity. |
+ |
+After starting the server for the first time, you should immediately |
+register a user account, as the first user is automatically made |
+administrator. |
+ |
+ -- Magnus Holmgren <holmgren@debian.org>, Mon, 25 Apr 2011 14:00:03 +0200 |
Index: 1.6.2-9/debian/compat |
=================================================================== |
--- 1.6.2-9/debian/compat (nonexistent) |
+++ 1.6.2-9/debian/compat (revision 50) |
@@ -0,0 +1 @@ |
+7 |
Index: 1.6.2-9/debian/source/format |
=================================================================== |
--- 1.6.2-9/debian/source/format (nonexistent) |
+++ 1.6.2-9/debian/source/format (revision 50) |
@@ -0,0 +1 @@ |
+3.0 (quilt) |
Index: 1.6.2-9/debian/pyscrabble-server.init |
=================================================================== |
--- 1.6.2-9/debian/pyscrabble-server.init (nonexistent) |
+++ 1.6.2-9/debian/pyscrabble-server.init (revision 50) |
@@ -0,0 +1,115 @@ |
+#!/bin/sh |
+### BEGIN INIT INFO |
+# Provides: pyscrabble-server |
+# Required-Start: $local_fs $remote_fs |
+# Required-Stop: $local_fs $remote_fs |
+# Default-Start: 2 3 4 5 |
+# Default-Stop: 0 1 6 |
+# Short-Description: PyScrabble server |
+# Description: Controls the PyScrabble server |
+### END INIT INFO |
+ |
+set -e |
+ |
+PATH=/sbin:/bin:/usr/bin |
+DESC="PyScrabble server" |
+NAME=python |
+NAME2=pyscrabble-server |
+DAEMON=/usr/sbin/pyscrabble-server |
+PIDFILE=/var/run/$NAME2.pid |
+SCRIPTNAME=/etc/init.d/$NAME2 |
+ |
+# Gracefully exit if the package has been removed. |
+test -x $DAEMON || exit 0 |
+ |
+. /lib/lsb/init-functions |
+ |
+USER="pyscrabble" |
+ |
+# Read config file if it is present. |
+if [ -r /etc/default/$NAME2 ]; then |
+ . /etc/default/$NAME2 |
+fi |
+ |
+d_running() { |
+ start-stop-daemon --stop --quiet --pidfile $PIDFILE \ |
+ --name $NAME --test > /dev/null |
+} |
+ |
+# |
+# Function that starts the daemon/service. |
+# |
+d_start() { |
+ start-stop-daemon --start --oknodo --quiet --pidfile $PIDFILE --name $NAME \ |
+ --background --make-pidfile --chuid "$USER" --startas $DAEMON |
+} |
+ |
+# |
+# Function that stops the daemon/service. |
+# |
+d_stop() { |
+ start-stop-daemon --stop --oknodo --quiet --pidfile $PIDFILE --name $NAME |
+ rm -f $PIDFILE |
+} |
+ |
+case "$1" in |
+ start) |
+ log_daemon_msg "Starting $DESC" "$NAME2" |
+ if d_running; then |
+ log_progress_msg "already running" |
+ else |
+ d_start; |
+ fi |
+ log_end_msg 0 |
+ ;; |
+ stop) |
+ log_daemon_msg "Stopping $DESC" "$NAME2" |
+ if ! d_running; then |
+ log_progress_msg "not running" |
+ else |
+ d_stop |
+ fi |
+ log_end_msg 0 |
+ ;; |
+ #reload) |
+ # |
+ # If the daemon can reload its configuration without |
+ # restarting (for example, when it is sent a SIGHUP), |
+ # then implement that here. |
+ # |
+ # If the daemon responds to changes in its config file |
+ # directly anyway, make this an "exit 0". |
+ # |
+ # echo -n "Reloading $DESC configuration..." |
+ # d_reload |
+ # echo "done." |
+ #;; |
+ restart|force-reload) |
+ # |
+ # If the "reload" option is implemented, move the "force-reload" |
+ # option to the "reload" entry above. If not, "force-reload" is |
+ # just the same as "restart". |
+ # |
+ log_daemon_msg "Restarting $DESC" "$NAME2" |
+ d_stop |
+ # One second might not be time enough for a daemon to stop, |
+ # if this happens, d_start will fail (and dpkg will break if |
+ # the package is being upgraded). Change the timeout if needed |
+ # be, or change d_stop to have start-stop-daemon use --retry. |
+ # Notice that using --retry slows down the shutdown process somewhat. |
+ sleep 1 |
+ d_start |
+ log_end_msg 0 |
+ ;; |
+ status) |
+ d_running || status="not " |
+ log_action_msg "Status of $DESC:" "${status}running" |
+ ;; |
+ *) |
+ # echo "Usage: $SCRIPTNAME {start|stop|restart|reload|force-reload}" >&2 |
+ echo "Usage: $SCRIPTNAME {start|stop|restart|force-reload}" >&2 |
+ exit 1 |
+ ;; |
+esac |
+ |
+exit 0 |
Index: 1.6.2-9/debian/pyscrabble.svg |
=================================================================== |
--- 1.6.2-9/debian/pyscrabble.svg (nonexistent) |
+++ 1.6.2-9/debian/pyscrabble.svg (revision 50) |
@@ -0,0 +1,134 @@ |
+<?xml version="1.0" encoding="UTF-8" standalone="no"?> |
+<!-- Created with Inkscape (http://www.inkscape.org/) --> |
+<svg |
+ xmlns:svg="http://www.w3.org/2000/svg" |
+ xmlns="http://www.w3.org/2000/svg" |
+ xmlns:xlink="http://www.w3.org/1999/xlink" |
+ version="1.0" |
+ width="48" |
+ height="48" |
+ id="svg2"> |
+ <defs |
+ id="defs2161"> |
+ <linearGradient |
+ id="linearGradient3322"> |
+ <stop |
+ style="stop-color:#fffbb3;stop-opacity:1" |
+ offset="0" |
+ id="stop3324" /> |
+ <stop |
+ style="stop-color:#ffffff;stop-opacity:1" |
+ offset="1" |
+ id="stop3326" /> |
+ </linearGradient> |
+ <linearGradient |
+ x1="6.1415935" |
+ y1="4.2645912" |
+ x2="28.514658" |
+ y2="25.856602" |
+ id="linearGradient3173" |
+ xlink:href="#linearGradient3322" |
+ gradientUnits="userSpaceOnUse" /> |
+ <linearGradient |
+ x1="30.174149" |
+ y1="9.0219412" |
+ x2="57.566223" |
+ y2="16.681988" |
+ id="linearGradient3181" |
+ xlink:href="#linearGradient3322" |
+ gradientUnits="userSpaceOnUse" /> |
+ </defs> |
+ <g |
+ transform="translate(-2.0709641,-0.8423864)" |
+ id="layer1"> |
+ <g |
+ transform="matrix(0.9070704,0.4209789,-0.4209789,0.9070704,0,0)" |
+ id="g13"> |
+ <rect |
+ width="26.202082" |
+ height="26.004381" |
+ ry="3.9024839" |
+ x="30.423489" |
+ y="2.5394692" |
+ style="opacity:0.5;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.70000005;stroke-linecap:butt;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:8.85826766;stroke-opacity:1" |
+ id="tileYshadow" /> |
+ <rect |
+ width="26.202082" |
+ height="26.004381" |
+ ry="3.9024839" |
+ x="29.283966" |
+ y="1.7459282" |
+ style="opacity:1;fill:url(#linearGradient3181);fill-opacity:1;fill-rule:evenodd;stroke:#8d794c;stroke-width:0.80000001;stroke-linecap:butt;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:8.85826766;stroke-opacity:1" |
+ id="tileY" /> |
+ <path |
+ d="M 46.84375,8.1875 L 44.78125,9.28125 L 44.40625,9.28125 L 41.375,13.84375 L 40.90625,14.53125 L 40.875,12.53125 L 43.65625,8.4375 L 43.8125,8.1875 L 44.125,8.1875 L 45.8125,8.1875 L 46.84375,8.1875 z " |
+ style="fill:#8d794c;fill-opacity:1;stroke:none;stroke-width:1.10000002;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1" |
+ id="path3430" /> |
+ <path |
+ d="M 40.65625,19.84375 L 39.5625,20.96875 L 40.09375,20.96875 L 41.6875,20.96875 L 42.21875,20.96875 L 42.21875,20.40625 L 42.21875,15.03125 L 46.25,9.0625 L 46.84375,8.1875 L 44.78125,9.28125 L 41.21875,14.53125 L 41.125,14.6875 L 41.125,14.84375 L 41.125,19.84375 L 40.65625,19.84375 z " |
+ style="fill:#fefefb;fill-opacity:1;stroke:none;stroke-width:1.10000002;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1" |
+ id="path3428" /> |
+ <path |
+ d="M 37.96875,8.1875 L 37.375,9.28125 L 40.4375,13.84375 L 40.90625,14.53125 L 40.875,12.53125 L 38.125,8.4375 L 37.96875,8.1875 z " |
+ style="fill:#fefefb;fill-opacity:1;stroke:none;stroke-width:1.10000002;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1" |
+ id="path3434" /> |
+ <path |
+ d="M 37.375,9.28125 L 37.96875,8.1875 L 37.65625,8.1875 L 35.96875,8.1875 L 35.96875,8.75 L 35.53125,9.0625 L 39.5625,15.03125 L 39.5625,20.40625 L 39.5625,20.96875 L 40.65625,19.84375 L 40.65625,14.84375 L 40.65625,14.6875 L 40.5625,14.53125 L 37,9.28125 L 37.375,9.28125 z " |
+ style="fill:#8d794c;fill-opacity:1;stroke:none;stroke-width:1.10000002;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1" |
+ id="path3436" /> |
+ <path |
+ d="M 35.97274,8.7394714 L 37.668053,8.7394714 L 40.902428,13.536346 L 44.113365,8.7394714 L 45.808678,8.7394714 L 41.683678,14.848846 L 41.683678,20.403534 L 40.09774,20.403534 L 40.09774,14.848846 L 35.97274,8.7394714" |
+ style="fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" |
+ id="letterY" /> |
+ <path |
+ d="M 51.277542,20.673149 L 49.783401,23.00811 L 51.277542,23.00811 L 51.277542,20.673149 M 51.122269,20.157524 L 51.866409,20.157524 L 51.866409,23.00811 L 52.490433,23.00811 L 52.490433,23.500298 L 51.866409,23.500298 L 51.866409,24.531548 L 51.277542,24.531548 L 51.277542,23.500298 L 49.302933,23.500298 L 49.302933,22.929008 L 51.122269,20.157524" |
+ style="font-size:6px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans" |
+ id="scoreY4" /> |
+ <path |
+ d="M 29.908225,24.477376 L 29.838143,5.5589413 C 29.831911,3.8766265 31.356144,2.3820769 33.122915,2.3808636 L 51.972184,2.3679194" |
+ style="opacity:0.8;fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#fefdf8;stroke-width:1.20000005;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" |
+ id="path3413" /> |
+ </g> |
+ <g |
+ id="g19"> |
+ <path |
+ d="M 8.125,2.25 C 5.9630239,2.25 4.21875,3.9942741 4.21875,6.15625 L 4.21875,24.34375 C 4.21875,26.505726 5.9630239,28.25 8.125,28.25 L 26.53125,28.25 C 28.693226,28.25 30.437501,26.505725 30.4375,24.34375 L 30.4375,6.15625 C 30.4375,3.9942739 28.693226,2.25 26.53125,2.25 L 8.125,2.25 z " |
+ transform="translate(0.9002141,1.0003907)" |
+ style="opacity:0.5;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.69999999;stroke-linecap:butt;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dashoffset:8.85826766;stroke-opacity:1" |
+ id="tilePshadow" /> |
+ <path |
+ d="M 8.125,2.25 C 5.9630239,2.25 4.21875,3.9942741 4.21875,6.15625 L 4.21875,24.34375 C 4.21875,26.505726 5.9630239,28.25 8.125,28.25 L 26.53125,28.25 C 28.693226,28.25 30.437501,26.505725 30.4375,24.34375 L 30.4375,6.15625 C 30.4375,3.9942739 28.693226,2.25 26.53125,2.25 L 8.125,2.25 z " |
+ transform="translate(-0.3,-0.1999957)" |
+ style="opacity:1;fill:url(#linearGradient3173);fill-opacity:1;fill-rule:evenodd;stroke:#8d794c;stroke-width:0.80000001;stroke-linecap:butt;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:8.85826766;stroke-opacity:1" |
+ id="tileP" /> |
+ <path |
+ d="M 26.42889,22.924213 C 26.712091,22.984763 26.932794,23.110739 27.091,23.302143 C 27.251153,23.493551 27.331231,23.729879 27.331234,24.011127 C 27.331231,24.442769 27.182793,24.776753 26.885921,25.013081 C 26.589044,25.249409 26.167169,25.367573 25.620296,25.367573 C 25.436701,25.367573 25.247248,25.349018 25.051937,25.311909 C 24.858577,25.276752 24.658382,25.223042 24.451351,25.150776 L 24.451351,24.579487 C 24.615413,24.675191 24.7951,24.747456 24.990414,24.796284 C 25.185725,24.845112 25.389826,24.869526 25.602718,24.869526 C 25.97381,24.869526 26.256036,24.796284 26.449398,24.649799 C 26.644708,24.503316 26.742364,24.290425 26.742367,24.011127 C 26.742364,23.753317 26.651544,23.552145 26.469906,23.407612 C 26.290216,23.261129 26.03924,23.187887 25.716976,23.187885 L 25.207211,23.187885 L 25.207211,22.701557 L 25.740414,22.701557 C 26.031427,22.70156 26.254083,22.643943 26.408382,22.528706 C 26.562677,22.411521 26.639825,22.243552 26.639828,22.024799 C 26.639825,21.800193 26.559747,21.628319 26.399593,21.509174 C 26.241388,21.388084 26.013849,21.327538 25.716976,21.327534 C 25.554865,21.327538 25.381037,21.345116 25.195492,21.380268 C 25.009944,21.415428 24.805843,21.470116 24.583187,21.544331 L 24.583187,21.016987 C 24.807796,20.954491 25.017756,20.907616 25.21307,20.876362 C 25.410334,20.845116 25.595881,20.829491 25.769711,20.829487 C 26.218927,20.829491 26.574395,20.93203 26.836117,21.137104 C 27.097832,21.340233 27.228692,21.615623 27.228695,21.963276 C 27.228692,22.205466 27.159356,22.410544 27.020687,22.57851 C 26.882012,22.744528 26.684747,22.859763 26.42889,22.924213" |
+ style="font-size:6px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans" |
+ id="scoreP3" /> |
+ <path |
+ d="M 20.263752,9.4931922 L 19.65112,10.206136 C 19.65112,10.206136 20.587362,11.508696 20.58737,12.647073 C 20.587363,13.797359 20.301013,14.548015 19.684558,15.088011 C 19.072288,15.62853 18.104947,15.957391 16.775495,15.957386 L 14.668933,15.957386 L 14.234245,15.957386 L 14.234245,16.392073 L 14.234245,20.973011 L 13.398308,20.973011 L 12.484739,21.88658 L 12.96362,21.88658 L 14.668933,21.88658 L 15.147814,21.88658 L 15.147814,21.407698 L 15.147814,16.870955 L 16.775495,16.870955 C 18.243636,16.87096 19.449341,16.519927 20.263752,15.800955 C 21.085091,15.081486 21.500929,13.960033 21.500939,12.647073 C 21.50093,11.344535 21.086968,10.214326 20.263752,9.4931922 z " |
+ style="fill:#fefefb;fill-opacity:1;stroke:none;stroke-width:0.80000001;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1" |
+ id="path3276" /> |
+ <path |
+ d="M 20.263752,9.4931922 L 19.65112,10.206136 C 19.039993,9.6618676 18.106085,9.3367731 16.775495,9.3367614 L 13.398308,9.3367614 L 13.398308,20.973011 L 12.484739,21.88658 L 12.484739,21.407698 L 12.484739,8.9020739 L 12.484739,8.4231922 L 12.96362,8.4231922 L 16.775495,8.4231922 C 18.242497,8.4232054 19.448198,8.7668606 20.263752,9.4931922 z " |
+ style="fill:#8d794c;fill-opacity:1;stroke:none;stroke-width:0.80000001;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1" |
+ id="path3280" /> |
+ <path |
+ d="M 18.269426,11.253455 L 18.915495,10.607386 C 19.443624,11.108101 19.68455,11.821528 19.684558,12.647073 C 19.684549,13.477625 19.442217,14.187404 18.915495,14.686761 C 18.385564,15.189165 17.632101,15.422393 16.775495,15.422386 L 14.668933,15.422386 L 14.234245,15.422386 L 15.10362,14.508817 L 16.775495,14.508817 C 17.490441,14.508822 17.941116,14.351949 18.269426,14.040692 C 18.600921,13.726419 18.770983,13.321227 18.770989,12.647073 C 18.770982,11.979098 18.599514,11.566406 18.269426,11.253455 z " |
+ style="fill:#8d794c;fill-opacity:1;stroke:none;stroke-width:0.80000001;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1" |
+ id="path3255" /> |
+ <path |
+ d="M 14.234245,15.422386 L 15.147814,14.553011 L 15.147814,10.78533 L 16.775495,10.78533 C 17.490447,10.785341 17.941115,10.942212 18.269426,11.253455 L 18.915495,10.607386 C 18.385565,10.105005 17.632096,9.8717738 16.775495,9.871761 L 14.668933,9.871761 L 14.234245,9.871761 L 14.234245,10.306448 L 14.234245,14.987698 L 14.234245,15.422386 z " |
+ style="fill:#fefefb;fill-opacity:1;stroke:none;stroke-width:0.80000001;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1" |
+ id="path3259" /> |
+ <path |
+ d="M 14.648235,10.304991 L 14.648235,14.994601 L 16.771516,14.994601 C 17.557292,14.994607 18.164738,14.791196 18.59386,14.384366 C 19.022967,13.977551 19.237525,13.397968 19.237532,12.645616 C 19.237525,11.898856 19.022967,11.322059 18.59386,10.915226 C 18.164738,10.508414 17.557292,10.305003 16.771516,10.304991 L 14.648235,10.304991 M 12.959641,8.9173353 L 16.771516,8.9173353 C 18.170312,8.9173478 19.226378,9.2350038 19.93972,9.8703036 C 20.658616,10.500054 21.018069,11.425158 21.018078,12.645616 C 21.018069,13.877239 20.658616,14.807915 19.93972,15.437647 C 19.226378,16.067393 18.170312,16.382263 16.771516,16.382257 L 14.648235,16.382257 L 14.648235,21.397882 L 12.959641,21.397882 L 12.959641,8.9173353" |
+ style="fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.30000001;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1" |
+ id="letterP" /> |
+ <path |
+ d="M 4.5374933,24.728649 L 4.4674108,5.8102166 C 4.4611787,4.1279018 5.9854122,2.6333522 7.7521826,2.6321389 L 26.601452,2.6191947" |
+ style="opacity:0.8;fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#fefdf8;stroke-width:1.20000005;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" |
+ id="path3295" /> |
+ </g> |
+ </g> |
+</svg> |
Index: 1.6.2-9/debian/pyscrabble.menu |
=================================================================== |
--- 1.6.2-9/debian/pyscrabble.menu (nonexistent) |
+++ 1.6.2-9/debian/pyscrabble.menu (revision 50) |
@@ -0,0 +1,8 @@ |
+?package(pyscrabble):\ |
+ needs="X11"\ |
+ section="Games/Board"\ |
+ title="PyScrabble"\ |
+ longtitle="A classic word game"\ |
+ command="/usr/games/pyscrabble"\ |
+ icon16x16="/usr/share/pixmaps/pyscrabble-16x16.xpm"\ |
+ icon32x32="/usr/share/pixmaps/pyscrabble-32x32.xpm" |
Index: 1.6.2-9/debian/pyscrabble.desktop |
=================================================================== |
--- 1.6.2-9/debian/pyscrabble.desktop (nonexistent) |
+++ 1.6.2-9/debian/pyscrabble.desktop (revision 50) |
@@ -0,0 +1,11 @@ |
+[Desktop Entry] |
+Version=1.0 |
+Name=PyScrabble |
+Comment=A classical game of words |
+Comment[de]=Ein klassisches Wörterspiel |
+Comment[sv]=Ett klassiskt ordspel |
+Exec=pyscrabble |
+Icon=pyscrabble |
+Terminal=false |
+Type=Application |
+Categories=Game;BoardGame;GTK; |
Index: 1.6.2-9/debian/watch |
=================================================================== |
--- 1.6.2-9/debian/watch (nonexistent) |
+++ 1.6.2-9/debian/watch (revision 50) |
@@ -0,0 +1,3 @@ |
+version=3 |
+ |
+http://sf.net/pyscrabble/pyscrabble-(.*)-src.zip debian uupdate |
Index: 1.6.2-9/debian/copyright |
=================================================================== |
--- 1.6.2-9/debian/copyright (nonexistent) |
+++ 1.6.2-9/debian/copyright (revision 50) |
@@ -0,0 +1,32 @@ |
+This package was debianized by Magnus Holmgren <magnus@kibibyte.se> on |
+2006-09-20. |
+ |
+It was downloaded from <http://pyscrabble.sourceforge.net/> |
+ |
+Upstream Author: Kevin Conaway <kevin.a.conaway@gmail.com> |
+ |
+Copyright: |
+ |
+ Copyright © 2005-2007 Kevin Conaway |
+ |
+License: |
+ |
+ This package is free software; you can redistribute it and/or modify |
+ it under the terms of the GNU General Public License as published by |
+ the Free Software Foundation; either version 2 of the License, or |
+ (at your option) any later version. |
+ |
+ This package 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 can be found in `/usr/share/common-licenses/GPL'. |
+ |
+The Debian packaging is © 2007, Magnus Holmgren <magnus@kibibyte.se> and |
+is licensed under the GPL, see above. |
Index: 1.6.2-9/debian/pyscrabble-server.postinst |
=================================================================== |
--- 1.6.2-9/debian/pyscrabble-server.postinst (nonexistent) |
+++ 1.6.2-9/debian/pyscrabble-server.postinst (revision 50) |
@@ -0,0 +1,12 @@ |
+#!/bin/sh |
+ |
+set -e |
+ |
+if [ "$1" = "configure" ]; then |
+ adduser --quiet --system --home /var/lib/pyscrabble --no-create-home \ |
+ --gecos "PyScrabble server" pyscrabble |
+ install -d -opyscrabble -m2750 /var/lib/pyscrabble |
+ install -d -opyscrabble -gadm -m2750 /var/log/pyscrabble |
+fi |
+ |
+#DEBHELPER# |
Index: 1.6.2-9/debian/pyscrabble-server.postrm |
=================================================================== |
--- 1.6.2-9/debian/pyscrabble-server.postrm (nonexistent) |
+++ 1.6.2-9/debian/pyscrabble-server.postrm (revision 50) |
@@ -0,0 +1,13 @@ |
+#!/bin/sh |
+ |
+set -e |
+ |
+if [ "$1" = "purge" ]; then |
+ rm -rf /var/lib/pyscrabble |
+ rm -rf /var/log/pyscrabble |
+ if which deluser > /dev/null; then |
+ deluser --quiet --system pyscrabble |
+ fi |
+fi |
+ |
+#DEBHELPER# |
Index: 1.6.2-9/debian/pyscrabble-server.default |
=================================================================== |
--- 1.6.2-9/debian/pyscrabble-server.default (nonexistent) |
+++ 1.6.2-9/debian/pyscrabble-server.default (revision 50) |
@@ -0,0 +1,8 @@ |
+# This file will be sourced by /etc/init.d/pyscrabble-server |
+ |
+# The user the server will run as. You'll have to make sure that the |
+# user exists yourself. |
+#USER=pyscrabble |
+ |
+# You can change the name of the PID file that the init script uses. |
+#PIDFILE=/var/run/pyscrabble-server.pid |
Index: 1.6.2-9/debian |
=================================================================== |
--- 1.6.2-9/debian (nonexistent) |
+++ 1.6.2-9/debian (revision 50) |
/1.6.2-9/debian |
---|
Property changes: |
Added: mergeWithUpstream |
## -0,0 +1 ## |
+1 |
\ No newline at end of property |