grthtrhthjhtyjytjytkergtrhtrjytjerhrfh4:24 29/09/2026a ©!cã ã@s˜ddlmZddlmZddlZddlZddlZddlZddlZddl Z ddl m Z ddl m Z e d¡ZGdd„dejƒZd d „Zd d „Zd d„ZdS)é)Úabsolute_import)Úunicode_literalsN)Ú basestring)Ú_Údnfcs0eZdZ‡fdd„Zd dd„Zd dd„Z‡ZS) ÚSackcstt|ƒj|i|¤ŽdS)N)ÚsuperrÚ__init__)ÚselfÚargsÚkwargs©Ú __class__©ú,/usr/lib/python3.9/site-packages/dnf/sack.pyr %sz Sack.__init__NrcCs8|r ||_||_|dur4||_|dur4t tdƒ¡dS)NFznallow_vendor_change is disabled. This option is currently not supported for downgrade and distro-sync commands)Ú installonlyÚinstallonly_limitÚallow_vendor_changeÚloggerZwarningr)r rrrrrrÚ _configure(szSack._configurecCstj ||¡S)z'Factory function returning a DNF Query.)rÚqueryZQuery)r Úflagsrrrr1sz Sack.query)NrN)r)Ú__name__Ú __module__Ú __qualname__r rrÚ __classcell__rrr rr"s  rc CsT|jj}tj |¡ttjj||jjd||jj t j   |jj tjj¡|jjdkd�S)NÚarché )ZpkgclsZ pkginitvalrÚcachedirZrootdirZlogfileZlogdebug)ZconfrrÚutilZ ensure_dirrÚpackageZPackageZ substitutionsZ installrootÚosÚpathÚjoinZlogdirÚconstZ LOG_HAWKEYZ logfilelevel)ÚbaserrrrÚ _build_sack7s    ür&cCs0t|ƒ}z|jdd�Wnty*Yn0|S)NF)Z build_cache)r&Zload_system_repoÚIOError)r%ZsackrrrÚ _rpmdb_sackBs  r(cCst|ƒS)zš Returns a new instance of sack containing only installed packages (@System repo) Useful to get list of the installed RPMs after transaction. )r()r%rrrÚ rpmdb_sackMsr))Z __future__rrZdnf.utilrZ dnf.packageZ dnf.queryZloggingZhawkeyr!Z dnf.pycomprZdnf.i18nrZ getLoggerrrr&r(r)rrrrÚs