%define python3_sitelib /usr/lib/python3.5/site-packages Name: cloud-init Version: 0.7.9 Release: 3%{?dist} Summary: Cloud instance init scripts Group: System Environment/Base License: GPLv3 URL: http://launchpad.net/cloud-init Source0: https://launchpad.net/cloud-init/trunk/%{version}/+download/%{name}-%{version}.tar.gz %define sha1 cloud-init=3b4345267e72e28b877e2e3f0735c1f672674cfc Source1: cloud-photon.cfg Source2: 99-disable-networking-config.cfg Patch0: photon-distro.patch Patch1: change-requires.patch Patch2: vca-admin-pwd.patch Patch3: photon-hosts-template.patch Patch4: resizePartitionUUID.patch Patch5: datasource-guestinfo.patch Patch6: systemd-service-changes.patch BuildRequires: python3 BuildRequires: python3-libs BuildRequires: python3-devel BuildRequires: systemd BuildRequires: dbus BuildRequires: python3-ipaddr BuildRequires: iproute2 BuildRequires: automake Requires: systemd Requires: net-tools Requires: python3 Requires: python3-libs Requires: python3-configobj Requires: python3-prettytable Requires: python3-requests Requires: python3-PyYAML Requires: python3-jsonpatch Requires: python3-oauthlib Requires: python3-jinja2 Requires: python3-markupsafe Requires: python3-six BuildArch: noarch %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} %patch0 -p1 %patch1 -p1 %patch2 -p1 %patch3 -p1 %patch4 -p1 %patch5 -p1 %patch6 -p1 find systemd -name cloud*.service | xargs sed -i s/StandardOutput=journal+console/StandardOutput=journal/g %build python3 setup.py build %install rm -rf $RPM_BUILD_ROOT python3 setup.py install -O1 --skip-build --root=%{buildroot} --init-system systemd # Don't ship the tests rm -r %{buildroot}%{python3_sitelib}/tests mkdir -p %{buildroot}/var/lib/cloud mkdir -p $RPM_BUILD_ROOT/%{_sysconfdir}/cloud/cloud.cfg.d/ # We supply our own config file since our software differs from Ubuntu's. cp -p %{SOURCE1} %{buildroot}/%{_sysconfdir}/cloud/cloud.cfg # Disable networking config by cloud-init cp -p %{SOURCE2} %{buildroot}/%{_sysconfdir}/cloud/cloud.cfg.d/ sed -i 's/Before=NetworkManager.service//g' %{buildroot}/lib/systemd/system/cloud-init-local.service sed -i 's/After=networking.service//g' %{buildroot}/lib/systemd/system/cloud-init.service %check openssl req \ -new \ -newkey rsa:4096 \ -days 365 \ -nodes \ -x509 \ -subj "/C=US/ST=Denial/L=Springfield/O=Dis/CN=photon.com" \ -keyout photon.key \ -out photon.cert openssl rsa -in photon.key -out photon.pem mv photon.pem /etc/ssl/certs easy_install pip easy_install -U setuptools easy_install HTTPretty easy_install mocker easy_install mock easy_install nose easy_install pep8 easy_install pyflakes easy_install pyyaml easy_install pyserial easy_install oauth2 easy_install oauth easy_install cheetah easy_install jinja2 easy_install PrettyTable easy_install argparse easy_install requests easy_install jsonpatch easy_install configobj sed -i '38,43d' tests/unittests/test_handler/test_handler_set_hostname.py mkdir -p /etc/sysconfig echo "HOSTNAME=test.com" >/etc/sysconfig/network make test %clean rm -rf $RPM_BUILD_ROOT %post if [ $1 -eq 2 ]; then if [ -f /usr/lib/systemd/system/cloud-final.service ]; then cp /usr/lib/systemd/system/cloud-final.service /usr/lib/systemd/system/cloud-final.service.bak sed -i "s@ExecStart=.*@ExecStart=/usr/bin/cloud-init --version@g" /usr/lib/systemd/system/cloud-final.service fi if [ -f /usr/lib/systemd/system/cloud-init.service ]; then cp /usr/lib/systemd/system/cloud-init.service /usr/lib/systemd/system/cloud-init.service.bak sed -i "s@ExecStart=.*@ExecStart=/usr/bin/cloud-init --version@g" /usr/lib/systemd/system/cloud-init.service fi if [ -f /usr/lib/systemd/system/cloud-config.service ]; then cp /usr/lib/systemd/system/cloud-config.service /usr/lib/systemd/system/cloud-config.service.bak sed -i "s@ExecStart=.*@ExecStart=/usr/bin/cloud-init --version@g" /usr/lib/systemd/system/cloud-config.service fi if [ -f /usr/lib/systemd/system/cloud-init-local.service ]; then cp /usr/lib/systemd/system/cloud-init-local.service /usr/lib/systemd/system/cloud-init-local.service.bak sed -i "s@ExecStart=.*@ExecStart=/usr/bin/cloud-init --version@g" /usr/lib/systemd/system/cloud-init-local.service fi systemctl daemon-reload >/dev/null 2>&1 || : fi %systemd_post cloud-config.service %systemd_post cloud-final.service %systemd_post cloud-init.service %systemd_post cloud-init-local.service %preun %systemd_preun cloud-config.service %systemd_preun cloud-final.service %systemd_preun cloud-init.service %systemd_preun cloud-init-local.service %postun %systemd_postun cloud-config.service %systemd_postun cloud-final.service %systemd_postun cloud-init.service %systemd_postun cloud-init-local.service %posttrans if [ -f /usr/lib/systemd/system/cloud-final.service.bak ]; then mv /usr/lib/systemd/system/cloud-final.service.bak /usr/lib/systemd/system/cloud-final.service fi if [ -f /usr/lib/systemd/system/cloud-init.service.bak ]; then mv /usr/lib/systemd/system/cloud-init.service.bak /usr/lib/systemd/system/cloud-init.service fi if [ -f /usr/lib/systemd/system/cloud-config.service.bak ]; then mv /usr/lib/systemd/system/cloud-config.service.bak /usr/lib/systemd/system/cloud-config.service fi if [ -f /usr/lib/systemd/system/cloud-init-local.service.bak ]; then mv /usr/lib/systemd/system/cloud-init-local.service.bak /usr/lib/systemd/system/cloud-init-local.service fi systemctl daemon-reload >/dev/null 2>&1 || : %files %license LICENSE %doc %{_sysconfdir}/cloud/cloud.cfg.d/README %dir %{_sysconfdir}/cloud/templates %config(noreplace) %{_sysconfdir}/cloud/templates/* %config(noreplace) %{_sysconfdir}/cloud/cloud.cfg.d/05_logging.cfg %config(noreplace) %{_sysconfdir}/cloud/cloud.cfg %config(noreplace) %{_sysconfdir}/cloud/cloud.cfg.d/99-disable-networking-config.cfg %{_sysconfdir}/NetworkManager/dispatcher.d/hook-network-manager %{_sysconfdir}/dhcp/dhclient-exit-hooks.d/hook-dhclient /lib/systemd/system-generators/cloud-init-generator /lib/udev/rules.d/66-azure-ephemeral.rules /lib/systemd/system/* %{_docdir}/cloud-init/* %{_libdir}/cloud-init/* %{python3_sitelib}/* %{_bindir}/cloud-init* %dir /var/lib/cloud %changelog * Fri Jul 28 2017 Dheeraj Shetty <dheerajs@vmware.com> 0.7.9-3 - Removed networking.service and NetworkManger.service from - cloud-init and cloud-init-local service files * Wed Jul 19 2017 Divya Thaluru <dthaluru@vmware.com> 0.7.9-2 - Enabled openstack provider * Wed May 24 2017 Kumar Kaushik <kaushikk@vmware.com> 0.7.9-1 - Migrating to python 3. - Disable networking config by cloud-init - Support userdata in vmx guestinfo - Upgraded to version 0.7.9 - Enabled VmxGuestinfo datasource * Thu Dec 15 2016 Dheeraj Shetty <dheerajs@vmware.com> 0.7.6-16 - Adding template file and python-jinja2 dependency to update hosts * Wed Dec 14 2016 Dheeraj Shetty <dheerajs@vmware.com> 0.7.6-15 - Fixed restarting of sshd daemon * Thu Dec 1 2016 Divya Thaluru <dthaluru@vmware.com> 0.7.6-14 - Moved update logic to post section from pre * Tue Nov 22 2016 Kumar Kaushik <kaushikk@vmware.com> 0.7.6-13 - Adding flag for vmware customization in config. * Tue Nov 1 2016 Divya Thaluru <dthaluru@vmware.com> 0.7.6-12 - Fixed logic to not restart services after upgrade * Mon Oct 24 2016 Divya Thaluru <dthaluru@vmware.com> 0.7.6-11 - Enabled ssh module in cloud-init * Thu May 26 2016 Divya Thaluru <dthaluru@vmware.com> 0.7.6-10 - Fixed logic to restart the active services after upgrade * Tue May 24 2016 Priyesh Padmavilasom <ppadmavilasom@vmware.com> 0.7.6-9 - GA - Bump release of all rpms * Tue May 3 2016 Divya Thaluru <dthaluru@vmware.com> 0.7.6-8 - Clean up post, preun, postun sections in spec file. * Thu Dec 10 2015 Xiaolin Li <xiaolinl@vmware.com> - Add systemd to Requires and BuildRequires. * Thu Sep 17 2015 Kumar Kaushik <kaushikk@vmware.com> - Removing netstat and replacing with ip route. * Tue Aug 11 2015 Kumar Kaushik <kaushikk@vmware.com> - VCA initial password issue fix. * Thu Jun 25 2015 Kumar Kaushik <kaushikk@vmware.com> - Removing systemd-service.patch. No longer needed. * Thu Jun 18 2015 Vinay Kulkarni <kulkarniv@vmware.com> - Add patch to enable logging to /var/log/cloud-init.log * Mon May 18 2015 Touseef Liaqat <tliaqat@vmware.com> - Update according to UsrMove. * Wed Mar 04 2015 Mahmoud Bassiouny <mbassiouny@vmware.com> - Initial packaging for Photon