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
-