Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package yast2-pkg-bindings for openSUSE:Factory checked in at 2025-07-02 12:07:35 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/yast2-pkg-bindings (Old) and /work/SRC/openSUSE:Factory/.yast2-pkg-bindings.new.7067 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "yast2-pkg-bindings" Wed Jul 2 12:07:35 2025 rev:232 rq:1289530 version:5.0.6 Changes: -------- --- /work/SRC/openSUSE:Factory/yast2-pkg-bindings/yast2-pkg-bindings.changes 2025-02-04 18:09:54.445038454 +0100 +++ /work/SRC/openSUSE:Factory/.yast2-pkg-bindings.new.7067/yast2-pkg-bindings.changes 2025-07-02 12:08:06.035206834 +0200 @@ -1,0 +2,6 @@ +Mon Jun 30 13:52:01 UTC 2025 - Ladislav Slezák <lsle...@suse.com> + +- Add support for the new libzypp install callbacks (bsc#1244319). +- 5.0.6 + +------------------------------------------------------------------- Old: ---- yast2-pkg-bindings-5.0.5.tar.bz2 New: ---- yast2-pkg-bindings-5.0.6.tar.bz2 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ yast2-pkg-bindings.spec ++++++ --- /var/tmp/diff_new_pack.F2O7su/_old 2025-07-02 12:08:06.943244774 +0200 +++ /var/tmp/diff_new_pack.F2O7su/_new 2025-07-02 12:08:06.947244941 +0200 @@ -17,7 +17,7 @@ Name: yast2-pkg-bindings -Version: 5.0.5 +Version: 5.0.6 Release: 0 Summary: YaST2 - Package Manager Access License: GPL-2.0-only ++++++ yast2-pkg-bindings-5.0.5.tar.bz2 -> yast2-pkg-bindings-5.0.6.tar.bz2 ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-pkg-bindings-5.0.5/package/yast2-pkg-bindings.changes new/yast2-pkg-bindings-5.0.6/package/yast2-pkg-bindings.changes --- old/yast2-pkg-bindings-5.0.5/package/yast2-pkg-bindings.changes 2025-02-03 10:32:13.000000000 +0100 +++ new/yast2-pkg-bindings-5.0.6/package/yast2-pkg-bindings.changes 2025-07-01 14:41:48.000000000 +0200 @@ -1,4 +1,10 @@ ------------------------------------------------------------------- +Mon Jun 30 13:52:01 UTC 2025 - Ladislav Slezák <lsle...@suse.com> + +- Add support for the new libzypp install callbacks (bsc#1244319). +- 5.0.6 + +------------------------------------------------------------------- Fri Jan 31 20:19:20 UTC 2025 - Josef Reidinger <jreidin...@suse.com> - Deprecated callbacks that is deprecated and no longer used diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-pkg-bindings-5.0.5/package/yast2-pkg-bindings.spec new/yast2-pkg-bindings-5.0.6/package/yast2-pkg-bindings.spec --- old/yast2-pkg-bindings-5.0.5/package/yast2-pkg-bindings.spec 2025-02-03 10:32:13.000000000 +0100 +++ new/yast2-pkg-bindings-5.0.6/package/yast2-pkg-bindings.spec 2025-07-01 14:41:48.000000000 +0200 @@ -17,7 +17,7 @@ Name: yast2-pkg-bindings -Version: 5.0.5 +Version: 5.0.6 Release: 0 Summary: YaST2 - Package Manager Access License: GPL-2.0-only diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-pkg-bindings-5.0.5/smoke_test_run.rb new/yast2-pkg-bindings-5.0.6/smoke_test_run.rb --- old/yast2-pkg-bindings-5.0.5/smoke_test_run.rb 2025-02-03 10:32:13.000000000 +0100 +++ new/yast2-pkg-bindings-5.0.6/smoke_test_run.rb 2025-07-01 14:41:48.000000000 +0200 @@ -29,6 +29,9 @@ # (when running as non-root) y2log.reject! { |l| l =~ /\/var\/lib\/zypp\/LastDistributionFlavor/ } + # ignore repository mirror errors + y2log.reject! { |l| l =~ /Failed to read RepoMirrorList file/ } + # no idea why that happens at Travis, let's ignore that... y2log.reject! { |l| l =~ /error: Interrupted system call/ } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-pkg-bindings-5.0.5/src/Callbacks.YCP.cc new/yast2-pkg-bindings-5.0.6/src/Callbacks.YCP.cc --- old/yast2-pkg-bindings-5.0.5/src/Callbacks.YCP.cc 2025-02-03 10:32:13.000000000 +0100 +++ new/yast2-pkg-bindings-5.0.6/src/Callbacks.YCP.cc 2025-07-01 14:41:48.000000000 +0200 @@ -58,6 +58,9 @@ ENUM_OUT( DoneDownload ); ENUM_OUT( InitDownload ); ENUM_OUT( DestDownload ); + ENUM_OUT( StartInstallResolvableSA ); + ENUM_OUT( ProgressInstallResolvableSA ); + ENUM_OUT( FinishInstallResolvableSA ); ENUM_OUT( ScriptStart ); ENUM_OUT( ScriptProgress ); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-pkg-bindings-5.0.5/src/Callbacks.YCP.h new/yast2-pkg-bindings-5.0.6/src/Callbacks.YCP.h --- old/yast2-pkg-bindings-5.0.5/src/Callbacks.YCP.h 2025-02-03 10:32:13.000000000 +0100 +++ new/yast2-pkg-bindings-5.0.6/src/Callbacks.YCP.h 2025-07-01 14:41:48.000000000 +0200 @@ -69,6 +69,7 @@ CB_StartScanDb, CB_ProgressScanDb, CB_ErrorScanDb, CB_DoneScanDb, CB_StartProvide, CB_ProgressProvide, CB_DoneProvide, CB_StartPackage, CB_ProgressPackage, CB_DonePackage, + CB_StartInstallResolvableSA, CB_ProgressInstallResolvableSA, CB_FinishInstallResolvableSA, CB_SourceCreateStart, CB_SourceCreateProgress, CB_SourceCreateError, CB_SourceCreateEnd, CB_SourceCreateInit, CB_SourceCreateDestroy, diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-pkg-bindings-5.0.5/src/Callbacks.cc new/yast2-pkg-bindings-5.0.6/src/Callbacks.cc --- old/yast2-pkg-bindings-5.0.5/src/Callbacks.cc 2025-02-03 10:32:13.000000000 +0100 +++ new/yast2-pkg-bindings-5.0.6/src/Callbacks.cc 2025-07-01 14:41:48.000000000 +0200 @@ -141,6 +141,72 @@ } }; + /////////////////////////////////////////////////////////////////// + // InstallResolvableReportSA callback + /////////////////////////////////////////////////////////////////// + struct InstallResolvableReportSA : public Recipient, public zypp::callback::ReceiveReport<zypp::target::rpm::InstallResolvableReportSA> + { + InstallResolvableReportSA( RecipientCtl & construct_r ) : Recipient( construct_r ) {} + + virtual void start(zypp::Resolvable::constPtr resolvable, const UserData &userdata = UserData()) + { + CB callback( ycpcb( YCPCallbacks::CB_StartInstallResolvableSA ) ); + + if (callback._set) { + callback.addMap(resolvable2map(resolvable)); + callback.evaluate(); + } + } + + virtual void progress(int value, zypp::Resolvable::constPtr resolvable, const UserData &userdata = UserData()) + { + CB callback( ycpcb( YCPCallbacks::CB_ProgressInstallResolvableSA ) ); + + if (callback._set) { + callback.addMap(resolvable2map(resolvable)); + callback.addInt(value); + callback.evaluate(); + } + } + + virtual void finish(zypp::Resolvable::constPtr resolvable, Error error, const UserData &userdata = UserData()) + { + CB callback( ycpcb( YCPCallbacks::CB_FinishInstallResolvableSA ) ); + + if (callback._set) { + callback.addMap(resolvable2map(resolvable)); + callback.evaluate(); + } + } + + private: + + YCPMap resolvable2map(zypp::Resolvable::constPtr resolvable) { + YCPMap map; + map->add(YCPString("name"), YCPString(resolvable->name())); + map->add(YCPString("version"), YCPString(resolvable->edition().asString())); + map->add(YCPString("arch"), YCPString(resolvable->arch().asString())); + map->add(YCPString("repo_alias"), YCPString(resolvable->repoInfo().alias())); + + string kind; + if (resolvable->isKind<zypp::Package>()) { + kind = "package"; + } else if (resolvable->isKind<zypp::Patch>()) { + kind = "patch"; + } else if (resolvable->isKind<zypp::Pattern>()) { + kind = "pattern"; + } else if (resolvable->isKind<zypp::SrcPackage>()) { + kind = "srcpackage"; + } else if (resolvable->isKind<zypp::Product>()) { + kind = "product"; + } else { + y2error("Unknown resolvable kind"); + } + map->add(YCPString("kind"), YCPString(kind)); + + return map; + } + }; /////////////////////////////////////////////////////////////////// // InstallPkgCallback @@ -1427,6 +1493,7 @@ ZyppRecipients::RemovePkgReceive _removePkgReceive; ZyppRecipients::DownloadResolvableReceive _providePkgReceive; ZyppRecipients::FileConflictReceive _fileConflictReceive; + ZyppRecipients::InstallResolvableReportSA _installResolvableReportSA; // media callback ZyppRecipients::MediaChangeReceive _mediaChangeReceive; @@ -1459,6 +1526,7 @@ , _removePkgReceive( *this ) , _providePkgReceive( *this, pkg ) , _fileConflictReceive( *this ) + , _installResolvableReportSA( *this ) , _mediaChangeReceive( *this ) , _downloadProgressReceive( *this ) , _scriptExecReceive( *this ) @@ -1475,6 +1543,7 @@ _removePkgReceive.connect(); _providePkgReceive.connect(); _fileConflictReceive.connect(); + _installResolvableReportSA.connect(); _mediaChangeReceive.connect(); _downloadProgressReceive.connect(); _scriptExecReceive.connect(); @@ -1494,6 +1563,7 @@ _removePkgReceive.disconnect(); _providePkgReceive.disconnect(); _fileConflictReceive.disconnect(); + _installResolvableReportSA.disconnect(); _mediaChangeReceive.disconnect(); _downloadProgressReceive.disconnect(); _scriptExecReceive.disconnect(); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-pkg-bindings-5.0.5/src/Callbacks_Register.cc new/yast2-pkg-bindings-5.0.6/src/Callbacks_Register.cc --- old/yast2-pkg-bindings-5.0.5/src/Callbacks_Register.cc 2025-02-03 10:32:13.000000000 +0100 +++ new/yast2-pkg-bindings-5.0.6/src/Callbacks_Register.cc 2025-07-01 14:41:48.000000000 +0200 @@ -67,6 +67,36 @@ } /** + * @builtin CallbackStartInstallResolvableSA + * @short Register callback for: Resolvable installation start + * @param funref cb Callback with prototype <code>void(map<string,any> resolvable)</code>. The map has string values for these string keys: kind, name, version, arch, repo_alias. + * @return void + */ +YCPValue PkgFunctions::CallbackStartInstallResolvableSA( const YCPValue& args ) { + return SET_YCP_CB( CB_StartInstallResolvableSA, args ); +} +/** + * @builtin CallbackProgressInstallResolvableSA + * @short Register callback for: Resolvable installation progress + * @param funref cb Callback with prototype <code>void(map<string,any> resolvable, integer value)</code>. The map has string values for these string keys: kind, name, version, arch, repo_alias. + * @return void + */ + +YCPValue PkgFunctions::CallbackProgressInstallResolvableSA( const YCPValue& args ) { + return SET_YCP_CB( CB_ProgressInstallResolvableSA, args ); +} +/** + * @builtin CallbackFinishInstallResolvableSA + * @short Register callback for: Resolvable installation finish + * @param funref cb Callback with prototype <code>void(map<string,any> resolvable)</code>. The map has string values for these string keys: kind, name, version, arch, repo_alias. + * @return void + */ +YCPValue PkgFunctions::CallbackFinishInstallResolvableSA( const YCPValue& args ) { + return SET_YCP_CB( CB_FinishInstallResolvableSA, args ); +} + + +/** * @builtin CallbackImportGpgKey * @short Register callback function * @param string args Name of the callback handler function. Required callback prototype is <code>boolean(map<string,any> key, integer repo_id)</code>. The callback function should ask user whether the key is trusted and can be imported, returned 'true' value means to import the trusted key diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-pkg-bindings-5.0.5/src/PkgFunctions.h new/yast2-pkg-bindings-5.0.6/src/PkgFunctions.h --- old/yast2-pkg-bindings-5.0.5/src/PkgFunctions.h 2025-02-03 10:32:13.000000000 +0100 +++ new/yast2-pkg-bindings-5.0.6/src/PkgFunctions.h 2025-07-01 14:41:48.000000000 +0200 @@ -321,6 +321,13 @@ /* TYPEINFO: void(string(integer,string)) */ YCPValue CallbackDonePackage (const YCPValue& /*nil*/ args); + /* TYPEINFO: void(void(map<string,any>)) */ + YCPValue CallbackStartInstallResolvableSA( const YCPValue& args ); + /* TYPEINFO: void(void(map<string,any>,integer)) */ + YCPValue CallbackProgressInstallResolvableSA( const YCPValue& args ); + /* TYPEINFO: void(void(map<string,any>)) */ + YCPValue CallbackFinishInstallResolvableSA( const YCPValue& args ); + /* TYPEINFO: void(void(string,integer)) */ YCPValue CallbackStartDeltaDownload( const YCPValue& /*nil*/ args); /* TYPEINFO: void(boolean(integer)) */