55# Or: http://www.rpm.org/max-rpm/ch-rpm-inside.html
66
77Name: cloud-init
8- Version: {{version }}
8+ Version: {{rpm_upstream_version }}
99Release: 1{{subrelease}}%{?dist}
1010Summary: Cloud instance init scripts
1111
@@ -16,30 +16,21 @@ URL: http://launchpad.net/cloud-init
1616Source0: {{archive_name}}
1717BuildRoot: %{_tmppath}/%{name}-%{version}-build
1818
19- %if 0%{?suse_version} && 0%{?suse_version} <= 1110
20- %{!?python_sitelib: %global python_sitelib %(%{__python} -c "from distutils.sysconfig import get_python_lib; print get_python_lib()")}
21- %else
2219BuildArch: noarch
23- %endif
20+
2421
2522{% for r in buildrequires %}
2623BuildRequires: {{r}}
2724{% endfor %}
2825
29- %if 0%{?suse_version} && 0%{?suse_version} <= 1210
30- %define initsys sysvinit
31- %else
32- %define initsys systemd
33- %endif
34-
3526# Install pypi 'dynamic' requirements
3627{% for r in requires %}
3728Requires: {{r}}
3829{% endfor %}
3930
4031# Custom patches
4132{% for p in patches %}
42- Patch{{loop.index0}: {{p}}
33+ Patch{{loop.index0}} : {{p}}
4334{% endfor %}
4435
4536%description
@@ -63,35 +54,21 @@ end for
6354%{__python} setup.py install \
6455 --skip-build --root=%{buildroot} --prefix=%{_prefix} \
6556 --record-rpm=INSTALLED_FILES --install-lib=%{python_sitelib} \
66- --init-system=%{initsys}
57+ --init-system=systemd
58+
59+ # Move udev rules
60+ mkdir -p %{buildroot}/usr/lib/udev/rules.d/
61+ mv %{buildroot}/lib/udev/rules.d/* %{buildroot}/usr/lib/udev/rules.d/
6762
6863# Remove non-SUSE templates
6964rm %{buildroot}/%{_sysconfdir}/cloud/templates/*.debian.*
7065rm %{buildroot}/%{_sysconfdir}/cloud/templates/*.redhat.*
7166rm %{buildroot}/%{_sysconfdir}/cloud/templates/*.ubuntu.*
7267
73- # Remove cloud-init tests
74- rm -r %{buildroot}/%{python_sitelib}/tests
75-
76- # Move sysvinit scripts to the correct place and create symbolic links
77- %if %{initsys} == sysvinit
78- mkdir -p %{buildroot}/%{_initddir}
79- mv %{buildroot}%{_sysconfdir}/rc.d/init.d/* %{buildroot}%{_initddir}/
80- rmdir %{buildroot}%{_sysconfdir}/rc.d/init.d
81- rmdir %{buildroot}%{_sysconfdir}/rc.d
82-
83- mkdir -p %{buildroot}/%{_sbindir}
84- pushd %{buildroot}/%{_initddir}
85- for file in * ; do
86- ln -s %{_initddir}/${file} %{buildroot}/%{_sbindir}/rc${file}
87- done
88- popd
89- %endif
90-
9168# Move documentation
9269mkdir -p %{buildroot}/%{_defaultdocdir}
9370mv %{buildroot}/usr/share/doc/cloud-init %{buildroot}/%{_defaultdocdir}
94- for doc in TODO LICENSE ChangeLog requirements.txt; do
71+ for doc in LICENSE ChangeLog requirements.txt; do
9572 cp ${doc} %{buildroot}/%{_defaultdocdir}/cloud-init
9673done
9774
@@ -114,24 +91,23 @@ version_pys=$(cd "%{buildroot}" && find . -name version.py -type f)
11491
11592%files
11693
117- # Sysvinit scripts
118- %if %{initsys} == sysvinit
119- %attr(0755, root, root) %{_initddir}/cloud-config
120- %attr(0755, root, root) %{_initddir}/cloud-final
121- %attr(0755, root, root) %{_initddir}/cloud-init-local
122- %attr(0755, root, root) %{_initddir}/cloud-init
123-
124- %{_sbindir}/rccloud-*
125- %endif
126-
12794# Program binaries
12895%{_bindir}/cloud-init*
12996
97+ # systemd files
98+ /usr/lib/systemd/system-generators/*
99+ /usr/lib/systemd/system/*
100+
130101# There doesn't seem to be an agreed upon place for these
131102# although it appears the standard says /usr/lib but rpmbuild
132103# will try /usr/lib64 ??
133104/usr/lib/%{name}/uncloud-init
134105/usr/lib/%{name}/write-ssh-key-fingerprints
106+ /usr/lib/%{name}/ds-identify
107+
108+ # udev rules
109+ /usr/lib/udev/rules.d/66-azure-ephemeral.rules
110+
135111
136112# Docs
137113%doc %{_defaultdocdir}/cloud-init/*
@@ -145,6 +121,9 @@ version_pys=$(cd "%{buildroot}" && find . -name version.py -type f)
145121%config(noreplace) %{_sysconfdir}/cloud/templates/*
146122%{_sysconfdir}/bash_completion.d/cloud-init
147123
124+ %{_sysconfdir}/dhcp/dhclient-exit-hooks.d/hook-dhclient
125+ %{_sysconfdir}/NetworkManager/dispatcher.d/hook-network-manager
126+
148127# Python code is here...
149128%{python_sitelib}/*
150129
0 commit comments