o *d @sddlZddlZddlZddlZddlZddlZdddddddd d d Zdd dZddZddZ ddZ e dkrAeddddSdS)NAptlog ApttermlogzAptclonesystemstate.tar.gz HistorylogLspcitxtMainlogTermlog Screenlog Xorgfixup) zapt.logz apt-term.logzapt-clone_system_state.tar.gzz history.logz lspci.txtzmain.logzterm.logz screenlog.0zxorg_fixup.log/var/log/dist-upgrade/c Csd}tD]V}tj||}tj|rtj|dkrq|t|}t|tjr/|f||<qtj|rZzddl m }|dd|gdd||<Wqt yYt d|YqwqdS) NVarLogDistupgrader)root_command_outputcatz%sF) decode_utf8z8failed to import apport python module, can't include: %s)APPORT_ALLOWLISTospathjoinisfilegetsizeaccessR_OKexistsapport.hookutilsr ImportErrorloggingerror)reportlogdirdirnamefnamefidentr r"?/usr/lib/python3/dist-packages/DistUpgrade/DistUpgradeApport.py_apport_append_logfiless*       r$c CstddtjvrtddSzddlm}ddlm}Wnty9}zt d|WYd}~dSd}~wwd d l m }d t j d<||||tjd ry|}|d dd|dd}|d||dd|t||d dS)Nzrunning apport_crash()RELEASE_UPRADER_NO_APPORT!RELEASE_UPRADER_NO_APPORT env setFr)apport_excepthook)Reportz?failed to import apport python module, can't generate crash: %s)VERSIONz/usr/bin/do-release-upgradez./var/crash/_usr_bin_do-release-upgrade.0.crashTags dist-upgradez Ubuntu %s DistroReleasePackagez!ubuntu-release-upgrader-core 1:%sT)rdebugrenvironapport_python_hookr' apport.reportr(rrDistUpgradeVersionr*sysargvrr setdefaultr$add_to_existing) typevaluetbr'r(er*rreleaser"r"r# apport_crash)s<          r>c Cs>td||dtjvrtddSd}d}d|vr$td|dStd d}||vr7td|dSttj|vrHtd |dStj |r|d |g}| d d gt D]}| dtj ||gq\ztj|tjdd}|j||jWdSty}ztd|WYd}~dSd}~wwdS)Nz"running apport_pkgfailure() %s: %sr%r&Fr z/usr/share/apport/package_hookz*dependency problems - leaving unconfiguredzDdpkg error because of dependency problems, not reporting against %s dpkgz:dpkg error because of full disk, not reporting against %s z-pz--tagsr,z-lT)stdinuniversal_newlineszFailed to run apport (%s))rr0rr1gettextdgettextstrerrorerrnoENOSPCrrextendrr subprocessPopenPIPEr@writeclose Exceptionwarning) pkgerrormsgLOGDIRsneedleargsrpr<r"r"r#apport_pkgfailureJsT       rVcCspdtjvr tddSdtjvrdStjdr1ztddkWSty0t dYdSwtd dS) z( run apport, check if we have a display r%r&FDISPLAYTz/usr/bin/apport-clirz&Unable to launch '/usr/bin/apport-cli'zcan't find apport) rr1rr0rrrHcallrM exceptionr"r"r"r# run_apportws       rZ__main__)r ) rrrHr5rBrErr$r>rVrZ__name__r"r"r"r#s. !-