Merge branch 'rawhide' into epel8

epel8
Maxwell G 1 year ago
commit 99f2987ac4
No known key found for this signature in database
GPG Key ID: F79E4E25E8C661F8

@ -1,6 +1,8 @@
%global _docdir_fmt ansible-packaging
Name: ansible-packaging Name: ansible-packaging
Version: 1 Version: 1
Release: 9.1%{?dist} Release: 12%{?dist}
Summary: RPM packaging macros and generators for Ansible collections Summary: RPM packaging macros and generators for Ansible collections
License: GPL-3.0-or-later License: GPL-3.0-or-later
@ -48,7 +50,7 @@ Requires: /usr/bin/ansible-test
Requires: %{py3_dist pytest} Requires: %{py3_dist pytest}
Requires: %{py3_dist pytest-mock} Requires: %{py3_dist pytest-mock}
Requires: %{py3_dist pytest-xdist} Requires: %{py3_dist pytest-xdist}
Requires: %{py3_dist pytest-forked} Requires: (%{py3_dist pytest-forked} if ansible-core < 2.16~~)
Requires: %{py3_dist pyyaml} Requires: %{py3_dist pyyaml}
# mock is included in the list upstream, but is deprecated in Fedora. # mock is included in the list upstream, but is deprecated in Fedora.
# Maintainers should work with upstream to add compat code to support # Maintainers should work with upstream to add compat code to support
@ -114,23 +116,24 @@ errors rpm_eval -E '%%ansible_collection_url'
echo echo
echo echo
echo "Ensure macro works when both arguments are passed and no control macros are set" echo "Ensure macro works when both arguments are passed and no control macros are set"
[[ $(rpm_eval -E '%%ansible_collection_url community general') == \ [ "$(rpm_eval -E '%%ansible_collection_url community general')" = \
"https://galaxy.ansible.com/community/general" ]] "https://galaxy.ansible.com/ui/repo/published/community/general" ]
echo echo
echo "Ensure macro works with the control macros" echo "Ensure macro works with the control macros"
[[ $(rpm_eval -D 'collection_namespace ansible' -D 'collection_name posix' \ [ "$(rpm_eval -D 'collection_namespace ansible' -D 'collection_name posix' \
-E '%%ansible_collection_url') == "https://galaxy.ansible.com/ansible/posix" ]] -E '%%ansible_collection_url')" = \
"https://galaxy.ansible.com/ui/repo/published/ansible/posix" ]
echo echo
echo "Ensure macro prefers the collection namespace and name passed as an argument over the control macros" echo "Ensure macro prefers the collection namespace and name passed as an argument over the control macros"
[[ $(rpm_eval -D 'collection_namespace ansible' -D 'collection_name posix' \ [ "$(rpm_eval -D 'collection_namespace ansible' -D 'collection_name posix' \
-E '%%ansible_collection_url community general') == "https://galaxy.ansible.com/community/general" ]] -E '%%ansible_collection_url community general')" = \
"https://galaxy.ansible.com/ui/repo/published/community/general" ]
%files %files
%license COPYING
%{_fileattrsdir}/ansible.attr %{_fileattrsdir}/ansible.attr
%{_rpmmacrodir}/macros.ansible %{_rpmmacrodir}/macros.ansible
%{_rpmconfigdir}/ansible-generator %{_rpmconfigdir}/ansible-generator
@ -138,6 +141,7 @@ echo "Ensure macro prefers the collection namespace and name passed as an argume
%files -n ansible-srpm-macros %files -n ansible-srpm-macros
%license COPYING
%{_rpmmacrodir}/macros.ansible-srpm %{_rpmmacrodir}/macros.ansible-srpm
# ansible-core in RHEL 8.6 is built against python38. In c8s and the next RHEL # ansible-core in RHEL 8.6 is built against python38. In c8s and the next RHEL
@ -149,6 +153,17 @@ echo "Ensure macro prefers the collection namespace and name passed as an argume
%changelog %changelog
* Tue Dec 05 2023 Maxwell G <maxwell@gtmx.me> - 1-12
- %%ansible_collection_url: handle new URL scheme
* Wed Jul 19 2023 Fedora Release Engineering <releng@fedoraproject.org> - 1-11
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
* Thu May 11 2023 Maxwell G <maxwell@gtmx.me> - 1-10
- %%ansible_collection_install - disable spurious collections path warnings
- ansible-packaging-tests - don't depend on pytest-forked with ansible-core 2.16
- ansible-srpm-macros - include license file in the package
* Wed Jan 18 2023 Fedora Release Engineering <releng@fedoraproject.org> - 1-9.1 * Wed Jan 18 2023 Fedora Release Engineering <releng@fedoraproject.org> - 1-9.1
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild - Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild

@ -19,6 +19,7 @@ the provided arguments.
""" """
import argparse import argparse
import os
import shutil import shutil
import subprocess import subprocess
import sys import sys
@ -96,7 +97,12 @@ class AnsibleCollection:
# Without this, the print statements are shown after the command # Without this, the print statements are shown after the command
# output when building in mock. # output when building in mock.
sys.stdout.flush() sys.stdout.flush()
subprocess.run(args, cwd=temppath, check=True) subprocess.run(
args,
cwd=temppath,
check=True,
env={**os.environ, "ANSIBLE_GALAXY_COLLECTIONS_PATH_WARNING": "0"},
)
def parseargs() -> argparse.Namespace: def parseargs() -> argparse.Namespace:

@ -0,0 +1,10 @@
--- !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}
...

@ -8,6 +8,9 @@
# either or approach. Both arguments must be passed OR both control macros must # either or approach. Both arguments must be passed OR both control macros must
# be defined. # be defined.
%__ansible_galaxy_collection_url https://galaxy.ansible.com/ui/repo/published
%ansible_collection_url() %{lua: %ansible_collection_url() %{lua:
local namespace_name = nil local namespace_name = nil
if rpm.expand("%collection_namespace") ~= "%collection_namespace" if rpm.expand("%collection_namespace") ~= "%collection_namespace"
@ -21,5 +24,6 @@
rpm.expand("%{error:%%ansible_collection_url: You must pass the collection " .. rpm.expand("%{error:%%ansible_collection_url: You must pass the collection " ..
"namespace as the first arg and the collection name as the second}") "namespace as the first arg and the collection name as the second}")
end end
print("https://galaxy.ansible.com/" .. namespace_name) url = rpm.expand("%__ansible_galaxy_collection_url")
print(url .. "/" .. namespace_name)
} }

@ -0,0 +1,16 @@
summary: Rebuild dependents to ensure that builds pass
discover:
- name: Rebuild collection packages
how: shell
tests:
- name: Rebuild ansible-collection-community-docker
test: tests/rebuild.sh ansible-collection-community-docker
require:
- ansible-core
- ansible-packaging
- ansible-srpm-macros
- fedpkg
- rpm-build
- sudo
execute:
how: tmt

@ -0,0 +1,27 @@
#!/usr/bin/bash -x
set -euo pipefail
package="${1}"
cat <<'EOF' > ~/.rpmmacros
%_topdir %(echo $HOME)/rpmbuild
%_sourcedir %(pwd)
%_srcrpmdir %(pwd)
%_rpmdir %(pwd)/rpms
EOF
mkdir -p clones
cd clones
fedpkg clone -a "${package}"
cd "${package}"
fedpkg srpm
sudo dnf builddep -y *.src.rpm
rc=0
rpmbuild --rebuild *.src.rpm | tee build.log || rc=$?
# move the results to the artifacts directory, so we can examine them
artifacts="${TEST_ARTIFACTS:-/tmp/artifacts}"
mkdir -p "${artifacts}"
mv -v *.rpm rpms/*/* build.log "${artifacts}/" || :
exit "${rc}"
Loading…
Cancel
Save