cloud-init/cloud-init.spec

190 lines
6.5 KiB
RPMSpec
Raw Normal View History

2011-09-23 17:44:26 +00:00
%{!?python_sitelib: %global python_sitelib %(%{__python} -c "from distutils.sysconfig import get_python_lib; print get_python_lib()")}
Name: cloud-init
Version: 0.6.2
Release: 0.8.bzr457%{?dist}
2011-09-23 21:10:32 +00:00
Summary: Cloud instance init scripts
2011-09-23 17:44:26 +00:00
Group: System Environment/Base
License: GPLv3
URL: http://launchpad.net/cloud-init
2011-09-24 22:44:42 +00:00
# bzr export -r 457 cloud-init-0.6.2-bzr457.tar.gz lp:cloud-init
Source0: %{name}-%{version}-bzr457.tar.gz
2011-09-23 17:44:26 +00:00
Source1: cloud-init-fedora.cfg
Source2: cloud-init-README.fedora
Patch0: cloud-init-0.6.2-fedora.patch
2011-09-23 21:10:32 +00:00
# The current patch set is in flux as we stabilize cloud-init on Fedora.
# It will be submitted upstream as soon as it becomes reasonable to do so.
2011-09-23 17:44:26 +00:00
# Add systemd support (not yet upstream)
Patch2: cloud-init-0.6.2-systemd.patch
# Restore created files' selinux contexts (not yet upstream)
Patch3: cloud-init-0.6.2-filecontext.patch
2011-09-23 17:44:26 +00:00
# Make locale file location configurable (not yet upstream)
Patch4: cloud-init-0.6.2-localefile.patch
# Write timezone data to /etc/sysconfig/clock (not yet upstream)
Patch5: cloud-init-0.6.2-tzsysconfig.patch
# Make enabling the puppet service work on Fedora (not yet upstream)
Patch7: cloud-init-0.6.2-puppetenable.patch
2011-09-23 23:36:24 +00:00
# Make the types of SSH keys to generate configurable (not yet upstream)
Patch8: cloud-init-0.6.2-sshkeytypes.patch
# https://bugs.launchpad.net/cloud-init/+bug/857926
Patch10: cloud-init-0.6.2-runparts-emptydir.patch
# Deal with differences between out sshd service and Ubuntu's (not yet upstream)
Patch11: cloud-init-0.6.2-sshsvc.patch
2011-09-23 17:44:26 +00:00
BuildArch: noarch
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
BuildRequires: python-devel
BuildRequires: python-setuptools-devel
BuildRequires: systemd-units
Requires: e2fsprogs
Requires: iproute
Requires: libselinux-python
Requires: net-tools
Requires: procps
Requires: python-boto
Requires: python-cheetah
Requires: python-configobj
Requires: PyYAML
2011-09-24 03:04:14 +00:00
Requires: rsyslog
2011-09-23 17:44:26 +00:00
Requires: shadow-utils
Requires: xfsprogs
2011-09-24 03:04:14 +00:00
Requires: /usr/bin/run-parts
2011-09-23 17:44:26 +00:00
Requires(post): systemd-units
Requires(preun): systemd-units
Requires(postun): systemd-units
%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
2011-09-24 22:44:42 +00:00
%setup -q -n %{name}-%{version}-bzr457
2011-09-23 17:44:26 +00:00
%patch0 -p1
%patch2 -p1
%patch3 -p1
%patch4 -p1
%patch5 -p1
%patch7 -p1
2011-09-23 23:36:24 +00:00
%patch8 -p1
%patch10 -p1
%patch11 -p1
2011-09-23 17:44:26 +00:00
cp -p %{SOURCE2} README.fedora
%build
%{__python} setup.py build
%install
rm -rf $RPM_BUILD_ROOT
%{__python} setup.py install -O1 --skip-build --root $RPM_BUILD_ROOT
2011-09-24 02:32:58 +00:00
for x in $RPM_BUILD_ROOT/%{_bindir}/*.py; do mv "$x" "${x%.py}"; done
2011-09-23 17:44:26 +00:00
chmod +x $RPM_BUILD_ROOT/%{python_sitelib}/cloudinit/SshUtil.py
2011-09-24 02:32:58 +00:00
mkdir -p $RPM_BUILD_ROOT/%{_sharedstatedir}/cloud
2011-09-23 17:44:26 +00:00
# We supply our own config file since our software differs from Ubuntu's.
2011-09-24 02:32:58 +00:00
cp -p %{SOURCE1} $RPM_BUILD_ROOT/%{_sysconfdir}/cloud/cloud.cfg
2011-09-23 17:44:26 +00:00
2011-09-23 21:10:32 +00:00
# Note that /etc/rsyslog.d didn't exist by default until F15.
# el6 request: https://bugzilla.redhat.com/show_bug.cgi?id=740420
2011-09-24 02:32:58 +00:00
mkdir -p $RPM_BUILD_ROOT/%{_sysconfdir}/rsyslog.d
cp -p tools/21-cloudinit.conf $RPM_BUILD_ROOT/%{_sysconfdir}/rsyslog.d/21-cloudinit.conf
2011-09-23 17:44:26 +00:00
# Install the systemd bits
mkdir -p $RPM_BUILD_ROOT/%{_unitdir}
cp -p systemd/* $RPM_BUILD_ROOT/%{_unitdir}
%clean
rm -rf $RPM_BUILD_ROOT
%post
if [ $1 -eq 1 ] ; then
# Initial installation
# Enabled by default per "runs once then goes away" exception
/bin/systemctl enable cloud-config.service >/dev/null 2>&1 || :
/bin/systemctl enable cloud-final.service >/dev/null 2>&1 || :
/bin/systemctl enable cloud-init.service >/dev/null 2>&1 || :
/bin/systemctl enable cloud-init-local.service >/dev/null 2>&1 || :
fi
%preun
if [ $1 -eq 0 ] ; then
# Package removal, not upgrade
/bin/systemctl --no-reload disable cloud-config.service >/dev/null 2>&1 || :
/bin/systemctl --no-reload disable cloud-final.service >/dev/null 2>&1 || :
/bin/systemctl --no-reload disable cloud-init.service >/dev/null 2>&1 || :
/bin/systemctl --no-reload disable cloud-init-local.service >/dev/null 2>&1 || :
# One-shot services -> no need to stop
fi
%postun
/bin/systemctl daemon-reload >/dev/null 2>&1 || :
# One-shot services -> no need to restart
%files
%doc ChangeLog LICENSE TODO README.fedora
2011-09-24 02:32:58 +00:00
%config(noreplace) %{_sysconfdir}/cloud/cloud.cfg
%dir %{_sysconfdir}/cloud/cloud.cfg.d
%config(noreplace) %{_sysconfdir}/cloud/cloud.cfg.d/*.cfg
%doc %{_sysconfdir}/cloud/cloud.cfg.d/README
%dir %{_sysconfdir}/cloud/templates
%config(noreplace) %{_sysconfdir}/cloud/templates/*
2011-09-23 17:44:26 +00:00
%{_unitdir}/cloud-config.service
%{_unitdir}/cloud-config.target
%{_unitdir}/cloud-final.service
%{_unitdir}/cloud-init-local.service
%{_unitdir}/cloud-init.service
%{python_sitelib}/*
%{_libexecdir}/%{name}
2011-09-24 02:32:58 +00:00
%{_bindir}/cloud-init*
%doc %{_datadir}/doc/%{name}
%dir %{_sharedstatedir}/cloud
2011-09-23 17:44:26 +00:00
2011-09-24 02:32:58 +00:00
%config(noreplace) %{_sysconfdir}/rsyslog.d/21-cloudinit.conf
2011-09-23 17:44:26 +00:00
%changelog
* Thu Jan 12 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.6.2-0.8.bzr457
- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild
2011-10-05 18:31:19 +00:00
* Wed Oct 5 2011 Garrett Holmstrom <gholms@fedoraproject.org> - 0.6.2-0.7.bzr457
- Disabled SSH key-deleting on startup
* Wed Sep 28 2011 Garrett Holmstrom <gholms@fedoraproject.org> - 0.6.2-0.6.bzr457
- Consolidated selinux file context patches
2011-09-28 22:48:21 +00:00
- Fixed cloud-init.service dependencies
2011-09-29 01:15:39 +00:00
- Updated sshkeytypes patch
- Dealt with differences from Ubuntu's sshd
2011-09-24 23:18:15 +00:00
* Sat Sep 24 2011 Garrett Holmstrom <gholms@fedoraproject.org> - 0.6.2-0.5.bzr457
2011-09-24 22:44:42 +00:00
- Rebased against upstream rev 457
2011-09-24 03:04:14 +00:00
- Added missing dependencies
2011-09-24 22:44:42 +00:00
2011-09-24 02:32:58 +00:00
* Fri Sep 23 2011 Garrett Holmstrom <gholms@fedoraproject.org> - 0.6.2-0.4.bzr450
- Added more macros to the spec file
2011-09-23 23:31:33 +00:00
* Fri Sep 23 2011 Garrett Holmstrom <gholms@fedoraproject.org> - 0.6.2-0.3.bzr450
- Fixed logfile permission checking
2011-09-23 23:36:24 +00:00
- Fixed SSH key generation
- Fixed a bad method call in FQDN-guessing [LP:857891]
2011-09-24 01:02:34 +00:00
- Updated localefile patch
2011-09-24 01:08:57 +00:00
- Disabled the grub_dpkg module
- Fixed failures due to empty script dirs [LP:857926]
2011-09-23 23:31:33 +00:00
2011-09-23 17:49:01 +00:00
* Fri Sep 23 2011 Garrett Holmstrom <gholms@fedoraproject.org> - 0.6.2-0.2.bzr450
- Updated tzsysconfig patch
2011-09-23 17:44:26 +00:00
* Wed Sep 21 2011 Garrett Holmstrom <gholms@fedoraproject.org> - 0.6.2-0.1.bzr450
- Initial packaging