SET(LIBZYPP_MAJOR "14")
SET(LIBZYPP_COMPATMINOR "39")
SET(LIBZYPP_MINOR "42")
-SET(LIBZYPP_PATCH "1")
+SET(LIBZYPP_PATCH "2")
#
-# LAST RELEASED: 14.42.1 (39)
+# LAST RELEASED: 14.42.2 (39)
# (The number in parenthesis is LIBZYPP_COMPATMINOR)
#=======
-------------------------------------------------------------------
+Thu Oct 22 10:27:41 CEST 2015 - ma@suse.de
+
+- fix Plugin-services not updating repo GPGCheck settings (bnc#951402)
+- version 14.42.2 (39)
+
+-------------------------------------------------------------------
+Sun Oct 18 01:14:29 CEST 2015 - ma@suse.de
+
+- Update zypp-po.tar.bz2
+
+-------------------------------------------------------------------
Thu Oct 15 10:44:14 CEST 2015 - ma@suse.de
- make Solvable::asUserString more readable (bnc#949957)
void RepoInfo::setPkgGpgCheck( TriBool value_r )
{ _pimpl->_pkgGpgCheck = value_r; }
+ void RepoInfo::getRawGpgChecks( TriBool & g_r, TriBool & r_r, TriBool & p_r ) const
+ {
+ g_r = _pimpl->_gpgCheck;
+ r_r = _pimpl->_repoGpgCheck;
+ p_r = _pimpl->_pkgGpgCheck;
+ }
TriBool RepoInfo::validRepoSignature() const
{
class Impl;
private:
+ friend class RepoManager;
+ /** Raw values for RepoManager */
+ void getRawGpgChecks( TriBool & g_r, TriBool & r_r, TriBool & p_r ) const;
+
/** Pointer to implementation */
RWCOW_pointer<Impl> _pimpl;
};
oldRepoModified = true;
}
+ // changed gpg check settings?
+ // ATM only plugin services can set GPG values.
+ if ( service.type() == ServiceType::PLUGIN )
+ {
+ TriBool ogpg[3]; // Gpg RepoGpg PkgGpg
+ TriBool ngpg[3];
+ oldRepo->getRawGpgChecks( ogpg[0], ogpg[1], ogpg[2] );
+ it-> getRawGpgChecks( ngpg[0], ngpg[1], ngpg[2] );
+#define Z_CHKGPG(I,N) \
+ if ( ! sameTriboolState( ogpg[I], ngpg[I] ) ) \
+ { \
+ DBG << "Service repo " << it->alias() << " gets new "#N"Check " << ngpg[I] << endl; \
+ oldRepo->set##N##Check( ngpg[I] ); \
+ oldRepoModified = true; \
+ }
+ Z_CHKGPG( 0, Gpg );
+ Z_CHKGPG( 1, RepoGpg );
+ Z_CHKGPG( 2, PkgGpg );
+#undef Z_CHKGPG
+ }
+
// save if modified:
if ( oldRepoModified )
{
/** \relates TriBool stream output */
inline std::ostream & operator<<(std::ostream & s, const tribool & obj)
{ return s << zypp::asString( obj ); }
+
+ /** \relates TriBool whether 2 tribool have the same state (this is NOT ==) */
+ inline bool sameTriboolState( tribool lhs, tribool rhs )
+ { return( ( indeterminate(lhs) && indeterminate(rhs) ) || ( lhs == rhs ) ); }
}
}
#endif // ZYPP_TRIBOOL_H