Hcf&ddlmZmZmZmZmZddlmZmZm Z m Z m Z ddl m Z ddlmZmZddlmZmZmZej*ZGdde j.ZGdd eZGd d eZGd d eZGddeZGddeZy))AnyDictOptionalTupleType)apt event_loggermessagessystemutil)repo)EntitlementWithMessage UAEntitlement)MessagingOperationsMessagingOperationsDictStaticAffordanceceZdZdZej ZejZejZ ejjZ dZdZdZdZdZdefdZdeeeeffdZedeed ffd Zedeed ffd Zede fd Z!ddZ"y )RealtimeKernelEntitlementzrealtime-kernelzubuntu-pro-realtime-kernel.gpgTFUbuntuRealtimeKernelreturnctjt|jtdg}tj ||S)z%Check if system needs to be rebooted.zlinux-.*-realtime)installed_pkgsinstalled_pkgs_regex)r should_rebootsetpackagesevent needs_reboot)selfreboot_requireds @/usr/lib/python3/dist-packages/uaclient/entitlements/realtime.py_check_for_rebootz+RealtimeKernelEntitlement._check_for_reboots@ ..t}}-!$&9%:!;  ?+ctjttjttjttjtiSN)GenericRealtime variant_nameNvidiaTegraRealtimeRaspberryPiRealtimeIntelIotgRealtimers r! _get_variantsz'RealtimeKernelEntitlement._get_variants$s;  ( (/  , ,.A  , ,.A  * *,=   r#.cddlm}m}ddlm}t |t jt |t jt |t jfS)Nr)FIPSEntitlementFIPSUpdatesEntitlement)LivepatchEntitlement) uaclient.entitlements.fipsr.r/uaclient.entitlements.livepatchr0rr REALTIME_FIPS_INCOMPATIBLE"REALTIME_FIPS_UPDATES_INCOMPATIBLEREALTIME_LIVEPATCH_INCOMPATIBLE)rr.r/r0s r!incompatible_servicesz/RealtimeKernelEntitlement.incompatible_services,sW  I #!D!D  #&;;  #$h&N&N   r#c,tjddffS)Nc*tjSr%)r is_containerr#r!z>RealtimeKernelEntitlement.static_affordances..Fs++-r#F)r #REALTIME_ERROR_INSTALL_ON_CONTAINERr+s r!static_affordancesz,RealtimeKernelEntitlement.static_affordancesAs"<<-   r#cd}|js/tjtj|j ddfg}d}|j s.tjtj|j dfg}||dS)NT)msg assume_yesdefault)r?r@) pre_enable pre_disable) access_onlyr prompt_for_confirmationr REALTIME_PROMPTr@purgeREALTIME_PRE_DISABLE_PROMPT)rrBrCs r! messagingz#RealtimeKernelEntitlement.messagingKs 00'77&*oo#' J zz00'CC&*ooK%&  r#Nct|jjttj}|rHtj t |tjj|jyy)N)title) rr intersectionrget_installed_packages_namesremove_packageslistr DISABLE_FAILED_TMPLformatrK)rrs r!rNz)RealtimeKernelEntitlement.remove_packagesmsft}}%22 002 3     X,,33$**3E  r#)rN)#__name__ __module__ __qualname__namer REALTIME_TITLErKREALTIME_DESCRIPTION descriptionREALTIME_HELP_TEXT help_texturlsREALTIME_HOME_PAGE help_doc_url repo_key_fileapt_noninteractivesupports_access_onlysupports_purgeoriginboolr"rstrrrr,propertyrrr6rr=rrIrNr:r#r!rrs D  # #E//K++I==33L4MN #F4 tCm)<$<=  u-CS-H'I  ( E*:C*?$@     Br#rc8eZdZedeedfffd ZxZS)RealtimeVariantr.c t|jjDcgc]D\}}t|tj j |j|jFc}}}t|$|zScc}}w)N)servicevariant) tupleother_variantsitemsrr REALTIME_VARIANT_INCOMPATIBLErQrKsuperr6)rrUclsincompatible_variants __class__s r!r6z%RealtimeVariant.incompatible_servicesys %"&!4!4!:!:!< D# '::AA $ CIIB  ! w,/DDD sA B )rRrSrTrerrr6 __classcell__)rrs@r!rgrgxs*  Eu-CS-H'I E Er#rgcHeZdZdZej ZejZdZ dZ y)r&genericTN) rRrSrTr'r REALTIME_GENERIC_TITLErKREALTIME_GENERIC_DESCRIPTIONrX is_variantcheck_packages_are_installedr:r#r!r&r&s(L  + +E77KJ#' r#r&cHeZdZdZej ZejZdZ dZ y)r(z nvidia-tegraTN) rRrSrTr'r REALTIME_NVIDIA_TITLErKREALTIME_NVIDIA_DESCRIPTIONrXrxryr:r#r!r(r(s(!L  * *E66KJ#' r#r(cHeZdZdZej ZejZdZ dZ y)r)raspiTN) rRrSrTr'r REALTIME_RASPI_TITLErKREALTIME_RASPI_DESCRIPTIONrXrxryr:r#r!r)r)s(L  ) )E55KJ#' r#r)ceZdZdZej ZejZdZ dZ de e e fdeeeej"ffdZy)r*z intel-iotgTplatform_checksrctjj}|jdg}||vrydtj j |j|dj|fS)Ncpu_vendor_ids)TNF,)rKvendorsupported_vendors) r get_cpu_info vendor_idgetr INAPPLICABLE_VENDOR_NAMErQrKjoin)rrrrs r!verify_platform_checksz(IntelIotgRealtime.verify_platform_checkssr'')33 (,,-=rB  &(;;BBjj "%((>":C r#N)rRrSrTr'r REALTIME_INTEL_TITLErKREALTIME_INTEL_DESCRIPTIONrXrxryrrdrrrcr NamedMessagerr:r#r!r*r*sZL  ) )E55KJ#'  #CH~  tXh3344 5 r#r*N)typingrrrrruaclientrr r r r uaclient.entitlementsr uaclient.entitlements.baserruaclient.typesrrrget_event_loggerrRepoEntitlementrrgr&r(r)r*r:r#r!rs33>>&L & %%'f 4 4fRE/E"(o((/((/(r#