Subversion Repositories pyscrabble

Compare Revisions

Ignore whitespace Rev 46 → Rev 50

/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