%global with_legacy 0 %global dracut_modname 97walinuxagent Name: WALinuxAgent Version: 2.2.52 Release: 1 Summary: The Microsoft Azure Linux Agent License: ASL 2.0 URL: https://github.com/Azure/%{name} Source0: https://github.com/Azure/%{name}/archive/v%{version}.tar.gz Source1: module-setup.sh # Python3.9 fixes Patch0: 0001-update-array.tostring-and-json.loads-without-encodin.patch Patch1: 0002-handle-py3.9-check-in-future.py.patch Patch2: 0003-fix-pylint.patch Patch3: 0004-Fix-distro-resolution-for-RedHat-2083.patch BuildArch: noarch BuildRequires: python3-devel BuildRequires: python3-setuptools BuildRequires: python3-distro Requires: %name-udev = %version-%release Requires: openssh Requires: openssh-server Requires: openssl Requires: parted Requires: python3-pyasn1 BuildRequires: systemd Requires(post): systemd Requires(preun): systemd Requires(postun): systemd %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. %if 0%{?with_legacy} %package legacy Summary: The Microsoft Azure Linux Agent (legacy) Requires: %name = %version-%release Requires: python2 Requires: net-tools %description legacy The Microsoft Azure Linux Agent supporting old version of extensions. %endif %package udev Summary: Udev rules for Microsoft Azure %description udev Udev rules specific to Microsoft Azure Virtual Machines. %prep %setup -q %patch0 -p1 %patch1 -p1 %patch2 -p1 %patch3 -p1 %build %py3_build %install %{__python3} setup.py install -O1 --skip-build --root %{buildroot} --lnx-distro redhat 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/*.rules %{buildroot}%{_udevrulesdir}/ rm -rf %{buildroot}/%{python3_sitelib}/tests rm -rf %{buildroot}/%{python3_sitelib}/__main__.py rm -rf %{buildroot}/%{python3_sitelib}/__pycache__/__main__*.py* sed -i 's,#!/usr/bin/env python,#!/usr/bin/python3,' %{buildroot}%{_sbindir}/waagent %if 0%{?with_legacy} sed -i 's,#!/usr/bin/env python,#!/usr/bin/python2,' %{buildroot}%{_sbindir}/waagent2.0 %else rm -f %{buildroot}%{_sbindir}/waagent2.0 %endif sed -i 's,/usr/bin/python ,/usr/bin/python3 ,' %{buildroot}%{_unitdir}/waagent.service mv %{buildroot}%{_sysconfdir}/logrotate.d/waagent.logrotate %{buildroot}%{_sysconfdir}/logrotate.d/%{name} mv %{buildroot}%{_sysconfdir}/logrotate.d/waagent-extn.logrotate %{buildroot}%{_sysconfdir}/logrotate.d/%{name}-extn install -m0755 -D -t %{buildroot}%{_prefix}/lib/dracut/modules.d/%{dracut_modname}/ %{SOURCE1} %post %systemd_post waagent.service %preun %systemd_preun waagent.service %postun %systemd_postun_with_restart waagent.service %files %doc Changelog LICENSE.txt NOTICE README.md %ghost %{_localstatedir}/log/waagent.log %dir %attr(0700, root, root) %{_sharedstatedir}/waagent %config(noreplace) %{_sysconfdir}/logrotate.d/%{name} %config(noreplace) %{_sysconfdir}/logrotate.d/%{name}-extn %{_sbindir}/waagent %config(noreplace) %{_sysconfdir}/waagent.conf %{_unitdir}/waagent.service %{python3_sitelib}/azurelinuxagent %{python3_sitelib}/*.egg-info %files udev %{_udevrulesdir}/*.rules %{_prefix}/lib/dracut/modules.d/%{dracut_modname}/*.sh %if 0%{?with_legacy} %files legacy %{_sbindir}/waagent2.0 %endif %changelog * Thu Feb 17 2022 fushanqing - 2.2.52-1 - Initial package