Blob Blame Raw
%global commit 5bb9df7f2f485dbd5be057bbb657afe54bc1bf1b

%if 0%{?fedora}
%global distro fedora
%global initsys systemd
%else
%if 0%{?rhel}
%global distro redhat
%if 0%{?rhel} < 7
%global initsys sysV
%{!?_udevrulesdir: %global _udevrulesdir /lib/udev/rules.d}
%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.18
Release:        5%{?dist}
Summary:        The Microsoft Azure Linux Agent

Group:          System Environment/Daemons
License:        ASL 2.0
URL:            https://github.com/Azure/%{name}
Source0:        https://github.com/Azure/%{name}/archive/%{commit}/%{name}-%{commit}.tar.gz
# Redhat-specific patch (not submitted upstream)
Patch0:         %{name}-2.0.8-logrotate-name.patch

BuildArch:      noarch

BuildRequires:  python2-devel
BuildRequires:  python2-setuptools
Requires:       net-tools
Requires:       ntfsprogs
Requires:       openssh
Requires:       openssh-server
Requires:       openssl
Requires:       parted
Requires:       python2-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 Microsoft Azure Linux Agent supports the provisioning and running of Linux
VMs in the Microsoft Azure cloud. This package should be installed on Linux disk
images that are built to run in the Microsoft Azure environment.

%prep
%setup -qn %{name}-%{commit}
%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

mkdir -p %{buildroot}%{_udevrulesdir}
mv %{buildroot}%{_sysconfdir}/udev/rules.d/99-azure-product-uuid.rules %{buildroot}%{_udevrulesdir}/99-azure-product-uuid.rules

%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
%{_udevrulesdir}/99-azure-product-uuid.rules

%if %{initsys} == systemd
%{_unitdir}/waagent.service
%else
%{_initddir}/waagent
%endif

%changelog
* Wed Feb 28 2018 Iryna Shcherbina <ishcherb@redhat.com> - 2.0.18-5
- Update Python 2 dependency declarations to new packaging standards
  (See https://fedoraproject.org/wiki/FinalizingFedoraSwitchtoPython3)

* Wed Feb 07 2018 Fedora Release Engineering <releng@fedoraproject.org> - 2.0.18-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild

* Wed Jul 26 2017 Fedora Release Engineering <releng@fedoraproject.org> - 2.0.18-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild

* Fri Feb 10 2017 Fedora Release Engineering <releng@fedoraproject.org> - 2.0.18-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild

* Sat Apr 02 2016 Scott K Logan <logans@cottsay.net> - 2.0.18-1
- Update to 2.0.18

* Wed Feb 03 2016 Fedora Release Engineering <releng@fedoraproject.org> - 2.0.14-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild

* Thu Jul 02 2015 Scott K Logan <logans@cottsay.net> - 2.0.14-1
- Update to 2.0.14

* Tue Jun 16 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.0.13-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild

* Mon Jun 01 2015 Scott K Logan <logans@cottsay.net> - 2.0.13-1
- Update to 2.0.13

* Thu Apr 02 2015 Scott K Logan <logans@cottsay.net> - 2.0.12-1
- Update to 2.0.12-Oracle

* 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