Compare commits
68 commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
3fe81f9f48 | ||
|
|
f5d5058b89 |
||
|
|
8ccfa15caf |
||
|
|
bab3b123d8 |
||
|
|
9af08281c8 |
||
|
|
d3e4d724a9 | ||
|
|
fb25488b11 | ||
|
|
0d4e415b59 | ||
|
|
ae9ed89dc4 |
||
|
|
78b689b64f | ||
|
|
ebd6903521 | ||
|
|
80f1c81555 | ||
|
|
5a428675a8 |
||
|
|
f9a83db4cf | ||
|
|
e7b510f109 |
||
|
|
4cf3fd7e86 | ||
|
|
dc2bab8df8 | ||
|
|
b79d47f109 |
||
|
|
ae4659d82e | ||
|
|
36554cbe7e |
||
|
|
f4bc470894 | ||
|
|
3527e7f950 |
||
|
|
3aa96e9369 | ||
|
|
8845afc540 | ||
|
|
18a1a42a59 |
||
|
|
8dcd916018 |
||
|
|
14070d64b6 |
||
|
|
42be9da716 | ||
|
|
9c28385cde | ||
|
|
a6d0aee32b |
||
|
|
b5e6ba8f9e | ||
|
|
e8ad128252 | ||
|
|
706a563eb7 | ||
|
|
f89fa3bf85 |
||
|
|
fba9f24c2a |
||
|
|
6a44275fd9 |
||
|
|
3b956072fa |
||
|
|
cc8d986d85 |
||
|
|
73c3761906 |
||
|
|
cd408233d6 |
||
|
|
3eea4a5b63 |
||
|
|
03969f6894 |
||
|
|
9fc79dd892 |
||
|
|
f6be2d66d0 | ||
|
|
b3c98a1168 | ||
|
|
2e72b45364 |
||
|
|
a4ef454793 |
||
|
|
d7639d3f60 |
||
|
|
2c7d8baf8e |
||
|
|
b9879dbfe8 |
||
|
|
27ce592279 |
||
|
|
46761eba56 |
||
|
|
08bc5068fe | ||
|
|
0321735d7f |
||
|
|
fb34c87373 |
||
|
|
8ae37334e1 | ||
|
|
1e8d0b7bf4 |
||
|
|
4c40dd8a0c |
||
|
|
021c6e7683 |
||
|
|
2d214aeabb |
||
|
|
030afe947d |
||
|
|
b3fea49291 |
||
|
|
5abfdcb89d |
||
|
|
9e268c07b6 |
||
|
|
81b557b379 |
||
|
|
935fbf09a0 |
||
|
|
1689b29d87 |
||
|
|
0ad6f9b8eb |
12 changed files with 396 additions and 286 deletions
24
.coveragerc
24
.coveragerc
|
|
@ -1,24 +0,0 @@
|
|||
# This configuration file is used for manual execution of coverage
|
||||
# as well as for tests run through ansible-test.
|
||||
|
||||
[run]
|
||||
branch = True
|
||||
|
||||
# Enable concurrency. This also enables parallel mode, which results in
|
||||
# multiple coverage files being created. Concurrency allows us to collect
|
||||
# results from multiple tests simultaneously, as well as supporting multiple
|
||||
# test runs, such as from integration tests.
|
||||
concurrency = multiprocessing
|
||||
parallel = True
|
||||
|
||||
# When running tests through ansible-test, this option is overridden by
|
||||
# the COVERAGE_FILE environment variable. This option is present for
|
||||
# convenience when running coverage manually from this directory.
|
||||
data_file = test/results/coverage/coverage
|
||||
|
||||
# Don't collect or report code coverage from files matching these patterns.
|
||||
omit =
|
||||
*/python*/dist-packages/*
|
||||
*/python*/site-packages/*
|
||||
*/python*/distutils
|
||||
*/pytest
|
||||
1
.fmf/version
Normal file
1
.fmf/version
Normal file
|
|
@ -0,0 +1 @@
|
|||
1
|
||||
139
.gitignore
vendored
139
.gitignore
vendored
|
|
@ -1,137 +1,2 @@
|
|||
/ansible-1.5.3.tar.gz
|
||||
/ansible-1.5.4.tar.gz
|
||||
/ansible-1.5.5.tar.gz
|
||||
/ansible-1.6.tar.gz
|
||||
/ansible-1.6.1.tar.gz
|
||||
/ansible-1.6.2.tar.gz
|
||||
/ansible-1.6.3.tar.gz
|
||||
/ansible-1.6.4.tar.gz
|
||||
/ansible-1.6.5.tar.gz
|
||||
/ansible-1.6.6.tar.gz
|
||||
/ansible-1.6.7.tar.gz
|
||||
/ansible-1.6.8.tar.gz
|
||||
/ansible-1.6.9.tar.gz
|
||||
/ansible-1.6.10.tar.gz
|
||||
/ansible-1.7.tar.gz
|
||||
/ansible-1.7.1.tar.gz
|
||||
/ansible-1.7.2.tar.gz
|
||||
/ansible-1.8.tar.gz
|
||||
/ansible-1.8.1.tar.gz
|
||||
/ansible-1.8.2.tar.gz
|
||||
/ansible-1.8.3.tar.gz
|
||||
/ansible-1.8.4.tar.gz
|
||||
/ansible-1.9.0.tar.gz
|
||||
/ansible-1.9.0.1.tar.gz
|
||||
/ansible-1.9.1.tar.gz
|
||||
/ansible-1.9.2.tar.gz
|
||||
/ansible-1.9.3.tar.gz
|
||||
/ansible-1.9.4.tar.gz
|
||||
/ansible-2.0.0.1.tar.gz
|
||||
/ansible-unittests.tar.xz
|
||||
/ansible-2.0.0.2.tar.gz
|
||||
/ansible-2.0.1.0.tar.gz
|
||||
/ansible-unittests-2.0.1.0.tar.xz
|
||||
/ansible-unittests-2.0.2.0.tar.xz
|
||||
/ansible-2.0.2.0.tar.gz
|
||||
/ansible-unittests-2.1.0.0.tar.xz
|
||||
/ansible-2.1.0.0.tar.gz
|
||||
/ansible-unittests-2.1.1.0.tar.xz
|
||||
/ansible-2.1.1.0.tar.gz
|
||||
/ansible-2.1.2.0.tar.gz
|
||||
/ansible-unittests-2.1.2.0.tar.xz
|
||||
/ansible-unittests-2.2.0.0.tar.xz
|
||||
/ansible-2.2.0.0.tar.gz
|
||||
/ansible-unittests-2.2.1.0.tar.xz
|
||||
/ansible-2.2.1.0.tar.gz
|
||||
/ansible-2.2.2.0-0.1.rc1.tar.gz
|
||||
/ansible-unittests-2.2.2.0.tar.xz
|
||||
/ansible-2.2.2.0.tar.gz
|
||||
/ansible-2.3.0.0.tar.gz
|
||||
/ansible-2.3.1.0.tar.gz
|
||||
/ansible-2.3.2.0.tar.gz
|
||||
/ansible-2.4.0.0.tar.gz
|
||||
/ansible-2.4.1.0.tar.gz
|
||||
/ansible-2.4.2.0.tar.gz
|
||||
/ansible-2.4.3.0.tar.gz
|
||||
/ansible-2.5.0.tar.gz
|
||||
/ansible-2.5.1.tar.gz
|
||||
/ansible-2.5.2.tar.gz
|
||||
/ansible-2.5.3.tar.gz
|
||||
/ansible-2.5.5.tar.gz
|
||||
/ansible-2.6.0.tar.gz
|
||||
/ansible-2.6.1.tar.gz
|
||||
/ansible-2.6.2.tar.gz
|
||||
/ansible-2.6.3.tar.gz
|
||||
/ansible-2.6.4.tar.gz
|
||||
/ansible-2.6.5.tar.gz
|
||||
/ansible-2.7.0.tar.gz
|
||||
/ansible-2.7.1.tar.gz
|
||||
/ansible-2.7.2.tar.gz
|
||||
/ansible-2.7.3.tar.gz
|
||||
/ansible-2.7.4.tar.gz
|
||||
/ansible-2.7.5.tar.gz
|
||||
/ansible-2.7.6.tar.gz
|
||||
/ansible-2.7.7.tar.gz
|
||||
/ansible-2.7.8.tar.gz
|
||||
/ansible-2.7.9.tar.gz
|
||||
/ansible-2.7.10.tar.gz
|
||||
/ansible-2.8.0b1.tar.gz
|
||||
/ansible-2.8.0rc1.tar.gz
|
||||
/ansible-2.8.0rc3.tar.gz
|
||||
/ansible-2.8.0.tar.gz
|
||||
/ansible-2.8.1.tar.gz
|
||||
/ansible-2.8.2.tar.gz
|
||||
/ansible-2.8.3.tar.gz
|
||||
/ansible-2.8.4.tar.gz
|
||||
/ansible-2.8.5.tar.gz
|
||||
/ansible-2.8.6.tar.gz
|
||||
/ansible-2.9.0.tar.gz
|
||||
/ansible-2.9.1.tar.gz
|
||||
/ansible-2.9.2.tar.gz
|
||||
/ansible-2.9.3.tar.gz
|
||||
/ansible-2.9.4.tar.gz
|
||||
/ansible-2.9.5.tar.gz
|
||||
/ansible-2.9.6.tar.gz
|
||||
/ansible-2.9.7.tar.gz
|
||||
/ansible-2.9.9.tar.gz
|
||||
/ansible-2.9.10.tar.gz
|
||||
/ansible-2.9.11.tar.gz
|
||||
/ansible-2.9.12.tar.gz
|
||||
/ansible-2.9.13.tar.gz
|
||||
/ansible-2.9.14.tar.gz
|
||||
/ansible-2.9.15.tar.gz
|
||||
/ansible-2.9.16.tar.gz
|
||||
/ansible-2.9.17.tar.gz
|
||||
/ansible-2.9.18.tar.gz
|
||||
/ansible-2.9.20.tar.gz
|
||||
/ansible-2.9.21.tar.gz
|
||||
/ansible-2.9.22.tar.gz
|
||||
/ansible-2.9.23.tar.gz
|
||||
/ansible-2.9.24.tar.gz
|
||||
/ansible-2.9.25.tar.gz
|
||||
/ansible-2.9.26.tar.gz
|
||||
/ansible-2.9.27.tar.gz
|
||||
/ansible-5.1.0.tar.gz
|
||||
/ansible-5.2.0.tar.gz
|
||||
/ansible-5.3.0.tar.gz
|
||||
/ansible-5.4.0.tar.gz
|
||||
/ansible-5.5.0.tar.gz
|
||||
/ansible-5.6.0.tar.gz
|
||||
/ansible-5.7.0.tar.gz
|
||||
/ansible-5.8.0.tar.gz
|
||||
/ansible-5.9.0.tar.gz
|
||||
/ansible-6.0.0rc1.tar.gz
|
||||
/ansible-6.0.0.tar.gz
|
||||
/ansible-6.1.0.tar.gz
|
||||
/ansible-6.2.0.tar.gz
|
||||
/ansible-6.3.0.tar.gz
|
||||
/ansible-6.4.0.tar.gz
|
||||
/ansible-6.5.0.tar.gz
|
||||
/ansible-7.0.0a2.tar.gz
|
||||
/ansible-7.0.0b1.tar.gz
|
||||
/ansible-7.0.0rc1.tar.gz
|
||||
/ansible-7.0.0.tar.gz
|
||||
/ansible-7.1.0.tar.gz
|
||||
/ansible-7.2.0.tar.gz
|
||||
/ansible-7.3.0.tar.gz
|
||||
/ansible-7.4.0.tar.gz
|
||||
/ansible-*.tar.gz
|
||||
/ansible-*/
|
||||
|
|
|
|||
33
.packit.yaml
Normal file
33
.packit.yaml
Normal file
|
|
@ -0,0 +1,33 @@
|
|||
# See the documentation for more information:
|
||||
# https://packit.dev/docs/configuration/
|
||||
|
||||
upstream_project_url: https://github.com/ansible-community/ansible-build-data
|
||||
issue_repository: https://pagure.io/ansible-packit-issues
|
||||
create_sync_note: false
|
||||
upstream_tag_include: "11"
|
||||
jobs:
|
||||
- job: pull_from_upstream
|
||||
trigger: release
|
||||
dist_git_branches:
|
||||
rawhide:
|
||||
fast_forward_merge_into:
|
||||
- fedora-43
|
||||
- fedora-42
|
||||
- job: koji_build
|
||||
trigger: commit
|
||||
dist_git_branches:
|
||||
- rawhide
|
||||
- fedora-43
|
||||
- fedora-42
|
||||
sidetag_group: "ansible"
|
||||
dependencies:
|
||||
- ansible-core
|
||||
- job: bodhi_update
|
||||
trigger: commit
|
||||
dist_git_branches:
|
||||
- rawhide
|
||||
- fedora-43
|
||||
- fedora-42
|
||||
dependencies:
|
||||
- ansible-core
|
||||
sidetag_group: "ansible"
|
||||
46
ansible-install-licenses.sh
Executable file
46
ansible-install-licenses.sh
Executable file
|
|
@ -0,0 +1,46 @@
|
|||
#!/usr/bin/bash -x
|
||||
|
||||
# SPDX-License-Identifier: MIT
|
||||
# Copyright (C) Fedora Project Authors
|
||||
# License Text: https://spdx.org/licenses/MIT.txt
|
||||
|
||||
set -euo pipefail
|
||||
|
||||
ansible_licensedir="${1}"
|
||||
ansible_docdir="${2}"
|
||||
|
||||
# Install docs and licenses
|
||||
mkdir -p "${ansible_licensedir}" "${ansible_docdir}"
|
||||
|
||||
# This finds the license file for each collection and moves it to
|
||||
# `${ansible_licensedir}`
|
||||
|
||||
for f in $(find -mindepth 3 -iname 'LICENSES' -type d -printf '%P\n')
|
||||
do
|
||||
dirname="$(dirname "${ansible_licensedir}/${f}")"
|
||||
mkdir -p "${dirname}"
|
||||
mv "${f}" "${ansible_licensedir}/${f}"
|
||||
done
|
||||
|
||||
for f in $(
|
||||
find . -mindepth 3 -type f \
|
||||
\( -iname '*LICENSE*' -o -iname '*COPYING*' \) \
|
||||
-not -name '*.py' -not -name '*.pyc' \
|
||||
-not -name '*.license' -not -name '*.yaml' -not -name '*.yml' \
|
||||
-not -name '*.json' \
|
||||
-printf '%P\n' \
|
||||
| grep -vE '/docs/[^/]+_module\.rst$'
|
||||
)
|
||||
do
|
||||
dirname="$(dirname "${ansible_licensedir}/${f}")"
|
||||
mkdir -p "${dirname}"
|
||||
mv "${f}" "${dirname}"
|
||||
done
|
||||
|
||||
# This does the same thing, but for READMEs.
|
||||
for f in $(find . -mindepth 3 -type f -name 'README*' -printf '%P\n')
|
||||
do
|
||||
dirname="$(dirname "${ansible_docdir}/${f}")"
|
||||
mkdir -p "${dirname}"
|
||||
mv "${f}" "${dirname}"
|
||||
done
|
||||
69
ansible-prep.sh
Executable file
69
ansible-prep.sh
Executable file
|
|
@ -0,0 +1,69 @@
|
|||
#!/usr/bin/bash -x
|
||||
|
||||
# SPDX-License-Identifier: MIT
|
||||
# Copyright (C) Fedora Project Authors
|
||||
# License Text: https://spdx.org/licenses/MIT.txt
|
||||
|
||||
set -euo pipefail
|
||||
|
||||
# Fix wrong-script-end-of-line-encoding in azure.azcollection
|
||||
find ansible_collections/azure/azcollection -type f -print -exec dos2unix -k '{}' \;
|
||||
|
||||
# Remove unnecessary files and directories included in the Ansible collection release tarballs
|
||||
# Tracked upstream in part by: https://github.com/ansible-community/community-topics/issues/29
|
||||
echo "[START] Delete unnecessary files and directories"
|
||||
|
||||
# Collection tarballs contain a lot of hidden files and directories
|
||||
hidden_pattern=".*\.(DS_Store|all-contributorsrc|ansible-lint|azure-pipelines|circleci|codeclimate.yml|flake8|galaxy_install_info|gitattributes|github|gitignore|gitkeep|gitlab-ci.yml|idea|keep|mypy_cache|nojekyll|orig|plugin-cache.yaml|pre-commit-config.yaml|project|pydevproject|pytest_cache|pytest_cache|readthedocs.yml|settings|swp|travis.yml|vscode|yamllint|yamllint.yaml|zuul.d|zuul.yaml|rstcheck.cfg|placeholder)$"
|
||||
find ansible_collections -depth -regextype posix-egrep -regex "${hidden_pattern}" -print -exec rm -r {} \;
|
||||
|
||||
# Not needed for runtime
|
||||
rm -rv ansible_collections/cisco/meraki/scripts/
|
||||
rm -rv ansible_collections/community/grafana/hacking/
|
||||
rm -rv ansible_collections/community/okd/ci/
|
||||
rm -rv ansible_collections/community/vmware/tools/
|
||||
rm -rv ansible_collections/cyberark/conjur/roles/conjur_host_identity/tests/
|
||||
rm -rv ansible_collections/google/cloud/scripts/
|
||||
rm -rv ansible_collections/google/cloud/test-fixtures/
|
||||
rm -rv ansible_collections/grafana/grafana/tools/
|
||||
rm -rv ansible_collections/hetzner/hcloud/scripts/
|
||||
rm -rv ansible_collections/netbox/netbox/hacking/
|
||||
|
||||
rm -v ansible_collections/community/mysql/run_all_tests.py
|
||||
rm -v ansible_collections/dellemc/enterprise_sonic/rebuild.sh
|
||||
rm -v ansible_collections/ovirt/ovirt/build.sh
|
||||
|
||||
# rpmlint W: pem-certificate
|
||||
find ansible_collections/cyberark/conjur -type f -name "*.pem" -print -delete
|
||||
|
||||
# rpmlint E: zero-length
|
||||
find -type f -name "*requirements.txt" -size 0 -print -delete
|
||||
rm -v ansible_collections/community/zabbix/roles/zabbix_agent/files/win_sample/doSomething.ps1
|
||||
rm -v ansible_collections/community/docker/meta/ee-bindep.txt
|
||||
|
||||
echo "[END] Delete unnecessary files and directories"
|
||||
|
||||
###
|
||||
# Fix various shebang related issues to appease brp-managle-shebangs
|
||||
###
|
||||
find ansible_collections/community/mongodb/roles/*/{files,templates} -type f '!' -executable -name '*.sh*' \
|
||||
-print -exec chmod a+x '{}' \;
|
||||
|
||||
# ansible_collections/lowlydba/sqlserver thought it was a good idea to make
|
||||
# *every* single file, in its repository executable, including .md, .yml, and
|
||||
# .rst. :facepalm:
|
||||
#
|
||||
# TODO: File issue upstream
|
||||
find ansible_collections/lowlydba/sqlserver/ -executable -type f -print -exec chmod a-x '{}' \;
|
||||
|
||||
|
||||
# Remove shebangs instead of hardocding to %%__python3 to avoid unexpected issues
|
||||
# from https://github.com/ansible/ansible/commit/9142be2f6cabbe6597c9254c5bb9186d17036d55.
|
||||
# Upstream, ansible-core has also removed shebangs from its modules.
|
||||
#
|
||||
# XXX: Print out the files before they're replaced
|
||||
find ansible_collections -type f ! -executable -name '*.py' | tee non_exec
|
||||
echo ansible_collections/community/sap_libs/plugins/module_utils/swpm2_parameters_inifile_generate.py >> non_exec
|
||||
# xargs is noticably faster than find -exec, because it spawns one sed process
|
||||
# instead of ~13 thousand!
|
||||
xargs -a non_exec -d'\n' sed -i -e '1{\@^#!.*@d}'
|
||||
|
|
@ -4,6 +4,6 @@ addFilter("W: name-repeated-in-summary")
|
|||
addFilter("W: cross-directory-hard-link")
|
||||
# Roles' files and templates should not be mangled
|
||||
addFilter(r"E: env-script-interpreter.*ansible_collections/[^/]+/[^/]+/roles/[^/]+/(files|templates)/")
|
||||
addFilter("W: deprecated-grep \['egrep'\]")
|
||||
addFilter(r"E: non-executable-script.*ansible_collections/[^/]+/[^/]+/roles/[^/]+/(files|templates)/")
|
||||
addFilter("W: no-manual-page-for-binary ansible-community")
|
||||
addFilter(r"E: zero-length /usr/lib/python3.\d+/site-packages/ansible_collections/community/zabbix/roles/zabbix_agent/vars/main.yml")
|
||||
addFilter(r"E: zero-length")
|
||||
|
|
|
|||
327
ansible.spec
327
ansible.spec
|
|
@ -1,9 +1,22 @@
|
|||
# SPDX-License-Identifier: MIT
|
||||
# Copyright (C) Fedora Project Authors
|
||||
# License Text: https://spdx.org/licenses/MIT.html
|
||||
|
||||
# Compatibility #
|
||||
#############################################################################
|
||||
# This specfile should remain compatible with EPEL 9 and stable Fedoras. #
|
||||
# The EPEL 8 specfile is separately maintained, #
|
||||
# but the ansible-prep.sh and ansible-install-license.sh scripts are shared #
|
||||
# across branches. #
|
||||
#############################################################################
|
||||
|
||||
# TODO: Re-enable docs and tests once possible
|
||||
%bcond_with docs
|
||||
%bcond_with tests
|
||||
%global ansible_licensedir %{_defaultlicensedir}/ansible
|
||||
%global ansible_docdir %{_defaultdocdir}/ansible
|
||||
%global min_ansible_core 2.14.4
|
||||
%bcond docs 0
|
||||
%bcond tests 0
|
||||
|
||||
# disable the python -s shbang flag as we want to be able to find non system modules
|
||||
# NB: We cannot use https://docs.fedoraproject.org/en-US/packaging-guidelines/Python/#_py3_shebang_S on RHEL 9.
|
||||
%global py3_shebang_flags %(echo %{py3_shebang_flags} | sed 's|s||')
|
||||
|
||||
# Roles' files and templates should not be mangled.
|
||||
# These files are installed on remote systems which may or may not have the
|
||||
|
|
@ -15,14 +28,13 @@
|
|||
# ansible-core package is built against Python 3.11 in RHEL 8 and RHEL 9 which
|
||||
# is not the default version.
|
||||
%global python3_pkgversion 3.11
|
||||
BuildRequires: python%{python3_pkgversion}-rpm-macros
|
||||
%endif
|
||||
|
||||
Name: ansible
|
||||
Summary: Curated set of Ansible collections included in addition to ansible-core
|
||||
Version: 7.4.0
|
||||
%global uversion %(tr -d '~' <<< %{version})
|
||||
Release: 1%{?dist}
|
||||
Version: 13.1.0
|
||||
%global uversion %{version_no_tilde %{quote:%nil}}
|
||||
Release: 2%{?dist}
|
||||
|
||||
# In addition to GPL-3.0-or-later, the following licenses apply.
|
||||
# License text that solely exists in file headers were not considered.
|
||||
|
|
@ -43,15 +55,15 @@ Release: 1%{?dist}
|
|||
# PSF-license.txt
|
||||
License: GPL-3.0-or-later AND Apache-2.0 AND BSD-2-Clause AND BSD-3-Clause AND MIT AND MPL-2.0 AND PSF-2.0
|
||||
Source0: %{pypi_source %{name} %{uversion}}
|
||||
Source1: ansible-prep.sh
|
||||
Source2: ansible-install-licenses.sh
|
||||
|
||||
Url: https://ansible.com
|
||||
BuildArch: noarch
|
||||
|
||||
BuildRequires: dos2unix
|
||||
BuildRequires: findutils
|
||||
BuildRequires: hardlink
|
||||
BuildRequires: python%{python3_pkgversion}-devel
|
||||
BuildRequires: python%{python3_pkgversion}-setuptools
|
||||
BuildRequires: %{py3_dist ansible-core} >= %{min_ansible_core}
|
||||
|
||||
%if %{with tests}
|
||||
# TODO build-requires
|
||||
|
|
@ -61,6 +73,7 @@ BuildRequires: %{py3_dist ansible-core} >= %{min_ansible_core}
|
|||
# TODO build-requires
|
||||
%endif
|
||||
|
||||
|
||||
%description
|
||||
Ansible is a radically simple model-driven configuration management,
|
||||
multi-node deployment, and remote task execution system. Ansible works
|
||||
|
|
@ -71,11 +84,11 @@ are transferred to managed machines automatically.
|
|||
This package provides a curated set of Ansible collections included in addition
|
||||
to ansible-core.
|
||||
|
||||
%prep
|
||||
%autosetup -p1 -n %{name}-%{uversion}
|
||||
|
||||
%if %{defined rhel}
|
||||
# Relax ansible-core dependency to avoid FTI bugs
|
||||
%prep
|
||||
%autosetup -N -n %{name}-%{uversion}
|
||||
|
||||
# Relax ansible-core dependency to avoid FTI bugs on EPEL
|
||||
#
|
||||
# This is necessary, because the EPEL ansible maintainers don't have control
|
||||
# over ansible-core in RHEL, and it's difficult to time updates across
|
||||
|
|
@ -84,133 +97,59 @@ to ansible-core.
|
|||
# to properly release and test new ansible major versions after RHEL rebases
|
||||
# ansible-core. The lower version constraints can stay in place.
|
||||
|
||||
sed -i "s|'ansible-core ~= 2.14\..*',$|'ansible-core >= %{min_ansible_core}',|" setup.py
|
||||
sed "s|ansible-core ~=|ansible-core >=|" setup.cfg > setup.cfg.bak
|
||||
# Verify
|
||||
set -o pipefail
|
||||
grep -B1 "'ansible-core >= %{min_ansible_core}'," setup.py | grep -F 'install_requires=['
|
||||
grep -B1 "ansible-core >=" setup.cfg.bak | grep -F 'install_requires ='
|
||||
%if %{defined rhel}
|
||||
mv setup.cfg.bak setup.cfg
|
||||
%endif
|
||||
|
||||
# Fix wrong-script-end-of-line-encoding in azure.azcollection
|
||||
find ansible_collections/azure/azcollection -type f -print -exec dos2unix -k '{}' \;
|
||||
# ansible-prep.sh
|
||||
%{S:1}
|
||||
|
||||
# Remove unnecessary files and directories included in the Ansible collection release tarballs
|
||||
# Tracked upstream in part by: https://github.com/ansible-community/community-topics/issues/29
|
||||
echo "[START] Delete unnecessary files and directories"
|
||||
(
|
||||
mkdir licenses docs
|
||||
cd ansible_collections
|
||||
# ansible-license-install.sh
|
||||
%{S:2} \
|
||||
"$(readlink -f ../licenses)" \
|
||||
"$(readlink -f ../docs)" \
|
||||
)
|
||||
|
||||
# Collection tarballs contain a lot of hidden files and directories
|
||||
hidden_pattern=".*\.(DS_Store|all-contributorsrc|ansible-lint|azure-pipelines|circleci|codeclimate.yml|flake8|galaxy_install_info|gitattributes|github|gitignore|gitkeep|gitlab-ci.yml|idea|keep|mypy_cache|nojekyll|orig|plugin-cache.yaml|pre-commit-config.yaml|project|pydevproject|pytest_cache|pytest_cache|readthedocs.yml|settings|swp|travis.yml|vscode|yamllint|yamllint.yaml|zuul.d|zuul.yaml|rstcheck.cfg|placeholder)$"
|
||||
find ansible_collections -depth -regextype posix-egrep -regex "${hidden_pattern}" -print -exec rm -r {} \;
|
||||
|
||||
# Not needed for runtime
|
||||
rm -rv ansible_collections/cisco/meraki/scripts
|
||||
rm -rv ansible_collections/community/grafana/hacking
|
||||
rm -rv ansible_collections/community/okd/ci/
|
||||
rm -rv ansible_collections/community/vmware/tools
|
||||
rm -rv ansible_collections/cyberark/conjur/ci/
|
||||
rm -rv ansible_collections/cyberark/conjur/dev/
|
||||
rm -rv ansible_collections/cyberark/conjur/roles/conjur_host_identity/tests/
|
||||
rm -rv ansible_collections/netbox/netbox/hacking/
|
||||
rm -rv ansible_collections/ovirt/ovirt/automation/
|
||||
rm -rv ansible_collections/sensu/sensu_go/docker/
|
||||
rm -v ansible_collections/community/dns/update-psl.sh
|
||||
rm -v ansible_collections/cyberark/conjur/Jenkinsfile
|
||||
rm -v ansible_collections/dellemc/enterprise_sonic/rebuild.sh
|
||||
rm -v ansible_collections/ovirt/ovirt/build.sh
|
||||
|
||||
# rpmlint W: pem-certificate
|
||||
find ansible_collections/cyberark/conjur -type f -name "*.pem" -print -delete
|
||||
|
||||
# rpmlint E: zero-length
|
||||
find -type f -name "*requirements.txt" -size 0 -print -delete
|
||||
rm -v ansible_collections/community/zabbix/roles/zabbix_agent/files/win_sample/doSomething.ps1
|
||||
rm -v ansible_collections/community/docker/meta/ee-bindep.txt
|
||||
rm -vr ansible_collections/ibm/spectrum_virtualize/roles/place_holder
|
||||
|
||||
echo "[END] Delete unnecessary files and directories"
|
||||
|
||||
###
|
||||
# Fix various shebang related issues to appease brp-managle-shebangs
|
||||
###
|
||||
find ansible_collections/community/mongodb/roles/*/{files,templates} -type f '!' -executable -name '*.sh*' \
|
||||
-print -exec chmod a+x '{}' \;
|
||||
|
||||
# ansible_collections/lowlydba/sqlserver thought it was a good idea to make
|
||||
# *every* single file, in its repository executable, including .md, .yml, and
|
||||
# .rst. :facepalm:
|
||||
#
|
||||
# TODO: File issue upstream
|
||||
find ansible_collections/lowlydba/sqlserver/ -executable -type f -print -exec chmod a-x '{}' \;
|
||||
|
||||
# Remove shebangs instead of hardocding to %%__python3 to avoid unexpected issues
|
||||
# from https://github.com/ansible/ansible/commit/9142be2f6cabbe6597c9254c5bb9186d17036d55.
|
||||
# Upstream, ansible-core has also removed shebangs from its modules.
|
||||
#
|
||||
# XXX: Print out the files before they're replaced
|
||||
find -type f ! -executable -name '*.py' | tee non_exec
|
||||
# xargs is noticably faster than find -exec, because it spawns one sed process
|
||||
# instead of ~13 thousand!
|
||||
xargs -a non_exec -d'\n' sed -i -e '1{\@^#!.*@d}'
|
||||
|
||||
# This ensures that %%ansible_core_requires is set properly, when %%pyproject_buildrequires is defined.
|
||||
# It also ensures that dependencies remain consistent.
|
||||
%if %{undefined el8}
|
||||
%generate_buildrequires
|
||||
%pyproject_buildrequires
|
||||
%endif
|
||||
|
||||
|
||||
%build
|
||||
# disable the python -s shbang flag as we want to be able to find non system modules
|
||||
%global py3_shbang_opts %{nil}
|
||||
%py3_shebang_fix ansible_collections
|
||||
%py3_build
|
||||
|
||||
%pyproject_wheel
|
||||
|
||||
|
||||
%install
|
||||
%py3_install
|
||||
%pyproject_install
|
||||
# This adds over a minute to the build due to the size of the ansible package.
|
||||
# It's better to manually specify the paths in %%files...
|
||||
# %%pyproject_save_files ansible_collections
|
||||
|
||||
%global filelist %{_builddir}/%{buildsubdir}/files.list
|
||||
mkdir -p %{buildroot}%{_licensedir}/ansible %{buildroot}%{_docdir}/ansible
|
||||
mv licenses %{buildroot}%{_licensedir}/ansible/ansible_collections
|
||||
mv docs %{buildroot}%{_pkgdocdir}/ansible_collections
|
||||
|
||||
# Install docs and licenses
|
||||
(
|
||||
mkdir -p "%{buildroot}%{ansible_docdir}" "%{buildroot}%{ansible_licensedir}"
|
||||
cd %{buildroot}%{python3_sitelib}/ansible_collections
|
||||
# This finds the license file for each collection, moves it to
|
||||
# `%%{ansible_licensedir}/collection_namespace/collection_name`, and then adds
|
||||
# `%%license /path/to/license` to the %%files list.
|
||||
# `-printf '%%P\n'` removes the trailing `./`.
|
||||
for f in $(find . -mindepth 3 -type f \( -iname '*LICENSE*' -o -iname '*COPYING*' \) -not -name '*.py' -not -name '*.pyc' -printf '%%P\n' | grep -v '\.license$'); do
|
||||
dirname="$(dirname %{buildroot}%{ansible_licensedir}/${f})"
|
||||
mkdir -p "${dirname}"
|
||||
mv "${f}" "${dirname}"
|
||||
tee -a %{filelist} << EOF
|
||||
%%license %%{ansible_licensedir}/${f}
|
||||
EOF
|
||||
done
|
||||
for f in $(find -mindepth 3 -iname 'LICENSES' -type d); do
|
||||
cp -rfp --parents ${f} %{buildroot}%{ansible_licensedir}
|
||||
echo "%%license %%{ansible_licensedir}/${f}" >> %{filelist}
|
||||
done
|
||||
|
||||
# This does the same thing, but for READMEs.
|
||||
for f in $(find . -mindepth 3 -type f -name 'README*' -printf '%%P\n'); do
|
||||
dirname="$(dirname %{buildroot}%{ansible_docdir}/${f})"
|
||||
mkdir -p "${dirname}"
|
||||
mv "${f}" "${dirname}"
|
||||
tee -a %{filelist} << EOF
|
||||
%%doc %%{ansible_docdir}/${f}
|
||||
EOF
|
||||
done
|
||||
)
|
||||
hardlink -v %{buildroot}%{python3_sitelib}/ansible_collections
|
||||
hardlink -v %{buildroot}%{ansible_licensedir}
|
||||
|
||||
%check
|
||||
%if 0%{?with_tests}
|
||||
%if %{with tests}
|
||||
# TODO: Run tests
|
||||
%endif
|
||||
|
||||
%files -f files.list
|
||||
|
||||
%files
|
||||
%license COPYING
|
||||
%doc README.rst PKG-INFO porting_guide_?.rst CHANGELOG-v?.rst
|
||||
%license %{_licensedir}/ansible/ansible_collections/
|
||||
%doc README.rst PKG-INFO porting_guide_*.rst CHANGELOG-v*.rst
|
||||
%doc %{_pkgdocdir}/ansible_collections/
|
||||
%{_bindir}/ansible-community
|
||||
# Note (dmsimard): This ansible package installs collections to the python sitelib to mirror the UX
|
||||
# when installing the ansible package from PyPi.
|
||||
|
|
@ -218,9 +157,153 @@ hardlink -v %{buildroot}%{ansible_licensedir}
|
|||
# or via standalone distribution packages to datadir (/usr/share).
|
||||
# Both will have precedence over the collections installed in the python sitelib.
|
||||
%{python3_sitelib}/ansible_collections/
|
||||
%{python3_sitelib}/ansible-%{uversion}-py%{python3_version}.egg-info/
|
||||
%{python3_sitelib}/ansible-%{uversion}.dist-info/
|
||||
|
||||
|
||||
%changelog
|
||||
* Fri Jan 16 2026 Fedora Release Engineering <releng@fedoraproject.org> - 13.1.0-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_44_Mass_Rebuild
|
||||
|
||||
* Tue Dec 09 2025 Maxwell G <maxwell@gtmx.me> - 13.1.0-1
|
||||
- Update to 13.1.0. Fixes rhbz#2354912.
|
||||
|
||||
* Mon Nov 17 2025 Packit <hello@packit.dev> - 11.12.0-1
|
||||
- Update to version 11.12.0
|
||||
|
||||
* Sat Sep 27 2025 Maxwell G <maxwell@gtmx.me> - 11.10.0-1
|
||||
- Update to 11.10.0.
|
||||
|
||||
* Fri Sep 19 2025 Python Maint <python-maint@redhat.com> - 11.8.0-4
|
||||
- Rebuilt for Python 3.14.0rc3 bytecode
|
||||
|
||||
* Fri Aug 15 2025 Python Maint <python-maint@redhat.com> - 11.8.0-3
|
||||
- Rebuilt for Python 3.14.0rc2 bytecode
|
||||
|
||||
* Wed Jul 23 2025 Fedora Release Engineering <releng@fedoraproject.org> - 11.8.0-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild
|
||||
|
||||
* Wed Jul 16 2025 Maxwell G <maxwell@gtmx.me> - 11.8.0-1
|
||||
- Update to 11.8.0.
|
||||
|
||||
* Sat Jun 07 2025 Python Maint <python-maint@redhat.com> - 11.6.0-2
|
||||
- Rebuilt for Python 3.14
|
||||
|
||||
* Sat Jun 07 2025 Maxwell G <maxwell@gtmx.me> - 11.6.0-1
|
||||
- Update to 11.6.0.
|
||||
|
||||
* Tue Mar 25 2025 Packit <hello@packit.dev> - 11.4.0-1
|
||||
- Update to version 11.4.0
|
||||
- Resolves: rhbz#2354912
|
||||
|
||||
* Mon Mar 17 2025 Packit <hello@packit.dev> - 11.3.0-1
|
||||
- Update to version 11.3.0
|
||||
|
||||
* Thu Jan 16 2025 Fedora Release Engineering <releng@fedoraproject.org> - 11.1.0-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
|
||||
|
||||
* Wed Dec 18 2024 Maxwell G <maxwell@gtmx.me> - 11.1.0-1
|
||||
- Update to 11.1.0.
|
||||
|
||||
* Tue Nov 26 2024 Maxwell G <maxwell@gtmx.me> - 11.0.0-1
|
||||
- Update to 11.0.0.
|
||||
|
||||
* Fri Oct 11 2024 Maxwell G <maxwell@gtmx.me> - 9.11.0-1
|
||||
- Update to 9.11.0.
|
||||
|
||||
* Tue Sep 10 2024 Maxwell G <maxwell@gtmx.me> - 9.10.0-1
|
||||
- Update to 9.10.0.
|
||||
|
||||
* Tue Aug 13 2024 Maxwell G <maxwell@gtmx.me> - 9.9.0-1
|
||||
- Update to 9.9.0.
|
||||
|
||||
* Fri Jul 19 2024 Maxwell G <maxwell@gtmx.me> - 9.8.0-1
|
||||
- Update to 9.8.0.
|
||||
|
||||
* Wed Jul 17 2024 Fedora Release Engineering <releng@fedoraproject.org> - 9.7.0-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
|
||||
|
||||
* Sun Jun 23 2024 Maxwell G <maxwell@gtmx.me> - 9.7.0-1
|
||||
- Update to 9.7.0.
|
||||
|
||||
* Sun Jun 09 2024 Maxwell G <maxwell@gtmx.me> - 9.6.1-1
|
||||
- Update to 8.6.1.
|
||||
|
||||
* Sun Jun 09 2024 Python Maint <python-maint@redhat.com> - 9.6.0-2
|
||||
- Rebuilt for Python 3.13
|
||||
|
||||
* Tue Jun 04 2024 Maxwell G <maxwell@gtmx.me> - 9.6.0-1
|
||||
- Update to 9.6.0.
|
||||
|
||||
* Thu May 02 2024 Maxwell G <maxwell@gtmx.me> - 9.5.1-1
|
||||
- Update to 9.5.1.
|
||||
|
||||
* Fri Mar 29 2024 Maxwell G <maxwell@gtmx.me> - 9.4.0-1
|
||||
- Update to 9.4.0.
|
||||
|
||||
* Sat Mar 02 2024 Maxwell G <maxwell@gtmx.me> - 9.3.0-1
|
||||
- Update to 9.3.0.
|
||||
- Backport "podman pod info" patch to containers.podman
|
||||
|
||||
* Thu Feb 01 2024 Maxwell G <maxwell@gtmx.me> - 9.2.0-1
|
||||
- Update to 9.2.0.
|
||||
|
||||
* Mon Jan 22 2024 Fedora Release Engineering <releng@fedoraproject.org> - 9.1.0-3
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
|
||||
|
||||
* Fri Jan 19 2024 Fedora Release Engineering <releng@fedoraproject.org> - 9.1.0-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
|
||||
|
||||
* Wed Dec 06 2023 Maxwell G <maxwell@gtmx.me> - 9.1.0-1
|
||||
- Update to 9.1.0.
|
||||
|
||||
* Tue Nov 21 2023 Maxwell G <maxwell@gtmx.me> - 9.0.1-1
|
||||
- Update to 9.0.1.
|
||||
|
||||
* Thu Oct 19 2023 Maxwell G <maxwell@gtmx.me> - 9.0.0~a3-1
|
||||
- Update to 9.0.0~a3.
|
||||
|
||||
* Thu Oct 12 2023 Maxwell G <maxwell@gtmx.me> - 9.0.0~a2-1
|
||||
- Update to 9.0.0~a2.
|
||||
|
||||
* Thu Sep 28 2023 Maxwell G <maxwell@gtmx.me> - 9.0.0~a1-1
|
||||
- Update to 9.0.0~a1.
|
||||
|
||||
* Tue Sep 12 2023 Maxwell G <maxwell@gtmx.me> - 8.4.0-1
|
||||
- Update to 8.4.0.
|
||||
|
||||
* Thu Aug 17 2023 Maxwell G <maxwell@gtmx.me> - 8.3.0-1
|
||||
- Update to 8.3.0.
|
||||
|
||||
* Wed Jul 19 2023 Fedora Release Engineering <releng@fedoraproject.org> - 8.1.0-3
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
|
||||
|
||||
* Mon Jul 03 2023 Maxwell G <maxwell@gtmx.me> - 8.1.0-2
|
||||
- Rebuilt for Python 3.12
|
||||
|
||||
* Thu Jun 22 2023 Maxwell G <maxwell@gtmx.me> - 8.1.0-1
|
||||
- Update to 8.1.0.
|
||||
|
||||
* Fri Jun 16 2023 Python Maint <python-maint@redhat.com> - 8.0.0-2
|
||||
- Rebuilt for Python 3.12
|
||||
|
||||
* Tue May 30 2023 Maxwell G <maxwell@gtmx.me> - 8.0.0-1
|
||||
- Update to 8.0.0.
|
||||
|
||||
* Tue May 23 2023 Maxwell G <maxwell@gtmx.me> - 8.0.0~rc1-1
|
||||
- Update to 8.0.0~rc1.
|
||||
|
||||
* Tue May 16 2023 Maxwell G <maxwell@gtmx.me> - 8.0.0~b1-1
|
||||
- Update to 8.0.0~b1.
|
||||
|
||||
* Wed May 03 2023 Maxwell G <maxwell@gtmx.me> - 8.0.0~a3-1
|
||||
- Update to 8.0.0~a3.
|
||||
|
||||
* Thu Apr 27 2023 Maxwell G <maxwell@gtmx.me> - 8.0.0~a2-1
|
||||
- Update to 8.0.0~a2.
|
||||
|
||||
* Thu Apr 20 2023 Maxwell G <maxwell@gtmx.me> - 8.0.0~a1-1
|
||||
- Update to 8.0.0~a1.
|
||||
|
||||
* Wed Mar 29 2023 Maxwell G <maxwell@gtmx.me> - 7.4.0-1
|
||||
- Update to 7.4.0.
|
||||
|
||||
|
|
|
|||
13
gating.yaml
Normal file
13
gating.yaml
Normal file
|
|
@ -0,0 +1,13 @@
|
|||
# Copyright (C) 2023 Maxwell G <maxwell@gtmx.me>
|
||||
# SPDX-License-Identifier: MIT
|
||||
|
||||
--- !Policy
|
||||
product_versions:
|
||||
- fedora-*
|
||||
decision_contexts:
|
||||
- bodhi_update_push_testing
|
||||
- bodhi_update_push_stable
|
||||
subject_type: koji_build
|
||||
rules:
|
||||
- !PassingTestCaseRule {test_case_name: fedora-ci.koji-build.tier0.functional}
|
||||
...
|
||||
2
sources
2
sources
|
|
@ -1 +1 @@
|
|||
SHA512 (ansible-7.4.0.tar.gz) = c77aebb54676b669305905c969fa5afac9e1262bfefa358de7fee0fb3ef89d0306c599acb2225cdb4209c53df16c307d438cc628299aec494c70cba166eb3cbb
|
||||
SHA512 (ansible-13.1.0.tar.gz) = 2e7abd85b44d48ea756c65906811c9fa5519ce5d9ecaca71c718446a52dfc3dff97597d048f071ca820ea606ee2de670e8a0746717f95e2ce636db06273b3544
|
||||
|
|
|
|||
17
tests/smoke.fmf
Normal file
17
tests/smoke.fmf
Normal file
|
|
@ -0,0 +1,17 @@
|
|||
# Copyright (C) 2023 Maxwell G <maxwell@gtmx.me>
|
||||
# SPDX-License-Identifier: MIT
|
||||
|
||||
summary: Run ansible-core smoke tests with ansible bundle installed
|
||||
discover:
|
||||
- name: Smoke tests with ansible
|
||||
how: shell
|
||||
tests:
|
||||
- name: Run tests/smoke.sh
|
||||
test: tests/smoke.sh
|
||||
require:
|
||||
- python3-dnf
|
||||
- dnf-plugins-core
|
||||
- ansible-core
|
||||
- ansible
|
||||
execute:
|
||||
how: tmt
|
||||
7
tests/smoke.sh
Executable file
7
tests/smoke.sh
Executable file
|
|
@ -0,0 +1,7 @@
|
|||
#!/usr/bin/bash -x
|
||||
# Copyright (C) 2023 Maxwell G <maxwell@gtmx.me>
|
||||
# SPDX-License-Identifier: MIT
|
||||
|
||||
set -euo pipefail
|
||||
|
||||
curl -L https://src.fedoraproject.org/rpms/ansible-core/raw/rawhide/f/tests/smoke.sh | bash -x
|
||||
Loading…
Add table
Add a link
Reference in a new issue