Subversion Repositories pyscrabble

Compare Revisions

Ignore whitespace Rev 9 → Rev 10

/tags/1.6.2-2.1/debian/watch
File deleted
/tags/1.6.2-2.1/debian/pyscrabble-server.README.Debian
File deleted
/tags/1.6.2-2.1/debian/copyright
File deleted
/tags/1.6.2-2.1/debian/pyscrabble-server.postinst
File deleted
/tags/1.6.2-2.1/debian/pyscrabble-server.default
File deleted
/tags/1.6.2-2.1/debian/pyscrabble-server.postrm
File deleted
/tags/1.6.2-2.1/debian/control
File deleted
/tags/1.6.2-2.1/debian/pyscrabble-common.install
File deleted
/tags/1.6.2-2.1/debian/compat
File deleted
/tags/1.6.2-2.1/debian/pyscrabble.svg
File deleted
/tags/1.6.2-2.1/debian/changelog
File deleted
/tags/1.6.2-2.1/debian/patches/20_about_close.dpatch
File deleted
Property changes:
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Index: 1.6.2-2.1/debian/patches/10_installation.dpatch
===================================================================
--- 1.6.2-2.1/debian/patches/10_installation.dpatch (revision 9)
+++ 1.6.2-2.1/debian/patches/10_installation.dpatch (nonexistent)
@@ -1,352 +0,0 @@
-#! /bin/sh /usr/share/dpatch/dpatch-run
-## 10_installation.dpatch by Magnus Holmgren <magnus@kibibyte.se>
-##
-## All lines beginning with `## DP:' are a description of the patch.
-## DP: Mostly adapt server to run as a daemon
-
-@DPATCH@
-
---- pyscrabble-1.6.2.orig/pyscrabble/net/server.py
-+++ pyscrabble-1.6.2/pyscrabble/net/server.py
-@@ -46,7 +46,7 @@
- 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 ):
---- pyscrabble-1.6.2.orig/pyscrabble/dist.py
-+++ pyscrabble-1.6.2/pyscrabble/dist.py
-@@ -1,8 +1,6 @@
- import glob
- import os
- import sys
--from distutils.command.install_lib import install_lib
--from distutils.command.install_scripts import install_scripts
-
- APP_NAME = 'pyscrabble'
-
-@@ -31,50 +29,13 @@
- 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 = []
--
-- langs = os.listdir( dir )
-- for lang in langs:
-- d = os.path.join(dir,lang,"LC_MESSAGES")
-- path = os.path.join(d, '%s.mo' % domain)
-- l.append( (d,[path]) )
--
-- return l
--
--def getResourceDirs(dir, ensureLower=True, basePath = None, outdir=None):
-- result = []
-- absolute = os.path.abspath(dir)
--
-- base = basePath
-- if base is None:
-- base = os.path.dirname(absolute)
-- else:
-- base = os.path.dirname( os.path.abspath(base) )
--
-- for root, dirs, files in os.walk(absolute):
-- if ensureLower and not os.path.basename(root).islower(): continue
-- if len(files) > 0:
-- f = []
-- d = root[len(base)+1:]
-- if outdir is not None:
-- d = os.path.join(outdir, d)
-- for file in files:
-- f.append( os.path.join(root, file) )
-- result.append( (d, f) )
-- return result
--
--def getDataFiles():
-- return getLocaleDirs('resources/locale',APP_NAME) + \
-- [('resources/images', glob.glob('resources/images/*.*')), \
-- ('resources/sounds', glob.glob('resources/sounds/*.*')), \
-- ('config', glob.glob('resources/config/*.cfg')), \
-- ('resources/web', glob.glob('resources/web/*.*'))] + \
-- 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):
- '''
-@@ -86,45 +47,6 @@
- os.makedirs(dir)
-
-
--class InstallScripts(install_scripts):
-- '''
-- install_scripts handler to strip any possible ^M's from files so they will run properly on unix
-- '''
--
-- def run(self):
-- install_scripts.run(self)
-- for file in self.get_outputs():
-- self.fix(file)
--
-- def fix(self, path):
-- f = open(path, "rb")
-- data = f.read().replace("\r\n", "\n")
-- f.close()
-- f = open(path, "w")
-- f.write(data)
-- f.close()
--
--
--class InstallLib(install_lib):
--
-- def generate_template(self):
-- filename = os.path.join(self.build_dir, APP_NAME, '__installed__.py')
-- self.mkpath(os.path.dirname(filename))
--
-- install = self.distribution.get_command_obj('install')
-- datadir = os.path.join(install.prefix, 'share', APP_NAME)
--
-- fp = open(filename, 'w')
-- fp.write('# Generated by setup.py do not modify\n')
-- fp.write("RESOURCE_PREFIX = '%s'\n" % datadir)
-- fp.close()
--
-- return filename
--
-- def install(self):
-- template = self.generate_template()
-- return install_lib.install(self) + [template]
--
- class Resource(object):
- '''
- Filesystem resource
---- pyscrabble-1.6.2.orig/pyscrabble/db.py
-+++ pyscrabble-1.6.2/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 @@
- '''
- 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)
---- pyscrabble-1.6.2.orig/pyscrabble/manager.py
-+++ pyscrabble-1.6.2/pyscrabble/manager.py
-@@ -36,6 +36,7 @@
- '''
- 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 )
-
---- pyscrabble-1.6.2.orig/server_console.py
-+++ pyscrabble-1.6.2/server_console.py
-@@ -76,15 +76,15 @@
- '''
- 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)
---- pyscrabble-1.6.2.orig/setup.py
-+++ pyscrabble-1.6.2/setup.py
-@@ -7,20 +7,130 @@
- HAS_PY2EXE = False
- import glob
- import os
--import pkg_resources
-+#import pkg_resources
- 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
- 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])
-+
-+def getLocaleDirs(dir, domain):
-+ l = []
-+
-+ langs = os.listdir( dir )
-+ for lang in langs:
-+ d = os.path.join(dir,lang,"LC_MESSAGES")
-+ path = os.path.join(d, '%s.mo' % domain)
-+ l.append( (d,[path]) )
-+
-+ return l
-+
-+def getResourceDirs(dir, ensureLower=True, basePath = None, outdir=None):
-+ result = []
-+ absolute = os.path.abspath(dir)
-+
-+ base = basePath
-+ if base is None:
-+ base = os.path.dirname(absolute)
- else:
-- return item
-+ base = os.path.dirname( os.path.abspath(base) )
-+
-+ for root, dirs, files in os.walk(absolute):
-+ if ensureLower and not os.path.basename(root).islower(): continue
-+ if len(files) > 0:
-+ f = []
-+ d = root[len(base)+1:]
-+ if outdir is not None:
-+ d = os.path.join(outdir, d)
-+ for file in files:
-+ f.append( os.path.join(root, file) )
-+ result.append( (d, f) )
-+ return result
-+
-+def getDataFiles():
-+ return getLocaleDirs('resources/locale',dist.APP_NAME) + \
-+ [('resources/images', glob.glob('resources/images/*.*')), \
-+ ('resources/sounds', glob.glob('resources/sounds/*.*')), \
-+ ('config', glob.glob('resources/config/*.cfg')), \
-+ ('resources/web', glob.glob('resources/web/*.*'))] + \
-+ getResourceDirs('resources/dict', True, 'resources') + \
-+ getResourceDirs('resources/letters', True, 'resources')
-+
-+class InstallScripts(install_scripts):
-+ '''
-+ install_scripts handler to strip any possible ^Ms from files so they will run properly on unix
-+ '''
-+
-+ def run(self):
-+ install_scripts.run(self)
-+ for file in self.get_outputs():
-+ self.fix(file)
-+
-+ def fix(self, path):
-+ f = open(path, "rb")
-+ data = f.read().replace("\r\n", "\n")
-+ f.close()
-+ f = open(path, "w")
-+ f.write(data)
-+ f.close()
-+
-+
-+class InstallLib(install_lib):
-+
-+ def generate_template(self):
-+ filename = os.path.join(self.build_dir, dist.APP_NAME, '__installed__.py')
-+ self.mkpath(os.path.dirname(filename))
-+
-+ install = self.distribution.get_command_obj('install')
-+ datadir = os.path.join(install.prefix, 'share', 'games', dist.APP_NAME)
-+
-+ fp = open(filename, 'w')
-+ fp.write('# Generated by setup.py do not modify\n')
-+ 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
-+
-+ def install(self):
-+ 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/pyscrabble/'), 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):
-+ print self.logdir
-+ install.finalize_options(self)
-
- kwargs = {
- 'name': 'pyscrabble',
-@@ -28,7 +138,7 @@
- 'author': 'Kevin Conaway',
- 'author_email': 'kevin.a.conaway@gmail.com',
- 'url': 'http://pyscrabble.sourceforge.net',
-- 'data_files': dist.getDataFiles(),
-+ 'data_files': getDataFiles(),
- 'packages': ['pyscrabble', 'pyscrabble.command', 'pyscrabble.game', 'pyscrabble.gui', 'pyscrabble.net']
- }
-
-@@ -77,10 +187,10 @@
- kwargs['data_files'] += [('.', ['CHANGELOG.txt'])]
- kwargs['data_files'] += [('.', ['LICENSE.txt'])]
- #for egg in eggpacks:
-- # kwargs['data_files'] += dist.getResourceDirs(egg.location, ensureLower=False, basePath=None, outdir='extra')
-+ # kwargs['data_files'] += 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': Install, 'install_lib': InstallLib, 'install_scripts' : InstallScripts, 'install_data': InstallData}
-
--setup(**kwargs)
-\ No newline at end of file
-+setup(**kwargs)
/1.6.2-2.1/debian/patches/10_installation.dpatch
Property changes:
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Index: 1.6.2-2.1/debian/patches/00list
===================================================================
--- 1.6.2-2.1/debian/patches/00list (revision 9)
+++ 1.6.2-2.1/debian/patches/00list (nonexistent)
@@ -1,2 +0,0 @@
-10_installation
-20_about_close
Index: 1.6.2-2.1/debian/pyscrabble.menu
===================================================================
--- 1.6.2-2.1/debian/pyscrabble.menu (revision 9)
+++ 1.6.2-2.1/debian/pyscrabble.menu (nonexistent)
@@ -1,8 +0,0 @@
-?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-2.1/debian/rules
===================================================================
--- 1.6.2-2.1/debian/rules (revision 9)
+++ 1.6.2-2.1/debian/rules (nonexistent)
@@ -1,95 +0,0 @@
-#!/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
-
-include /usr/share/dpatch/dpatch.make
-
-clean: clean-patched unpatch
- dh_clean
-
-clean-patched: patch-stamp
- dh_testdir
- dh_testroot
- rm -f build-stamp
- rm -f pyscrabble-*.png pyscrabble-*.xpm
-
- python setup.py clean -a
- find -name '*.pyc' -delete
-
-build: patch-stamp
- python setup.py build
-
- for size in $(ICON_SIZES); do \
- rsvg -h $$size -w $$size debian/pyscrabble.svg pyscrabble-$$size.png; \
- done
- for size in $(PIXMAP_SIZES); do \
- convert pyscrabble-$$size.png pyscrabble-$${size}x$${size}.xpm; \
- done
-
-install: build
- dh_testdir
- dh_testroot
- dh_clean -k
-
- python setup.py install --no-compile --root=$(DESTDIR) \
- --install-scripts=/usr/games \
- --confdir=/etc/pyscrabble \
- --logdir=/var/log/pyscrabble \
- --dbdir=/var/lib/pyscrabble
- mv $(DESTDIR)/usr/games/pyscrabble-main.py $(DESTDIR)/usr/games/pyscrabble
- mv $(DESTDIR)/usr/games/server_console.py $(DESTDIR)/usr/games/pyscrabble-server
-# rm $(DESTDIR)/usr/bin/db_upgrade.py
- 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_pycentral
- dh_installchangelogs CHANGELOG.txt
- dh_installdocs
- dh_installexamples
- dh_installman
- dh_installinit -r
- dh_installmenu
- dh_desktop
- dh_strip
- dh_compress
- dh_fixperms
- dh_installdeb
- dh_shlibdeps
- dh_gencontrol
- dh_md5sums
- dh_builddeb
-
-binary: binary-indep binary-arch
-.PHONY: build clean binary-indep binary-arch binary install configure
/1.6.2-2.1/debian/rules
Property changes:
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Index: 1.6.2-2.1/debian/pyscrabble.install
===================================================================
--- 1.6.2-2.1/debian/pyscrabble.install (revision 9)
+++ 1.6.2-2.1/debian/pyscrabble.install (nonexistent)
@@ -1,10 +0,0 @@
-usr/games/pyscrabble
-usr/lib/python*/site-packages/pyscrabble/gui
-usr/lib/python*/site-packages/pyscrabble/net/client.py
-usr/lib/python*/site-packages/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-2.1/debian/pyscrabble-server.init
===================================================================
--- 1.6.2-2.1/debian/pyscrabble-server.init (revision 9)
+++ 1.6.2-2.1/debian/pyscrabble-server.init (nonexistent)
@@ -1,115 +0,0 @@
-#!/bin/sh
-### BEGIN INIT INFO
-# Provides: pyscrabble
-# Required-Start: $local_fs $remote_fs
-# Required-Stop: $local_fs $remote_fs
-# Default-Start: 2 3 4 5
-# Default-Stop: S 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/games/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-2.1/debian/pyscrabble.desktop
===================================================================
--- 1.6.2-2.1/debian/pyscrabble.desktop (revision 9)
+++ 1.6.2-2.1/debian/pyscrabble.desktop (nonexistent)
@@ -1,11 +0,0 @@
-[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-2.1/debian/pyscrabble-server.install
===================================================================
--- 1.6.2-2.1/debian/pyscrabble-server.install (revision 9)
+++ 1.6.2-2.1/debian/pyscrabble-server.install (nonexistent)
@@ -1,8 +0,0 @@
-usr/games/pyscrabble-server
-usr/lib/python*/site-packages/pyscrabble/db.py
-usr/lib/python*/site-packages/pyscrabble/net/server.py
-usr/lib/python*/site-packages/pyscrabble/net/site.py
-usr/lib/python*/site-packages/pyscrabble/net/interfaces.py
-usr/share/games/pyscrabble/web
-usr/share/games/pyscrabble/dict
-etc/pyscrabble
Index: 1.6.2-2.1/debian
===================================================================
--- 1.6.2-2.1/debian (revision 9)
+++ 1.6.2-2.1/debian (nonexistent)
/1.6.2-2.1/debian
Property changes:
Deleted: mergeWithUpstream
## -1 +0,0 ##
-1
\ No newline at end of property
Index: 1.6.2-2/debian/control
===================================================================
--- 1.6.2-2/debian/control (nonexistent)
+++ 1.6.2-2/debian/control (revision 10)
@@ -0,0 +1,93 @@
+Source: pyscrabble
+Section: games
+Priority: optional
+Maintainer: Magnus Holmgren <magnus@kibibyte.se>
+Build-Depends: debhelper (>= 5.0.38), dpatch, python
+Build-Depends-Indep: python-central (>= 0.5.6), librsvg2-bin, imagemagick
+Standards-Version: 3.7.2
+Homepage: http://pyscrabble.sourceforge.net
+XS-Python-Version: current
+XS-Vcs-Browser: http://svn.kibibyte.se/pyscrabble
+XS-Vcs-Svn: http://svn.kibibyte.se/pyscrabble/trunk
+
+Package: pyscrabble-common
+Architecture: all
+Depends: ${misc:Depends}, ${python:Depends}, python-twisted-core
+XB-Python-Version: ${python:Versions}
+Replaces: pyscrabble-server (<< 1.6.2-2)
+Description: a 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
+XB-Python-Version: ${python:Versions}
+Description: a 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
+XB-Python-Version: ${python:Versions}
+Priority: extra
+Description: a 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.
Index: 1.6.2-2/debian/changelog
===================================================================
--- 1.6.2-2/debian/changelog (nonexistent)
+++ 1.6.2-2/debian/changelog (revision 10)
@@ -0,0 +1,15 @@
+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
+
Index: 1.6.2-2/debian/pyscrabble-common.install
===================================================================
--- 1.6.2-2/debian/pyscrabble-common.install (nonexistent)
+++ 1.6.2-2/debian/pyscrabble-common.install (revision 10)
@@ -0,0 +1,14 @@
+usr/lib/python*/site-packages/pyscrabble/__*__.py
+usr/lib/python*/site-packages/pyscrabble/audit.py
+usr/lib/python*/site-packages/pyscrabble/dist.py
+usr/lib/python*/site-packages/pyscrabble/manager.py
+usr/lib/python*/site-packages/pyscrabble/util.py
+usr/lib/python*/site-packages/pyscrabble/serialize.py
+usr/lib/python*/site-packages/pyscrabble/constants.py
+usr/lib/python*/site-packages/pyscrabble/lookup.py
+usr/lib/python*/site-packages/pyscrabble/exceptions.py
+usr/lib/python*/site-packages/pyscrabble/game
+usr/lib/python*/site-packages/pyscrabble/command
+usr/lib/python*/site-packages/pyscrabble/net/__init__.py
+usr/lib/python*/site-packages/*.egg-info
+usr/share/games/pyscrabble/letters
Index: 1.6.2-2/debian/pyscrabble-server.install
===================================================================
--- 1.6.2-2/debian/pyscrabble-server.install (nonexistent)
+++ 1.6.2-2/debian/pyscrabble-server.install (revision 10)
@@ -0,0 +1,8 @@
+usr/games/pyscrabble-server
+usr/lib/python*/site-packages/pyscrabble/db.py
+usr/lib/python*/site-packages/pyscrabble/net/server.py
+usr/lib/python*/site-packages/pyscrabble/net/site.py
+usr/lib/python*/site-packages/pyscrabble/net/interfaces.py
+usr/share/games/pyscrabble/web
+usr/share/games/pyscrabble/dict
+etc/pyscrabble
Index: 1.6.2-2/debian/patches/20_about_close.dpatch
===================================================================
--- 1.6.2-2/debian/patches/20_about_close.dpatch (nonexistent)
+++ 1.6.2-2/debian/patches/20_about_close.dpatch (revision 10)
@@ -0,0 +1,18 @@
+#!/bin/sh /usr/share/dpatch/dpatch-run
+## 20_about_close.dpatch by Magnus Holmgren <magnus@kibibyte.se>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: Make the Close button in the About dialog work
+
+@DPATCH@
+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-2/debian/patches/20_about_close.dpatch
Property changes:
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: 1.6.2-2/debian/patches/00list
===================================================================
--- 1.6.2-2/debian/patches/00list (nonexistent)
+++ 1.6.2-2/debian/patches/00list (revision 10)
@@ -0,0 +1,2 @@
+10_installation
+20_about_close
Index: 1.6.2-2/debian/patches/10_installation.dpatch
===================================================================
--- 1.6.2-2/debian/patches/10_installation.dpatch (nonexistent)
+++ 1.6.2-2/debian/patches/10_installation.dpatch (revision 10)
@@ -0,0 +1,352 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## 10_installation.dpatch by Magnus Holmgren <magnus@kibibyte.se>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: Mostly adapt server to run as a daemon
+
+@DPATCH@
+
+--- pyscrabble-1.6.2.orig/pyscrabble/net/server.py
++++ pyscrabble-1.6.2/pyscrabble/net/server.py
+@@ -46,7 +46,7 @@
+ 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 ):
+--- pyscrabble-1.6.2.orig/pyscrabble/dist.py
++++ pyscrabble-1.6.2/pyscrabble/dist.py
+@@ -1,8 +1,6 @@
+ import glob
+ import os
+ import sys
+-from distutils.command.install_lib import install_lib
+-from distutils.command.install_scripts import install_scripts
+
+ APP_NAME = 'pyscrabble'
+
+@@ -31,50 +29,13 @@
+ 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 = []
+-
+- langs = os.listdir( dir )
+- for lang in langs:
+- d = os.path.join(dir,lang,"LC_MESSAGES")
+- path = os.path.join(d, '%s.mo' % domain)
+- l.append( (d,[path]) )
+-
+- return l
+-
+-def getResourceDirs(dir, ensureLower=True, basePath = None, outdir=None):
+- result = []
+- absolute = os.path.abspath(dir)
+-
+- base = basePath
+- if base is None:
+- base = os.path.dirname(absolute)
+- else:
+- base = os.path.dirname( os.path.abspath(base) )
+-
+- for root, dirs, files in os.walk(absolute):
+- if ensureLower and not os.path.basename(root).islower(): continue
+- if len(files) > 0:
+- f = []
+- d = root[len(base)+1:]
+- if outdir is not None:
+- d = os.path.join(outdir, d)
+- for file in files:
+- f.append( os.path.join(root, file) )
+- result.append( (d, f) )
+- return result
+-
+-def getDataFiles():
+- return getLocaleDirs('resources/locale',APP_NAME) + \
+- [('resources/images', glob.glob('resources/images/*.*')), \
+- ('resources/sounds', glob.glob('resources/sounds/*.*')), \
+- ('config', glob.glob('resources/config/*.cfg')), \
+- ('resources/web', glob.glob('resources/web/*.*'))] + \
+- 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):
+ '''
+@@ -86,45 +47,6 @@
+ os.makedirs(dir)
+
+
+-class InstallScripts(install_scripts):
+- '''
+- install_scripts handler to strip any possible ^M's from files so they will run properly on unix
+- '''
+-
+- def run(self):
+- install_scripts.run(self)
+- for file in self.get_outputs():
+- self.fix(file)
+-
+- def fix(self, path):
+- f = open(path, "rb")
+- data = f.read().replace("\r\n", "\n")
+- f.close()
+- f = open(path, "w")
+- f.write(data)
+- f.close()
+-
+-
+-class InstallLib(install_lib):
+-
+- def generate_template(self):
+- filename = os.path.join(self.build_dir, APP_NAME, '__installed__.py')
+- self.mkpath(os.path.dirname(filename))
+-
+- install = self.distribution.get_command_obj('install')
+- datadir = os.path.join(install.prefix, 'share', APP_NAME)
+-
+- fp = open(filename, 'w')
+- fp.write('# Generated by setup.py do not modify\n')
+- fp.write("RESOURCE_PREFIX = '%s'\n" % datadir)
+- fp.close()
+-
+- return filename
+-
+- def install(self):
+- template = self.generate_template()
+- return install_lib.install(self) + [template]
+-
+ class Resource(object):
+ '''
+ Filesystem resource
+--- pyscrabble-1.6.2.orig/pyscrabble/db.py
++++ pyscrabble-1.6.2/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 @@
+ '''
+ 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)
+--- pyscrabble-1.6.2.orig/pyscrabble/manager.py
++++ pyscrabble-1.6.2/pyscrabble/manager.py
+@@ -36,6 +36,7 @@
+ '''
+ 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 )
+
+--- pyscrabble-1.6.2.orig/server_console.py
++++ pyscrabble-1.6.2/server_console.py
+@@ -76,15 +76,15 @@
+ '''
+ 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)
+--- pyscrabble-1.6.2.orig/setup.py
++++ pyscrabble-1.6.2/setup.py
+@@ -7,20 +7,130 @@
+ HAS_PY2EXE = False
+ import glob
+ import os
+-import pkg_resources
++#import pkg_resources
+ 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
+ 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])
++
++def getLocaleDirs(dir, domain):
++ l = []
++
++ langs = os.listdir( dir )
++ for lang in langs:
++ d = os.path.join(dir,lang,"LC_MESSAGES")
++ path = os.path.join(d, '%s.mo' % domain)
++ l.append( (d,[path]) )
++
++ return l
++
++def getResourceDirs(dir, ensureLower=True, basePath = None, outdir=None):
++ result = []
++ absolute = os.path.abspath(dir)
++
++ base = basePath
++ if base is None:
++ base = os.path.dirname(absolute)
+ else:
+- return item
++ base = os.path.dirname( os.path.abspath(base) )
++
++ for root, dirs, files in os.walk(absolute):
++ if ensureLower and not os.path.basename(root).islower(): continue
++ if len(files) > 0:
++ f = []
++ d = root[len(base)+1:]
++ if outdir is not None:
++ d = os.path.join(outdir, d)
++ for file in files:
++ f.append( os.path.join(root, file) )
++ result.append( (d, f) )
++ return result
++
++def getDataFiles():
++ return getLocaleDirs('resources/locale',dist.APP_NAME) + \
++ [('resources/images', glob.glob('resources/images/*.*')), \
++ ('resources/sounds', glob.glob('resources/sounds/*.*')), \
++ ('config', glob.glob('resources/config/*.cfg')), \
++ ('resources/web', glob.glob('resources/web/*.*'))] + \
++ getResourceDirs('resources/dict', True, 'resources') + \
++ getResourceDirs('resources/letters', True, 'resources')
++
++class InstallScripts(install_scripts):
++ '''
++ install_scripts handler to strip any possible ^Ms from files so they will run properly on unix
++ '''
++
++ def run(self):
++ install_scripts.run(self)
++ for file in self.get_outputs():
++ self.fix(file)
++
++ def fix(self, path):
++ f = open(path, "rb")
++ data = f.read().replace("\r\n", "\n")
++ f.close()
++ f = open(path, "w")
++ f.write(data)
++ f.close()
++
++
++class InstallLib(install_lib):
++
++ def generate_template(self):
++ filename = os.path.join(self.build_dir, dist.APP_NAME, '__installed__.py')
++ self.mkpath(os.path.dirname(filename))
++
++ install = self.distribution.get_command_obj('install')
++ datadir = os.path.join(install.prefix, 'share', 'games', dist.APP_NAME)
++
++ fp = open(filename, 'w')
++ fp.write('# Generated by setup.py do not modify\n')
++ 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
++
++ def install(self):
++ 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/pyscrabble/'), 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):
++ print self.logdir
++ install.finalize_options(self)
+
+ kwargs = {
+ 'name': 'pyscrabble',
+@@ -28,7 +138,7 @@
+ 'author': 'Kevin Conaway',
+ 'author_email': 'kevin.a.conaway@gmail.com',
+ 'url': 'http://pyscrabble.sourceforge.net',
+- 'data_files': dist.getDataFiles(),
++ 'data_files': getDataFiles(),
+ 'packages': ['pyscrabble', 'pyscrabble.command', 'pyscrabble.game', 'pyscrabble.gui', 'pyscrabble.net']
+ }
+
+@@ -77,10 +187,10 @@
+ kwargs['data_files'] += [('.', ['CHANGELOG.txt'])]
+ kwargs['data_files'] += [('.', ['LICENSE.txt'])]
+ #for egg in eggpacks:
+- # kwargs['data_files'] += dist.getResourceDirs(egg.location, ensureLower=False, basePath=None, outdir='extra')
++ # kwargs['data_files'] += 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': Install, 'install_lib': InstallLib, 'install_scripts' : InstallScripts, 'install_data': InstallData}
+
+-setup(**kwargs)
+\ No newline at end of file
++setup(**kwargs)
/1.6.2-2/debian/patches/10_installation.dpatch
Property changes:
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: 1.6.2-2/debian/rules
===================================================================
--- 1.6.2-2/debian/rules (nonexistent)
+++ 1.6.2-2/debian/rules (revision 10)
@@ -0,0 +1,95 @@
+#!/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
+
+include /usr/share/dpatch/dpatch.make
+
+clean: clean-patched unpatch
+ dh_clean
+
+clean-patched: patch-stamp
+ dh_testdir
+ dh_testroot
+ rm -f build-stamp
+ rm -f pyscrabble-*.png pyscrabble-*.xpm
+
+ python setup.py clean -a
+ find -name '*.pyc' -delete
+
+build: patch-stamp
+ python setup.py build
+
+ for size in $(ICON_SIZES); do \
+ rsvg -h $$size -w $$size debian/pyscrabble.svg pyscrabble-$$size.png; \
+ done
+ for size in $(PIXMAP_SIZES); do \
+ convert pyscrabble-$$size.png pyscrabble-$${size}x$${size}.xpm; \
+ done
+
+install: build
+ dh_testdir
+ dh_testroot
+ dh_clean -k
+
+ python setup.py install --no-compile --root=$(DESTDIR) \
+ --install-scripts=/usr/games \
+ --confdir=/etc/pyscrabble \
+ --logdir=/var/log/pyscrabble \
+ --dbdir=/var/lib/pyscrabble
+ mv $(DESTDIR)/usr/games/pyscrabble-main.py $(DESTDIR)/usr/games/pyscrabble
+ mv $(DESTDIR)/usr/games/server_console.py $(DESTDIR)/usr/games/pyscrabble-server
+# rm $(DESTDIR)/usr/bin/db_upgrade.py
+ 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_pycentral
+ dh_installchangelogs CHANGELOG.txt
+ dh_installdocs
+ dh_installexamples
+ dh_installman
+ dh_installinit -r
+ dh_installmenu
+ dh_desktop
+ dh_strip
+ dh_compress
+ dh_fixperms
+ dh_installdeb
+ dh_shlibdeps
+ dh_gencontrol
+ dh_md5sums
+ dh_builddeb
+
+binary: binary-indep binary-arch
+.PHONY: build clean binary-indep binary-arch binary install configure
/1.6.2-2/debian/rules
Property changes:
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: 1.6.2-2/debian/pyscrabble-server.init
===================================================================
--- 1.6.2-2/debian/pyscrabble-server.init (nonexistent)
+++ 1.6.2-2/debian/pyscrabble-server.init (revision 10)
@@ -0,0 +1,115 @@
+#!/bin/sh
+### BEGIN INIT INFO
+# Provides: pyscrabble
+# Required-Start: $local_fs $remote_fs
+# Required-Stop: $local_fs $remote_fs
+# Default-Start: 2 3 4 5
+# Default-Stop: S 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/games/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-2/debian/pyscrabble-server.README.Debian
===================================================================
--- 1.6.2-2/debian/pyscrabble-server.README.Debian (nonexistent)
+++ 1.6.2-2/debian/pyscrabble-server.README.Debian (revision 10)
@@ -0,0 +1,21 @@
+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.
+
+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.
+
+ -- Magnus Holmgren <magnus@kibibyte.se>, Wed, 3 Oct 2007 15:22:24 +0200
Index: 1.6.2-2/debian/compat
===================================================================
--- 1.6.2-2/debian/compat (nonexistent)
+++ 1.6.2-2/debian/compat (revision 10)
@@ -0,0 +1 @@
+5
Index: 1.6.2-2/debian/pyscrabble.svg
===================================================================
--- 1.6.2-2/debian/pyscrabble.svg (nonexistent)
+++ 1.6.2-2/debian/pyscrabble.svg (revision 10)
@@ -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-2/debian/pyscrabble.menu
===================================================================
--- 1.6.2-2/debian/pyscrabble.menu (nonexistent)
+++ 1.6.2-2/debian/pyscrabble.menu (revision 10)
@@ -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-2/debian/pyscrabble.install
===================================================================
--- 1.6.2-2/debian/pyscrabble.install (nonexistent)
+++ 1.6.2-2/debian/pyscrabble.install (revision 10)
@@ -0,0 +1,10 @@
+usr/games/pyscrabble
+usr/lib/python*/site-packages/pyscrabble/gui
+usr/lib/python*/site-packages/pyscrabble/net/client.py
+usr/lib/python*/site-packages/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-2/debian/pyscrabble.desktop
===================================================================
--- 1.6.2-2/debian/pyscrabble.desktop (nonexistent)
+++ 1.6.2-2/debian/pyscrabble.desktop (revision 10)
@@ -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-2/debian/watch
===================================================================
--- 1.6.2-2/debian/watch (nonexistent)
+++ 1.6.2-2/debian/watch (revision 10)
@@ -0,0 +1,3 @@
+version=3
+
+http://sf.net/pyscrabble/pyscrabble-(.*)-src.zip debian uupdate
Index: 1.6.2-2/debian/copyright
===================================================================
--- 1.6.2-2/debian/copyright (nonexistent)
+++ 1.6.2-2/debian/copyright (revision 10)
@@ -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-2/debian/pyscrabble-server.postinst
===================================================================
--- 1.6.2-2/debian/pyscrabble-server.postinst (nonexistent)
+++ 1.6.2-2/debian/pyscrabble-server.postinst (revision 10)
@@ -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-2/debian/pyscrabble-server.postrm
===================================================================
--- 1.6.2-2/debian/pyscrabble-server.postrm (nonexistent)
+++ 1.6.2-2/debian/pyscrabble-server.postrm (revision 10)
@@ -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-2/debian/pyscrabble-server.default
===================================================================
--- 1.6.2-2/debian/pyscrabble-server.default (nonexistent)
+++ 1.6.2-2/debian/pyscrabble-server.default (revision 10)
@@ -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-2/debian
===================================================================
--- 1.6.2-2/debian (nonexistent)
+++ 1.6.2-2/debian (revision 10)
/1.6.2-2/debian
Property changes:
Added: mergeWithUpstream
## -0,0 +1 ##
+1
\ No newline at end of property