#!/usr/bin/python3 # SPDX-License-Identifier: GPL-2.0-or-later """ install rteval """ import sysconfig from os.path import relpath import os import shutil import gzip from setuptools import setup # Get PYTHONLIB with no prefix so --prefix installs work. SCHEME = 'rpm_prefix' if SCHEME not in sysconfig.get_scheme_names(): SCHEME = 'posix_prefix' PYTHONLIB = relpath(sysconfig.get_path('platlib', SCHEME), '/usr') # Tiny hack to make rteval-cmd become a rteval when building/installing the package try: os.mkdir('dist', 0o755) distcreated = True except OSError as e: if e.errno == 17: # If it already exists, ignore this error distcreated = False else: raise e shutil.copy('rteval-cmd','dist/rteval') # Hack to avoid importing libxml2 and a lot of other stuff # when getting the rteval version. These are modules which # might not be available on the build box. shutil.copy('rteval/version.py','dist/__init__.py') from dist import RTEVAL_VERSION # Compress the man page, so distutil will only care for the compressed file mangz = gzip.GzipFile('dist/rteval.8.gz', 'w', 9) with open('doc/rteval.8', 'rb') as man: mangz.writelines(man) mangz.close() # Do the setup stuff setup(name="rteval", version = RTEVAL_VERSION, description = "Evaluate system performance for Realtime", author = "Clark Williams, David Sommerseth", author_email = "williams@redhat.com, davids@redhat.com", url = "https://git.kernel.org/pub/scm/utils/rteval/rteval.git", license = "GPLv2", long_description = """\ The rteval script is used to judge the behavior of a hardware platform while running a Realtime Linux kernel under a moderate to heavy load. Provides control logic for starting a system load and then running a response time measurement utility (cyclictest) for a specified amount of time. When the run is finished, the sample data from cyclictest is analyzed for standard statistical measurements (i.e mode, median, range, mean, variance and standard deviation) and a report is generated. """, packages = ["rteval", "rteval.modules", "rteval.modules.loads", "rteval.modules.measurement", "rteval.sysinfo"], package_dir = { "rteval": "rteval", "rteval.modules": "rteval/modules", "rteval.modules.loads": "rteval/modules/loads", "rteval.modules.measurement": "rteval/modules/measurement", "rteval.sysinfo": "rteval/sysinfo" }, data_files = [("share/rteval", ["rteval/rteval_dmi.xsl", "rteval/rteval_histogram_raw.xsl", "rteval/rteval_text.xsl"]), ("/etc", ["rteval.conf"]), ("share/man/man8", ["dist/rteval.8.gz"]) ], scripts = ["dist/rteval"] ) # Clean-up from our little hack os.unlink('dist/rteval') os.unlink('dist/rteval.8.gz') os.unlink('dist/__init__.py') if distcreated: try: os.rmdir('dist') except OSError: # Ignore any errors pass