Split shell-completions into a separate subpackage
and define %_description variable to make specfile DRYer. Fedora normally doesn't split out shell completions, but this avoids pulling in an extra dependency on python3-argcomplete.
This commit is contained in:
parent
c6c4a5a0c5
commit
6363610e58
@ -68,6 +68,7 @@ BuildRequires: python%{python3_pkgversion}-devel
|
||||
# Needed to build manpages from source.
|
||||
BuildRequires: python%{python3_pkgversion}-straight-plugin
|
||||
BuildRequires: python%{python3_pkgversion}-docutils
|
||||
# Shell completions
|
||||
BuildRequires: python%{python3_pkgversion}-argcomplete
|
||||
|
||||
%if %{with tests}
|
||||
@ -76,18 +77,20 @@ BuildRequires: glibc-all-langpacks
|
||||
BuildRequires: python%{python3_pkgversion}-systemd
|
||||
%endif
|
||||
|
||||
Requires: python%{python3_pkgversion}-argcomplete
|
||||
# Require packaging macros if rpm-build exists
|
||||
# This makes the transition seamless for other packages
|
||||
Requires: (ansible-packaging if rpm-build)
|
||||
|
||||
Recommends: ansible-core-shell-completions
|
||||
|
||||
%description
|
||||
%global _description %{expand:
|
||||
Ansible is a radically simple model-driven configuration management,
|
||||
multi-node deployment, and remote task execution system. Ansible works
|
||||
over SSH and does not require any software or daemons to be installed
|
||||
on remote nodes. Extension modules can be written in any language and
|
||||
are transferred to managed machines automatically.
|
||||
are transferred to managed machines automatically.}
|
||||
|
||||
%description %_description
|
||||
|
||||
This is the base part of ansible (the engine).
|
||||
|
||||
@ -106,6 +109,16 @@ are transferred to managed machines automatically.
|
||||
|
||||
This package installs extensive documentation for ansible-core
|
||||
|
||||
%package shell-completions
|
||||
Summary: Shell completions for ansible-core
|
||||
Requires: python%{python3_pkgversion}-argcomplete
|
||||
Requires: %{name} = %{?epoch:%{epoch}:}%{version}-%{release}
|
||||
|
||||
%description shell-completions %_description
|
||||
|
||||
This package includes shell completions files for ansible-core.
|
||||
|
||||
|
||||
%prep
|
||||
%autosetup -p1 -n ansible-%{version}
|
||||
find \( -name '.git_keep' -o -name '.rstcheck.cfg' \) -delete
|
||||
@ -159,8 +172,8 @@ make PYTHON=%{python3} docs
|
||||
%install
|
||||
%pyproject_install
|
||||
|
||||
install -Dpm 0644 bash_completions/* -t %{buildroot}%{_datadir}/bash-completion/completions
|
||||
install -Dpm 0644 fish_completions/* -t %{buildroot}%{_datadir}/fish/vendor_completions.d
|
||||
install -Dpm 0644 bash_completions/* -t %{buildroot}%{bash_completions_dir}
|
||||
install -Dpm 0644 fish_completions/* -t %{buildroot}%{fish_completions_dir}
|
||||
|
||||
# Create system directories that Ansible defines as default locations in
|
||||
# ansible/config/base.yml
|
||||
@ -220,16 +233,12 @@ make PYTHON=%{python3} tests-py3
|
||||
%doc README.rst changelogs/CHANGELOG-v2.13.rst
|
||||
%dir %{_sysconfdir}/ansible/
|
||||
%config(noreplace) %{_sysconfdir}/ansible/*
|
||||
%{_mandir}/man1/ansible*
|
||||
%{_bindir}/ansible*
|
||||
%{_datadir}/ansible/
|
||||
%{_datadir}/bash-completion/completions/ansible*
|
||||
%dir %{_datadir}/fish
|
||||
%dir %{_datadir}/fish/vendor_completions.d
|
||||
%{_datadir}/fish/vendor_completions.d/ansible*.fish
|
||||
%{python3_sitelib}/ansible
|
||||
%{python3_sitelib}/ansible_test
|
||||
%{python3_sitelib}/*dist-info
|
||||
%{_mandir}/man1/ansible*
|
||||
|
||||
%files -n ansible-core-doc
|
||||
%doc docs/docsite/rst
|
||||
@ -237,6 +246,11 @@ make PYTHON=%{python3} tests-py3
|
||||
%doc docs/docsite/_build/html
|
||||
%endif
|
||||
|
||||
%files shell-completions
|
||||
%{bash_completions_dir}/ansible*
|
||||
%{fish_completions_dir}/ansible*.fish
|
||||
|
||||
|
||||
%changelog
|
||||
* Wed Oct 12 2022 Maxwell G <gotmax@e.email> - 2.13.5-1
|
||||
- Update to 2.13.5.
|
||||
|
Loading…
Reference in New Issue
Block a user