## 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
Requires:       sudo

# 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 requirements.txt; 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}