+
     [;iZ  c                   s    ^ RI Ht ^ RIHt ]P                  ! 4       R8X  d,   ^RIHt ^ RIHt ^ RI	H
t
 ^ RIt^ RIt^ RIt ! R R	]4      tR# R# )
i    )absolute_import)SystemZdebian)IPackageManager)Package)PackagesCollectionNc                   sR   a  ] tR t^ t o RtR t]R 4       tR tR t	R t
R tRtV tR	# )
Dpkgz
Package manager class - DPKG
c                s    Wn         R # )NZopts)selfZkwargss   &,@/usr/lib/python3.14/site-packages/tracer/packageManagers/dpkg.py__init__ZDpkg.__init__'   s    9    c                s    R # )z/var/log/dpkg.log )r   s   &r   dpkg_logZDpkg.dpkg_log*   s    0r
   c                s   \        4       p\        V P                  R4      pV F  pVP                  R4      pV^,          R8w  d   K$  \        P
                  ! \        P                  ! V^ ,          R,           V^,          ,           R4      4      pWQ8  g   Ks  V^,          P                  R4      ^ ,          pVP                  \        We4      4       K  	  V# )zg
Returns list of packages which were modified between unix_time and present
Requires root permissions.
ZrZ Zupgradez%Y-%m-%d %H:%M:%S:)	r   openr   splittimeZmktimeZstrptimeappendr   )r   Z	unix_timeZnewerZloglineZmodifiedpkg_names   &&     r   packages_newer_thanZDpkg.packages_newer_than-   s    
 5	dmmS	!3t::c?DAw) {{	]]47S=47*H Qc"1%X
\\'(-.  <r
   c                s   . p\        \        P                  R4      pRRV.p\        P                  ! V\        P
                  VR7      pVP                  4       ^ ,          pVP                  4       P                  R4      RR  F;  p\        P                  P                  V4      '       g   K*  VP                  V4       K=  	  V# )z)Returns list of files provided by packageZwz
dpkg-queryz-L)stdoutZstderr
Ni)r   osZdevnull
subprocessPopenPIPEcommunicatedecoder   ZpathZisfiler   )r   r   ZfilesZfnullcommandprocessoutZfiles   &&      r   package_filesZDpkg.package_filesD   s    5

C 5D(+7gjooeL7				q	!3zz|!!$',t	ww~~d
\\$ - <r
   c                sx   Rp\         P                  ! RRVP                  .\         P                  R7      pVP	                  4       ^ ,          pVP                  4       P                  R4      pV FB  pVP                  R4      '       g   K  VP                  R4      ^,          P                  4       pKD  	  W!n	        R# )zFFrom database load informations about given package and set them to itNZdpkgz-sr   r   zDescription:)
r   r   namer   r   r   r   Z
startswithZstripdescription)r   Zpackager#   r   r   r   s   &&    r   load_package_infoZDpkg.load_package_infoP   s    ;vtW\\::??S7				q	!3			D	!3t~&&::n-a0668[  %r
   c                s(   RRVP                   .p\        P                  ! V\        P                  R7      pVP	                  4       ^ ,          pVP                  4       P                  R4      ^ ,          p\        VP                  R4      ^ ,          4      # )z8Returns name of package which provides given applicationZdlocatez-Sr!   r   r   )r"   r   r   r   r   r   r   r   )r   Zappr   r   r   s   &&   r   provided_byZDpkg.provided_by^   sp    sxx(7gjoo>7!!#A&8oo%%d+A.8
(..%a(
))r
   r   N)Z__name__Z
__module__Z__qualname__Z__firstlineno__Z__doc__r	   Zpropertyr   r   r    r$   r%   Z__static_attributes__Z__classdictcell__)Z__classdict__s   @r   r   r       s8     
 0 0.
%* *r
   r   )Z
__future__r    Ztracer.resources.systemr   ZdistributionZipackageManagerr   Ztracer.resources.packager   Ztracer.resources.collectionsr   r   r   r   r   r   r
   r   <module>r&      sE   & ' +	H$--<
D*O D* %r
   