commit 8a951caf2c492f8cc58d75620550f363c97f3991 Author: MSVSphere Packaging Team Date: Mon Oct 7 18:39:49 2024 +0300 import awscli2-2.15.31-3.el9 diff --git a/.awscli2.metadata b/.awscli2.metadata new file mode 100644 index 0000000..990cf8a --- /dev/null +++ b/.awscli2.metadata @@ -0,0 +1 @@ +225e5e6a2aa2145d106cc20a4dacee47789b8830 SOURCES/aws-cli-2.15.31.tar.gz diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..f5e05a3 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +SOURCES/aws-cli-2.15.31.tar.gz diff --git a/SPECS/awscli2.spec b/SPECS/awscli2.spec new file mode 100644 index 0000000..73a655f --- /dev/null +++ b/SPECS/awscli2.spec @@ -0,0 +1,134 @@ +%bcond tests 1 + +%global pkgname aws-cli + +Name: awscli2 +Version: 2.15.31 +Release: 3%{?dist} + +Summary: Universal Command Line Environment for AWS, version 2 +# all files are licensed under Apache-2.0, except: +# - awscli/topictags.py is MIT +# - awscli/botocore/vendored/six.py is MIT +License: Apache-2.0 AND MIT +URL: https://github.com/aws/aws-cli/tree/v2 +Source0: https://github.com/aws/aws-cli/archive/%{version}/%{pkgname}-%{version}.tar.gz + +BuildArch: noarch + +BuildRequires: python3-devel +BuildRequires: python-unversioned-command +BuildRequires: procps-ng + +# Needed for paging output from awscli2. See RHEL-14523. +Requires: less + +Recommends: groff + +Provides: bundled(python3dist(botocore)) = 2.0.0 +Provides: bundled(python3dist(s3transfer)) = 0.5.1 + +Provides: awscli = %{version}-%{release} +Obsoletes: awscli < 2 + +# provide an upgrade path from awscli-2 (Amazon Linux) +Provides: awscli-2 = %{version}-%{release} +Obsoletes: awscli-2 < %{version}-%{release} + +# python-awscrt does not build on s390x +ExcludeArch: s390x + + +%description +This package provides version 2 of the unified command line +interface to Amazon Web Services. + + +%prep +%autosetup -p1 -n %{pkgname}-%{version} + +# fix permissions +find awscli/examples/ -type f -name '*.rst' -executable -exec chmod -x '{}' + + +# remove version caps on dependencies +sed -i 's/,<=\?[^"]*"/"/' pyproject.toml + +# use unittest.mock +find -type f -name '*.py' -exec sed \ + -e 's/^\( *\)import mock$/\1from unittest import mock/' \ + -e 's/^\( *\)from mock import mock/\1from unittest import mock/' \ + -e 's/^\( *\)from mock import/\1from unittest.mock import/' \ + -i '{}' + + +# RHEL does not run coverage tests. +# mock is deprecated in RHEL. We use unittest.mock. +# pip-tools is not used directly by the unit tests. +# pytest-xdist is unwanted in RHEL. +sed \ + -e 's|==.*||' \ + -e '/coverage/d' \ + -e '/mock/d' \ + -e '/pip-tools/d' \ + -e '/pytest-cov/d' \ + %{?rhel:-e '/pytest-xdist/d'} \ + requirements-test.txt > _requirements-test.txt + + +%generate_buildrequires +%pyproject_buildrequires _requirements-test.txt + + +%build +%pyproject_wheel + + +%install +%pyproject_install +%pyproject_save_files awscli + +# remove unnecessary scripts +rm -vf %{buildroot}%{_bindir}/{aws_bash_completer,aws_zsh_completer.sh,aws.cmd} + +# install shell completion +install -Dpm0644 bin/aws_bash_completer \ + %{buildroot}%{_datadir}/bash-completion/completions/aws +install -Dpm0644 bin/aws_zsh_completer.sh \ + %{buildroot}%{_datadir}/zsh/site-functions/_awscli + + +%check +# it appears that some tests modify the environment and remove PYTHONPATH +# so it's not passed to botocore cmd-runner, inject it here +sed -i '/self.driver.start(env=env)/i \ \ \ \ \ \ \ \ env["PYTHONPATH"] = "%{buildroot}%{python3_sitelib}"' \ + tests/utils/botocore/__init__.py + +export TESTS_REMOVE_REPO_ROOT_FROM_PATH=1 TZ=UTC +%if 0%{?rhel} +export OPENSSL_ENABLE_SHA1_SIGNATURES=yes +%endif +%pytest --verbose %{!?rhel:--numprocesses=auto --dist=loadfile --maxprocesses=4} \ + --disable-pytest-warnings -Wd \ + tests/unit tests/functional \ + --ignore tests/functional/autocomplete/test_completion_files.py \ + --ignore tests/functional/botocore/test_waiter_config.py + + +%files -f %{pyproject_files} +%license LICENSE.txt +%doc README.rst +%{_bindir}/aws +%{_bindir}/aws_completer +%{_datadir}/bash-completion/completions/aws +%{_datadir}/zsh/site-functions/_awscli + + +%changelog +* Fri May 31 2024 Major Hayden - 2.15.31-3 +- Add less to install requirements for paging output. Resolves RHEL-14523. + +* Thu May 09 2024 Major Hayden - 2.15.31-2 +- Remove colorama patches +- Bring in the latest updates from Fedora + +* Wed Jan 31 2024 Major Hayden - 2.15.31-1 +- Initial RHEL 9 package.