` c‹��ã���������������@���s>���d��d�l��Z��d��d�l�Z�d��d�l�Z�Gd�d�„��d�e�ƒ�Z�d�S)é����Nc���������������@���sF���e��Z�d��Z�d�d�d�d�„�Z�d�d�„��Z�d�d�„��Z�d �d �„��Z�d�S)Ú ComponentNFc�������������C���s��|�|��_��|�|��_�d��|��_�g��|��_�g��|��_�|�rt�j�j�|��j�d�ƒ�}�t�j�j�|�ƒ�s}|��j�|�d�ƒ�}�|�s�t �d�|��j�d�ƒ�‚�n �|�d�|��_�|��j�|�d�ƒ�|��_�t�j�j�|��j�d�ƒ�}�t�j�j�|�ƒ�r t �|�d�ƒ��}�|�j�ƒ��j�ƒ��|��_�Wd��QRX|��j�|�d �ƒ�|��_�d �|��j�d�|��j�d�|��j�i�}�t �|�d �ƒ�)�}�|�j �t�j�|�d�d�d�d�ƒƒ�Wd��QRXnr�t �|�d�ƒ��}�t�j�|�j�ƒ��ƒ�}�Wd��QRX|�sÈt �d�|��j�d�ƒ�‚�|�d �|��_�|�d�|��_�|�d�|��_�|��j�s|��j�d�rt �d�|��j�ƒ�‚�d��S)NÚpkg5zprint-value-COMPONENT_NAMEz Component returns empty name at Ú.r���zprint-package-namesz pkg5.fmrisÚrzprint-required-packagesÚnameÚfmrisÚdependenciesÚwÚ sort_keysTÚindenté���z&Component pkg5 data is empty for path z$Empty list of supplied FMRIs path = )ÚdebugÚpathr���Úsupplied_packagesÚrequired_packagesÚosÚjoinÚisfileÚrun_makeÚ ValueErrorÚopenÚreadÚ splitlinesÚwriteÚjsonÚdumpsÚloads)Úselfr���r ���Zcomponent_pkg5_fileZcomponent_nameZcomponent_pkg5_fmris_fileÚfÚdata©�r ���ú;/jenkins/jobs/oi-userland/workspace/tools/bass/component.pyÚ__init__#���s@���� , zComponent.__init__c�������������C���s=���d�}�t��|��j�ƒ�}�t��|�j�ƒ�}�|�j�|�ƒ�r9�d�}�|�S)NFT)Úsetr���r���Úintersection)r���Ú componentÚresultÚs1Ús2r ���r ���r!���ÚrequiredM���s����zComponent.requiredc���������� ���C���sÆ���g��}�|��j��r"�t�j��d�|�|�ƒ�t�j�d�d�|�g�d�t�j�d�t�j�d�|�d�d�ƒ}�|�j�ƒ��\�}�}�x'�|�j�ƒ��D]�}�|�j�|�j�ƒ��ƒ�qw�W|��j��rÂ�|�j �d �k�rÂ�t�j��d �|�j �|�ƒ�|�S)NzExecuting 'gmake %s' in %sÚgmakez-sÚstdoutÚstderrÚcwdÚuniversal_newlinesTr���zexit: %d, %s) r ���ÚloggerÚ subprocessÚPopenÚPIPEÚcommunicater���ÚappendÚrstripÚ returncode)r���r���Ztargetsr&���Úprocr+���r,���Úoutr ���r ���r!���r���W���s���� zComponent.run_makec�������������C���sE���d�|��j��}�|�d�d�j�|��j�ƒ�7}�|�d�d�j�|��j�ƒ�7}�|�S)NzComponent: Path: %s z Provides Package(s): %s z z Required Package(s): %s )r���r���r���r���)r���r&���r ���r ���r!���Ú__str__n���s���� zComponent.__str__)Ú__name__Ú __module__Ú__qualname__r"���r)���r���r9���r ���r ���r ���r!���r���"���s���* r���)r���r0���r���Úobjectr���r ���r ���r ���r!���Ú<module>���s���