From f0d0c379e531e9e6cf78812abe04a571f9651664 Mon Sep 17 00:00:00 2001 From: Michael Andres Date: Tue, 19 Oct 2010 15:37:42 +0200 Subject: [PATCH] Quick add hook for system/spacewalk plugin to send system content after commit. --- libzypp.spec.cmake | 4 +++- zypp/target/TargetImpl.cc | 23 +++++++++++++++++++++++ 2 files changed, 26 insertions(+), 1 deletion(-) diff --git a/libzypp.spec.cmake b/libzypp.spec.cmake index 23fd0cc..565cb88 100644 --- a/libzypp.spec.cmake +++ b/libzypp.spec.cmake @@ -194,8 +194,10 @@ mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/zypp/repos.d mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/zypp/services.d mkdir -p $RPM_BUILD_ROOT%{_prefix}/lib/zypp mkdir -p $RPM_BUILD_ROOT%{_prefix}/lib/zypp/plugins -mkdir -p $RPM_BUILD_ROOT%{_prefix}/lib/zypp/plugins/media +mkdir -p $RPM_BUILD_ROOT%{_prefix}/lib/zypp/plugins/commit mkdir -p $RPM_BUILD_ROOT%{_prefix}/lib/zypp/plugins/services +mkdir -p $RPM_BUILD_ROOT%{_prefix}/lib/zypp/plugins/system +mkdir -p $RPM_BUILD_ROOT%{_prefix}/lib/zypp/plugins/urlresolver mkdir -p $RPM_BUILD_ROOT%{_var}/lib/zypp mkdir -p $RPM_BUILD_ROOT%{_var}/log/zypp mkdir -p $RPM_BUILD_ROOT%{_var}/cache/zypp diff --git a/zypp/target/TargetImpl.cc b/zypp/target/TargetImpl.cc index e2ddfe5..886058e 100644 --- a/zypp/target/TargetImpl.cc +++ b/zypp/target/TargetImpl.cc @@ -819,6 +819,29 @@ namespace zypp // We keep it. guard.resetDispose(); + + // Finally send notification to plugins + // NOTE: quick hack looking for spacewalk plugin only + { + Pathname script( Pathname::assertprefix( _root, ZConfig::instance().pluginsPath()/"system/spacewalk" ) ); + if ( PathInfo( script ).isX() ) + try { + PluginScript spacewalk( script ); + spacewalk.open(); + + PluginFrame notify( "PACKAGESETCHANGED" ); + spacewalk.send( notify ); + + PluginFrame ret( spacewalk.receive() ); + MIL << ret << endl; + if ( ret.command() == "ERROR" ) + ret.writeTo( WAR ) << endl; + } + catch ( const Exception & excpt ) + { + WAR << excpt.asUserHistory() << endl; + } + } } } -- 2.7.4