aboutsummaryrefslogtreecommitdiffstats
path: root/setup.py
diff options
context:
space:
mode:
authorastokes <astokes@ef72aa8b-4018-0410-8976-d6e080ef94d8>2010-03-26 20:24:08 +0000
committerastokes <astokes@ef72aa8b-4018-0410-8976-d6e080ef94d8>2010-03-26 20:24:08 +0000
commit66cd754dcddf039e454934231f6662d5bb49959d (patch)
tree37a05f40de36567b14107699e2c81eb916c96175 /setup.py
parentf398a5a7cdfc1e7c3fe52676603c0bf0cd711eb6 (diff)
downloadsos-66cd754dcddf039e454934231f6662d5bb49959d.tar.gz
translation updates
git-svn-id: svn+ssh://svn.fedorahosted.org/svn/sos/trunk@872 ef72aa8b-4018-0410-8976-d6e080ef94d8
Diffstat (limited to 'setup.py')
-rw-r--r--setup.py160
1 files changed, 3 insertions, 157 deletions
diff --git a/setup.py b/setup.py
index d90dfedb..679b34e8 100644
--- a/setup.py
+++ b/setup.py
@@ -2,156 +2,9 @@
"""
setup.py - Setup package with the help from Python's DistUtils and friends.
"""
-from distutils.core import setup, Command
-from distutils.command.sdist import sdist as _sdist
-from distutils.command.build import build as _build
-from distutils.command.install_data import install_data as _install_data
-from distutils.command.install_lib import install_lib as _install_lib
-from distutils.command.install import install as _install
-from unittest import TextTestRunner, TestLoader
-from glob import glob
-from os.path import splitext, basename, join as pjoin
+from distutils.core import setup
import os, sys
-locale = None
-builddir = None
-
-data_files = [ ('/etc', [ 'sos.conf']),
- ('share/sos/', ['gpgkeys/rhsupport.pub']),
- ('share/man/man1', ['man/en/sosreport.1'])]
-
-
-class refresh_translations(Command):
- user_options = []
- description = "Regenerate POT file and merge with current translations."
- def initialize_options(self):
- pass
-
- def finalize_options(self):
- pass
-
- def run(self):
- # generate POT file
- files = [ "sos/*.py" ]
- pot_cmd = "xgettext --language=Python -o po/sos.pot"
- for f in files:
- pot_cmd += " %s " % f
- os.system(pot_cmd)
-
- # merge new template with existing translations
- for po in glob.glob(os.path.pjoin(os.getcwd(), 'po', '*.po')):
- os.system("msgmerge -U po/%s po/sos.pot" %
- os.path.basename(po))
-
-class sdist(_sdist):
- """ updates man pages """
- def run(self):
- self._update_manpages()
- _sdist.run(self)
-
- def _update_manpages(self):
- if os.system("make -C man/en"):
- raise RuntimeError("Couldn't generate man pages.")
-
-class build(_build):
- """ compile i18n files """
- def run(self):
- global builddir
- if not os.path.exists("build/po"):
- os.makedirs("build/po")
-
- for filename in glob(pjoin(os.getcwd(), 'po', '*.po')):
- filename = os.path.basename(filename)
- lang = os.path.basename(filename)[0:len(filename)-3]
- if not os.path.exists("build/po/%s" % lang):
- os.makedirs("build/po/%s" % lang)
- newname = "build/po/%s/sos.mo" % lang
-
- print "Building %s from %s" % (newname, filename)
- os.system("msgfmt po/%s -o %s" % (filename, newname))
-
- _build.run(self)
- builddir = self.build_lib
-
-class install(_install):
- """ extract install base for locale install """
- def finalize_options(self):
- global locale
- _install.finalize_options(self)
- locale = self.install_base + "/share/locale"
-
-class install_lib(_install_lib):
- """ custom install_lib command to place locale location into library"""
-
- def run(self):
- for initfile in [ "sos/__init__.py" ]:
- cmd = "cat %s | " % initfile
- cmd += """sed -e "s,::LOCALEDIR::,%s," > """ % locale
- cmd += "%s/%s" % (builddir, initfile)
- os.system(cmd)
-
- _install_lib.run(self)
-
-class install_data(_install_data):
- """ custom install_data command to prepare i18n/docs files for install"""
- def run(self):
- dirlist = os.listdir("build/po")
- for lang in dirlist:
- if lang != "." and lang != "..":
- install_path = "share/locale/%s/LC_MESSAGES/" % lang
- src_path = "build/po/%s/sos.mo" % lang
- print "Installing %s to %s" % (src_path, install_path)
- toadd = (install_path, [src_path])
- # Add these to the datafiles list
- data_files.append(toadd)
-
-class TestBaseCommand(Command):
- user_options = []
-
- def initialize_options(self):
- self.debug = 0
- self._testfiles = []
- self._dir = os.getcwd()
-
- def finalize_options(self):
- pass
-
- def run(self):
- tests = TestLoader().loadTestsFromNames(self._testfiles)
- t = TextTestRunner(verbosity = 1)
-
- result = t.run(tests)
- if len(result.failures) > 0 or len(result.errors) > 0:
- sys.exit(1)
- else:
- sys.exit(0)
-
-class TestSOS(TestBaseCommand):
- description = "Runs unittest"
- user_options = TestBaseCommand.user_options + \
- [("testfile=", None, "Specify test to run"),]
-
- def initialize_options(self):
- TestBaseCommand.initialize_options(self)
- self.testfile = None
-
- def finalize_options(self):
- TestBaseCommand.finalize_options(self)
-
- def run(self):
- """ find all tests """
- testfiles = []
- for t in glob(pjoin(self._dir, 'tests', '*.py')):
- if self.testfile:
- base = os.path.basename(t)
- check = os.path.basename(self.testfile)
- if base != check and base != (check + ".py"):
- continue
- testfiles.append('.'.join(['tests',splitext(basename(t))[0]]))
-
- self._testfiles = testfiles
- TestBaseCommand.run(self)
-
setup(
name = 'sos',
version = '1.9',
@@ -159,15 +12,8 @@ setup(
author_email = 'astokes@fedoraproject.org',
url = 'http://fedorahosted.org/sos',
description = 'SOS - son of sysreport',
- packages = ['sos'],
- scripts = ["sosreport"],
+ packages = ['sos','sos.plugins'],
+ scripts = ["sosreport", "extras/rh-upload"],
data_files = data_files,
- cmdclass = {
- 'test': TestSOS,
- 'sdist': sdist, 'build' : build,
- 'install_data' : install_data,
- 'install_lib' : install_lib,
- 'install' : install,
- 'refresh_translations' : refresh_translations}
)