Sandro Bonazzola has uploaded a new change for review. Change subject: packaging: setup: allow external plugins yum locking ......................................................................
packaging: setup: allow external plugins yum locking Added infrastructure for allowing external plugins to filter and add packages to version locking transaction. Change-Id: Ic5a33d3a09e1c5aa9fed8a08d81a4ce583c12797 Bug-Url: https://bugzilla.redhat.com/1011087 Signed-off-by: Sandro Bonazzola <sbona...@redhat.com> --- M packaging/setup/ovirt_engine_setup/constants.py M packaging/setup/plugins/ovirt-engine-setup/distro-rpm/packages.py 2 files changed, 30 insertions(+), 7 deletions(-) git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/79/21779/1 diff --git a/packaging/setup/ovirt_engine_setup/constants.py b/packaging/setup/ovirt_engine_setup/constants.py index 64dad78..65dd09a 100644 --- a/packaging/setup/ovirt_engine_setup/constants.py +++ b/packaging/setup/ovirt_engine_setup/constants.py @@ -1020,6 +1020,9 @@ def REQUIRE_ROLLBACK(self): return 'OSETUP_RPMDISTRO/requireRollback' + ADDITIONAL_FILTER_PACKAGES = 'OSETUP_RPMDISTRO/additionalFilterPackages' + ADDITIONAL_LOCK_PACKAGES = 'OSETUP_RPMDISTRO/additionalLockPackages' + @util.export @util.codegen diff --git a/packaging/setup/plugins/ovirt-engine-setup/distro-rpm/packages.py b/packaging/setup/plugins/ovirt-engine-setup/distro-rpm/packages.py index dd3e42c..c121aba 100644 --- a/packaging/setup/plugins/ovirt-engine-setup/distro-rpm/packages.py +++ b/packaging/setup/plugins/ovirt-engine-setup/distro-rpm/packages.py @@ -60,16 +60,21 @@ if os.path.exists( osetupcons.FileLocations.OVIRT_ENGINE_YUM_VERSIONLOCK ): + checks = [ + osetupcons.Const.ENGINE_PACKAGE_NAME, + ] + self.environment[ + osetupcons.RPMDistroEnv.ADDITIONAL_FILTER_PACKAGES + ] + with open( osetupcons.FileLocations.OVIRT_ENGINE_YUM_VERSIONLOCK, ) as f: for line in f.read().splitlines(): - if line.find( - osetupcons.Const.ENGINE_PACKAGE_NAME - ) == -1: - content.append(line) - else: - modified = True + for check in checks: + if line.find(check) != -1: + continue + content.append(line) + modified = True return (modified, content) @property @@ -124,7 +129,9 @@ args=( self._parent.command.get('rpm'), '-q', - ) + osetupcons.Const.RPM_LOCK_LIST, + ) + osetupcons.Const.RPM_LOCK_LIST + self.environment[ + osetupcons.RPMDistroEnv.ADDITIONAL_LOCK_PACKAGES + ], ) changes = [] for line in out: @@ -263,6 +270,19 @@ )[0] @plugin.event( + stage=plugin.Stages.STAGE_INIT, + ) + def _init(self): + self.environment.setdefault( + osetupcons.RPMDistroEnv.ADDITIONAL_LOCK_PACKAGES, + [] + ) + self.environment.setdefault( + osetupcons.RPMDistroEnv.ADDITIONAL_FILTER_PACKAGES, + [] + ) + + @plugin.event( stage=plugin.Stages.STAGE_SETUP, condition=lambda self: ( not self.environment[ -- To view, visit http://gerrit.ovirt.org/21779 To unsubscribe, visit http://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: Ic5a33d3a09e1c5aa9fed8a08d81a4ce583c12797 Gerrit-PatchSet: 1 Gerrit-Project: ovirt-engine Gerrit-Branch: master Gerrit-Owner: Sandro Bonazzola <sbona...@redhat.com> _______________________________________________ Engine-patches mailing list Engine-patches@ovirt.org http://lists.ovirt.org/mailman/listinfo/engine-patches