invirtualenv_plugins.rpm module

class invirtualenv_plugins.rpm.InvirtualenvRPM(config_file='deploy.conf')

Bases: invirtualenv.plugin_base.InvirtualenvPlugin

config_default = '[rpm_package]\ndeps:\n'
config_types = {'rpm_package': {'deps': <type 'list'>}}
default_config_filename = 'invirtualenv.spec'
package_formats = ['rpm']
package_template = 'Summary: {{global[\'description\']|default(\'No summary available\')}}\nName: {{global[\'name\']}}\nVersion: {{global[\'version\']|default(\'0.0.0\')}}\nRelease: {{rpm_package[\'release\']|default(\'1\')}}\nLicense: {{rpm_package[\'license\']|default(\'Closed Source\')}}\nGroup: {{rpm_package[\'group\']|default(\'Development\')}}\n{% if rpm_package[\'deps\'] %}Requires: {% for package in rpm_package[\'deps\'] %}{{package}}{{ ", " if not loop.last }}{% endfor %}{% endif %}\nPackager: {{rpm_package[\'packager\']|default(\'VerizonMedia\')}}\nURL: {{global[\'url\']|default(\'https://github.com/yahoo/invirtualenv\')}}\nAutoReqProv: no\nBuildArch: noarch\nRequires(post): {{global[\'basepython\']}}\nRequires(post): python-virtualenv\n\n%description\n{{rpm_package[\'description\']|default(\'No description\')}}\n\n%install\nmkdir -p %{buildroot}/usr/share/%{name}_%{version}/\nmkdir -p %{buildroot}/usr/share/%{name}_%{version}/package_scripts/\ncp -r {{rpm_package[\'cwd\']}}/wheels %{buildroot}/usr/share/%{name}_%{version}\ncp {{rpm_package[\'cwd\']}}/deploy.conf %{buildroot}/usr/share/%{name}_%{version}/deploy.conf\ncp {{rpm_package[\'cwd\']}}/post_install.py %{buildroot}/usr/share/%{name}_%{version}/package_scripts/post_install.py\ncp {{rpm_package[\'cwd\']}}/pre_uninstall.py %{buildroot}/usr/share/%{name}_%{version}/package_scripts/pre_uninstall.py\nchmod 755 %{buildroot}/usr/share/%{name}_%{version}/package_scripts/post_install.py\nchmod 755 %{buildroot}/usr/share/%{name}_%{version}/package_scripts/pre_uninstall.py\n\n%post\nexport PATH=$PATH:/opt/python/bin:/usr/local/bin\nvirtualenv -p {{global[\'basepython\']}} /usr/share/%{name}_%{version}/invirtualenv_deployer\n/usr/share/%{name}_%{version}/invirtualenv_deployer/bin/pip install -q --find-links=/usr/share/%{name}_%{version}/wheels invirtualenv configparser\ncd /usr/share/%{name}_%{version}\n/usr/share/%{name}_%{version}/invirtualenv_deployer/bin/python /usr/share/%{name}_%{version}/package_scripts/post_install.py\n\n%preun\n/usr/share/%{name}_%{version}/invirtualenv_deployer/bin/python /usr/share/%{name}_%{version}/package_scripts/pre_uninstall.py\n\n%postun\nrm -rf /usr/share/%{name}_%{version}\n\n%files\n%defattr(0755, root, root)\n/usr/share/%{name}_%{version}/*\n{% if rpm_package[\'files\'] %}\n{% endif %}\n'
run_package_command(package_hashes, wheel_dir='wheels')

Run the command to generate the package based on the hash

system_requirements_ok()

Check if all the system requirements for this plugin are met.

Returns:True if requirements are met, False otherwise
Return type:bool