[Python-apps-commits] r4652 - in packages/ibid/trunk/debian (4 files)

stefanor-guest at users.alioth.debian.org stefanor-guest at users.alioth.debian.org
Wed Feb 3 21:40:15 UTC 2010


    Date: Wednesday, February 3, 2010 @ 21:40:13
  Author: stefanor-guest
Revision: 4652

Store data in /usr/share/ibid

Added:
  packages/ibid/trunk/debian/dirs
  packages/ibid/trunk/debian/patches/separate-data.diff
Modified:
  packages/ibid/trunk/debian/patches/series
  packages/ibid/trunk/debian/rules

Added: packages/ibid/trunk/debian/dirs
===================================================================
--- packages/ibid/trunk/debian/dirs	                        (rev 0)
+++ packages/ibid/trunk/debian/dirs	2010-02-03 21:40:13 UTC (rev 4652)
@@ -0,0 +1 @@
+/usr/share/ibid

Added: packages/ibid/trunk/debian/patches/separate-data.diff
===================================================================
--- packages/ibid/trunk/debian/patches/separate-data.diff	                        (rev 0)
+++ packages/ibid/trunk/debian/patches/separate-data.diff	2010-02-03 21:40:13 UTC (rev 4652)
@@ -0,0 +1,122 @@
+Description: As data will be stored in /usr/share/ibid, replace pkg_resources
+ imports with a library that looks in /usr/share/ibid.
+Author: Stefano Rivera <stefano at rivera.za.net>
+Forwarded: not-needed
+Last-Update: 2010-02-03
+
+--- /dev/null
++++ b/ibid/debian_resources.py
+@@ -0,0 +1,40 @@
++# Copyright (c) 2010, Stefano Rivera
++# Released under terms of the MIT/X/Expat Licence. See COPYING for details.
++
++import os.path
++import sys
++
++from jinja import FileSystemLoader
++
++class ResourceNotFoundException(Exception):
++    def __init__(self, message):
++        self.message = message
++
++    def __repr__(self):
++        return self.message
++
++
++def _resolve_package(package):
++    fspackage = package.replace('.', '/')
++    for dir_ in sys.path:
++        if os.path.isfile(os.path.join(dir_, fspackage, '__init__.py')):
++            return fspackage
++        if os.path.isfile(os.path.join(dir_, fspackage + '.py')):
++            return os.path.dirname(fspackage)
++
++    raise ResourceNotFoundException('Cannot locate package: ' + package)
++
++def resource_filename(package, resource):
++    path = os.path.join('/usr/share', _resolve_package(package), resource)
++    return os.path.normpath(path)
++
++def resource_exists(package, resource):
++    return os.path.exists(resource_filename(package, resource))
++
++def resource_stream(package, resource):
++    return file(resource_filename(package, resource), 'rb')
++
++def PackageLoader(package, path):
++    return FileSystemLoader(resource_filename(package, path))
++
++# vi: set et sta sw=4 ts=4:
+--- a/ibid/config.py
++++ b/ibid/config.py
+@@ -5,7 +5,7 @@
+ 
+ from configobj import ConfigObj
+ from validate import Validator
+-from pkg_resources import resource_stream
++from ibid.debian_resources import resource_stream
+ 
+ import ibid
+ 
+--- a/ibid/plugins/urlgrab.py
++++ b/ibid/plugins/urlgrab.py
+@@ -8,7 +8,7 @@
+ import logging
+ import re
+ 
+-from pkg_resources import resource_exists, resource_stream
++from ibid.debian_resources import resource_exists, resource_stream
+ 
+ import ibid
+ from ibid.plugins import Processor, handler
+--- a/ibid/source/http.py
++++ b/ibid/source/http.py
+@@ -6,8 +6,8 @@
+ from twisted.web import server, resource, static, xmlrpc, soap
+ from twisted.application import internet
+ from twisted.internet import reactor
+-from pkg_resources import resource_filename
+-from jinja import Environment, PackageLoader
++from ibid.debian_resources import resource_filename, PackageLoader
++from jinja import Environment
+ 
+ import ibid
+ from ibid.source import IbidSourceFactory
+--- a/scripts/ibid-setup
++++ b/scripts/ibid-setup
+@@ -11,7 +11,7 @@
+ from os.path import exists
+ from shutil import copyfileobj
+ 
+-from pkg_resources import resource_stream
++from ibid.debian_resources import resource_stream
+ from twisted.python.modules import getModule
+ 
+ sys.path.insert(0, '.')
+--- a/ibid/plugins/meetings.py
++++ b/ibid/plugins/meetings.py
+@@ -11,7 +11,8 @@
+ 
+ from dateutil.parser import parse
+ from dateutil.tz import tzlocal, tzutc
+-from jinja import Environment, PackageLoader
++from jinja import Environment
++from ibid.debian_resources import PackageLoader
+ 
+ import ibid
+ from ibid.compat import json
+--- a/MANIFEST.in
++++ b/MANIFEST.in
+@@ -1,12 +1,9 @@
+ recursive-include ibid *.py
+-recursive-include ibid/templates *
+ recursive-include tracibid *.py
+ recursive-include contrib *
+ recursive-include ibid/lib *.py
+-recursive-include ibid/data *
+ recursive-include docs *
+ include factpacks/*.json
+-include ibid/*.ini
+ include twisted/plugins/ibid_plugin.py
+ include INSTALL
+ include COPYING

Modified: packages/ibid/trunk/debian/patches/series
===================================================================
--- packages/ibid/trunk/debian/patches/series	2010-02-03 18:39:53 UTC (rev 4651)
+++ packages/ibid/trunk/debian/patches/series	2010-02-03 21:40:13 UTC (rev 4652)
@@ -1,2 +1,3 @@
 tac-not-needed.diff
 docs.diff
+separate-data.diff

Modified: packages/ibid/trunk/debian/rules
===================================================================
--- packages/ibid/trunk/debian/rules	2010-02-03 18:39:53 UTC (rev 4651)
+++ packages/ibid/trunk/debian/rules	2010-02-03 21:40:13 UTC (rev 4652)
@@ -1,5 +1,7 @@
 #!/usr/bin/make -f
 
+PKGDIR=$(CURDIR)/debian/ibid
+
 %:
 	dh --with python-central $@
 
@@ -13,9 +15,16 @@
 	dh_installdocs -Xdocs/html/_sources -Xdocs/_build -Xdocs/html/.doctrees \
 	               -Xdocs/html/_static/jquery.js
 	# We don't need the scripts that generate factpacks
-	find debian/ibid/usr/share/doc/ibid/factpacks \
+	find $(PKGDIR)/usr/share/doc/ibid/factpacks \
 	     \( -name '*.py' -o -name '*.sh' \) -printf 'Deleting %p\n' -delete
 
+override_dh_pycentral:
+	dh_pycentral
+	for DATA in data configspec.ini logging.ini config.ini static templates; do \
+		cp -a ibid/$$DATA $(PKGDIR)/usr/share/ibid/; \
+		echo "Installing data: $$DATA"; \
+	done
+
 override_dh_compress:
 	dh_compress -X.js
 




More information about the Python-apps-commits mailing list