403Webshell
Server IP : 61.19.30.66  /  Your IP : 216.73.216.15
Web Server : Apache/2.2.22 (Ubuntu)
System : Linux klw 3.11.0-15-generic #25~precise1-Ubuntu SMP Thu Jan 30 17:39:31 UTC 2014 x86_64
User : www-data ( 33)
PHP Version : 5.3.10-1ubuntu3.48
Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,
MySQL : ON  |  cURL : OFF  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : ON  |  Pkexec : OFF
Directory :  /usr/lib/python2.7/dist-packages/landscape/package/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /usr/lib/python2.7/dist-packages/landscape/package/releaseupgrader.pyc
ó
}9Rc@s\ddlZddlZddlZddlZddlZddlZddlZddlZddlZddl	m
Z
ddlmZm
Z
ddlmZmZddlmZddlmZddlmZmZmZddlmZdd	lmZmZdd
lmZdefd„ƒYZ d
efd„ƒYZ!d„Z"d„Z#dS(iÿÿÿÿN(tsucceed(turl_to_filenametfetch_to_files(tparse_lsb_releasetLSB_RELEASE_FILENAME(t
gpg_verify(t	read_file(tPackageTaskHandlerConfigurationtPackageTaskHandlertrun_task_handler(t
spawn_process(t	SUCCEEDEDtFAILED(tfind_reporter_commandtReleaseUpgraderConfigurationcBseZdZed„ƒZRS(s=Specialized configuration for the Landscape release-upgrader.cCstjj|jdƒS(sV
        The directory where the upgrade-tool files get stored and extracted.
        supgrade-tool(tostpathtjointpackage_directory(tself((sE/usr/lib/python2.7/dist-packages/landscape/package/releaseupgrader.pytupgrade_tool_directorys(t__name__t
__module__t__doc__tpropertyR(((sE/usr/lib/python2.7/dist-packages/landscape/package/releaseupgrader.pyRstReleaseUpgradercBs­eZdZeZdZeZdZdZ	dZ
d„Zd„Zd„Z
d„Zd	„Zd
„Zd„Zd„Zeedd
„Zd„Zd„Zed„ƒZRS(s|Perform release upgrades.

    @cvar config_factory: The configuration class to use to build configuration
        objects to be passed to our constructor.
    @cvar queue_name: The queue we pick tasks from.
    @cvar lsb_release_filename: The path to the LSB data on the file system.
    @cvar landscape_ppa_url: The URL of the Landscape PPA, if it is present
        in the computer's sources.list it won't be commented out.
    @cvar logs_directory: Path to the directory holding the upgrade-tool logs.
    @cvar logs_limit: When reporting upgrade-tool logs to the server, only the
        last C{logs_limit} lines will be sent.
    srelease-upgraders0http://ppa.launchpad.net/landscape/trunk/ubuntu/s/var/log/dist-upgradei †cCs'idd6|d6|d6|d6|d6S(s=Convenience to create messages of type C{"operation-result"}.soperation-resultttypesoperation-idtstatussresult-textsresult-code((Rtoperation_idRttexttcode((sE/usr/lib/python2.7/dist-packages/landscape/package/releaseupgrader.pytmake_operation_result_message8s

cCs*|j}|ddkr&|j|ƒSdS(s.Call the proper handler for the given C{task}.Rsrelease-upgradeN(tdatathandle_release_upgrade(Rttasktmessage((sE/usr/lib/python2.7/dist-packages/landscape/package/releaseupgrader.pythandle_task@s	csª|d‰|d‰tˆjƒ}|d‰ˆˆkruˆjˆtdˆdƒ}tjdƒˆjj|tƒS|d}|d}|j	dt
ƒ‰|j	d	t
ƒ‰d‰ˆd
krÈd‰nˆjj
}t|d|ƒ‰t|d|ƒ‰ˆj||ƒ}|j‡‡‡fd
†ƒ|j‡‡fd†ƒ|j‡‡fd†ƒ|j‡‡‡‡‡‡fd†ƒ|j‡fd†ƒ|jˆjˆƒ|S(swFetch the upgrade-tool, verify it and run it.

        @param message: A message of type C{"release-upgrade"}.
        s	code-namesoperation-ids!The system is already running %s.isBQueuing message with release upgrade failure to exchange urgently.supgrade-tool-tarball-urlsupgrade-tool-signature-urlsallow-third-partytdebugtdappertservert	directorycsˆjˆˆƒS(N(tverify(tx(Rtsignature_filenamettarball_filename(sE/usr/lib/python2.7/dist-packages/landscape/package/releaseupgrader.pyt<lambda>ks	cs
ˆjˆƒS(N(textract(R*(RR,(sE/usr/lib/python2.7/dist-packages/landscape/package/releaseupgrader.pyR-mscs
ˆjˆƒS(N(ttweak(R*(Rtcurrent_code_name(sE/usr/lib/python2.7/dist-packages/landscape/package/releaseupgrader.pyR-nsc	s"ˆjˆˆdˆdˆdˆƒS(Ntallow_third_partyR%tmode(tupgrade(R*(ttarget_code_nameR1RR2RR%(sE/usr/lib/python2.7/dist-packages/landscape/package/releaseupgrader.pyR-os	cs
ˆjƒS(N(tfinish(R*(R(sE/usr/lib/python2.7/dist-packages/landscape/package/releaseupgrader.pyR-rsN(Rtlsb_release_filenameRRtloggingtinfot_brokertsend_messagetTruetgettFalsetNonet_configRRtfetchtaddCallbackt
addErrbacktabort(RR#tlsb_release_infottarball_urlt
signature_urlR(tresult((	R0RR+R1R,R%R4R2RsE/usr/lib/python2.7/dist-packages/landscape/package/releaseupgrader.pyR!Fs<





					%cCs‚tjj|jjƒs.tj|jjƒnt||g|jjdtjƒ}d„}d„}|j	|ƒ|j
|ƒ|S(sŸFetch the upgrade-tool files.

        @param tarball_url: The upgrade-tool tarball URL.
        @param signature_url: The upgrade-tool signature URL.
        tloggercSstjdƒdS(Ns'Successfully fetched upgrade-tool files(R7R8(tignored((sE/usr/lib/python2.7/dist-packages/landscape/package/releaseupgrader.pytlog_successƒscSstjdƒ|S(Ns%Couldn't fetch all upgrade-tool files(R7twarning(tfailure((sE/usr/lib/python2.7/dist-packages/landscape/package/releaseupgrader.pytlog_failure†s
(RRtexistsR?RtmkdirRR7RKRARB(RRERFRGRJRM((sE/usr/lib/python2.7/dist-packages/landscape/package/releaseupgrader.pyR@vs		

cCs?t||ƒ}d„}d„}|j|ƒ|j|ƒ|S(sÕVerify the upgrade-tool tarball against its signature.

        @param tarball_filename: The filename of the upgrade-tool tarball.
        @param signature_filename: The filename of the tarball signature.
        cSstjdƒdS(Ns*Successfully verified upgrade-tool tarball(R7R8(RI((sE/usr/lib/python2.7/dist-packages/landscape/package/releaseupgrader.pyRJ–scSstjdt|jƒƒ|S(Ns.Invalid signature for upgrade-tool tarball: %s(R7RKtstrtvalue(RL((sE/usr/lib/python2.7/dist-packages/landscape/package/releaseupgrader.pyRM™s	(RRARB(RR,R+RGRJRM((sE/usr/lib/python2.7/dist-packages/landscape/package/releaseupgrader.pyR)Žs		

cCsLtj|dƒ}x-|jƒD]}|j|d|jjƒqWtdƒS(svExtract the upgrade-tool tarball.

        @param tarball_filename: The filename of the upgrade-tool tarball.
        sr:gzRN(ttarfiletopent
getmembersR.R?RRR>(RR,ttftmember((sE/usr/lib/python2.7/dist-packages/landscape/package/releaseupgrader.pyR.¢sc	Cs®|jj}|dkrbtjj|dƒ}tjƒ}|j|ƒ|jdƒsx|jdƒ|j	dddƒn|jdƒs—|jdƒn|j
ddƒs¿|j	dddƒn/|jddƒ}|d	7}|j	dd|ƒt|d
ƒ}|j
|ƒ|jƒtjj|dƒ}t|d
ƒ}|j
dƒ|jƒtj|d
ƒntjj|dƒ}t|dƒ}|j
|jdƒ|jƒtdƒS(s•Tweak the files of the extracted tarballs to workaround known bugs.

        @param current_code_name: The code-name of the current release.
        R&sDistUpgrade.cfg.dappertNonInteractivetForceOverwritetnotDistrotPostInstallScriptss	./dbus.shs, ./dbus.shtwsdbus.shs*#!/bin/sh
/etc/init.d/dbus start
sleep 10
iísmirrors.cfgtas
N(R?RRRRtConfigParsertreadthas_sectiontadd_sectiontsett
has_optionR<RStwritetclosetchmodtlandscape_ppa_urlRR>(	RR0Rtconfig_filenametconfigtscriptstfdtdbus_sh_filenametmirrors_filename((sE/usr/lib/python2.7/dist-packages/landscape/package/releaseupgrader.pyR/¬s>	




	

	
cCsÙtjƒ}xFd|fd|fgD],\}}|r%|jd||fƒq%q%Wxwttj|jƒƒD]]}|jdƒs‰qnntjj	|j|ƒ}t
||jƒ}|jd||fƒqnW|jƒS(sReturn the operation result text to be sent to the server.

        @param out: The standard output of the upgrade-tool process.
        @param err: The standard error of the upgrade-tool process.
        @return: A text aggregating the process output, error and log files.
        toutputterrors=== Standard %s ===

%s

s.logs=== %s ===

%s

(
t	cStringIOtStringIORdtsortedRtlistdirtlogs_directorytendswithRRRt
logs_limittgetvalue(Rtoutterrtbuftlabeltcontenttbasenametfilename((sE/usr/lib/python2.7/dist-packages/landscape/package/releaseupgrader.pytmake_operation_result_textås%c
sňjj}tjj||ƒ}ddg}|rI|jd|gƒntjjƒ}	|rkd|	d<n|r~d|	d<nt|d|d|	d	|d
t	ƒ}
‡‡fd†}|
j
|ƒ|
S(séRun the upgrade-tool command and send a report of the results.

        @param code_name: The code-name of the release to upgrade to.
        @param operation_id: The activity id for this task.
        @param allow_third_party: Whether to enable non-official APT repo.
        @param debug: Whether to turn on debug level logging.
        @param mode: Optionally, the mode to run the upgrade-tool as. It
            can be "server" or "desktop", and it's relevant only for dapper.
        s
--frontendtDistUpgradeViewNonInteractives--modeR;t!RELEASE_UPRADER_ALLOW_THIRD_PARTYtDEBUG_UPDATE_MANAGERtargstenvRt
wait_pipescst|\}}}|dkr$t}nt}ˆj||ƒ}ˆjˆ|||ƒ}tjdƒˆjj|tƒS(NisBQueuing message with release upgrade results to exchange urgently.(	RRRRR7R8R9R:R;(t.0RxRyRRRR#(RR(sE/usr/lib/python2.7/dist-packages/landscape/package/releaseupgrader.pytsend_operation_results	
(R?RRRRtextendtenvirontcopyR
R=RA(Rt	code_nameRR1R%R2Rtupgrade_tool_filenameRƒR„RGR‡((RRsE/usr/lib/python2.7/dist-packages/landscape/package/releaseupgrader.pyR3ûs


cCsÇtj|jjƒtjƒdkrLtjdƒj}t	j
dƒj}nd
}d
}t
ƒ}dg}|jjd
k	r–|jd|jjƒnt|d|d|d|dtjƒd	tjƒS(sAClean-up the upgrade-tool files and report about package changes.it	landscapes--force-apt-updates--config=%sRƒtuidtgidRR„N(tshutiltrmtreeR?RRtgetuidtpwdtgetpwnamtpw_uidtgrptgetgrnamtgr_gidR>R
RitappendR
tgetcwdR‰(RRŽRtreporterRƒ((sE/usr/lib/python2.7/dist-packages/landscape/package/releaseupgrader.pyR5#s		cCsE|j|tdt|jƒdƒ}tjdƒ|jj|tƒS(s3Abort the task reporting details about the failure.s%sisBQueuing message with release upgrade failure to exchange urgently.(	RRRPRQR7R8R9R:R;(RRLRR#((sE/usr/lib/python2.7/dist-packages/landscape/package/releaseupgrader.pyRC9s
cCstƒS(N(tfind_release_upgrader_command(((sE/usr/lib/python2.7/dist-packages/landscape/package/releaseupgrader.pytfind_commandDsN(RRRRtconfig_factoryt
queue_nameRR6RgRtRvRR$R!R@R)R.R/RR=R>R3R5RCtstaticmethodR(((sE/usr/lib/python2.7/dist-packages/landscape/package/releaseupgrader.pyR#s(			0			
	9	'		cCs8tjjtjjtjdƒƒ}tjj|dƒS(s9Return the path to the landscape-release-upgrader script.islandscape-release-upgrader(RRtdirnametabspathtsystargvR(R¡((sE/usr/lib/python2.7/dist-packages/landscape/package/releaseupgrader.pyRœIs%cCs2tjƒtjƒkr%tjƒntt|ƒS(N(RtgetpgrptgetpidtsetsidR	R(Rƒ((sE/usr/lib/python2.7/dist-packages/landscape/package/releaseupgrader.pytmainOs
($RR£R–R“RR7RRRpR^ttwisted.internet.deferRtlandscape.lib.fetchRRtlandscape.lib.lsb_releaseRRtlandscape.lib.gpgRtlandscape.lib.fsRtlandscape.package.taskhandlerRRR	tlandscape.lib.twisted_utilR
tlandscape.manager.managerRRtlandscape.package.reporterR
RRRœR¨(((sE/usr/lib/python2.7/dist-packages/landscape/package/releaseupgrader.pyt<module>s,ÿ'	

Youez - 2016 - github.com/yon3zu
LinuXploit