Compare commits

...
Sign in to create a new pull request.

18 commits

Author SHA1 Message Date
Maxwell G
66edc5714e
Update to 8.0.0. 2023-05-31 23:45:53 +00:00
Maxwell G
505dacb8d1
add tmt and gating tests 2023-05-31 23:45:53 +00:00
Maxwell G
2fee4eb3b4
Update to 8.0.0~rc1. 2023-05-31 23:45:53 +00:00
Maxwell G
f2d857bd8d
update excluded files list for 8.0.0~b1 2023-05-31 23:45:53 +00:00
Maxwell G
6230aa456e
Update to 8.0.0~b1. 2023-05-31 23:45:52 +00:00
Maxwell G
b1b5b4794b
add copyright headers
Fedora specfiles are implicitly licensed under the MIT license as per
the FPCA, but explicit is better than implicit.
2023-05-31 23:45:52 +00:00
Maxwell G
448402a2c9
build wheel instead of using %py3_install 2023-05-31 23:45:52 +00:00
Maxwell G
3c9e7d2bcd
move specfile scripting into separate files
This makes the specfile more readable and makes it easier to sync the
more complex parts across branches.

This also refactors the license install logic.
2023-05-31 23:45:52 +00:00
Maxwell G
29861794cf
Update to 8.0.0~a3. 2023-05-31 23:45:52 +00:00
Maxwell G
32d4fd10ae
remove unused .coveragerc file 2023-05-31 01:21:40 +00:00
Maxwell G
5a1fc25e2b
Revert "Work around CentOS Stream 8 brokenness"
This reverts commit 73db8d17ac.
The underlying issues have been fixed in CentOS Stream 8.
2023-04-20 21:43:45 +00:00
Maxwell G
73db8d17ac
Work around CentOS Stream 8 brokenness
`BuildRequires: python3.11-rpm-macros` isn't necessary on RHEL 9
(python3.11-devel Provides python3.11-rpm-macros) and Stream 8 is
missing the package entirely [1]. The Stream 8 version does contain some
extra macros, so we'll add this back once the c8s compose issues are
fixed.

We need to set %python3_version manually until
python-rpm-macros-3-45.el8 reaches the mirrors to unbreak
%py3_shebang_fix.

[1] https://bugzilla.redhat.com/show_bug.cgi?id=2137139#c18
2023-03-29 15:08:16 -05:00
Maxwell G
ca7e15c453
Use more precise globs in %files 2023-03-29 12:01:41 -05:00
Maxwell G
b0cb3266b0
Build for 3.11 on RHEL 8 and 9 2023-03-29 12:01:41 -05:00
Maxwell G
209b6b2efa
Add back specfile comment about find(1) syntax
This was accidentally removed at some point.
2023-03-29 12:01:40 -05:00
Maxwell G
50fd8298d0
Update to 7.2.0. 2023-03-29 12:01:40 -05:00
Maxwell G
36b9b120c4
Update to 7.1.0. Sync with rawhide. 2023-03-29 12:01:40 -05:00
Maxwell G
c0762ab092
Sync with epel8 2023-02-02 15:54:28 -06:00
11 changed files with 298 additions and 362 deletions

View file

@ -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
View file

@ -0,0 +1 @@
1

129
.gitignore vendored
View file

@ -1,127 +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-*.tar.gz
/ansible-*/

46
ansible-install-licenses.sh Executable file
View 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

78
ansible-prep.sh Executable file
View file

@ -0,0 +1,78 @@
#!/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/digitalocean/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/google/cloud/test-fixtures/
rm -rv ansible_collections/google/cloud/scripts/
rm -rv ansible_collections/grafana/grafana/tools/
rm -rv ansible_collections/netbox/netbox/hacking/
rm -rv ansible_collections/sensu/sensu_go/docker/
rm -rv ansible_collections/sensu/sensu_go/tools/
rm -v ansible_collections/community/dns/update-docs-fragments.py
rm -v ansible_collections/community/dns/update-psl.sh
rm -v ansible_collections/community/mysql/run_all_tests.py
rm -v ansible_collections/community/routeros/update-docs.py
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 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}'

View file

