diff --git a/.WALinuxAgent.metadata b/.WALinuxAgent.metadata new file mode 100644 index 0000000..38bd7d7 --- /dev/null +++ b/.WALinuxAgent.metadata @@ -0,0 +1 @@ +6a636c47aea02063bde8282a5bc2bb61d4afe640 SOURCES/WALinuxAgent-2.2.46.tar.gz diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..a773e1c --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +SOURCES/WALinuxAgent-2.2.46.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..e379f5c --- /dev/null +++ b/SOURCES/0001-Add-inital-redhat-build-support.patch @@ -0,0 +1,211 @@ +From 63f8528699e608ef46d256fd8105b338049336e3 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 + +(cherry picked from commit 19d4f82cd5345fdc52b357afcf3b5aa4bc4ce4d9) +(cherry picked from commit 1676db295321adbd571f04773782eed5b0817d64) +--- + .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 | 186 +++++++++++++++++ + 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 +- + 25 files changed, 981 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 c882bc1..8367274 100644 +--- a/azurelinuxagent/ga/update.py ++++ b/azurelinuxagent/ga/update.py +@@ -93,8 +93,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): +@@ -151,9 +154,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 4039e03..13d8d37 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 25aa0ce..a868211 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/0003-Fix-fips.patch b/SOURCES/0003-Fix-fips.patch new file mode 100644 index 0000000..13e0ade --- /dev/null +++ b/SOURCES/0003-Fix-fips.patch @@ -0,0 +1,26 @@ +From c990d90bf1cfaf728d094f5e4157ebd70515a228 Mon Sep 17 00:00:00 2001 +From: Miroslav Rezanina +Date: Mon, 13 Apr 2020 05:27:49 +0200 +Subject: Fix fips + +--- + config/waagent.conf | 3 --- + 1 file changed, 3 deletions(-) + +diff --git a/config/waagent.conf b/config/waagent.conf +index 62a9441..4754029 100644 +--- a/config/waagent.conf ++++ b/config/waagent.conf +@@ -65,9 +65,6 @@ Logs.Verbose=n + # Enable Console logging, default is y + # Logs.Console=y + +-# Is FIPS enabled +-OS.EnableFIPS=n +- + # Root device timeout in seconds. + OS.RootDeviceScsiTimeout=300 + +-- +1.8.3.1 + diff --git a/SPECS/WALinuxAgent.spec b/SPECS/WALinuxAgent.spec new file mode 100644 index 0000000..c9ebd05 --- /dev/null +++ b/SPECS/WALinuxAgent.spec @@ -0,0 +1,198 @@ +Summary: Microsoft Azure Linux Agent +Name: WALinuxAgent +Version: 2.2.46 +Release: 5%{?dist} + +License: ASL 2.0 +Group: Development/Libraries +Url: https://github.com/Azure/WALinuxAgent +Source0: WALinuxAgent-2.2.46.tar.gz + +BuildArch: noarch +Patch0001: 0001-Add-inital-redhat-build-support.patch +Patch0002: 0003-Fix-fips.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 +%{_sysconfdir}/logrotate.d/waagent.logrotate +%{_sbindir}/waagent +%{_unitdir}/waagent.service +/etc/udev/rules.d/66-azure-storage.rules +/etc/udev/rules.d/99-azure-product-uuid.rules +/etc/logrotate.d/waagent-extn.logrotate + +%changelog +* Wed Apr 15 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 Jul 24 2019 Miroslav Rezanina - 2.2.38-1 +- Rebase to 2.2.38 [bz#1722848] +- Resolves: bz#1722848 + ([Azure]walinuxagent 2.2.38 rebase [8.1.0]) + +* 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