Commit 86dc939a authored by "Sylvain ext:(%22)'s avatar "Sylvain ext:(%22)
Browse files

0.1.0

parent a94e6a307a73
2006-10-10 -- 0.1.0
* initial revision, backported from PortalTransforms with some API changes
......@@ -6,6 +6,7 @@ mtconverter packaging information
"""
modname = "mtconverter"
subpackage_of = 'logilab'
numversion = (0, 1, 0)
version = '.'.join([str(num) for num in numversion])
......
logilab-mtconverter (0.1.0-1) unstable; urgency=low
* initial upstream release
-- Sylvain Thénault <sylvain.thenault@logilab.fr> Mon, 9 Oct 2006 17:49:11 +0200
Source: mtconverter
Source: logilab-mtconverter
Section: python
Priority: optional
Maintainer: Sylvain Thenault <sylvain.thenault@logilab.fr>
......@@ -15,4 +15,4 @@ Description: a library to convert from a MIME type to another
This package originally a backport of Zope's PortalTransforms tool with
all Zope's internal removed (e.g. most of the code).
.
homepage:o
Homepage: http://www.logilab.org/projects/mtconverter
#!/usr/bin/make -f
# Sample debian/rules that uses debhelper.
# GNU copyright 1997 to 1999 by Joey Hess.
#
# adapted by Logilab for automatic generation by debianize
# (part of the devtools project, http://www.logilab.org/projects/devtools)
#
# Copyright (c) 2003-2005 LOGILAB S.A. (Paris, FRANCE).
# http://www.logilab.fr/ -- mailto:contact@logilab.fr
# Uncomment this to turn on verbose mode.
#export DH_VERBOSE=1
export DH_COMPAT=5
build: build-stamp
build-stamp:
dh_testdir
python setup.py -q build
touch build-stamp
clean:
dh_testdir
dh_testroot
rm -f build-stamp configure-stamp
rm -rf build
find . -name "*.pyc" | xargs rm -f
rm -f changelog.gz
dh_clean
install: build
dh_testdir
dh_testroot
dh_clean -k
dh_installdirs
python setup.py -q install --no-compile --prefix=debian/python-logilab-mtconverter/usr/
# remove test directory (installed in in the doc directory)
rm -rf debian/python-logilab-mtconverter/usr/lib/python*/site-packages/logilab/mtconverter/test
# install tests
(cd test && find . -type f -not \( -path '*/CVS/*' -or -name '*.pyc' \) -exec install -D --mode=644 {} ../debian/python-logilab-mtconverter/usr/share/doc/python-logilab-mtconverter/test/{} \;)
# Build architecture-independent files here.
binary-indep: build install
dh_testdir
dh_testroot
dh_install -i
dh_pycentral -i
dh_python -i
gzip -9 -c ChangeLog > changelog.gz
dh_installchangelogs -i
dh_installexamples -i
dh_installdocs -i changelog.gz
dh_installman -i
dh_link -i
dh_compress -i -X.py -X.ini -X.xml -Xtest
dh_fixperms -i
dh_installdeb -i
dh_gencontrol -i
dh_md5sums -i
dh_builddeb -i
binary-arch:
binary: binary-indep
.PHONY: build clean binary binary-indep binary-arch
#!/usr/bin/env python
# pylint: disable-msg=W0404,W0622,W0704,W0613,W0152
# Copyright (c) 2003 LOGILAB S.A. (Paris, FRANCE).
# http://www.logilab.fr/ -- mailto:contact@logilab.fr
#
# This program 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 program is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
# FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License along with
# this program; if not, write to the Free Software Foundation, Inc.,
# 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
""" Generic Setup script, takes package info from __pkginfo__.py file """
from __future__ import nested_scopes
__revision__ = '$Id: setup.py,v 1.24 2006-04-10 15:12:53 syt Exp $'
import os
import sys
import shutil
from distutils.core import setup
from distutils import command
from distutils.command import install_lib
from os.path import isdir, exists, join, walk
# import required features
from __pkginfo__ import modname, version, license, short_desc, long_desc, \
web, author, author_email
# import optional features
try:
from __pkginfo__ import distname
except ImportError:
distname = modname
try:
from __pkginfo__ import scripts
except ImportError:
scripts = []
try:
from __pkginfo__ import data_files
except ImportError:
data_files = None
try:
from __pkginfo__ import subpackage_of
except ImportError:
subpackage_of = None
try:
from __pkginfo__ import include_dirs
except ImportError:
include_dirs = []
try:
from __pkginfo__ import ext_modules
except ImportError:
ext_modules = None
BASE_BLACKLIST = ('CVS', 'debian', 'dist', 'build', '__buildlog', '.svn')
IGNORED_EXTENSIONS = ('.pyc', '.pyo', '.elc')
def ensure_scripts(linux_scripts):
"""
Creates the proper script names required for each platform
(taken from 4Suite)
"""
from distutils import util
if util.get_platform()[:3] == 'win':
scripts_ = [script + '.bat' for script in linux_scripts]
else:
scripts_ = linux_scripts
return scripts_
def get_packages(directory, prefix):
"""return a list of subpackages for the given directory
"""
result = []
for package in os.listdir(directory):
absfile = join(directory, package)
if isdir(absfile):
if exists(join(absfile, '__init__.py')) or \
package in ('test', 'tests'):
if prefix:
result.append('%s.%s' % (prefix, package))
else:
result.append(package)
result += get_packages(absfile, result[-1])
return result
def export(from_dir, to_dir,
blacklist=BASE_BLACKLIST,
ignore_ext=IGNORED_EXTENSIONS):
"""make a mirror of from_dir in to_dir, omitting directories and files
listed in the black list
"""
def make_mirror(arg, directory, fnames):
"""walk handler"""
for norecurs in blacklist:
try:
fnames.remove(norecurs)
except ValueError:
pass
for filename in fnames:
# don't include binary files
if filename[-4:] in ignore_ext:
continue
if filename[-1] == '~':
continue
src = '%s/%s' % (directory, filename)
dest = to_dir + src[len(from_dir):]
print >> sys.stderr, src, '->', dest
if os.path.isdir(src):
if not exists(dest):
os.mkdir(dest)
else:
if exists(dest):
os.remove(dest)
shutil.copy2(src, dest)
try:
os.mkdir(to_dir)
except OSError, ex:
# file exists ?
import errno
if ex.errno != errno.EEXIST:
raise
walk(from_dir, make_mirror, None)
EMPTY_FILE = '"""generated file, don\'t modify or your data will be lost"""\n'
class BuildScripts(command.install_lib.install_lib):
def run(self):
command.install_lib.install_lib.run(self)
# create Products.__init__.py if needed
product_init = join(self.install_dir, 'logilab', '__init__.py')
if not exists(product_init):
self.announce('creating logilab/__init__.py')
stream = open(product_init, 'w')
stream.write(EMPTY_FILE)
stream.close()
# manually install included directories if any
if include_dirs:
base = join('logilab', modname)
for directory in include_dirs:
dest = join(self.install_dir, base, directory)
export(directory, dest)
def install(**kwargs):
"""setup entry point"""
if subpackage_of:
package = subpackage_of + '.' + modname
kwargs['package_dir'] = {package : '.'}
packages = [package] + get_packages(os.getcwd(), package)
else:
kwargs['package_dir'] = {modname : '.'}
packages = [modname] + get_packages(os.getcwd(), modname)
kwargs['packages'] = packages
return setup(name = distname,
version = version,
license =license,
description = short_desc,
long_description = long_desc,
author = author,
author_email = author_email,
url = web,
scripts = ensure_scripts(scripts),
data_files=data_files,
ext_modules=ext_modules,
cmdclass={'install_lib': BuildScripts},
**kwargs
)
if __name__ == '__main__' :
install()
......@@ -15,11 +15,11 @@ def bin_search(binary):
for path in bin_search_path:
pathbin = os.path.join(path, binary)
if os.access(pathbin, mode) == 1:
result = pathbin
return pathbin
break
if not result:
raise MissingBinary('Unable to find binary "%s" in %s' %
(binary, os.pathsep.join(bin_search_path)))
raise MissingBinary('Unable to find binary "%s" in %s' %
(binary, os.pathsep.join(bin_search_path)))
class POpenTransform(Transform):
"""abstract class for external command based transform
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment