o
    µ+keä  ã                   @   sh   d dl Z d dlZddlmZ ddlmZmZmZmZ G dd„ deƒZ	dd	„ Z
G d
d„ deƒZdd„ ZdS )é    Né   )ÚErroré   )Úis_win32Úis_linuxÚ
is_freebsdÚ	is_darwinc                   @   ó   e Zd ZdZdS )ÚPythonLibcTooOldzXFATAL: this Python was compiled for a too old (g)libc and misses required functionality.N©Ú__name__Ú
__module__Ú__qualname__Ú__doc__© r   r   ú7usr/lib/python3.10/site-packages/borg/helpers/checks.pyr
      ó    r
   c                  C   s2   t rtjh} ntjtjtjh} tj | ¡st‚d S )N)r   ÚosÚstatÚutimeÚchownÚsupports_follow_symlinksÚ
issupersetr
   )Zrequired_funcsr   r   r   Úcheck_python   s   
ÿr   c                   @   r	   )ÚExtensionModuleErrorzGThe Borg binary extension modules do not seem to be properly installed.Nr   r   r   r   r   r      r   r   c                  C   sŒ   dd l } ddlm}m}m}m}m} |jdkrt‚|jdkr t‚|jdkr't‚| j	j
jdkr0t‚|jdkr7t‚|j|jksB|jdkrDt‚d S )Nr   r   )ÚplatformÚcompressÚitemÚchunkerÚ	hashindexz1.2_01z1.2_02z1.2_05)Zborg.crypto.low_levelÚ r   r   r   r   r   ZAPI_VERSIONr   ÚcryptoZ	low_levelZOS_API_VERSION)Úborgr   r   r   r   r   r   r   r   Úcheck_extension_modules   s   



ÿr#   )r   ÚsysÚerrorsr   Zplatformflagsr   r   r   r   r
   r   r   r#   r   r   r   r   Ú<module>   s    	