@ -2,3 +2,8 @@ addFilter("W: files-duplicate")
addFilter("E: files-duplicated-waste")
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(r"E: non-executable-script.*ansible_collections/[^/]+/[^/]+/roles/[^/]+/(files|templates)/")
addFilter("W: no-manual-page-for-binary ansible-community")
addFilter(r"E: zero-length")

View file

@ -1,31 +1,31 @@
# SPDX-License-Identifier: MIT
# Copyright (C) Fedora Project Authors
# License Text: https://spdx.org/licenses/MIT.html
# 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.15.0
# %%global rpm_min_ansible_core %%{min_ansible_core}
%global rpm_min_ansible_core 2.15
# This should be updated after each release to match upstream's metadata
# We manually specify this in order to workaround RHEL 8's deficient
# python-rpm-generators and lack of dynamic BR support.
# https://github.com/ansible-community/community-topics/issues/84
%global ansible_core_version 2.13.3
%global ansible_core_next_version 2.14
%global ansible_core_requires (ansible-core >= %{ansible_core_version} with ansible-core < %{ansible_core_next_version})
# Roles' files and templates should not be mangled.
# These files are installed on remote systems which may or may not have the
# same filesystem layout as Fedora.
%global __brp_mangle_shebangs_exclude_from ^%{python3_sitelib}/ansible_collections/[^/]+/[^/]+/roles/[^/]+/(files|templates)/.*$
%global __requires_exclude_from %{?__requires_exclude_from:%__requires_exclude_from|}%{__brp_mangle_shebangs_exclude_from}
%if 0%{?rhel} == 8
# RHEL 8's ansible-core package is built using Python 3.8, which is not the default version.
%define python3_pkgversion 39
%if 0%{?rhel} >= 8
# 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
# RHEL 8's RPM Python dependency generator ignores the version constraints, so we manually specify the dependency.
Requires: %{ansible_core_requires}
%endif
%global uversion %(tr -d '~' <<< %{version})
Name: ansible
Summary: Curated set of Ansible collections included in addition to ansible-core
Version: 6.3.0
Version: 8.0.0
%global uversion %(tr -d '~' <<< %{version})
Release: 1%{?dist}
# In addition to GPL-3.0-or-later, the following licenses apply.
@ -47,6 +47,8 @@ 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
@ -54,8 +56,10 @@ BuildRequires: dos2unix
BuildRequires: findutils
BuildRequires: hardlink
BuildRequires: python%{python3_pkgversion}-devel
BuildRequires: python%{python3_pkgversion}-pip
BuildRequires: python%{python3_pkgversion}-setuptools
BuildRequires: %{ansible_core_requires}
BuildRequires: python%{python3_pkgversion}-wheel
BuildRequires: %{py3_dist ansible-core} >= %{rpm_min_ansible_core}
%if %{with tests}
# TODO build-requires
@ -78,162 +82,119 @@ to ansible-core.
%prep
%autosetup -p1 -n %{name}-%{uversion}
# Fix wrong-script-end-of-line-encoding in azure.azcollection
find ansible_collections/azure/azcollection -type f -print -exec dos2unix -k '{}' \;
# Relax ansible-core dependency to avoid FTI bugs
#
# 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
# repositories. I have tried to stick to upstream's version constraints, but
# that's apparently not working too well. This change gives us a grace period
# to properly release and test new ansible major versions after RHEL rebases
# ansible-core. The lower version constraints can stay in place.
find ansible_collections/community/mongodb/roles/*/{files,templates} -type f ! -executable -name '*.sh*' \
-print -exec chmod a+x '{}' \;
sed -i -e '1{\@^#!.*@d}' ansible_collections/cyberark/conjur/Jenkinsfile
# 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 and has
# /Users/kbreit/Documents/Programming/ansible_collections/cisco/meraki/venv/bin/python shebang
rm -r ansible_collections/cisco/meraki/scripts
# Not needed for runtime
rm -r ansible_collections/netbox/netbox/hacking
rm -r ansible_collections/cyberark/conjur/roles/conjur_host_identity/tests
# 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 -f ansible_collections/community/zabbix/roles/zabbix_agent/files/win_sample/doSomething.ps1
rm -f ansible_collections/community/docker/meta/ee-bindep.txt
echo "[END] Delete unnecessary files and directories"
# 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.
find -type f ! -executable -name '*.py' -print -exec 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
sed "s|'ansible-core ~= %{min_ansible_core}.*',$|'ansible-core >= %{min_ansible_core}',|" \
setup.py > setup.py.bak
# Verify
set -o pipefail
grep -B1 "'ansible-core >= %{min_ansible_core}'," setup.py.bak | grep -F 'install_requires=['
%if %{defined rhel}
mv setup.py.bak setup.py
%endif
# ansible-prep.sh
%{S:1}
(
mkdir licenses docs
cd ansible_collections
# ansible-license-install.sh
%{S:2} \
"$(readlink -f ../licenses)" \
"$(readlink -f ../docs)" \
)
%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
%python3 -c 'from setuptools.build_meta import build_wheel; build_wheel("dist")'
%install
%py3_install
%py3_install_wheel ansible-*-py3-none-any.whl
# 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 %{_builddir}/files.list << 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}" >> %{_builddir}/files.list
done
DISTINFO=%{buildroot}%{python3_sitelib}/ansible-%{uversion}.dist-info
rm -rv "${DISTINFO}/RECORD" "${DISTINFO}/REQUESTED"
sed -i 's/pip/rpm/' "${DISTINFO}/INSTALLER"
mkdir -p %{buildroot}%{_licensedir}/ansible %{buildroot}%{_docdir}/ansible
mv licenses %{buildroot}%{_licensedir}/ansible/ansible_collections
mv docs %{buildroot}%{_pkgdocdir}/ansible_collections
# 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 %{_builddir}/files.list << EOF
%%doc %%{ansible_docdir}/${f}
EOF
done
)
hardlink -v %{buildroot}%{python3_sitelib}/ansible_collections
hardlink -v %{buildroot}%{ansible_licensedir}
hardlink -v %{buildroot}%{_licensedir}/ansible
# XXX: One of the build steps is messing with the permission.
# XXX: The file is 0755 in the source tarball.
chmod 0755 %{buildroot}%{python3_sitelib}/ansible_collections/ngine_io/cloudstack/scripts/inventory/cloudstack.py
%check
%if 0%{?with_tests}
# TODO: Run tests
%endif
%files -f %{_builddir}/files.list
%files
%license COPYING
%doc README.rst PKG-INFO porting_guide_6.rst CHANGELOG-v6.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.
# This allows users to install individual collections manually with ansible-galaxy (~/.ansible/collections/ansible_collections)
# 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}/*egg-info
%{python3_sitelib}/ansible_collections/
%{python3_sitelib}/ansible-%{uversion}.dist-info/
%changelog
* Tue Aug 23 2022 Maxwell G <gotmax@e.email> - 6.3.0-1
* 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.
* Fri Feb 10 2023 Maxwell G <gotmax@e.email> - 7.2.0-1
- Update to 7.2.0.
* Thu Feb 02 2023 Maxwell G <gotmax@e.email> - 7.1.0-1
- Update to 7.1.0.
* Fri Nov 18 2022 Maxwell G <gotmax@e.email> - 6.3.0-2
- Relax version constraint
- Package cleanup
* Tue Nov 08 2022 Maxwell G <gotmax@e.email> - 6.3.0-1
- Update to 6.3.0.
* Tue Aug 02 2022 Maxwell G <gotmax@e.email> - 6.2.0-1
- Update to 6.2.0.
* Wed Jul 20 2022 Fedora Release Engineering <releng@fedoraproject.org> - 6.1.0-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
* Fri Jul 15 2022 Maxwell G <gotmax@e.email> - 6.1.0-2
- Fix FTI (rhbz#2107532).
* Thu Jul 14 2022 Maxwell G <gotmax@e.email> - 6.1.0-1
- Update to 6.1.0.
* Wed Jun 22 2022 Maxwell G <gotmax@e.email> - 6.0.0-1
- Update to 6.0.0.
* Wed Jun 22 2022 Maxwell G <gotmax@e.email> - 6.0.0~rc1-1
- Update to 6.0.0~rc1.
- Stop duplicating docs and licenses.
- Don't remove tests in %%prep that are now handled by setup.py.
- Hardlink duplicated files and fix rpmlint errors
- Fixes: rhbz#2141351
* Thu Jun 16 2022 Python Maint <python-maint@redhat.com> - 5.9.0-2
- Rebuilt for Python 3.11
* Thu Jul 21 2022 Maxwell G <gotmax@e.email> - 5.4.0-3
- Rebuild to fix bug in epel-rpm-macros' Python dependency generator
* Wed Jun 08 2022 Maxwell G <gotmax@e.email> - 5.9.0-1
- Update to 5.9.0.
* Thu May 19 2022 Maxwell G <gotmax@e.email> - 5.8.0-1
- Update to 5.8.0.
- Remove fortinet.fortios patch.
* Wed Apr 27 2022 Maxwell G <gotmax@e.email> - 5.7.0-1
- Update to 5.7.0.
- Fix SyntaxError in fortinet.fortios collection.
- Fix rpmlint errors
* Mon Apr 25 2022 Maxwell G <gotmax@e.email> - 5.6.0-2
* Mon Apr 25 2022 Maxwell G <gotmax@e.email> - 5.4.0-2
- Ensure correct version of ansible-core is available at buildtime.
- Implement support for epel8.
* Wed Apr 06 2022 Kevin Fenzi <kevin@scrye.com> - 5.6.0-1
- Update to 5.6.0.
* Tue Mar 15 2022 David Moreau-Simard <moi@dmsimard.com> - 5.5.0-1
- Update to latest upstream release
* Tue Feb 22 2022 David Moreau-Simard <moi@dmsimard.com> - 5.4.0-1
- Update to latest upstream release
@ -256,105 +217,68 @@ hardlink -v %{buildroot}%{ansible_licensedir}
- Removed packaging macros (soon included in ansible-packaging, see rhbz#2038591)
- Removed provides/obsoletes on ansible-python3
* Mon Nov 01 2021 Kevin Fenzi <kevin@scrye.com> - 2.9.27-2
- Add patch for oracle linux Fixes rhbz#2018369
* Mon Oct 11 2021 Kevin Fenzi <kevin@scrye.com> - 2.9.27-1
* Tue Oct 26 2021 Kevin Fenzi <kevin@scrye.com> - 2.9.27-1
- Update to 2.9.27. Fixes rhbz#2012918
* Tue Sep 14 2021 Kevin Fenzi <kevin@scrye.com> - 2.9.26-1
- Update to 2.9.26. Fixes rhbz#2002394
* Fri Aug 20 2021 Kevin Fenzi <kevin@scrye.com> - 2.9.25-1
- Update to 2.9.25. Fixes rhbz#1994108
* Sun Jul 25 2021 Kevin Fenzi <kevin@scrye.com> - 2.9.24-1
- Update to 2.9.24. Fixes rhbz#1983837
* Wed Jul 21 2021 Fedora Release Engineering <releng@fedoraproject.org> - 2.9.23-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
* Sat Jul 10 2021 Kevin Fenzi <kevin@scrye.com> - 2.9.23-2
- Fix FTBFS with sphinx 4.x. Fixes rhbz#1977303
* Tue Jun 22 2021 Kevin Fenzi <kevin@scrye.com> - 2.9.23-1
- Update to 2.9.23. Fixes rhbz#1974592
- Add patch for Rocky Linux. Fixes rhbz#1968728
* Fri Jun 04 2021 Python Maint <python-maint@redhat.com> - 2.9.22-2
- Rebuilt for Python 3.10
* Mon May 24 2021 Kevin Fenzi <kevin@scrye.com> - 2.9.22-1
- Update to 2.9.22. Fixes rhbz#1964173
- Update to 2.9.22.
* Mon May 03 2021 Kevin Fenzi <kevin@scrye.com> - 2.9.21-1
- Update to 2.9.21. Fixes rhbz#1956584
* Tue May 04 2021 Kevin Fenzi <kevin@scrye.com> - 2.9.21-1
- Update to 2.9.21.
* Sat Apr 24 2021 Kevin Fenzi <kevin@scrye.com> - 2.9.20-1
- Update to 2.9.20.
- Split out ansible-test to a subpackage.
* Fri Mar 12 2021 Orion Poplawski <orion@nwra.com> - 2.9.18-2
- Add rpm macros and generators for collections
* Sat Feb 20 2021 Kevin Fenzi <kevin@scrye.com> - 2.9.18-1
- Update to 2.9.18.
- Fixes: CVE-2021-20228 CVE-2021-20178 CVE-2021-20180 CVE-2021-20191
* Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 2.9.17-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
* Sun Jan 24 2021 Kevin Fenzi <kevin@scrye.com> - 2.9.17-2
* Sun Jan 24 2021 Kevin Fenzi <kevin@scrye.com> - 2.9.17-1
- Update to 2.9.17.
* Sat Jan 16 2021 Kevin Fenzi <kevin@scrye.com> - 2.9.16-2
- Conflict with ansible-base 2.10.x for now.
- Ajust generator so collections will install/work with either ansible or ansible-base.
* Tue Dec 15 2020 Kevin Fenzi <kevin@scrye.com> - 2.9.16-1
- Update to 2.9.16.
* Thu Dec 17 2020 Kevin Fenzi <kevin@scrye.com> - 2.9.16-1
- Update to 2.9.16
* Tue Nov 03 2020 Kevin Fenzi <kevin@scrye.com> - 2.9.15-1
- Update to 2.9.15.
- Update to 2.9.15
* Tue Oct 06 2020 Kevin Fenzi <kevin@scrye.com> - 2.9.14-1
- Update to 2.9.14.
* Wed Oct 07 2020 Kevin Fenzi <kevin@scrye.com> - 2.9.14-1
- Update to 2.9.14
* Tue Sep 01 2020 Kevin Fenzi <kevin@scrye.com> - 2.9.13-1
- Update to 2.9.13. Fixes CVE-2020-14365
* Thu Sep 03 2020 Kevin Fenzi <kevin@scrye.com> - 2.9.13-1
- Update to 2.9.13
* Tue Aug 11 2020 Kevin Fenzi <kevin@scrye.com> - 2.9.12-1
- Update to 2.9.12.
* Sun Aug 09 2020 Igor Raits <ignatenkobrain@fedoraproject.org> - 2.9.11-4
- Add support for generating '>=' dependencies in RPM generator
* Sat Aug 08 2020 Igor Raits <ignatenkobrain@fedoraproject.org> - 2.9.11-3
- Add very basic support for generating dependencies in RPM generator
* Mon Jul 27 2020 Fedora Release Engineering <releng@fedoraproject.org> - 2.9.11-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
- Update to 2.9.12
* Tue Jul 21 2020 Kevin Fenzi <kevin@scrye.com> - 2.9.11-1
- Update to 2.9.11.
- Update to 2.9.11
* Sat Jun 20 2020 Kevin Fenzi <kevin@scrye.com> - 2.9.10-2
- Add patch for rabbitmq bug: https://patch-diff.githubusercontent.com/raw/ansible/ansible/pull/50381.patch
* Thu Jun 18 2020 Kevin Fenzi <kevin@scrye.com> - 2.9.10-1
- Update to 2.9.10.
* Fri May 29 2020 Charalampos Stratakis <cstratak@redhat.com> - 2.9.9-3
- Fix Python 3.9 compatibility (#1808674)
- Pin Pytest to version 4 for now
* Tue May 26 2020 Miro Hrončok <mhroncok@redhat.com> - 2.9.9-2
- Rebuilt for Python 3.9
* Tue May 12 2020 Kevin Fenzi <kevin@scrye.com> - 2.9.9-1
- Update to 2.9.9. Fixes bug #1834582
- Fixes gathering facts on f32+ bug #1832625
* Sun Apr 19 2020 Igor Raits <ignatenkobrain@fedoraproject.org> - 2.9.7-3
- Own /usr/share/ansible/collections/ansible_collections
* Sun Apr 19 2020 Igor Raits <ignatenkobrain@fedoraproject.org> - 2.9.7-2
- Add macros for packaging Ansible collections
* Fri Apr 17 2020 Kevin Fenzi <kevin@scrye.com> - 2.9.7-1
* Sat Apr 18 2020 Kevin Fenzi <kevin@scrye.com> - 2.9.7-1
- Update to 2.9.7.
- fixes CVE-2020-1733 CVE-2020-1735 CVE-2020-1740 CVE-2020-1746 CVE-2020-1753 CVE-2020-10684 CVE-2020-10685 CVE-2020-10691
- Drop the -s from the shebang to allow ansible to use locally installed modules.
@ -364,13 +288,7 @@ hardlink -v %{buildroot}%{ansible_licensedir}
- fixes for CVE-2020-1737, CVE-2020-1739
* Thu Feb 13 2020 Kevin Fenzi <kevin@scrye.com> - 2.9.5-1
- Update to 2.9.5. Fixes bug #1802725
* Tue Jan 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 2.9.4-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
* Tue Jan 21 2020 Kevin Fenzi <kevin@scrye.com> - 2.9.4-1
- Update to 2.9.4 with one bugfix.
- Update to 2.9.5.
* Thu Jan 16 2020 Kevin Fenzi <kevin@scrye.com> - 2.9.3-1
- Update to 2.9.3.
@ -425,7 +343,7 @@ hardlink -v %{buildroot}%{ansible_licensedir}
- Fixes for various releases build/test issues.
* Fri May 17 2019 Kevin Fenzi <kevin@scrye.com> - 2.8.0-1
- Update to 2.8.0 final.
- Update to 2.8.0 final.
- Add datadirs for other packages to land ansible files in.
* Fri May 10 2019 Kevin Fenzi <kevin@scrye.com> - 2.8.0-0.4rc3
@ -571,7 +489,7 @@ hardlink -v %{buildroot}%{ansible_licensedir}
- Conditionalize jmespath to work around amazon linux issues. Fixes bug #1494640
* Tue Sep 19 2017 Kevin Fenzi <kevin@scrye.com> - 2.4.0.0-1
- Update to 2.4.0.
- Update to 2.4.0.
* Tue Aug 08 2017 Kevin Fenzi <kevin@scrye.com> - 2.3.2.0-1
- Update to 2.3.2. Fixes bugs #1471017 #1461116 #1465586
@ -724,7 +642,7 @@ hardlink -v %{buildroot}%{ansible_licensedir}
- Update to 1.9.1
* Wed Mar 25 2015 Kevin Fenzi <kevin@scrye.com> 1.9.0.1-2
- Drop upstreamed epel6 patches.
- Drop upstreamed epel6 patches.
* Wed Mar 25 2015 Kevin Fenzi <kevin@scrye.com> 1.9.0.1-1
- Update to 1.9.0.1
@ -775,7 +693,7 @@ hardlink -v %{buildroot}%{ansible_licensedir}
- Update to 1.6.9 with more shell quoting fixes.
* Tue Jul 22 2014 Kevin Fenzi <kevin@scrye.com> 1.6.8-1
- Update to 1.6.8 with fixes for shell quoting from previous release.
- Update to 1.6.8 with fixes for shell quoting from previous release.
- Fixes bugs #1122060 #1122061 #1122062
* Mon Jul 21 2014 Kevin Fenzi <kevin@scrye.com> 1.6.7-1
@ -871,7 +789,7 @@ hardlink -v %{buildroot}%{ansible_licensedir}
* Thu Sep 12 2013 Kevin Fenzi <kevin@scrye.com> 1.3.0-1
- Update to 1.3.0
- Drop node-fireball subpackage entirely.
- Obsolete/provide fireball subpackage.
- Obsolete/provide fireball subpackage.
- Add Requires python-keyczar on main package for accelerated mode.
* Wed Aug 21 2013 Kevin Fenzi <kevin@scrye.com> 1.2.3-2

13
gating.yaml Normal file
View 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}
...

View file

@ -1 +1 @@
SHA512 (ansible-6.3.0.tar.gz) = 3832159065d6400caade84de1ff5f31d64d7b5d9c3a61ae9bb2ad207e410166dac3537c68d0ec3df7c4b8aec61ee48cc4b690e3117a987efa9306c6cbee534e0
SHA512 (ansible-8.0.0.tar.gz) = 637304599ec2074b473902d767a9e42d4df17c8485e5d64b6a1ea8a3b8ad347f021aeb88ca5cdbd2eefc30f2d8d2870e8934fa2c4d9c192c03a1482b31cc1fc5

17
tests/smoke.fmf Normal file
View 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
View 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