diff options
Diffstat (limited to 'devel/py-avocado-framework/files/patch-allow-to-override-etc-dir-location')
| -rw-r--r-- | devel/py-avocado-framework/files/patch-allow-to-override-etc-dir-location | 122 |
1 files changed, 0 insertions, 122 deletions
diff --git a/devel/py-avocado-framework/files/patch-allow-to-override-etc-dir-location b/devel/py-avocado-framework/files/patch-allow-to-override-etc-dir-location deleted file mode 100644 index 55af28d4fd5c..000000000000 --- a/devel/py-avocado-framework/files/patch-allow-to-override-etc-dir-location +++ /dev/null @@ -1,122 +0,0 @@ -From 4612dfa7a36c9f5520b427557dc0150bbe3af887 Mon Sep 17 00:00:00 2001 -From: Roman Bogorodskiy <bogorodskiy@gmail.com> -Date: Sun, 18 May 2025 07:11:18 +0200 -Subject: [PATCH] Allow to override /etc dir location - -Some systems, e.g. FreeBSD, place third-part software configuration -files in /usr/local/etc instead of /etc. - -Extend the install command to accept "etcprefix" option used for global -configuration paths. By default it's "/", so it keeps the current -behaviour unchanged. - -Signed-off-by: Roman Bogorodskiy <bogorodskiy@gmail.com> ---- - avocado/core/settings.py | 3 ++- - avocado/core/utils/path.py | 4 +++- - avocado/paths.py | 2 ++ - setup.py | 23 +++++++++++++++++++++++ - 4 files changed, 30 insertions(+), 2 deletions(-) - create mode 100644 avocado/paths.py - -diff --git avocado/core/settings.py avocado/core/settings.py -index b497bf0f..b76d0d0d 100644 ---- avocado/core/settings.py -+++ avocado/core/settings.py -@@ -46,6 +46,7 @@ import re - from pkg_resources import resource_exists, resource_filename - - from avocado.core.settings_dispatcher import SettingsDispatcher -+from avocado import paths - - - def sorted_dict(dict_object): -@@ -407,7 +408,7 @@ class Settings: - self.all_config_paths.append(self._config_path_local) - - def _prepare_base_dirs(self): -- cfg_dir = "/etc" -+ cfg_dir = os.path.join(paths.ETCPREFIX, "/etc") - user_dir = os.path.expanduser("~") - - if "VIRTUAL_ENV" in os.environ: -diff --git avocado/core/utils/path.py avocado/core/utils/path.py -index 8037bdd5..5f1f9ce5 100644 ---- avocado/core/utils/path.py -+++ avocado/core/utils/path.py -@@ -1,5 +1,7 @@ - import os - -+from avocado import paths -+ - from pkg_resources import get_distribution - - -@@ -32,7 +34,7 @@ def system_wide_or_base_path(file_path): - if os.path.isabs(file_path): - abs_path = file_path - else: -- abs_path = os.path.join(os.path.sep, file_path) -+ abs_path = os.path.join(paths.ETCPREFIX, file_path) - if os.path.exists(abs_path): - return abs_path - return prepend_base_path(file_path) -diff --git avocado/paths.py avocado/paths.py -new file mode 100644 -index 00000000..4d2b2f88 ---- /dev/null -+++ avocado/paths.py -@@ -0,0 +1,2 @@ -+# To be overriden by setup.py -+ETCPREFIX = "/" -diff --git setup.py setup.py -index d9e1d795..58671d03 100755 ---- setup.py -+++ setup.py -@@ -23,6 +23,7 @@ from pathlib import Path - from subprocess import CalledProcessError, run - - import setuptools.command.develop -+import setuptools.command.install - from setuptools import Command, find_packages, setup - - # pylint: disable=E0611 -@@ -203,6 +204,27 @@ class Develop(setuptools.command.develop.develop): - self.handle_uninstall() - - -+class Install(setuptools.command.install.install): -+ """Custom install command.""" -+ -+ user_options = setuptools.command.install.install.user_options + [ -+ ("etcprefix=", None, "The etc directory prefix [default: /]"), -+ ] -+ -+ def initialize_options(self): -+ super().initialize_options() -+ self.etcprefix = "/usr/local" # pylint: disable=W0201 -+ -+ def run(self): -+ pkg_dir = os.path.join(self.build_lib, 'avocado') -+ os.makedirs(pkg_dir, exist_ok=True) -+ -+ with open(os.path.join(pkg_dir, 'paths.py'), 'w') as f: -+ f.write(f'ETCPREFIX = "{self.etcprefix}"') -+ -+ super().run() -+ -+ - class SimpleCommand(Command): - """Make Command implementation simpler.""" - -@@ -504,6 +526,7 @@ if __name__ == "__main__": - cmdclass={ - "clean": Clean, - "develop": Develop, -+ "install": Install, - "lint": Linter, - "man": Man, - "plugin": Plugin, --- -2.49.0 - |
