From 7e7cee6d11d303de3716e756c5dd33d0b6333ebe Mon Sep 17 00:00:00 2001 From: Jan Lindemann Date: Thu, 5 Mar 2026 11:38:29 +0100 Subject: [PATCH] cmds.distro: Move all modules to lib Functions abstracting the distribution are not only needed in the context of the distro subcommand, but also by other code, so make the bulk of the code abstracting the distribution available in some place more universally useful than below cmds.distro. This commit leaves the source files mostly unchanged. They are only patched to fix import paths, so that functionality is preserved. Refactoring the code from command-line API to library API will be done by the next commit. Signed-off-by: Jan Lindemann --- src/python/jw/pkg/cmds/distro/Cmd.py | 20 ++++++++++--------- src/python/jw/pkg/cmds/distro/CmdSelect.py | 4 ++-- src/python/jw/pkg/cmds/distro/pkg/Cmd.py | 2 +- .../jw/pkg/{cmds/distro => }/lib/Package.py | 0 .../distro/backend => lib/distros}/Backend.py | 2 +- .../backend => lib/distros}/BeDelete.py | 2 +- .../distro/backend => lib/distros}/BeDup.py | 2 +- .../backend => lib/distros}/BeInstall.py | 2 +- .../distro/backend => lib/distros}/BePkg.py | 4 ++-- .../distros}/BeRebootRequired.py | 2 +- .../backend => lib/distros}/BeRefresh.py | 2 +- .../backend => lib/distros}/BeSelect.py | 2 +- .../backend/redhat => lib/distros}/Makefile | 2 +- .../distro/backend => lib/distros}/Util.py | 2 +- .../backend => lib/distros}/arch/Dup.py | 0 .../backend => lib/distros}/arch/Install.py | 0 .../backend => lib/distros/arch}/Makefile | 0 .../backend => lib/distros}/arch/Refresh.py | 0 .../backend => lib/distros}/arch/Util.py | 0 .../backend => lib/distros}/debian/Delete.py | 0 .../backend => lib/distros}/debian/Dup.py | 0 .../backend => lib/distros}/debian/Install.py | 0 .../lib => lib/distros/debian}/Makefile | 0 .../suse => lib/distros/debian}/Pkg.py | 4 ++-- .../distros}/debian/RebootRequired.py | 2 +- .../backend => lib/distros}/debian/Refresh.py | 0 .../suse => lib/distros/debian}/Select.py | 4 ++-- .../backend => lib/distros}/debian/Util.py | 2 +- .../backend => lib/distros}/redhat/Dup.py | 0 .../backend => lib/distros}/redhat/Install.py | 0 .../arch => lib/distros/redhat}/Makefile | 2 +- .../backend => lib/distros}/redhat/Refresh.py | 0 .../backend => lib/distros}/redhat/Util.py | 0 .../backend => lib/distros}/suse/Delete.py | 0 .../backend => lib/distros}/suse/Dup.py | 0 .../backend => lib/distros}/suse/Install.py | 0 .../debian => lib/distros/suse}/Makefile | 2 +- .../debian => lib/distros/suse}/Pkg.py | 4 ++-- .../distros}/suse/RebootRequired.py | 0 .../backend => lib/distros}/suse/Refresh.py | 0 .../debian => lib/distros/suse}/Select.py | 4 ++-- .../backend => lib/distros}/suse/Util.py | 4 ++-- .../distro/backend/suse => lib/pm}/Makefile | 2 +- .../pkg/{cmds/distro/lib => lib/pm}/dpkg.py | 4 ++-- .../jw/pkg/{cmds/distro/lib => lib/pm}/rpm.py | 4 ++-- 45 files changed, 44 insertions(+), 42 deletions(-) rename src/python/jw/pkg/{cmds/distro => }/lib/Package.py (100%) rename src/python/jw/pkg/{cmds/distro/backend => lib/distros}/Backend.py (94%) rename src/python/jw/pkg/{cmds/distro/backend => lib/distros}/BeDelete.py (86%) rename src/python/jw/pkg/{cmds/distro/backend => lib/distros}/BeDup.py (88%) rename src/python/jw/pkg/{cmds/distro/backend => lib/distros}/BeInstall.py (86%) rename src/python/jw/pkg/{cmds/distro/backend => lib/distros}/BePkg.py (90%) rename src/python/jw/pkg/{cmds/distro/backend => lib/distros}/BeRebootRequired.py (83%) rename src/python/jw/pkg/{cmds/distro/backend => lib/distros}/BeRefresh.py (86%) rename src/python/jw/pkg/{cmds/distro/backend => lib/distros}/BeSelect.py (92%) rename src/python/jw/pkg/{cmds/distro/backend/redhat => lib/distros}/Makefile (66%) rename src/python/jw/pkg/{cmds/distro/backend => lib/distros}/Util.py (93%) rename src/python/jw/pkg/{cmds/distro/backend => lib/distros}/arch/Dup.py (100%) rename src/python/jw/pkg/{cmds/distro/backend => lib/distros}/arch/Install.py (100%) rename src/python/jw/pkg/{cmds/distro/backend => lib/distros/arch}/Makefile (100%) rename src/python/jw/pkg/{cmds/distro/backend => lib/distros}/arch/Refresh.py (100%) rename src/python/jw/pkg/{cmds/distro/backend => lib/distros}/arch/Util.py (100%) rename src/python/jw/pkg/{cmds/distro/backend => lib/distros}/debian/Delete.py (100%) rename src/python/jw/pkg/{cmds/distro/backend => lib/distros}/debian/Dup.py (100%) rename src/python/jw/pkg/{cmds/distro/backend => lib/distros}/debian/Install.py (100%) rename src/python/jw/pkg/{cmds/distro/lib => lib/distros/debian}/Makefile (100%) rename src/python/jw/pkg/{cmds/distro/backend/suse => lib/distros/debian}/Pkg.py (83%) rename src/python/jw/pkg/{cmds/distro/backend => lib/distros}/debian/RebootRequired.py (97%) rename src/python/jw/pkg/{cmds/distro/backend => lib/distros}/debian/Refresh.py (100%) rename src/python/jw/pkg/{cmds/distro/backend/suse => lib/distros/debian}/Select.py (82%) rename src/python/jw/pkg/{cmds/distro/backend => lib/distros}/debian/Util.py (94%) rename src/python/jw/pkg/{cmds/distro/backend => lib/distros}/redhat/Dup.py (100%) rename src/python/jw/pkg/{cmds/distro/backend => lib/distros}/redhat/Install.py (100%) rename src/python/jw/pkg/{cmds/distro/backend/arch => lib/distros/redhat}/Makefile (66%) rename src/python/jw/pkg/{cmds/distro/backend => lib/distros}/redhat/Refresh.py (100%) rename src/python/jw/pkg/{cmds/distro/backend => lib/distros}/redhat/Util.py (100%) rename src/python/jw/pkg/{cmds/distro/backend => lib/distros}/suse/Delete.py (100%) rename src/python/jw/pkg/{cmds/distro/backend => lib/distros}/suse/Dup.py (100%) rename src/python/jw/pkg/{cmds/distro/backend => lib/distros}/suse/Install.py (100%) rename src/python/jw/pkg/{cmds/distro/backend/debian => lib/distros/suse}/Makefile (66%) rename src/python/jw/pkg/{cmds/distro/backend/debian => lib/distros/suse}/Pkg.py (83%) rename src/python/jw/pkg/{cmds/distro/backend => lib/distros}/suse/RebootRequired.py (100%) rename src/python/jw/pkg/{cmds/distro/backend => lib/distros}/suse/Refresh.py (100%) rename src/python/jw/pkg/{cmds/distro/backend/debian => lib/distros/suse}/Select.py (82%) rename src/python/jw/pkg/{cmds/distro/backend => lib/distros}/suse/Util.py (91%) rename src/python/jw/pkg/{cmds/distro/backend/suse => lib/pm}/Makefile (66%) rename src/python/jw/pkg/{cmds/distro/lib => lib/pm}/dpkg.py (94%) rename src/python/jw/pkg/{cmds/distro/lib => lib/pm}/rpm.py (93%) diff --git a/src/python/jw/pkg/cmds/distro/Cmd.py b/src/python/jw/pkg/cmds/distro/Cmd.py index ce272181..70739f23 100644 --- a/src/python/jw/pkg/cmds/distro/Cmd.py +++ b/src/python/jw/pkg/cmds/distro/Cmd.py @@ -2,13 +2,15 @@ import os, importlib +from ...lib.log import * +from ...lib.distros.Util import Util + from ..Cmd import Cmd as Base from ..CmdDistro import CmdDistro -from .backend.Util import Util class Cmd(Base): # export - from .backend.Backend import Backend + from ...lib.distros.Backend import Backend def __init__(self, parent: CmdDistro, name: str, help: str) -> None: super().__init__(parent, name, help) @@ -35,16 +37,16 @@ class Cmd(Base): # export backend_id = 'redhat' case 'opensuse' | 'suse': backend_id = 'suse' - self.__backend_path = ( - os.path.splitext(__name__)[0] - + '.backend.' - + backend_id - + '.' - ) + self.__backend_path = 'jw.pkg.lib.distros.' + backend_id + '.' return self.__backend_path def _instantiate(self, name: str, *args, **kwargs): - module = importlib.import_module(self._backend_path + name) + module_path = self._backend_path + name + try: + module = importlib.import_module(module_path) + except Exception as e: + log(ERR, f'Failed to import module {module_path} ({str(e)})') + raise cls = getattr(module, name) return cls(self, *args, **kwargs) diff --git a/src/python/jw/pkg/cmds/distro/CmdSelect.py b/src/python/jw/pkg/cmds/distro/CmdSelect.py index 1cc38b23..544ff788 100644 --- a/src/python/jw/pkg/cmds/distro/CmdSelect.py +++ b/src/python/jw/pkg/cmds/distro/CmdSelect.py @@ -3,10 +3,10 @@ from argparse import Namespace, ArgumentParser import re +from ...lib.Package import Package +from ...lib.distros.BeSelect import BeSelect from ..CmdDistro import CmdDistro -from .lib.Package import Package from .Cmd import Cmd -from .backend.BeSelect import BeSelect class CmdSelect(Cmd): # export diff --git a/src/python/jw/pkg/cmds/distro/pkg/Cmd.py b/src/python/jw/pkg/cmds/distro/pkg/Cmd.py index 64b25d1c..bdd07682 100644 --- a/src/python/jw/pkg/cmds/distro/pkg/Cmd.py +++ b/src/python/jw/pkg/cmds/distro/pkg/Cmd.py @@ -7,7 +7,7 @@ from ..CmdPkg import CmdPkg as Parent class Cmd(Base): # export - from ..backend.Backend import Backend + from ....lib.distros.Backend import Backend def __init__(self, parent: Parent, name: str, help: str) -> None: super().__init__(parent, name, help) diff --git a/src/python/jw/pkg/cmds/distro/lib/Package.py b/src/python/jw/pkg/lib/Package.py similarity index 100% rename from src/python/jw/pkg/cmds/distro/lib/Package.py rename to src/python/jw/pkg/lib/Package.py diff --git a/src/python/jw/pkg/cmds/distro/backend/Backend.py b/src/python/jw/pkg/lib/distros/Backend.py similarity index 94% rename from src/python/jw/pkg/cmds/distro/backend/Backend.py rename to src/python/jw/pkg/lib/distros/Backend.py index 4f5c057e..c1632a10 100644 --- a/src/python/jw/pkg/cmds/distro/backend/Backend.py +++ b/src/python/jw/pkg/lib/distros/Backend.py @@ -3,7 +3,7 @@ from __future__ import annotations from typing import TYPE_CHECKING -from ....lib.util import run_sudo +from ..util import run_sudo if TYPE_CHECKING: from ..Cmd import Cmd diff --git a/src/python/jw/pkg/cmds/distro/backend/BeDelete.py b/src/python/jw/pkg/lib/distros/BeDelete.py similarity index 86% rename from src/python/jw/pkg/cmds/distro/backend/BeDelete.py rename to src/python/jw/pkg/lib/distros/BeDelete.py index 46cc551e..c592ef17 100644 --- a/src/python/jw/pkg/cmds/distro/backend/BeDelete.py +++ b/src/python/jw/pkg/lib/distros/BeDelete.py @@ -4,7 +4,7 @@ import abc from argparse import Namespace from .Backend import Backend as Base -from ..CmdDelete import CmdDelete as Parent +from ..Cmd import Cmd as Parent class BeDelete(Base): diff --git a/src/python/jw/pkg/cmds/distro/backend/BeDup.py b/src/python/jw/pkg/lib/distros/BeDup.py similarity index 88% rename from src/python/jw/pkg/cmds/distro/backend/BeDup.py rename to src/python/jw/pkg/lib/distros/BeDup.py index 89019286..d91213e3 100644 --- a/src/python/jw/pkg/cmds/distro/backend/BeDup.py +++ b/src/python/jw/pkg/lib/distros/BeDup.py @@ -4,7 +4,7 @@ import abc from argparse import Namespace from .Backend import Backend as Base -from ..CmdDup import CmdDup as Parent +from ..Cmd import Cmd as Parent class BeDup(Base): diff --git a/src/python/jw/pkg/cmds/distro/backend/BeInstall.py b/src/python/jw/pkg/lib/distros/BeInstall.py similarity index 86% rename from src/python/jw/pkg/cmds/distro/backend/BeInstall.py rename to src/python/jw/pkg/lib/distros/BeInstall.py index 98a6f806..6b4ec0d6 100644 --- a/src/python/jw/pkg/cmds/distro/backend/BeInstall.py +++ b/src/python/jw/pkg/lib/distros/BeInstall.py @@ -4,7 +4,7 @@ import abc from argparse import Namespace from .Backend import Backend as Base -from ..CmdInstall import CmdInstall as Parent +from ..Cmd import Cmd as Parent class BeInstall(Base): diff --git a/src/python/jw/pkg/cmds/distro/backend/BePkg.py b/src/python/jw/pkg/lib/distros/BePkg.py similarity index 90% rename from src/python/jw/pkg/cmds/distro/backend/BePkg.py rename to src/python/jw/pkg/lib/distros/BePkg.py index ac89ad4c..66ffe84e 100644 --- a/src/python/jw/pkg/cmds/distro/backend/BePkg.py +++ b/src/python/jw/pkg/lib/distros/BePkg.py @@ -5,11 +5,11 @@ from typing import Iterable, TYPE_CHECKING import abc -from ..lib.Package import Package +from ..Package import Package from .Backend import Backend as Base if TYPE_CHECKING: - from ..CmdPkg import CmdPkg as Parent + from ..Cmd import Cmd as Parent class BePkg(Base): diff --git a/src/python/jw/pkg/cmds/distro/backend/BeRebootRequired.py b/src/python/jw/pkg/lib/distros/BeRebootRequired.py similarity index 83% rename from src/python/jw/pkg/cmds/distro/backend/BeRebootRequired.py rename to src/python/jw/pkg/lib/distros/BeRebootRequired.py index 5e658e2c..14009593 100644 --- a/src/python/jw/pkg/cmds/distro/backend/BeRebootRequired.py +++ b/src/python/jw/pkg/lib/distros/BeRebootRequired.py @@ -4,7 +4,7 @@ import abc from argparse import Namespace from .Backend import Backend as Base -from ..CmdRebootRequired import CmdRebootRequired as Parent +from ..Cmd import Cmd as Parent class BeRebootRequired(Base): diff --git a/src/python/jw/pkg/cmds/distro/backend/BeRefresh.py b/src/python/jw/pkg/lib/distros/BeRefresh.py similarity index 86% rename from src/python/jw/pkg/cmds/distro/backend/BeRefresh.py rename to src/python/jw/pkg/lib/distros/BeRefresh.py index 496cc062..245cad38 100644 --- a/src/python/jw/pkg/cmds/distro/backend/BeRefresh.py +++ b/src/python/jw/pkg/lib/distros/BeRefresh.py @@ -4,7 +4,7 @@ import abc from argparse import Namespace from .Backend import Backend as Base -from ..CmdRefresh import CmdRefresh as Parent +from ..Cmd import Cmd as Parent class BeRefresh(Base): diff --git a/src/python/jw/pkg/cmds/distro/backend/BeSelect.py b/src/python/jw/pkg/lib/distros/BeSelect.py similarity index 92% rename from src/python/jw/pkg/cmds/distro/backend/BeSelect.py rename to src/python/jw/pkg/lib/distros/BeSelect.py index fb8d1c8e..72cd5a26 100644 --- a/src/python/jw/pkg/cmds/distro/backend/BeSelect.py +++ b/src/python/jw/pkg/lib/distros/BeSelect.py @@ -9,7 +9,7 @@ from typing import Iterable from .Backend import Backend as Base if TYPE_CHECKING: - from ..CmdSelect import CmdSelect as Parent + from ..Cmd import Cmd as Parent from .Package import Package class BeSelect(Base): diff --git a/src/python/jw/pkg/cmds/distro/backend/redhat/Makefile b/src/python/jw/pkg/lib/distros/Makefile similarity index 66% rename from src/python/jw/pkg/cmds/distro/backend/redhat/Makefile rename to src/python/jw/pkg/lib/distros/Makefile index d8d0e64b..7a83c333 100644 --- a/src/python/jw/pkg/cmds/distro/backend/redhat/Makefile +++ b/src/python/jw/pkg/lib/distros/Makefile @@ -1,4 +1,4 @@ -TOPDIR = ../../../../../../../.. +TOPDIR = ../../../../../.. include $(TOPDIR)/make/proj.mk include $(JWBDIR)/make/py-mod.mk diff --git a/src/python/jw/pkg/cmds/distro/backend/Util.py b/src/python/jw/pkg/lib/distros/Util.py similarity index 93% rename from src/python/jw/pkg/cmds/distro/backend/Util.py rename to src/python/jw/pkg/lib/distros/Util.py index 962c157b..4a54b1c7 100644 --- a/src/python/jw/pkg/cmds/distro/backend/Util.py +++ b/src/python/jw/pkg/lib/distros/Util.py @@ -3,7 +3,7 @@ from __future__ import annotations from typing import TYPE_CHECKING -from ....lib.util import run_sudo +from ..util import run_sudo if TYPE_CHECKING: from ..Cmd import Cmd diff --git a/src/python/jw/pkg/cmds/distro/backend/arch/Dup.py b/src/python/jw/pkg/lib/distros/arch/Dup.py similarity index 100% rename from src/python/jw/pkg/cmds/distro/backend/arch/Dup.py rename to src/python/jw/pkg/lib/distros/arch/Dup.py diff --git a/src/python/jw/pkg/cmds/distro/backend/arch/Install.py b/src/python/jw/pkg/lib/distros/arch/Install.py similarity index 100% rename from src/python/jw/pkg/cmds/distro/backend/arch/Install.py rename to src/python/jw/pkg/lib/distros/arch/Install.py diff --git a/src/python/jw/pkg/cmds/distro/backend/Makefile b/src/python/jw/pkg/lib/distros/arch/Makefile similarity index 100% rename from src/python/jw/pkg/cmds/distro/backend/Makefile rename to src/python/jw/pkg/lib/distros/arch/Makefile diff --git a/src/python/jw/pkg/cmds/distro/backend/arch/Refresh.py b/src/python/jw/pkg/lib/distros/arch/Refresh.py similarity index 100% rename from src/python/jw/pkg/cmds/distro/backend/arch/Refresh.py rename to src/python/jw/pkg/lib/distros/arch/Refresh.py diff --git a/src/python/jw/pkg/cmds/distro/backend/arch/Util.py b/src/python/jw/pkg/lib/distros/arch/Util.py similarity index 100% rename from src/python/jw/pkg/cmds/distro/backend/arch/Util.py rename to src/python/jw/pkg/lib/distros/arch/Util.py diff --git a/src/python/jw/pkg/cmds/distro/backend/debian/Delete.py b/src/python/jw/pkg/lib/distros/debian/Delete.py similarity index 100% rename from src/python/jw/pkg/cmds/distro/backend/debian/Delete.py rename to src/python/jw/pkg/lib/distros/debian/Delete.py diff --git a/src/python/jw/pkg/cmds/distro/backend/debian/Dup.py b/src/python/jw/pkg/lib/distros/debian/Dup.py similarity index 100% rename from src/python/jw/pkg/cmds/distro/backend/debian/Dup.py rename to src/python/jw/pkg/lib/distros/debian/Dup.py diff --git a/src/python/jw/pkg/cmds/distro/backend/debian/Install.py b/src/python/jw/pkg/lib/distros/debian/Install.py similarity index 100% rename from src/python/jw/pkg/cmds/distro/backend/debian/Install.py rename to src/python/jw/pkg/lib/distros/debian/Install.py diff --git a/src/python/jw/pkg/cmds/distro/lib/Makefile b/src/python/jw/pkg/lib/distros/debian/Makefile similarity index 100% rename from src/python/jw/pkg/cmds/distro/lib/Makefile rename to src/python/jw/pkg/lib/distros/debian/Makefile diff --git a/src/python/jw/pkg/cmds/distro/backend/suse/Pkg.py b/src/python/jw/pkg/lib/distros/debian/Pkg.py similarity index 83% rename from src/python/jw/pkg/cmds/distro/backend/suse/Pkg.py rename to src/python/jw/pkg/lib/distros/debian/Pkg.py index 2832f5b5..a3ffc812 100644 --- a/src/python/jw/pkg/cmds/distro/backend/suse/Pkg.py +++ b/src/python/jw/pkg/lib/distros/debian/Pkg.py @@ -3,8 +3,8 @@ from typing import Iterable from argparse import Namespace -from ...lib.Package import Package -from ...lib.rpm import list_files, query_packages +from ...Package import Package +from ...pm.dpkg import list_files, query_packages from ...Cmd import Cmd from ..BePkg import BePkg as Base diff --git a/src/python/jw/pkg/cmds/distro/backend/debian/RebootRequired.py b/src/python/jw/pkg/lib/distros/debian/RebootRequired.py similarity index 97% rename from src/python/jw/pkg/cmds/distro/backend/debian/RebootRequired.py rename to src/python/jw/pkg/lib/distros/debian/RebootRequired.py index 533b1145..cda346a2 100644 --- a/src/python/jw/pkg/cmds/distro/backend/debian/RebootRequired.py +++ b/src/python/jw/pkg/lib/distros/debian/RebootRequired.py @@ -3,7 +3,7 @@ import os from argparse import Namespace -from .....lib.log import * +from ...log import * from ...Cmd import Cmd from ..BeRebootRequired import BeRebootRequired as Base diff --git a/src/python/jw/pkg/cmds/distro/backend/debian/Refresh.py b/src/python/jw/pkg/lib/distros/debian/Refresh.py similarity index 100% rename from src/python/jw/pkg/cmds/distro/backend/debian/Refresh.py rename to src/python/jw/pkg/lib/distros/debian/Refresh.py diff --git a/src/python/jw/pkg/cmds/distro/backend/suse/Select.py b/src/python/jw/pkg/lib/distros/debian/Select.py similarity index 82% rename from src/python/jw/pkg/cmds/distro/backend/suse/Select.py rename to src/python/jw/pkg/lib/distros/debian/Select.py index 913f48b9..7db5f76f 100644 --- a/src/python/jw/pkg/cmds/distro/backend/suse/Select.py +++ b/src/python/jw/pkg/lib/distros/debian/Select.py @@ -3,8 +3,8 @@ from typing import Iterable from argparse import Namespace -from ...lib.Package import Package -from ...lib.rpm import query_packages +from ...Package import Package +from ...pm.dpkg import query_packages from ...Cmd import Cmd from ..BeSelect import BeSelect as Base diff --git a/src/python/jw/pkg/cmds/distro/backend/debian/Util.py b/src/python/jw/pkg/lib/distros/debian/Util.py similarity index 94% rename from src/python/jw/pkg/cmds/distro/backend/debian/Util.py rename to src/python/jw/pkg/lib/distros/debian/Util.py index bf2c272a..3722363b 100644 --- a/src/python/jw/pkg/cmds/distro/backend/debian/Util.py +++ b/src/python/jw/pkg/lib/distros/debian/Util.py @@ -1,7 +1,7 @@ # -*- coding: utf-8 -*- from ...Cmd import Cmd -from ...lib.dpkg import run_dpkg +from ...pm.dpkg import run_dpkg from ..Util import Util as Base class Util(Base): diff --git a/src/python/jw/pkg/cmds/distro/backend/redhat/Dup.py b/src/python/jw/pkg/lib/distros/redhat/Dup.py similarity index 100% rename from src/python/jw/pkg/cmds/distro/backend/redhat/Dup.py rename to src/python/jw/pkg/lib/distros/redhat/Dup.py diff --git a/src/python/jw/pkg/cmds/distro/backend/redhat/Install.py b/src/python/jw/pkg/lib/distros/redhat/Install.py similarity index 100% rename from src/python/jw/pkg/cmds/distro/backend/redhat/Install.py rename to src/python/jw/pkg/lib/distros/redhat/Install.py diff --git a/src/python/jw/pkg/cmds/distro/backend/arch/Makefile b/src/python/jw/pkg/lib/distros/redhat/Makefile similarity index 66% rename from src/python/jw/pkg/cmds/distro/backend/arch/Makefile rename to src/python/jw/pkg/lib/distros/redhat/Makefile index d8d0e64b..19fedac9 100644 --- a/src/python/jw/pkg/cmds/distro/backend/arch/Makefile +++ b/src/python/jw/pkg/lib/distros/redhat/Makefile @@ -1,4 +1,4 @@ -TOPDIR = ../../../../../../../.. +TOPDIR = ../../../../../../.. include $(TOPDIR)/make/proj.mk include $(JWBDIR)/make/py-mod.mk diff --git a/src/python/jw/pkg/cmds/distro/backend/redhat/Refresh.py b/src/python/jw/pkg/lib/distros/redhat/Refresh.py similarity index 100% rename from src/python/jw/pkg/cmds/distro/backend/redhat/Refresh.py rename to src/python/jw/pkg/lib/distros/redhat/Refresh.py diff --git a/src/python/jw/pkg/cmds/distro/backend/redhat/Util.py b/src/python/jw/pkg/lib/distros/redhat/Util.py similarity index 100% rename from src/python/jw/pkg/cmds/distro/backend/redhat/Util.py rename to src/python/jw/pkg/lib/distros/redhat/Util.py diff --git a/src/python/jw/pkg/cmds/distro/backend/suse/Delete.py b/src/python/jw/pkg/lib/distros/suse/Delete.py similarity index 100% rename from src/python/jw/pkg/cmds/distro/backend/suse/Delete.py rename to src/python/jw/pkg/lib/distros/suse/Delete.py diff --git a/src/python/jw/pkg/cmds/distro/backend/suse/Dup.py b/src/python/jw/pkg/lib/distros/suse/Dup.py similarity index 100% rename from src/python/jw/pkg/cmds/distro/backend/suse/Dup.py rename to src/python/jw/pkg/lib/distros/suse/Dup.py diff --git a/src/python/jw/pkg/cmds/distro/backend/suse/Install.py b/src/python/jw/pkg/lib/distros/suse/Install.py similarity index 100% rename from src/python/jw/pkg/cmds/distro/backend/suse/Install.py rename to src/python/jw/pkg/lib/distros/suse/Install.py diff --git a/src/python/jw/pkg/cmds/distro/backend/debian/Makefile b/src/python/jw/pkg/lib/distros/suse/Makefile similarity index 66% rename from src/python/jw/pkg/cmds/distro/backend/debian/Makefile rename to src/python/jw/pkg/lib/distros/suse/Makefile index d8d0e64b..19fedac9 100644 --- a/src/python/jw/pkg/cmds/distro/backend/debian/Makefile +++ b/src/python/jw/pkg/lib/distros/suse/Makefile @@ -1,4 +1,4 @@ -TOPDIR = ../../../../../../../.. +TOPDIR = ../../../../../../.. include $(TOPDIR)/make/proj.mk include $(JWBDIR)/make/py-mod.mk diff --git a/src/python/jw/pkg/cmds/distro/backend/debian/Pkg.py b/src/python/jw/pkg/lib/distros/suse/Pkg.py similarity index 83% rename from src/python/jw/pkg/cmds/distro/backend/debian/Pkg.py rename to src/python/jw/pkg/lib/distros/suse/Pkg.py index 030cd61b..32c9860f 100644 --- a/src/python/jw/pkg/cmds/distro/backend/debian/Pkg.py +++ b/src/python/jw/pkg/lib/distros/suse/Pkg.py @@ -3,8 +3,8 @@ from typing import Iterable from argparse import Namespace -from ...lib.Package import Package -from ...lib.dpkg import list_files, query_packages +from ...Package import Package +from ...pm.rpm import list_files, query_packages from ...Cmd import Cmd from ..BePkg import BePkg as Base diff --git a/src/python/jw/pkg/cmds/distro/backend/suse/RebootRequired.py b/src/python/jw/pkg/lib/distros/suse/RebootRequired.py similarity index 100% rename from src/python/jw/pkg/cmds/distro/backend/suse/RebootRequired.py rename to src/python/jw/pkg/lib/distros/suse/RebootRequired.py diff --git a/src/python/jw/pkg/cmds/distro/backend/suse/Refresh.py b/src/python/jw/pkg/lib/distros/suse/Refresh.py similarity index 100% rename from src/python/jw/pkg/cmds/distro/backend/suse/Refresh.py rename to src/python/jw/pkg/lib/distros/suse/Refresh.py diff --git a/src/python/jw/pkg/cmds/distro/backend/debian/Select.py b/src/python/jw/pkg/lib/distros/suse/Select.py similarity index 82% rename from src/python/jw/pkg/cmds/distro/backend/debian/Select.py rename to src/python/jw/pkg/lib/distros/suse/Select.py index 4f3e740e..f20f16b3 100644 --- a/src/python/jw/pkg/cmds/distro/backend/debian/Select.py +++ b/src/python/jw/pkg/lib/distros/suse/Select.py @@ -3,8 +3,8 @@ from typing import Iterable from argparse import Namespace -from ...lib.Package import Package -from ...lib.dpkg import query_packages +from ...Package import Package +from ...pm.rpm import query_packages from ...Cmd import Cmd from ..BeSelect import BeSelect as Base diff --git a/src/python/jw/pkg/cmds/distro/backend/suse/Util.py b/src/python/jw/pkg/lib/distros/suse/Util.py similarity index 91% rename from src/python/jw/pkg/cmds/distro/backend/suse/Util.py rename to src/python/jw/pkg/lib/distros/suse/Util.py index e790982c..f2f140d0 100644 --- a/src/python/jw/pkg/cmds/distro/backend/suse/Util.py +++ b/src/python/jw/pkg/lib/distros/suse/Util.py @@ -1,10 +1,10 @@ # -*- coding: utf-8 -*- -from .....lib.util import run_cmd +from ...util import run_cmd from ...Cmd import Cmd from ..Util import Util as Base -from ...lib.rpm import run_rpm +from ...pm.rpm import run_rpm class Util(Base): diff --git a/src/python/jw/pkg/cmds/distro/backend/suse/Makefile b/src/python/jw/pkg/lib/pm/Makefile similarity index 66% rename from src/python/jw/pkg/cmds/distro/backend/suse/Makefile rename to src/python/jw/pkg/lib/pm/Makefile index d8d0e64b..7a83c333 100644 --- a/src/python/jw/pkg/cmds/distro/backend/suse/Makefile +++ b/src/python/jw/pkg/lib/pm/Makefile @@ -1,4 +1,4 @@ -TOPDIR = ../../../../../../../.. +TOPDIR = ../../../../../.. include $(TOPDIR)/make/proj.mk include $(JWBDIR)/make/py-mod.mk diff --git a/src/python/jw/pkg/cmds/distro/lib/dpkg.py b/src/python/jw/pkg/lib/pm/dpkg.py similarity index 94% rename from src/python/jw/pkg/cmds/distro/lib/dpkg.py rename to src/python/jw/pkg/lib/pm/dpkg.py index 7e6d18cf..213b5789 100644 --- a/src/python/jw/pkg/cmds/distro/lib/dpkg.py +++ b/src/python/jw/pkg/lib/pm/dpkg.py @@ -2,9 +2,9 @@ from typing import Iterable -from ....lib.util import run_cmd, run_sudo +from ..util import run_cmd, run_sudo -from .Package import Package, meta_tags +from ..Package import Package, meta_tags _meta_map: dict[str, str]|None = None diff --git a/src/python/jw/pkg/cmds/distro/lib/rpm.py b/src/python/jw/pkg/lib/pm/rpm.py similarity index 93% rename from src/python/jw/pkg/cmds/distro/lib/rpm.py rename to src/python/jw/pkg/lib/pm/rpm.py index 2edda5c6..cd9ac70f 100644 --- a/src/python/jw/pkg/cmds/distro/lib/rpm.py +++ b/src/python/jw/pkg/lib/pm/rpm.py @@ -2,9 +2,9 @@ from typing import Iterable -from ....lib.util import run_cmd, run_sudo +from ..util import run_cmd, run_sudo -from .Package import Package, meta_tags +from ..Package import Package, meta_tags _meta_map: dict[str, str]|None = None