id ^ddlmZddlmZddlmZddlmZddlm Z ddl Z GddeZ y) ) UbuntuPlugin) DebianPolicy)SnapPackageManager)DpkgPackageManager)MultiPackageManagerNczeZdZdZdZddgZdZdZdZdZ dZ dfd Z e dd Z d Zfd Zd ZfdZxZS) UbuntuPolicyUbuntu Canonical)zCommunity Websitezhttps://www.ubuntu.com/)zCommercial Supportzhttps://www.canonical.comzb/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/usr/local/sbin:/usr/local/bin:/snap/binz,https://files.support.canonical.com/uploads/ubuntuputctt| ||||ttt g|j ||_|jjdddk(rd|_ |xjtgz c_ y)N)sysrootinit probe_runtime remote_exec)primary fallbackschrootr sosreport pkg_managersnapz /snap/bin) superr __init__rrrrpackage_manager pkg_by_name sos_bin_pathvalid_subclassesr)selfrrrr __class__s =/usr/lib/python3/dist-packages/sos/policies/distros/ubuntu.pyrzUbuntuPolicy.__init__!s lD*79F7B + D 3&)*<<#  %    + + * ,/5 6 +D  ,/c|r|j|vS tdd5}d|jvcdddS#1swYyxYw#t$rYywxYw)z[This method checks to see if we are running on Ubuntu. It returns True or False./etc/lsb-releaserr NF)distroopenreadIOError)clsremotefps r!checkzUbuntuPolicy.check3s\ ::' ' (#. -"2779, - - -  s* A: AAAA AAc tdd5}|j}|D]<}d|vst|jddj ccdddS dddy#1swYyxYw#t t f$rYywxYw)z7 Returns the version stated in DISTRIB_RELEASE r$r%DISTRIB_RELEASE=NF)r' readlinesintsplitstripr) ValueError)rr,lineslines r! dist_versionzUbuntuPolicy.dist_versionAs (#. ?" !?D(D0"4::c?1#5#;#;#=>>  ? ?? ?   ? $  s? A6A*,A* A6A*!A6*A3/A63A66BBc|jj|jr|j|jfSt t |SN) upload_url startswith _upload_url _upload_user_upload_passwordrr get_upload_https_auth)rr s r!rAz"UbuntuPolicy.get_upload_https_authNsB ?? % %d&6&6 7%%t'<'<= =tBD Dr"cn|jj|jry|jS)NzCanonical Support File Server)r<r=r>get_upload_url)rs r!get_upload_url_stringz"UbuntuPolicy.get_upload_url_stringTs, ?? % %d&6&6 72&&( (r"c*|jr%|jj|jrP|js |jStj j |j}|j|zStt|'Sr;) r<r=r>upload_archive_nameospathbasenamerr rC)rfnamer s r!rCzUbuntuPolicy.get_upload_urlZsq$//"<"E##e+ +\4799r")NNTN))__name__ __module__ __qualname__r&vendor vendor_urlsPATHr>r?r@_upload_methodr classmethodr-r9rArDrC __classcell__)r s@r!r r so F F8;K 9D@KLN>B!0$   E ) ::r"r ) sos.report.pluginsrsos.policies.distros.debianr"sos.policies.package_managers.snapr"sos.policies.package_managers.dpkgrsos.policies.package_managersrrGr r"r!r[s',4AA= M:<M:r"