%if 0%{?fedora}
%global distro fedora
%global initsys systemd
%else
%if 0%{?rhel}
%global distro redhat
%if 0%{?rhel} < 7
%global initsys sysV
%else
%global initsys systemd
%endif
%{!?__python2: %global __python2 /usr/bin/python2}
%{!?python2_sitelib: %global python2_sitelib %(%{__python2} -c "from distutils.sysconfig import get_python_lib; print (get_python_lib())")}
%endif
%endif
Name: WALinuxAgent
Version: 2.0.13
Release: 1%{?dist}
Summary: The Windows Azure Linux Agent
Group: System Environment/Daemons
License: ASL 2.0
URL: https://github.com/Azure/%{name}
Source0: https://github.com/Azure/%{name}/archive/%{name}-%{name}-%{version}.tar.gz
# Redhat-specific patch (not submitted upstream)
Patch0: %{name}-2.0.8-logrotate-name.patch
BuildArch: noarch
BuildRequires: python2-devel
BuildRequires: python-setuptools
Requires: net-tools
# Requires: ntfsprogs
Requires: openssh
Requires: openssh-server
Requires: openssl
Requires: parted
Requires: python-pyasn1
%if 0%{?rhel} && 0%{?rhel} < 7
Conflicts: NetworkManager
%endif
%if %{initsys} == systemd
BuildRequires: systemd
Requires(post): systemd
Requires(preun): systemd
Requires(postun): systemd
%else
%if %{initsys} == sysv
Requires(post): chkconfig
Requires(preun): chkconfig
Requires(preun): initscripts
Requires(postun): initscripts
%endif
%endif
%description
The Windows Azure Linux Agent supports the provisioning and running of Linux
VMs in the Windows Azure cloud. This package should be installed on Linux disk
images that are built to run in the Windows Azure environment.
%prep
%setup -qn %{name}-%{name}-%{version}
%patch0 -p1
chmod 0755 distro/redhat/waagent.sysV
%build
%{__python2} setup.py build
%install
%{__python2} setup.py install --skip-build --root %{buildroot} --lnx-distro '%{distro}' --init-system '%{initsys}'
mkdir -p -m 0700 %{buildroot}%{_sharedstatedir}/waagent
mkdir -p %{buildroot}%{_localstatedir}/log
touch %{buildroot}%{_localstatedir}/log/waagent.log
%post
%if %{initsys} == systemd
%systemd_post waagent.service
%else
%if %{initsys} == sysV
/sbin/chkconfig --add waagent
%endif
%endif
%preun
%if %{initsys} == systemd
%systemd_preun waagent.service
%else
%if %{initsys} == sysV
if [ $1 = 0 ]; then
/sbin/service waagent stop >/dev/null 2>&1
/sbin/chkconfig --del waagent
fi
%endif
%endif
%postun
%if %{initsys} == systemd
%systemd_postun_with_restart waagent.service
%else
%if %{initsys} == sysV
if [ "$1" -ge "1" ]; then
/sbin/service waagent restart >/dev/null 2>&1 || :
fi
%endif
%endif
%files
%doc Changelog LICENSE-2.0.txt NOTICE README
%ghost %{_localstatedir}/log/waagent.log
%dir %attr(0700, root, root) %{_sharedstatedir}/waagent
%config(noreplace) %{_sysconfdir}/logrotate.d
%{_sbindir}/waagent
%config(noreplace) %{_sysconfdir}/waagent.conf
%{_sysconfdir}/udev/rules.d/99-azure-product-uuid.rules
%if %{initsys} == systemd
%{_unitdir}/waagent.service
%else
%{_initddir}/waagent
%endif
%changelog
* Mon Jun 01 2015 Dave Anderson <anderson@redhat.com> - 2.0.13-1
- Update to upstream 2.0.13 package.
- Remove global commit md5sum and fix Source0 to point to correct location.
- Fix setup to deal with "WALinuxAgent-WALinuxAgent" naming scheme
- Added files reference for /udev/rules.d/99-azure-product-uuid.rules
* Thu May 07 2015 Dave Anderson <anderson@redhat.com> - 2.0.11-3
- Remove Requires: ntfsprogs for RHEL7
* Sat Jan 10 2015 Scott K Logan <logans@cottsay.net> - 2.0.11-2
- Use systemd for rhel7
- Own logrotate.d
- Fix python2-devel dep
* Sat Dec 20 2014 Scott K Logan <logans@cottsay.net> - 2.0.11-1
- Initial package