commit 36e8a2237eef3c8a410101eefdabaa868ac289e4 Author: CentOS Sources Date: Thu Nov 26 14:09:50 2020 +0000 import WALinuxAgent-2.2.49.2-1.el8 diff --git a/.WALinuxAgent.metadata b/.WALinuxAgent.metadata new file mode 100644 index 0000000..db9f066 --- /dev/null +++ b/.WALinuxAgent.metadata @@ -0,0 +1 @@ +3c11701ed7b3d9dc76f521eb9519c3f1ce8a24b8 SOURCES/WALinuxAgent-2.2.49.2.tar.gz diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..ce43302 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +SOURCES/WALinuxAgent-2.2.49.2.tar.gz diff --git a/SOURCES/0001-Add-inital-redhat-build-support.patch b/SOURCES/0001-Add-inital-redhat-build-support.patch new file mode 100644 index 0000000..d35dd66 --- /dev/null +++ b/SOURCES/0001-Add-inital-redhat-build-support.patch @@ -0,0 +1,212 @@ +From 18257d0baf1acde7522c1bf7d10e0a588d974431 Mon Sep 17 00:00:00 2001 +From: Miroslav Rezanina +Date: Thu, 6 Oct 2016 12:25:35 +0200 +Subject: Add inital redhat build support + +Rebase notes (2.2.32): +- Fix license text + +Rebase notes (2.2.26): +- update to RHEL 8 build +- Do not use INSTALED_FILES for %files + +Rebase notes (2.2.10): +- switched to sha256 +- added .gitpublish profile + +Rebase notes (2.2.46): +- added waagent-extn.logrotate + +Merged patches (2.2.45): +- df29beb Switch from platform-python to python36 +- 6749108 Stop packaging legacy waagent2.0 + +Merged patches (2.2.32): +- ce36fd9 Use Python3 +- 952c830 Remove FIPS setting from the default config +- cc9df73 Switch hardcoded python3 shebangs into the %%{__python3} macro +- 66b6f8c Use correct macro for waagent.service +- 1b15ada Switch to platform-python in systemd unit file +- 59f682b Use sys.executable to find system python + +Merged patches (2.2.49): +- 3a23336 Mark logrotate configs with %config(noreplace) +--- + .gitignore | 1 + + .gitpublish | 8 + + azurelinuxagent/ga/update.py | 12 +- + bin/waagent | 2 +- + bin/waagent2.0 | 2 +- + init/arch/waagent.service | 2 +- + init/clearlinux/waagent.service | 2 +- + init/suse/waagent | 2 +- + init/waagent.service | 2 +- + makepkg.py | 2 +- + redhat/.gitignore | 1 + + redhat/Makefile | 72 +++++++ + redhat/Makefile.common | 37 ++++ + redhat/WALinuxAgent.spec.template | 206 +++++++++++++++++++ + redhat/rpmbuild/BUILD/.gitignore | 2 + + redhat/rpmbuild/RPMS/.gitignore | 2 + + redhat/rpmbuild/SOURCES/.gitignore | 2 + + redhat/rpmbuild/SPECS/.gitignore | 2 + + redhat/rpmbuild/SRPMS/.gitignore | 2 + + redhat/scripts/frh.py | 27 +++ + redhat/scripts/git-backport-diff | 327 ++++++++++++++++++++++++++++++ + redhat/scripts/git-compile-check | 215 ++++++++++++++++++++ + redhat/scripts/process-patches.sh | 79 ++++++++ + redhat/scripts/tarball_checksum.sh | 3 + + setup.py | 2 +- + tests/data/ext/sample_ext-1.3.0/sample.py | 2 +- + 26 files changed, 1002 insertions(+), 14 deletions(-) + create mode 100644 .gitpublish + create mode 100644 redhat/.gitignore + create mode 100644 redhat/Makefile + create mode 100644 redhat/Makefile.common + create mode 100644 redhat/WALinuxAgent.spec.template + create mode 100644 redhat/rpmbuild/BUILD/.gitignore + create mode 100644 redhat/rpmbuild/RPMS/.gitignore + create mode 100644 redhat/rpmbuild/SOURCES/.gitignore + create mode 100644 redhat/rpmbuild/SPECS/.gitignore + create mode 100644 redhat/rpmbuild/SRPMS/.gitignore + create mode 100755 redhat/scripts/frh.py + create mode 100755 redhat/scripts/git-backport-diff + create mode 100755 redhat/scripts/git-compile-check + create mode 100755 redhat/scripts/process-patches.sh + create mode 100755 redhat/scripts/tarball_checksum.sh + +diff --git a/azurelinuxagent/ga/update.py b/azurelinuxagent/ga/update.py +index 6fec60e..d2a80ab 100644 +--- a/azurelinuxagent/ga/update.py ++++ b/azurelinuxagent/ga/update.py +@@ -87,8 +87,11 @@ def get_update_handler(): + + + def get_python_cmd(): +- major_version = platform.python_version_tuple()[0] +- return "python" if int(major_version) <= 2 else "python{0}".format(major_version) ++ if sys.executable: ++ return sys.executable ++ else: ++ major_version = platform.python_version_tuple()[0] ++ return "python" if int(major_version) <= 2 else "python{0}".format(major_version) + + + class UpdateHandler(object): +@@ -152,9 +155,8 @@ class UpdateHandler(object): + + # Launch the correct Python version for python-based agents + cmds = textutil.safe_shlex_split(agent_cmd) +- if cmds[0].lower() == "python": +- cmds[0] = get_python_cmd() +- agent_cmd = " ".join(cmds) ++ cmds[0] = get_python_cmd() ++ agent_cmd = " ".join(cmds) + + self._evaluate_agent_health(latest_agent) + +diff --git a/bin/waagent b/bin/waagent +index 60cdf56..0443ecb 100755 +--- a/bin/waagent ++++ b/bin/waagent +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/python3.6 + # + # Azure Linux Agent + # +diff --git a/bin/waagent2.0 b/bin/waagent2.0 +index 3473267..762d211 100644 +--- a/bin/waagent2.0 ++++ b/bin/waagent2.0 +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + # + # Azure Linux Agent + # +diff --git a/init/arch/waagent.service b/init/arch/waagent.service +index d426eb2..ff1ebab 100644 +--- a/init/arch/waagent.service ++++ b/init/arch/waagent.service +@@ -8,7 +8,7 @@ ConditionPathExists=/etc/waagent.conf + + [Service] + Type=simple +-ExecStart=/usr/bin/python -u /usr/bin/waagent -daemon ++ExecStart=/usr/bin/python3 -u /usr/bin/waagent -daemon + Restart=always + RestartSec=5 + +diff --git a/init/clearlinux/waagent.service b/init/clearlinux/waagent.service +index 9afee45..c29fc1b 100644 +--- a/init/clearlinux/waagent.service ++++ b/init/clearlinux/waagent.service +@@ -8,7 +8,7 @@ ConditionPathExists=/usr/share/defaults/waagent/waagent.conf + + [Service] + Type=simple +-ExecStart=/usr/bin/python -u /usr/bin/waagent -daemon ++ExecStart=/usr/bin/python3 -u /usr/bin/waagent -daemon + Restart=always + RestartSec=5 + +diff --git a/init/suse/waagent b/init/suse/waagent +index b77b0fa..317e89e 100755 +--- a/init/suse/waagent ++++ b/init/suse/waagent +@@ -34,7 +34,7 @@ + # Description: Start the MicrosoftAzureLinuxAgent + ### END INIT INFO + +-PYTHON=/usr/bin/python ++PYTHON=/usr/bin/python3 + WAZD_BIN=/usr/sbin/waagent + WAZD_CONF=/etc/waagent.conf + WAZD_PIDFILE=/var/run/waagent.pid +diff --git a/init/waagent.service b/init/waagent.service +index e91f143..99f3183 100644 +--- a/init/waagent.service ++++ b/init/waagent.service +@@ -8,7 +8,7 @@ ConditionPathExists=/etc/waagent.conf + + [Service] + Type=simple +-ExecStart=/usr/bin/python -u /usr/sbin/waagent -daemon ++ExecStart=/usr/bin/python3.6 -u /usr/sbin/waagent -daemon + Restart=always + RestartSec=5 + +diff --git a/makepkg.py b/makepkg.py +index 52e0eae..51c263c 100755 +--- a/makepkg.py ++++ b/makepkg.py +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + + import glob + import os +diff --git a/setup.py b/setup.py +index 372807f..f0798ff 100755 +--- a/setup.py ++++ b/setup.py +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + # + # Microsoft Azure Linux Agent setup.py + # +diff --git a/tests/data/ext/sample_ext-1.3.0/sample.py b/tests/data/ext/sample_ext-1.3.0/sample.py +index 74bd839..bf6ed99 100755 +--- a/tests/data/ext/sample_ext-1.3.0/sample.py ++++ b/tests/data/ext/sample_ext-1.3.0/sample.py +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + + import os + +-- +1.8.3.1 + diff --git a/SOURCES/0002-Fix-handling-of-gen2-disks-with-udev-rules-1954.patch b/SOURCES/0002-Fix-handling-of-gen2-disks-with-udev-rules-1954.patch new file mode 100644 index 0000000..6322c7c --- /dev/null +++ b/SOURCES/0002-Fix-handling-of-gen2-disks-with-udev-rules-1954.patch @@ -0,0 +1,84 @@ +From a5af5690f0df9cb12fc46f8f14e4beba7c3aeae8 Mon Sep 17 00:00:00 2001 +From: Vitaly Kuznetsov +Date: Thu, 13 Aug 2020 08:43:58 +0200 +Subject: Fix handling of gen2 disks with udev rules (#1954) + +RH-Author: Vitaly Kuznetsov +Message-id: <20200810082500.479999-1-vkuznets@redhat.com> +Patchwork-id: 98129 +O-Subject: [RHEL8.3 WALinuxAgent PATCH] Fix handling of gen2 disks with udev rules (#1954) +Bugzilla: 1859037 +RH-Acked-by: Cathy Avery +RH-Acked-by: Mohammed Gamal + +commit d33f1f810728dbe4e2891149936195d1ec7aaa27 +Author: Thomas Stringer +Date: Mon Jul 20 14:24:22 2020 -0400 + + Fix handling of gen2 disks with udev rules (#1954) + +Signed-off-by: Vitaly Kuznetsov +Signed-off-by: Miroslav Rezanina +--- + config/66-azure-storage.rules | 40 +++++++++++++++++++++++----------------- + 1 file changed, 23 insertions(+), 17 deletions(-) + +diff --git a/config/66-azure-storage.rules b/config/66-azure-storage.rules +index 5fb3693..cf94807 100644 +--- a/config/66-azure-storage.rules ++++ b/config/66-azure-storage.rules +@@ -1,28 +1,34 @@ +-ACTION=="add|change", SUBSYSTEM=="block", ENV{ID_VENDOR}=="Msft", ENV{ID_MODEL}=="Virtual_Disk", GOTO="azure_disk" +-GOTO="azure_end" ++# Azure specific rules. ++ACTION!="add|change", GOTO="walinuxagent_end" ++SUBSYSTEM!="block", GOTO="walinuxagent_end" ++ATTRS{ID_VENDOR}!="Msft", GOTO="walinuxagent_end" ++ATTRS{ID_MODEL}!="Virtual_Disk", GOTO="walinuxagent_end" + +-LABEL="azure_disk" +-# Root has a GUID of 0000 as the second value +-# The resource/resource has GUID of 0001 as the second value +-ATTRS{device_id}=="?00000000-0000-*", ENV{fabric_name}="root", GOTO="azure_names" +-ATTRS{device_id}=="?00000000-0001-*", ENV{fabric_name}="resource", GOTO="azure_names" +-ATTRS{device_id}=="?00000001-0001-*", ENV{fabric_name}="BEK", GOTO="azure_names" +-# Wellknown SCSI controllers ++# Match the known ID parts for root and resource disks. ++ATTRS{device_id}=="?00000000-0000-*", ENV{fabric_name}="root", GOTO="wa_azure_names" ++ATTRS{device_id}=="?00000000-0001-*", ENV{fabric_name}="resource", GOTO="wa_azure_names" ++ ++# Gen2 disk. + ATTRS{device_id}=="{f8b3781a-1e82-4818-a1c3-63d806ec15bb}", ENV{fabric_scsi_controller}="scsi0", GOTO="azure_datadisk" ++# Create symlinks for data disks attached. + ATTRS{device_id}=="{f8b3781b-1e82-4818-a1c3-63d806ec15bb}", ENV{fabric_scsi_controller}="scsi1", GOTO="azure_datadisk" + ATTRS{device_id}=="{f8b3781c-1e82-4818-a1c3-63d806ec15bb}", ENV{fabric_scsi_controller}="scsi2", GOTO="azure_datadisk" + ATTRS{device_id}=="{f8b3781d-1e82-4818-a1c3-63d806ec15bb}", ENV{fabric_scsi_controller}="scsi3", GOTO="azure_datadisk" +-GOTO="azure_end" ++GOTO="walinuxagent_end" + +-# Retrieve LUN number for datadisks ++# Parse out the fabric n ame based off of scsi indicators. + LABEL="azure_datadisk" +-ENV{DEVTYPE}=="partition", PROGRAM="/bin/sh -c 'readlink /sys/class/block/%k/../device|cut -d: -f4'", ENV{fabric_name}="$env{fabric_scsi_controller}/lun$result", GOTO="azure_names" +-PROGRAM="/bin/sh -c 'readlink /sys/class/block/%k/device|cut -d: -f4'", ENV{fabric_name}="$env{fabric_scsi_controller}/lun$result", GOTO="azure_names" +-GOTO="azure_end" ++ENV{DEVTYPE}=="partition", PROGRAM="/bin/sh -c 'readlink /sys/class/block/%k/../device|cut -d: -f4'", ENV{fabric_name}="$env{fabric_scsi_controller}/lun$result" ++ENV{DEVTYPE}=="disk", PROGRAM="/bin/sh -c 'readlink /sys/class/block/%k/device|cut -d: -f4'", ENV{fabric_name}="$env{fabric_scsi_controller}/lun$result" ++ ++ENV{fabric_name}=="scsi0/lun0", ENV{fabric_name}="root" ++ENV{fabric_name}=="scsi0/lun1", ENV{fabric_name}="resource" ++# Don't create a symlink for the cd-rom. ++ENV{fabric_name}=="scsi0/lun2", GOTO="walinuxagent_end" + +-# Create the symlinks +-LABEL="azure_names" ++# Create the symlinks. ++LABEL="wa_azure_names" + ENV{DEVTYPE}=="disk", SYMLINK+="disk/azure/$env{fabric_name}" + ENV{DEVTYPE}=="partition", SYMLINK+="disk/azure/$env{fabric_name}-part%n" + +-LABEL="azure_end" ++LABEL="walinuxagent_end" +-- +1.8.3.1 + diff --git a/SPECS/WALinuxAgent.spec b/SPECS/WALinuxAgent.spec new file mode 100644 index 0000000..04f9925 --- /dev/null +++ b/SPECS/WALinuxAgent.spec @@ -0,0 +1,213 @@ +Summary: Microsoft Azure Linux Agent +Name: WALinuxAgent +Version: 2.2.49.2 +Release: 1%{?dist} + +License: ASL 2.0 +Group: Development/Libraries +Url: https://github.com/Azure/WALinuxAgent +Source0: WALinuxAgent-2.2.49.2.tar.gz + +BuildArch: noarch +Patch0001: 0001-Add-inital-redhat-build-support.patch +Patch0002: 0002-Fix-handling-of-gen2-disks-with-udev-rules-1954.patch + +# rhel requirements +BuildRequires: python3-devel +BuildRequires: python3-setuptools +Requires: openssh +Requires: openssh-server +Requires: openssl +Requires: parted +Requires: python3-pyasn1 +Requires: python36 + +BuildRequires: systemd +Requires(post): systemd +Requires(preun): systemd +Requires(postun): systemd + +%description +The Azure Linux Agent supports the provisioning and running of Linux +VMs in the Azure cloud. This package should be installed on Linux disk +images that are built to run in the Azure environment. + + +%prep +%setup -q + +%patch0001 -p1 +%patch0002 -p1 + +%build +%py3_build + +%install +%{__python3} setup.py install --single-version-externally-managed -O1 --root=$RPM_BUILD_ROOT --record=INSTALLED_FILES +rm -f %{buildroot}%{_sbindir}/waagent2.0 + +%clean +rm -rf $RPM_BUILD_ROOT + +%post +%systemd_post waagent.service + +%preun +%systemd_preun waagent.service + +%postun +%systemd_postun_with_restart waagent.service + +%files +%defattr(-,root,root) +%{python3_sitelib}/* +%config(noreplace) %{_sysconfdir}/waagent.conf +%config(noreplace) %{_sysconfdir}/logrotate.d/waagent.logrotate +%config(noreplace) %{_sysconfdir}/logrotate.d/waagent-extn.logrotate +%{_sbindir}/waagent +%{_unitdir}/waagent.service +/etc/udev/rules.d/66-azure-storage.rules +/etc/udev/rules.d/99-azure-product-uuid.rules + +%changelog +* Wed Nov 18 2020 Miroslav Rezanina - 2.2.49.2-1.el8 +- Rebase to 2.2.49.2 [bz#1896907] +- Resolves: bz#1896907 + ([Azure] Rebase WALinuxAgent to 2.2.49) + +* Thu Aug 13 2020 Miroslav Rezanina - 2.2.46-8.el8 +- wla-Fix-handling-of-gen2-disks-with-udev-rules-1954.patch [bz#1859037] +- Resolves: bz#1859037 + ([Azure][WALA]Cannot create /dev/disk/azure/resource softlinks in Gen2 VM) + +* Wed Jun 10 2020 Miroslav Rezanina - 2.2.46-7.el8 +- wla-Mark-logrotate-configs-with-config-noreplace.patch [bz#1838254] +- Resolves: bz#1838254 + ([Azure]WALinuxAgent RPM update clobbers waagent.logrotate log rotation changes) + +* Tue May 26 2020 Miroslav Rezanina - 2.2.46-6.el8 +- wala-Update-Provisioning-options-1853.patch [bz#1827792] +- Resolves: bz#1822882 + ([Azure][RHEL-8]Some parameter changes are not in waagent.conf) + +* Thu Apr 09 2020 Miroslav Rezanina - 2.2.46-5.el8 +- Rebase to 2.2.46 [bz#1791069] +- Resolves: bz#1791069 + ([Azure][RHEL-8.3]Ask to increase the WALA version available for RHEL 8.0 to 2.2.46) + +* Wed Jun 26 2019 Miroslav Rezanina - 2.2.32-3.el8 +- wla-Switch-from-platform-python-to-python36.patch [bz#1720373] +- wla-Stop-packaging-legacy-waagent2.0.patch [bz#1720373] +- Resolves: bz#1720373 + ([RHEL 8.1] [Azure] Change WALinuxAgent spec to depend on Python3.6 package) + +* Tue Apr 30 2019 Danilo Cesar Lemes de Paula - 2.2.32-2.el8 +- wla-Add-fixes-for-handling-swap-file-and-other-nit-fixes.patch [bz#1684181 bz#1688276] +- Resolves: bz#1684181 + (CVE-2019-0804 WALinuxAgent: swapfile created with weak permissions) +- Resolves: bz#1688276 + (CVE-2019-0804 WALinuxAgent: swapfile created with weak permissions [rhel-8]) + +* Fri Dec 14 2018 Miroslav Rezanina - 2.2.32-1.el8 +- Rebase to 2.2.32 [bz#1639498] +- Resolves: bz#1639498] + (walinuxagent 2.2.32 packaging request for RHEL 8) + +* Tue Oct 23 2018 Miroslav Rezanina - 2.2.26-6.el8 +- wala-Use-sys.executable-to-find-system-python.patch [bz#1639775] +- Resolves: bz#1639775 + (WALinuxAgent: Systemd unit file will fail to execute) + +* Mon Oct 22 2018 Miroslav Rezanina - 2.2.26-5.el8 +- wala-Switch-to-platform-python-in-systemd-unit-file.patch [bz#1639775] +- Resolves: bz#1639775 + (WALinuxAgent: Systemd unit file will fail to execute) + +* Wed Aug 29 2018 Miroslav Rezanina - 2.2.26-4.el8 +- Fix unit file location [bz#1637545] +- Resolves: bz#1637545 + (Wrong macro used for systemd unit file location) + +* Wed Jul 04 2018 Tomas Orsava - 2.2.26-3 +- Switch hardcoded python3 shebangs into the %%{__python3} macro + +* Tue Jul 03 2018 Miroslav Rezanina - 2.2.26-2.el8 +- Include 7.6 patches + +* Tue Jul 03 2018 Miroslav Rezanina - 2.2.26-1.el7 +- Rebase to 2.2.26 [bz#1571523] +- Resolves: bz#1571523 + (Rebase WALinuxAgent in RHEL-8.0) + +* Thu May 03 2018 Miroslav Rezanina - 2.2.18-2.el7 +- wa-Add-show-configuration-option.patch [bz#1508340] +- Resolves: bz#1508340 + ([WALA] WALA usage prompt lack of " waagent -show-configuration") + +* Tue Oct 10 2017 Miroslav Rezanina - 2.2.18-1.el7 +- Rebase to 2.2.18 [bz#1491873] +- Resolves: bz#1491873 + ([WALA]Request to package WALA 2.2.18 into RHEL 7 Repo) + + +* Tue Jul 04 2017 Miroslav Rezanina - 2.2.14-1.el7 +- Rebase to 2.2.14 [bz#1451172] +- wla-Remove-FIPS-setting-from-the-default-config.patch [bz#1467553] +- Resolves: bz#1451172 + ([WALA] Request to package WALA 2.2.14 into RHEL 7 Repo) +- Resolves: bz#1467553 + ([WALA] Remove FIPS from default config in WALA-2.2.14) + +* Wed Apr 26 2017 Miroslav Rezanina - 2.2.10-1.el7 +- Rebase to 2.2.10 [bz#1443425] +- Resolves: bz#1443425 + ([WALA]Request to package WALA 2.2.10 into RHEL 7 Repo) + +* Wed Apr 19 2017 Miroslav Rezanina - 2.2.4-2.el7 +- Enable AutoUpdate by default [bz#1434933] +- Resolves: bz#1434933 + ([WALA][RHEL-7] Enable AutoUpdate by default) + +* Wed Mar 01 2017 Miroslav Rezanina - 2.2.4-1.el7 +- Rebase to 2.2.4 [bz#1419201] +- resolves: bz#1419201 + WALA 2.2.4 + +* Mon Jan 16 2017 Miroslav Rezanina - 2.2.0-4.el7 +- agent-RHEL-7-hostname-533.patch [bz#1413674] +- agent-fix-for-hostnamectl-534.patch [bz#1413674] +- Resolves: bz#1413674 + ([WALA] Fail to send hostname to DHCP server during provisioning) + +* Fri Sep 30 2016 Dave Anderson - 2.2.0-1 +- Update to v2.2.0 + Resolves: rhbz#1360492 + +* Wed Sep 21 2016 Dave Anderson - 2.1.5-2 +- Several QE updates to this file + Resolves: rhbz#1360492 + +* Tue Sep 13 2016 Dave Anderson - 2.1.5-1 +- Update to v2.1.5 + Resolves: rhbz#1360492 + +* Thu Jan 14 2016 Dave Anderson - 2.0.16-1 +- Update to 2.0.16 + Resolves: rhbz#1296360 + +* Mon Jun 01 2015 Dave Anderson - 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 - 2.0.11-3 +- Remove Requires: ntfsprogs for RHEL7 + +* Sat Jan 10 2015 Scott K Logan - 2.0.11-2 +- Use systemd for rhel7 +- Own logrotate.d +- Fix python2-devel dep + +* Sat Dec 20 2014 Scott K Logan - 2.0.11-1 +- Initial package