%global with_legacy 0 %global dracut_modname 97walinuxagent Name: WALinuxAgent Version: 2.5.0.2 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-Install-systemd-unit-for-default-OS.patch BuildArch: noarch BuildRequires: python3-devel BuildRequires: python3-setuptools BuildRequires: python3-distro Requires: %name-udev = %version-%release Requires: openssh openssh-server openssl parted python3-pyasn1 iptables 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 %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} 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 LICENSE.txt NOTICE README.md %ghost %{_localstatedir}/log/waagent.log %dir %attr(0700, root, root) %{_sharedstatedir}/waagent %config(noreplace) %{_sysconfdir}/logrotate.d/%{name} %{_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 * Fri Jun 10 2022 fushanqing - 2.5.0.2-1 - update to 2.5.0.2 * Thu Feb 17 2022 fushanqing - 2.2.52-1 - Initial package