Edit File: packages.cpython-36.pyc
3 ��c.������������������@���s����d�dl�Z�d�dlZd�dlZd�dlZd�dlmZ�d�dlmZ�d�dlmZ�d�dlm Z �ej ��ZdZddd d ddd gZ d!dd�Zd"dd�Zd#dd�Zd$dd �Zd%dd�Zd&dd �Zdd��Zd'dd �Zd(dd�Zg�g�dddfdd�Zdd��Zdd ��ZdS�))�����N)� up2dateLog)�config)�rpmUtils)�rhnPackageInfoz/var/lib/up2date/dbtimestamp�update�remove�refresh_list� fullUpdate�checkNeedUpdate�runTransaction�verifyc����������������sj���|rddi�fS�t�|�t�s"ddi�fS�tjd|���tddd�}|jj��j������fd d �|�D��}t||d|d�S�)z0We have been told that we should remove packagesr���zno-ops for caching� ���z$Invalid arguments passed to functionzCalled remove_packagesTF)�load_system_repo�load_available_reposc����������������s���g�|�]}t���|��qS���)�_package_tup2obj)�.0�tup)� installedr����/usr/lib/python3.6/packages.py� <listcomp>:���s����zremove.<locals>.<listcomp>)r���� allow_erasing� cache_only) � isinstance�list�log� log_debug� _dnf_base�sack�queryr����_dnf_transaction)�package_listr����base� to_remover���)r���r���r���-���s���� c�������������C���s���t�|�t�sddi�fS�tjd|���tddd�}|jj��j��}|jj��j��}d}g�}g�}�x"|�D��]}t |�dk�rx|j d��|\} } }}} | dkr�|dkr�|dkr�| dkr�|j| d �r�tjd | ���q\|dkr�d}|j| | d�j��}t ||�}|�sd t|��}tjd|��|j |��q\x`|D�]N}|j|�}|dk�rHtjdt|����P�n|dk�rtjdt|����P��qW�|j |��q\W�|�s�|�r�dddj|��ddd�f}n ddi�f}|jj���|j���|S�t|||d�S�)z:We have been told that we should retrieve/install packagesr ���z$Invalid arguments passed to functionz Called updateT)r���r���N������)�namezPackage %s is already installedr���)r&����archz,Package %s is not available for installationzE: zPackage %s already installedz6More recent version of package %s is already installed� ���z-Failed: Packages failed to install properly: � �1�package_install_failure)�versionr&���z$Requested packages already installed)�installr���)r���r���r���r���r���r���r���r���� available�len�append�filterZlatestr����_package_tup2strZlog_meZevr_cmp�join�_plugins�_unload�closer ���)r!���r���r"���r���r.����errZerrmsgs� to_install�packager&���r,����release�epochr'����pkgsZ requested_pkg�pkgZpkg_cmp�retr���r���r���r���?���s`���� c�������������C���s����|rddi�fS�t�ddd�}|jj��j��}|jj��j��}g�}g�}xd|�d�dd��D�]P}|\}} t||�} | dkr~| r~|j| ��qP| dkrP| �rPt||�}|j|��qPW�|�r�|�r�dd i�fS�t|||d|d �S�)z� Run a transaction on a group of packages. This was historicaly meant as generic call, but is only called for rollback. r���zno-ops for cachingT)r���r����packagesN�e�iz6Requested package actions have already been performed.)r-���r���r���r���)r���r���r���r���r.���r���r0���r ���)Ztransaction_datar���r"���r���r.���r8���r#���Zpackage_objectr9����actionr=����newr���r���r���r�������s&���� c�������������C���s���t�ddd�}t|d|d�S�)z$ Update all packages on the system. T)r���r���)�full_updater���)r���r ���)�forcer���r"���r���r���r���r �������s����c������� ������C���s����|rddi�fS�i�}d}t�j��}|d�r.|d�}d|�}ytj|�d�}W�n���dd|fS�ytjt�d�}W�n���d}Y�nX�||d�kr�dd |fS�|dkr�yttd �}|j���W�n���dd|fS�tdd �S�)z� Check if the locally installed package list changed, if needed the list is updated on the server In case of error avoid pushing data to stay safe r���zno-ops for cachingz/var/lib/rpm�dbpathz%s/Packages����zunable to stat the rpm database� ���zNrpm database not modified since last update (or package list recently updated)zw+z!unable to open the timestamp file����)�rhnsd)r���ZinitUp2dateConfig�os�stat�LAST_UPDATE_FILE�openr6���r���) rJ���r����datarF���ZcfgZRPM_PACKAGE_FILEZdbtimeZlast�filer���r���r���r �������s4���� c���������� ���C���sR���|rddi�fS�t�jd��d}ytj���W�n���td��ddi�fS�t���ddi�fS�) z3 push again the list of rpm packages to the server r���zno-ops for cachingzCalled refresh_rpmlistNz8ERROR: refreshing remote package list for System Profile����zError refreshing package listzrpmlist refreshed)r���r���r���ZupdatePackageProfile�print�touch_time_stamp)rJ���r���r>���r���r���r���r�������s���� c��������������C���s^���yt�td�}�|�j���W�n���ddi�fS�tj��}ytjt||f��W�n���ddt�i�fS�d�S�)Nzw+r���z!unable to open the timestamp filez6unable to set the time stamp on the time stamp file %s)rN���rM���r6����timerK����utime)Zfile_d�tr���r���r���rS�������s���� rS���c�������������C���sv���t�jd��|rddi�fS�i�}d|d<�d|d<�tj|��\}}||d<�t|�rld|d<�d|d<�||d <�d d|fS�dd|fS�) NzCalled packages.verifyr���zno-ops for cachingzpackages.verifyr&���r,���Zverify_infoz packages.verify.missing_packages�missing_packages�+���z-packages requested to be verified are missingzpackages verified)r���r���r���ZverifyPackagesr/���)r?���r���rO���r>���rW���r���r���r���r�������s���� Tc�������������C���s6���t�j��}|jjs|j���|r$|j���|jddd��|S�)NT)r���r���)�dnfZBaser4���ZpluginsZinit_pluginsZread_all_reposZ fill_sack)r���r���r"���r���r���r���r�����s����r���Fc�������������C���s���z�y�|r|�j����n8x|D�]}|r|�j|��qW�x|D�]}|r6|�j|��q6W�|�j|��tjd��t|�j�svtj j d��|�jjr�tjddd��|�jjD����|�j|�jj��|�jj r�tjddd��|�jj D����|s�|�j���W��n�tj jk �r �}�z&i�}d|d <�d |d<�dd t|��|fS�d}~X�n��tj jk �rf�}�z&i�}d|d <�d|d<�ddt|��|fS�d}~X�n��tj jk �r��}�z&i�}d|d <�d|d<�ddt|��|fS�d}~X�n@�tj j k �r��}�zd} dt|��} i�}| | |fS�d}~X�nX�W�d|�jj���|�j���X�ddi�fS�)zE command is an function excpecting dnf.Base() as an argument zDependencies Resolvedzempty transactionzDownloading and installing: c�������������S���s���g�|�]}t�|��qS�r���)�str)r����pr���r���r���r���-��s����z$_dnf_transaction.<locals>.<listcomp>z Removing: c�������������S���s���g�|�]}t�|��qS�r���)rZ���)r���r[���r���r���r���r���1��s����r*���r,���r+���r&���r(���z/Failed: Packages failed to install properly: %sNr���Zrpmremoveerrors����z%sZfailed_deps����z9Failed: packages requested raised dependency problems: %s����z)Error while executing packages action: %szUpdate Succeeded)r^���)Zupgrade_allZpackage_installZpackage_removeZresolver���r���r/���ZtransactionrY���� exceptions�ErrorZinstall_setZdownload_packagesZ remove_setZdo_transactionZMarkingErrorrZ���Z DepsolveErrorr4���r5���r6���)r"���r-���r���rD���r���r���r=���r@���rO���Zstatus�messager���r���r���r �����s^���� r ���c������� ������C���s����|d�d��\}}}}t�|�dkr(|d�nd�}d|i}|d�k rPt�|�dkrP||d<�|d�k rlt�|�dkrl||d<�|d�k r�t�|�dkr�t|�|d<�|d�k r�t�|�dkr�||d<�|�jf�|�j��}|r�|d�S�d�S�)N����r&���r���r,���r:���r;���r'���)r/����intr1���Zrun) �qr���r&���r,���r:���r;���r'���r���r<���r���r���r���r���U��s����r���c�������������C���sD���|�dd��\}}}}}|sd}d||||f�}|r>|d|�7�}|fS�)z6 Create a package name from an rhn package tuple. N�0z%s-%s:%s-%sz.%sr���)Zpackage_tup�n�v�rr@����aZpkginfor���r���r���r2���g��s����r2���)N)N)N)r���N)NN)NN)N)TT)rK���rT���Zdnf.exceptionsrY���Zdnf.cliZup2date_clientr���r���r���r���ZinitLogr���rM���Z __rhnexport__r���r���r���r ���r ���r���rS���r���r���r ���r���r2���r���r���r���r����<module>���s:��� E ) =