diff options
Diffstat (limited to 'packages/suse/cloud-init.spec.in')
-rw-r--r-- | packages/suse/cloud-init.spec.in | 162 |
1 files changed, 162 insertions, 0 deletions
diff --git a/packages/suse/cloud-init.spec.in b/packages/suse/cloud-init.spec.in new file mode 100644 index 00000000..296505c6 --- /dev/null +++ b/packages/suse/cloud-init.spec.in @@ -0,0 +1,162 @@ +## This is a cheetah template + +# See: http://www.zarb.org/~jasonc/macros.php +# Or: http://fedoraproject.org/wiki/Packaging:ScriptletSnippets +# Or: http://www.rpm.org/max-rpm/ch-rpm-inside.html + +#for $d in $defines +%define ${d} +#end for + +Name: cloud-init +Version: ${version} +Release: ${release}${subrelease}%{?dist} +Summary: Cloud instance init scripts + +Group: System/Management +License: GPLv3 +URL: http://launchpad.net/cloud-init + +Source0: ${archive_name} +BuildRoot: %{_tmppath}/%{name}-%{version}-build + +%if 0%{?suse_version} && 0%{?suse_version} <= 1110 +%{!?python_sitelib: %global python_sitelib %(%{__python} -c "from distutils.sysconfig import get_python_lib; print get_python_lib()")} +%else +BuildArch: noarch +%endif + +BuildRequires: fdupes +BuildRequires: filesystem +BuildRequires: python-devel +BuildRequires: python-setuptools +BuildRequires: python-cheetah + +%if 0%{?suse_version} && 0%{?suse_version} <= 1210 + %define initsys sysvinit +%else + %define initsys systemd +%endif + +# System util packages needed +Requires: iproute2 +Requires: e2fsprogs +Requires: net-tools +Requires: procps + +# Install pypi 'dynamic' requirements +#for $r in $requires +Requires: ${r} +#end for + +# Custom patches +#set $size = 0 +#for $p in $patches +Patch${size}: $p +#set $size += 1 +#end for + +%description +Cloud-init is a set of init scripts for cloud instances. Cloud instances +need special scripts to run during initialization to retrieve and install +ssh keys and to let the user run various scripts. + +%prep +%setup -q -n %{name}-%{version}~${release} + +# Custom patches activation +#set $size = 0 +#for $p in $patches +%patch${size} -p1 +#set $size += 1 +#end for + +%build +%{__python} setup.py build + +%install +%{__python} setup.py install \ + --skip-build --root=%{buildroot} --prefix=%{_prefix} \ + --record-rpm=INSTALLED_FILES --install-lib=%{python_sitelib} \ + --init-system=%{initsys} + +# Remove non-SUSE templates +rm %{buildroot}/%{_sysconfdir}/cloud/templates/*.debian.* +rm %{buildroot}/%{_sysconfdir}/cloud/templates/*.redhat.* +rm %{buildroot}/%{_sysconfdir}/cloud/templates/*.ubuntu.* + +# Remove cloud-init tests +rm -r %{buildroot}/%{python_sitelib}/tests + +# Move sysvinit scripts to the correct place and create symbolic links +%if %{initsys} == sysvinit + mkdir -p %{buildroot}/%{_initddir} + mv %{buildroot}%{_sysconfdir}/rc.d/init.d/* %{buildroot}%{_initddir}/ + rmdir %{buildroot}%{_sysconfdir}/rc.d/init.d + rmdir %{buildroot}%{_sysconfdir}/rc.d + + mkdir -p %{buildroot}/%{_sbindir} + pushd %{buildroot}/%{_initddir} + for file in * ; do + ln -s %{_initddir}/\${file} %{buildroot}/%{_sbindir}/rc\${file} + done + popd +%endif + +# Move documentation +mkdir -p %{buildroot}/%{_defaultdocdir} +mv %{buildroot}/usr/share/doc/cloud-init %{buildroot}/%{_defaultdocdir} +for doc in TODO LICENSE ChangeLog Requires ; do + cp \${doc} %{buildroot}/%{_defaultdocdir}/cloud-init +done + +# Remove duplicate files +%if 0%{?suse_version} + %fdupes %{buildroot}/%{python_sitelib} +%endif + +mkdir -p %{buildroot}/var/lib/cloud + +%postun +%insserv_cleanup + +%files + +# Sysvinit scripts +%if %{initsys} == sysvinit + %attr(0755, root, root) %{_initddir}/cloud-config + %attr(0755, root, root) %{_initddir}/cloud-final + %attr(0755, root, root) %{_initddir}/cloud-init-local + %attr(0755, root, root) %{_initddir}/cloud-init + + %{_sbindir}/rccloud-* +%endif + +# Program binaries +%{_bindir}/cloud-init* + +# There doesn't seem to be an agreed upon place for these +# although it appears the standard says /usr/lib but rpmbuild +# will try /usr/lib64 ?? +/usr/lib/%{name}/uncloud-init +/usr/lib/%{name}/write-ssh-key-fingerprints + +# Docs +%doc %{_defaultdocdir}/cloud-init/* + +# Configs +%config(noreplace) %{_sysconfdir}/cloud/cloud.cfg +%dir %{_sysconfdir}/cloud/cloud.cfg.d +%config(noreplace) %{_sysconfdir}/cloud/cloud.cfg.d/*.cfg +%config(noreplace) %{_sysconfdir}/cloud/cloud.cfg.d/README +%dir %{_sysconfdir}/cloud/templates +%config(noreplace) %{_sysconfdir}/cloud/templates/* + +# Python code is here... +%{python_sitelib}/* + +/var/lib/cloud + +%changelog + +${changelog} |