+
    i  c                   sJ    ^ RI Ht ^ RIt^ RIt^ RIHtHt  ! R R]]4      tR# )i    )PathN)PluginRedHatPluginc                   s.   a  ] tR t^t o RtRtR tRtV tR# )
UnpackagedzDCollects a list of files that are not handled by the package manager
unpackagedc           	     sB  a a R  pR	V 3R llpV 3R lpS P                  RR7      '       g   R# S P                  R4      ;_uu_ 4       pV! 4       o. p\        V3R lS P                  P	                  S P                  P
                  P                  4       4       4       4      pS F  pWR! V4      ,          pK  	  V UU	u. uF  w  rW9  g   K  VNK  	  p
pp	V! V
4      pVP                  RP                  V4      4       RRR4       R# u up	pi   + '       g   i     R# ; i)
c                 sN    \         P                  R,          P                  R4      # )z3Return a list of directories in $PATH.
            ZPATHZ:)osZenvironZsplit     B/usr/lib/python3.14/site-packages/sos/report/plugins/unpackaged.pyget_env_path_listZ-Unpackaged.collect.<locals>.get_env_path_list   s     ::f%++C00r   Nc                s  < . p\         P                  ! V RR7       EF,  w  r4pV'       d'   V F   pV Uu. uF  qwV9  g   K  VNK  	  upVR&   K"  	  V F  pS	P                  W84      p  \        P                  ! \         P
                  ! V 4      P                  4      '       d   \        V 4      P                  4       p TP                  S	P                  Y84      \         P                  P                  T 4      .4       K  	  V FD  pS	P                  W84      pVP                  V\         P                  P                  V4      .4       KF  	  EK/  	  V# u upi   \         d     EK  i ; i)zReturn a list of all files present on the system, excluding
    any directories listed in `exclude`.

:param path: the starting path
:param exclude: list of paths to exclude
T)Ztopdown:NNN)r   Zwalk	path_joinstatZS_ISLNKZlstatZst_moder    ZresolveZ	Exceptionappendpathrealpath)
r   ZexcludeZ	file_listZrootZdirsfilesZexcZdZnameselfs
   &&       r   all_files_systemZ,Unpackaged.collect.<locals>.all_files_system   s-    I%'WWT4%@%@!E&.2"Cdsl11d"CQ  '!D>>$5D!<<(>(>??#':#5#5#7D $$3RWW5E5Ed5KL " !D>>$5D$$dBGG,<,<T,B%CD ! &A$  #D % ! !s   EE(AEE$#E$c                s  < . pV  F|  pSP                  V4      pT p^ pSP                  V4      '       d5   V^
8  d.   \        P                  ! V4      pVRV 2,          pV^,          pKK  VP	                  VR,           4       K~  	  V# )z4Format the unpackaged list as a string.
            z -> Z
)r
   Zpath_islinkr   Zreadlinkr   )r   ZexpandedZfileZoutZlinksr   s   &    r   format_outputZ)Unpackaged.collect.<locals>.format_output9   s     H~~d+
 &&t,,;;t,DT$=(CQJEd
+  Or   T)Zcmdr   c              3   s   <a"   T Ff  o\         ;QJ d    V3R  lS 4       F  '       g   K   RM	  RM! V3R  lS 4       4      '       g   KE  \        P                  P                  S4      x  Kh  	  R# 5i)c              3   sF   <"   T F  pSP                  V4      x  K  	  R # 5iN)Z
startswith).0Zpxs   & r   	<genexpr>Z/Unpackaged.collect.<locals>.<genexpr>.<genexpr>V   s     8%Qa%s   !TFN)Zanyr   r   r   )r   r   pathss   &@r   r   Z%Unpackaged.collect.<locals>.<genexpr>S   sN      .S8%8SSS8%88 $  ## .s   A2A2A2'A2Z r   )	Ztest_predicateZcollection_fileZsetZpolicyZmangle_package_pathZpackage_managerZ	all_filesZwriteZjoin)r   r	   r   r   ZufileZall_fsystemZall_frpmr   r   ZrpZnot_packagedZnot_packaged_expandedr   s   f           @r   collectZUnpackaged.collect   s    	1
	:	( ""t",,!!,//5%'EK -1[[-L-LKK//99;. H /55 -8O['1B<NAA[LO$1,$?!KK 567 0/ P 0//s%   A6D=
D
D
+DDD	r   N)	Z__name__Z
__module__Z__qualname__Z__firstlineno__Z
short_descZplugin_namer   Z__static_attributes__Z__classdictcell__)Z__classdict__s   @r   r   r      s     $JKI8 I8r   r   )Zpathlibr    r   r   Zsos.report.pluginsr   r   r   r   r   r   <module>r      s#     	  3O8 O8r   