403Webshell
Server IP : 182.53.201.61  /  Your IP : 216.73.217.175
Web Server : Apache/2.2.15 (Fedora)
System : Linux km10.dyndns.org 2.6.31.5-127.fc12.i686.PAE #1 SMP Sat Nov 7 21:25:57 EST 2009 i686
User : apache ( 48)
PHP Version : 5.3.3
Disable Function : NONE
MySQL : ON  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : ON  |  Pkexec : ON
Directory :  /usr/lib/python2.6/site-packages/preupgrade/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /usr/lib/python2.6/site-packages/preupgrade/__init__.pyc
nJc@suddkZddkZddkZddkZddkZddkZddklZddkl	Z	l
Z
ddkiZddk
iZddklZddkZddkZddkZddkZddklZddklZddkTddklZd	Zeiid
o
d
Zn$eiido
dZndZd
Z dZ!dei"fdYZ#dS(iN(tConfigParser(t
URLGrabbertURLGrabError(tPUError(tchecksum(t
varReplace(t*(t	RepoErrors1.1.0sreleases.txtsdata/releases.txts-http://mirrors.fedoraproject.org/releases.txts/var/run/preupgrades/var/run/preupgrade.repot
PreUpgradecBseZd%edZedZed%dZd%dZ	dZ
dZdZd%dZ
d%dZd%d	Zd%d
ZdZdZd
ZdZddZdZdZdZdZdZdZdZddZd%ddZdZdZ dZ!d%dZ"d%d%dZ#dZ$ed Z%d!Z&dd"Z'd#Z(d$Z)RS(&cCstii|h|_||_d|_h|_|idddgdg|i_	|i
i|_|o|i
|ndS(Ns
/boot/upgradetenabled_pluginst	blacklisttwhiteouttall(tyumtYumBaset__init__trelease_mapt
configfiletbootpathtimage_csumst
_getConfigtconftdisable_excludestrepostlistEnabledtorig_enabled_repostsetup(tselftreleaseR((s7/usr/lib/python2.6/site-packages/preupgrade/__init__.pyR8s				cCs|iid}|}d}xz|iiD]i\}}|i|pq,n|o|i|oq,n|d}||jo|}|}q,q,W|S(swIf there is a newer release available in the release map, return its
        name/key. If there are multiple newer releases, it returns the newest
        one (the one with the highest version number).
        Otherwise returns None.
        You can set stable to False if you want to consider non-stable releases
        as well (but right now this always gets you Rawhide).t
releasevertversionN(RtyumvartNoneRt	iteritemstrelease_preupgrade_oktrelease_is_stable(Rtwant_stabletcurrentt
target_vert
target_keytrelease_keyRtver((s7/usr/lib/python2.6/site-packages/preupgrade/__init__.pytupgrade_availableGs

cCs;|o2||ijo"hhdd6dd6|6|_n|ii|ot|i|}||_|id|_|id|_|id|_|id|_|id|_n
t	d|ip
|io|i
||i|n&|i|_|i|_|i||i||i
d	S(
sxGiven a release_key, will configure repos to upgrade to that
        release. Must be run after retrieve_release_info().shttp://fake.url/tbaseurlt0Rt
mirrorlistt
installurltinstallmirrorlists,Release does not match any in configuration.N(Rthas_keyt
pu_releasetgetttarget_versiont
pu_baseurlt
pu_mirrorlistt
pu_installurltpu_installmirrorlistRtsetup_main_repotsetup_install_repotsetup_new_repostcomplete_repo_setup(RR(tfaketdownload_progressbartrel((s7/usr/lib/python2.6/site-packages/preupgrade/__init__.pyRas(

		


cCs|p
|i}nh}ti}d|jot}|i|}n
t|}|i|xQ|iD]C}t|i|}d|jp
d|jo|||<ququW||_	|S(Ns://R+R-(
RRRturlopentopentreadfptsectionstdicttitemsR(RRtreleasestcptgrabbert
configdatatsectR>((s7/usr/lib/python2.6/site-packages/preupgrade/__init__.pytretrieve_release_infos 

	

	cCsmt}|i|}t|tjoA|i}|djp|djp
|djo
t}qin|S(swReturn True if the given key in the given release dict is a True
        value - something like 'true' or 'yes' or '1'.t1ttruetyes(tFalseR2ttypetstrtlowertTrue(RRtkeytrtvaltb((s7/usr/lib/python2.6/site-packages/preupgrade/__init__.pyt__release_key_is_trues'cCs|i|dS(s4Return True if the given release is a stable releasetstable(t _PreUpgrade__release_key_is_true(RR((s7/usr/lib/python2.6/site-packages/preupgrade/__init__.pyR#scCs|i|dS(s5Return True if the given release is OK for preupgrades
preupgrade-ok(RY(RR((s7/usr/lib/python2.6/site-packages/preupgrade/__init__.pyR"scCs-tii|}||_g|_d|_d|_d|_d|_	d||fGHd|GH|o|i
|nt||ii
}d|GH|djo
||_nA|djo
||_n'|djo|g|_n
td	|ii||iid
|i|ii|idS(
sSet up an additional repo to fetch packages from during preupgrade.
        id:  string representing the repo (e.g. "updates")
        url: string, url of the repo/mirrorlist/metalink
        urltype: string, either 'baseurl', 'mirrorlist', or 'metalink'. 
        download_progressbar: callback object for the created repo object

        Adds the new YumRepository object to self.repos, and returns it.

        Note that this does *NOT* enable the repo - to do that, you must
        run self.repos.enableRepo(id) yourself.
        s/var/cache/yum/is%s (%s) s	  url: %ss	  now: %sR-tmetalinkR+s0urltype must be mirrorlist, metalink, or baseurltthisrepoiN(R
tyumRepot
YumRepositorytnameR+R R-RZtbasecachedirtenablegroupstsetCallbackRRRt
ValueErrorRtaddtdoSetuptidt	findRepos(RReturlturltypeR=trepo((s7/usr/lib/python2.6/site-packages/preupgrade/__init__.pyt_setup_repos.								




	cCsJ|ii}t|i|d<|iid|idjp|i|i|iot	|dp|i
|nt	|do|iin|i
ig}|iD]}||iq~}g|_xF|iidD].}|id |jo|ii|qqWnx!|iD]}t}|i|i|i|ipq,nhd|id	6|d
6}x|i|iD]\}}	|djo||d<t|	||d<|i|}
y(|
io|ii|
inWn6tj
o*|d	}d|GH|ii|nXPqqWq,WdS(sSetup repo objects for newer versions of all the enabled repos that
        have $version in 'em. This will only work for final releases.

        For unstable releases (Rawhide, pre-releases, etc) we enable any
        repo that ends with '-rawhide'.RRtRawhidetinstrepotmainrepos	*-rawhideis
preupgrade-%sReR=RZR-R+RhRgs#Can't set up new repo %s - removingN(smetalinks
mirrorlistsbaseurl(RRRPR3RtdisableRepoR1R#RthasattrR9RmtenableRlRReRftappendtyumConfigParsertreadtrepofilethas_sectionRDRRjtreadyt
enableRepoRtdelete(RR=t
new_yumvart_[1]RTtorig_repo_idlisttcfgt
repoconfigtktvtnewrepoRe((s7/usr/lib/python2.6/site-packages/preupgrade/__init__.pyR:sL

'	
	




	cCshdd6|d6}|iod|d<|i|d<n|iod|d<|i|d<n|i|}|i|_|i|_||_|ii|_dS(Nt
preupgradeReR=R-RhRgR+(R7R6RjR-R+Rlt_getgrabtinstgrab(RR=R}Rl((s7/usr/lib/python2.6/site-packages/preupgrade/__init__.pyR9s





	cCshdd6|d6}|iod|d<|i|d<n|iod|d<|i|d<n|i|}|i|_|i|_|ii|i||_dS(Nspreupgrade-mainReR=R-RhRgR+(	R5R4RjR-R+RRwReRm(RR=R}Rm((s7/usr/lib/python2.6/site-packages/preupgrade/__init__.pyR8%s





cCs%d|i_|iddgddttd}|i|id|ittd}x|i	g|i
iD]}t}|i
|ix\|iD]N\}}|i|}||ijo#|i|i||i|qqW|i||idq{W|idS(	s9A few extra bits to configure after the repos are set up.itcachecookiesmirrorlist.txttcachedirtmetadatatws
N(Rt	keepcachet_cleanFilesR@trunfiletwriteR1tcloseRtRlRRRrtadd_sectionReR!t	optionobjtdefaulttsetttostring(RtrfRitycR~Rtoption((s7/usr/lib/python2.6/site-packages/preupgrade/__init__.pyR;5s$
	
'
cCsN|ix=|iiD],}|ii|i|ii|iqWdS(N(tclear_install_repoRRRnReRx(RRT((s7/usr/lib/python2.6/site-packages/preupgrade/__init__.pytclear_all_reposMs

cCsJd|_d}|ii|o$|ii||ii|ndS(s3Clear out previously-set up repos (so we can retry)RN(R RlRRfRnRx(RRe((s7/usr/lib/python2.6/site-packages/preupgrade/__init__.pyRTs
	cCs|iiid}d|iGH|iidg}tio
dg}nti	i
ido#ti	i
|iidg}nti}y|i
|Wn=tij
otdn tij
otdnXt|idd	d
}|djodtiti|GHnd
GHd}x1|D])}|id|od|}Pq@q@W|p
tdny`|i|d|_|i|d|_|ido|idd|_n
d|_Wn+tij
o}tdt|nX|idoRxO|idD]:}|id|id\}	}
|	|
f|i|<q/Wn|i dS(Ns
/.treeinfosFetched treeinfo from %stbasearchtxentppc64s%Failed to download installer metadatas"Failed to parse installer metadatatgeneralt	timestampR,istreeinfo timestamp: s0treeinfo timestamp missing (possibly malformed)!s	images-%ss?Cannot find any kernel/initrd section for this arch in treeinfotkerneltinitrdtstage2t	mainimagesimages/stage2.imgsInvalid treeinfo: %st	checksumst:(!RltgrabR?RgRRtmisct
isParaVirttrpmUtilstarchtgetCanonArcht
startswithRRAtMissingSectionHeaderErrorRtErrortfloatR2ttimetasctimet	localtimeR RuRRRt
NoOptionErrorRPtoptionstsplitRR(RttiftarchlistRFttst	mysectionRtetopt_fnt	csum_typetcsum((s7/usr/lib/python2.6/site-packages/preupgrade/__init__.pytretrieve_treeinfo\sP

#


	

!tcCs=|p
|i}ntii|pti|ntii|}|d|}|ii|}|ii	i
dd}|itii|oti|}t
|it
|joh|ii|oQ|i|\}}	|	t||jod|GHtSd|GHti|q?qCti|nti|}
|
i|
it|jotd||fny|iid|d|Wn5tj
o)}ti|td	||fnX|ii|oK|i|\}}	|	t||joti|td
|q9ntS(sO for returning files from our important repo, but not package or metadata filest/scontent-lengths-1s%s checksum OKs%s checksum failed - removings&Not enough space in %s to download %s.trelativetlocalsfailure downloading %s: %sschecksum failure downloading %s(RtostpathtexiststmakedirstbasenameRR?thdrRCR2Rtstattinttst_sizeRR0RRRtunlinktstatvfstf_bavailtf_bsizetlongRRlt_getFileR(Rtfileinfot	targetdirt
item_fnameRttmptmysizet
local_stattcsumtypeRtdirstatR((s7/usr/lib/python2.6/site-packages/preupgrade/__init__.pyt_retrieve_filesF
	
		

cCsCd}tii|io ti|idtd|ndS(s,Remove any previously-downloaded boot files.cSs&|\}}}td||fdS(NsFailed to remove %s: %s(R(tfuncRtexc_infote_typete_valuete_traceback((s7/usr/lib/python2.6/site-packages/preupgrade/__init__.pytrmtree_handlerst
ignore_errorstonerrorN(RRRRtshutiltrmtreeRN(RR((s7/usr/lib/python2.6/site-packages/preupgrade/__init__.pytremove_boot_filess	cCsEtii|itiit|dd}tid|dS(NRtvmlinuzs!/sbin/grubby --remove-kernel="%s"(RRtjoinRRtgetattrtsystem(RR((s7/usr/lib/python2.6/site-packages/preupgrade/__init__.pytremove_boot_entrys!cCst|dp
tdn|i|i|i|id}xati|D]P}|ido:y ti	ti
i||Wqtj
oqXq[q[WdS(sbRemove the repo caches, if they exist.
        Will throw PUError if the repos are not yet set up.Rls.Can't clear repo caches until repos are set ups/var/cache/yum/preupgrades.rpmN(
RoRtcleanHeaderst
cleanPackagestcleanSqlitet
cleanMetadataRtlistdirtendswithRRRtOSError(RRtf((s7/usr/lib/python2.6/site-packages/preupgrade/__init__.pytremove_repo_caches




 cCsBd}y"tt}|ii}Wntj
onX|S(szIf there is cached data from a previously-interrupted run of
        preupgrade, return the release name (self.pu_release)N(R R@RtreadlinetstriptIOError(RtreleasenameR((s7/usr/lib/python2.6/site-packages/preupgrade/__init__.pytresuming_runscCsh}t}|itxj|iD]\}|i|d}||d<d|d<d||d<|i||_|ii|q)WdS(NR^ReR+Rhshttp://fake.url/%sRg(	RrRsRtRBR2RjRlRRw(RR}RtsRe((s7/usr/lib/python2.6/site-packages/preupgrade/__init__.pytfake_setup_reposs	



cCsc|i}|djpt|i|i|i|itit	|i
dS(s/Clear all the saved data for an incomplete run.N(RR tAssertionErrorRRRRRRRR(RR((s7/usr/lib/python2.6/site-packages/preupgrade/__init__.pytclear_incomplete_runs




cCs.x'|i|ifD]}|i|qWdS(N(RRR(Rtitem((s7/usr/lib/python2.6/site-packages/preupgrade/__init__.pytretrieve_critical_boot_filesscCs&|i|i|tii|iS(N(RRRRR(RR((s7/usr/lib/python2.6/site-packages/preupgrade/__init__.pytretrieve_non_critical_files%scCs"ti}ti}|ptii|id}ntii|itiit|dd}t	|d}dd|d|dd	d
d|dd
|d|idg}t
|idjo!|dcdti
d7<n|idi||iti|dtS(s~Generate a simple kickstart to automate the upgrade.
        Returns a tuple of (bootdev,path) like bootpath_to_anacondapath()sks.cfgRRRs # ks.cfg generated by preupgradeslang %sskeyboard %ss$bootloader --upgrade --location=nonetupgradetreboots%ss
%postsgrubby --remove-kernel=%ss$rm -rf %s /var/cache/yum/preupgrade*s%end
g$@is --root-device=UUID=%ss	/dev/roots
tUUID(Rtgetlangt	getkeymapRRRRRRR@RR3tdevtdevice_to_uuidRRtbootpath_to_anacondapathRR(Rt
targetfilet
extra_cmdstlangtkeymapRRtks((s7/usr/lib/python2.6/site-packages/preupgrade/__init__.pytgenerate_kickstart)s.!
	!
cCstd|iidtS(NcSs|iS((tpo(ttxmbr((s7/usr/lib/python2.6/site-packages/preupgrade/__init__.pyt<lambda>Est
output_states(tmapttsInfotgetMembersWithStatetTS_INSTALL_STATES(R((s7/usr/lib/python2.6/site-packages/preupgrade/__init__.pytget_download_pkgsDs	c	Csd}d}x|D]}}yFt|i}||7}y|io||7}nWnnXWqtj
o"dttt|fGHqXqW||S(Nis*Error calculating download size for %s: %s(RtsizetverifyLocalPkgRRP(Rtpkgst	localsizet	totalsizetpkgR((s7/usr/lib/python2.6/site-packages/preupgrade/__init__.pytget_download_sizeHs 

!cCsdS(shReturns the (approximate) amount of space needed for anaconda to
        complete the upgrade, in bytes.iiii@((R((s7/usr/lib/python2.6/site-packages/preupgrade/__init__.pytget_upgrade_sizeYsc
Csti|dt}|o
||_ntii|_|i}d|_|ii	t
i|idd|ii
t
i|ii|id}|`||_h}|oBx?|D]3\}\}}}	|t
ijo|	||<qqWn|S(sRun a test transaction to ensure that we'll have enough disk
        to complete the upgrade.
        
        Returns a dict of mountpoint:spaceneeded pairs.
        An empty dict indicates success.
        ttesttkeepoldiRN(R
tRPMTransactionRRtdisplaytrpmtranstSimpleCliCallBackt
dsCallbackR Rt
setProbFiltertrpmtRPMPROB_FILTER_DISKSPACEt
populateTst	addTsFlagtRPMTRANS_FLAG_TESTtruntcallbacktRPMPROB_DISKSPACE(
RR)ttestcbtdscbtproblemstspaceneededtdesctproblem_typetmounttneed((s7/usr/lib/python2.6/site-packages/preupgrade/__init__.pyttransaction_test_diskspacecs&
			cCs$|i|ti|||dS(N(tgather_downloaded_packagesRtgenerate_repodata(RtdirtcompsR)((s7/usr/lib/python2.6/site-packages/preupgrade/__init__.pyt
generate_repos
c	Csx|iiD]}|iotii|i|i}xjti|D]U}tii||}yti|WnnXti	tii|||qKWqqWdS(s7Hardlink all downloaded packages to the given directoryN(
RRtpkgdirRRRR_Rtremovetlink(RR6RTt
fullpkgdirtptnewfile((s7/usr/lib/python2.6/site-packages/preupgrade/__init__.pyR4s
cCsg}x|iiD]n\}}|t|idjoqn|i|pqn|p|i|o|i|qqW|S(NR(RR!RR2R"R#Rq(Rtcur_vertbeta_oktversionsR^treleasedata((s7/usr/lib/python2.6/site-packages/preupgrade/__init__.pytreturn_available_versionsscCsm|iidjo
tdnx2|iiD]!}y|idWq0q0Xq0W|i|idS(Nis/Cannot retrieve group lists from any repositorytgroup_gz(R7t
compscountRRtlistGroupsEnabledt
retrieveMDtupdatetbuildTransaction(RRT((s7/usr/lib/python2.6/site-packages/preupgrade/__init__.pytfigure_out_what_we_needs

cCs|idtii|i}|idtii|i}|iid}d}|o|d|7}nd|i}|i	do
d}nt
i||d|d||i	dotid	ndS(
NRRRt s
Upgrade to %stppcttitletargss/sbin/ybin > /dev/null(
RRRRRRRRR1RRtgrubbyR(Rt
extra_argstmykerneltmyinitrdRtargstrRM((s7/usr/lib/python2.6/site-packages/preupgrade/__init__.pytadd_boot_targets  

cCs?|iid}|idotidntidS(NRRLs,/sbin/ybin --bootonce preupgrade > /dev/null(RRRRRRtgrubby_make_next_boot_only(RR((s7/usr/lib/python2.6/site-packages/preupgrade/__init__.pytchange_boot_targetscCs|id|i|i|ig}td|iidt}|`|i|}|i	y|i
Wn+tj
o}d|GHti
dnXy|iWntj
onX|i|idS(s9Basically an example of how a run is supposed to proceed.RkcSs|iS((R
(R((s7/usr/lib/python2.6/site-packages/preupgrade/__init__.pyRsR
s	Fatal: %siN(RRRRJRRRRtdownloadPkgsRRRtsystexitt retrieve_non_critical_boot_filesRTRV(RtdownloadpkgsR-R((s7/usr/lib/python2.6/site-packages/preupgrade/__init__.pyt_mains*



	
	
N(*t__name__t
__module__R t
releasesfnRRRR*RNRRJRYR#R"RjR:R9R8R;RRRRRRRRRRRRR	RRRR3R8R4RCRJRTRVR\(((s7/usr/lib/python2.6/site-packages/preupgrade/__init__.pyR7sH			(B				A;						
					
 	
			($RXRtos.pathRRRtiniparse.compatRrturlgrabber.grabberRRtpreupgrade.miscRtpreupgrade.devRtpreupgrade.errorRR
R#t
yum.Errorst
rpmUtils.archRtyum.miscRt
yum.parserRt
yum.constantsRt__version__RRR_RRtRR(((s7/usr/lib/python2.6/site-packages/preupgrade/__init__.pyt<module>s4




Youez - 2016 - github.com/yon3zu
LinuXploit