diff --git a/.WALinuxAgent.metadata b/.WALinuxAgent.metadata new file mode 100644 index 0000000..6ca4e7b --- /dev/null +++ b/.WALinuxAgent.metadata @@ -0,0 +1 @@ +3b5c6eac24e6545e3ce56262210a7ac8dbdc8ace SOURCES/WALinuxAgent-2.2.32.tar.gz diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..b16fa87 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +SOURCES/WALinuxAgent-2.2.32.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..eb7e493 --- /dev/null +++ b/SOURCES/0001-Add-inital-redhat-build-support.patch @@ -0,0 +1,219 @@ +From 00dcd65f731e4a44418029c0a8b7107bbbbefc94 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 + +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 +- + config/waagent.conf | 3 - + 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 | 169 +++++++++++++++ + 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, 964 insertions(+), 17 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 d3c39c1..3617809 100644 +--- a/azurelinuxagent/ga/update.py ++++ b/azurelinuxagent/ga/update.py +@@ -92,8 +92,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): +@@ -150,9 +153,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..10836c2 100755 +--- a/bin/waagent ++++ b/bin/waagent +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/env python3 + # + # 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/config/waagent.conf b/config/waagent.conf +index 79daacb..513cbf2 100644 +--- a/config/waagent.conf ++++ b/config/waagent.conf +@@ -62,9 +62,6 @@ ResourceDisk.MountOptions=None + # Enable verbose logging (y|n) + Logs.Verbose=n + +-# Is FIPS enabled +-OS.EnableFIPS=n +- + # Root device timeout in seconds. + OS.RootDeviceScsiTimeout=300 + +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..3c7710f 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/libexec/platform-python -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 e15a2d4..6fbf0ba 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/SPECS/WALinuxAgent.spec b/SPECS/WALinuxAgent.spec new file mode 100644 index 0000000..fad2f23 --- /dev/null +++ b/SPECS/WALinuxAgent.spec @@ -0,0 +1,174 @@ +Summary: Microsoft Azure Linux Agent +Name: WALinuxAgent +Version: 2.2.32 +Release: 1%{?dist} + +License: Apache License Version 2.0 +Group: Development/Libraries +Url: https://github.com/Azure/WALinuxAgent +Source0: WALinuxAgent-2.2.32.tar.gz + +BuildArch: noarch +Patch0001: 0001-Add-inital-redhat-build-support.patch + +# rhel requirements +BuildRequires: python3-devel +BuildRequires: python3-setuptools +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 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 + +%build +%py3_build + +%install +%{__python3} setup.py install --single-version-externally-managed -O1 --root=$RPM_BUILD_ROOT --record=INSTALLED_FILES + +# Change the shebang to the __python3 macro instead of leaving it hardcoded +pathfix.py -pni "%{__python3}" %{buildroot}%{_sbindir}/waagent + +%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 +%{_sbindir}/waagent2.0 +%{_unitdir}/waagent.service +/etc/udev/rules.d/66-azure-storage.rules +/etc/udev/rules.d/99-azure-product-uuid.rules + +%changelog +* 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