diff --git a/.gitignore b/.gitignore index e69de29..67369c3 100644 --- a/.gitignore +++ b/.gitignore @@ -0,0 +1 @@ +/imagefactory-plugins-1.1.3.tar.gz diff --git a/imagefactory-plugins.spec b/imagefactory-plugins.spec new file mode 100644 index 0000000..fa098b9 --- /dev/null +++ b/imagefactory-plugins.spec @@ -0,0 +1,309 @@ +%global auto_register_macro_post() # create it if it doesn't already exist as a link \ +# If it is an existing file other than a link, do nothing \ +[ -L %{_sysconfdir}/imagefactory/plugins.d/%1.info ] || \ +[ -e %{_sysconfdir}/imagefactory/plugins.d/%1.info ] || \ +ln -s %{python_sitelib}/imagefactory_plugins/%1/%1.info %{_sysconfdir}/imagefactory/plugins.d/%1.info \ +exit 0 + +%global auto_register_macro_postun() if [ "\$1" = "0" ]; then \ + # clean up the link if it exists - if it doesn't or if this is a regular file, do nothing \ + [ -L %{_sysconfdir}/imagefactory/plugins.d/%1.info ] && rm -f %{_sysconfdir}/imagefactory/plugins.d/%1.info \ +fi \ +exit 0 + + +Summary: Default plugins for the Image Factory system image generation tool +Name: imagefactory-plugins +Version: 1.1.3 +Release: 1%{?dist} +Source0: http://repos.fedorapeople.org/repos/aeolus/imagefactory/%{version}/tarball/%{name}-%{version}.tar.gz +License: ASL 2.0 +Group: Applications/System +URL: http://www.aeolusproject.org/imagefactory.html +BuildArch: noarch +BuildRequires: python2 +BuildRequires: python-setuptools +Requires: imagefactory + +%description +This is a placeholder top level package for a collection of plugins for the +Image Factory cloud system image generation tool. + +imagefactory allows the creation of system images for multiple virtualization +and cloud providers from a single template definition. See +http://aeolusproject.org/projects/imagefactory for more information. + +%package ovfcommon +Summary: common utilities to manipulate ovf-related objects +License: ASL 2.0 +Requires: oz >= 0.7.0 +Requires: imagefactory-plugins + +%description ovfcommon +This pseudo-plugin is used to provide common OVF functionality to other +plugins. + +%package OVA +Summary: Cloud plugin for generating OVA archives +License: ASL 2.0 +Requires: oz >= 0.7.0 +Requires: imagefactory-plugins +Requires: imagefactory-plugins-ovfcommon +Requires: imagefactory-plugin-api = 1.0 + +%description OVA +This Cloud plugin allows users to specify a Base Image to generate an OVA +archive from. + +%package IndirectionCloud +Summary: Cloud plugin for allowing images to modify other images +License: ASL 2.0 +Requires: oz >= 0.7.0 +Requires: imagefactory-plugins +Requires: imagefactory-plugin-api = 1.0 + +%description IndirectionCloud +This Cloud plugin allows users to specify a Base Image to use to manipulate +another Base Image to generate a Target Image. + +It was originally created to produce Live CDs and other live media using an +arbitrary host OS and package selection for the actual media creation tools. + +%package TinMan +Summary: OS plugin for Fedora +License: ASL 2.0 +Requires: oz >= 0.7.0 +Requires: imagefactory-plugins +Requires: imagefactory-plugin-api = 1.0 + +%description TinMan +An OS plugin to support Fedora OSes + +%package OpenStack +Summary: Cloud plugin for OpenStack running on KVM +License: ASL 2.0 +Requires: python-glance +Requires: imagefactory-plugins +Requires: imagefactory-plugin-api = 1.0 + +%description OpenStack +A Cloud plugin to support OpenStack running on top of KVM. + +%package EC2 +Summary: Cloud plugin for EC2 +License: ASL 2.0 +Requires: euca2ools +Requires: python-boto >= 2.0 +Requires: imagefactory-plugins +Requires: imagefactory-plugin-api = 1.0 + +%description EC2 +A Cloud plugin to support EC2 + +%package EC2-JEOS-images +Summary: JEOS images for various OSes to support EC2 snapshot builds +Requires: imagefactory-plugins-EC2 + +%description EC2-JEOS-images +These configuration files point to existing JEOS AMIs on EC2 that can be used +to do "snapshot" style builds. + +%if 0%{?build_mock} +%package MockOS +Summary: Mock OS plugin +License: ASL 2.0 +Requires: imagefactory-plugins +Requires: imagefactory-plugin-api = 1.0 + +%description MockOS +This plugin mimcs some of the behaviour of the RPM based OS plugins without +actually doing a build. + +For testing use only. + +%package MockCloud +Summary: Mock Cloud plugin +License: ASL 2.0 +Requires: imagefactory-plugins +Requires: imagefactory-plugin-api = 1.0 + +%description MockCloud +This plugin mimcs some of the behaviour of a real cloud plugin without needing +any real external infra. + +For testing use only. + +%endif + +%package RHEVM +Summary: RHEVM Cloud plugin +License: ASL 2.0 +Requires: imagefactory-plugins +Requires: imagefactory-plugins-ovfcommon +Requires: ovirt-engine-sdk >= 3.1.0 +Requires: imagefactory-plugin-api = 1.0 + +%description RHEVM +A plugin for RHEVM "clouds" + +%package vSphere +Summary: vSphere Cloud plugin +License: ASL 2.0 +Requires: imagefactory-plugins +Requires: python-psphere +Requires: imagefactory-plugin-api = 1.0 + +%description vSphere +A plugin for vSphere "clouds" + +%package Rackspace +Summary: Cloud plugin for Rackspace +License: ASL 2.0 +Requires: python-novaclient +Requires: imagefactory-plugins +Requires: imagefactory-plugin-api = 1.0 + +%description Rackspace +A Cloud plugin to support Rackspace + +%package Rackspace-JEOS-images +Summary: JEOS images for various OSes to support Rackspace snapshot builds +Requires: imagefactory-plugins-Rackspace + +%description Rackspace-JEOS-images +These configuration files point to existing JEOS Image ID's on Rackspace that +can be used to do "snapshot" style builds. + +%prep +%setup -q + +%build +python setup.py build + +%install +python setup.py install -O1 --root=%{buildroot} --skip-build + +# TODO: Cleaner negative conditional +%if 0%{?build_mock} +%else +rm -rf %{buildroot}%{python_sitelib}/imagefactory_plugins/MockOS +rm -rf %{buildroot}%{python_sitelib}/imagefactory_plugins/MockCloud +%endif + +%post OVA +%auto_register_macro_post OVA +%postun OVA +%auto_register_macro_postun OVA + +%post IndirectionCloud +%auto_register_macro_post IndirectionCloud +%postun IndirectionCloud +%auto_register_macro_postun IndirectionCloud + +%post TinMan +%auto_register_macro_post TinMan +%postun TinMan +%auto_register_macro_postun TinMan + +%post OpenStack +%auto_register_macro_post OpenStack +%postun OpenStack +%auto_register_macro_postun OpenStack + +%post EC2 +%auto_register_macro_post EC2 +%postun EC2 +%auto_register_macro_postun EC2 + +%if 0%{?build_mock} +%post MockOS +%auto_register_macro_post MockOS +%postun MockOS +%auto_register_macro_postun MockOS + +%post MockCloud +%auto_register_macro_post MockCloud +%postun MockCloud +%auto_register_macro_postun MockCloud +%endif + +%post RHEVM +%auto_register_macro_post RHEVM +%postun RHEVM +%auto_register_macro_postun RHEVM + +%post vSphere +%auto_register_macro_post vSphere +%postun vSphere +%auto_register_macro_postun vSphere + +%post Rackspace +%auto_register_macro_post Rackspace +%postun Rackspace +%auto_register_macro_postun Rackspace + +%files +%doc COPYING +%dir %{python_sitelib}/imagefactory_plugins +%{python_sitelib}/imagefactory_plugins/__init__.py* +%{python_sitelib}/imagefactory_plugins*.egg-info + +%files ovfcommon +%dir %{python_sitelib}/imagefactory_plugins/ovfcommon +%{python_sitelib}/imagefactory_plugins/ovfcommon/* + +%files OVA +%dir %{python_sitelib}/imagefactory_plugins/OVA +%{python_sitelib}/imagefactory_plugins/OVA/* + +%files IndirectionCloud +%dir %{python_sitelib}/imagefactory_plugins/IndirectionCloud +%{python_sitelib}/imagefactory_plugins/IndirectionCloud/* + +%files TinMan +%dir %{python_sitelib}/imagefactory_plugins/TinMan +%{python_sitelib}/imagefactory_plugins/TinMan/* + +%files OpenStack +%dir %{python_sitelib}/imagefactory_plugins/OpenStack +%{python_sitelib}/imagefactory_plugins/OpenStack/* + +%files EC2 +%dir %{python_sitelib}/imagefactory_plugins/EC2 +%{python_sitelib}/imagefactory_plugins/EC2/* +%{_bindir}/create-ec2-factory-credentials + +%files EC2-JEOS-images +%{_sysconfdir}/imagefactory/jeos_images/ec2_fedora_jeos.conf +%{_sysconfdir}/imagefactory/jeos_images/ec2_rhel_jeos.conf + +%files Rackspace-JEOS-images +%{_sysconfdir}/imagefactory/jeos_images/rackspace_fedora_jeos.conf +%{_sysconfdir}/imagefactory/jeos_images/rackspace_rhel_jeos.conf + +%if 0%{?build_mock} +%files MockOS +%dir %{python_sitelib}/imagefactory_plugins/MockOS +%{python_sitelib}/imagefactory_plugins/MockOS/* + +%files MockCloud +%dir %{python_sitelib}/imagefactory_plugins/MockCloud +%{python_sitelib}/imagefactory_plugins/MockCloud/* +%endif + +%files RHEVM +%dir %{python_sitelib}/imagefactory_plugins/RHEVM +%{python_sitelib}/imagefactory_plugins/RHEVM/* + +%files vSphere +%dir %{python_sitelib}/imagefactory_plugins/vSphere +%{python_sitelib}/imagefactory_plugins/vSphere/* + +%files Rackspace +%dir %{python_sitelib}/imagefactory_plugins/Rackspace +%{python_sitelib}/imagefactory_plugins/Rackspace/* + +%changelog + +* Thu Aug 15 2013 Ian McLeod - 1.1.3 +- Rebase with upstream diff --git a/sources b/sources index e69de29..af8e307 100644 --- a/sources +++ b/sources @@ -0,0 +1 @@ +4ae63416aa4105195e91bfc45a77c1ff imagefactory-plugins-1.1.3.tar.gz