+
     [;i{  c                   s    ^ RI Ht ^ RIt^ RIHt ]P                  ! 4       R9   d:   ^ RIt^ RIH	t	 ^ RI
Ht ^ RIHt  ! R R]	4      t ! R	 R
]4      t ! R R]4      tR# R# )    )absolute_importN)System)Rpm)Package)PackagesCollectionc                   sN   a a ] tR t^t oV 3R lt]R 4       tV 3R ltRtVt	V ;t
# )Dnfc                sN  < \         \        V `
  ! R/ VB  \        P                  P                  R 4      '       d   RV P                  R&   \        P                  P                  R 4      '       g&   \        P                  P                  R4      '       d   RV P                  R&   R# R# )$/usr/lib/sysimage/dnf/history.sqliteTsysimage_persistdir/var/lib/dnf/history.sqlitemodern_swdbN )superr   __init__osZpathZexistsopts)selfkwargs	__class__s   &,?/usr/lib/python3.14/site-packages/tracer/packageManagers/dnf.pyr   ZDnf.__init__!   st    d&v&ggnn;<<'+DII#$ggnn;<<Ol@m@m#DIIm An    c                s    V P                   P                  R 4      '       d&   V P                   P                  R4      '       d   R# R# V P                   P                  R4      '       d   R# R# )r
   r   r   r	   z/usr/lib/sysimage/dnf/history/z/var/lib/dnf/history/)r   get)r   s   &r   history_pathZDnf.history_path(   sI    
iimmM""yy}}*++2)
iimm)**+"r   c                s.  < V P                   P                  R 4      '       g   \        \        V `  V4      # \
        P                  ! RRRRV.\
        P                  R7      pVP                  4       ^ ,          pVP                  4       P                  R4      # )erasedZdnfZ	repoqueryz-qz-l)ZstdoutZ
)r   r   r   r   package_files
subprocessZPopenZPIPEZcommunicateZdecodeZsplit)r   pkg_nameZprocessZoutr   s   &&  r   r   ZDnf.package_files4   sx    
))--
!
!d)(33 uk4xHQ[Q`Q`a7				q	!3
**,

T
""r   r   )__name__
__module____qualname____firstlineno__r   Zpropertyr   r   __static_attributes____classdictcell____classcell__r   __classdict__   @@r   r   r      s(     $ 	# 	## #r   r   c                   s,   a  ] tR t^>t o R tR tRtV tR# )FakeDnf5c                    . # Nr   )r   	unix_time   &&r   packages_newer_thanZFakeDnf5.packages_newer_than?       
9r   c                r&   r'   r   )r   r   r)   r   r   ZFakeDnf5.package_filesB   r+   r   r   N)r   r   r   r   r*   r   r   r    )r#   s   @r   r%   r%   >   s      r   r%   c                   sD   a a ] tR t^Ft oV 3R ltR tV 3R ltRtVtV ;t	# )Dnf5c                sd   <  ^ RI p\        SV `	  V 4      #   \         d    \	        T/ TB u # i ; i)zy
We are going to enable DNF5 on all Fedora, EPEL, Mageia, openSUSE,
etc systems and not all of them may have DNF5 (yet).
N)libdnf5r   __new__ZImportErrorr%   )ZclsZargsr   r-   r   s   &*, r   r.   ZDnf5.__new__G   s9    
%7?3
 %T$V$$%s    //c                s   ^ RI pVP                  P                  4       pVP                  4        / pVP	                  4       pVP                  4        FQ  pVP                  4       V8  d   K  VP                  4        F#  pVP                  4       WGP                  4       &   K%  	  KS  	  \        4       pVP                  4        F  w  rVP                  \        W4      4       K!  	  V# )r    N)r-   baseBasesetupZget_transaction_historyZlist_all_transactionsZget_dt_startZget_packagesZget_namer   ZitemsZappendr   )r   r(   r-   r/   ZpackagesZhistoryZtransactionZpackageZ
collectionZnameZ	timestamps   &&         r   r*   ZDnf5.packages_newer_thanR   s    
,,


4::< 8))+7335{!I-++-$/$<$<$>X ! . 6 #$:"..*tgd./ + r   c                s  < V P                   P                  R 4      '       g   \        \        V `  V4      # ^ RIpVP                  P                  4       pVP                  4        VP                  4       p\        VR4      '       d   VP                  4        MVP                  R4       VP                  P                  V4      pVP                  V.4       . pV F"  pVP!                  VP#                  4       4       K$  	  V# )r   N
load_reposT)r   r   r   r   r   r-   r/   r0   r1   Zget_repo_sackZhasattrr2   Zupdate_and_load_enabled_reposZrpmZPackageQueryZfilter_nameZextendZ	get_files)	r   r   r-   r/   Z	repo_sackZqueryZpathsZpkgr   s	   &&      r   r   ZDnf5.package_filesg   s    
))--
!
!d)(33
,,


4::<!!#9i&& ++D1;;##D)5hZ 5s	LL! 
<r   r   )
r   r   r   r   r.   r*   r   r   r    r!   r"   r$   r   r,   r,   F   s     	%* r   r,   )ZrhelZfedoraZcentoszcentos-7ZmageiaZsuseZol)Z
__future__r   Zos.pathr   Ztracer.resources.systemr   Zdistributionr   Ztracer.packageManagers.rpmr   Ztracer.resources.packager   Ztracer.resources.collectionsr   r   r%   r,   r   r   r   <module>r3      sY   & '  *	\\+-<#3 #> 7C 7] ]r   