68Qc,@s$ddklZddkTddklZddkZddkZddkZddkZddkZddkZddk Z ddk Z ddk Z ddk Z ddk Z ddkZddkZddkZddkZddkZddkZddklZlZddkZddkZddkTddkTddklZddklZddkl Z ddk!Tdd k"l#Z#ddk$Tddk%Tddk&Tddk'Z'ddk(Z(ddk)Z)d Z*d Z+ddk,Z,ei-d d ddk.Z.e.i/dZ0ddk1Z1e1i2i3dde4e5fei6i7i8_9ddk(Z(ddk:Z:dZ;dfdYZ<defdYZ=dei>fdYZ?de?fdYZ@de fdYZAdfdYZBdfdYZCd fd!YZDd"fd#YZEdS($i(tflags(t*(t ConfigParserN(t URLGrabbert URLGrabError(t to_unicode(t YumRepository(tAnacondaBackend(tSplitMediaTransactionDatacCstid|S(tanaconda(tgettextt ldgettext(tx((s2/export/profile/include/installclass/yuminstall.pyt<scCstid|||S(R (R t ldngettext(R tytz((s2/export/profile/include/installclass/yuminstall.pyR =st _i18ndomainss redhat-distR tmedias%s (anaconda)/%scCsd}d}|djo'|d}td||f}nT|djo'|d}td||f}n tdd|||f}t|S( NcSstid|dS(Ns%si(tlocaletformat(ts((s2/export/profile/include/installclass/yuminstall.pyt number_formatPsis%s MBs%s KBs%s Bytes%s Bytesii(tNonet_tP_R(tsizeRtretval((s2/export/profile/include/installclass/yuminstall.pyt size_stringOs     tAnacondaCallbackcBs#eZdZdZdZRS(cCs|i|_|i|_||_|ii|_|ii|_|ii|_ |ii|_ |i |_ d|_ d|_d|_d|_||_||_d|_d|_dS(Nii(treposttstayumtintft messageWindowtprogressWindowt pulseWindowtidt instProgresstprogresstprogressWindowClasstrootPathRt initWindowt lastprogresstincrtinstLogtmodeTexttopenfilet inProgressPo(tselfR R R-R.((s2/export/profile/include/installclass/yuminstall.pyt__init__bs            cCs:||_||_||_d|_d|_d|_dS(Ni(tnumpkgst totalSizet totalFilestdonepkgstdoneSizet doneFiles(R1R3R4R5((s2/export/profile/include/installclass/yuminstall.pytsetSizesys      c Cs+|tijoF|djo5|itdtd||_|d|_qVn|tijoB|io4||i|ijo|ii|||_qn|ti jo|io|ii n|ti jog|\}}|d}|dj ot |}n|iii|d|d||d|d } t| d jo-td |d|d|d |dfn| d i} |ii| i} d | i| i| i| if} ttd h| d6t|dd6} ttid|dpd}| |i7} |i i!| |i"i#|i$t | |i"i%d|_&d }x|i&djo|d7}y+| i'| }t(|d}||_&Wqxt)i*i+j o|ii,| |qxt-j o|ii,| |qxt)i*i.j o }qxqxXqxW| |_/|i&i0S|ti1jo|i2o|i2i d|_2n|\}}|i&i}|i&i3d|_&t4i5i6|i7d|i8oDyt4i9|Wqt:j o }t;i<d|i=fqXn|i>d7_>|i?|i/i@dd7_?|iAt|tiB7_A|i>|iCjo;|i iDtEdd|iCh|i>d6|iCd6n|i iFtG|i?|iH|i iId|_/n"|tiJtiKfjoO|i2djo.|iLtdtdd dtM|_2q|i2iNn|tiOtiPtiQfjotR|tSiTp|df}n|\}}|tiQjp|oP|iUtdtd |dd!d"d#d$d%td&gtViWdqn|i2djo|i iIndS('NisPreparing to installs.Preparing transaction from installation sourcei tepochtnametarchtversiontreleaseis"Unable to find package %s-%s-%s.%ss %s-%s-%s.%ss(Installing %(pkgStr)s (%(size)s) tpkgStrRs redhat-disttsummarytitrs%s/var/cache/yum/sunable to remove file %st installedsizeg@s/Packages completed: %(donepkgs)d of %(numpkgs)dR6R3sFinishing upgrades9Finishing upgrade process. This may take a little while.tpulsesError Installing PackagesA fatal error occurred when installing the %s package. This could indicate errors when reading the installation media. Installation cannot continue.ttypetcustomt custom_iconterrortcustom_buttonss_Exit installer(XtrpmtRPMCALLBACK_TRANS_STARTR(RR#R,tRPMCALLBACK_TRANS_PROGRESSR+tsettRPMCALLBACK_TRANS_STOPtpoptRPMCALLBACK_INST_OPEN_FILERtstrR ttsInfot matchNaevrtlent RuntimeErrortpoRtgetRepotrepoidR;R=R>R<RRR R tstripR't set_labelR-twriteR.tflushR/t getPackagetopentyumtErrorstNoMoreMirrorsRepoErrort_handleFailuretIOErrort RepoErrorR0tfilenotRPMCALLBACK_INST_CLOSE_FILER*tclosetostpathtdirnamet startswithR)tunlinktOSErrortlogtdebugtstrerrorR6R7t returnSimpleR8tRPMTAG_BASENAMESR3tset_textRt set_fractiontfloatR4t processEventstRPMCALLBACK_UNINST_STARTtRPMCALLBACK_UNINST_STOPR$tTrueRDtRPMCALLBACK_CPIO_ERRORtRPMCALLBACK_UNPACK_ERRORtRPMCALLBACK_SCRIPT_ERRORt isinstancettypest TupleTypeR"tsystexit(R1twhattamountttotalthtuserthdrtrpmlocR:ttxmbrsRVtrepoR?RR@t trynumbertfntfte((s2/export/profile/include/installclass/yuminstall.pytcallbacks   !     - "#             #             (t__name__t __module__R2R9R(((s2/export/profile/include/installclass/yuminstall.pyR`s  tAnacondaYumRepocBsJeZdZdZdZdZdZeeeddZRS(cOs;ti|||t|_t|_g|_d|_dS(N(RR2Ryt enablegroupst sslverifyt_anacondaBaseURLsRt proxy_url(R1targstkwargs((s2/export/profile/include/installclass/yuminstall.pyR2s    csdtdd}ti|i}|id|jotSt|idjo&ttfd|idjS|i o|i StSdS(NcSs|idp |idS(Nthttptftp(Rk(R((s2/export/profile/include/installclass/yuminstall.pyt_isURLss /proc/cmdlineRBtbuildics |S(((R(R(s2/export/profile/include/installclass/yuminstall.pyR s( R^tstringtsplittreadlineRgtFalseRTtbaseurltfiltert mirrorlist(R1tfileR((Rs2/export/profile/include/installclass/yuminstall.pyt needsNetwork s   & cCs|id}tii|o|i p#|idjp|iidoti |qtii d|oti d|ntii d|oti d|qndS(NtcachedirsInstallation Repos anaconda-s %s/headerss %s/packages( t getAttributeRhRitisdirRR;R%Rktshutiltrmtreetexists(R1R((s2/export/profile/include/installclass/yuminstall.pyt dirCleanup"s1cCs|ip|ip |igS(N(RRR(R1((s2/export/profile/include/installclass/yuminstall.pyt_getAnacondaBaseURLs/scCs ||_dS(N(R(R1tvalue((s2/export/profile/include/installclass/yuminstall.pyt_setAnacondaBaseURLs2stdocs2Extends AnacondaYum.baseurl to store non-yum urls:( RRR2RRRRtpropertytanacondaBaseURLs(((s2/export/profile/include/installclass/yuminstall.pyRs     t YumSortercBseZdZRS(cCstS(N(R(R1((s2/export/profile/include/installclass/yuminstall.pyt_transactionDataFactory9s(RRR(((s2/export/profile/include/installclass/yuminstall.pyR8st AnacondaYumcBs%eZdZdZdZdZdZddZdZdZ d Z d Z d Z d Z d ZdddZdZedZdZdZdZdZdZdZdZddZdddddddZdZdZdZRS(cCs#ti|||_d|_ti|_h|_d|_ d|_ d|_ d|_ h|_ tioJx6d D].}d|f}ti|tioPququW||i dt|}|i|||i|ip'||_|iitd|n|ii|ii||_ d|i jpd|i jo|i}~t d|nt o=d|i jpd|i jo|i}~t d|nt o(|i o|i}~t d|n|io t|_ n|S( sParse an INI file section for a repository. @param parser: ConfParser or similar to read INI file values from. @param section: INI file section to read. @return: YumRepository instance. s8Repository %r is missing name in configuration, using ids-sources -debuginfos1Repo %s contains -source or -debuginfo, excludingtrawhidet developments.Excluding devel repo %s for non-devel anacondas)Excluding disabled repo %s for prerelease(RtpopulateRR;tloggerRHRtyumvartupdatetcfgR%RdtproductIsFinaltenabledRR(R1tparsertsectionRR;((s2/export/profile/include/installclass/yuminstall.pytreadRepoConfigFs.       '    cCstid}|i|i}|o&|ido|id|_n$t|dd o|i|_n|o*|ido|idd|_ n$t|dd o|i |_ n|ip |i o(d|ipd|i pdf}nd}|o|id o|id o |id |id }n|id }|ido1|id|||_ |id|}nd |||_ d |}||_nd S( sO Set the proxy settings from a string in src.proxy If the string includes un/pw use those, otherwise set the un/pw from src.proxyUsername and src.proxyPassword dest has dest.proxy set to the host and port (no un/pw) dest.proxy_username and dest.proxy_password are set if present in src sC([A-Za-z]+://)?(([A-Za-z0-9]+)(:[^:@]+)?@)?([^:/]+)(:[0-9]+)?(/.*)?it proxyUsernameiit proxyPasswords%s:%s@RAiishttp://N( tretcompiletmatchRtgroupRtgetattrRR.RR/R(R1tsrctdesttpatternRt proxy_authR((s2/export/profile/include/installclass/yuminstall.pyRqs0  c CsW|ip |id}g}t}|i||i|i}|p|Sy&ti|||idd}Wn|SXd|}|i|o2|i |do|i|di d}n|Sx|D]z} d| } |i|  p|i | d oqnd ||i| df} |i | |i| d | fqW|S( s Check the baseurl or mirrorlist for a repository, see if it has any valid addon repos and if so, return a list of (repo name, repo URL). itgeneraltvariants variant-%staddonst,saddon-%st repositorys%s/%sR;( RRRt _getTreeinfoRRtreadtgett has_sectiont has_optionRtappend( R1RRRtcttreeinfoR:R,t validAddonstaddont addonSectionturl((s2/export/profile/include/installclass/yuminstall.pyt _getAddonss.  # %&c CsdS|pdS|idp|idoKtip:|iiiptid|dSt i i q{nt }h|d6|d6}|o(|idoh|d6|d6}n/|o!|idoh|d6}nh}y'|i d|dd d d ||Wnctj oW}y$|i d |dd d d |Wqtj o}tid |dSXnXdS(s Try to get .treeinfo file from baseurl, optionally using proxy_url Saves the file into /tmp/.treeinfo RRs9Error downloading %s/.treeinfo: network enablement failedtssl_verify_peertssl_verify_hostthttpss %s/.treeinfos/tmp/.treeinfoRitproxiess %s/treeinfos#Error downloading treeinfo file: %sN(RRkRRR R!RRnRHRRRRR t Exception(R1RRRR!tugoptsRNR((s2/export/profile/include/installclass/yuminstall.pyR>s<      cCsgt}|i|i|iti }|ptSti||y|iddSWntSXdS(s We need to make sure $releasever gets set up before .repo files are read. Since there's no redhat-release package in /mnt/sysimage (and won't be for quite a while), we need to do our own substutition. R9R=N( RR>RRRRtproductVersionR?R@(R1RDRE((s2/export/profile/include/installclass/yuminstall.pyt_getReleasevers   c Os.ddk}tid}tid}|i|tid}tidd}|i|tid}|itit|_ |i |tid} t| _ | i|i i | i |t i|t|it ii| i |tid } | itit| _ dS( Nis /tmp/yum.logs*[%(asctime)s] %(levelname)-8s: %(message)ss /dev/tty3s2%(asctime)s %(levelname)-8s: %(name)s: %(message)ss%H:%M:%Ss yum.verboseR_syum.filelogging(tyum.logginglevelstloggingt FileHandlert Formattert setFormattert getLoggertsetLeveltDEBUGRt propagatet addHandlert logginglevelstINFO_2t anaconda_logt autoSetLevelRyR%tlogleveltINFO( R1RRR_t file_handlertfile_formattert tty3_handlerttty3_formattertverboseR%t filelogger((s2/export/profile/include/installclass/yuminstall.pytdoLoggingSetups*        s/tmp/anaconda-yum.confcCst|doP||i_||i_|i|i_dddg|i_ti|n)ti|d|d|ddddg|i d|g}t i d}xt i t D]o}t ii|}d |}t|}d |g|_d |id d |_|i|i|qW|iio2x/|iiiiiD]} | ig} | io| iidotid| iiddd} | idd!djo+| iiddd | _| ig} nyt i!| id| dWn&t"j o} t#i$d| nXd | | _nt| i}| i%|_%| i|_| ip g|_n| ig|_| |_&| i'o| i'|_'n| i(o| i(|_)n| i*o| i*|_*n| i+o t,|_-n| i.o|i/| |n8|ii.o*t#i0d|i|i/|i|n|i|i|qTWn|i1i1i2|} x| D]}|i3|}xl|D]d}t|d}|d |_|dg|_|ii.o|i/|i|n|i|qWqWx|D]z}y?|i1i4|t#i5d|i|i%p |idfWqt#i6d|i|i%p |idfqXqW|i1i7|i8i9t ii:d|ii;oMt#i5d|ii;yt i<d|ii;Wqt#i6dqXndS(Ntpreconftwhiteoutt blacklistt pidpluginRRtenabled_pluginsis anaconda-%ss file://%ssDriver Disk %st-isnfs:RAR s/mntis//Rserror mounting NFS repo: %ss*%s will use the global proxy configurationiisadded repository %s with URL %ss,ignoring duplicate repository %s with URL %ss%s/boot/upgrade/install.imgs+REMOVING stage2 image from %s /boot/upgradesfailed to clean /boot/upgrade(=thasattrRjRRRRt releaseverRnRt _getConfigRRhtunametglobtDD_RPMSRitbasenameRRRR;RRCR t isKickstartR%tksdataRtrepoListRkttempfiletmkdtempR RRRORnRHRRRt excludepkgstexcludet includepkgsRRRRRRoRtvaluesRJRRtwarningt setCacheDirRRRR)Rl(R1RRt extraRepostddArchtdRjRRtksrepoRR6Rt initialReposR;RGt addonRepo((s2/export/profile/include/installclass/yuminstall.pyR3s       $               /3cCsd}xto|d7}yti||PWq tiij o|i||q tj o|i||q tiij o }q q Xq WdS(Nii( RyRtdownloadHeaderR_R`RaRbRcRd(R1RVRR((s2/export/profile/include/installclass/yuminstall.pyRs c Cs|i o&|iotdtdg}ntdtdg}ttii|i}|ii o7t i o)|i i ipdStiin|tjo(tidtit|d}n>|i i itdtd|fdd d d d |}|d jotid n^tii|ioti|in|i o|io|i|indSdS(NtRe_boott_Ejectt_Retrys0package download failure, retrying automaticallyiRsThe file %s cannot be opened. This is due to a missing file, a corrupt package or corrupt media. Please verify your installation source. If you exit, your system will be left in an inconsistent state that will likely require reinstallation. RERFRGRHRIi(RRRRRhRiRvt remote_pathRRRRR R!RRRRtYUM_DOWNLOAD_RETRIESRnRttimetsleeptYUM_DOWNLOAD_DELAYR"RRRtlocalPkgRlR(R1tpackageRtbuttonstpkgFiletrc((s2/export/profile/include/installclass/yuminstall.pyRbs0        cOs |ii|d}|idjo d|_n|id7_tid|i|idS|ii|di}tid|i|i dt |i f|i oS|i iiii|i i}|i|i_t||i iid|_ ndS(NRg^@g>@sROCKS:timeout: %ssAFailed to get %s from mirror %d/%d, or downloaded file is corrupti(RRWttimeoutRnRt _setupGrabtgrabRRIt_nextRTtmirrorsRR R%RRRRRRRRR!R"R(R1tobjRRRRR((s2/export/profile/include/installclass/yuminstall.pytmirrorFailureCBs     !cOst|do-tid|i|i|i|ifn$tid|i|i|if|i|ijodSdd|id}|djo?|iii t dt d}t i ||i nt i |dS( NRsTry %s/%s for %s failed: %ssTry %s/%s for %s failedg?iitRetryingsRetrying download.(RpRnRttriestretryRIRR R!t waitWindowRRRRO(R1RRRtdelaytw((s2/export/profile/include/installclass/yuminstall.pyturlgrabberFailureCBs-# $ cCsg}d}d}x|iidtD]}}|iom|t|iidd7}x6|iiD]%}|t|iid|7}qhW|i |iq(q(W|||fS(Nit output_statesRCitftype( RRtgetMembersWithStatetTS_INSTALL_STATESRVtintRqtreturnFileTypesRTtreturnFileEntriesRC(R1t downloadpkgsR4R5ttxmbrtfiletype((s2/export/profile/include/installclass/yuminstall.pytgetDownloadPkgss  #cCs+tiio|iiidndS(Ni(trpmUtilsR<tisMultiLibArchRtsetColor(R1((s2/export/profile/include/installclass/yuminstall.pyRsc Csd}|i|io|iiitin|iiititiB|i|i i hjod|i i dR<RVRtlstR((s2/export/profile/include/installclass/yuminstall.pyRs$ $    cCs-|iotS|io|i otStS(N(tselectedRyRttoremoveR(R1tgrp((s2/export/profile/include/installclass/yuminstall.pytisGroupInstalleds  c Csvy|ii|}tSWntiij onXy|ii|}tSWnttiifj onXtS(s6Whether or not a given package exists in our universe.( tpkgSacktreturnNewestByNameRyR_R`tPackageSackErrorRt IndexErrorR(R1tpkgtpkgs((s2/export/profile/include/installclass/yuminstall.pyt _pkgExistsscCsx,|iiD]}|i|otSqWt|idjotSxF|ii|ii|iiD]}|i|otSqtWtS(Ni( tmandatory_packagesRR RyRTRtdefault_packagestoptional_packagestconditional_packages(R1RR((s2/export/profile/include/installclass/yuminstall.pyt_groupHasPackagess  N( RRR2RRRRRRR-RRJR>RRRiRRRRbRRRRRRRRRRRR R(((s2/export/profile/include/installclass/yuminstall.pyR<s: ,  7  N !  + : & .  m  ) '   K N    t YumBackendcBsIeZdZdZdZdZd"edZd"edZ d"ed"dZ dZ dZ d Z d Zd Zd Zd ZdZdZdZdZdZdZddZdZdZdZdZdZdZdZdZ dZ!dZ"d Z#d!Z$RS(#cCsti||t|_d|i}|ioS|d|i7}|io|d|i7}n|io|d|i7}qntdd}|i ||i dS(Ns[ [main] installroot=%s cachedir=/var/cache/yum keepcache=0 logfile=/tmp/yum.log metadata_expire=0 obsoletes=True pluginpath=/usr/lib/yum-plugins,/tmp/updates/yum-plugins pluginconfpath=/etc/yum/pluginconf.d,/tmp/updates/pluginconf.d plugins=1 reposdir=/etc/anaconda.repos.d,/tmp/updates/anaconda.repos.d,/tmp/product/anaconda.repos.d debuglevel=6 s proxy=%s sproxy_username=%s sproxy_password=%s s/tmp/anaconda-yum.confR( RR2RytsupportsPackageSelectionR)RR.R/R^R[Rg(R1R tbuftfd((s2/export/profile/include/installclass/yuminstall.pyR2 s      cCsO|i o0tii|iioti|iinti |i dS(N( RRhRiRR RRRRt resetRpmDbR)(R1R ((s2/export/profile/include/installclass/yuminstall.pytcomplete*s$c CsI|itjotS|iioti|intit||_ |i i |i i t t d|i iidjozti ol|iipK|iitdtdddddd td gtid ntiin|i||i||i||i i dS( NcSs |iS((R(RB((s2/export/profile/include/installclass/yuminstall.pyR CsisNo Network AvailablesrSome of your software repositories require networking, but there was an error enabling the network on your system.RERFRGRHRIs_Exit installeri(tdirRR%RRRR)twriteRpmPlatformRR RRRTRRt listEnabledRRR!RR"RRRRRRt doRepoSetupt doSackSetupt doGroupSetup(R1R ((s2/export/profile/include/installclass/yuminstall.pytdoBackendSetup2s*   +     cs+x$toyztdiii}iitfd|x2iiiD]}t i i |i |_ qaWWn6t ttfj o!}tdtdg}nXP|iitdtdddd d d |}|d jotid qiidqqWdS( NcSs|iS((R(tg((s2/export/profile/include/installclass/yuminstall.pyR [scsi|iS((t selectGrouptgroupid(R(R1(s2/export/profile/include/installclass/yuminstall.pyR ^ss_Exit installerRRspUnable to read group information from repositories. This is a problem with the generation of your install tree.RERFRGRHRIi(RyRR tcompst get_groupsRRRRt getMembersR_tmisctuniquetgroupst GroupsErrort NoSuchGroupRdRR!R"RRt _setGroupsR(R1R tselRRRR((R1s2/export/profile/include/installclass/yuminstall.pyRVs(      c s8i|fdd|d|dt|idS(Ncsiid|iS(tthisrepo(R RR%(RB(R1(s2/export/profile/include/installclass/yuminstall.pyR xsR*t fatalerrorsR(t_YumBackend__withFuncDotRepoSetupPulseProgressR!(R1R R*R+((R1s2/export/profile/include/installclass/yuminstall.pyRws c s8i|fdd|d|dt|idS(Ncsiid|iS(R*(R RR%(RB(R1(s2/export/profile/include/installclass/yuminstall.pyR }sR*R+R(R,tSackSetupProgressR!(R1R R*R+((R1s2/export/profile/include/installclass/yuminstall.pyR|s c Cs|djo|itjodS|dj o|iii|g}n|iii}xM|D]E}|o|i|nxtoy#|||o|i nWnt j o}|o|i n|i o?t i o1|iiot|_qntiintdtdtdg} nXP|io| itdn|p t |n|iitdtd|ddd d d | } | d jotid q| d jo|ii|Pq| djoqq|iii|iPqWy|iii|iWn-t j o!tid|ifqdnX|i |ii!|i"|ii#dh|id6fqdWd|ii_$dS(Ns_Exit installertEditRt _ContinueRsUnable to read package metadata. This may be due to a missing repodata directory. Please ensure that your install tree has been correctly generated. %sRERFRGRHRIiiisrepo %s has been removedR((%RRRR RRWRtconnectRyt disconnectRdRRRR!RRtmirrorlistparsedRRRRRwRCR"RRteditRepoWindowtdeleteR%RnRot setFailureObjRtsetMirrorFailureObjRR( R1R RR*R+RRRRRR((s2/export/profile/include/installclass/yuminstall.pyt __withFuncDosh   &        cCs{|iii}tdtd|iii}x;|iiiD]*}|i|jo|i |i qIqIW|S(NcSs|iS((R(R ((s2/export/profile/include/installclass/yuminstall.pyR scSs|iS((tdefault(R ((s2/export/profile/include/installclass/yuminstall.pyR s( R%t instLanguagetgetCurrentLangSearchListRRR R R%tlangonlyRCR(R1R tlangsRR((s2/export/profile/include/installclass/yuminstall.pytgetDefaultGroupss cCsgx*|iiD]}|iii|iq W|iiiix |iiiD]}t|_ qPWdS(s.Reset the package selection to an empty state.N( R RRtremoveRt conditionalstclearR R%RR(R1RR((s2/export/profile/include/installclass/yuminstall.pytresetPackageSelectionss c Csn|id\}}}g}xS|iiD]E\}}|djo|id||fq+|id|q+WxvtiD]h} tid| ti | } | o8ti d| i d|id| i dqqqWxz|D]r} |i i | } | ptid | nx;| D]3} ti d | i| f|i id | q/WqWdS( NRoRAs dud-%s-%ssdud-%ssChecking for DUD module sRequesting install of kmod-%st modulenameskmod-s$Didn't find any package providing %ssselecting package %s for %sRV(t partitionR%t extraModulesRCRtmodulesWithPathsRnRot DD_EXTRACTEDR2RR3R treturnPackagesByDepRR;tinstall(R1R t kernelPkgNametbasetseptexttmoduleProvidesRiR;tmodPathR2tmoduleR R((s2/export/profile/include/installclass/yuminstall.pytselectModulePackagess0   cssfdfd}t}| o(tio|do t}qZn|p|dndS(s>Find the best kernel package which is available and select it.csey|ii|}Wntiij odSXii|}t|djodS|dS(s:Convenience func to find the best arch of a kernel by nameiN( RRR_R`RRR tbestPackagesFromListRT(tpkgnameR R (R1(s2/export/profile/include/installclass/yuminstall.pytgetBestKernelByArchscsy|i}Wn%tj otid|tSX|ptStid|iiid|i|it ii i dddjo5tid|ii d|i|i fntS( Ns no %s packagesselected %s package for kernelRVR;tgccisselecting %s-devels %s-devel.%s(R RRnRoRRR;RIRQRTRRRSt selectPackageR<Ry(RSR(RTR1R (s2/export/profile/include/installclass/yuminstall.pyt selectKernels%!s kernel-PAEtkernelN(RRtisPaeAvailableRy(R1R RWt foundkernel((RTR1R s2/export/profile/include/installclass/yuminstall.pytselectBestKernels  cCs.x'|iiD]}t|i|iq WdS(N(tfssettdevicesRRVtpackages(R1RR((s2/export/profile/include/installclass/yuminstall.pytselectFSPackages,s cCs+x$dddgD]}|i|qWdS(Nt authconfigt chkconfigssystem-config-firewall-base(RV(R1R((s2/export/profile/include/installclass/yuminstall.pytselectAnacondaNeeds5sc CsY|itjodSt|i|i}||i_|iiph|i|t |i |i i |i |ii|iiio|i dn|in|iixtoy8|ii\}}|io|iii itjoPn|djo|ii odi|}tdtdg}|ip|idtdn|iitdtd|dd d d d d |}|i|djoti dq|djo|i o|ii!tSnPWnt"j o}}|ii#tdtd|d d d d d tdtdg}|i|djoti dqqqXPqW|ii$\|_%|_&|_'|iip|iii(i)d|iii*} | o| i+|i&djo|ii#tdtd|i&dd d d d d tdtdg}|i|djoti dq|ii!tSqn|i|i,o|i ot-|}|djok|ii#tdtdd d d dd tdtdg} | djoti dqEtSqI|djotSnd|i_dS(Ntrdmais s_Exit installerR0RtWarningsSome of the packages you have selected for install are missing dependencies. You can exit the installation, go back and change your package selections, or continue installing these packages without their dependencies.RERFRGRHRIiRsUnable to read package metadata. This may be due to a missing repodata directory. Please ensure that your install tree has been correctly generated. %sRs/usrisYour selected packages require %d MB of free space for installation, but you do not have enough available. You can change your selections or exit the installer.sReboot?s The system will be rebooted now.Rt_Reboot(/RRtYumDepSolveProgressR!R RR%RR[RRVtplatformR^R_RRthasActiveIPoIBDeviceRbR'RytbuildTransactionRwRxt handleMissingtKS_MISSING_IGNORERRRtinsertRRORRRRdR"RtdlpkgsR4R5t mountpointsR@t rootDeviceRRtpresentRequiredMediaMessageR( R1R tdscbtcodetmsgstdepprobRIRRt largeParttrc2((s2/export/profile/include/installclass/yuminstall.pytdoPostSelection9s   #           ! $             c Cs|itjocx[d%D]S}yti|i|dtWqtj o }tid||fqXqWdS|i i }|ot i |idt i ot i|idnt|idd}|it ii|idodt ii|id oJt ii|id  o/tid t i|id |id q`nd d dddddddddddddg}xD|i iiD]3}t|iddo|i|iiqqWxG|D]?}yt i|i|Wqt ij o\} } qXqW|i|i |iti|iyti d xd&D]} t ii| o%t ii!|  ot"i#| nt ii!| p(t i$d|i| fd| fqati%d| t i&| fqaWWn)tj o}tid|fnXt'i(o~yt i|idWntj o }nXyti)d|iddWqtj o}tid |fqXnyti)d|idd!Wn)tj o}tid"|fnX|p|i ii*i+|it i d#t i,ot"i-d#|id#n|i i.i+|i i.i/d$|i|i ii+|i|i i0p|i i1i+|iqnt|idd}|i+|i ii2|idS('Ns/selinuxs/devs /proc/bus/usbRsunable to unmount %s: %ss /etc/mtabsw+s/etc/modules.confs/etc/modprobe.confs/etc/modprobe.conf.anacbaks3renaming old modprobe.conf -> modprobe.conf.anacbaks/vars/var/libs /var/lib/rpms/tmps/etcs/etc/sysconfigs/etc/sysconfig/network-scriptss/etc/X11s/roots/var/tmps/etc/rpms /var/caches/var/cache/yums/etc/modprobe.dRs%s/%ss%ss$%s already exists as a symlink to %ss-error creating symlink, continuing anyway: %st selinuxfsserror mounting selinuxfs: %stusbfsserror mounting usbfs: %ss/etc/modprobe.d/anaconda.conftinstPath(s/selinuxs/devs /proc/bus/usb(s/var/tmps /var/lib/rpm(3RRRRR)RRORnRHR%RRhRtF_OKR?R^RgRiRRtrenameRtprotectedDevicesR4RRRCRtmkdirtinitLogRRt mkdirChaintislinkRRtsymlinkRtreadlinkRRRR\R[RtcopyfileRtcopyConfigToPatht isHeadlesstkeyboardtmtab( R1R RRRRtdirListt protectedRterrnoRRi((s2/export/profile/include/installclass/yuminstall.pyt doPreInstalls      '((   cCs3|itjodS|i||i|dS(N(RRt_checkUpgradeVersiont_checkUpgradeArch(R1R ((s2/export/profile/include/installclass/yuminstall.pytcheckSupportedUpgrades c Csd}x|iiidddD]h}|\}}}}}|djo@tiid |||f} | djo d}qd}Pq"q"Wdtjo d}n|djo`|ii t dt d tfd d } | djo!t i |i tidqndS( Nisredhat-releaseit3t1isRed Hat Enterprise LinuxRdsYou appear to be upgrading from a system which is too old to upgrade to this version of %s. Are you sure you wish to continue the upgrade process?REtyesno(NRR(R Rt whatProvidesRRt miscutilst compareEVRRR!R"RRRR)RR( R1R tsupportedUpgradeVersionRtnRRtvRBRR((s2/export/profile/include/installclass/yuminstall.pyRs*            c Csd}y|iiid}Wn'tiij otiddSX|ii |}t |djotiddS|di }tid|fx|ii i dD]}tid|i f||i |p|iitdtd htd 6|d 6|i d 6d d}|djo!ti|itidqztid|i |fPqqWdS(NcSs9tid|otid|otS||jSdS(Nsi.86(R0R2Ry(RR((s2/export/profile/include/installclass/yuminstall.pyt compareArch<s&t initscriptssno packages named initscriptsisno best packagesinitscripts is arch: %sspo.arch is arch: %sRdsThe arch of the release of %(productName)s you are upgrading to appears to be %(myarch)s which does not match your previously installed arch of %(arch)s. This is likely to not succeed. Are you sure you wish to continue the upgrade process?RtmyarchR<RERs5upgrade between possibly incompatible arches %s -> %s(R RRR_R`RRnRRRRRTR<Rt getProvidesR!R"RRRRR)RRR(R1R RR RRVR((s2/export/profile/include/installclass/yuminstall.pyR;s8         cCs#tid|iiptiddn|io'|iiii otiddnt |i ||i |i }|it|i|i|i|i i|i ||i|i}|idj o|iin|i id|i id|i_|tjotSdS(NsPreparing to install packagest__dbi_htconfigs*hash nofsync %{__dbi_other} %{__dbi_perms}t _excludedocsRs$*** FINISHED INSTALLING PACKAGES ***(RnRR%RRJRRwRxR^t excludeDocsRR R-R.R9RTRmR4R5RR!R*RROR[RgR&R(R1R RR((s2/export/profile/include/installclass/yuminstall.pyt doInstallfs"     "$   cCs|iio%|iitdtd}n"|iitdtd}ti|x$|iii D]}|i qvWt i i dp|iiogtiid|ifoJtidy/tidd d gd d d d d|iWqqXnt i i doFtiid|ifo)ytid|ifWqmqmXnti|||idS(Ns Post Upgrades%Performing post-upgrade configurationsPost Installations*Performing post-installation configurationRs%s/var/cache/yumsExpiring yum cachesR_tcleantalltstdouts /dev/tty5tstderrRs!%s/var/cache/yum/anaconda-upgrade(R%RR!RRR^trpmSetupGraphicalSystemR RRRRRRRhRiRR)RnRRtexecWithRedirectRRRt doPostInstallRO(R1R RR((s2/export/profile/include/installclass/yuminstall.pyRs0 @  0RcCs ti|S(N(R^trpmKernelVersionList(R1R)((s2/export/profile/include/installclass/yuminstall.pytkernelVersionListscCsex^|iiiD]M}||ijo|iSx,|iiD]}||jo|iSq>WqWdS(s;Get the groupid for the given name (english or translated).N(R R R%R;Rttranslated_nameR(R1R3Rttrans((s2/export/profile/include/installclass/yuminstall.pyt __getGroupIds cCsJy(|iii|}|iotSWntiij o }nXtS(N( R R t return_groupRRyR_R`R&R(R1R3RR((s2/export/profile/include/installclass/yuminstall.pytisGroupSelecteds cGsx|iii|ptid|t|ndg}|oD|ddo|idn|ddo|idqn|idyD|ii|d|}t|djo|i |odSWnt i i j o}|i |}|dj oD|ii|d|}t|djo|i |odSqttid|ft|nXdS(Nsno such group %st mandatoryiR9itoptionaltgroup_package_types(R R t has_groupRnRoR'RCRRTRR_R`R&t_YumBackend__getGroupIdR(R1R3RR~tmbrsRtgid((s2/export/profile/include/installclass/yuminstall.pyRs,   #  # cGsy|ii|dtWnetiij oS}|i|}|dj o|ii|dtqti d|fnXdS(Ntforcesno such group %s( R t deselectGroupRyR_R`R&RRRnRo(R1R3RRR((s2/export/profile/include/installclass/yuminstall.pyRs cGsXy#|iid|}t|SWn.tiij otid|fdSXdS(NR7sno package matching %si(R RIRTR_R`t InstallErrorRnRo(R1RRR((s2/export/profile/include/installclass/yuminstall.pyRVs c Gsy|idd}g}t|djo*|iiid|dd|d}nt|djoYtii|iii |gdd\}}}x#||D]}|i |qWnt|djox{|D]s} |iii | i xT|iii iD]=\} } | | jo$| i | | |iii | RBRQR[R_RbRwRRRRRRRRRRRRVRRRRRRR(((s2/export/profile/include/installclass/yuminstall.pyR sD  $ ! N   ,  s k   +  #      $ 8 RcBsAeZddZdZdZdZdZdZRS(cCs |itdtddd}||_||_d|_|_d|_|idj oa|iidj oNt |iii |_ |i djod|i d|i|_qn d|_ |i |i |_ |_|_|i|_|_|_dS(NsInstallation StartingsStarting installation processg?g{Gz?ii(R#RtwindowR tcurrentt loopstartR,RRRRTR"R3trefresht restartLoopRttransactionPopulationtnooptprocReqt procConflictt unresolved(R1R!R R((s2/export/profile/include/installclass/yuminstall.pyR2|s     ##  cOsdS(N((R1RR((s2/export/profile/include/installclass/yuminstall.pyRscGs)|io|i|i|indS(N(R3RMRR,(R1R((s2/export/profile/include/installclass/yuminstall.pytpkgAddeds cCs|iidS(N(RRO(R1((s2/export/profile/include/installclass/yuminstall.pyROscGs|iidS(N(RR(R1R((s2/export/profile/include/installclass/yuminstall.pyRscCs ||_|ii|idS(N(RRRM(R1R((s2/export/profile/include/installclass/yuminstall.pyRMs N( RRRR2RRRORRM(((s2/export/profile/include/installclass/yuminstall.pyR{s      RfcBs_eZd dZd dZdZdZdZdZdZ dZ dZ RS( cCs|itdtddd}||_d|_d|_d|_||_d|_|i |_ |_ |_ |i |_|_|_dS(NsDependency Checks;Checking dependencies in packages selected for installationg?g{Gz?i(R#RRRR3RR,R RRRRRRRRR(R1R!R R((s2/export/profile/include/installclass/yuminstall.pyR2s        cCs|i|djo?|idj o/|iidj ot|iii}n|o5||_|i|_d|d|id|_ ndS(Ng?i( RRR RRRTR"R3RRR,(R1tnum((s2/export/profile/include/installclass/yuminstall.pyttschecks 0  cGs)|io|i|i|indS(N(R3RMRR,(R1R((s2/export/profile/include/installclass/yuminstall.pyRs cOsdS(N((R1RR((s2/export/profile/include/installclass/yuminstall.pyRscGs|iidS(N(RR(R1R((s2/export/profile/include/installclass/yuminstall.pyRscCs ||_|ii|idS(N(RRRM(R1R((s2/export/profile/include/installclass/yuminstall.pyRMs cCs|id|idS(Ng(RMR(R1((s2/export/profile/include/installclass/yuminstall.pytstarts cCs!|iid|iidS(Ng?(RRMR(R1((s2/export/profile/include/installclass/yuminstall.pytendscCs|iidS(N(RRO(R1((s2/export/profile/include/installclass/yuminstall.pyROsN( RRRR2RRRRRMRRRO(((s2/export/profile/include/installclass/yuminstall.pyRfs       R.cBs#eZdZdZdZRS(cCs ||_dS(N(R!(R1R!((s2/export/profile/include/installclass/yuminstall.pyR2scCsU|idjotd}ntd|i}|iitd||_dS(Ns$Retrieving installation information.s+Retrieving installation information for %s.sInstallation Progress(R;RRR!RR(R1Rttxt((s2/export/profile/include/installclass/yuminstall.pyR1scCs|iidS(N(RRO(R1((s2/export/profile/include/installclass/yuminstall.pyR2s(RRR2R1R2(((s2/export/profile/include/installclass/yuminstall.pyR.s  R-cBsPeZdZdZdZdZdZdZdZdZ RS(cCs||_d|_dS(N(R!RR(R1R!((s2/export/profile/include/installclass/yuminstall.pyR2s cCst||_|idjotd}ntd|i}|iitd|ddt|_|i|dS(Ns$Retrieving installation information.s+Retrieving installation information for %s.sInstallation Progressg?RD( RR;RRR!R#RyRt setCallback(R1RR((s2/export/profile/include/installclass/yuminstall.pyR1s cCs!|ii|iiddS(N(RRORRR(R1((s2/export/profile/include/installclass/yuminstall.pyR2s cGs|iidS(N(RR(R1R((s2/export/profile/include/installclass/yuminstall.pyRscCs|iidS(N(RRD(R1((s2/export/profile/include/installclass/yuminstall.pyRMscCs)tid||i|idS(Ns Grabbing %s(RnRoRMR(R1tfilenameRIRvRR((s2/export/profile/include/installclass/yuminstall.pyRs cCs|i|idS(N(RMR(R1R?((s2/export/profile/include/installclass/yuminstall.pyR' s cCs|i|iidS(N(RMRR(R1R?((s2/export/profile/include/installclass/yuminstall.pyR s ( RRR2R1R2RRMRR'R(((s2/export/profile/include/installclass/yuminstall.pyR-s      (FRterrorsRRRhtos.pathRRtwarningsR~RRtRzRR0R_RJRturlgrabber.progressRturlgrabber.grabberRRR_tiniparset yum.constantst yum.Errorstyum.miscRt yum.yumRepoRRRtproducttsortedtransactionRt constantstimaget compssortR^RR RRRRRTRXRnturlparset uses_fragmentRCRRQRtdefault_grabberRt user_agentRRRRtYumBaseRRRRRfR.R-(((s2/export/profile/include/installclass/yuminstall.pyts|                                     3u'5