Initial package
This commit is contained in:
parent
bd0004512e
commit
67705010c2
2
.gitignore
vendored
Normal file
2
.gitignore
vendored
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
/aws-cli-2.11.16.tar.gz
|
||||||
|
/aws-cli-2.11.17.tar.gz
|
107
awscli2.spec
Normal file
107
awscli2.spec
Normal file
@ -0,0 +1,107 @@
|
|||||||
|
%global pkgname aws-cli
|
||||||
|
|
||||||
|
Name: awscli2
|
||||||
|
Version: 2.11.17
|
||||||
|
Release: %autorelease
|
||||||
|
|
||||||
|
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
|
||||||
|
|
||||||
|
# ruamel-yaml 0.17.22 changed whitespace formatting, breaking some TestUpdateKubeconfig tests
|
||||||
|
# add a workaround for that until upstream comes with a proper fix
|
||||||
|
Patch0: ruamel-yaml-0.17.22.patch
|
||||||
|
|
||||||
|
BuildArch: noarch
|
||||||
|
|
||||||
|
BuildRequires: python%{python3_pkgversion}-devel
|
||||||
|
BuildRequires: python%{python3_pkgversion}-pytest
|
||||||
|
BuildRequires: python%{python3_pkgversion}-pytest-xdist
|
||||||
|
BuildRequires: python%{python3_pkgversion}-jsonschema
|
||||||
|
BuildRequires: python-unversioned-command
|
||||||
|
BuildRequires: procps-ng
|
||||||
|
|
||||||
|
Recommends: groff
|
||||||
|
|
||||||
|
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 '{}' +
|
||||||
|
|
||||||
|
# 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 '{}' +
|
||||||
|
|
||||||
|
|
||||||
|
%generate_buildrequires
|
||||||
|
%pyproject_buildrequires
|
||||||
|
|
||||||
|
|
||||||
|
%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
|
||||||
|
%pytest --verbose --numprocesses=auto --dist=loadfile tests/unit tests/functional
|
||||||
|
|
||||||
|
|
||||||
|
%files -f %{pyproject_files}
|
||||||
|
%license LICENSE.txt
|
||||||
|
%doc README.rst
|
||||||
|
%{_bindir}/aws
|
||||||
|
%{_bindir}/aws_completer
|
||||||
|
%dir %{_datadir}/bash-completion
|
||||||
|
%dir %{_datadir}/bash-completion/completions
|
||||||
|
%{_datadir}/bash-completion/completions/aws
|
||||||
|
%dir %{_datadir}/zsh
|
||||||
|
%dir %{_datadir}/zsh/site-functions
|
||||||
|
%{_datadir}/zsh/site-functions/_awscli
|
||||||
|
|
||||||
|
|
||||||
|
%changelog
|
||||||
|
%autochangelog
|
25
ruamel-yaml-0.17.22.patch
Normal file
25
ruamel-yaml-0.17.22.patch
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
diff --git a/awscli/customizations/eks/ordered_yaml.py b/awscli/customizations/eks/ordered_yaml.py
|
||||||
|
index 23834e0..828280a 100644
|
||||||
|
--- a/awscli/customizations/eks/ordered_yaml.py
|
||||||
|
+++ b/awscli/customizations/eks/ordered_yaml.py
|
||||||
|
@@ -46,6 +46,7 @@ def ordered_yaml_dump(to_dump, stream=None):
|
||||||
|
:type stream: file
|
||||||
|
"""
|
||||||
|
yaml = ruamel.yaml.YAML(typ="safe", pure=True)
|
||||||
|
+ yaml.width = 99999
|
||||||
|
yaml.default_flow_style = False
|
||||||
|
yaml.Representer.add_representer(OrderedDict, _ordered_representer)
|
||||||
|
|
||||||
|
diff --git a/pyproject.toml b/pyproject.toml
|
||||||
|
index db82f2a..991ddfa 100644
|
||||||
|
--- a/pyproject.toml
|
||||||
|
+++ b/pyproject.toml
|
||||||
|
@@ -31,7 +31,7 @@ dependencies = [
|
||||||
|
"colorama>=0.2.5,<0.4.7",
|
||||||
|
"docutils>=0.10,<0.20",
|
||||||
|
"cryptography>=3.3.2,<40.0.2",
|
||||||
|
- "ruamel.yaml>=0.15.0,<=0.17.21",
|
||||||
|
+ "ruamel.yaml>=0.15.0,<=0.17.22",
|
||||||
|
# ruamel.yaml only requires ruamel.yaml.clib for Python versions
|
||||||
|
# less than or equal to Python 3.10. In order to ensure we have
|
||||||
|
# a consistent dependency closure across all Python versions,
|
Loading…
Reference in New Issue
Block a user